From 464b4432cf3c79ae10409c65b5967b88769c1f2f Mon Sep 17 00:00:00 2001 From: James Wilson Date: Wed, 26 Apr 2023 10:31:59 +0100 Subject: [PATCH 01/15] Move all deps to workspace toml (#932) * Move all deps to workspace toml * cargo fmt and codec 3.4, removing now unneeded 'full' feature * add wasm-tests to workspace and fix subxt inheritng * cargo fmt * wasm-test thing can't be in workspace so revert that * remove unwanted target dir from wasm-tests --- Cargo.lock | 90 +- Cargo.toml | 65 + cli/Cargo.toml | 38 +- cli/src/commands/compatibility.rs | 2 +- cli/src/commands/metadata.rs | 2 +- codegen/Cargo.toml | 34 +- examples/Cargo.toml | 20 +- macro/Cargo.toml | 11 +- metadata/Cargo.toml | 10 +- subxt/Cargo.toml | 77 +- testing/integration-tests/Cargo.toml | 44 +- testing/substrate-runner/Cargo.toml | 2 +- testing/test-runtime/Cargo.toml | 16 +- testing/ui-tests/Cargo.toml | 14 +- testing/wasm-tests/.gitignore | 1 + testing/wasm-tests/Cargo.lock | 2028 ++++++++++++++++++++++++++ testing/wasm-tests/Cargo.toml | 5 +- testing/wasm-tests/tests/wasm.rs | 7 +- 18 files changed, 2276 insertions(+), 190 deletions(-) create mode 100644 testing/wasm-tests/.gitignore create mode 100644 testing/wasm-tests/Cargo.lock diff --git a/Cargo.lock b/Cargo.lock index 5fdcbb10db..f653eb2d3d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -94,9 +94,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e579a7752471abc2a8268df8b20005e3eadd975f585398f17efcfd8d4927371" +checksum = "6342bd4f5a1205d7f41e94a41a901f5647c938cdfa96036338e8533c9d6c2450" dependencies = [ "anstyle", "anstyle-parse", @@ -133,9 +133,9 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcd8291a340dd8ac70e18878bc4501dd7b4ff970cfa21c207d36ece51ea88fd" +checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" dependencies = [ "anstyle", "windows-sys 0.48.0", @@ -194,7 +194,7 @@ checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842" dependencies = [ "proc-macro2", "quote", - "syn 2.0.14", + "syn 2.0.15", ] [[package]] @@ -371,9 +371,9 @@ checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" [[package]] name = "bumpalo" -version = "3.12.0" +version = "3.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" +checksum = "9b1ce199063694f33ffb7dd4e0ee620741495c32833cde5aa08f02a0bf96f0c8" [[package]] name = "byte-slice-cast" @@ -502,7 +502,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.14", + "syn 2.0.15", ] [[package]] @@ -605,9 +605,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "280a9f2d8b3a38871a3c8a46fb80db65e5e5ed97da80c4d08bf27fb63e35e181" +checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58" dependencies = [ "libc", ] @@ -805,7 +805,7 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.14", + "syn 2.0.15", ] [[package]] @@ -822,7 +822,7 @@ checksum = "2345488264226bf682893e25de0769f3360aac9957980ec49361b083ddaa5bc5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.14", + "syn 2.0.15", ] [[package]] @@ -1148,7 +1148,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.14", + "syn 2.0.15", ] [[package]] @@ -1309,9 +1309,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66b91535aa35fea1523ad1b86cb6b53c28e0ae566ba4a460f4457e936cad7c6f" +checksum = "17f8a914c2987b688368b5138aa05321db91f4090cf26118185672ad588bce21" dependencies = [ "bytes", "fnv", @@ -1477,9 +1477,9 @@ checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" [[package]] name = "hyper" -version = "0.14.25" +version = "0.14.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc5e554ff619822309ffd57d8734d77cd5ce6238bc956f037ea06c58238c9899" +checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4" dependencies = [ "bytes", "futures-channel", @@ -1656,7 +1656,7 @@ checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" dependencies = [ "hermit-abi 0.3.1", "io-lifetimes", - "rustix 0.37.11", + "rustix 0.37.14", "windows-sys 0.48.0", ] @@ -1795,9 +1795,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.141" +version = "0.2.142" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3304a64d199bb964be99741b7a14d26972741915b3649639149b2479bb46f4b5" +checksum = "6a987beff54b60ffa6d51982e1aa1146bc42f19bd26be28b0586f252fccf5317" [[package]] name = "libm" @@ -1870,9 +1870,9 @@ checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" [[package]] name = "linux-raw-sys" -version = "0.3.1" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d59d8c75012853d2e872fb56bc8a2e53718e2cafe1a4c823143141c6d90c322f" +checksum = "36eb31c1778188ae1e64398743890d0877fef36d11521ac60406b42016e8c2cf" [[package]] name = "lock_api" @@ -1923,7 +1923,7 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffc89ccdc6e10d6907450f753537ebc5c5d3460d2e4e62ea74bd571db62c0f9e" dependencies = [ - "rustix 0.37.11", + "rustix 0.37.14", ] [[package]] @@ -2511,7 +2511,7 @@ checksum = "8d2275aab483050ab2a7364c1a46604865ee7d6906684e08db0f090acf74f9e7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.14", + "syn 2.0.15", ] [[package]] @@ -2563,9 +2563,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a36c42d1873f9a77c53bde094f9664d9891bc604a45b4798fd2c389ed12e5b" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" [[package]] name = "rustc-hash" @@ -2581,9 +2581,9 @@ checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" [[package]] name = "rustix" -version = "0.36.12" +version = "0.36.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0af200a3324fa5bcd922e84e9b55a298ea9f431a489f01961acdebc6e908f25" +checksum = "3a38f9520be93aba504e8ca974197f46158de5dcaa9fa04b57c57cd6a679d658" dependencies = [ "bitflags", "errno", @@ -2595,15 +2595,15 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.11" +version = "0.37.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85597d61f83914ddeba6a47b3b8ffe7365107221c2e557ed94426489fefb5f77" +checksum = "d9b864d3c18a5785a05953adeed93e2dca37ed30f18e69bba9f30079d51f363f" dependencies = [ "bitflags", "errno", "io-lifetimes", "libc", - "linux-raw-sys 0.3.1", + "linux-raw-sys 0.3.4", "windows-sys 0.48.0", ] @@ -2903,7 +2903,7 @@ checksum = "291a097c63d8497e00160b166a967a4a79c64f3facdd01cbd7502231688d77df" dependencies = [ "proc-macro2", "quote", - "syn 2.0.14", + "syn 2.0.15", ] [[package]] @@ -2968,9 +2968,9 @@ dependencies = [ [[package]] name = "sha3" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" +checksum = "54c2bb1a323307527314a36bfb73f24febb08ce2b8a554bf4ffd6f51ad15198c" dependencies = [ "digest 0.10.6", "keccak", @@ -3624,9 +3624,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcf316d5356ed6847742d036f8a39c3b8435cac10bd528a4bd461928a6ab34d5" +checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822" dependencies = [ "proc-macro2", "quote", @@ -3641,9 +3641,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.6" +version = "0.12.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae9980cab1db3fceee2f6c6f643d5d8de2997c58ee8d25fb0cc8a9e9e7348e5" +checksum = "fd1ba337640d60c3e96bc6f0638a939b9c9a7f2c316a1598c279828b3d1dc8c5" [[package]] name = "termcolor" @@ -3690,7 +3690,7 @@ checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.14", + "syn 2.0.15", ] [[package]] @@ -3772,7 +3772,7 @@ checksum = "61a573bdc87985e9d6ddeed1b3d864e8a302c847e40d647746df2f1de209d1ce" dependencies = [ "proc-macro2", "quote", - "syn 2.0.14", + "syn 2.0.15", ] [[package]] @@ -3838,13 +3838,13 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" +checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.15", ] [[package]] @@ -4354,7 +4354,7 @@ dependencies = [ "memoffset 0.6.5", "paste", "rand 0.8.5", - "rustix 0.36.12", + "rustix 0.36.13", "wasmtime-asm-macros", "wasmtime-environ", "wasmtime-jit-debug", @@ -4647,5 +4647,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.14", + "syn 2.0.15", ] diff --git a/Cargo.toml b/Cargo.toml index 615bdb5ef4..2ef504d706 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,14 +11,79 @@ members = [ "metadata", "subxt" ] + +# This cannot be a workspace dependency, because it requires +# mutually exclusive jsonrpsee features to work, and workspaces +# will aggregate features used across crates: exclude = ["testing/wasm-tests"] resolver = "2" [workspace.package] authors = ["Parity Technologies "] edition = "2021" +version = "0.28.0" rust-version = "1.64.0" license = "Apache-2.0 OR GPL-3.0" repository = "https://github.com/paritytech/subxt" documentation = "https://docs.rs/subxt" homepage = "https://www.parity.io/" + +[workspace.dependencies] +assert_matches = "1.5.0" +base58 = { version = "0.2.0" } +bitvec = { version = "1", default-features = false } +blake2 = { version = "0.10.4", default-features = false } +clap = { version = "4.2.4", features = ["derive", "cargo"] } +criterion = "0.4" +codec = { package = "parity-scale-codec", version = "3.4.0", default-features = false } +color-eyre = "0.6.1" +console_error_panic_hook = "0.1.7" +darling = "0.14.4" +derivative = "2.2.0" +either = "1.8.1" +frame-metadata = { version = "15.1.0", features = ["v14", "v15-unstable", "std"] } +futures = { version = "0.3.27", default-features = false, features = ["std"] } +getrandom = "0.2" +hex = "0.4.3" +heck = "0.4.1" +impl-serde = { version = "0.4.0" } +jsonrpsee = { version = "0.16" } +parking_lot = "0.12.0" +pretty_assertions = "1.0.0" +primitive-types = { version = "0.12.1", default-features = false, features = ["codec", "scale-info", "serde"] } +proc-macro2 = "1.0.55" +quote = "1.0.8" +regex = "1.8.1" +scale-info = "2.5.0" +scale-value = "0.7.0" +scale-bits = "0.3" +scale-decode = "0.5.0" +scale-encode = "0.1.0" +serde = { version = "1.0.159" } +serde_json = { version = "1.0.96" } +syn = "1.0.109" +thiserror = "1.0.40" +tokio = { version = "1.27", features = ["macros", "time", "rt-multi-thread"] } +tracing = "0.1.34" +tracing-wasm = "0.2.1" +tracing-subscriber = "0.3.17" +trybuild = "1.0.79" +proc-macro-error = "1.0.4" +wabt = "0.10.0" +wasm-bindgen-test = "0.3.24" +which = "4.4.0" + +# Substrate crates: +sp-core = { version = "20.0.0", default-features = false } +sp-core-hashing = "8.0.0" +sp-keyring = "23.0.0" +sp-runtime = "23.0.0" +sp-version = "21.0.0" + +# Subxt workspace crates: +subxt = { version = "0.28.0", path = "subxt" } +subxt-macro = { version = "0.28.0", path = "macro" } +subxt-metadata = { version = "0.28.0", path = "metadata" } +subxt-codegen = { version = "0.28.0", path = "codegen" } +test-runtime = { path = "testing/test-runtime" } +substrate-runner = { path = "testing/substrate-runner" } \ No newline at end of file diff --git a/cli/Cargo.toml b/cli/Cargo.toml index e7bb346556..718b3df7af 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "subxt-cli" -version = "0.28.0" +version.workspace = true authors.workspace = true edition.workspace = true rust-version.workspace = true @@ -17,27 +17,15 @@ name = "subxt" path = "src/main.rs" [dependencies] -# perform subxt codegen -subxt-codegen = { version = "0.28.0", path = "../codegen" } -# perform node compatibility -subxt-metadata = { version = "0.28.0", path = "../metadata" } -# parse command line args -clap = { version = "4.2.4", features = ["derive", "cargo"] } -# colourful error reports -color-eyre = "0.6.1" -# serialize the metadata -serde = { version = "1.0.159", features = ["derive"] } -# serialize as json -serde_json = "1.0.96" -# hex encoded metadata to bytes -hex = "0.4.3" -# actual metadata types -frame-metadata = { version = "15.1.0", features = ["v14", "v15-unstable", "std"] } -# decode bytes into the metadata types -scale = { package = "parity-scale-codec", version = "3.0.0", default-features = false } -# generate the item mod for codegen -syn = "1.0.109" -# communicate with the substrate nodes -jsonrpsee = { version = "0.16.0", features = ["async-client", "client-ws-transport", "http-client"] } -# async runtime -tokio = { version = "1.27", features = ["rt-multi-thread", "macros", "time"] } +subxt-codegen = { workspace = true } +subxt-metadata = { workspace = true } +clap = { workspace = true } +serde = { workspace = true, features = ["derive"] } +color-eyre = { workspace = true } +serde_json = { workspace = true } +hex = { workspace = true } +frame-metadata = { workspace = true } +codec = { package = "parity-scale-codec", workspace = true } +syn = { workspace = true } +jsonrpsee = { workspace = true, features = ["async-client", "client-ws-transport", "http-client"] } +tokio = { workspace = true } diff --git a/cli/src/commands/compatibility.rs b/cli/src/commands/compatibility.rs index 2e0c66dfbd..3b0e2cdd44 100644 --- a/cli/src/commands/compatibility.rs +++ b/cli/src/commands/compatibility.rs @@ -3,12 +3,12 @@ // see LICENSE for license details. use clap::Parser as ClapParser; +use codec::Decode; use color_eyre::eyre::{self, WrapErr}; use frame_metadata::{ v15::RuntimeMetadataV15, RuntimeMetadata, RuntimeMetadataPrefixed, META_RESERVED, }; use jsonrpsee::client_transport::ws::Uri; -use scale::Decode; use serde::{Deserialize, Serialize}; use std::collections::HashMap; use subxt_metadata::{get_metadata_hash, get_pallet_hash, metadata_v14_to_latest}; diff --git a/cli/src/commands/metadata.rs b/cli/src/commands/metadata.rs index 7b987edc74..00537778af 100644 --- a/cli/src/commands/metadata.rs +++ b/cli/src/commands/metadata.rs @@ -4,9 +4,9 @@ use crate::utils::FileOrUrl; use clap::Parser as ClapParser; +use codec::{Decode, Encode}; use color_eyre::eyre; use frame_metadata::{RuntimeMetadata, RuntimeMetadataPrefixed}; -use scale::{Decode, Encode}; use std::io::{self, Write}; use subxt_metadata::{metadata_v14_to_latest, retain_metadata_pallets}; diff --git a/codegen/Cargo.toml b/codegen/Cargo.toml index 97a298c41e..6c776d30b0 100644 --- a/codegen/Cargo.toml +++ b/codegen/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "subxt-codegen" -version = "0.28.0" +version.workspace = true authors.workspace = true edition.workspace = true rust-version.workspace = true @@ -13,21 +13,21 @@ homepage.workspace = true description = "Generate an API for interacting with a substrate node from FRAME metadata" [dependencies] -codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive", "full"] } -darling = "0.14.4" -frame-metadata = { version = "15.1.0", features = ["v14", "v15-unstable", "std"] } -heck = "0.4.1" -proc-macro2 = "1.0.55" -quote = "1.0.8" -syn = "1.0.109" -scale-info = "2.5.0" -subxt-metadata = { version = "0.28.0", path = "../metadata" } -jsonrpsee = { version = "0.16.0", features = ["async-client", "client-ws-transport", "http-client"] } -hex = "0.4.3" -tokio = { version = "1.27", features = ["macros", "rt-multi-thread"] } -thiserror = "1.0.40" +codec = { package = "parity-scale-codec", workspace = true, features = ["derive"] } +darling = { workspace = true } +frame-metadata = { workspace = true } +heck = { workspace = true } +proc-macro2 = { workspace = true } +quote = { workspace = true } +syn = { workspace = true } +scale-info = { workspace = true } +subxt-metadata = { workspace = true } +jsonrpsee = { workspace = true, features = ["async-client", "client-ws-transport", "http-client"] } +hex = { workspace = true } +tokio = { workspace = true } +thiserror = { workspace = true } [dev-dependencies] -bitvec = { version = "1.0.0", default-features = false, features = ["alloc"] } -scale-info = { version = "2.5.0", features = ["bit-vec"] } -pretty_assertions = "1.0.0" +bitvec = { workspace = true } +scale-info = { workspace = true, features = ["bit-vec"] } +pretty_assertions = { workspace = true } diff --git a/examples/Cargo.toml b/examples/Cargo.toml index 928b6ae152..2b28de852b 100644 --- a/examples/Cargo.toml +++ b/examples/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "subxt-examples" -version = "0.28.0" +version.workspace = true authors.workspace = true edition.workspace = true rust-version.workspace = true @@ -13,12 +13,12 @@ homepage.workspace = true description = "Subxt example usage" [dev-dependencies] -subxt = { path = "../subxt" } -tokio = { version = "1.27", features = ["rt-multi-thread", "macros", "time"] } -futures = "0.3.27" -codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive", "full", "bit-vec"] } -hex = "0.4.3" -tracing-subscriber = "0.3.17" -sp-keyring = "23.0.0" -sp-core = { version = "20.0.0", default-features = false } -sp-runtime = "23.0.0" +subxt = { workspace = true } +tokio = { workspace = true } +futures = { workspace = true } +codec = { package = "parity-scale-codec", workspace = true, features = ["derive", "bit-vec"] } +hex = { workspace = true } +sp-keyring = { workspace = true } +sp-core = { workspace = true } +sp-runtime = { workspace = true } +tracing-subscriber = { workspace = true } diff --git a/macro/Cargo.toml b/macro/Cargo.toml index 6a3c8c3e54..eeafea2872 100644 --- a/macro/Cargo.toml +++ b/macro/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "subxt-macro" -version = "0.28.0" +version.workspace = true authors.workspace = true edition.workspace = true rust-version.workspace = true @@ -17,8 +17,7 @@ description = "Generate types and helpers for interacting with Substrate runtime proc-macro = true [dependencies] -darling = "0.14.4" -proc-macro-error = "1.0.4" -syn = "1.0.109" - -subxt-codegen = { path = "../codegen", version = "0.28.0" } +darling = { workspace = true } +proc-macro-error = { workspace = true } +syn = { workspace = true } +subxt-codegen = { workspace = true } diff --git a/metadata/Cargo.toml b/metadata/Cargo.toml index d72d8fa6db..59f144a83d 100644 --- a/metadata/Cargo.toml +++ b/metadata/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "subxt-metadata" -version = "0.28.0" +version.workspace = true authors.workspace = true edition.workspace = true rust-version.workspace = true @@ -14,15 +14,15 @@ homepage.workspace = true description = "Command line utilities for checking metadata compatibility between nodes." [dependencies] -codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive", "full"] } +codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] } frame-metadata = { version = "15.1.0", features = ["v14", "v15-unstable", "std"] } scale-info = "2.5.0" sp-core-hashing = "8.0.0" [dev-dependencies] -bitvec = { version = "1.0.0", default-features = false, features = ["alloc"] } -criterion = "0.4" -scale-info = { version = "2.5.0", features = ["bit-vec"] } +bitvec = { workspace = true, features = ["alloc"] } +criterion = { workspace = true } +scale-info = { workspace = true, features = ["bit-vec"] } [lib] # Without this, libtest cli opts interfere with criteron benches: diff --git a/subxt/Cargo.toml b/subxt/Cargo.toml index a3a04600ae..c9dc8061ed 100644 --- a/subxt/Cargo.toml +++ b/subxt/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "subxt" -version = "0.28.0" +version.workspace = true authors.workspace = true edition.workspace = true rust-version.workspace = true @@ -35,49 +35,52 @@ jsonrpsee-ws = ["jsonrpsee/async-client", "jsonrpsee/client-ws-transport"] jsonrpsee-web = ["jsonrpsee/async-wasm-client", "jsonrpsee/client-web-transport"] [dependencies] -codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive", "full"] } -scale-info = "2.5.0" -scale-value = "0.7.0" -scale-bits = "0.3" -scale-decode = "0.5.0" -scale-encode = "0.1.0" -futures = { version = "0.3.27", default-features = false, features = ["std"] } -hex = "0.4.3" -jsonrpsee = { version = "0.16", optional = true, features = ["jsonrpsee-types"] } -serde = { version = "1.0.159", features = ["derive"] } -serde_json = { version = "1.0.96", features = ["raw_value"] } -thiserror = "1.0.40" -tracing = "0.1.34" -parking_lot = "0.12.0" -frame-metadata = { version = "15.1.0", features = ["v14", "v15-unstable", "std"] } -derivative = "2.2.0" -either = "1.8.1" - -subxt-macro = { version = "0.28.0", path = "../macro" } -subxt-metadata = { version = "0.28.0", path = "../metadata" } +codec = { package = "parity-scale-codec", workspace = true, features = ["derive"] } +scale-info = { workspace = true } +scale-value = { workspace = true } +scale-bits = { workspace = true } +scale-decode = { workspace = true } +scale-encode = { workspace = true } +futures = { workspace = true } +hex = { workspace = true } +serde = { workspace = true, features = ["derive"] } +serde_json = { workspace = true, features = ["raw_value"] } +thiserror = { workspace = true } +tracing = { workspace = true } +parking_lot = { workspace = true } +frame-metadata = { workspace = true } +derivative = { workspace = true } +either = { workspace = true } # Provides some deserialization, types like U256/H256 and hashing impls like twox/blake256: -impl-serde = { version = "0.4.0" } -primitive-types = { version = "0.12.1", default-features = false, features = ["codec", "scale-info", "serde"] } -sp-core-hashing = "8.0.0" +impl-serde = { workspace = true } +primitive-types = { workspace = true } +sp-core-hashing = { workspace = true } # For ss58 encoding AccountId32 to serialize them properly: -base58 = { version = "0.2.0" } -blake2 = { version = "0.10.4", default-features = false } +base58 = { workspace = true } +blake2 = { workspace = true } + +# Included if one of the jsonrpsee features is enabled. +jsonrpsee = { workspace = true, optional = true, features = ["jsonrpsee-types"] } # These are only included is "substrate-compat" is enabled. -sp-core = { version = "20.0.0", default-features = false, optional = true } -sp-runtime = { version = "23.0.0", optional = true } +sp-core = { workspace = true, optional = true } +sp-runtime = { workspace = true, optional = true } + +# Other subxt crates we depend on. +subxt-macro = { workspace = true } +subxt-metadata = { workspace = true } [target.wasm32-unknown-unknown.dependencies] -getrandom = { version = "0.2", features = ["js"] } +getrandom = { workspace = true, features = ["js"] } [dev-dependencies] -bitvec = "1" -codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive", "full", "bit-vec"] } -scale-info = { version = "2.5.0", features = ["bit-vec"] } -tokio = { version = "1.27", features = ["macros", "time", "rt-multi-thread"] } -sp-core = { version = "20.0.0", default-features = false } -sp-runtime = "23.0.0" -sp-keyring = "23.0.0" -sp-version = "21.0.0" +bitvec = { workspace = true } +codec = { workspace = true, features = ["derive", "bit-vec"] } +scale-info = { workspace = true, features = ["bit-vec"] } +tokio = { workspace = true, features = ["macros", "time", "rt-multi-thread"] } +sp-core = { workspace = true } +sp-runtime = { workspace = true } +sp-keyring = { workspace = true } +sp-version = { workspace = true } diff --git a/testing/integration-tests/Cargo.toml b/testing/integration-tests/Cargo.toml index a4e48cd696..980301a32f 100644 --- a/testing/integration-tests/Cargo.toml +++ b/testing/integration-tests/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "integration-tests" -version = "0.28.0" +version.workspace = true authors.workspace = true edition.workspace = true rust-version.workspace = true @@ -16,24 +16,24 @@ description = "Subxt integration tests that rely on the Substrate binary" default = ["subxt/integration-tests"] [dev-dependencies] -assert_matches = "1.5.0" -codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive", "full", "bit-vec"] } -frame-metadata = { version = "15.1.0", features = ["v14", "v15-unstable", "std"] } -futures = "0.3.27" -hex = "0.4.3" -regex = "1.8.1" -scale-info = { version = "2.5.0", features = ["bit-vec"] } -sp-core = { version = "20.0.0", default-features = false } -sp-runtime = "23.0.0" -sp-keyring = "23.0.0" -syn = "1.0.109" -subxt = { version = "0.28.0", path = "../../subxt" } -subxt-codegen = { version = "0.28.0", path = "../../codegen" } -subxt-metadata = { version = "0.28.0", path = "../../metadata" } -test-runtime = { path = "../test-runtime" } -tokio = { version = "1.27", features = ["macros", "time"] } -tracing = "0.1.34" -tracing-subscriber = "0.3.17" -wabt = "0.10.0" -which = "4.4.0" -substrate-runner = { path = "../substrate-runner" } +assert_matches = { workspace = true } +codec = { package = "parity-scale-codec", workspace = true, features = ["derive", "bit-vec"] } +frame-metadata = { workspace = true } +futures = { workspace = true } +hex = { workspace = true } +regex = { workspace = true } +scale-info = { workspace = true, features = ["bit-vec"] } +sp-core = { workspace = true } +sp-runtime = { workspace = true } +sp-keyring = { workspace = true } +syn = { workspace = true } +subxt = { workspace = true } +subxt-codegen = { workspace = true } +subxt-metadata = { workspace = true } +test-runtime = { workspace = true } +tokio = { workspace = true } +tracing = { workspace = true } +tracing-subscriber = { workspace = true } +wabt = { workspace = true } +which = { workspace = true } +substrate-runner = { workspace = true } diff --git a/testing/substrate-runner/Cargo.toml b/testing/substrate-runner/Cargo.toml index d1e8ab794e..6642ad5b20 100644 --- a/testing/substrate-runner/Cargo.toml +++ b/testing/substrate-runner/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "substrate-runner" -version = "0.28.0" +version.workspace = true edition = "2021" publish = false diff --git a/testing/test-runtime/Cargo.toml b/testing/test-runtime/Cargo.toml index 652a76e9cb..4236ef57aa 100644 --- a/testing/test-runtime/Cargo.toml +++ b/testing/test-runtime/Cargo.toml @@ -1,16 +1,16 @@ [package] name = "test-runtime" -version = "0.28.0" +version.workspace = true edition = "2021" publish = false [dependencies] -subxt = { path = "../../subxt" } +subxt = { workspace = true } [build-dependencies] -substrate-runner = { path = "../substrate-runner" } -impl-serde = "0.4.0" -serde = "1.0.160" -tokio = { version = "1.27", features = ["macros", "rt-multi-thread"] } -which = "4.4.0" -jsonrpsee = { version = "0.16.0", features = ["async-client", "client-ws-transport"] } +substrate-runner = { workspace = true } +impl-serde = { workspace = true } +serde = { workspace = true } +tokio = { workspace = true } +which = { workspace = true } +jsonrpsee = { workspace = true, features = ["async-client", "client-ws-transport"] } diff --git a/testing/ui-tests/Cargo.toml b/testing/ui-tests/Cargo.toml index 200d45aa98..a56bf30d0d 100644 --- a/testing/ui-tests/Cargo.toml +++ b/testing/ui-tests/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ui-tests" -version = "0.28.0" +version.workspace = true edition = "2021" publish = false @@ -9,9 +9,9 @@ publish = false [dependencies] [dev-dependencies] -trybuild = "1.0.79" -scale-info = { version = "2.5.0", features = ["bit-vec"] } -frame-metadata = { version = "15.1.0", features = ["v14", "v15-unstable", "std"] } -codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive", "full", "bit-vec"] } -subxt = { path = "../../subxt" } -subxt-metadata = { path = "../../metadata" } +trybuild = { workspace = true } +scale-info = { workspace = true, features = ["bit-vec"] } +frame-metadata ={ workspace = true } +codec = { package = "parity-scale-codec", workspace = true, features = ["derive", "bit-vec"] } +subxt = { workspace = true } +subxt-metadata = { workspace = true } diff --git a/testing/wasm-tests/.gitignore b/testing/wasm-tests/.gitignore new file mode 100644 index 0000000000..c41cc9e35e --- /dev/null +++ b/testing/wasm-tests/.gitignore @@ -0,0 +1 @@ +/target \ No newline at end of file diff --git a/testing/wasm-tests/Cargo.lock b/testing/wasm-tests/Cargo.lock new file mode 100644 index 0000000000..963f09b9e7 --- /dev/null +++ b/testing/wasm-tests/Cargo.lock @@ -0,0 +1,2028 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "anyhow" +version = "1.0.70" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7de8ce5e0f9f8d88245311066a578d72b7af3e7088f32783804676302df237e4" + +[[package]] +name = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + +[[package]] +name = "arrayvec" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" + +[[package]] +name = "async-lock" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7" +dependencies = [ + "event-listener", +] + +[[package]] +name = "async-trait" +version = "0.1.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "base58" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6107fe1be6682a68940da878d9e9f5e90ca5745b3dec9fd1bb393c8777d4f581" + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "base64" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" + +[[package]] +name = "beef" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" +dependencies = [ + "serde", +] + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest 0.10.6", +] + +[[package]] +name = "blake2b_simd" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c2f0dc9a68c6317d884f97cc36cf5a3d20ba14ce404227df55e1af708ab04bc" +dependencies = [ + "arrayref", + "arrayvec", + "constant_time_eq", +] + +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "bumpalo" +version = "3.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b1ce199063694f33ffb7dd4e0ee620741495c32833cde5aa08f02a0bf96f0c8" + +[[package]] +name = "byte-slice-cast" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "bytes" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" + +[[package]] +name = "cc" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "console_error_panic_hook" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" +dependencies = [ + "cfg-if", + "wasm-bindgen", +] + +[[package]] +name = "constant_time_eq" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13418e745008f7349ec7e449155f419a61b92b58a99cc3616942b926825ec76b" + +[[package]] +name = "core-foundation" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" + +[[package]] +name = "cpufeatures" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58" +dependencies = [ + "libc", +] + +[[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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "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 = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "derive_more" +version = "0.99.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array", +] + +[[package]] +name = "digest" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +dependencies = [ + "block-buffer 0.10.4", + "crypto-common", + "subtle", +] + +[[package]] +name = "either" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" + +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + +[[package]] +name = "fixed-hash" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" +dependencies = [ + "byteorder", + "rand", + "rustc-hex", + "static_assertions", +] + +[[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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "878babb0b136e731cc77ec2fd883ff02745ff21e6fb662729953d44923df009c" +dependencies = [ + "cfg-if", + "parity-scale-codec", + "scale-info", + "serde", +] + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "futures" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" + +[[package]] +name = "futures-io" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" + +[[package]] +name = "futures-sink" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" + +[[package]] +name = "futures-task" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" + +[[package]] +name = "futures-timer" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" +dependencies = [ + "gloo-timers", + "send_wrapper", +] + +[[package]] +name = "futures-util" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi", + "wasm-bindgen", +] + +[[package]] +name = "gloo-net" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9902a044653b26b99f7e3693a42f171312d9be8b26b5697bd1e43ad1f8a35e10" +dependencies = [ + "futures-channel", + "futures-core", + "futures-sink", + "gloo-utils", + "js-sys", + "pin-project", + "serde", + "serde_json", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "gloo-timers" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "gloo-utils" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8e8fc851e9c7b9852508bc6e3f690f452f474417e8545ec9857b7f7377036b5" +dependencies = [ + "js-sys", + "serde", + "serde_json", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "h2" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17f8a914c2987b688368b5138aa05321db91f4090cf26118185672ad588bce21" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "http" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" + +[[package]] +name = "hyper" +version = "0.14.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c" +dependencies = [ + "http", + "hyper", + "log", + "rustls", + "rustls-native-certs", + "tokio", + "tokio-rustls", + "webpki-roots", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "impl-codec" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-serde" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" +dependencies = [ + "serde", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown", +] + +[[package]] +name = "itoa" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" + +[[package]] +name = "js-sys" +version = "0.3.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "jsonrpsee" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d291e3a5818a2384645fd9756362e6d89cf0541b0b916fa7702ea4a9833608e" +dependencies = [ + "jsonrpsee-client-transport", + "jsonrpsee-core", + "jsonrpsee-http-client", + "jsonrpsee-types", +] + +[[package]] +name = "jsonrpsee-client-transport" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "965de52763f2004bc91ac5bcec504192440f0b568a5d621c59d9dbd6f886c3fb" +dependencies = [ + "anyhow", + "futures-channel", + "futures-timer", + "futures-util", + "gloo-net", + "http", + "jsonrpsee-core", + "jsonrpsee-types", + "pin-project", + "rustls-native-certs", + "soketto", + "thiserror", + "tokio", + "tokio-rustls", + "tokio-util", + "tracing", + "webpki-roots", +] + +[[package]] +name = "jsonrpsee-core" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4e70b4439a751a5de7dd5ed55eacff78ebf4ffe0fc009cb1ebb11417f5b536b" +dependencies = [ + "anyhow", + "async-lock", + "async-trait", + "beef", + "futures-channel", + "futures-timer", + "futures-util", + "hyper", + "jsonrpsee-types", + "rustc-hash", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", + "wasm-bindgen-futures", +] + +[[package]] +name = "jsonrpsee-http-client" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc345b0a43c6bc49b947ebeb936e886a419ee3d894421790c969cc56040542ad" +dependencies = [ + "async-trait", + "hyper", + "hyper-rustls", + "jsonrpsee-core", + "jsonrpsee-types", + "rustc-hash", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "jsonrpsee-types" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bd522fe1ce3702fd94812965d7bb7a3364b1c9aba743944c5a00529aae80f8c" +dependencies = [ + "anyhow", + "beef", + "serde", + "serde_json", + "thiserror", + "tracing", +] + +[[package]] +name = "keccak" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.142" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a987beff54b60ffa6d51982e1aa1146bc42f19bd26be28b0586f252fccf5317" + +[[package]] +name = "lock_api" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "mio" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" +dependencies = [ + "libc", + "log", + "wasi", + "windows-sys 0.45.0", +] + +[[package]] +name = "num_cpus" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "once_cell" +version = "1.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" + +[[package]] +name = "opaque-debug" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "parity-scale-codec" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "637935964ff85a605d114591d4d2c13c5d1ba2806dae97cea6bf180238a749ac" +dependencies = [ + "arrayvec", + "bitvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "3.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b26a931f824dd4eca30b3e43bb4f31cd5f0d3a403c5f5ff27106b805bfde7b" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-sys 0.45.0", +] + +[[package]] +name = "pin-project" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "primitive-types" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66" +dependencies = [ + "fixed-hash", + "impl-codec", + "impl-serde", + "scale-info", + "uint", +] + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro2" +version = "1.0.56" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags", +] + +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin", + "untrusted", + "web-sys", + "winapi", +] + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + +[[package]] +name = "rustls" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" +dependencies = [ + "log", + "ring", + "sct", + "webpki", +] + +[[package]] +name = "rustls-native-certs" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" +dependencies = [ + "openssl-probe", + "rustls-pemfile", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" +dependencies = [ + "base64 0.21.0", +] + +[[package]] +name = "ryu" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" + +[[package]] +name = "scale-bits" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dd7aca73785181cc41f0bbe017263e682b585ca660540ba569133901d013ecf" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", +] + +[[package]] +name = "scale-decode" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7e5527e4b3bf079d4c0b2f253418598c380722ba37ef20fac9088081407f2b6" +dependencies = [ + "parity-scale-codec", + "primitive-types", + "scale-bits", + "scale-decode-derive", + "scale-info", + "thiserror", +] + +[[package]] +name = "scale-decode-derive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b38741b2f78e4391b94eac6b102af0f6ea2b0f7fe65adb55d7f4004f507854db" +dependencies = [ + "darling", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "scale-encode" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15546e5efbb45f0fc2291f7e202dee8623274c5d8bbfdf9c6886cc8b44a7ced3" +dependencies = [ + "parity-scale-codec", + "primitive-types", + "scale-bits", + "scale-encode-derive", + "scale-info", + "thiserror", +] + +[[package]] +name = "scale-encode-derive" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd983cf0a9effd76138554ead18a6de542d1af175ac12fd5e91836c5c0268082" +dependencies = [ + "darling", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "scale-info" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cfdffd972d76b22f3d7f81c8be34b2296afd3a25e0a547bd9abe340a4dbbe97" +dependencies = [ + "bitvec", + "cfg-if", + "derive_more", + "parity-scale-codec", + "scale-info-derive", + "serde", +] + +[[package]] +name = "scale-info-derive" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61fa974aea2d63dd18a4ec3a49d59af9f34178c73a4f56d2f18205628d00681e" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "scale-value" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11f549769261561e6764218f847e500588f9a79a289de49ce92f9e26642a3574" +dependencies = [ + "either", + "frame-metadata", + "parity-scale-codec", + "scale-bits", + "scale-decode", + "scale-encode", + "scale-info", + "serde", + "thiserror", + "yap", +] + +[[package]] +name = "schannel" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" +dependencies = [ + "windows-sys 0.42.0", +] + +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + +[[package]] +name = "scopeguard" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + +[[package]] +name = "sct" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "security-framework" +version = "2.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" +dependencies = [ + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "send_wrapper" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" + +[[package]] +name = "serde" +version = "1.0.160" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb2f3770c8bce3bcda7e149193a069a0f4365bda1fa5cd88e03bca26afc1216c" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.160" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291a097c63d8497e00160b166a967a4a79c64f3facdd01cbd7502231688d77df" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "serde_json" +version = "1.0.96" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha-1" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if", + "cpufeatures", + "digest 0.9.0", + "opaque-debug", +] + +[[package]] +name = "sha2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.6", +] + +[[package]] +name = "sha3" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54c2bb1a323307527314a36bfb73f24febb08ce2b8a554bf4ffd6f51ad15198c" +dependencies = [ + "digest 0.10.6", + "keccak", +] + +[[package]] +name = "sharded-slab" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "slab" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" + +[[package]] +name = "socket2" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "soketto" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" +dependencies = [ + "base64 0.13.1", + "bytes", + "futures", + "httparse", + "log", + "rand", + "sha-1", +] + +[[package]] +name = "sp-core-hashing" +version = "8.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27449abdfbe41b473e625bce8113745e81d65777dd1d5a8462cf24137930dad8" +dependencies = [ + "blake2b_simd", + "byteorder", + "digest 0.10.6", + "sha2", + "sha3", + "sp-std", + "twox-hash", +] + +[[package]] +name = "sp-std" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1de8eef39962b5b97478719c493bed2926cf70cb621005bbf68ebe58252ff986" + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[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.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" + +[[package]] +name = "subxt" +version = "0.28.0" +dependencies = [ + "base58", + "blake2", + "derivative", + "either", + "frame-metadata", + "futures", + "getrandom", + "hex", + "impl-serde", + "jsonrpsee", + "parity-scale-codec", + "parking_lot", + "primitive-types", + "scale-bits", + "scale-decode", + "scale-encode", + "scale-info", + "scale-value", + "serde", + "serde_json", + "sp-core-hashing", + "subxt-macro", + "subxt-metadata", + "thiserror", + "tracing", +] + +[[package]] +name = "subxt-codegen" +version = "0.28.0" +dependencies = [ + "darling", + "frame-metadata", + "heck", + "hex", + "jsonrpsee", + "parity-scale-codec", + "proc-macro2", + "quote", + "scale-info", + "subxt-metadata", + "syn 1.0.109", + "thiserror", + "tokio", +] + +[[package]] +name = "subxt-macro" +version = "0.28.0" +dependencies = [ + "darling", + "proc-macro-error", + "subxt-codegen", + "syn 1.0.109", +] + +[[package]] +name = "subxt-metadata" +version = "0.28.0" +dependencies = [ + "frame-metadata", + "parity-scale-codec", + "scale-info", + "sp-core-hashing", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "thiserror" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "thread_local" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "tokio" +version = "1.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0de47a4eecbe11f498978a9b29d792f0d2692d1dd003650c24c76510e3bc001" +dependencies = [ + "autocfg", + "bytes", + "libc", + "mio", + "num_cpus", + "pin-project-lite", + "socket2", + "tokio-macros", + "windows-sys 0.45.0", +] + +[[package]] +name = "tokio-macros" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61a573bdc87985e9d6ddeed1b3d864e8a302c847e40d647746df2f1de209d1ce" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "tokio-rustls" +version = "0.23.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" +dependencies = [ + "rustls", + "tokio", + "webpki", +] + +[[package]] +name = "tokio-util" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" +dependencies = [ + "bytes", + "futures-core", + "futures-io", + "futures-sink", + "pin-project-lite", + "tokio", + "tracing", +] + +[[package]] +name = "toml_datetime" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622" + +[[package]] +name = "toml_edit" +version = "0.19.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "239410c8609e8125456927e6707163a3b1fdb40561e4b803bc041f466ccfdc13" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +dependencies = [ + "cfg-if", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "tracing-core" +version = "0.1.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" +dependencies = [ + "sharded-slab", + "thread_local", + "tracing-core", +] + +[[package]] +name = "tracing-wasm" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4575c663a174420fa2d78f4108ff68f65bf2fbb7dd89f33749b6e826b3626e07" +dependencies = [ + "tracing", + "tracing-subscriber", + "wasm-bindgen", +] + +[[package]] +name = "try-lock" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" + +[[package]] +name = "twox-hash" +version = "1.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" +dependencies = [ + "cfg-if", + "digest 0.10.6", + "rand", + "static_assertions", +] + +[[package]] +name = "typenum" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" + +[[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.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" + +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "want" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +dependencies = [ + "log", + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 1.0.109", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" + +[[package]] +name = "wasm-bindgen-test" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db36fc0f9fb209e88fb3642590ae0205bb5a56216dabd963ba15879fe53a30b" +dependencies = [ + "console_error_panic_hook", + "js-sys", + "scoped-tls", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-bindgen-test-macro", +] + +[[package]] +name = "wasm-bindgen-test-macro" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0734759ae6b3b1717d661fe4f016efcfb9828f5edb4520c18eaee05af3b43be9" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "wasm-test" +version = "0.1.0" +dependencies = [ + "console_error_panic_hook", + "serde_json", + "subxt", + "tracing-wasm", + "wasm-bindgen-test", +] + +[[package]] +name = "web-sys" +version = "0.3.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "webpki-roots" +version = "0.22.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" +dependencies = [ + "webpki", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "winnow" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae8970b36c66498d8ff1d66685dc86b91b29db0c7739899012f63a63814b4b28" +dependencies = [ + "memchr", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "yap" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2a7eb6d82a11e4d0b8e6bda8347169aff4ccd8235d039bba7c47482d977dcf7" diff --git a/testing/wasm-tests/Cargo.toml b/testing/wasm-tests/Cargo.toml index 48c60ec44c..ac1a04d963 100644 --- a/testing/wasm-tests/Cargo.toml +++ b/testing/wasm-tests/Cargo.toml @@ -5,8 +5,11 @@ edition = "2021" publish = false [dev-dependencies] +# This crate is not a part of the workspace, sadly, because it +# requires a mutually exclusive jsonrpsee feature to be enabled on +# subxt to work. So, we can't inherit versions. wasm-bindgen-test = "0.3.24" tracing-wasm = "0.2.1" console_error_panic_hook = "0.1.7" -serde_json = "1.0.57" +serde_json = "1" subxt = { path = "../../subxt", default-features = false, features = ["jsonrpsee-web"] } diff --git a/testing/wasm-tests/tests/wasm.rs b/testing/wasm-tests/tests/wasm.rs index eed10af565..ccfac7e763 100644 --- a/testing/wasm-tests/tests/wasm.rs +++ b/testing/wasm-tests/tests/wasm.rs @@ -9,10 +9,9 @@ wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser); #[wasm_bindgen_test] async fn wasm_ws_transport_works() { - let client = - subxt::client::OnlineClient::::from_url("ws://127.0.0.1:9944") - .await - .unwrap(); + let client = subxt::client::OnlineClient::::from_url("ws://127.0.0.1:9944") + .await + .unwrap(); let chain = client.rpc().system_chain().await.unwrap(); assert_eq!(&chain, "Development"); From 40339b341526221905affba8c6f171bfb1e07463 Mon Sep 17 00:00:00 2001 From: Tadeo Hepperle <62739623+tadeohepperle@users.noreply.github.com> Date: Thu, 27 Apr 2023 16:59:57 +0200 Subject: [PATCH 02/15] add no_default_substitutions to the macro and cli (#936) --- cli/src/commands/codegen.rs | 14 +- codegen/src/lib.rs | 2 +- codegen/src/types/substitutes.rs | 40 ++++-- codegen/src/types/tests.rs | 133 ++++++++++++------ macro/src/lib.rs | 8 +- .../src/codegen/codegen_documentation.rs | 4 +- 6 files changed, 140 insertions(+), 61 deletions(-) diff --git a/cli/src/commands/codegen.rs b/cli/src/commands/codegen.rs index eb2b10f33d..a44e13e80c 100644 --- a/cli/src/commands/codegen.rs +++ b/cli/src/commands/codegen.rs @@ -56,6 +56,11 @@ pub struct Opts { /// Defaults to `false` (default trait derivations are provided). #[clap(long)] no_default_derives: bool, + /// Do not provide default substitutions for the generated types. + /// + /// Defaults to `false` (default substitutions are provided). + #[clap(long)] + no_default_substitutions: bool, } fn derive_for_type_parser(src: &str) -> Result<(String, String), String> { @@ -96,6 +101,7 @@ pub async fn run(opts: Opts) -> color_eyre::Result<()> { opts.no_docs, opts.runtime_types_only, opts.no_default_derives, + opts.no_default_substitutions, )?; Ok(()) } @@ -121,6 +127,7 @@ fn codegen( no_docs: bool, runtime_types_only: bool, no_default_derives: bool, + no_default_substitutions: bool, ) -> color_eyre::Result<()> { let item_mod = syn::parse_quote!( pub mod api {} @@ -155,7 +162,12 @@ fn codegen( derives.extend_for_type(ty, vec![], std::iter::once(attribute.0)); } - let mut type_substitutes = TypeSubstitutes::new(&crate_path); + let mut type_substitutes = if no_default_substitutions { + TypeSubstitutes::new() + } else { + TypeSubstitutes::with_default_substitutes(&crate_path) + }; + for (from_str, to_str) in substitute_types { let from: syn::Path = syn::parse_str(&from_str)?; let to: syn::Path = syn::parse_str(&to_str)?; diff --git a/codegen/src/lib.rs b/codegen/src/lib.rs index d0fb06ff89..fde77ceb9c 100644 --- a/codegen/src/lib.rs +++ b/codegen/src/lib.rs @@ -34,7 +34,7 @@ //! // Default module derivatives. //! let mut derives = DerivesRegistry::with_default_derives(&CratePath::default()); //! // Default type substitutes. -//! let substs = TypeSubstitutes::new(&CratePath::default()); +//! let substs = TypeSubstitutes::with_default_substitutes(&CratePath::default()); //! // Generate the Runtime API. //! let generator = subxt_codegen::RuntimeGenerator::new(metadata); //! // Include metadata documentation in the Runtime API. diff --git a/codegen/src/types/substitutes.rs b/codegen/src/types/substitutes.rs index 6bbbdc1b0e..683bfe1e9b 100644 --- a/codegen/src/types/substitutes.rs +++ b/codegen/src/types/substitutes.rs @@ -37,9 +37,25 @@ macro_rules! path_segments { } } +impl Default for TypeSubstitutes { + fn default() -> Self { + Self::new() + } +} + impl TypeSubstitutes { - /// Create a new set of type substitutes with some default substitutions in place. - pub fn new(crate_path: &CratePath) -> Self { + /// Creates a new `TypeSubstitutes` with no default derives. + pub fn new() -> Self { + Self { + substitutes: HashMap::new(), + } + } + + /// Creates a new `TypeSubstitutes` with some default substitutions in place. + /// + /// The `crate_path` denotes the `subxt` crate access path in the + /// generated code. + pub fn with_default_substitutes(crate_path: &CratePath) -> Self { // Some hardcoded default type substitutes, can be overridden by user let defaults = [ ( @@ -163,11 +179,11 @@ impl TypeSubstitutes { src_path: &syn::Path, target_path: &syn::Path, ) -> Result { - let Some(syn::PathSegment { arguments: src_path_args, ..}) = src_path.segments.last() else { - return Err(TypeSubstitutionError::EmptySubstitutePath(src_path.span())) + let Some(syn::PathSegment { arguments: src_path_args, .. }) = src_path.segments.last() else { + return Err(TypeSubstitutionError::EmptySubstitutePath(src_path.span())); }; - let Some(syn::PathSegment { arguments: target_path_args, ..}) = target_path.segments.last() else { - return Err(TypeSubstitutionError::EmptySubstitutePath(target_path.span())) + let Some(syn::PathSegment { arguments: target_path_args, .. }) = target_path.segments.last() else { + return Err(TypeSubstitutionError::EmptySubstitutePath(target_path.span())); }; // Get hold of the generic args for the "from" type, erroring if they aren't valid. @@ -331,14 +347,14 @@ fn replace_path_params_recursively, P: Borrow>( ) { for segment in &mut path.segments { let syn::PathArguments::AngleBracketed(args) = &mut segment.arguments else { - continue + continue; }; for arg in &mut args.args { let syn::GenericArgument::Type(ty) = arg else { - continue + continue; }; let syn::Type::Path(path) = ty else { - continue + continue; }; if let Some(ident) = get_ident_from_type_path(path) { if let Some((_, replacement)) = params.iter().find(|(i, _)| ident == i.borrow()) { @@ -356,7 +372,7 @@ fn replace_path_params_recursively, P: Borrow>( fn get_valid_to_substitution_type(arg: &syn::GenericArgument) -> Option<&syn::TypePath> { let syn::GenericArgument::Type(syn::Type::Path(type_path)) = arg else { // We are looking for a type, not a lifetime or anything else - return None + return None; }; Some(type_path) } @@ -366,7 +382,7 @@ fn get_valid_to_substitution_type(arg: &syn::GenericArgument) -> Option<&syn::Ty fn get_valid_from_substitution_type(arg: &syn::GenericArgument) -> Option<&syn::Ident> { let syn::GenericArgument::Type(syn::Type::Path(type_path)) = arg else { // We are looking for a type, not a lifetime or anything else - return None + return None; }; get_ident_from_type_path(type_path) } @@ -387,7 +403,7 @@ fn get_ident_from_type_path(type_path: &syn::TypePath) -> Option<&syn::Ident> { } let Some(segment) = type_path.path.segments.last() else { // Get the single ident (should be infallible) - return None + return None; }; if !segment.arguments.is_empty() { // The ident shouldn't have any of it's own generic args like A diff --git a/codegen/src/types/tests.rs b/codegen/src/types/tests.rs index 01a238ef7b..e1f4caddc5 100644 --- a/codegen/src/types/tests.rs +++ b/codegen/src/types/tests.rs @@ -38,7 +38,7 @@ fn generate_struct_with_primitives() { let type_gen = TypeGenerator::new( &portable_types, "root", - TypeSubstitutes::new(&crate_path), + TypeSubstitutes::with_default_substitutes(&crate_path), DerivesRegistry::with_default_derives(&crate_path), crate_path, true, @@ -63,7 +63,7 @@ fn generate_struct_with_primitives() { } } } - .to_string() + .to_string() ) } @@ -90,7 +90,7 @@ fn generate_struct_with_a_struct_field() { let type_gen = TypeGenerator::new( &portable_types, "root", - TypeSubstitutes::new(&crate_path), + TypeSubstitutes::with_default_substitutes(&crate_path), DerivesRegistry::with_default_derives(&crate_path), crate_path, true, @@ -122,7 +122,7 @@ fn generate_struct_with_a_struct_field() { } } } - .to_string() + .to_string() ) } @@ -144,7 +144,7 @@ fn generate_tuple_struct() { let type_gen = TypeGenerator::new( &portable_types, "root", - TypeSubstitutes::new(&crate_path), + TypeSubstitutes::with_default_substitutes(&crate_path), DerivesRegistry::with_default_derives(&crate_path), crate_path, true, @@ -153,8 +153,8 @@ fn generate_tuple_struct() { let tests_mod = get_mod(&types, MOD_PATH).unwrap(); assert_eq!( - tests_mod.into_token_stream().to_string(), - quote! { + tests_mod.into_token_stream().to_string(), + quote! { pub mod tests { use super::root; @@ -171,8 +171,8 @@ fn generate_tuple_struct() { pub struct Parent(pub ::core::primitive::bool, pub root::subxt_codegen::types::tests::Child,); } } - .to_string() - ) + .to_string() + ) } #[test] @@ -235,7 +235,7 @@ fn derive_compact_as_for_uint_wrapper_structs() { let type_gen = TypeGenerator::new( &portable_types, "root", - TypeSubstitutes::new(&crate_path), + TypeSubstitutes::with_default_substitutes(&crate_path), DerivesRegistry::with_default_derives(&crate_path), crate_path, true, @@ -310,7 +310,7 @@ fn derive_compact_as_for_uint_wrapper_structs() { pub struct TSu8(pub ::core::primitive::u8,); } } - .to_string() + .to_string() ) } @@ -332,7 +332,7 @@ fn generate_enum() { let type_gen = TypeGenerator::new( &portable_types, "root", - TypeSubstitutes::new(&crate_path), + TypeSubstitutes::with_default_substitutes(&crate_path), DerivesRegistry::with_default_derives(&crate_path), crate_path, true, @@ -359,7 +359,7 @@ fn generate_enum() { } } } - .to_string() + .to_string() ) } @@ -396,7 +396,7 @@ fn compact_fields() { let type_gen = TypeGenerator::new( &portable_types, "root", - TypeSubstitutes::new(&crate_path), + TypeSubstitutes::with_default_substitutes(&crate_path), DerivesRegistry::with_default_derives(&crate_path), crate_path, true, @@ -438,7 +438,7 @@ fn compact_fields() { pub struct TupleStruct(#[codec(compact)] pub ::core::primitive::u32,); } } - .to_string() + .to_string() ) } @@ -464,7 +464,7 @@ fn compact_generic_parameter() { let type_gen = TypeGenerator::new( &portable_types, "root", - TypeSubstitutes::new(&crate_path), + TypeSubstitutes::with_default_substitutes(&crate_path), DerivesRegistry::with_default_derives(&crate_path), crate_path, true, @@ -511,7 +511,7 @@ fn generate_array_field() { let type_gen = TypeGenerator::new( &portable_types, "root", - TypeSubstitutes::new(&crate_path), + TypeSubstitutes::with_default_substitutes(&crate_path), DerivesRegistry::with_default_derives(&crate_path), crate_path, true, @@ -533,7 +533,7 @@ fn generate_array_field() { } } } - .to_string() + .to_string() ) } @@ -554,7 +554,7 @@ fn option_fields() { let type_gen = TypeGenerator::new( &portable_types, "root", - TypeSubstitutes::new(&crate_path), + TypeSubstitutes::with_default_substitutes(&crate_path), DerivesRegistry::with_default_derives(&crate_path), crate_path, true, @@ -577,7 +577,7 @@ fn option_fields() { } } } - .to_string() + .to_string() ) } @@ -600,7 +600,7 @@ fn box_fields_struct() { let type_gen = TypeGenerator::new( &portable_types, "root", - TypeSubstitutes::new(&crate_path), + TypeSubstitutes::with_default_substitutes(&crate_path), DerivesRegistry::with_default_derives(&crate_path), crate_path, true, @@ -623,7 +623,7 @@ fn box_fields_struct() { } } } - .to_string() + .to_string() ) } @@ -646,7 +646,7 @@ fn box_fields_enum() { let type_gen = TypeGenerator::new( &portable_types, "root", - TypeSubstitutes::new(&crate_path), + TypeSubstitutes::with_default_substitutes(&crate_path), DerivesRegistry::with_default_derives(&crate_path), crate_path, true, @@ -671,7 +671,7 @@ fn box_fields_enum() { } } } - .to_string() + .to_string() ) } @@ -692,7 +692,7 @@ fn range_fields() { let type_gen = TypeGenerator::new( &portable_types, "root", - TypeSubstitutes::new(&crate_path), + TypeSubstitutes::with_default_substitutes(&crate_path), DerivesRegistry::with_default_derives(&crate_path), crate_path, true, @@ -715,7 +715,7 @@ fn range_fields() { } } } - .to_string() + .to_string() ) } @@ -742,7 +742,7 @@ fn generics() { let type_gen = TypeGenerator::new( &portable_types, "root", - TypeSubstitutes::new(&crate_path), + TypeSubstitutes::with_default_substitutes(&crate_path), DerivesRegistry::with_default_derives(&crate_path), crate_path, true, @@ -772,7 +772,7 @@ fn generics() { } } } - .to_string() + .to_string() ) } @@ -799,7 +799,7 @@ fn generics_nested() { let type_gen = TypeGenerator::new( &portable_types, "root", - TypeSubstitutes::new(&crate_path), + TypeSubstitutes::with_default_substitutes(&crate_path), DerivesRegistry::with_default_derives(&crate_path), crate_path, true, @@ -830,7 +830,7 @@ fn generics_nested() { } } } - .to_string() + .to_string() ) } @@ -856,7 +856,7 @@ fn generate_bitvec() { let type_gen = TypeGenerator::new( &portable_types, "root", - TypeSubstitutes::new(&crate_path), + TypeSubstitutes::with_default_substitutes(&crate_path), DerivesRegistry::with_default_derives(&crate_path), crate_path, true, @@ -879,7 +879,7 @@ fn generate_bitvec() { } } } - .to_string() + .to_string() ) } @@ -915,7 +915,7 @@ fn generics_with_alias_adds_phantom_data_marker() { let type_gen = TypeGenerator::new( &portable_types, "root", - TypeSubstitutes::new(&crate_path), + TypeSubstitutes::with_default_substitutes(&crate_path), DerivesRegistry::with_default_derives(&crate_path), crate_path, true, @@ -924,8 +924,8 @@ fn generics_with_alias_adds_phantom_data_marker() { let tests_mod = get_mod(&types, MOD_PATH).unwrap(); assert_eq!( - tests_mod.into_token_stream().to_string(), - quote! { + tests_mod.into_token_stream().to_string(), + quote! { pub mod tests { use super::root; #[derive(::subxt_path::ext::codec::CompactAs, ::subxt_path::ext::codec::Decode, ::subxt_path::ext::codec::Encode, ::subxt_path::ext::scale_decode::DecodeAsType, ::subxt_path::ext::scale_encode::EncodeAsType, Debug)] @@ -948,8 +948,8 @@ fn generics_with_alias_adds_phantom_data_marker() { ); } } - .to_string() - ) + .to_string() + ) } #[test] @@ -986,7 +986,7 @@ fn modules() { let type_gen = TypeGenerator::new( &portable_types, "root", - TypeSubstitutes::new(&crate_path), + TypeSubstitutes::with_default_substitutes(&crate_path), DerivesRegistry::with_default_derives(&crate_path), crate_path, true, @@ -1037,7 +1037,7 @@ fn modules() { } } } - .to_string() + .to_string() ) } @@ -1055,7 +1055,7 @@ fn dont_force_struct_names_camel_case() { let type_gen = TypeGenerator::new( &portable_types, "root", - TypeSubstitutes::new(&crate_path), + TypeSubstitutes::with_default_substitutes(&crate_path), DerivesRegistry::with_default_derives(&crate_path), crate_path, true, @@ -1076,7 +1076,7 @@ fn dont_force_struct_names_camel_case() { pub struct AB; } } - .to_string() + .to_string() ) } @@ -1105,7 +1105,7 @@ fn apply_user_defined_derives_for_all_types() { let type_gen = TypeGenerator::new( &portable_types, "root", - TypeSubstitutes::new(&crate_path), + TypeSubstitutes::with_default_substitutes(&crate_path), derives, crate_path, true, @@ -1181,7 +1181,7 @@ fn apply_user_defined_derives_for_specific_types() { let type_gen = TypeGenerator::new( &portable_types, "root", - TypeSubstitutes::new(&crate_path), + TypeSubstitutes::with_default_substitutes(&crate_path), derives, crate_path, true, @@ -1249,7 +1249,7 @@ fn opt_out_from_default_derives() { let type_gen = TypeGenerator::new( &portable_types, "root", - TypeSubstitutes::new(&crate_path), + TypeSubstitutes::with_default_substitutes(&crate_path), derives, crate_path, true, @@ -1276,3 +1276,48 @@ fn opt_out_from_default_derives() { .to_string() ) } + +/// 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() { + use std::collections::BTreeMap; + + #[allow(unused)] + #[derive(TypeInfo)] + struct S { + map: BTreeMap, + } + + let mut registry = Registry::new(); + registry.register_type(&meta_type::()); + let portable_types: PortableRegistry = registry.into(); + + let crate_path = "::subxt_path".into(); + let type_gen = TypeGenerator::new( + &portable_types, + "root", + TypeSubstitutes::new(), + DerivesRegistry::with_default_derives(&crate_path), + crate_path, + true, + ); + let types = type_gen.generate_types_mod().expect("Valid type mod; qed"); + let tests_mod = get_mod(&types, MOD_PATH).unwrap(); + + assert_eq!( + tests_mod.into_token_stream().to_string(), + quote! { + pub mod tests { + use super::root; + #[derive(::subxt_path::ext::codec::Decode, ::subxt_path::ext::codec::Encode, ::subxt_path::ext::scale_decode::DecodeAsType, ::subxt_path::ext::scale_encode::EncodeAsType, Debug)] + #[codec(crate = ::subxt_path::ext::codec)] + #[decode_as_type(crate_path = ":: subxt_path :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_path :: ext :: scale_encode")] + pub struct S { + pub map: ::std::collections::BTreeMap<:: core :: primitive :: u8,:: core :: primitive :: u8>, + } + } + }.to_string() + ) +} diff --git a/macro/src/lib.rs b/macro/src/lib.rs index afb4759dbd..bb0ac0b7fb 100644 --- a/macro/src/lib.rs +++ b/macro/src/lib.rs @@ -152,6 +152,8 @@ struct RuntimeMetadataArgs { runtime_types_only: bool, #[darling(default)] no_default_derives: bool, + #[darling(default)] + no_default_substitutions: bool, } #[derive(Debug, FromMeta)] @@ -213,7 +215,11 @@ pub fn subxt(args: TokenStream, input: TokenStream) -> TokenStream { ) } - let mut type_substitutes = TypeSubstitutes::new(&crate_path); + let mut type_substitutes = if args.no_default_substitutions { + TypeSubstitutes::new() + } else { + TypeSubstitutes::with_default_substitutes(&crate_path) + }; let substitute_args_res: Result<(), _> = args.substitute_type.into_iter().try_for_each(|sub| { sub.with .try_into() diff --git a/testing/integration-tests/src/codegen/codegen_documentation.rs b/testing/integration-tests/src/codegen/codegen_documentation.rs index 0319711db6..be4a534f1c 100644 --- a/testing/integration-tests/src/codegen/codegen_documentation.rs +++ b/testing/integration-tests/src/codegen/codegen_documentation.rs @@ -53,7 +53,7 @@ fn generate_runtime_interface(crate_path: CratePath, should_gen_docs: bool) -> S pub mod api {} ); let derives = DerivesRegistry::with_default_derives(&crate_path); - let type_substitutes = TypeSubstitutes::new(&crate_path); + let type_substitutes = TypeSubstitutes::with_default_substitutes(&crate_path); generator .generate_runtime( item_mod, @@ -143,7 +143,7 @@ fn check_root_attrs_preserved() { // Generate a runtime interface from the provided metadata. let generator = RuntimeGenerator::new(metadata); let derives = DerivesRegistry::with_default_derives(&CratePath::default()); - let type_substitutes = TypeSubstitutes::new(&CratePath::default()); + let type_substitutes = TypeSubstitutes::with_default_substitutes(&CratePath::default()); let generated_code = generator .generate_runtime( item_mod, From b7c5d768ce98ecbd46276609ea25cb2d5bfb2ff5 Mon Sep 17 00:00:00 2001 From: Tadeo Hepperle <62739623+tadeohepperle@users.noreply.github.com> Date: Thu, 27 Apr 2023 17:00:11 +0200 Subject: [PATCH 03/15] impl Header and Hasher for some substrate types behind the "substrate-compat" feature flag (#934) * impl Header and Hasher * qualify trait differently --- subxt/src/config/mod.rs | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/subxt/src/config/mod.rs b/subxt/src/config/mod.rs index 9652cca48c..8d3cddd6cc 100644 --- a/subxt/src/config/mod.rs +++ b/subxt/src/config/mod.rs @@ -120,3 +120,40 @@ impl> Config type Header = T::Header; type ExtrinsicParams = E; } + +/// implement subxt's Hasher and Header traits for some substrate structs +#[cfg(feature = "substrate-compat")] +mod substrate_impls { + use super::*; + use primitive_types::{H256, U256}; + + impl Header for sp_runtime::generic::Header + where + Self: Encode, + N: Copy + Into + Into + TryFrom, + H: sp_runtime::traits::Hash + Hasher, + { + type Number = N; + type Hasher = H; + + fn number(&self) -> Self::Number { + self.number + } + } + + impl Hasher for sp_core::Blake2Hasher { + type Output = H256; + + fn hash(s: &[u8]) -> Self::Output { + ::hash(s) + } + } + + impl Hasher for sp_core::KeccakHasher { + type Output = H256; + + fn hash(s: &[u8]) -> Self::Output { + ::hash(s) + } + } +} From 6c364093cacb6a7943bfab4be4104be3b3ae2624 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 28 Apr 2023 13:46:11 +0100 Subject: [PATCH 04/15] Bump wasmtime from 6.0.1 to 6.0.2 (#938) Bumps [wasmtime](https://github.com/bytecodealliance/wasmtime) from 6.0.1 to 6.0.2. - [Release notes](https://github.com/bytecodealliance/wasmtime/releases) - [Changelog](https://github.com/bytecodealliance/wasmtime/blob/main/docs/WASI-some-possible-changes.md) - [Commits](https://github.com/bytecodealliance/wasmtime/compare/v6.0.1...v6.0.2) --- updated-dependencies: - dependency-name: wasmtime dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f653eb2d3d..adf8aaa255 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -614,9 +614,9 @@ dependencies = [ [[package]] name = "cranelift-entity" -version = "0.93.1" +version = "0.93.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cf583f7b093f291005f9fb1323e2c37f6ee4c7909e39ce016b2e8360d461705" +checksum = "f42ea692c7b450ad18b8c9889661505d51c09ec4380cf1c2d278dbb2da22cae1" dependencies = [ "serde", ] @@ -3975,7 +3975,7 @@ checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", "digest 0.10.6", - "rand 0.8.5", + "rand 0.7.3", "static_assertions", ] @@ -4243,9 +4243,9 @@ dependencies = [ [[package]] name = "wasmtime" -version = "6.0.1" +version = "6.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6e89f9819523447330ffd70367ef4a18d8c832e24e8150fe054d1d912841632" +checksum = "76a222f5fa1e14b2cefc286f1b68494d7a965f4bf57ec04c59bb62673d639af6" dependencies = [ "anyhow", "bincode", @@ -4268,18 +4268,18 @@ dependencies = [ [[package]] name = "wasmtime-asm-macros" -version = "6.0.1" +version = "6.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bd3a5e46c198032da934469f3a6e48649d1f9142438e4fd4617b68a35644b8a" +checksum = "4407a7246e7d2f3d8fb1cf0c72fda8dbafdb6dd34d555ae8bea0e5ae031089cc" dependencies = [ "cfg-if", ] [[package]] name = "wasmtime-environ" -version = "6.0.1" +version = "6.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a6db9fc52985ba06ca601f2ff0ff1f526c5d724c7ac267b47326304b0c97883" +checksum = "47b8b50962eae38ee319f7b24900b7cf371f03eebdc17400c1dc8575fc10c9a7" dependencies = [ "anyhow", "cranelift-entity", @@ -4296,9 +4296,9 @@ dependencies = [ [[package]] name = "wasmtime-jit" -version = "6.0.1" +version = "6.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b77e3a52cd84d0f7f18554afa8060cfe564ccac61e3b0802d3fd4084772fa5f6" +checksum = "ffaed4f9a234ba5225d8e64eac7b4a5d13b994aeb37353cde2cbeb3febda9eaa" dependencies = [ "addr2line 0.17.0", "anyhow", @@ -4319,18 +4319,18 @@ dependencies = [ [[package]] name = "wasmtime-jit-debug" -version = "6.0.1" +version = "6.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0245e8a9347017c7185a72e215218a802ff561545c242953c11ba00fccc930f" +checksum = "eed41cbcbf74ce3ff6f1d07d1b707888166dc408d1a880f651268f4f7c9194b2" dependencies = [ "once_cell", ] [[package]] name = "wasmtime-jit-icache-coherence" -version = "6.0.1" +version = "6.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67d412e9340ab1c83867051d8d1d7c90aa8c9afc91da086088068e2734e25064" +checksum = "43a28ae1e648461bfdbb79db3efdaee1bca5b940872e4175390f465593a2e54c" dependencies = [ "cfg-if", "libc", @@ -4339,9 +4339,9 @@ dependencies = [ [[package]] name = "wasmtime-runtime" -version = "6.0.1" +version = "6.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d594e791b5fdd4dbaf8cf7ae62f2e4ff85018ce90f483ca6f42947688e48827d" +checksum = "e704b126e4252788ccfc3526d4d4511d4b23c521bf123e447ac726c14545217b" dependencies = [ "anyhow", "cc", @@ -4363,9 +4363,9 @@ dependencies = [ [[package]] name = "wasmtime-types" -version = "6.0.1" +version = "6.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6688d6f96d4dbc1f89fab626c56c1778936d122b5f4ae7a57c2eb42b8d982e2" +checksum = "83e5572c5727c1ee7e8f28717aaa8400e4d22dcbd714ea5457d85b5005206568" dependencies = [ "cranelift-entity", "serde", From a3ee443442788ee817aeaf292dd77b42d35b40e2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 May 2023 11:17:28 +0300 Subject: [PATCH 05/15] Bump tokio from 1.27.0 to 1.28.0 (#941) Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.27.0 to 1.28.0. - [Release notes](https://github.com/tokio-rs/tokio/releases) - [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.27.0...tokio-1.28.0) --- updated-dependencies: - dependency-name: tokio dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 12 ++++++------ Cargo.toml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index adf8aaa255..5461dc727f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3749,9 +3749,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.27.0" +version = "1.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0de47a4eecbe11f498978a9b29d792f0d2692d1dd003650c24c76510e3bc001" +checksum = "c3c786bf8134e5a3a166db9b29ab8f48134739014a3eca7bc6bfa95d673b136f" dependencies = [ "autocfg", "bytes", @@ -3761,14 +3761,14 @@ dependencies = [ "pin-project-lite", "socket2", "tokio-macros", - "windows-sys 0.45.0", + "windows-sys 0.48.0", ] [[package]] name = "tokio-macros" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61a573bdc87985e9d6ddeed1b3d864e8a302c847e40d647746df2f1de209d1ce" +checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", @@ -3975,7 +3975,7 @@ checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", "digest 0.10.6", - "rand 0.7.3", + "rand 0.8.5", "static_assertions", ] diff --git a/Cargo.toml b/Cargo.toml index 2ef504d706..9e2def50b0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -63,7 +63,7 @@ serde = { version = "1.0.159" } serde_json = { version = "1.0.96" } syn = "1.0.109" thiserror = "1.0.40" -tokio = { version = "1.27", features = ["macros", "time", "rt-multi-thread"] } +tokio = { version = "1.28", features = ["macros", "time", "rt-multi-thread"] } tracing = "0.1.34" tracing-wasm = "0.2.1" tracing-subscriber = "0.3.17" From 6430cf22961f842cd26ace809c911276ccf94439 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 May 2023 11:34:51 +0300 Subject: [PATCH 06/15] Bump scale-info from 2.5.0 to 2.6.0 (#939) Bumps [scale-info](https://github.com/paritytech/scale-info) from 2.5.0 to 2.6.0. - [Release notes](https://github.com/paritytech/scale-info/releases) - [Changelog](https://github.com/paritytech/scale-info/blob/master/CHANGELOG.md) - [Commits](https://github.com/paritytech/scale-info/commits) --- updated-dependencies: - dependency-name: scale-info dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- metadata/Cargo.toml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5461dc727f..f980d911a0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2728,9 +2728,9 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cfdffd972d76b22f3d7f81c8be34b2296afd3a25e0a547bd9abe340a4dbbe97" +checksum = "dfdef77228a4c05dc94211441595746732131ad7f6530c6c18f045da7b7ab937" dependencies = [ "bitvec", "cfg-if", @@ -2742,9 +2742,9 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61fa974aea2d63dd18a4ec3a49d59af9f34178c73a4f56d2f18205628d00681e" +checksum = "53012eae69e5aa5c14671942a5dd47de59d4cdcff8532a6dd0e081faf1119482" dependencies = [ "proc-macro-crate", "proc-macro2", diff --git a/Cargo.toml b/Cargo.toml index 9e2def50b0..e83413f043 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -54,7 +54,7 @@ primitive-types = { version = "0.12.1", default-features = false, features = ["c proc-macro2 = "1.0.55" quote = "1.0.8" regex = "1.8.1" -scale-info = "2.5.0" +scale-info = "2.6.0" scale-value = "0.7.0" scale-bits = "0.3" scale-decode = "0.5.0" diff --git a/metadata/Cargo.toml b/metadata/Cargo.toml index 59f144a83d..8b06c37849 100644 --- a/metadata/Cargo.toml +++ b/metadata/Cargo.toml @@ -16,7 +16,7 @@ description = "Command line utilities for checking metadata compatibility betwee [dependencies] codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] } frame-metadata = { version = "15.1.0", features = ["v14", "v15-unstable", "std"] } -scale-info = "2.5.0" +scale-info = "2.6.0" sp-core-hashing = "8.0.0" [dev-dependencies] From a3b3d262ed4999d9d4d8c200abffe739ed13af27 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 May 2023 11:34:58 +0300 Subject: [PATCH 07/15] Bump clap from 4.2.4 to 4.2.5 (#940) Bumps [clap](https://github.com/clap-rs/clap) from 4.2.4 to 4.2.5. - [Release notes](https://github.com/clap-rs/clap/releases) - [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md) - [Commits](https://github.com/clap-rs/clap/compare/v4.2.4...v4.2.5) --- updated-dependencies: - dependency-name: clap dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 10 +++++----- Cargo.toml | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f980d911a0..37ec76ad34 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -470,9 +470,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.2.4" +version = "4.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956ac1f6381d8d82ab4684768f89c0ea3afe66925ceadb4eeb3fc452ffc55d62" +checksum = "8a1f23fa97e1d1641371b51f35535cb26959b8e27ab50d167a8b996b5bada819" dependencies = [ "clap_builder", "clap_derive", @@ -481,9 +481,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.2.4" +version = "4.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84080e799e54cff944f4b4a4b0e71630b0e0443b25b985175c7dddc1a859b749" +checksum = "0fdc5d93c358224b4d6867ef1356d740de2303e9892edc06c5340daeccd96bab" dependencies = [ "anstream", "anstyle", @@ -3539,7 +3539,7 @@ dependencies = [ name = "subxt-cli" version = "0.28.0" dependencies = [ - "clap 4.2.4", + "clap 4.2.5", "color-eyre", "frame-metadata", "hex", diff --git a/Cargo.toml b/Cargo.toml index e83413f043..c59ceaeea4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,7 +33,7 @@ assert_matches = "1.5.0" base58 = { version = "0.2.0" } bitvec = { version = "1", default-features = false } blake2 = { version = "0.10.4", default-features = false } -clap = { version = "4.2.4", features = ["derive", "cargo"] } +clap = { version = "4.2.5", features = ["derive", "cargo"] } criterion = "0.4" codec = { package = "parity-scale-codec", version = "3.4.0", default-features = false } color-eyre = "0.6.1" From 265f16fdec7c925a5b4265def6a255e4c2efc4ac Mon Sep 17 00:00:00 2001 From: Tadeo Hepperle <62739623+tadeohepperle@users.noreply.github.com> Date: Tue, 2 May 2023 17:33:09 +0200 Subject: [PATCH 08/15] codegen for root level error (#930) * code gen for root error * cargo fmt * polkadot.rs regenerated * use pallet name and decode with metadata * remove pallet by name fn * test that we can decode a ModuleError via as_root_error * nits --------- Co-authored-by: James Wilson --- codegen/src/api/errors.rs | 34 + codegen/src/api/mod.rs | 53 +- subxt/src/error/dispatch_error.rs | 12 +- subxt/src/error/mod.rs | 14 +- testing/integration-tests/src/client/mod.rs | 37 + .../integration-tests/src/codegen/polkadot.rs | 1428 ++++++++++++++++- 6 files changed, 1572 insertions(+), 6 deletions(-) create mode 100644 codegen/src/api/errors.rs diff --git a/codegen/src/api/errors.rs b/codegen/src/api/errors.rs new file mode 100644 index 0000000000..0722c8e9a8 --- /dev/null +++ b/codegen/src/api/errors.rs @@ -0,0 +1,34 @@ +// Copyright 2019-2023 Parity Technologies (UK) Ltd. +// This file is dual-licensed as Apache-2.0 or GPL-3.0. +// see LICENSE for license details. + +use frame_metadata::v15::PalletMetadata; +use proc_macro2::TokenStream as TokenStream2; +use quote::quote; +use scale_info::form::PortableForm; + +use crate::types::TypeGenerator; + +use super::CodegenError; + +/// Generate error type alias from the provided pallet metadata. +pub fn generate_error_type_alias( + type_gen: &TypeGenerator, + pallet: &PalletMetadata, + should_gen_docs: bool, +) -> Result { + let Some(error) = &pallet.error else { + return Ok(quote!()); + }; + + let error_type = type_gen.resolve_type_path(error.ty.id); + let error_ty = type_gen.resolve_type(error.ty.id); + let docs = &error_ty.docs; + let docs = should_gen_docs + .then_some(quote! { #( #[doc = #docs ] )* }) + .unwrap_or_default(); + Ok(quote! { + #docs + pub type Error = #error_type; + }) +} diff --git a/codegen/src/api/mod.rs b/codegen/src/api/mod.rs index ae52fb3f2a..85d6e6bf00 100644 --- a/codegen/src/api/mod.rs +++ b/codegen/src/api/mod.rs @@ -6,6 +6,7 @@ mod calls; mod constants; +mod errors; mod events; mod storage; @@ -320,10 +321,13 @@ impl RuntimeGenerator { should_gen_docs, )?; + let errors = errors::generate_error_type_alias(&type_gen, pallet, should_gen_docs)?; + Ok(quote! { pub mod #mod_name { use super::root_mod; use super::#types_mod_ident; + #errors #calls #event #storage_mod @@ -371,6 +375,43 @@ impl RuntimeGenerator { }) }); + let outer_error_variants = self.metadata.pallets.iter().filter_map(|p| { + let variant_name = format_ident!("{}", p.name); + let mod_name = format_ident!("{}", p.name.to_string().to_snake_case()); + let index = proc_macro2::Literal::u8_unsuffixed(p.index); + + p.error.as_ref().map(|_| { + quote! { + #[codec(index = #index)] + #variant_name(#mod_name::Error), + } + }) + }); + + let outer_error = quote! { + #default_derives + pub enum Error { + #( #outer_error_variants )* + } + }; + + let root_error_if_arms = self.metadata.pallets.iter().filter_map(|p| { + let variant_name_str = &p.name; + let variant_name = format_ident!("{}", variant_name_str); + let mod_name = format_ident!("{}", variant_name_str.to_string().to_snake_case()); + p.error.as_ref().map(|err| + { + let type_id = err.ty.id; + quote! { + if pallet_name == #variant_name_str { + let variant_error = #mod_name::Error::decode_with_metadata(cursor, #type_id, metadata)?; + return Ok(Error::#variant_name(variant_error)); + } + } + } + ) + }); + let mod_ident = &item_mod_ir.ident; let pallets_with_constants: Vec<_> = pallets_with_mod_names .iter() @@ -424,6 +465,16 @@ impl RuntimeGenerator { } } + #outer_error + impl #crate_path::error::RootError for Error { + fn root_error(pallet_bytes: &[u8], pallet_name: &str, metadata: &#crate_path::Metadata) -> Result { + use #crate_path::metadata::DecodeWithMetadata; + let cursor = &mut &pallet_bytes[..]; + #( #root_error_if_arms )* + Err(#crate_path::ext::scale_decode::Error::custom(format!("Pallet name '{}' not found in root Error enum", pallet_name)).into()) + } + } + pub fn constants() -> ConstantsApi { ConstantsApi } @@ -495,7 +546,7 @@ where let ty = type_gen.resolve_type(type_id); let scale_info::TypeDef::Variant(variant) = &ty.type_def else { - return Err(CodegenError::InvalidType(error_message_type_name.into())) + return Err(CodegenError::InvalidType(error_message_type_name.into())); }; variant diff --git a/subxt/src/error/dispatch_error.rs b/subxt/src/error/dispatch_error.rs index b2094f733e..aa730b0bc6 100644 --- a/subxt/src/error/dispatch_error.rs +++ b/subxt/src/error/dispatch_error.rs @@ -10,6 +10,9 @@ use core::fmt::Debug; use scale_decode::visitor::DecodeAsTypeResult; use std::borrow::Cow; +use super::Error; +use crate::error::RootError; + /// An error dispatching a transaction. #[derive(Debug, thiserror::Error, PartialEq, Eq)] #[non_exhaustive] @@ -133,12 +136,13 @@ impl PartialEq for ModuleError { self.raw == other.raw } } + impl Eq for ModuleError {} impl std::fmt::Display for ModuleError { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { let Ok(details) = self.details() else { - return f.write_str("Unknown pallet error (pallet and error details cannot be retrieved)") + return f.write_str("Unknown pallet error (pallet and error details cannot be retrieved)"); }; let pallet = details.pallet(); @@ -159,6 +163,12 @@ impl ModuleError { pub fn raw(&self) -> RawModuleError { self.raw } + + /// Attempts to decode the ModuleError into a value implementing the trait `RootError` + /// where the actual type of value is the generated top level enum `Error`. + pub fn as_root_error(&self) -> Result { + E::root_error(&self.raw.error, self.details()?.pallet(), &self.metadata) + } } /// The error details about a module error that has occurred. diff --git a/subxt/src/error/mod.rs b/subxt/src/error/mod.rs index 16f3bbfabc..9884e4e1d3 100644 --- a/subxt/src/error/mod.rs +++ b/subxt/src/error/mod.rs @@ -14,7 +14,7 @@ pub use dispatch_error::{ }; // Re-expose the errors we use from other crates here: -pub use crate::metadata::{InvalidMetadataError, MetadataError}; +pub use crate::metadata::{InvalidMetadataError, Metadata, MetadataError}; pub use scale_decode::Error as DecodeError; pub use scale_encode::Error as EncodeError; @@ -162,3 +162,15 @@ pub enum StorageAddressError { fields: usize, }, } + +/// This trait is implemented on the statically generated root ModuleError type +#[doc(hidden)] +pub trait RootError: Sized { + /// Given details of the pallet error we want to decode + fn root_error( + // typically a [u8; 4] encodes the error of a pallet + pallet_bytes: &[u8], + pallet_name: &str, + metadata: &Metadata, + ) -> Result; +} diff --git a/testing/integration-tests/src/client/mod.rs b/testing/integration-tests/src/client/mod.rs index f9808ea47d..d95936f508 100644 --- a/testing/integration-tests/src/client/mod.rs +++ b/testing/integration-tests/src/client/mod.rs @@ -350,6 +350,43 @@ async fn submit_large_extrinsic() { .unwrap(); } +#[tokio::test] +async fn decode_a_module_error() { + use node_runtime::runtime_types::pallet_assets::pallet as assets; + + let ctx = test_context().await; + let api = ctx.client(); + + let alice = pair_signer(AccountKeyring::Alice.pair()); + let alice_addr = alice.account_id().clone().into(); + + // Trying to work with an asset ID 1 which doesn't exist should return an + // "unknown" module error from the assets pallet. + let freeze_unknown_asset = node_runtime::tx().assets().freeze(1, alice_addr); + + let err = api + .tx() + .sign_and_submit_then_watch_default(&freeze_unknown_asset, &alice) + .await + .unwrap() + .wait_for_finalized_success() + .await + .expect_err("an 'unknown asset' error"); + + let Error::Runtime(DispatchError::Module(module_err)) = err else { + panic!("Expected a ModuleError, got {err:?}"); + }; + + // Decode the error into our generated Error type. + let decoded_err = module_err.as_root_error::().unwrap(); + + // Decoding should result in an Assets.Unknown error: + assert_eq!( + decoded_err, + node_runtime::Error::Assets(assets::Error::Unknown) + ); +} + #[tokio::test] async fn unsigned_extrinsic_is_same_shape_as_polkadotjs() { let ctx = test_context().await; diff --git a/testing/integration-tests/src/codegen/polkadot.rs b/testing/integration-tests/src/codegen/polkadot.rs index 062e6f1c45..4a8bb5020f 100644 --- a/testing/integration-tests/src/codegen/polkadot.rs +++ b/testing/integration-tests/src/codegen/polkadot.rs @@ -60,11 +60,100 @@ pub mod api { "Crowdloan", "XcmPallet", ]; - #[doc = r" The statically generated runtime call type."] - pub type Call = runtime_types::polkadot_runtime::RuntimeCall; #[doc = r" The error type returned when there is a runtime issue."] pub type DispatchError = runtime_types::sp_runtime::DispatchError; - pub type Event = runtime_types::polkadot_runtime::RuntimeEvent; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Event { + #[codec(index = 0)] + System(system::Event), + #[codec(index = 1)] + Scheduler(scheduler::Event), + #[codec(index = 10)] + Preimage(preimage::Event), + #[codec(index = 4)] + Indices(indices::Event), + #[codec(index = 5)] + Balances(balances::Event), + #[codec(index = 32)] + TransactionPayment(transaction_payment::Event), + #[codec(index = 7)] + Staking(staking::Event), + #[codec(index = 8)] + Offences(offences::Event), + #[codec(index = 9)] + Session(session::Event), + #[codec(index = 11)] + Grandpa(grandpa::Event), + #[codec(index = 12)] + ImOnline(im_online::Event), + #[codec(index = 14)] + Democracy(democracy::Event), + #[codec(index = 15)] + Council(council::Event), + #[codec(index = 16)] + TechnicalCommittee(technical_committee::Event), + #[codec(index = 17)] + PhragmenElection(phragmen_election::Event), + #[codec(index = 18)] + TechnicalMembership(technical_membership::Event), + #[codec(index = 19)] + Treasury(treasury::Event), + #[codec(index = 24)] + Claims(claims::Event), + #[codec(index = 25)] + Vesting(vesting::Event), + #[codec(index = 26)] + Utility(utility::Event), + #[codec(index = 28)] + Identity(identity::Event), + #[codec(index = 29)] + Proxy(proxy::Event), + #[codec(index = 30)] + Multisig(multisig::Event), + #[codec(index = 34)] + Bounties(bounties::Event), + #[codec(index = 38)] + ChildBounties(child_bounties::Event), + #[codec(index = 35)] + Tips(tips::Event), + #[codec(index = 36)] + ElectionProviderMultiPhase(election_provider_multi_phase::Event), + #[codec(index = 37)] + VoterList(voter_list::Event), + #[codec(index = 39)] + NominationPools(nomination_pools::Event), + #[codec(index = 40)] + FastUnstake(fast_unstake::Event), + #[codec(index = 53)] + ParaInclusion(para_inclusion::Event), + #[codec(index = 56)] + Paras(paras::Event), + #[codec(index = 59)] + Ump(ump::Event), + #[codec(index = 60)] + Hrmp(hrmp::Event), + #[codec(index = 62)] + ParasDisputes(paras_disputes::Event), + #[codec(index = 70)] + Registrar(registrar::Event), + #[codec(index = 71)] + Slots(slots::Event), + #[codec(index = 72)] + Auctions(auctions::Event), + #[codec(index = 73)] + Crowdloan(crowdloan::Event), + #[codec(index = 99)] + XcmPallet(xcm_pallet::Event), + } impl ::subxt::events::RootEvent for Event { fn root_event( pallet_bytes: &[u8], @@ -380,6 +469,312 @@ pub mod api { .into()) } } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Error { + #[codec(index = 0)] + System(system::Error), + #[codec(index = 1)] + Scheduler(scheduler::Error), + #[codec(index = 10)] + Preimage(preimage::Error), + #[codec(index = 2)] + Babe(babe::Error), + #[codec(index = 4)] + Indices(indices::Error), + #[codec(index = 5)] + Balances(balances::Error), + #[codec(index = 6)] + Authorship(authorship::Error), + #[codec(index = 7)] + Staking(staking::Error), + #[codec(index = 9)] + Session(session::Error), + #[codec(index = 11)] + Grandpa(grandpa::Error), + #[codec(index = 12)] + ImOnline(im_online::Error), + #[codec(index = 14)] + Democracy(democracy::Error), + #[codec(index = 15)] + Council(council::Error), + #[codec(index = 16)] + TechnicalCommittee(technical_committee::Error), + #[codec(index = 17)] + PhragmenElection(phragmen_election::Error), + #[codec(index = 18)] + TechnicalMembership(technical_membership::Error), + #[codec(index = 19)] + Treasury(treasury::Error), + #[codec(index = 24)] + Claims(claims::Error), + #[codec(index = 25)] + Vesting(vesting::Error), + #[codec(index = 26)] + Utility(utility::Error), + #[codec(index = 28)] + Identity(identity::Error), + #[codec(index = 29)] + Proxy(proxy::Error), + #[codec(index = 30)] + Multisig(multisig::Error), + #[codec(index = 34)] + Bounties(bounties::Error), + #[codec(index = 38)] + ChildBounties(child_bounties::Error), + #[codec(index = 35)] + Tips(tips::Error), + #[codec(index = 36)] + ElectionProviderMultiPhase(election_provider_multi_phase::Error), + #[codec(index = 37)] + VoterList(voter_list::Error), + #[codec(index = 39)] + NominationPools(nomination_pools::Error), + #[codec(index = 40)] + FastUnstake(fast_unstake::Error), + #[codec(index = 51)] + Configuration(configuration::Error), + #[codec(index = 53)] + ParaInclusion(para_inclusion::Error), + #[codec(index = 54)] + ParaInherent(para_inherent::Error), + #[codec(index = 56)] + Paras(paras::Error), + #[codec(index = 59)] + Ump(ump::Error), + #[codec(index = 60)] + Hrmp(hrmp::Error), + #[codec(index = 62)] + ParasDisputes(paras_disputes::Error), + #[codec(index = 70)] + Registrar(registrar::Error), + #[codec(index = 71)] + Slots(slots::Error), + #[codec(index = 72)] + Auctions(auctions::Error), + #[codec(index = 73)] + Crowdloan(crowdloan::Error), + #[codec(index = 99)] + XcmPallet(xcm_pallet::Error), + } + impl ::subxt::error::RootError for Error { + fn root_error( + pallet_bytes: &[u8], + pallet_name: &str, + metadata: &::subxt::Metadata, + ) -> Result { + use subxt::metadata::DecodeWithMetadata; + let cursor = &mut &pallet_bytes[..]; + if pallet_name == "System" { + let variant_error = system::Error::decode_with_metadata(cursor, 176u32, metadata)?; + return Ok(Error::System(variant_error)); + } + if pallet_name == "Scheduler" { + let variant_error = + scheduler::Error::decode_with_metadata(cursor, 450u32, metadata)?; + return Ok(Error::Scheduler(variant_error)); + } + if pallet_name == "Preimage" { + let variant_error = + preimage::Error::decode_with_metadata(cursor, 455u32, metadata)?; + return Ok(Error::Preimage(variant_error)); + } + if pallet_name == "Babe" { + let variant_error = babe::Error::decode_with_metadata(cursor, 467u32, metadata)?; + return Ok(Error::Babe(variant_error)); + } + if pallet_name == "Indices" { + let variant_error = indices::Error::decode_with_metadata(cursor, 469u32, metadata)?; + return Ok(Error::Indices(variant_error)); + } + if pallet_name == "Balances" { + let variant_error = + balances::Error::decode_with_metadata(cursor, 478u32, metadata)?; + return Ok(Error::Balances(variant_error)); + } + if pallet_name == "Authorship" { + let variant_error = + authorship::Error::decode_with_metadata(cursor, 484u32, metadata)?; + return Ok(Error::Authorship(variant_error)); + } + if pallet_name == "Staking" { + let variant_error = staking::Error::decode_with_metadata(cursor, 508u32, metadata)?; + return Ok(Error::Staking(variant_error)); + } + if pallet_name == "Session" { + let variant_error = session::Error::decode_with_metadata(cursor, 515u32, metadata)?; + return Ok(Error::Session(variant_error)); + } + if pallet_name == "Grandpa" { + let variant_error = grandpa::Error::decode_with_metadata(cursor, 519u32, metadata)?; + return Ok(Error::Grandpa(variant_error)); + } + if pallet_name == "ImOnline" { + let variant_error = + im_online::Error::decode_with_metadata(cursor, 527u32, metadata)?; + return Ok(Error::ImOnline(variant_error)); + } + if pallet_name == "Democracy" { + let variant_error = + democracy::Error::decode_with_metadata(cursor, 544u32, metadata)?; + return Ok(Error::Democracy(variant_error)); + } + if pallet_name == "Council" { + let variant_error = council::Error::decode_with_metadata(cursor, 547u32, metadata)?; + return Ok(Error::Council(variant_error)); + } + if pallet_name == "TechnicalCommittee" { + let variant_error = + technical_committee::Error::decode_with_metadata(cursor, 549u32, metadata)?; + return Ok(Error::TechnicalCommittee(variant_error)); + } + if pallet_name == "PhragmenElection" { + let variant_error = + phragmen_election::Error::decode_with_metadata(cursor, 553u32, metadata)?; + return Ok(Error::PhragmenElection(variant_error)); + } + if pallet_name == "TechnicalMembership" { + let variant_error = + technical_membership::Error::decode_with_metadata(cursor, 555u32, metadata)?; + return Ok(Error::TechnicalMembership(variant_error)); + } + if pallet_name == "Treasury" { + let variant_error = + treasury::Error::decode_with_metadata(cursor, 561u32, metadata)?; + return Ok(Error::Treasury(variant_error)); + } + if pallet_name == "Claims" { + let variant_error = claims::Error::decode_with_metadata(cursor, 562u32, metadata)?; + return Ok(Error::Claims(variant_error)); + } + if pallet_name == "Vesting" { + let variant_error = vesting::Error::decode_with_metadata(cursor, 566u32, metadata)?; + return Ok(Error::Vesting(variant_error)); + } + if pallet_name == "Utility" { + let variant_error = utility::Error::decode_with_metadata(cursor, 567u32, metadata)?; + return Ok(Error::Utility(variant_error)); + } + if pallet_name == "Identity" { + let variant_error = + identity::Error::decode_with_metadata(cursor, 578u32, metadata)?; + return Ok(Error::Identity(variant_error)); + } + if pallet_name == "Proxy" { + let variant_error = proxy::Error::decode_with_metadata(cursor, 587u32, metadata)?; + return Ok(Error::Proxy(variant_error)); + } + if pallet_name == "Multisig" { + let variant_error = + multisig::Error::decode_with_metadata(cursor, 591u32, metadata)?; + return Ok(Error::Multisig(variant_error)); + } + if pallet_name == "Bounties" { + let variant_error = + bounties::Error::decode_with_metadata(cursor, 595u32, metadata)?; + return Ok(Error::Bounties(variant_error)); + } + if pallet_name == "ChildBounties" { + let variant_error = + child_bounties::Error::decode_with_metadata(cursor, 598u32, metadata)?; + return Ok(Error::ChildBounties(variant_error)); + } + if pallet_name == "Tips" { + let variant_error = tips::Error::decode_with_metadata(cursor, 600u32, metadata)?; + return Ok(Error::Tips(variant_error)); + } + if pallet_name == "ElectionProviderMultiPhase" { + let variant_error = election_provider_multi_phase::Error::decode_with_metadata( + cursor, 612u32, metadata, + )?; + return Ok(Error::ElectionProviderMultiPhase(variant_error)); + } + if pallet_name == "VoterList" { + let variant_error = + voter_list::Error::decode_with_metadata(cursor, 616u32, metadata)?; + return Ok(Error::VoterList(variant_error)); + } + if pallet_name == "NominationPools" { + let variant_error = + nomination_pools::Error::decode_with_metadata(cursor, 633u32, metadata)?; + return Ok(Error::NominationPools(variant_error)); + } + if pallet_name == "FastUnstake" { + let variant_error = + fast_unstake::Error::decode_with_metadata(cursor, 638u32, metadata)?; + return Ok(Error::FastUnstake(variant_error)); + } + if pallet_name == "Configuration" { + let variant_error = + configuration::Error::decode_with_metadata(cursor, 642u32, metadata)?; + return Ok(Error::Configuration(variant_error)); + } + if pallet_name == "ParaInclusion" { + let variant_error = + para_inclusion::Error::decode_with_metadata(cursor, 647u32, metadata)?; + return Ok(Error::ParaInclusion(variant_error)); + } + if pallet_name == "ParaInherent" { + let variant_error = + para_inherent::Error::decode_with_metadata(cursor, 653u32, metadata)?; + return Ok(Error::ParaInherent(variant_error)); + } + if pallet_name == "Paras" { + let variant_error = paras::Error::decode_with_metadata(cursor, 680u32, metadata)?; + return Ok(Error::Paras(variant_error)); + } + if pallet_name == "Ump" { + let variant_error = ump::Error::decode_with_metadata(cursor, 686u32, metadata)?; + return Ok(Error::Ump(variant_error)); + } + if pallet_name == "Hrmp" { + let variant_error = hrmp::Error::decode_with_metadata(cursor, 695u32, metadata)?; + return Ok(Error::Hrmp(variant_error)); + } + if pallet_name == "ParasDisputes" { + let variant_error = + paras_disputes::Error::decode_with_metadata(cursor, 703u32, metadata)?; + return Ok(Error::ParasDisputes(variant_error)); + } + if pallet_name == "Registrar" { + let variant_error = + registrar::Error::decode_with_metadata(cursor, 705u32, metadata)?; + return Ok(Error::Registrar(variant_error)); + } + if pallet_name == "Slots" { + let variant_error = slots::Error::decode_with_metadata(cursor, 707u32, metadata)?; + return Ok(Error::Slots(variant_error)); + } + if pallet_name == "Auctions" { + let variant_error = + auctions::Error::decode_with_metadata(cursor, 712u32, metadata)?; + return Ok(Error::Auctions(variant_error)); + } + if pallet_name == "Crowdloan" { + let variant_error = + crowdloan::Error::decode_with_metadata(cursor, 715u32, metadata)?; + return Ok(Error::Crowdloan(variant_error)); + } + if pallet_name == "XcmPallet" { + let variant_error = + xcm_pallet::Error::decode_with_metadata(cursor, 727u32, metadata)?; + return Ok(Error::XcmPallet(variant_error)); + } + Err(::subxt::ext::scale_decode::Error::custom(format!( + "Pallet name '{}' not found in root Error enum", + pallet_name + )) + .into()) + } + } pub fn constants() -> ConstantsApi { ConstantsApi } @@ -802,6 +1197,8 @@ pub mod api { pub mod system { use super::root_mod; use super::runtime_types; + #[doc = "Error for the System pallet"] + pub type Error = runtime_types::frame_system::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -814,6 +1211,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct FillBlock { @@ -826,6 +1224,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Remark { @@ -839,6 +1238,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetHeapPages { @@ -851,6 +1251,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetCode { @@ -863,6 +1264,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetCodeWithoutChecks { @@ -875,6 +1277,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetStorage { @@ -890,6 +1293,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct KillStorage { @@ -902,6 +1306,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct KillPrefix { @@ -915,6 +1320,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RemarkWithEvent { @@ -1114,6 +1520,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An extrinsic completed successfully."] @@ -1131,6 +1538,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An extrinsic failed."] @@ -1149,6 +1557,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "`:code` was updated."] @@ -1164,6 +1573,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A new account was created."] @@ -1181,6 +1591,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An account was reaped."] @@ -1198,6 +1609,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "On on-chain remark happened."] @@ -1799,6 +2211,8 @@ pub mod api { pub mod scheduler { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_scheduler::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -1811,6 +2225,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Schedule { @@ -1827,6 +2242,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Cancel { @@ -1840,6 +2256,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ScheduleNamed { @@ -1857,6 +2274,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CancelNamed { @@ -1869,6 +2287,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ScheduleAfter { @@ -1885,6 +2304,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ScheduleNamedAfter { @@ -2065,6 +2485,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Scheduled some task."] @@ -2083,6 +2504,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Canceled some task."] @@ -2101,6 +2523,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Dispatched some task."] @@ -2120,6 +2543,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The call for the provided hash was not found so the task has been aborted."] @@ -2138,6 +2562,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The given task was unable to be renewed since the agenda is full at that block."] @@ -2156,6 +2581,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The given task can never be executed since it is overweight."] @@ -2358,6 +2784,8 @@ pub mod api { pub mod preimage { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_preimage::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -2370,6 +2798,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct NotePreimage { @@ -2382,6 +2811,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct UnnotePreimage { @@ -2394,6 +2824,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RequestPreimage { @@ -2406,6 +2837,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct UnrequestPreimage { @@ -2503,6 +2935,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A preimage has been noted."] @@ -2520,6 +2953,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A preimage has been requested."] @@ -2537,6 +2971,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A preimage has ben cleared."] @@ -2654,6 +3089,8 @@ pub mod api { pub mod babe { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_babe::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -2666,6 +3103,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ReportEquivocation { @@ -2687,6 +3125,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ReportEquivocationUnsigned { @@ -2708,6 +3147,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct PlanConfigChange { @@ -3291,6 +3731,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Set { @@ -3405,6 +3846,8 @@ pub mod api { pub mod indices { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_indices::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -3418,6 +3861,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Claim { @@ -3430,6 +3874,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Transfer { @@ -3444,6 +3889,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Free { @@ -3456,6 +3902,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceTransfer { @@ -3471,6 +3918,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Freeze { @@ -3660,6 +4108,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A account index was assigned."] @@ -3679,6 +4128,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A account index has been freed up (unassigned)."] @@ -3696,6 +4146,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A account index has been frozen to its current account ID."] @@ -3791,6 +4242,8 @@ pub mod api { pub mod balances { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_balances::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -3803,6 +4256,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Transfer { @@ -3817,6 +4271,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetBalance { @@ -3833,6 +4288,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceTransfer { @@ -3848,6 +4304,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct TransferKeepAlive { @@ -3862,6 +4319,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct TransferAll { @@ -3875,6 +4333,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceUnreserve { @@ -4073,6 +4532,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An account was created with some free balance."] @@ -4091,6 +4551,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An account was removed whose balance was non-zero but below ExistentialDeposit,"] @@ -4110,6 +4571,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Transfer succeeded."] @@ -4129,6 +4591,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A balance was set by root."] @@ -4148,6 +4611,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Some balance was reserved (moved from free to reserved)."] @@ -4166,6 +4630,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Some balance was unreserved (moved from reserved to free)."] @@ -4184,6 +4649,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Some balance was moved from the reserve of the first account to the second account."] @@ -4206,6 +4672,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Some amount was deposited (e.g. for transaction fees)."] @@ -4224,6 +4691,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Some amount was withdrawn from the account (e.g. for transaction fees)."] @@ -4242,6 +4710,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Some amount was removed from the account (e.g. for misbehavior)."] @@ -4564,6 +5033,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"] @@ -4670,6 +5140,8 @@ pub mod api { pub mod authorship { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_authorship::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -4682,6 +5154,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetUncles { @@ -4822,6 +5295,8 @@ pub mod api { pub mod staking { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_staking::pallet::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -4834,6 +5309,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Bond { @@ -4850,6 +5326,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct BondExtra { @@ -4863,6 +5340,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Unbond { @@ -4877,6 +5355,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct WithdrawUnbonded { @@ -4889,6 +5368,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Validate { @@ -4901,6 +5381,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Nominate { @@ -4914,6 +5395,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Chill; @@ -4924,6 +5406,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetPayee { @@ -4937,6 +5420,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetController { @@ -4949,6 +5433,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetValidatorCount { @@ -4962,6 +5447,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct IncreaseValidatorCount { @@ -4975,6 +5461,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ScaleValidatorCount { @@ -4987,6 +5474,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceNoEras; @@ -4997,6 +5485,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceNewEra; @@ -5007,6 +5496,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetInvulnerables { @@ -5019,6 +5509,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceUnstake { @@ -5032,6 +5523,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceNewEraAlways; @@ -5042,6 +5534,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CancelDeferredSlash { @@ -5055,6 +5548,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct PayoutStakers { @@ -5068,6 +5562,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Rebond { @@ -5081,6 +5576,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ReapStash { @@ -5094,6 +5590,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Kick { @@ -5107,6 +5604,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetStakingConfigs { @@ -5134,6 +5632,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ChillOther { @@ -5146,6 +5645,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceApplyMinCommission { @@ -5892,6 +6392,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The era payout has been set; the first balance is the validator-payout; the second is"] @@ -5912,6 +6413,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The nominator has been rewarded by this amount."] @@ -5930,6 +6432,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "One staker (and potentially its nominators) has been slashed by the given amount."] @@ -5949,6 +6452,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An old slashing report from a prior era was discarded because it could"] @@ -5967,6 +6471,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A new set of stakers was elected."] @@ -5982,6 +6487,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An account has bonded this amount. \\[stash, amount\\]"] @@ -6003,6 +6509,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An account has unbonded this amount."] @@ -6021,6 +6528,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An account has called `withdraw_unbonded` and removed unbonding chunks worth `Balance`"] @@ -6040,6 +6548,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A nominator has been kicked from a validator."] @@ -6058,6 +6567,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The election failed. No new era is planned."] @@ -6073,6 +6583,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An account has stopped participating as either a validator or nominator."] @@ -6090,6 +6601,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The stakers' rewards are getting paid."] @@ -6108,6 +6620,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A validator has set their preferences."] @@ -7651,6 +8164,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "There is an offence reported of the given `kind` happened at the `session_index` and"] @@ -7846,6 +8360,8 @@ pub mod api { pub mod session { use super::root_mod; use super::runtime_types; + #[doc = "Error for the session pallet."] + pub type Error = runtime_types::pallet_session::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -7858,6 +8374,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetKeys { @@ -7871,6 +8388,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct PurgeKeys; @@ -7948,6 +8466,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "New session has happened. Note that the argument is the session index, not the"] @@ -8182,6 +8701,8 @@ pub mod api { pub mod grandpa { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_grandpa::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -8194,6 +8715,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ReportEquivocation { @@ -8212,6 +8734,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ReportEquivocationUnsigned { @@ -8230,6 +8753,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct NoteStalled { @@ -8341,6 +8865,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "New authority set has been applied."] @@ -8361,6 +8886,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Current authority set has been paused."] @@ -8376,6 +8902,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Current authority set has been resumed."] @@ -8578,6 +9105,8 @@ pub mod api { pub mod im_online { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_im_online::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -8590,6 +9119,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Heartbeat { @@ -8640,6 +9170,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A new heartbeat was received from `AuthorityId`."] @@ -8657,6 +9188,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "At the end of the session, no offence was committed."] @@ -8672,6 +9204,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "At the end of the session, at least one validator was found to be offline."] @@ -8889,6 +9422,8 @@ pub mod api { pub mod democracy { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_democracy::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -8901,6 +9436,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Propose { @@ -8917,6 +9453,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Second { @@ -8930,6 +9467,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Vote { @@ -8946,6 +9484,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct EmergencyCancel { @@ -8958,6 +9497,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ExternalPropose { @@ -8972,6 +9512,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ExternalProposeMajority { @@ -8986,6 +9527,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ExternalProposeDefault { @@ -9000,6 +9542,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct FastTrack { @@ -9014,6 +9557,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct VetoExternal { @@ -9026,6 +9570,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CancelReferendum { @@ -9039,6 +9584,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Delegate { @@ -9053,6 +9599,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Undelegate; @@ -9063,6 +9610,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ClearPublicProposals; @@ -9073,6 +9621,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Unlock { @@ -9086,6 +9635,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RemoveVote { @@ -9098,6 +9648,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RemoveOtherVote { @@ -9111,6 +9662,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Blacklist { @@ -9124,6 +9676,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CancelProposal { @@ -9646,6 +10199,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A motion has been proposed by a public account."] @@ -9664,6 +10218,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A public proposal has been tabled for referendum vote."] @@ -9682,6 +10237,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An external proposal has been tabled."] @@ -9697,6 +10253,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A referendum has begun."] @@ -9716,6 +10273,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A proposal has been approved by referendum."] @@ -9734,6 +10292,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A proposal has been rejected by referendum."] @@ -9752,6 +10311,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A referendum has been cancelled."] @@ -9769,6 +10329,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An account has delegated their vote to another account."] @@ -9787,6 +10348,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An account has cancelled a previous delegation operation."] @@ -9804,6 +10366,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An external proposal has been vetoed."] @@ -9823,6 +10386,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A proposal_hash has been blacklisted permanently."] @@ -9840,6 +10404,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An account has voted in a referendum"] @@ -9860,6 +10425,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An account has secconded a proposal"] @@ -9879,6 +10445,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A proposal got canceled."] @@ -10519,6 +11086,8 @@ pub mod api { pub mod council { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_collective::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -10531,6 +11100,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetMembers { @@ -10545,6 +11115,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Execute { @@ -10559,6 +11130,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Propose { @@ -10575,6 +11147,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Vote { @@ -10590,6 +11163,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CloseOldWeight { @@ -10608,6 +11182,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct DisapproveProposal { @@ -10620,6 +11195,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Close { @@ -10954,6 +11530,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A motion (given hash) has been proposed (by given account) with a threshold (given"] @@ -10975,6 +11552,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A motion (given hash) has been voted on by given account, leaving"] @@ -10997,6 +11575,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A motion was approved by the required threshold."] @@ -11014,6 +11593,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A motion was not approved by the required threshold."] @@ -11031,6 +11611,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A motion was executed; result will be `Ok` if it returned without error."] @@ -11049,6 +11630,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A single member did some action; result will be `Ok` if it returned without error."] @@ -11067,6 +11649,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A proposal was closed because its threshold was reached or after its duration was up."] @@ -11278,6 +11861,8 @@ pub mod api { pub mod technical_committee { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_collective::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -11290,6 +11875,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetMembers { @@ -11304,6 +11890,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Execute { @@ -11318,6 +11905,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Propose { @@ -11334,6 +11922,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Vote { @@ -11349,6 +11938,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CloseOldWeight { @@ -11367,6 +11957,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct DisapproveProposal { @@ -11379,6 +11970,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Close { @@ -11713,6 +12305,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A motion (given hash) has been proposed (by given account) with a threshold (given"] @@ -11734,6 +12327,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A motion (given hash) has been voted on by given account, leaving"] @@ -11756,6 +12350,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A motion was approved by the required threshold."] @@ -11773,6 +12368,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A motion was not approved by the required threshold."] @@ -11790,6 +12386,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A motion was executed; result will be `Ok` if it returned without error."] @@ -11808,6 +12405,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A single member did some action; result will be `Ok` if it returned without error."] @@ -11826,6 +12424,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A proposal was closed because its threshold was reached or after its duration was up."] @@ -12037,6 +12636,8 @@ pub mod api { pub mod phragmen_election { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_elections_phragmen::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -12049,6 +12650,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Vote { @@ -12063,6 +12665,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RemoveVoter; @@ -12073,6 +12676,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SubmitCandidacy { @@ -12086,6 +12690,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RenounceCandidacy { @@ -12098,6 +12703,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RemoveMember { @@ -12112,6 +12718,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CleanDefunctVoters { @@ -12322,6 +12929,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A new term with new_members. This indicates that enough candidates existed to run"] @@ -12344,6 +12952,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "No (or not enough) candidates existed for this round. This is different from"] @@ -12360,6 +12969,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Internal error happened while trying to perform election."] @@ -12375,6 +12985,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A member has been removed. This should always be followed by either `NewTerm` or"] @@ -12393,6 +13004,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Someone has renounced their candidacy."] @@ -12410,6 +13022,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A candidate was slashed by amount due to failing to obtain a seat as member or"] @@ -12431,6 +13044,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A seat holder was slashed by amount by being forcefully removed from the set."] @@ -12762,6 +13376,8 @@ pub mod api { pub mod technical_membership { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_membership::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -12774,6 +13390,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct AddMember { @@ -12786,6 +13403,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RemoveMember { @@ -12798,6 +13416,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SwapMember { @@ -12811,6 +13430,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ResetMembers { @@ -12823,6 +13443,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ChangeKey { @@ -12835,6 +13456,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetPrime { @@ -12847,6 +13469,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ClearPrime; @@ -12997,6 +13620,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The given member was added; see the transaction for who."] @@ -13012,6 +13636,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The given member was removed; see the transaction for who."] @@ -13027,6 +13652,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Two members were swapped; see the transaction for who."] @@ -13042,6 +13668,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The membership was reset; see the transaction for who the new set is."] @@ -13057,6 +13684,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "One of the members' keys changed."] @@ -13072,6 +13700,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Phantom member, never used."] @@ -13136,6 +13765,8 @@ pub mod api { pub mod treasury { use super::root_mod; use super::runtime_types; + #[doc = "Error for the treasury pallet."] + pub type Error = runtime_types::pallet_treasury::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -13148,6 +13779,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ProposeSpend { @@ -13162,6 +13794,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RejectProposal { @@ -13175,6 +13808,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ApproveProposal { @@ -13188,6 +13822,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Spend { @@ -13202,6 +13837,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RemoveApproval { @@ -13356,6 +13992,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "New proposal."] @@ -13374,6 +14011,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "We have ended a spend period and will now allocate funds."] @@ -13391,6 +14029,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Some funds have been allocated."] @@ -13410,6 +14049,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A proposal was rejected; funds were slashed."] @@ -13429,6 +14069,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Some of our funds have been burnt."] @@ -13447,6 +14088,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Spending has finished; this is the amount that rolls over until next spend."] @@ -13465,6 +14107,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Some funds have been deposited."] @@ -13482,6 +14125,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A new spend proposal has been approved."] @@ -13712,6 +14356,8 @@ pub mod api { pub mod claims { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::polkadot_runtime_common::claims::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -13724,6 +14370,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Claim { @@ -13738,6 +14385,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct MintClaim { @@ -13759,6 +14407,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ClaimAttest { @@ -13774,6 +14423,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Attest { @@ -13786,6 +14436,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct MoveClaim { @@ -13997,6 +14648,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Someone claimed some DOTs."] @@ -14263,6 +14915,8 @@ pub mod api { pub mod vesting { use super::root_mod; use super::runtime_types; + #[doc = "Error for the vesting pallet."] + pub type Error = runtime_types::pallet_vesting::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -14275,6 +14929,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Vest; @@ -14285,6 +14940,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct VestOther { @@ -14297,6 +14953,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct VestedTransfer { @@ -14313,6 +14970,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceVestedTransfer { @@ -14330,6 +14988,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct MergeSchedules { @@ -14526,6 +15185,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The amount vested has been updated. This could indicate a change in funds available."] @@ -14545,6 +15205,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An \\[account\\] has become fully vested."] @@ -14678,6 +15339,8 @@ pub mod api { pub mod utility { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_utility::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -14690,6 +15353,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Batch { @@ -14702,6 +15366,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct AsDerivative { @@ -14715,6 +15380,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct BatchAll { @@ -14727,6 +15393,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct DispatchAs { @@ -14740,6 +15407,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceBatch { @@ -14918,6 +15586,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"] @@ -14937,6 +15606,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Batch of dispatches completed fully with no error."] @@ -14952,6 +15622,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Batch of dispatches completed but has errors."] @@ -14967,6 +15638,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A single item within a Batch of dispatches has completed with no error."] @@ -14982,6 +15654,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A single item within a Batch of dispatches has completed with error."] @@ -14999,6 +15672,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A call was dispatched."] @@ -15035,6 +15709,8 @@ pub mod api { pub mod identity { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_identity::pallet::Error; #[doc = "Identity pallet declaration."] pub mod calls { use super::root_mod; @@ -15047,6 +15723,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct AddRegistrar { @@ -15059,6 +15736,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetIdentity { @@ -15071,6 +15749,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetSubs { @@ -15086,6 +15765,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ClearIdentity; @@ -15096,6 +15776,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RequestJudgement { @@ -15112,6 +15793,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CancelRequest { @@ -15124,6 +15806,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetFee { @@ -15139,6 +15822,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetAccountId { @@ -15153,6 +15837,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetFields { @@ -15169,6 +15854,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ProvideJudgement { @@ -15186,6 +15872,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct KillIdentity { @@ -15198,6 +15885,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct AddSub { @@ -15211,6 +15899,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RenameSub { @@ -15224,6 +15913,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RemoveSub { @@ -15236,6 +15926,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct QuitSub; @@ -15719,6 +16410,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A name was set or reset (which will remove all judgements)."] @@ -15736,6 +16428,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A name was cleared, and the given balance returned."] @@ -15754,6 +16447,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A name was removed and the given balance slashed."] @@ -15772,6 +16466,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A judgement was asked from a registrar."] @@ -15790,6 +16485,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A judgement request was retracted."] @@ -15808,6 +16504,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A judgement was given by a registrar."] @@ -15827,6 +16524,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A registrar was added."] @@ -15844,6 +16542,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A sub-identity was added to an identity and the deposit paid."] @@ -15863,6 +16562,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A sub-identity was removed from an identity and the deposit freed."] @@ -15882,6 +16582,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A sub-identity was cleared, and the given deposit repatriated from the"] @@ -16203,6 +16904,8 @@ pub mod api { pub mod proxy { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_proxy::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -16215,6 +16918,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Proxy { @@ -16230,6 +16934,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct AddProxy { @@ -16244,6 +16949,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RemoveProxy { @@ -16258,6 +16964,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RemoveProxies; @@ -16268,6 +16975,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CreatePure { @@ -16282,6 +16990,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct KillPure { @@ -16300,6 +17009,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Announce { @@ -16313,6 +17023,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RemoveAnnouncement { @@ -16326,6 +17037,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RejectAnnouncement { @@ -16339,6 +17051,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ProxyAnnounced { @@ -16682,6 +17395,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A proxy was executed correctly, with the given."] @@ -16699,6 +17413,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A pure account has been created by new proxy with given"] @@ -16720,6 +17435,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An announcement was placed to make a call in the future."] @@ -16739,6 +17455,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A proxy was added."] @@ -16759,6 +17476,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A proxy was removed."] @@ -17014,6 +17732,8 @@ pub mod api { pub mod multisig { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_multisig::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -17026,6 +17746,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct AsMultiThreshold1 { @@ -17039,6 +17760,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct AsMulti { @@ -17057,6 +17779,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ApproveAsMulti { @@ -17075,6 +17798,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CancelAsMulti { @@ -17318,6 +18042,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A new multisig operation has begun."] @@ -17337,6 +18062,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A multisig operation has been approved by someone."] @@ -17357,6 +18083,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A multisig operation has been executed."] @@ -17378,6 +18105,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A multisig operation has been cancelled."] @@ -17511,6 +18239,8 @@ pub mod api { pub mod bounties { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_bounties::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -17523,6 +18253,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ProposeBounty { @@ -17537,6 +18268,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ApproveBounty { @@ -17550,6 +18282,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ProposeCurator { @@ -17566,6 +18299,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct UnassignCurator { @@ -17579,6 +18313,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct AcceptCurator { @@ -17592,6 +18327,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct AwardBounty { @@ -17606,6 +18342,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ClaimBounty { @@ -17619,6 +18356,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CloseBounty { @@ -17632,6 +18370,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ExtendBountyExpiry { @@ -17900,6 +18639,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "New bounty proposal."] @@ -17917,6 +18657,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A bounty proposal was rejected; funds were slashed."] @@ -17936,6 +18677,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A bounty proposal is funded and became active."] @@ -17953,6 +18695,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A bounty is awarded to a beneficiary."] @@ -17971,6 +18714,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A bounty is claimed by beneficiary."] @@ -17991,6 +18735,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A bounty is cancelled."] @@ -18009,6 +18754,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A bounty expiry is extended."] @@ -18319,6 +19065,8 @@ pub mod api { pub mod child_bounties { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_child_bounties::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -18331,6 +19079,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct AddChildBounty { @@ -18347,6 +19096,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ProposeCurator { @@ -18365,6 +19115,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct AcceptCurator { @@ -18380,6 +19131,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct UnassignCurator { @@ -18395,6 +19147,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct AwardChildBounty { @@ -18411,6 +19164,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ClaimChildBounty { @@ -18426,6 +19180,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CloseChildBounty { @@ -18736,6 +19491,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A child-bounty is added."] @@ -18754,6 +19510,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A child-bounty is awarded to a beneficiary."] @@ -18773,6 +19530,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A child-bounty is claimed by beneficiary."] @@ -18793,6 +19551,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A child-bounty is cancelled."] @@ -19069,6 +19828,8 @@ pub mod api { pub mod tips { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_tips::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -19081,6 +19842,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ReportAwesome { @@ -19094,6 +19856,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RetractTip { @@ -19106,6 +19869,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct TipNew { @@ -19121,6 +19885,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Tip { @@ -19135,6 +19900,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CloseTip { @@ -19147,6 +19913,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SlashTip { @@ -19379,6 +20146,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A new tip suggestion has been opened."] @@ -19396,6 +20164,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A tip suggestion has reached threshold and is closing."] @@ -19413,6 +20182,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A tip suggestion has been closed."] @@ -19432,6 +20202,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A tip suggestion has been retracted."] @@ -19449,6 +20220,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A tip suggestion has been slashed."] @@ -19658,6 +20430,8 @@ pub mod api { pub mod election_provider_multi_phase { use super::root_mod; use super::runtime_types; + #[doc = "Error of the pallet that can be returned in response to dispatches."] + pub type Error = runtime_types::pallet_election_provider_multi_phase::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -19670,6 +20444,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SubmitUnsigned { @@ -19688,6 +20463,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetMinimumUntrustedScore { @@ -19701,6 +20477,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetEmergencyElectionResult { @@ -19716,6 +20493,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Submit { @@ -19732,6 +20510,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct GovernanceFallback { @@ -19888,6 +20667,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A solution was stored with the given compute."] @@ -19911,6 +20691,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The election has been finalized, with the given computation and score."] @@ -19929,6 +20710,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An election failed."] @@ -19946,6 +20728,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An account has been rewarded for their signed submission being finalized."] @@ -19964,6 +20747,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An account has been slashed for submitting an invalid signed submission."] @@ -19983,6 +20767,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The signed phase of the given round has started."] @@ -20001,6 +20786,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The unsigned phase of the given round has started."] @@ -20615,6 +21401,8 @@ pub mod api { pub mod voter_list { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_bags_list::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -20627,6 +21415,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Rebag { @@ -20639,6 +21428,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct PutInFrontOf { @@ -20709,6 +21499,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Moved an account from one bag to another."] @@ -20728,6 +21519,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Updated the score of some account to the given amount."] @@ -20932,6 +21724,8 @@ pub mod api { pub mod nomination_pools { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_nomination_pools::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -20944,6 +21738,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Join { @@ -20958,6 +21753,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct BondExtra { @@ -20971,6 +21767,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ClaimPayout; @@ -20981,6 +21778,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Unbond { @@ -20995,6 +21793,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct PoolWithdrawUnbonded { @@ -21008,6 +21807,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct WithdrawUnbonded { @@ -21021,6 +21821,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Create { @@ -21037,6 +21838,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CreateWithPoolId { @@ -21054,6 +21856,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Nominate { @@ -21067,6 +21870,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetState { @@ -21080,6 +21884,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetMetadata { @@ -21093,6 +21898,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetConfigs { @@ -21114,6 +21920,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct UpdateRoles { @@ -21133,6 +21940,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Chill { @@ -21581,6 +22389,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A pool has been created."] @@ -21599,6 +22408,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A member has became bonded in a pool."] @@ -21619,6 +22429,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A payout has been made to a member."] @@ -21638,6 +22449,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A member has unbonded from their pool."] @@ -21669,6 +22481,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A member has withdrawn from their pool."] @@ -21695,6 +22508,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A pool has been destroyed."] @@ -21712,6 +22526,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The state of a pool has changed"] @@ -21730,6 +22545,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A member has been removed from a pool."] @@ -21750,6 +22566,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The roles of a pool have been updated to the given new roles. Note that the depositor"] @@ -21770,6 +22587,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The active balance of pool `pool_id` has been slashed to `balance`."] @@ -21788,6 +22606,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The unbond pool at `era` of pool `pool_id` has been slashed to `balance`."] @@ -22412,6 +23231,8 @@ pub mod api { pub mod fast_unstake { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_fast_unstake::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -22424,6 +23245,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RegisterFastUnstake; @@ -22434,6 +23256,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Deregister; @@ -22445,6 +23268,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Control { @@ -22536,6 +23360,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A staker was unstaked."] @@ -22554,6 +23379,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A staker was slashed for requesting fast-unstake whilst being exposed."] @@ -22572,6 +23398,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Some internal error happened while migrating stash. They are removed as head as a"] @@ -22590,6 +23417,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An internal error happened. Operations will be paused now."] @@ -22605,6 +23433,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A batch was partially checked for the given eras, but the process did not finish."] @@ -22622,6 +23451,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A batch was terminated."] @@ -22765,6 +23595,8 @@ pub mod api { pub mod configuration { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::polkadot_runtime_parachains::configuration::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -22778,6 +23610,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetValidationUpgradeCooldown { @@ -22791,6 +23624,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetValidationUpgradeDelay { @@ -22804,6 +23638,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetCodeRetentionPeriod { @@ -22817,6 +23652,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetMaxCodeSize { @@ -22830,6 +23666,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetMaxPovSize { @@ -22843,6 +23680,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetMaxHeadDataSize { @@ -22856,6 +23694,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetParathreadCores { @@ -22869,6 +23708,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetParathreadRetries { @@ -22882,6 +23722,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetGroupRotationFrequency { @@ -22895,6 +23736,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetChainAvailabilityPeriod { @@ -22908,6 +23750,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetThreadAvailabilityPeriod { @@ -22921,6 +23764,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetSchedulingLookahead { @@ -22933,6 +23777,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetMaxValidatorsPerCore { @@ -22945,6 +23790,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetMaxValidators { @@ -22958,6 +23804,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetDisputePeriod { @@ -22971,6 +23818,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetDisputePostConclusionAcceptancePeriod { @@ -22984,6 +23832,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetDisputeMaxSpamSlots { @@ -22997,6 +23846,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetDisputeConclusionByTimeOutPeriod { @@ -23010,6 +23860,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetNoShowSlots { @@ -23023,6 +23874,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetNDelayTranches { @@ -23036,6 +23888,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetZerothDelayTrancheWidth { @@ -23049,6 +23902,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetNeededApprovals { @@ -23062,6 +23916,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetRelayVrfModuloSamples { @@ -23075,6 +23930,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetMaxUpwardQueueCount { @@ -23088,6 +23944,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetMaxUpwardQueueSize { @@ -23101,6 +23958,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetMaxDownwardMessageSize { @@ -23113,6 +23971,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetUmpServiceTotalWeight { @@ -23126,6 +23985,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetMaxUpwardMessageSize { @@ -23139,6 +23999,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetMaxUpwardMessageNumPerCandidate { @@ -23152,6 +24013,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetHrmpOpenRequestTtl { @@ -23165,6 +24027,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetHrmpSenderDeposit { @@ -23178,6 +24041,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetHrmpRecipientDeposit { @@ -23191,6 +24055,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetHrmpChannelMaxCapacity { @@ -23204,6 +24069,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetHrmpChannelMaxTotalSize { @@ -23217,6 +24083,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetHrmpMaxParachainInboundChannels { @@ -23230,6 +24097,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetHrmpMaxParathreadInboundChannels { @@ -23243,6 +24111,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetHrmpChannelMaxMessageSize { @@ -23256,6 +24125,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetHrmpMaxParachainOutboundChannels { @@ -23269,6 +24139,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetHrmpMaxParathreadOutboundChannels { @@ -23282,6 +24153,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetHrmpMaxMessageNumPerCandidate { @@ -23294,6 +24166,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetUmpMaxIndividualWeight { @@ -23306,6 +24179,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetPvfCheckingEnabled { @@ -23319,6 +24193,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetPvfVotingTtl { @@ -23332,6 +24207,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetMinimumValidationUpgradeDelay { @@ -23344,6 +24220,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetBypassConsistencyCheck { @@ -24258,6 +25135,8 @@ pub mod api { pub mod para_inclusion { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::polkadot_runtime_parachains::inclusion::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -24277,6 +25156,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A candidate was backed. `[candidate, head_data]`"] @@ -24297,6 +25177,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A candidate was included. `[candidate, head_data]`"] @@ -24317,6 +25198,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A candidate timed out. `[candidate, head_data]`"] @@ -24445,6 +25327,8 @@ pub mod api { pub mod para_inherent { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::polkadot_runtime_parachains::paras_inherent::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -24457,6 +25341,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Enter { @@ -24727,6 +25612,8 @@ pub mod api { pub mod paras { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::polkadot_runtime_parachains::paras::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -24739,6 +25626,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceSetCurrentCode { @@ -24752,6 +25640,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceSetCurrentHead { @@ -24765,6 +25654,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceScheduleCodeUpgrade { @@ -24779,6 +25669,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceNoteNewHead { @@ -24792,6 +25683,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceQueueAction { @@ -24804,6 +25696,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct AddTrustedValidationCode { @@ -24816,6 +25709,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct PokeUnusedValidationCode { @@ -24829,6 +25723,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct IncludePvfCheckStatement { @@ -25011,6 +25906,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Current code has been updated for a Para. `para_id`"] @@ -25026,6 +25922,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Current head has been updated for a Para. `para_id`"] @@ -25041,6 +25938,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A code upgrade has been scheduled for a Para. `para_id`"] @@ -25056,6 +25954,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A new head has been noted for a Para. `para_id`"] @@ -25071,6 +25970,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A para has been queued to execute pending actions. `para_id`"] @@ -25089,6 +25989,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The given para either initiated or subscribed to a PVF check for the given validation"] @@ -25108,6 +26009,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The given validation code was accepted by the PVF pre-checking vote."] @@ -25127,6 +26029,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The given validation code was rejected by the PVF pre-checking vote."] @@ -26049,6 +26952,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceApprove { @@ -26264,6 +27168,8 @@ pub mod api { pub mod ump { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::polkadot_runtime_parachains::ump::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -26276,6 +27182,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ServiceOverweight { @@ -26329,6 +27236,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Upward message is invalid XCM."] @@ -26345,6 +27253,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Upward message is unsupported version of XCM."] @@ -26361,6 +27270,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Upward message executed with the given outcome."] @@ -26380,6 +27290,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The weight limit for handling upward messages was reached."] @@ -26400,6 +27311,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Some upward messages have been received and will be processed."] @@ -26420,6 +27332,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The weight budget was exceeded for an individual upward message."] @@ -26445,6 +27358,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Upward message from the overweight queue was executed with the given actual weight"] @@ -26719,6 +27633,8 @@ pub mod api { pub mod hrmp { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::polkadot_runtime_parachains::hrmp::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -26731,6 +27647,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct HrmpInitOpenChannel { @@ -26745,6 +27662,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct HrmpAcceptOpenChannel { @@ -26757,6 +27675,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct HrmpCloseChannel { @@ -26769,6 +27688,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceCleanHrmp { @@ -26784,6 +27704,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceProcessHrmpOpen { @@ -26797,6 +27718,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceProcessHrmpClose { @@ -26809,6 +27731,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct HrmpCancelOpenRequest { @@ -26822,6 +27745,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceOpenHrmpChannel { @@ -27044,6 +27968,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Open HRMP channel requested."] @@ -27065,6 +27990,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An HRMP channel request sent by the receiver was canceled by either party."] @@ -27084,6 +28010,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Open HRMP channel accepted. `[sender, recipient]`"] @@ -27102,6 +28029,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "HRMP channel closed. `[by_parachain, channel_id]`"] @@ -27120,6 +28048,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An HRMP channel was opened via Root origin."] @@ -27890,6 +28819,8 @@ pub mod api { pub mod paras_disputes { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::polkadot_runtime_parachains::disputes::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -27902,6 +28833,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceUnfreeze; @@ -27933,6 +28865,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A dispute has been initiated. \\[candidate hash, dispute location\\]"] @@ -27951,6 +28884,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A dispute has concluded for or against a candidate."] @@ -27970,6 +28904,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A dispute has timed out due to insufficient participation."] @@ -27987,6 +28922,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A dispute has concluded with supermajority against a candidate."] @@ -28215,6 +29151,8 @@ pub mod api { pub mod registrar { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::polkadot_runtime_common::paras_registrar::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -28227,6 +29165,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Register { @@ -28241,6 +29180,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceRegister { @@ -28257,6 +29197,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Deregister { @@ -28269,6 +29210,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Swap { @@ -28282,6 +29224,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RemoveLock { @@ -28294,6 +29237,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Reserve; @@ -28304,6 +29248,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct AddLock { @@ -28316,6 +29261,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ScheduleCodeUpgrade { @@ -28329,6 +29275,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SetCurrentHead { @@ -28565,6 +29512,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Registered { @@ -28582,6 +29530,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Deregistered { @@ -28598,6 +29547,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Reserved { @@ -28777,6 +29727,8 @@ pub mod api { pub mod slots { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::polkadot_runtime_common::slots::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -28789,6 +29741,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceLease { @@ -28805,6 +29758,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ClearAllLeases { @@ -28817,6 +29771,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct TriggerOnboard { @@ -28907,6 +29862,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A new `[lease_period]` is beginning."] @@ -28924,6 +29880,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A para has won the right to a continuous set of lease periods as a parachain."] @@ -29069,6 +30026,8 @@ pub mod api { pub mod auctions { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::polkadot_runtime_common::auctions::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -29081,6 +30040,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct NewAuction { @@ -29096,6 +30056,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Bid { @@ -29117,6 +30078,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CancelAuction; @@ -29217,6 +30179,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An auction started. Provides its index and the block number where it will begin to"] @@ -29238,6 +30201,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An auction ended. All funds become unreserved."] @@ -29255,6 +30219,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Funds were reserved for a winning bid. First balance is the extra amount reserved."] @@ -29275,6 +30240,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Funds were unreserved since bidder is no longer active. `[bidder, amount]`"] @@ -29293,6 +30259,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Someone attempted to lease the same slot twice for a parachain. The amount is held in reserve"] @@ -29313,6 +30280,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A new bid has been accepted as the current winner."] @@ -29334,6 +30302,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The winning offset was chosen for an auction. This will map into the `Winning` storage map."] @@ -29572,6 +30541,8 @@ pub mod api { pub mod crowdloan { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::polkadot_runtime_common::crowdloan::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -29584,6 +30555,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Create { @@ -29606,6 +30578,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Contribute { @@ -29622,6 +30595,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Withdraw { @@ -29636,6 +30610,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Refund { @@ -29649,6 +30624,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Dissolve { @@ -29662,6 +30638,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Edit { @@ -29684,6 +30661,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct AddMemo { @@ -29697,6 +30675,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Poke { @@ -29709,6 +30688,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ContributeAll { @@ -29944,6 +30924,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Create a new crowdloaning campaign."] @@ -29961,6 +30942,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contributed to a crowd sale."] @@ -29980,6 +30962,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Withdrew full balance of a contributor."] @@ -29999,6 +30982,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The loans in a fund have been partially dissolved, i.e. there are some left"] @@ -30017,6 +31001,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "All loans in a fund have been refunded."] @@ -30034,6 +31019,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Fund is dissolved."] @@ -30051,6 +31037,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The result of trying to submit a new bid to the Slots pallet."] @@ -30069,6 +31056,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The configuration to a crowdloan has been edited."] @@ -30086,6 +31074,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A memo has been updated."] @@ -30105,6 +31094,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A parachain has been moved to `NewRaise`"] @@ -30297,6 +31287,8 @@ pub mod api { pub mod xcm_pallet { use super::root_mod; use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_xcm::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub mod calls { use super::root_mod; @@ -30309,6 +31301,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Send { @@ -30322,6 +31315,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct TeleportAssets { @@ -30337,6 +31331,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ReserveTransferAssets { @@ -30352,6 +31347,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Execute { @@ -30365,6 +31361,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceXcmVersion { @@ -30379,6 +31376,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceDefaultXcmVersion { @@ -30391,6 +31389,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceSubscribeVersionNotify { @@ -30403,6 +31402,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceUnsubscribeVersionNotify { @@ -30415,6 +31415,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct LimitedReserveTransferAssets { @@ -30431,6 +31432,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct LimitedTeleportAssets { @@ -30758,6 +31760,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Execution of an XCM message was attempted."] @@ -30775,6 +31778,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A XCM message was sent."] @@ -30796,6 +31800,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Query response received which does not match a registered query. This may be because a"] @@ -30818,6 +31823,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Query response has been received and is ready for taking with `take_response`. There is"] @@ -30839,6 +31845,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Query response has been received and query is removed. The registered notification has"] @@ -30861,6 +31868,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Query response has been received and query is removed. The registered notification could"] @@ -30886,6 +31894,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Query response has been received and query is removed. There was a general error with"] @@ -30908,6 +31917,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Query response has been received and query is removed. The dispatch was unable to be"] @@ -30931,6 +31941,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Expected query response has been received but the origin location of the response does"] @@ -30954,6 +31965,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Expected query response has been received but the expected origin location placed in"] @@ -30981,6 +31993,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Received query response has been read and removed."] @@ -30998,6 +32011,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Some assets have been placed in an asset trap."] @@ -31019,6 +32033,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An XCM version change notification message has been attempted to be sent."] @@ -31039,6 +32054,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The supported version of a location has been changed. This might be through an"] @@ -31060,6 +32076,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A given location which had a version change subscription was dropped owing to an error"] @@ -31082,6 +32099,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A given location which had a version change subscription was dropped owing to an error"] @@ -31103,6 +32121,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Some assets have been claimed from an asset trap"] @@ -31480,6 +32499,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Equivocation<_0, _1, _2> { @@ -31495,6 +32515,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Precommit<_0, _1> { @@ -31508,6 +32529,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Prevote<_0, _1> { @@ -31526,6 +32548,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum DispatchClass { @@ -31543,6 +32566,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct DispatchInfo { @@ -31557,6 +32581,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Pays { @@ -31572,6 +32597,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct PerDispatchClass<_0> { @@ -31586,6 +32612,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum RawOrigin<_0> { @@ -31608,6 +32635,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct WrapperOpaque<_0>( @@ -31624,6 +32652,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Bounded<_0> { @@ -31656,6 +32685,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum BalanceStatus { @@ -31674,6 +32704,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct PalletId(pub [::core::primitive::u8; 8usize]); @@ -31691,6 +32722,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CheckGenesis; @@ -31704,6 +32736,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CheckMortality(pub runtime_types::sp_runtime::generic::era::Era); @@ -31717,6 +32750,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CheckNonZeroSender; @@ -31730,6 +32764,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CheckNonce(#[codec(compact)] pub ::core::primitive::u32); @@ -31743,6 +32778,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CheckSpecVersion; @@ -31756,6 +32792,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CheckTxVersion; @@ -31769,6 +32806,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CheckWeight; @@ -31783,6 +32821,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct BlockLength { @@ -31797,6 +32836,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct BlockWeights { @@ -31813,6 +32853,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct WeightsPerClass { @@ -31834,6 +32875,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -31919,6 +32961,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Error for the System pallet"] @@ -31953,6 +32996,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Event for the System pallet."] @@ -31996,6 +33040,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct AccountInfo<_0, _1> { @@ -32012,6 +33057,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct EventRecord<_0, _1> { @@ -32026,6 +33072,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct LastRuntimeUpgradeInfo { @@ -32040,6 +33087,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Phase { @@ -32062,6 +33110,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -32084,6 +33133,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -32118,6 +33168,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum UncleEntryItem<_0, _1, _2> { @@ -32138,6 +33189,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -32196,6 +33248,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -32226,6 +33279,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Bag { @@ -32239,6 +33293,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum ListError { @@ -32258,6 +33313,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Node { @@ -32277,6 +33333,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -32315,6 +33372,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -32330,6 +33388,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -32361,6 +33420,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -32475,6 +33535,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -32511,6 +33572,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -32591,6 +33653,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct AccountData<_0> { @@ -32606,6 +33669,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct BalanceLock<_0> { @@ -32620,6 +33684,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Reasons { @@ -32637,6 +33702,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Releases { @@ -32652,6 +33718,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ReserveData<_0, _1> { @@ -32670,6 +33737,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -32826,6 +33894,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -32872,6 +33941,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -32916,6 +33986,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Bounty<_0, _1, _2> { @@ -32933,6 +34004,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum BountyStatus<_0, _1> { @@ -32965,6 +34037,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -33173,6 +34246,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -33194,6 +34268,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -33234,6 +34309,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ChildBounty<_0, _1, _2> { @@ -33250,6 +34326,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum ChildBountyStatus<_0, _1> { @@ -33278,6 +34355,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -33501,6 +34579,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -33543,6 +34622,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -33602,6 +34682,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum RawOrigin<_0> { @@ -33619,6 +34700,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Votes<_0, _1> { @@ -33640,6 +34722,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Conviction { @@ -33668,6 +34751,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -33963,6 +35047,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -34045,6 +35130,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -34129,6 +35215,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Delegations<_0> { @@ -34142,6 +35229,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum ReferendumInfo<_0, _1, _2> { @@ -34160,6 +35248,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ReferendumStatus<_0, _1, _2> { @@ -34176,6 +35265,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Tally<_0> { @@ -34193,6 +35283,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum AccountVote<_0> { @@ -34211,6 +35302,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct PriorLock<_0, _1>(pub _0, pub _1); @@ -34222,6 +35314,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Vote(pub ::core::primitive::u8); @@ -34232,6 +35325,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Voting<_0, _1, _2> { @@ -34263,6 +35357,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum VoteThreshold { @@ -34286,6 +35381,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -34298,6 +35394,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Error of the pallet that can be returned in response to dispatches."] @@ -34352,6 +35449,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -34409,6 +35507,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SignedSubmission<_0, _1, _2> { @@ -34426,6 +35525,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum ElectionCompute { @@ -34447,6 +35547,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Phase<_0> { @@ -34466,6 +35567,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RawSolution<_0> { @@ -34480,6 +35582,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ReadySolution { @@ -34497,6 +35600,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RoundSnapshot { @@ -34516,6 +35620,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SolutionOrSnapshotSize { @@ -34536,6 +35641,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -34665,6 +35771,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -34728,6 +35835,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -34782,6 +35890,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Renouncing { @@ -34799,6 +35908,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SeatHolder<_0, _1> { @@ -34813,6 +35923,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Voter<_0, _1> { @@ -34832,6 +35943,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -34880,6 +35992,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -34912,6 +36025,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "The events of this pallet."] @@ -34958,6 +36072,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct UnstakeRequest { @@ -34982,6 +36097,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -35044,6 +36160,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -35079,6 +36196,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -35106,6 +36224,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct StoredPendingChange<_0> { @@ -35125,6 +36244,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum StoredState<_0> { @@ -35149,6 +36269,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Identity pallet declaration."] @@ -35456,6 +36577,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -35522,6 +36644,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -35598,6 +36721,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct BitFlags<_0>( @@ -35611,6 +36735,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Data { @@ -35698,6 +36823,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum IdentityField { @@ -35725,6 +36851,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct IdentityInfo { @@ -35748,6 +36875,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Judgement<_0> { @@ -35773,6 +36901,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RegistrarInfo<_0, _1> { @@ -35789,6 +36918,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Registration<_0> { @@ -35812,6 +36942,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -35839,6 +36970,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -35857,6 +36989,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -35893,6 +37026,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Public(pub runtime_types::sp_core::sr25519::Public); @@ -35903,6 +37037,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Signature(pub runtime_types::sp_core::sr25519::Signature); @@ -35915,6 +37050,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct BoundedOpaqueNetworkState { @@ -35935,6 +37071,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Heartbeat<_0> { @@ -35956,6 +37093,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -36080,6 +37218,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -36107,6 +37246,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -36140,6 +37280,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -36205,6 +37346,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -36226,6 +37368,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -36262,6 +37405,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -36429,6 +37573,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -36483,6 +37628,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -36532,6 +37678,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Multisig<_0, _1, _2> { @@ -36547,6 +37694,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Timepoint<_0> { @@ -36565,6 +37713,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -36819,6 +37968,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum DefensiveError { @@ -36840,6 +37990,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -36929,6 +38080,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Events of this pallet."] @@ -37033,6 +38185,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum BondExtra<_0> { @@ -37048,6 +38201,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct BondedPoolInner { @@ -37064,6 +38218,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum ConfigOp<_0> { @@ -37081,6 +38236,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct PoolMember { @@ -37101,6 +38257,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct PoolRoles<_0> { @@ -37116,6 +38273,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum PoolState { @@ -37133,6 +38291,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RewardPool { @@ -37148,6 +38307,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SubPools { @@ -37164,6 +38324,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct UnbondPool { @@ -37182,6 +38343,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Events type."] @@ -37208,6 +38370,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -37247,6 +38410,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -37277,6 +38441,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -37299,6 +38464,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum RequestStatus<_0, _1> { @@ -37326,6 +38492,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -37511,6 +38678,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -37547,6 +38715,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -37598,6 +38767,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Announcement<_0, _1, _2> { @@ -37612,6 +38782,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ProxyDefinition<_0, _1, _2> { @@ -37631,6 +38802,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -37708,6 +38880,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -37735,6 +38908,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Events type."] @@ -37786,6 +38960,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Scheduled<_0, _1, _2, _3, _4> { @@ -37809,6 +38984,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -37858,6 +39034,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Error for the session pallet."] @@ -37885,6 +39062,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -37911,6 +39089,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -38358,6 +39537,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum ConfigOp<_0> { @@ -38375,6 +39555,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -38466,6 +39647,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -38557,6 +39739,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SlashingSpans { @@ -38572,6 +39755,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SpanRecord<_0> { @@ -38586,6 +39770,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ActiveEraInfo { @@ -38599,6 +39784,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct EraRewardPoints<_0> { @@ -38612,6 +39798,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Exposure<_0, _1> { @@ -38629,6 +39816,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Forcing { @@ -38648,6 +39836,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct IndividualExposure<_0, _1> { @@ -38662,6 +39851,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Nominations { @@ -38678,6 +39868,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Releases { @@ -38713,6 +39904,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum RewardDestination<_0> { @@ -38734,6 +39926,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct StakingLedger { @@ -38756,6 +39949,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct UnappliedSlash<_0, _1> { @@ -38772,6 +39966,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct UnlockChunk<_0> { @@ -38787,6 +39982,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ValidatorPrefs { @@ -38806,6 +40002,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -38845,6 +40042,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -38993,6 +40191,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -39023,6 +40222,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -39059,6 +40259,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct OpenTip<_0, _1, _2, _3> { @@ -39082,6 +40283,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -39103,6 +40305,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ChargeTransactionPayment(#[codec(compact)] pub ::core::primitive::u128); @@ -39113,6 +40316,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Releases { @@ -39133,6 +40337,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -39223,6 +40428,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Error for the treasury pallet."] @@ -39251,6 +40457,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -39307,6 +40514,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Proposal<_0, _1> { @@ -39327,6 +40535,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -39431,6 +40640,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -39446,6 +40656,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -39491,6 +40702,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -39615,6 +40827,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Error for the vesting pallet."] @@ -39643,6 +40856,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -39670,6 +40884,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct VestingInfo<_0, _1> { @@ -39685,6 +40900,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Releases { @@ -39705,6 +40921,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -39873,6 +41090,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -39927,6 +41145,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -40099,6 +41318,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Origin { @@ -40114,6 +41334,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum QueryStatus<_0> { @@ -40142,6 +41363,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum VersionMigrationStage { @@ -40167,6 +41389,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CandidateHash(pub ::subxt::utils::H256); @@ -40177,6 +41400,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct InboundDownwardMessage<_0> { @@ -40190,6 +41414,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct InboundHrmpMessage<_0> { @@ -40203,6 +41428,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct OutboundHrmpMessage<_0> { @@ -40221,6 +41447,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct HeadData(pub ::std::vec::Vec<::core::primitive::u8>); @@ -40231,6 +41458,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct HrmpChannelId { @@ -40245,6 +41473,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Id(pub ::core::primitive::u32); @@ -40255,6 +41484,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ValidationCode(pub ::std::vec::Vec<::core::primitive::u8>); @@ -40265,6 +41495,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ValidationCodeHash(pub ::subxt::utils::H256); @@ -40283,6 +41514,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Public(pub runtime_types::sp_core::sr25519::Public); @@ -40296,6 +41528,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Public(pub runtime_types::sp_core::sr25519::Public); @@ -40306,6 +41539,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Signature(pub runtime_types::sp_core::sr25519::Signature); @@ -40319,6 +41553,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct UncheckedSigned<_0, _1> { @@ -40339,6 +41574,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Public(pub runtime_types::sp_core::sr25519::Public); @@ -40349,6 +41585,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Signature(pub runtime_types::sp_core::sr25519::Signature); @@ -40360,6 +41597,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct AvailabilityBitfield( @@ -40375,6 +41613,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct BackedCandidate<_0> { @@ -40395,6 +41634,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CandidateCommitments<_0> { @@ -40418,6 +41658,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CandidateDescriptor<_0> { @@ -40439,6 +41680,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CandidateReceipt<_0> { @@ -40452,6 +41694,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CommittedCandidateReceipt<_0> { @@ -40468,6 +41711,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CoreIndex(pub ::core::primitive::u32); @@ -40478,6 +41722,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum CoreOccupied { @@ -40493,6 +41738,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct DisputeState<_0> { @@ -40514,6 +41760,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum DisputeStatement { @@ -40529,6 +41776,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct DisputeStatementSet { @@ -40548,6 +41796,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct GroupIndex(pub ::core::primitive::u32); @@ -40558,6 +41807,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct IndexedVec<_0, _1>( @@ -40571,6 +41821,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct InherentData<_0> { @@ -40597,6 +41848,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum InvalidDisputeStatementKind { @@ -40610,6 +41862,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ParathreadClaim( @@ -40623,6 +41876,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ParathreadEntry { @@ -40636,6 +41890,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct PvfCheckStatement { @@ -40651,6 +41906,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ScrapedOnChainVotes<_0> { @@ -40673,6 +41929,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SessionInfo { @@ -40707,6 +41964,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum UpgradeGoAhead { @@ -40722,6 +41980,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum UpgradeRestriction { @@ -40735,6 +41994,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum ValidDisputeStatementKind { @@ -40755,6 +42015,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ValidatorIndex(pub ::core::primitive::u32); @@ -40765,6 +42026,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum ValidityAttestation { @@ -40784,6 +42046,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct NposCompactSolution16 { @@ -40949,6 +42212,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum OriginCaller { @@ -40978,6 +42242,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum ProxyType { @@ -41003,6 +42268,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Runtime; @@ -41013,6 +42279,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum RuntimeCall { @@ -41122,6 +42389,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum RuntimeEvent { @@ -41215,6 +42483,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SessionKeys { @@ -41239,6 +42508,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -41297,6 +42567,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -41330,6 +42601,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -41398,6 +42670,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -41528,6 +42801,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -41559,6 +42833,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -41580,6 +42855,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct EcdsaSignature(pub [::core::primitive::u8; 65usize]); @@ -41590,6 +42866,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct EthereumAddress(pub [::core::primitive::u8; 20usize]); @@ -41600,6 +42877,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct PrevalidateAttests; @@ -41610,6 +42888,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum StatementKind { @@ -41630,6 +42909,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -41753,6 +43033,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -41834,6 +43115,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -41908,6 +43190,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct FundInfo<_0, _1, _2, _3> { @@ -41932,6 +43215,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum LastContribution<_0> { @@ -41954,6 +43238,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -42073,6 +43358,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -42128,6 +43414,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -42155,6 +43442,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ParaInfo<_0, _1> { @@ -42174,6 +43462,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -42216,6 +43505,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -42234,6 +43524,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -42272,6 +43563,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -42435,6 +43727,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -42451,6 +43744,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct HostConfiguration<_0> { @@ -42510,6 +43804,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -42524,6 +43819,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -42557,6 +43853,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -42593,6 +43890,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum DisputeLocation { @@ -42608,6 +43906,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum DisputeResult { @@ -42628,6 +43927,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -42645,6 +43945,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -42745,6 +44046,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -42814,6 +44116,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -42864,6 +44167,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct HrmpChannel { @@ -42883,6 +44187,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct HrmpOpenChannelRequest { @@ -42905,6 +44210,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -42916,6 +44222,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -43018,6 +44325,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -43060,6 +44368,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct AvailabilityBitfieldRecord<_0> { @@ -43073,6 +44382,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CandidatePendingAvailability<_0, _1> { @@ -43103,6 +44413,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -43121,6 +44432,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct BufferedSessionChange { @@ -43144,6 +44456,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Origin { @@ -43163,6 +44476,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -43243,6 +44557,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -43295,6 +44610,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -43347,6 +44663,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ParaGenesisArgs { @@ -43362,6 +44679,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum ParaLifecycle { @@ -43387,6 +44705,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ParaPastCodeMeta<_0> { @@ -43402,6 +44721,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct PvfCheckActiveVoteState<_0> { @@ -43426,6 +44746,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum PvfCheckCause<_0> { @@ -43444,6 +44765,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ReplacementTimes<_0> { @@ -43462,6 +44784,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -43484,6 +44807,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -43519,6 +44843,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum AssignmentKind { @@ -43537,6 +44862,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CoreAssignment { @@ -43552,6 +44878,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ParathreadClaimQueue { @@ -43567,6 +44894,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct QueuedParathread { @@ -43585,6 +44913,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -43602,6 +44931,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] @@ -43631,6 +44961,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] @@ -43649,6 +44980,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -43722,6 +45054,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct FixedU128(pub ::core::primitive::u128); @@ -43736,6 +45069,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct PerU16(pub ::core::primitive::u16); @@ -43747,6 +45081,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Perbill(pub ::core::primitive::u32); @@ -43758,6 +45093,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Percent(pub ::core::primitive::u8); @@ -43769,6 +45105,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Permill(pub ::core::primitive::u32); @@ -43785,6 +45122,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Public(pub runtime_types::sp_core::sr25519::Public); @@ -43801,6 +45139,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Public(pub runtime_types::sp_core::sr25519::Public); @@ -43814,6 +45153,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum NextConfigDescriptor { @@ -43830,6 +45170,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum PreDigest { @@ -43849,6 +45190,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct PrimaryPreDigest { @@ -43864,6 +45206,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SecondaryPlainPreDigest { @@ -43877,6 +45220,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SecondaryVRFPreDigest { @@ -43893,6 +45237,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum AllowedSlots { @@ -43910,6 +45255,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct BabeEpochConfiguration { @@ -43926,6 +45272,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct EquivocationProof<_0, _1> { @@ -43942,6 +45289,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Slot(pub ::core::primitive::u64); @@ -43959,6 +45307,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct BoundedBTreeMap<_0, _1>(pub ::subxt::utils::KeyedVec<_0, _1>); @@ -43972,6 +45321,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct BoundedVec<_0>(pub ::std::vec::Vec<_0>); @@ -43985,6 +45335,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct WeakBoundedVec<_0>(pub ::std::vec::Vec<_0>); @@ -43999,6 +45350,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct KeyTypeId(pub [::core::primitive::u8; 4usize]); @@ -44012,6 +45364,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Public(pub [::core::primitive::u8; 33usize]); @@ -44022,6 +45375,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Signature(pub [::core::primitive::u8; 65usize]); @@ -44035,6 +45389,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Public(pub [::core::primitive::u8; 32usize]); @@ -44045,6 +45400,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Signature(pub [::core::primitive::u8; 64usize]); @@ -44058,6 +45414,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct OpaqueMultiaddr(pub ::std::vec::Vec<::core::primitive::u8>); @@ -44068,6 +45425,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct OpaqueNetworkState { @@ -44085,6 +45443,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Public(pub [::core::primitive::u8; 32usize]); @@ -44095,6 +45454,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Signature(pub [::core::primitive::u8; 64usize]); @@ -44106,6 +45466,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct OpaquePeerId(pub ::std::vec::Vec<::core::primitive::u8>); @@ -44116,6 +45477,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Void {} @@ -44131,6 +45493,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Public(pub runtime_types::sp_core::ed25519::Public); @@ -44141,6 +45504,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Signature(pub runtime_types::sp_core::ed25519::Signature); @@ -44152,6 +45516,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Equivocation<_0, _1> { @@ -44179,6 +45544,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct EquivocationProof<_0, _1> { @@ -44195,6 +45561,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ElectionScore { @@ -44209,6 +45576,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Support<_0> { @@ -44229,6 +45597,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Digest { @@ -44242,6 +45611,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum DigestItem { @@ -44275,6 +45645,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Era { @@ -44801,6 +46172,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Header<_0, _1> { @@ -44823,6 +46195,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct UncheckedExtrinsic<_0, _1, _2, _3>( @@ -44840,6 +46213,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct BlakeTwo256; @@ -44851,6 +46225,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum ArithmeticError { @@ -44868,6 +46243,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum DispatchError { @@ -44905,6 +46281,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ModuleError { @@ -44918,6 +46295,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum MultiSignature { @@ -44935,6 +46313,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum MultiSigner { @@ -44952,6 +46331,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum TokenError { @@ -44977,6 +46357,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum TransactionalError { @@ -44995,6 +46376,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct MembershipProof { @@ -45014,6 +46396,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct OffenceDetails<_0, _1> { @@ -45031,6 +46414,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RuntimeVersion { @@ -45056,6 +46440,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Weight { @@ -45073,6 +46458,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct OldWeight(pub ::core::primitive::u64); @@ -45083,6 +46469,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RuntimeDbWeight { @@ -45101,6 +46488,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct DoubleEncoded { @@ -45118,6 +46506,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum BodyId { @@ -45147,6 +46536,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum BodyPart { @@ -45186,6 +46576,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Junction { @@ -45234,6 +46625,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum NetworkId { @@ -45260,6 +46652,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum MultiAsset { @@ -45320,6 +46713,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum MultiLocation { @@ -45394,6 +46788,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Order { @@ -45457,6 +46852,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum OriginKind { @@ -45476,6 +46872,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Response { @@ -45489,6 +46886,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Xcm { @@ -45571,6 +46969,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Junction { @@ -45620,6 +47019,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum AssetId { @@ -45635,6 +47035,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum AssetInstance { @@ -45660,6 +47061,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Fungibility { @@ -45675,6 +47077,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct MultiAsset { @@ -45688,6 +47091,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum MultiAssetFilter { @@ -45703,6 +47107,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct MultiAssets( @@ -45715,6 +47120,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum WildFungibility { @@ -45730,6 +47136,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum WildMultiAsset { @@ -45751,6 +47158,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Junctions { @@ -45822,6 +47230,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct MultiLocation { @@ -45838,6 +47247,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Order { @@ -45897,6 +47307,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Response { @@ -45912,6 +47323,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Xcm { @@ -46003,6 +47415,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Error { @@ -46066,6 +47479,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Outcome { @@ -46087,6 +47501,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Instruction { @@ -46235,6 +47650,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Response { @@ -46259,6 +47675,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum WeightLimit { @@ -46274,6 +47691,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Xcm(pub ::std::vec::Vec); @@ -46285,6 +47703,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum VersionedMultiAssets { @@ -46300,6 +47719,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum VersionedMultiLocation { @@ -46315,6 +47735,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum VersionedResponse { @@ -46332,6 +47753,7 @@ pub mod api { :: subxt :: ext :: scale_encode :: EncodeAsType, Debug, )] + # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum VersionedXcm { From fd046b0eafc553ae821103dee2964544a8bd9fa1 Mon Sep 17 00:00:00 2001 From: Tadeo Hepperle <62739623+tadeohepperle@users.noreply.github.com> Date: Tue, 2 May 2023 18:35:45 +0200 Subject: [PATCH 09/15] use unit type in polkadot config (#943) --- subxt/src/config/mod.rs | 8 -------- subxt/src/config/polkadot.rs | 24 +++++++++++++++++++----- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/subxt/src/config/mod.rs b/subxt/src/config/mod.rs index 8d3cddd6cc..ba569efa39 100644 --- a/subxt/src/config/mod.rs +++ b/subxt/src/config/mod.rs @@ -95,14 +95,6 @@ pub trait Header: Sized + Encode { /// Take a type implementing [`Config`] (eg [`SubstrateConfig`]), and some type which describes the /// additional and extra parameters to pass to an extrinsic (see [`ExtrinsicParams`]), /// and returns a type implementing [`Config`] with those new [`ExtrinsicParams`]. -/// -/// # Example -/// -/// ``` -/// use subxt::config::{ SubstrateConfig, WithExtrinsicParams, polkadot::PolkadotExtrinsicParams }; -/// -/// // This is how PolkadotConfig is implemented: -/// type PolkadotConfig = WithExtrinsicParams>; /// ``` pub struct WithExtrinsicParams> { _marker: std::marker::PhantomData<(T, E)>, diff --git a/subxt/src/config/polkadot.rs b/subxt/src/config/polkadot.rs index 649c4475dc..de46f05b44 100644 --- a/subxt/src/config/polkadot.rs +++ b/subxt/src/config/polkadot.rs @@ -4,15 +4,29 @@ //! Polkadot specific configuration +use super::{ + extrinsic_params::{BaseExtrinsicParams, BaseExtrinsicParamsBuilder}, + Config, +}; use codec::Encode; -use super::extrinsic_params::{BaseExtrinsicParams, BaseExtrinsicParamsBuilder}; +pub use crate::utils::{AccountId32, MultiAddress, MultiSignature}; +use crate::SubstrateConfig; +pub use primitive_types::{H256, U256}; /// Default set of commonly used types by Polkadot nodes. -pub type PolkadotConfig = super::WithExtrinsicParams< - super::SubstrateConfig, - PolkadotExtrinsicParams, ->; +pub enum PolkadotConfig {} + +impl Config for PolkadotConfig { + type Index = ::Index; + type Hash = ::Hash; + type AccountId = ::AccountId; + type Address = MultiAddress; + type Signature = ::Signature; + type Hasher = ::Hasher; + type Header = ::Header; + type ExtrinsicParams = PolkadotExtrinsicParams; +} /// A struct representing the signed extra and additional parameters required /// to construct a transaction for a polkadot node. From f4eb80e78d4ade8193cb8b3c24505cc6f398f694 Mon Sep 17 00:00:00 2001 From: Andrew Jones Date: Wed, 3 May 2023 13:14:27 +0100 Subject: [PATCH 10/15] Upgrade to `syn 2.0` (#875) * WIP updating to syn 2.0.0 * WIP darling compat * Update darling and syn workspace deps * NestedMeta::parse_meta_list * Rename attribute keyword type property to path * Fmt * Update more type to path * Unused darling * Cargo.lock * Add missing syn features --- Cargo.lock | 56 +++++++++++++++---- Cargo.toml | 4 +- codegen/Cargo.toml | 1 - codegen/src/types/mod.rs | 3 +- examples/examples/custom_type_derives.rs | 4 +- macro/src/lib.rs | 34 ++++++----- .../ui-tests/src/correct/generic_params.rs | 16 +++--- .../incorrect/substitute_path_not_absolute.rs | 2 +- 8 files changed, 79 insertions(+), 41 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 37ec76ad34..eb041f83ed 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -831,8 +831,18 @@ version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" dependencies = [ - "darling_core", - "darling_macro", + "darling_core 0.14.4", + "darling_macro 0.14.4", +] + +[[package]] +name = "darling" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c99d16b88c92aef47e58dadd53e87b4bd234c29934947a6cec8b466300f99b" +dependencies = [ + "darling_core 0.20.0", + "darling_macro 0.20.0", ] [[package]] @@ -849,17 +859,42 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "darling_core" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ea05d2fcb27b53f7a98faddaf5f2914760330ab7703adfc9df13332b42189f9" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.15", +] + [[package]] name = "darling_macro" version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" dependencies = [ - "darling_core", + "darling_core 0.14.4", "quote", "syn 1.0.109", ] +[[package]] +name = "darling_macro" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bfb82b62b1b8a2a9808fb4caf844ede819a76cfc23b2827d7f94eefb49551eb" +dependencies = [ + "darling_core 0.20.0", + "quote", + "syn 2.0.15", +] + [[package]] name = "derivative" version = "2.2.0" @@ -1628,7 +1663,7 @@ dependencies = [ "subxt", "subxt-codegen", "subxt-metadata", - "syn 1.0.109", + "syn 2.0.15", "test-runtime", "tokio", "tracing", @@ -2692,7 +2727,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b38741b2f78e4391b94eac6b102af0f6ea2b0f7fe65adb55d7f4004f507854db" dependencies = [ - "darling", + "darling 0.14.4", "proc-macro-crate", "proc-macro2", "quote", @@ -2719,7 +2754,7 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd983cf0a9effd76138554ead18a6de542d1af175ac12fd5e91836c5c0268082" dependencies = [ - "darling", + "darling 0.14.4", "proc-macro-crate", "proc-macro2", "quote", @@ -3549,7 +3584,7 @@ dependencies = [ "serde_json", "subxt-codegen", "subxt-metadata", - "syn 1.0.109", + "syn 2.0.15", "tokio", ] @@ -3558,7 +3593,6 @@ name = "subxt-codegen" version = "0.28.0" dependencies = [ "bitvec", - "darling", "frame-metadata", "heck", "hex", @@ -3569,7 +3603,7 @@ dependencies = [ "quote", "scale-info", "subxt-metadata", - "syn 1.0.109", + "syn 2.0.15", "thiserror", "tokio", ] @@ -3593,10 +3627,10 @@ dependencies = [ name = "subxt-macro" version = "0.28.0" dependencies = [ - "darling", + "darling 0.20.0", "proc-macro-error", "subxt-codegen", - "syn 1.0.109", + "syn 2.0.15", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index c59ceaeea4..cf87f98ec1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -38,7 +38,7 @@ criterion = "0.4" codec = { package = "parity-scale-codec", version = "3.4.0", default-features = false } color-eyre = "0.6.1" console_error_panic_hook = "0.1.7" -darling = "0.14.4" +darling = "0.20.0" derivative = "2.2.0" either = "1.8.1" frame-metadata = { version = "15.1.0", features = ["v14", "v15-unstable", "std"] } @@ -61,7 +61,7 @@ scale-decode = "0.5.0" scale-encode = "0.1.0" serde = { version = "1.0.159" } serde_json = { version = "1.0.96" } -syn = "1.0.109" +syn = { version = "2.0.15", features = ["full", "extra-traits"] } thiserror = "1.0.40" tokio = { version = "1.28", features = ["macros", "time", "rt-multi-thread"] } tracing = "0.1.34" diff --git a/codegen/Cargo.toml b/codegen/Cargo.toml index 6c776d30b0..3db79d4829 100644 --- a/codegen/Cargo.toml +++ b/codegen/Cargo.toml @@ -14,7 +14,6 @@ description = "Generate an API for interacting with a substrate node from FRAME [dependencies] codec = { package = "parity-scale-codec", workspace = true, features = ["derive"] } -darling = { workspace = true } frame-metadata = { workspace = true } heck = { workspace = true } proc-macro2 = { workspace = true } diff --git a/codegen/src/types/mod.rs b/codegen/src/types/mod.rs index caaa427df6..4dedb14fc3 100644 --- a/codegen/src/types/mod.rs +++ b/codegen/src/types/mod.rs @@ -11,7 +11,6 @@ mod type_def; mod type_def_params; mod type_path; -use darling::FromMeta; use proc_macro2::{Ident, Span, TokenStream}; use quote::{quote, ToTokens}; use scale_info::{form::PortableForm, PortableRegistry, Type, TypeDef}; @@ -353,7 +352,7 @@ impl ToTokens for CratePath { impl From<&str> for CratePath { fn from(crate_path: &str) -> Self { - Self(syn::Path::from_string(crate_path).unwrap_or_else(|err| { + Self(syn::parse_str(crate_path).unwrap_or_else(|err| { panic!("failed converting {crate_path:?} to `syn::Path`: {err:?}"); })) } diff --git a/examples/examples/custom_type_derives.rs b/examples/examples/custom_type_derives.rs index baa7562e9d..123b9d336c 100644 --- a/examples/examples/custom_type_derives.rs +++ b/examples/examples/custom_type_derives.rs @@ -17,8 +17,8 @@ // mapping the type path to the derives which should be added for that type only. // Note that these derives will be in addition to those specified above in // `derive_for_all_types` - derive_for_type(type = "frame_support::PalletId", derive = "Eq, Ord, PartialOrd"), - derive_for_type(type = "sp_runtime::ModuleError", derive = "Eq, Hash"), + derive_for_type(path = "frame_support::PalletId", derive = "Eq, Ord, PartialOrd"), + derive_for_type(path = "sp_runtime::ModuleError", derive = "Eq, Hash"), )] pub mod polkadot {} diff --git a/macro/src/lib.rs b/macro/src/lib.rs index bb0ac0b7fb..f0621a1ec4 100644 --- a/macro/src/lib.rs +++ b/macro/src/lib.rs @@ -31,7 +31,7 @@ //! ```ignore //! #[subxt::subxt( //! runtime_metadata_path = "polkadot_metadata.scale", -//! substitute_type(type = "sp_arithmetic::per_things::Perbill", with = "sp_runtime::Perbill") +//! substitute_type(path = "sp_arithmetic::per_things::Perbill", with = "sp_runtime::Perbill") //! )] //! pub mod polkadot {} //! ``` @@ -67,8 +67,8 @@ //! #[subxt::subxt( //! runtime_metadata_path = "polkadot_metadata.scale", //! derive_for_all_types = "Eq, PartialEq", -//! derive_for_type(type = "frame_support::PalletId", derive = "Ord, PartialOrd"), -//! derive_for_type(type = "sp_runtime::ModuleError", derive = "Hash"), +//! derive_for_type(path = "frame_support::PalletId", derive = "Ord, PartialOrd"), +//! derive_for_type(path = "sp_runtime::ModuleError", derive = "Hash"), //! )] //! pub mod polkadot {} //! ``` @@ -113,7 +113,7 @@ extern crate proc_macro; use std::str::FromStr; -use darling::FromMeta; +use darling::{ast::NestedMeta, FromMeta}; use proc_macro::TokenStream; use proc_macro_error::{abort_call_site, proc_macro_error}; use subxt_codegen::{utils::Uri, CodegenError, DerivesRegistry, TypeSubstitutes}; @@ -158,29 +158,31 @@ struct RuntimeMetadataArgs { #[derive(Debug, FromMeta)] struct DeriveForType { - #[darling(rename = "type")] - ty: syn::TypePath, + path: syn::TypePath, derive: Punctuated, } #[derive(Debug, FromMeta)] struct AttributesForType { - #[darling(rename = "type")] - ty: syn::TypePath, + path: syn::TypePath, attributes: Punctuated, } #[derive(Debug, FromMeta)] struct SubstituteType { - #[darling(rename = "type")] - ty: syn::Path, + path: syn::Path, with: syn::Path, } #[proc_macro_attribute] #[proc_macro_error] pub fn subxt(args: TokenStream, input: TokenStream) -> TokenStream { - let attr_args = parse_macro_input!(args as syn::AttributeArgs); + let attr_args = match NestedMeta::parse_meta_list(args.into()) { + Ok(v) => v, + Err(e) => { + return TokenStream::from(darling::Error::from(e).write_errors()); + } + }; let item_mod = parse_macro_input!(input as syn::ItemMod); let args = match RuntimeMetadataArgs::from_list(&attr_args) { Ok(v) => v, @@ -205,11 +207,15 @@ pub fn subxt(args: TokenStream, input: TokenStream) -> TokenStream { ); for derives in &args.derive_for_type { - derives_registry.extend_for_type(derives.ty.clone(), derives.derive.iter().cloned(), vec![]) + derives_registry.extend_for_type( + derives.path.clone(), + derives.derive.iter().cloned(), + vec![], + ) } for attributes in &args.attributes_for_type { derives_registry.extend_for_type( - attributes.ty.clone(), + attributes.path.clone(), vec![], attributes.attributes.iter().map(|a| a.0.clone()), ) @@ -223,7 +229,7 @@ pub fn subxt(args: TokenStream, input: TokenStream) -> TokenStream { let substitute_args_res: Result<(), _> = args.substitute_type.into_iter().try_for_each(|sub| { sub.with .try_into() - .and_then(|with| type_substitutes.insert(sub.ty, with)) + .and_then(|with| type_substitutes.insert(sub.path, with)) }); if let Err(err) = substitute_args_res { diff --git a/testing/ui-tests/src/correct/generic_params.rs b/testing/ui-tests/src/correct/generic_params.rs index 507571f035..72db6f196f 100644 --- a/testing/ui-tests/src/correct/generic_params.rs +++ b/testing/ui-tests/src/correct/generic_params.rs @@ -22,7 +22,7 @@ pub struct DoesntImplEncodeDecodeAsType(u16); #[subxt::subxt( runtime_metadata_path = "../../../../artifacts/polkadot_metadata.scale", substitute_type( - type = "sp_runtime::multiaddress::MultiAddress", + path = "sp_runtime::multiaddress::MultiAddress", // Discarding both params: with = "crate::CustomAddress" ) @@ -32,7 +32,7 @@ pub mod node_runtime {} #[subxt::subxt( runtime_metadata_path = "../../../../artifacts/polkadot_metadata.scale", substitute_type( - type = "sp_runtime::multiaddress::MultiAddress", + path = "sp_runtime::multiaddress::MultiAddress", // Discarding second param: with = "crate::Generic" ) @@ -42,7 +42,7 @@ pub mod node_runtime2 {} #[subxt::subxt( runtime_metadata_path = "../../../../artifacts/polkadot_metadata.scale", substitute_type( - type = "sp_runtime::multiaddress::MultiAddress", + path = "sp_runtime::multiaddress::MultiAddress", // Discarding first param: with = "crate::Generic" ) @@ -52,7 +52,7 @@ pub mod node_runtime3 {} #[subxt::subxt( runtime_metadata_path = "../../../../artifacts/polkadot_metadata.scale", substitute_type( - type = "sp_runtime::multiaddress::MultiAddress", + path = "sp_runtime::multiaddress::MultiAddress", // Swapping params: with = "crate::Second" ) @@ -62,7 +62,7 @@ pub mod node_runtime4 {} #[subxt::subxt( runtime_metadata_path = "../../../../artifacts/polkadot_metadata.scale", substitute_type( - type = "sp_runtime::multiaddress::MultiAddress", + path = "sp_runtime::multiaddress::MultiAddress", // Ignore input params and just use concrete types on output: with = "crate::Second>" ) @@ -72,7 +72,7 @@ pub mod node_runtime5 {} #[subxt::subxt( runtime_metadata_path = "../../../../artifacts/polkadot_metadata.scale", substitute_type( - type = "sp_runtime::multiaddress::MultiAddress", + path = "sp_runtime::multiaddress::MultiAddress", // We can put a static type in, too: with = "crate::Second" ) @@ -82,7 +82,7 @@ pub mod node_runtime6 {} #[subxt::subxt( runtime_metadata_path = "../../../../artifacts/polkadot_metadata.scale", substitute_type( - type = "sp_runtime::multiaddress::MultiAddress", + path = "sp_runtime::multiaddress::MultiAddress", // Check that things can be wrapped in our Static type: with = "::subxt::utils::Static" ) @@ -92,7 +92,7 @@ pub mod node_runtime7 {} #[subxt::subxt( runtime_metadata_path = "../../../../artifacts/polkadot_metadata.scale", substitute_type( - type = "sp_runtime::multiaddress::MultiAddress", + path = "sp_runtime::multiaddress::MultiAddress", // Recursive type param substitution should work too (swapping out nested A and B): with = "::subxt::utils::Static>" ) diff --git a/testing/ui-tests/src/incorrect/substitute_path_not_absolute.rs b/testing/ui-tests/src/incorrect/substitute_path_not_absolute.rs index 9ef7cbe610..8cac806198 100644 --- a/testing/ui-tests/src/incorrect/substitute_path_not_absolute.rs +++ b/testing/ui-tests/src/incorrect/substitute_path_not_absolute.rs @@ -1,7 +1,7 @@ #[subxt::subxt( runtime_metadata_path = "../../../../artifacts/polkadot_metadata.scale", substitute_type( - type = "sp_arithmetic::per_things::Perbill", + path = "sp_arithmetic::per_things::Perbill", with = "sp_runtime::Perbill" ) )] From 432e856c376771d217a95483f40f8615242af859 Mon Sep 17 00:00:00 2001 From: Alexandru Vasile <60601340+lexnv@users.noreply.github.com> Date: Wed, 3 May 2023 17:31:27 +0300 Subject: [PATCH 11/15] Metadata V15: Generate Runtime APIs (#918) * Update frame-metadata to v15.1.0 Signed-off-by: Alexandru Vasile * Enable V15 unstable metadata in frame-metadata Signed-off-by: Alexandru Vasile * metadata: Move validation hashing to dedicated file Signed-off-by: Alexandru Vasile * Use sp-metadata-ir from substrate to work with metadata Signed-off-by: Alexandru Vasile * Revert using sp-metadata-ir in favor of conversion to v15 Signed-off-by: Alexandru Vasile * metadata: Convert v14 to v15 Signed-off-by: Alexandru Vasile * metadata: Use v15 for validation Signed-off-by: Alexandru Vasile * codegen: Use v15 for codegen Signed-off-by: Alexandru Vasile * metadata/bench: Use v15 Signed-off-by: Alexandru Vasile * Adjust to v15 metadata Signed-off-by: Alexandru Vasile * Adjust testing Signed-off-by: Alexandru Vasile * Improve documentation Signed-off-by: Alexandru Vasile * force CI Signed-off-by: Alexandru Vasile * rpc: Fetch metadata at version Signed-off-by: Alexandru Vasile * artifacts: Update polkadot.scale from commit 6dc9e84dde2 Signed-off-by: Alexandru Vasile * codegen: Fetch V15 using the new API Signed-off-by: Alexandru Vasile * codegen: Add runtime API interface Signed-off-by: Alexandru Vasile * metadata: Hash runtime API metadata for validation Signed-off-by: Alexandru Vasile * metadata: Extract runtime API metadata wrapper from subxt::Metadata Signed-off-by: Alexandru Vasile * subxt: Adjust hashing cache to reflect root+item keys Signed-off-by: Alexandru Vasile * rpc: Add raw state_call API method Signed-off-by: Alexandru Vasile * runtime_api: Add payload with static and dynamic variants Signed-off-by: Alexandru Vasile * subxt: Allow payloads to call into the runtime Signed-off-by: Alexandru Vasile * examples: Add example to make a runtime API call both static and dynamic Signed-off-by: Alexandru Vasile * Update polkadot.rs Signed-off-by: Alexandru Vasile * codegen: Simplify client fetching Signed-off-by: Alexandru Vasile * Address feedback and fallback to old API if needed Signed-off-by: Alexandru Vasile * runtime_api: Make mutability conditional on input params Signed-off-by: Alexandru Vasile * Regenerate polkadot.rs Signed-off-by: Alexandru Vasile * metadata: Retain only pallets without runtime API info Signed-off-by: Alexandru Vasile * codegen: Retry via `Metadata_metadata` without conversion Signed-off-by: Alexandru Vasile * payload: Remove `Decode` and change validation fn Signed-off-by: Alexandru Vasile * metadata: Retain runtime API types Signed-off-by: Alexandru Vasile * codegen: Runtime APIs documentation based on flag Signed-off-by: Alexandru Vasile * Update examples/examples/custom_metadata_url.rs Co-authored-by: James Wilson * Update artifacts from polkadot-a6cfdb16e9 Signed-off-by: Alexandru Vasile * Update polkadot.rs with polkadot-a6cfdb16e9 Signed-off-by: Alexandru Vasile * codegen: Generate input structures for runtime API Signed-off-by: Alexandru Vasile * runtime_api: Remove the static paylaod and use single impl Signed-off-by: Alexandru Vasile * examples: Fetch account nonce Signed-off-by: Alexandru Vasile * testing: Adjust build script to fetch latest metadata Signed-off-by: Alexandru Vasile * testing: Check account nonce from runtime API Signed-off-by: Alexandru Vasile * Update cargo.lock Signed-off-by: Alexandru Vasile * codegen: Fix doc generation for runtime types Signed-off-by: Alexandru Vasile * codegen: Rename `inputs` runtime calls module to `types` Signed-off-by: Alexandru Vasile * codegen: Generate Calls structs inside the types module Signed-off-by: Alexandru Vasile * testing: Check Alice account nonce before submitting the tx Signed-off-by: Alexandru Vasile * cli: Add metadata version option flag supporting v14 and unstable Signed-off-by: Alexandru Vasile * cli: Specify version to fetch Signed-off-by: Alexandru Vasile * subxt: Fallback to fetching latest stable metadata Signed-off-by: Alexandru Vasile * subxt: Add unstable-metadata feature to fetch the latest Signed-off-by: Alexandru Vasile * RuntimeVersion with Latest and Version(u32) Signed-off-by: Alexandru Vasile * Update polkadot.rs Signed-off-by: Alexandru Vasile * codegen: Adjust fetch_metadata to inspect version list Signed-off-by: Alexandru Vasile * testing: Adjust metadata to metadata_legacy Signed-off-by: Alexandru Vasile * events: Adjust docs to use metadata_legacy Signed-off-by: Alexandru Vasile * have a pass over fetch_metadata * cargo fmt * Option when fetch metadata via latest API * clippy * fmt * cli: Use the MetadataVersion from codegen Signed-off-by: Alexandru Vasile * cli: Specify latest as default for MetadataVersion Signed-off-by: Alexandru Vasile * cli: Remove version from metadata and use the one from file_or_url Signed-off-by: Alexandru Vasile * Fix clippy Signed-off-by: Alexandru Vasile * codegen: Decode metadata independently for different RPC calls Signed-off-by: Alexandru Vasile --------- Signed-off-by: Alexandru Vasile Co-authored-by: James Wilson --- Cargo.lock | 2 + artifacts/polkadot_metadata.scale | Bin 356565 -> 404080 bytes cli/src/commands/compatibility.rs | 39 +- cli/src/utils.rs | 42 +- codegen/src/api/calls.rs | 10 +- codegen/src/api/mod.rs | 23 +- codegen/src/api/runtime_apis.rs | 168 + codegen/src/error.rs | 7 + codegen/src/utils/fetch_metadata.rs | 197 +- codegen/src/utils/mod.rs | 2 +- examples/examples/runtime_calls.rs | 88 + metadata/src/lib.rs | 2 +- metadata/src/retain.rs | 36 +- metadata/src/validation.rs | 131 +- subxt/Cargo.toml | 6 + subxt/src/client/online_client.rs | 21 +- subxt/src/dynamic.rs | 3 + subxt/src/events/events_type.rs | 2 +- subxt/src/metadata/hash_cache.rs | 25 +- subxt/src/metadata/metadata_type.rs | 119 +- subxt/src/rpc/rpc.rs | 53 +- subxt/src/runtime_api/mod.rs | 2 + subxt/src/runtime_api/runtime_payload.rs | 162 + subxt/src/runtime_api/runtime_types.rs | 57 +- testing/integration-tests/Cargo.toml | 2 +- testing/integration-tests/src/blocks/mod.rs | 2 +- testing/integration-tests/src/client/mod.rs | 2 +- .../src/codegen/codegen_documentation.rs | 8 + .../integration-tests/src/codegen/polkadot.rs | 21065 ++++++++++------ testing/integration-tests/src/lib.rs | 2 + .../integration-tests/src/runtime_api/mod.rs | 49 + testing/test-runtime/Cargo.toml | 2 + testing/test-runtime/build.rs | 20 +- 33 files changed, 13959 insertions(+), 8390 deletions(-) create mode 100644 codegen/src/api/runtime_apis.rs create mode 100644 examples/examples/runtime_calls.rs create mode 100644 subxt/src/runtime_api/runtime_payload.rs create mode 100644 testing/integration-tests/src/runtime_api/mod.rs diff --git a/Cargo.lock b/Cargo.lock index eb041f83ed..c58c56f890 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3692,8 +3692,10 @@ dependencies = [ name = "test-runtime" version = "0.28.0" dependencies = [ + "hex", "impl-serde", "jsonrpsee", + "parity-scale-codec", "serde", "substrate-runner", "subxt", diff --git a/artifacts/polkadot_metadata.scale b/artifacts/polkadot_metadata.scale index b0d3e7de879b563b10e38c65ea021b0e15d015bc..d42d495410ded81cd5cc8866f1ef68f43357662f 100644 GIT binary patch delta 95692 zcmeFa4SZD9oi~1e=iZqF2rz+!Oduf>NFc#vNFZRqfCLDF@)97ZC^Q)|6Ec!y!psDS z)sD2aEv>fFt9xpzTj`_Q+SL_H>1gX4-MUY0wc@U}wXIdUwH2!sTHRJx+voc`_uhF+ zLfyCL|9SqOwvoB#-t+o9=lss^{XBQ7_{_83y#7!;FnQvn!+F0dE@&AH^!0_}ox1{k zfr0K&tSCM_c=+9wo!*{k%dXKN_XXMdq4vsEv`znALs3Ri2IZfKg8udPJ`>$UafVSVP3cB6wDFxaBO-asrA z%A=xoegH^A`$7Zpb~4&D^2Q^B;qF*CkG$NEj^&!xZoZ;dPPoUrbvPCe^&47;S!C4H z0du9%KsT5%!%sJvU&6mPo6i_a=r(hLYYE+9wz>TDfEjmH(_`l6T~+iQ^HDti*nHX5 zNbi~@?)g+`UgW-lit+CX^A~QfQA%{D-25Dsnk9L)RBg8AwNtJ6*}Uq+3cz7sxSOZs z(nvf!u-nk;iSDo$O?T>J=RWmy>C!eHP|KE~fq1w-v|KCFsjEw|Z^pSRuS7xL$e_uS@_`Ar7p(ao~!pY>w1blh~|$}<;@TV{;Q zqmyQ1PnG%kaTTI8&-~W74pE+G7LH#kD)Y<@cqA@^9vKI#r8b&+Y@TV&OGz=3G+lC&nzwQQHS{t&z6|e z_m4NPEU2W*&1(xTqoDa*K?R=QDtL<;%->AB2+s>AH7u?o?`5Iz?%p`oO?O`)7TZBh ztHZIuK)kybqmRWj@(l)tW1T&rP#1aH@u+D#%v&e5Q z53P;#1<`WT#z?&Fz#y*>E|#xpgZWKpCXnioSyp%b`6WEH-eaNO68?(7QrFcCoC$kT@@kJkEq04!c)R=#+mac6Gb zsbaY!^KBd49SxvS!z`R$JbRMS)tVZ%g2<5l-S1r&iw$wUy`|Hxm<+_(5s3%-d||xh zqfTWG4|HQK#?ZZ8!@e#Hu3dFLe#zL*7vRSrMg#C-F!m`K^aHEKy2CtnRs9x^Q9WAq z!O&l-J{a0HqH^#0NcWyh0L>~ix)gxy_Ep#WkSP@O`?d}6Q)YI3iqUJ{KYgm9KAc@R zK%X-oDqpMLR?ursbWJ~2IrC!RaI>$XmRgSeO~s8=P)@DBSUj*N6!q1Zf$C}Irpmd~ znzjO|^lk|aMxt0^1yr>!&=(GxM=viQXawTGg+!hL-jRmC`eCr)q=`P!m^ zbpX!+P0!!XmGdWGPbBJ#_lA7C!#E{;syaT~>vBGT2h)?}hQ^U&-r$~Rw~eJ_nO zKUcMe#+xrzZJ-Heef4Jv2&H=a)UQzUr94LNR693u)4ndR`T))o=dRefaLjTjrB$1P39-( z{$#>KAUQn1O8MGj$09Wig!BH6+6(Es$6l&+QTca4hCHb~$=K~=op!RI9heozwnf{R zbY4mEv(yp_E?Bgvammu9?L)iz!rhwotXY3vEl7sT&Rau2GynFy&(kl>C3Qc-b76gB z@k`Vai{_Mg$-Jz-cJeRL+AG>C+?w{9_L}*b`XyCoGDygR$o_%Mv^Rp;jKZ6LYI0t0;ul7Xlk}+!e)51I>usP0OnbN=D{n25MzfRh z@mK#Oid}0>CH#&Hb8e{4&+A z#8@56?N_(e75{ptXh$?K5Cf@({uMA~9opA92JpH7mVM#K5KbQ()(#YlB8k!Ay?!IM zNN(=;19OjYkJG_4Ou>FQU1h|~+s~Rt}ndq{_k4kHD7P4#fC3gv=;w% zEvgn1Nz!e)_sZ-Qp;3Vkd`&0{)&rZ#2eL)YENFeI;)I3GNUL$^*&z_*;3m>ZD~Hgu zLUZrZYq2WdSo+}91}f`Vx|CNFs5TJEq2N*TzlD9y>|6gfGFQo!`F@I8Hu2?6QO$?K5VvOH z1T3qkg08W+7BkRRydb}7b*L}2o4b(@%B}&k)@l(`>pS@|(4O&DEjr8$FUtYd9%KNVqTbnjV2)PmjIy=Ps}fg6)20Gs;ks{v2V z^iBxteIN$PIgQ7HHa`J`7Tz5msI?ji$8fwltt9+lGwj{5glPRr5S*ZcRsr^@)~@5m zoJ^_HJza-iGp=jRs58B_W6ogx9jim#VeZ{(ob0i1yuB~b&8SJv`WShqj|~Kng+
  • Li z{vA0z25L~CvF7c+t;<)uk1h-2wsUtGbD{d?Z??g!h&@n|CGQ`0Ti-`VbYrk}B)}9o z7y$L!;(%-`HV~G$=l?%T9GekaV)!XH`G8A0_}O@XC#8D`XDrw^^_e#q9}6*{G%Px6 zr(Nu9Xv27D#5U=V>;t=^*dkt}yefmtswml#zZn9Xo^Z6^hNq$6SvU4>acNG8)?JFu zw@S<%yM!ei<2HaPRrOtCXC4g*M;Qn`z~Fu70D%L6Jfo6Y<)1%H(=G_dV?L0s+_I7p zS|bMM3TQBb3IvB0stF7N^MJYV`&!i#cr?|`J!5w>-p>}Y4?`Tlj9~+L6oC(I$hv{P@Ic7Wo^YGzKkqAbzEDA5Xut!l z#li&|7=&eH4nFUj^jJ!;-%50^dGPcO^PT4_jLk$3s>JY5Dvj+#$IZj9?lk}XCo_zl zM0cq#`+iz(9CEV#{--|UMxy)Gm)OrLjN7>k*Y>-g6;CR|Nw5do(a`R4^1SuJOydbB z5&QW};{_*i_U9GGL}8a6e6iA~7j|FHzUVWS3Dw94%-BnFjW$6qs75M&G0xOa)f(#r zJ*RqliX(0ic3b(C2Z$12Tym-%hEB_`Nq&6^xM6egH5Ckh(Jcx zOud1j9k;X2PU#XdvSz3Y9ux}lJI&gEEi<0C2Drn#>tAOYr<}y>Usf2Woq>Gmm*wI{ z-8}Kj57Mn>;ftN-Z7=&UDg0FSt7>t#ZYEB5nqT^r&$w5&Cu`QP{l@(|y{Djc^w$fG z+YKA2t6r%wju`Ze`tto(<{3{JbV4Pzovtxke-$u)etNF)I=?*pYL^*)wMv{d%+I{~ zapNt69>=>~<~6^WA+B|yKb__ue^X&x@3Je{|JqFBkc*C}+TMC?nsK9(*z+ng;aWdn?tY`(xXWcPiC?}^Y20gN+G+NjsWhH) zO8ojviD)Hr=zA3vKJc*pf#@ECrSSZap*qt%y=LNMX{ldpnmyaMD$+mL7djA*5ButU zU7KneYrD+N-!I9pv-NxC;P=}nW|S5l^QrI8n3P@A{QdVgnuAYOWM3!7NoW}2zai)k4D(-q&@gEOk@$d)j@h|7n8?GP;^)UVC!?^fu;<*O7)laK=qd+6I2nq;00pp1suA z#!}cLKlYkWzj?j@PI&Qmv&^T?K0M0%W23yAr5naq%#&wlm~-EpYzE)lG+G|vGR(TS zs^w=l)B2iiP$^id5(8?DYbf8dF*3l48V?JX4GlUFbZ;+MWjZWlUtDZD! ziiJP}21kC;LUcx)W0hfh1wXR?s%vZy5o4m zEjN&l8g99lN+vdwcXfC-v=f>Zrdyt&+2i^F4!1|!OSk+R&6+lv*mH=apQwDiy<#;$ z1GBnXY#{jsqJ@BfJV~@v93)vFsI2080I{{NkCi_>P^j!Q?I8X$^6Tof>q%ZDC@v0> zd{~fwat&31bJ&2n89<*}l7R3E%30L1&7e2b^okove%eK=sX_jWi{7ct-X&Ge2J^EJ zKuOQ?sQ{9*!z2SGRdU~RvkRh){ULhKiJ>zL5dB@5uHx*E^ z$f&<^yd&k-o04}I(6`S~_S(rb8{IiFnPySR7%j-dn`r|#@K7PO(kJAf3TdXeh2+dB zR6dAf9|V;G^8$zM;Q^Gg;{*Jw4!+Nt#Wipv@A*yjxu1Y zSZo2v1t83QfxcJ-4A&m8ngNutYE2c|1+x7@=09KSABr&rud0qgo5~s%ZpN-_E|@Tz zfz7Q%p7qlF)!I0^taZ!AbsH~Q>g!;Jwj1DN4sCT?`r->KClrF#xlc(YGn*_Ktx4UxT|PRUN(wR;i~QkqYN9TAVj6jc_KK{YL9^#) zX6V}KjL@&0xpMS=cFq94u-990O}bOg-Z5H|-n2fD>GloUN>!|k6l9zU_iJ$(Sf&?^@7fyP4SjK! z|0a3zQ=-^biKf)8+BQ}zBq zAFFoi37S;=4ibKy<;~h!6WUN^g|Ry>VH%ZzZ6_8=HZKsxU4khd2P$6bxgA zeG8#v9EkVE{HsUoq0H&8tjWe2`33ikfi&c!B~&bb@1=S<lH zFLaXwtQEr18;?f7TSx5$THyeyAwy6P`->tNqJ%xRqtYKovC8n@K*Tqsl;td)zycW96N6$Jr?4+&wbDlNx*94QXQQo9FnO$oaKbky ze^E$Tt`8CdfCM(Qr- z^642gMowpm$gh(#7tp^<&92JBfKF9(dDVKZ3DCAQ<){-TCqOBnCO~E>CU=}y?r5TQ zqt^3M6U`a#WE@{6J&WkWxdXm^5zUn+7g5Ee`$=ib*&slhP$u77L^qC>xvV2&;aUq>o0~RT3_2%q= zsbxRgqB6+#IUv$L(n_0iNB?3gU7oydCEX&j7hJNjjebw!L6UELM@*M1E~2TaMC2kW z5)YHS{vxX8-+L~?AWx8d`XZ_lk5lrki|F=o{K7zrl0-xgw7vz%e|QR=B?LIfm& zJa{p!N`QSxANnjJWm-21tQg)GhFXk~+TNis_(IGl(-i<=7dHcvoTU`JK6}EuyOg-q zwji?L`(!SBHz^HO7lf{$vsO&Il_meWikO#KV z)N#l8rAK>^U<5N$er*di01E0^Y{l~l_1pyhlsmI&kl7`y!vgS2kwFlR1sJh`8kNzi z22(MX$uq)yToqi9Rq)Q-a(9j>_5_)cniBc?R+`~^3hNz92wWzZ1E3QaxMr}GT9vHn zpx+c`FQ@H5+x6S%e0lNZR58s5;rankHZ_Ao&`EYOn+k?1x#3bWDW~8v6ny70x`PnO|Lp)FNl`CkK z{tS7{z1K`@Y-&oQ1sqvk$DqW}M&q8Ivr2(hzu`)nJ}QHS1|GVS=8pR91%jnZiS)n@ z(l|x*kolQ+rptfaNpr!JCc%_Wr;)E;+eu+p;uPg)8NzhJq--EK7+Bqg#kns6(i{TY zc7}bvv6dQ)jpWht$;%5h9IT@v%s(@&4ZN0}>@O3o%`D!sw$8T^M!YYNY)k%QkfxNT zs;2xhwy1y>$k0v`Es>qDX_56o@`I(8JA+uwr%ApSqN>D6<5GH^jIDH*x#)%{>s~tt z6kqEIO?;p}V0{}OK522*MT(Vv5BzV&H;wgsZ>9; z{7F=2DY`ArS|078QqNh+wkndJ34uL)i)7b)ecDBDQ9+rqIf{nLY&)YWCL{y#p(tbz zhW0ku9NOZhof=YL%vLDI>^(dh`LFX(0R|ra6+C>G_)iRfoES0uj8~dV$Pf0Auh^OC zk)xbA4%^$vcM0@nqL4rA0g+xPD9VNkhL(vf%F$_2DYQx<@4AZSOv?OLEnv(wNB;RLnj~t4 zoV+DK`^mXO@Mm!`s?$tJ!&xQE(^`jaR6 zXaasE4bxQlQa`yZ`>e90J^=BEu*=CEgYHTaf@l=UpAFO1Zu@OXGIAZ=>PqE-P-9&3ypPdO#0(b2FIco#qZY7$ zyCD4u^>jk35IV3(Bz=eI%L4U(_fz!4L<8?~$5d%dOD#x|ta@0)v;-4n+aO~jr|id; zYg1Z&3{=6^VM?U{_R6W);?gaEX4;RjQEFY`Lgo_9IQ6=mSo4*9tE0Lk2X|3rU23dv1-ZLp=d3%G`=O#;SOCfZ6+z6}RP9>~tl!=0rx# zVHO=b8AsOnUG6(ZZ}Y57ohe&hHtkeg8I1Rov14i}``^qd0>I|XS|VT<1*#0kp!Eec zqvY3ldf9Fcvx^)S{)TWOYAurVl9|kz z{F@2+)#8(zzeGjnt4iy;djVaT$tqiGa3N|H`h8t2;#J+r8B4&Do;3>j+6{D#SR~|C zH-h+EB4ph%qe?6j@}?VUZn;+p%=<$uIgJ%i9cX-P4wbTq;^KS|DNq5o3VHTMT0mXN z3^EFn8dCfM zRml&UbX84G`5gesrka($^L!idUwdsAYZ|*zkKv&$e(iC7R}OsKRua4fF~z^jW*D151-!!Y0Q{u)K{bsO}`A> zO4HLa(5mDYkJFS9T*p11r`7WIhpB2}MipQkfABE;h9y^gnO?Kbsa9eBa9@>Z`|FbU>yogR zguYH#CZY1!<5Xd@$Hm^!g+bc-B>fZ3(B&tepvOQOT=G47nq>8pw7NN)jk$AE%_{8P zzR2#HRkgL&4)(2L(J?r|APXBpmaM@qhn^%~;RZpl#vK3+tW5Fs_T=9^N$2bG^wYE? zk)vSz8J`B}%uAPodAF*BPz&OV+NF>tsVBP!*4x^_+;SE+2`!vbxiEE4T@YiboY9gK7i_CoCm&by}8FFXH*mID?1?Z43P8?tM^ z!KpkPgQfyzg541I0J%j`k=35OX)|pU8-%>$UVVnV>N#qd=*V+GaBdcC{X1Qrcn(Vg z)LP>wg;&1w9PLbzWqW@}Jx;=10GigK=}P3JAJI1*VT=6vkLW1p+I$e@zw%>x+AdO( zyyVO3MW(-N0%zhDAuXBmQ#x9fJvLh?))G~QTJpvhsH6y8 zZ)&#}S+BhCuE57pP*CLZVDQ@B-aGH@iVzAxcbHqyB!k=UTTIGxZ zx-I{^IG9!HkpY@+sHa~H(0rj4%fV}@b`8I=^h;`qDZ@K{V)?lr%gr*S_ShbeuxxHp zu8!&c<;QLHnO7=~AS5I>0=+2X(J>eOnmi1D-8cer7TkpluTc#4kWi; zO+Tc>PNuBX7f@myAgZ%-F;VCA$nWb&Cw%?Pn}Hs+3WQ>H8E*jf*ma)UuIpjYiAONysD#f5R^4B38xpl`8!uqr{f&v!Zu5+44@-MtDRp#y`E zX$F1FpRlqf1Damd1$l6Q7SFrmFG9xZxc>oJ_(v+0r>~W=DWIup>{9*i z@@qenmDiKkTJo)*pcx6Z9~9)U6RlB$OU4?tSmHWXDq3EI&}^fYFl*B-JfceR&USj> zXZJm8pP%uiCJinkDK3tY19oG2=p`tO;X0~t<$Q^5w#lyRsnMlShWz~X6qMnOP>rz$%#97! zT&PxkbgcE40@a8iZdFp@vYqERU(8pU%BL3iU}p#y?kJqw)R7SorgzbrNex>Eq3mqk z1^Iq>pulWdRM}M)uu>VZB|tR<&e4LZ(8I?I3%KB(qlM0qTmI<=x+)PCnZ`~)fVtLA zY}$#xelgPVX0#Kt%4@l%6i`cw&4RoHPBME1?N}K((9+I&pm@yUa}&Hhmt$|H|C{@c6 z=vrX3uBb^rlrorktGC!s>1C~)ZEVI|5s6p`veiRV6J4-e&Nf``vV5%?d}(c|zn<&O z0f&8bTCG{mPpzPICcArxusk{*_kY;Var>wBzQI0vPVKyFOpY|#r&;}4QU~|BRjnj@j$adv9)#cw|(HVeG z2B1=KN{F&r+M+0tbAd{UDzf^x3xl($BX(v{V2wom+HL0qBQSQC614d@FuZ~A;Z1j9D3DY&?lwRylh|`Yi-5KR8TN<|;+AeKe<+v6Ua{=Ptj8eGaTOTVZ%l zo~sA)@8^orxi^mnVbu$EpBSYNZP|Ue$%c{TY+k7!WB31f$nWETB0fcyao7v?)$M~F4I>T<-DDy+ zYkAyht&Y$EeB!a$9Z9f{wp#zbfYpnje=Q`Xh@Ap;wOZorRE6nPn-9lFu1BTjt{Rsy z0+kJu{XRRNcz?aW3B6Y}+r771$?3PYnOYT|2iQXW3W-4Y$=+n3ws@}(MBpDi0D6bV zW1nV?S5Iq(ZO9don!gP2V0*Us3K z)LEsFcN!<e2#HCx(UGRv@kv*Q(#vwF{PO9<9tmtB6x|5SHGKLpn5i zk^W8#g~gUGweo1wv=yuaREiy&sx-9gg`7B1%o8^Xxn!c4Y1}Ii&FkRl)^V3c!a)Qs z(}v8$&y>nXCW@8ZgO5xS3GM;^CJu_C72sX=1cH%xDvHx?2q=L_ak7-z9q1UfTVA_Y z)Z73{pKW!Nl@n<3st)*G#-PoIX}#962A+PA{juKgp!Hp74HtzV6b zm6bNMn)PhvXr)}*`YkD)nsd5EF|ZZs*XqFGpjCBS5jw7~BRmN8CD?+hmEqlXVw~2X zzHLaigl&_>Y;jn~t0#+cIxJ6Z)Td6+4hv7gf$skNeGAR69&JwC zBB<(O7N&y6L}0F4QeUgCa^7Zqrz+1{pl>vke|e*!-73iE6b6*@FJF+K{VqEtkYiy% z*1Lq3mCQ-$DA43NSB`Ui15bAOqM~!<&~8m+j^JEbU8roa_gp#tQ{NJi0j#3@%g-|du|uB+7>WvwBD=>E;qk;tZwG0UmUShjd|)=McEix3SfP9t6B8*#f#3^u^(Mp zjg1dr;s$ZJWg3%D`9sYRHgn(}!?p)nxL~Jw{nslJcVXYHj0A_-;>rUNQ2cHzC4Pai z#j)*MF6xWGvjWC?R#YQHJA$p28iF=X({9fa2Hc zNH_kE&`;jWtS7hTYg2UGP(RA4qW~6YcCbqzz?I>6H_QoELF*4lq>^Zchke(`;iMp0 z~tP8=iF<(5syr~Sv9tai^0@iI-m>R-7 zD^w@i_1P!DFgJR4s!_A%8~$2n)sf~~gTsumA57E-U{PwD3R4m6)sQq3->CGAczN_2 zvl?<=+64_wyEknI1@RCLK+NI&Liy?@d@6^4R; zu@q@RCs<2oZaLU8bSK7Yj#j9iga*11r!3f+c1))A>cf5&W3m&XY^?KGI_RX(ZX2^f z&fVMTSe?Kvx;tR>^;s^BLf0%af(L~xoUNCdk@b1z&P(#-C;ydN#KR)_-G8NT2=Ta( z*Zqnv5KjpC@ULj4ct#}Y*YM{;4q15`79~x|<)`UZ9lt+*je5n5#|5=Gd!rR*ap)|9 zIKe&zHC_1zybdgjloI(jZ$MdzT0VUS&Iax?G?@L8j-J`RI@87C`n`;Pra6XR?sVb0d+-a~3jrPF2<>o)_}DGgJ#@>z~iiPyE?x zytH3l%|76PPQ@m{b2dw=Om$qeO#b3`bY^UKyBpq2`An6{$KIrT@q&=wdz0z`vOm5F z2re0`=?;*^@WkQ{U`1eGEB`>qwqubYe6X}6URnPK%CmK_Sq;<)y*c^uKTyxu{(Q+N z-lmfVcjya$q8r62Ay0fuFOff)EXEgli*|7cQ`S{s&Bk69a>t+H{I@oF-Jj`3%29is zte101EKK&0xQ5_40C$5%81-SnIqNN1q>DZwtZHWIqUkkx@Xs_e`M66wJ9=$RrKyD- zh~-mNAZF9zAnptD#Y|Xzuy3x=y|O)D?4FhlM#m3DwvQ7x?JUxPo$!on$Z$6jzI}R2DCkC$9V)(g?Qaa%!^vjk@o6jojN2J~kIZ#d0 zb^#Hxj18Q=^~uqWaPd0D?%RHMme-WhqddU!6L3&0;a2>Vs@@8WG_n@?#XrD`o4t(3 zzl_xnh-s&V{PtvVK}sKABfTE+^;|2XA9=(j(-hO{m@NZ)ga>*euM2sgP}I9yYT3U) zHkODPvV4ljOFmU73P%`Cot`3YZeX6T6LL_vw|V$yShxId*jY10@znWNgT|;`u8HPk zV-cL0b9;1avAA|hv*H_Z)LN$08W#9G^k78hcCUE6Vl}IAdGlVyvMv@?U=cyzW$V>t z>r63qdRc$q07vG{^>H#fk|#^WA1TLBp$U?oO*LC!jB=swb`D8fKXPYMJ^y< zTdOMa>XI9LV$xrzuc$`#E*$C$V)Hp2JT+Ss&43LgULMq`d7V8GYt$Ppzb;uaOEmt4 znk!aAeZbCm>4`xwzl@1NBhzh!<}CmlX3yRsT~=0!Ec?50tCL%*#A@+=XX(PZqQtJb zM2ugX+&fqNdDO+@DTDb7FIo^q_}50YaCyZdeOn}_&J&g7bkTV$x1A>*b81ie>%?gx zuw5dL0HZd{7d7InkXOtX4T-k}d3d#hRA+mDzI3`^e`r@a<$;1bo=z4aYC||9bIaiF z!A{6yc88)+E)B$o^i;@Y$F*81p*e15x|Xu|Tp&15QK?tjSy8Zl7rQJleFKHFW$YA_ z&wN3jQTZ0^`dPiVS5F5(e+#(8$bVbBEws1o0VWzmN#Z?q!g{s@_JcPj9SBF`!~#Qe zA)%|pLPHye1ZX&XK_Kzf98#5^7a7__d~mD8VnZuLB2OjGH?(3T@>QbQ&`OaQrxHsH ztsIH*S`oLIXfU)&Bqvx&^r0H50xN}1)FL&}N}(6^NKLX*=td(_ldTjwvIr@Ul|oM* zLhMK@fu1bErzutnU0H_IR4cW_NNBA{7OCU{^o70Ii>(y;(uQx-tQ7jP4yh6=g}!V+ z%4?<2m(56(S}F8p8&cD)6#B9qsTo!Zo!N<0nUz9k>H zQ`92^TZf4giZN{UV)e*?)u*XPhN@no9vP%ME=53IhNoVt9=9j>dAfRLQ0g<(BZE;d zQ;!Toy<9yq0QH&bv7a9+)Z<<}3haj=JyWj@A~lzl<;8%%Va|W8uHg?`$c_D@9n=+$ znBxQ2sIG5dzqadjY>_%@%EGV^e5t%%+1(_%1rVY_E-yAgmWb##k6l_UV~d2>K}__F<>;rkUD7n2wg!QayYHxv)2+sKSXym|f$M7Iutf0=h6nW@H3~2<; z@0Xqx5YY7}{VPOOx{l5@Vm!P|_OB8@5UGmomshP32w>uL+J0HMRvb;e%=19}+2`aK z1ro`P7mMG~yu(=&hc4$%+%1?XOdMcRbHz+BAs1cofoUxpBXGd9+|dvoI)-JX-Kv}S zUE!4Jb9hY6UfY zBP1q^DG+DWanRKGu#&JKn2@a8Ev}bae@x}AN+4~C+F@`sI;UY9puiY<2qKtB6zo2q zs_@(k2m9sZ-t@*SEl?C^uDzxPgW4;4#T?aS)%$5uKG`eENAz4@o&5J+F-0GXBdY5Y zGp6Pa*C@ML-gp4kvithPHDi@5?8n6P%k%n0nZ5Z+gsUdG3uzjw% z9}$)E)dBIT*3seFpwxez77QV&Ndq%yrt+%fqY?4*u{!Y3Ac(bo`SU?hk{OIDze_ZS}R&B>SVMUt?s+SI& zy(0PM4e+weVWWNZa=~ZB^4Vo5)Csl&@(NZ&MFvLcg9>pp;U+P@_{_+d(qesb-c2H3 z0LAybXU;aVr3{u{Ae)_-1<$imyiO4%dDXJ%GeD|1w+7){AdpA#47h8AEOW*Pq* zU@f#TPUo7(e_mWXk!@=rWo8@Bn|(6yc~LdfzOZ4`+Tn0i_yuwNT#NR8-JIW3FMo2I zn3sQCr=x5GCm;JMR)X(#2u%(d$rZPY?+bCGAt&A;ekBeY$+zwhPtwTD#mV1&Nl0QR zv`^g$e^t0-{==O@C;hmdZ#MK)%jY4KIIIy zCo05)x}5uWVqxN8M#WyXBabb3BK^GZh4gdN>GboWx6;px336q-?D-SZ&&{Rj=Oxwr zT&C)8Yyg#;N;EFxM8f{GU|q(ih1)U`O@WNWqW+A;;$b8-9)LKZYxo28)=!V?8vZml zj23x3;wfFj9|V&9^o))#&!~Kl>(A*L{_-^U^SbuD&Jho)6V7R`@#w`VUBjO$`7)P$ z83~<9a8$t{5wGhS{#1suoZ&2Iz<->9;UwPHHTN1LnUWm;vX3p_@WkEmYt!V zGt_eiW(kmiCqyuFr7|S?X$j{5qoOHJ0XcYc^lz?5zewZCAAE+)x z&vwC-M0u$CakAr9FbeH54O=M=uXrvoO)0HFCOQ1K< z*Tb??6^Y7eYY=p~-JlbTD4&|G9ynq$hda37m?#_}cGIs(e&CpBC)z3R`?_eE$>c{j z{CutGX|TDn3|nB?8ILshl9P{%9}#Vqzy5~U*38jXLcS}zY?F+2Y!%moIQdJLT2YY@ za7@MHVsGhicbEgDDVec+g^wv&Jgc>{y*(Sj-kh^^^UF_jQyYpvrI0FzmGE-SmsU7=RCJVjJ4_|2dLcC;%c zrUqfFLZs)0YpO%^jse?*zZ*6qGME%~IN=T_!Pd1T?@Nl;oJHtO9)D2WMKnpwTo^rh1l1(RsLE>&hF8#K6yyRz%ejjsXm~=btjnzik zKO(S3lbrG$2!VIX*6)aByK#J&QB}li(XTwVtvEU{FEw!hAKq}FZwG?+8dfx*7rrAr z!b((C-fzIG$_{nYf)K?J=G8H~XYZo>4cYX#nA18+wvOFO_1?+3(?Noc8?-uApM5>l za&1Cga^P_Ytrx!p7>-)53%+t&VYYQ;m!;9)5IBGcv9=Yuy!W4kUp#2Y7ybznPV0C2 zB;}88Pl)xdG`aDA!!@vMMK0n1!m$QqPj`Ni!YUTpnVy(bwT-$gbw`(v%PLnb{+F*u z>r#1P0uPfiwfi%6J)H3sy5Z=Byr0y4RUDmx#hd#=Ud|fxBL-}$`fk_-D-@<`Rd)3W zyCJm=Va=cnW6@YHl2ewQc16Br%gQW-2iFu@XW4S{wqP9PF{r=VRkDAG{#a zSXpVWu&mfNoKbqZ7XAVi7@Nl?qCO}AtwcHlcejgy#A9Y`$11yEG_W6OKLQ@E90pmf zf?%-26Hqn&GKK{M=sFu)DFh4;B?WfY#AS7`HT}JgUyRzNg)E7hmk*S{jw+e>Pf_Xa;kefnHA-bd7DNRfCD;%lGQ|ijkCx6UxoPqBvtx zUTEpcGA05`7sKW)kwUP%FF48`lsIasr@ke?ZNc>p@f=g0L$+Q`MW*C7y6gkHYbV8r z;0NpXT?V|t-btx13MW~?NU%wq3RwG$1#2Jo8J$s73t$7wm;}}Vyi?fGLoIzfqzP(? z4Gn^mga%IC!S1C)JQaEA8{EG z@TL^q?0_11!u>F9Pgj@$a^)Gc&T`=e5p+OpQ=WaEC*UE#f%hp-CpynNPT`6eo4Ddy zISw)jB{NScq#SIWnd`+L!^^rD-DAb^O~$DSN;#89iUF5|@$2HmtOwUSn;oLi7_gy-5+&sQ8^WdO;l z$;VZzL&QRFe$eL*yfSm3|L`VA03j(&B4bzv2``6TG1kPxRlssjP}tNy>9BYqD2U@+ zjz{@IV})CQDAg9RfaqUgA)0j0jNG*V8^ofb;3}LWC47)r2SYl)U$cm^L|0Tr0Ya=) z=MGDSvHiYwtISSH7vc#S41}#aRCwN@5w_NJTwPeII)xYM5(s)|-DNtm2UzpiGt=xv zb#*8j@u!C<&t4)nF{5?%2}q_uYvOmh`FH#LObX(;RQ|*F#6&sxJyT}*Sh~w$R z#On7E&=91UQ+T3ue;?I7Y`sa0IJL>skUpJ4K`^$Lr_+pESJ`9%Sks&@4tj<5cXf6d zkO9yFYbUZe-p9f5R_27ff81hu`Nzn=Q`4TXy1BX?t=gnUdNt?R4k99817ii}4%rNx zKvkfU6%eS8vC&e>{`BI`>e&|hoQu5zUVkTJhb>uk_ zV$oOr55)>fPW>@tt5lU7{;BZi!FKE`zYquL=$9-1RR}sNXT2;26J5MT1F_+OZbTOE zR^c;Y9vi?d*vby>IfK@=^4FEtM>YlSk3mv$hqDD$+1_XbAyjbqS-H|q)-k_|^J@8L zMxr=>({(>@P;*_I^4!E#saC~)V~{IuzjTf5)5+v3f8ro!R>+X&3`wtw;vK$yaOi?z z(eBYY2)M3ixPpwagT6p?8Sk~PS|E0_<@ouXOd?}54`-M#YR?-g4&_BnEjit8&gm?a zo-Y7C99}Q$3!H0Tz+w=m4DFOvS7Jn6O<5%%`)l41H~?A)x74@e^n_`!(^stpjCuE- z^_CYKa-}{Atyz8A2;JU3#4$^M(Y5w=M2BaSEdXdkAYoU{T3U7Oy`eR?@9ROHL3R#? zU?X398AHi_cL@}rF!Z)c;F2$V~(|PFFwq- zp74Ho^gX>${{G*AyWX;1g0-u+P>922 zR_zMMEt8`647vCfu~d}0Wb_sI>g;sMJ6;jcA-kr%$7_IG8oAVZ!oGd$6;XMC z%T>1p%HHk=`xT;oN~DksMvZ$kU^Z*c64N=i7s@>&8MNuDt5`pX)#T> zT&l0A_lu{Y=^7_D&M{_JYvW+`ke5HvrA>4dc+uN^q3$9@H+t5`b~OMx8Y<#JqG0K( zVuoIv>fgp!QN10ZQU-@LMdx9aY;Uqkm;COlV!qhs zl5f8X>4McINM2J7_WVZ7ENsB;tZ_6?k!ZC`zVt3){oMB(QJ^n!A=dD3L@{88_f|K} zcdzj-Xwa${Oc3FPgNI-*%a;5NkoN?J8L42R8pv3y5l**rqlMDh7f{0!{x}j#KXx~Wht`pzTRaXy|w}umYlq{Tr|4m*|)h{wGOn*O&{`> zyfn%+#`RW?nN1B&Upk@1&JI}W1j}r6DG#98iINFUPqjtPxET=jmo9Np^R_`2Pj0|T z#<)SF^}S$_u7;;*pbruj>+LcZtzDaXospM`T6-yh3I{zF46Sp?>s}L8VzW#B-D{$) zWQl8RqpEpLmQB?LM1N&e*8%jl>>T;0wYsbVZLV~IR+s#T8OC%u`E@b92cAW2Lf0K0 zsfAn^=cpSF$L+3wP|rzYXouZvmso-3BV--?NxnEzYh9lw+F z23%Sol{frbF;|3K^0U9iAslweCw?m~2EhCj&V_qqyQ#V&2H zRgtf01sm!jh#}BB+;J8D%P+c=(Se~2VTXM44KV`({<3ugYGMs-*d-HhK$Jd|>I$-4 zFx_d6Gz7(0XMtTwgPeQ@`ZW}@F~N0jh?yP(*B4tdUPcqR66&SIJo&{lV&1g0+Zr*c zuNKh;mwfRIf;$Vj`K*}AYpLg~h>ex?jkDr^Wn}%z?^Ma@zlYKO23PXb@5SZ1v&oX} ze-JgKAH+aUye+26PyZ2SJ^(tfUa>s-NAU-7Fx78lD4%-NzW7{Ssl>M@TD!GvS|Rq1 z8Zl!8%ThwSo`+Q~2TP2CG|kPdHUZ)K-|dBH8TFLm;;OXFT5*!pr0Ok zSG)wAR$l8$up({B9{@@2p+YsEWG zfVls|m?o!n;7n?tZsa9DpRa$BP#joc3946EE~_BF(QZ{eG3R~8BYVf|VR5_5@`~s* zOQb$QpN?+LoS>KRlpLI5lrey}P0+u{-OYVpH%TuiyuWy|{;jDQy|qLmheXor(c>tX zym5*ST2jd07wd0~HOGIPrr(V$&T>eW=s&>~VDePGF-Jb=)hkGtmAA|?zv%NOrkp9l1|s`Gdt(n{hV*du0{Me7eHttUUM|z;Ko?|gzGZ6CSC0OQyIu0anYtI> zE}yBF@wdh=%(Su;Ql3$ytZ!^Z?baBGSF27hpQlIuYaLjBp59-WF;5Nn zb1EP%$FYCVl?vKjq&{W@a(~$6_~$Kz^UT9&QLhBX$=6O~_3rUh?_fk}UoiH#)xF1E za`Ak<#tso)X;Ur5Rq0MW;X+g#t5fV$Zp8{mzn*Z(hvw_$o@@u6r(E*%e0`pH#wGVQ z=oRD3>|^z;OD=EF8}0Y!@$ac7EXTXt^2iEYLG@09{(wHl*M-TJMNn?j-BK*kSLiTC zORimlWg-rXWbgug2OBFSzulrQAiIK@vS_(})=4C*FXUxo^(eRHR&m6g{N)P0$2ez( zHvMWN?-^G`vJ3#_y}@_f_+P z)ZAw`l%0aL#S7_Wv-w!%tdyz27#_x_Tqb?D%shH*#xxk4Ww_|t_PWZIxG3jS%7wV} z%xEsehW4_{y#M%Y^J8D1dERN94_U6luVW!+xC(2hTm_a-{sQyGua^l`wA!3?yrksi zG05W0pVO<%!Q*+2O=*hwbgGtAYmPguRU#Q*de6R|s@iP)M)iM#_iULn zDUP3Q+ItrGvFl>Ja$Uv*J^VJ|o~6x0p{VlfhRl+q z*~dbqZt`uhpS4V@W6S4R9=QTY7!|fWFhe|t{`cw)T;crzy$EUZ$OFaVEth<>SD!6v z-Ez_{An1D8x=UXLdgIiUdMW4wxp}%#gk<3ky%s+&?$T?jQb5Ap7;sOCrqXEw4%ZJ{ zg+uFkmwcu}_nIx=ES;J;0(D~?dK9?|h`+}C^fzaUMhrNpSCphGtJ?+N@gCS=z^(#W ze{+>S-^rBre6}mHhhkp&txDuEpZ-=!UUvwhB8>gEZ#7!4$})yLp${h;GS)p*ntp43 z;GwEfdwE;C?&aL~Jyb(A^2I)oN#oq|y*_=0Smu_~`}HPr$xZz@_grTG!{<*YH`S^0 zrWKJt`Pxb^0;%o^#R2k19xml7IB$*l-oq96xBQWc_2hQWn;I1zl|zQcv+4jIce$yB z*~E0!U>9951VeAMaj6>2PdrjyH_?rlr(B65{@?;xh(4_u8rW^$rv{gsbb)6csXQO& zWK;GTsX@Ag*n@0on#DPSWGYOTt$h?0+vcW6ODc-p)MPb@dka|H$i!7~I_LF|HlF7o zCDOdD(P&_pJ&n?C^um4%rNYQYteTf~&ttPhx!e5Y zW6e$F?o4jE(mjG(u0%=nhkuNGPqkaCb{}gzbOJWZ=I=k*gnw&3-Hg^M+>ir0-VDkR26QB-C`lH)Nq0Nrmrj@565{Oy*khSz(71b ze>Q4jPg~r6(Pv8*sL;NZ%H_cG=11b@D@+Xh%K3QvJup-XXx2NQrZ5Go1RUyj%S z768jMXm;3mX^ijXT7&g{lX4C>w2{j?Vcnp$9BzSjU2V~5Bnsz15D|{;0xZqyeCj>m zU7@vGm3DCS0U&4=pAA8kay`(_2EMUJ#t!!fNOMMb8K7Twy^n~{UtmQNf8#a zw03KK<&Jmsg*97SzY4MPqS?8%Dy;=kToAwumP^iT+$zYoB1OPgYtUBlI<|$%&{x>u zevV`X$x-eku$EA+X4XD0O)#mPxhdvoRp2-GsC5BXZMAK;xv3_-(IKn1Y&LO2sK`Bj z=W2D^RABCNR^Wub5R}L{zH7ARjWFrA>IeYIjn#)Db(_w}4%G6d1}=`ptvbdk@8w{- zp=e@c4fE6vT@wn$Hee+h)NoZeu7aPiQJ5pjJWpdY#*WBfxZB8z5>%(vShL8Vw0dw! ze4VT_aU)twXnvkwwhgc}j@Y}k4PljQ!a((YV*G?M=bT3&I$ISBn&))#wg$-Jweh8yo@C z8XlUVbsYQVp=L_hisfQ$g@v^h+E{}t#zSyDZ?-y*y}E|S2lw-ajX=#C!mwpRpcgox zueVR4b)ZtLE0Oy`@I-I758KN)HuNT-wH|2tafb030u*L-Y=+jnB@qHO4n5i$#3_Ky zNSWr{7+DR)ES%D7cyprZ4WT$rABC^1auw)BByA>wQ>11a$2~+fsG?Hg7CR~^;}&g} zwtm|HESZ960Y|iRcFxw;UKTQoKQ-mbH1SoXL4h4*3Qw!n)?51#U0}Wp^idMLr2e!p3ccU5@TkwCpBO+lt5)ve{JoS z)MhuC*UP0SQ@q}-qw;#Urc3|kL|MX9z-Cq)D-F@2dl11d92{{1+&(J%SA!BNq%aH0 zoOJ@fbybo5q2MpoSDj+~5jYBXChk-OdDQLco`Ss`eLd17=bzs`0zL7Y_ivoGkL5xmP&?y)an zEQ%v8RjjBZfE!C-4#<%y$XlemI1o9GJaDgqv##|41jayMI3rocj!s~JQyH{p-1eFusT$(_616?e3_F0k1(> z)!Qcn-Xj^%XZ*((`VkjZQ(jk-uq= zp*;`U1~3FW2b+C7gRFnvUC`9So(G7ms36DAor)`6!8JSWsTN?++5~y?5X^Bc$=VBG zery@F#mX<&5->r=jBpIiF7m+28@%TWS?pca2=1;*_2iU0zXn#Z;5p+k)(<)@E8a76 zpoWJ#gORa)E!^VcO3U!Po7DRm2y_x+33`y4vZ{bVzVyu2r`ti5SHU9F{L&>~6Q|wB z?ppr@iPzm6Xt&fnw9!w&V-IXRKom3^+Xv{Q<{j;~h_miv=WqVFOT6VqOt)sdeEZUm zbF{S&Usg?v%&%N_H!P^PTz;z+fbB->r^dW<`-jEb&>dg#({v~;vtj1~^Z6_Lv)_z! zX8EJ$-|iU7`u1J%p8MFw4|sGzdB?f}JwmwhIF8UX^XJ`cxc#SYSg4y91uw_HcLew0 z-;&Tp__s6k12HZSk!PBlz0F(gU@%)@A{q)pw$0)s*xpXeLu_a}yrd0BNP<>66Q}Gm_p@H-^<*T>c@% zQWbakt7#KnMd1bz~)lClteX#mGPE(Mt0WyktWmqDBA;TRC`;#=WaE6MZ4*%wO)iPcP3) z#VwgaE#|lT@1mo}dI!o}aMUtC7JJu@EbdLkh_IGa=>&waXAMduYP~2q_UrhksHlUT zNU;iSf3j_Z!9d)6ELM^zv;AJ*k3;VS^!PmTmd9_664Y*%TY4u z@8U)wN6u-NakAsyYCaj8a1OuL0^`|Ki;8c^c5EH90G;Px_g3~0i<;XwP; zGXHz-J(qc>LrF*i0VWXIgeKFZ z4Har=2?RLP-l9(4wG4i)nk>wOFym7A-5a;)vR{Rl8fXXlX^; zRo0^NQ&e`#uBfa?R!eEN-;NQ*Zo_@Zq!xfCuDDA&z+dXLX{I>0|M03p1q30{rDps=c zujqf_LnB$~v(J7oMD{rHNB^-8{i}bvCzBND$o8=}WpxOKQKqyZ$RQd>E+ghhDWRcZ zj!q^c@6JAh47pBiI-DDV{aZg$8gh+_CcCYu|2rQ^xu3#EVflR@cRxY7-`#hM`w7Y{ z+WB7h6WP|7{vYmq)0{1PgcHM<@}T4IqFl9ciFu7UEUz-IW^>7f%V_ZQcYJJJ{vdDW zd;0(NV?F&R?jK{B;kWzQ{e{mK>{`Lh29JpS)*9RYj~}lx=j-qJ{a2fdJdVS}H0;77 z{k8b}gZ}aU?5z7ojLz@Rd!XH1<{|%uvi{FK(96tcOCJ0QGgqkE&yEqlgJ*LG3 zY?|8vLzA}m_P0FNjJGd6mKc#89aCoi{WCu`1MfcYsmHF4d4gqKAh+So3x)fIRQ$@) zI>ga#@50(55VWU%(VpAOE>r}N>GuGIISfepU)!@PZ;&??&(?q1V#6!4CQZ<3_Ah(< zGl15kPZaj&J@Ga9ttbcdpZ(nvh*PCXG=Aow`u1$)lOa|zSRby&cMf~@j;AWw;6r(I z-><0E4}EUMxGMPaT{Go6XhklZ&0g5>e7>MR|LJBP#QXm7`^S%TnQtlUm0(`~?x*M7 z`X*=yU~EL}pm<%%>7Ifgl&$XU?vNxEQBk-o5*_8_fDb3`wqCg1M~zJ@??6zOjK-yc zOjE(9R8VXEe|~x#*$|E2|ATj$@cLo>qyGLIWZ*yI-Mq*IMmYQTPfuH_y}n4440WMa zDtZT-t!rz-rOW#F?W^^`bb)I1um9}GXaBTsBWs$P+g$h^+8ONi&Y^755JO}Ydc8K& z>*t>uciAG=fvgZxjZ4&T|M90_|HpXnDKq)C;(R_dH#alChfL%MPtAQeCKE zEv;~Gr>x_No+wg|Mxa$D8z^izLa|^X^j-Ul5F7whWH=5?u3a`msYoRp9bOq5sLJN2d^KYVgsy2G^7`xMdxgPA+M9dBNDw!yB7BzMjr5xu`ONQg0Hw6uG1k zMo5jn5SA~OG@|@qHKPjHbTAGwn1%#}nBExdF$LbCuvcA(rJ{DdtP@dG)QjFEm?Us) zz!OmQH2nRo|Xq_Immke0!{~7q4v7==1bH|7w2! z#G}Qmw139Yyn-y50I2~I*CJL(GP&8)zwYQH6CcA~tDLsg1Nl-R>E~l@TRn`@Q&nIU z)FNaamA2!|5bM&X${1T!SD{xYqO0mx3(e!h`fq-g#WS9) zB?X=pDlrdrvEOrn0B1k?fGlZ0rt`ze<}}t{@cP&>>&?;(=Z%+nOyM|K2XE{-J(DU&#Md{CUSWh!{ zNG$2H7O)cWc$alOdk!(Bt!wXq4!A-Krc{(ZxZmYWqU6GC03{eC{=FdAt14`~c#&n2 z0!>7&&bW#n_Vi!&yTbJ6*IP(ua%6~_t_40S`&`c|jAJxI{Cs1GCMf?$ zJy%xKk%l4wF3TfhR8;BcAWE3fL*}dXIG_JM&PlRl&}R%3ioQ zoYDo>^jafXP>kJRRi%2dVN2RNVLDf{p?i%Eg^vgVr#-Cd*6uY~_e0~fCtM6s9*GQ! zlik-$nNmG1h$;h0A!$nOx}A>vi%nsbar@Ngl0H;gl$V7+*iu_9q^ zux<`!Mq-@RdZ6dDAQJghz2OL~nvd;Q?cWxBrGwMdCYGa9{c( zeb&9KAm2Oqi6nrzsz`TJ;_9Zz8?4oIu#SM3B(b?zcegd(EV9IXcUzUEVgoD5YA&hHo3++$4~8(leD2U*iSEzvm_ z5divSvHl+Gni0_o80NKToM{Z>_lalku_ok4YnOI*&PUKQ^dIj=;6ua1zbsDOV?|O; z5L-D804dMAo;`BT$`WR~MmLvP@HSs;)8zA#LwM%Rc^awh{%{ z#6x#AU9Kt04>G?`{G!uZXV!Ve2UFHHe74uy+8?qv9ArOa_&h*SgA#dBxZ6wU$OQ z!tdD74NVxn$JIjID^_l^-aRq_<9p{ux~>M8BHn^_7MZ;}2S` z2ta-J53F%PIOUN#38Hc?6on=Mo z%8y$O443|${nkV51u^^qtA)KNk`Gu{UI7xIR4@1~=;*~EHjGeg-pgv|U&?O$VQ>GZ z%8SyW2d!$W;K)VlvLB22hpYnY$Hp;n|HD@F@;AJ2@NdT*YrNql64H1>yz;QMfgKk& zJ!0L+PKXaZVl65-evu~0hjxOCwm5N-vSW|yGjY;&CQi~?9`_ojMDO2OzbZIAM18{Q zbI<7dXI=Hr(8>qH(=ds%)D(W7lbdngTWFjgy0u)$M_eTKs5N8sw9Lt5g@|9ZpkpmU zEU$$}qfgxNsMS#7oGBbz(ro0Um&FKB49ygZRJh@XGbnsr09$;uG9c>@JVgr5+Zo@Q!ZT0@fx zM)(H5_Gx3p`EOXG5Dx;V!DdDg@^+c|K4Yw&!|xxnW|$>v4huhJ%`BLN0^EybVMe+9 z8a|ICUcUYhN5}Z3KM^rAP3a?_vba5Y211X)?Q3lu9Jjoci~`<8QXuI0 zI=$dY>&s@r^uMs1I(KdVY+9lQpV8nGpW2W0tJ`m_GUv-5h$6wn&-PnWtwp||*t6dn zou2ylRxdADHgu1s37`1o z7h&nx?i0fgTE&+YS=tMBDx!p}_w~2mG&;THp!HEUy;p9ffm9ZKzM%~!!jxU35QY*s zR(Z}X2+HP@pRq=#N*5whnA8KXFnLQzdkT=L#j|20xWhTz>|-zK9}dV@L|mz#D%VkK_=ly%d)9=u2ixrMIv4CZd*Sn(g9v}$gMUj*k|@}wUbV$y_kQoDWXH1B~q zg2U46mOwZKH2fY~4gB1Dk(p#<@`QC@fnx9mxLTC~(`dvGJhhPaibROOFo-!T?}KOr zMSKKXaDL@ai+}pGbp^s^x3xuceNjx|dEBbWN4B@DgUX6{57Mfvz}@h;RXr^N+lAI1 zw0&n}b#ISK>d?{&DW)_+Skv1BmNi;m*VYYUyDtl}1{Vt+w@Sk``VEGH<6+q1vL`GN z?p;H{2q5uPh*60r5q{~E;2b5#aY`n{KGr(VxwDi#V~-+LYSo(U-Qa%iyax}mH^c{98XH; zAZMFcVU`@&??VdfZ1)g#!>P4a_g@jo=^c1T_FWMn+bduz#bH!LM)$5Tn=F6o zpwBJ2#_9}oEPDo58fcS4IpvoN$q14d5dX97tHk>bp&7E(BX387H8S{>km_gbgmg|DXSRlM-cLac0K=7e4NzKY%> za4oKbSlbC7OXVR?zy?^lRnQA<6N~5iv2kL^RdFf?XUu~EVyqhg0TP4MWl$=$#XHva zv_65j$0~0DpdTK)o!#yyVMHxzOSzsHM*WhWIAUD1WZMd}yw!2oX1a<=#@YQloJ1}6 zgF>ZRaX&K37Gv2l?dDh;#)nK;&}f~+{3CM`8{;hv*VW+6Zft}^2j**d?ta`i*kf4N zob&~2AohIQ*b-I7V4CXW%HGrc0a<(As0v$-g7l}8iZcI{ysXnO`mBf?;bEs7wC1OgV`ADJ# zcsha5*xlN$@=ll&CRBXdXjpoFTfCYGJId)n|0_BZ+Gyk~k(O~t`a#H^#IoI*+KLf% zioICd9Y=N_ogD~6l6^+YU;@z_pAD-Pk|%GW!AML>E%anZ20<+qiPnG&%uW{K<)2dx zrz@ByCdg(klUIbMt|vgFNU4-72)c}nOVJ7t<*k6=rJePikVrqR=0$S`O-e5)A4itB zjK4kKhFcP%WF#7KCP?xICBlKZE!i7K;bxv%ljxu%JuMJm zGggOGAI=sb{x%W9u#&)BWIhW7(CA6DMP!N(xe}Re#hgIibr0YjeEca|3a3HcOt%9# zw3aPm!9mlPDkUd*2^pZ%Uv^g-WE6^2?|^x)G{kL>wZx;P*aUSGfEa&;8gOkuQqs2W zg(sD}TzI8!j^av>UMQsrUQ9}pI+Hm=gZMdQWI%av)z9RcgB+-V@{+2279>L&jURaJfk4rJ?UszHJ}cQ%$DDz0ir7s~z{D4K!G#R5!WPi8zCXer55 zPrMCah~eBu`MpJ)(ErU+(qu^amP)?bDwwJ&*$knK5iP!FA|3k2+;PYA2m%>-gkYDAQ zfADJ%W{&WS6JN7dnx{>1<8v0|ivFSHiZ|u^Rd+@HEQ_CyT%I5#b|9rFzM1$rRz4{# z@f#&WH#T9SThlRV=z?QzDA&DKyL!blmsvrj{{rHy5`zG7Rw?J&Hg2oMrZ!0Y+tW8E z5ho>=QBC75_Zw6E>2v>Jy=;|ClLMdbFEplKWIUtl^mt~w##84PBfn`~2j2~G^Ea() z>2u3Bt%>EcsgF9p(IA_ikEZ8etm#F%>1D2_7x~4xZ(31SCCa`fKbC(B(RY_o!;AdJ z3V(Xbx2%WEz$)1T?#Gy4l>C#m%-my%jsFDoSllnZ{ZH1F1@WOf&J|cD{BSxMoxbHI zYZo`$0Us}0`_1)!asLqnW?b)2f8_`QOc(SH-Q1W9OdR_BNYg%A1UFm3^o`%M##+{9 zzqdaY8zp*QwS>9VFNVKnRa#s1!=MC*h4*jMxG zMB-!R$&`H1pNSi@L_czK^x0a(u;}c_tj6(%(H;+jJIaic&NGJb;6+xj;6ZJuv5RMq z+9P@r>;5@+5{O+-f%+GM4h4KL%{lOpM zyd1Q|Km5pwng{9K)#DGVZ|JT*_cJShTpn||NF4W5#!$y$0vd2}`ez89{tf)`P|mC5DV&?1TchEy zNMu2LABJEi&x}mfK-bpU(}NgtWHtyT>utIUe1u#|11#8y9Q6Lg1=#%wiQG@- zltOm2fgJi_F3X+rdso8ZMf~nCvLnp?IlvB}u=(fK_^EY>*VIM`skh? z1ZvL@0<~xT09!`cx#^E-2Mqk9`yVfSfuTtUc_SdrNJcXd3S_*$e4_0a7UV)tZuo`e zF-HW%#(%XAr&a>RWg zNF3?F*0x4gQxH55r!i#8L#mxF2>H=eGLa$?K9Q*q`}eq-);ag0uC-A;&?!T^b;<_K zCm{=Ys-%F#bJF60u~fx=}pzYlDkdlWjqV#ebuIU)`Yl1^4bOGC#ps7J<# z1^;GEX2s&Jf3wPOoi`KdVv#qiJLZCnvHWd%Ospj?jBaqol%-D@USUx&aaz#$M#w8N z!&bRhBQa?JCQfu(>#Y%4(DaBYZ&@EP^8?}=Z&}mKqJTL6mNnBH8xVD8tg?cli$MHU zB}@^^NFI`b`mq{kX1{G+o!DPU9wq(>a3+7oC0)B5h^Q>e%Y+n7e5N0~7_Aoc|KIPv^>$XDO~ zqg7$qNM3`qT%$zY+qi)1-0$ys+bXH6;g&1D5EJs%x3h zOYHRU>E`@^c-h03>7-_3%8mIn(?tOT|F9_Ko@D_8|BxyvVBjAfjj)k5X_ZQ)p4W3^Sa8mXxwAIAmF&Amufg`iDd1k7^=#0?BHFT^KYzKvQ(hM67o zxietw)N}0&@xsXi_STic%yIi;VG75*DdO#ozvq;Au2at80sM*?Ei!wvD~+md1zqCxZL%hI@CIAeXc6 zJmObjeueo=KwLh8mlX{#OM8YII~XtyW-HYD579$3_FQJye=q{@@_N8fVM)hVt>AzzlZyeP&Y>d#!;uC0$y!S3y9|n zc%H9NiWpne&ujh1sO%d7iu)$=JIqi} zoSMk5H%A1;q*7jK+Cj0j6uXxn6q`!oS;HvkODfh*Nb zK`g@v>g)|>pf=UIW?-#q4{8BxfZuo3Dncy`KaQM)nL(bJ#7hC{w_L$X#r0S4k?Q;O zs|G+*Nl^1BxS+{Z1GpQ}=&>BeB)JlBL%m!=fLYoj8vcY_tN(rluV?vlm*Bo_i!TA^ zDdTP+E(8o8c9rpKQ?>JvkF7a@w5KvJVmG9~kJiZ;At)4~Q>V-jVj!b*L75*F!q<5S zV@m1|Cnp5LLDfBvDRA5ujV^d9uUw@&m4? z4_(Pi#F9T+U1oVueDp2&3oIz-O<7q&Wzg}6ElU5Uod4SLSJNIn=P{-P({O+dvYV&L z<%jRHF&*EmQY>Cw5dYjLbv8mS4oHtX8-;;V=>vTC4zti`(0z>&a?Sne_N)2J%$%M<7u#dX*4Bz@AzWr6Qr1E5?c8=9P6b}a{Oy&@=Xzn)JWjwGF+ zi;xKf(gNi=IeHwD!IC45bUGw$E4e_f3Od?av1o=h`ZDO?s0?UCI26W$;_&r+j`qDQ z9qR~PkY5V6D=mFqM#Ps)H#UQGn8C#WUP)Oz%VkC zs{9abap><5<%UE7Iu%@@PWr=CP;U(sJ{_W4|D2T93onACzEX_`FS1NGJ))Osw`-Xm zk;_zwwcbt3gr9o`8?ti4CytseOs}8L>v#&eX2G!~)FK!mzD56z5WCc)m0rjJ4qc@* zz>Sv8>%7yk=^xJPBr7Dtm1oRTBlsC91FKW+Xbe;!6q9!fEJ@Q)-0M3#!q(*g(ZY)eSrgiHb*Mp)_p zw0p=dR=z`)jkKpBM9h_Cd`Gk84 zdF@JKtaAy>=dL5cp(Wfuxzs-0I(`-q- zqFMl?X=Fo;8N453u9nc@8j4C2%~M?7NNw4s!rMC=dOcQ7GxkXeN{kV&jyJ~ujWkBm zl;VGwq(b8)A=KGX3`D%yX?2@>gQ9dMpFMMzavNmRSvJ`$d(qC5oFv;9#FdAWXyA*% zOZNw#2_6g{3O*NnF?cw5BzQDv><@~2X7M8Nt(m;ad`ADcY!<)DJg9#xn+0m?ko@s( z^Ev(S`?L5Jffs@d(X(Rk5)7v8dVU~mzNlZnvXqYtlhX<0V3Ia4jKe|kr=@%vKN8fA zG0T?m$jE^XF~(7e?<3-=Wqfq%SkOBIR*&mqEuApVQ=zbmwGj~}WxNp#yMkmDuSJ$5 zxFqFC2}GWhzj+HOdQ&nNgPOH+Vfn>75!4^U=AX8tE>61h%@U?1MntgaHAsReWQDb23 ztZ@xD&IH+9{lirr-4!qESl5xlx#z}Nl%Zev;Vy$gpLyqD4AwfUkT#Ok3nHQsF@qH- zoFh$9ak1q=*o!dgu&hf#Z44CvTpp1dsjfp>oX$*i_q58bHEfEF-ikBRlf=?>_98G9 zY*CHES$NXfj%0t#+dCDx$Ki6-0*^6l54@D&jxsOvLoSR&D~1oLO`xO(%7V!)r0Hid zx70hV@u15RtePbScJn$r*Y$Q`k`Or|oDVhJqWkNF@z20v!eHcF&|8Hb6FLcbvMS}y zM-IqB{9u6C`5=2BBaU}UC`}+)Vn99*s73x{!0UO30@hAbMHWcx8muM@VPN#fv_l5| zf#xW(Y7Ac}X9TI_!da9~-syyv84yZZrEurESYL)ds#t?@wKd8}bD4*Q@@Mi~km0T) zoTl=sBi&Z$9ig{gLRt!9Ex_~=xwT+l0Jm!A;Xe&jEmOTCdogT)5fTZIV~havojpbQ zA$5$@DaxlQ=N_Z{cNjsh9DO7I%{IS!V~?GIJ@43bJ`gm>Uq@fV!o-r%__gFyprf_6KWhA-@Hy zj)PB6kT8tkWm3qPq?(P_$f!$FHRGkU@YEy=MjXir(x!*lT;~_bRBGo|M9BNhD0NI4 zVa!?`Vl|ncR0?M!OrDjrq2;QpR85t;olI|#r7a{)T4QflBj%8?e zsRcXm*oHt_&Wu%1jKxN{UpK~j)RTFxW_uD>tG5?vwo3Oc{ah7mdPn_QiaG@;jHKBU zunQR=rejk<0<sN*tA{UGAMh1n8-6(nQo0uq}9p~2f$(N#tz;9V(uh`+^34&=kC zv1LHi)oK|#Y6h${P^3#XB@<7Bl2IbGDYSWA1TVE&sTwwKN=}~;P7Um{TyZ?pRG({V zZgX#4T{77VyDYQ{$ci9vl?D)b8z{p3_&|h4ZUZ^Q%*RO|MxAU0zaJvt&_w zJ#bSNVqkGf_LLnxjdcCHBaw*(=dI#YOLx32*4L=ZP|QVG1U2Fk>ZxLUt~T22>f8YE z$;4JOX6KBv;lgn?sBzK<_tu4~ZDW2;l@eze$6zTm=UAfFaS`g6%RK%!5+l{JGFDMgYHSgo+L*OjhJbVH4RpS9&;i%a#!b2bw>=?^h21HTgTX?_ketFBYzw(KpItPEJeZItdmaq2 z?WE$+(e-LooeIQ8fFF#L92_?SGPh!lS}w78%GhM4-Pud3fEXK zGQkvP7}O>e(oNzK;AyFnl)v;WF)eJ}#u(^nIMCOmXLonr5Ux6Vd5z*Ko!!3lFs-|nf>1l)QIw8QieL@+r^>>>Et8#3?@C*KC0yKm4PSgBaKo8x^8 z?j-A})`ng@6KWKJbm-D_0&*?sOP7k77mT0X4&3XuB zWrXS~U=B^P9#Vx5r9$3%oa*-W?nV%y2>y#Kewox;WivE02UsUgcmeSr;f1{jq{xio zo8mo-agTwnDpUXi9;@ai;+a8!ID8f)fZY&bdmG%sR32CNM| z;@-odqaoukzM4lu#*x8RYo5$;O7bSP;WTtQt(iT>79Sm~VjdPL)wza;=R#M@s&Edg z+E5o98{#y@lP|#HgupJd6gY)tvVat2RUmOWa{sACLfS1vW=z6Qyp*a?gXr~G&WyLa zmj^Hrq7g_AQmot$-bQmRSSv#J;RFwcby{KG-4 zIp{Uchk`N+PD(k{&eO6x$E}YzQMc2S+E7-ClU1l}-(7L)$Oa&pT$v4IKZ||?YCx;^ zBp`l($hR;PT>~h1c(7GRh3e_gw=dUYpge!|kk%#Il056L1*)M2{9qdb`hk%|OZITq zquC#c?dUmbIoncE;6=`pr1eqYZ>!lC$Y2GtW|8lmdj<`K<}{PT!5DDs;4dvDz3Ic~uY zPl=ps0a+l8E1lm|_Zy}37rtmedEa+hAMrGO0#v#2uAhmwH|;w6b5lIi#K(9G|LwNN zzjXJLUE-xCUW$a*h+_P!&yQL9;ot$VDaNj2KPf!$>i2Flg&pHJjiA^6@#nl_pIh9u z0xBe_j<%vR`V9NNsMpi`^pzFw$WRoZTr-cmd*$m zTRJ|}!$!WW|ATfUBG}8;Nb%=pzKG?CMJ>D`WfVqkS+I2W^@~{KstEjgU=9a%7+MmU zWAsYsA&}d$J=P5yzIGWqK+CcsF~|5&W{}OOs6fV1Y=CG4oIoV@t=vN7nbaL=(z5$X zv^`2U-UJm5oZ1n6fF1NOLwvFYRvcA_#5Y>_w2BuzFM6;rYz1TY8SJpfZ-nW(Ve)T% znMBX>B4tK}xFXJ@?1)%~53`qvZE?N{pJ{6ipJAGtnV8+mzsioJS%QCpu{Xr-_aQjK z3Gw^)@x6fk-Rt;o*{1Zz+jz?KpF^kK7_=6xV(WN2BHrDJWjiN!cJljDHA~hd$oWwA zon#1x$BhUUxGqBOGa3C1*)~>JRYj7jbVS}CDzGdmpK?`4TKJ}X(7ND^gRr7hN>-BY zQ@WX`!K%gPLc1`c$!AhLk%-Y@j7Xf=xh5Hnh!SDtr=}phB+vo6>j0+fK>v|-@xDrs zVv4R+#g%eRtLF4rWFiQ7XF(7L_oGM$X{KV+7zWcP%?%S!P<5`2ladNSWTos-%}$M3 zkwU3tMI;eL3X%2qKWSR*&F-npE_pr+yR4@n)%Qk!kQLhCIsiKNMD!awQQmR!L+0Rne&B5v@VoF z#g%m8l4 z`43jN094uz$ll@nM*)YibdX|#Ji&NKHHnBDSQ?P`P%kRiWN~{he=pmTKGe&vvCMq0 zIK7d7#GK?6clGhgwRtiU9>bUsjgT9>Eg~PtJ;M_J{tqs7fs zV!Ii8AWwwu;*-oso%r4#c)pl>7oV6~wq$8!=IqE#i)Ys@oxM1+bZ*@(k=ti4UQlAJ zV3CG3k-pB}$Yj_A!jFEkf=UGCR{Gt$;@!x7Oa+>uPlk6hD0>M`8o@-Ga024ZKsAk2 zv@zZS+yl8DLm}AHO2n7yiDIgE#-X-WO~H*b*%<+Zp?{b|9vX`1Kf< zoI^6+M(1ixYy(xM1JoW{Cu6E$l5IZtW>fT;c!@~d#sB4U3XUYV9^Nkaj~6kq^*LU^ zDXf?%yPJ&IegRT%$6-E(4z#J)#_Zk^NQ38i-;_{p(*mSRLh@0=` zwd8KF<8D6DI~yQ~OW@J;7w_g@u!@W_MfnqB&RpNQcp$~El*yci8RFS3{56VjwS6o9 zH4BQK_w$*B#w(Gf%NN{MDet|=lDavwVULbuB}RQ82E1Q-KYw%bTz#_ZBrbtcW8L6~ zZUhsH=CZuGnUpPLl7)5DKBCgLU261`Nw_#i5C#nm!n%SmN7izj8BfS{4gONR@&{fZ z9(oT8i(?<)brdPG@LnFX_c3ljnSL+7{^Fz0FUv^ck~oRB@st;QqBwFdUvlw^BC?JD z-d=?zo|`WIAU|$hymAw;~YF9`4F_*PJHAO0N7bt}X-KF2>} zSA@AyCfc9oJ#6-+-}0kUbj8nSf2~X2b;ZvHY8>>EziDyZE%giQaGUnPhNtD7u6f{_ zjJU6kXo&yDHSgT=)HQ-Qp{@L-I!hJsACQqI4#ZEM=GWNA8T*!3jM~qmrMCe$fi!Js zS)$05*)S@HfT1Gtl-zM}`G})P$SnmjnBLH}vMwI)q5uFymB`6TXA9khqSt^wySj+* zHL4i|%0MTwG=jlr`)Z;>Zk6^)q>+MQ zDMm%3S*`s+9B~6-9wLS4>XNvKF8-us_Ruj1!PRkkBKt1GodKL(9;F*KhkT@b_1EFP zSgU+s$eD+(QOsJ=q?m#nQ;oc1VdEsP8g|$lFw%4P^Bxlf_;a7hN}L1S)4oCB#qGueN^;vfHojM91-`oUwNxsPSP zf*Jh+kF(Q4d;#j6bLoHm0!NM(SOCYr$nUj6zSqTwTlsbA2?x1{;q*@a67Mx9`O;QIJy^X9%w8f)FFN;6`mxL7oF7(LSSodm-LMm|8rK9P41Rs&MNdzfQ zJPFr4u0kuu7}upwSv4^ORbG7CVss&R2P}#VaAz z5Y=Dj`@eK#04bQnE7tXTIq4Q12MW*!%1a)1ya7-F|X*)-o}hIspV z+)C5maZs~Omj6F8s5)QR5XZj(Hg&d7gucmF(P!H?!JUpxmwk)h#;p0idkKC^#1k*_ zmJ#r5DPm>tS|HB60rA4qMgPdlEwk|F5?_fs4)cj@l}LS?&siRs)!GSilXCgB^;OVn zFnKd5=x9awKhVpPZcVgzfh&kmGC#HWB!#>FdWTYJ>}rL|8&+9OgxJKJ=tJ;tLjqCw z2kLczH*Nrm(B%~5cg4d$Y?y#gR!}k+uN<3IZX_zF_vw;f2 z0}iN_ibf4Jz7>Cq@v%j|5ynH`0cb7riR(baj9+B3NesdY-{ml4peRSZ-F?6f`de7M z@EyL8f~Agp8H^5vHFub@LD{;uBv+^0_b5IG%vQ-N+ zD6Ku;g*#ZgFa4eGa?Wbk`$ifwfN*q_Uu+8Q3wFU1Z>f4Sr?VSrC2YIb*Qc@aa4#@c z9S$%y301|_2YJC*x@BWv!XU$K?ghfpFI6N+G3Ov3mwHrhH6bwCU%Do7;X8?Xx~1ti zPJNA(2*WaLT~c-qYWNYXK~N)V)vIb4Z8%E{$w3TmpB(T8Dp=g_*j!Yb_H>0V6`yTEPDy+MBU}FHV9H^GwEUlaiAc%a}9}IaL1A; zDauxutde;N&asm5B;X!$!|+@3&{Kpou(D*qqSpe~hQnqP*GSA})L6#E=bz(cGZY3_ zu;)YCXqf8ep7+F6!#<*>Dxpk zvxefzJL8EIBBas{qT`++5fX^irL-S<*RWkOniTQeP4zmo-7HG5fE=&bH4v5rk{v** zG!cbRvAGCDs3HP3MQd`Zsaa}P`CDSo4fd#1ODuQ95xvcAePFNk6|TsXFi|PCTAj@0 zj&XnnklI`jE#Ub3&jGa{>xw7#o308nuTwCEpyhYfr0YI?2FZ%Py0>xZl zi={U`co*y>j(tZTh1sH0kF$+6M+N5VTRcRajq6Ys@RjbOCE86 z?*>!_zznDk9&2430Hv{0Vc z@9|=|aW8!uKlp#+i?W+Ks+M5 zF%HkFDm5@t8nwBqbE7Qx%jjwOd0*=esgMg8r9Fz2iFeCpKh=Fpq0ed4Fx;&Ux;Uvp zS0`vx;4*@C^Mdg@O}iVGt9D7l4H+}mAo6eLog^ldji+)}NsvDP zL}@c{iy$-YZh^%awXG1LLM^Fxn{~AZWP`n{YGkF^N8^8@mie1dlnhC# zv?PG1C8e8%QWZKAl8Dp3e4})^6TXmTzw+A5(|F4)to1b@H|?tJ9IAwaCObOJU}t;< zuz{nH5=o{%^Ykam4tvoQ|Moq86@Sq@Vv2FE@DuoU%oNs9KFh?rxkve;;fG9iau_e9 z^OM+EBc43UC-JksLPLD-D8$F-kRjtJzu9DdG5uAZwBInlgeO{Ou?C#nEH@sC~+0 zXNIMp`~d`Be2Tx=5Yd0;W6WuOaq~a(Z<-B$5&jXM5!`99v%?B!fXCa|C+7bPAD6!C zNBkbnSNO*o;*US!6ZtAXBI`|flTWrEvDmp`=|ykyW|JrU;|!7hDQ~4nc_lxC|9`Jv ztoj+hE+iSs-$1(r!naQ>dYM;>BR_*hq3N@ki`^7DFz9U!US% zDcy>}ycJ4r+s9*6Pn^iU9lfUL)u=iWc_N15nhTqRjs04m-nm=Ri z^!Hc)Vr=?L{|X;ebA(5n`Zp}@F2A_!E#7E8;!k(I#gWT-2T%8$;rE;7UVnPnZ}}e7 z_ow%rZp6!f;LFARe}D}CiS$c<;BfP)NRRqY zeuH^A%rL5c+ctT5#vbLlbnI>3Wg(2T7XZ(ctU3MGpLqeBcVS^;DHKKVZin~F6@D1C z&PyHOFAP~L&Kf)DFEzw<%$`J%=2kKLAFK)lj2ma#Ye((otjNO=26t^nX#z{d^e0Ta zbvS>~KgkfoM%X3rOD-E>&#+SSZffg|FHkvU=3%Z=x6LKll z2s5Gqr9DVMl}+iuNeGf?CxMx6E6Vn8HrC_K2pijdk*>b0J36~yCU>utNTvIV?C+X9 z6u8n5?H*BS}RlUJ5sU%Qlh>me~K`M^~daf8@+8m}E!N*}%NBVU1Mp2t1 zNIXeC=8-1w-HP#WJeQlKs0DCOCxdtaQrtsxEbCQ)@1sy3bS9)^U&u6SQ793-=|X@tlKVp11OXF0lx;RGkc~n*G3Y>|hS)aFuH=&f%p!SnMEqc! zeXEGv%6+0@ygeF73QtFh)#L5k%<@3`Yvb+dq)qwHh<%^$C|#u0fol!%(Gt6jg2lXD zVt<%Iq? zFOV)Rw|@aV9Y}|+vVUrtI|Au5l>ju@lTEzZp2(~12Ls|gSKH5+dl2aCYP%6d#e1vl zPg~~RfUv6V8!U3se!AUaQCOor)9te~wuf)9S7So+ZSkiY?2lZz z*=AEbgJ{+wl48Rj*v$o|8shUe+E-y|e{`dLhM7kK>F?Iri5>pYc#{=T;-eYghUns?9@$NaD-3y@WgY*r;H&K#rPZ?R8 zeIN^wZQtaZ?XJL1n@t0xoCv(z5Kr7}m+=SflL7I{&Gw05r?8Ypn>bO#M~NfzY(Lih z^?CLLhR;9Fx36Q?gZB1x%>w&&W}XU&`xn{;7|~M;?E`27L6%l7vcF;x_!KP$C{MsQ zG&gT=>RTNoYP}YoPzPgK56pp2SRFP+WDJ{Tot=6|Jyiw=H$l(o%QjM6M$; zH2emk_HRL`L0T<<8ieFA$oojZ0^A{iFV}bv#~pU+*fnE1%tlw(kMg1*!X}Ns-JX+z zy*}clbSD>d&;~+FhHK4hn?*r{Niw{T!URo!+~L9t+s{YQJR%~p8Q3)b3&j5h@58sdGec8MiJ7PZ>t1T}|R?Ky13ew(fG z1YI|0I{ZF+Ih(vJ*kF_*Exgj-vFz81Dx96}K7A4h%||6&S50>3=rbjx=jT zxEwV5CN-N{OYY5=(yml!t+Z$IT)M~u9A;PaS#9BL%}LlWIl8Ua8&H+doEa2<}}|N ze=)edLjF<;(8Iy)Vo#S{lsXdJJ{KGvM5WRxyRHYPq$hbaxcykLK1{yp!D8Sn8U!-X z^ZO%<;~+St)dqrpsTWG`12MabRuZkzI%(xv&sA)aH-g)Fi$2#%6SNivtQ{#8J2g5( zhN!_H?uzSbnOG&;`BOMv@cNQ(K}bkvJEg-RvOu;IQISoeyhP~;5EQmM4$A~JB-~gD zB7tG!fid?*APNVaLKY?|rvyoAC2FJ}#$H?#;4Z|fzP z=RAgYeWP9`?kr^ZWH9`MZUjMrXbw(sX&$I&q^m^@-~-sMWT)Ds-;g4v<4OpARcP~g zi`J+~m3Oz?r$`fEE8Y}^5)v#)nWUOyW|;2QQWCVFetKSESyI?R^&~MYQL&&IBTbpcvx|uY z)L;OXV(FUZYei9$+U4#T5z@5RY6)P{?-+v+YNus%b_w1YDV*_{y@@s)yl^e(nzp{i zjGmB}X1?wXo(hKBC~F*SnzB2Qc^@^Vu?$#X3NVdQel@h3U;;t5ORYA4)uaLi5hL2X6rbt&pa z70Px}+7Z9A5sTE4L_crm^yBJA)snq*#8bM$AU(kA{Mx~_d!4~lP?As)w9KsoZ7t4vHn&X9GJ|cS*X;EB-kv0j1H5sX&V<0lh znX@i>MWV)Sh*|@&4%B5%q$x@M^M%e`*@!E|c@-=q&KmuPLf)Q@dxK^2+{zFqRU<;B zt&v*+W;jgh>T^|$;t(s;2Q<~%iIXq0F?AA60)Y}uz*SmFZGae|N9yi?!caQ(X>`3d zk;0AYE*_n&&PV1>Q`%3h;?K$y&>#>ye4u52(qX4rX6144ylV*ap_g0>`iNX@v{44B zB;on8v^C}2#!cDjH$nX1#Ez2}EKLd4J*`gLvgjs-864soCn2|S12cgaHZ318yP~M* zZXiW4?h8nD08#C!?4l`wkmGL)$2F7W6WZGg4an&u_Ax+_bj(<1Kqk?5(u5)k zX{Wku28Rg;4oV6J2n zb0HvF=n8{@Ahx^<*MySRI6I-?9$_+~Gcw;BWyGH(VlV~c$Q_qM9x9N>a;P#`*p>)# zM<^hqGfxIa@;(EsgLRQqxCD>BE@T&@1ak19XomHBON>PbUNXd=wEUBB7g5k4k4*X*ZNDkPm)IH29+Hw0IEw*7gLf`jS@z1piNP^FwcjHw^}4QPHF&fLB>&z z)RJIK4be3UlxdoSRc&c{Si)$gvXk~}VBafcWq2NE7eFpy%C&}%Iu1;fa&qt$SJ%Vr z5LxRvQ@Qv8zr*^D8Z25T{6p`rw)0aYq=4WS#&C3yaQ9+=iPp*PhPry4*;fF$_JFoi z=q5W;NbKciOC0W81%NtdzT{FRm$6SB1id*awXJ<5y`~)j4H0XLHYwsU+d73LgQzCy zTFGMlXbMDF`I?Z_1hfNb+4@9qQ+;VRBw3{K7fCrYm&^4=;Dt>nwF#>Cc~mj5!=R|rf6+;;6Ne> zJ3qu3Y_P*1q36W0A97CFYB&rnnqN}-CjdR|9MMYdqo^X1;esT5QkU6tSUeAMj{auH zC?zutWX|wLESC-j=TOyd9Lck*F+b#msg-jh!Tgm%d#M{C(*_Weq|9^hERiMH7tIT% zum|AAG<{0s57fEh9t zh2VK5M-I=R6l}26#iHJ#i;SgWrY0RYz!?n#gcJAzpfn;&^qo-E(!QQTTuC7g{mJlX?b;Zblwj( zDKk(4<93}(74D%9j~rc@Jq7acG_LNG7?sP!BGq<-%^#&9iras0jz(ZhO3;&RjZQ_h z3rY1fO2cXjiB=77CYdM15&C8?Wy$fvQd-u4)n1OsSQ0eQskI@Kyi+w9t;*sUM4il& zm?oS`gn~cLELax1fC$P(>iQMD$=67uLYV9suq;r1oD!BD#+B|i>13s$6VxiWDfnd3 zZp!gOK?X8i%4}fo9=Rsksxk>Rc5PULH6XTK(oiJ1_abRZ$a+FIkyd?N*8BY{3pW~^ebRU;zsRF0M)`JuQ6Dhp%+<>-r)~H6)CW!F%E^; z+e5)^Zp1DxReiH$!P|x8Q~=PY7<|Fya7yIn$CVD;a+(OuCr7G8z-fhR;9jz(uaRsUL7qW919v$+ivCwbVQS{=*>hG9 zf>yBv>9lDN!K={&8R*w!Ac_LJQItYw8WOr3zDYxwYA;iT6k1=@$5HvXG)l3G4*S=6f``oYbW z;|ZzcZX{}rcmF||WowC9q<{P$$G}Qm#-zv%r15s7EbA%Ixtc<500$~{e3P;lMTpnT zK&54>9BdO@F_%)>C)d!V#G1suddl){)y;RN$d42+6&;682wzIZ5yT)&q!G-KT91?w zRf$QW=<04n=xZkTevPX-;yuLp%C51GTGXP60w1hrq?jB+TCmTQv|X|^`WU7%QeH$7 zKnSIZNIVLSAJDUVzc3%Qx&(#j0>?yoljdS~N8L~+V};;e&kQD!L=&(iY9YKP9ahxv zA}KXEjD3Ojs3k9ZA_!oBp@jtmrZQi5*Tt6Ji@1+6{$Q0_Hpo4}?rjS_6RN-(kRpk6 zB1E0Zog%D?4NR#RC31~(CzEMK6B>Df8wg|yi5?E>xkRz_kj)8zQk%TE!56N**+9`t5Dz5-|%YYPz ztXBs~iAA(HzS-$EN}gkgDTA}5=1x#Evl<)xBQR8$u= zk#|4>GCLqKRD`G~XaX&6liCGPki?}p`fVzuF$OjxS7L_?Yi);=1IQK3Rw4p~cnsp| z5KyCyGz-AfR0<2B!CW~7$@2}5A1%`%nH*dqr8EP|Gcrj4$w2{Zl=utRJj&vPDa8ei zPSI`{JQ7$Ch__J$nk-_SlajV*7Yv;aHwNPj6D&Ty1MOpzBp->qXL6a`;H;!nuy&KI zJJA6+RvROT#6gw-ByPlAFOPbL_KEV;7P-v1d!(^0M28St70z!bAzNOAVo8$cgMmnt zjy_M~Y-c)=`STY;R)y{r%}5m>a|P8zmY@{WF$dL45m8D?jHseq)eMy(Z^h`;%*m98 z%UdH0>6oF(gKXt$C|(<7&H<$X)vuI+msxd ztQW0P@?>>Cc?+?0h}n5KlqUy%G;}PK_glm(l_F>AOwGp;Cgf~_n&fH{MbM#CEk%v> zIB7~A3`kTIaSD(xZxR|)P8*qxloyMn36%m4v@#v|97%`V@OITaX;hKDQ;yyxrqcd- zkQ5R-jx~ZX4@Uno857}uU4c#~zOEs7r)ZggC5gV`+kogm+K`kPdTk6F*nBmZNZDJH zs@(*-T{4T*3XOuEX990#-V)+hcQ3My%5rxsq$#bs&AkJP%qOS4V3-!8YLFc%2CYBj zmT11sIS}#=21A;&D?X@k-@e`#A%&c5Vq3oJ|JT|j&+a1v-kb^XaxKqOdC6lpE7=Up)(Qs?Oa zr;W}%hof%1R4A3W8k1`!j1#9MQ!oX9BiK>)W>T?>b=FiBAy(ieBwN5OO`^cDaAX5I zQ52ATf!et798WlGjD|xA>zOr`K5K*|ag`CHA2p`1$a12iQrR0vA&;53V6;QNCT$3; z={~^;%nX|_I~}PEb&0v+K+7B5QGY}6m28Hv2ck8}`^j5Tby7C-s%ivHz3Q5ZR3sXW zDq>S#b2HID#e{mEZZD^;jGE0o0?GC3QCC(+FGi<3G^>kDpDPK&{vZA^)OLamB-Y>f zKVtp=i1q(6vHr^Oi_+>5%3q}ERXWaez!V~Npc^!@#7BP{TD?7`i2MI7T0K7Df0|Z* z`vQ7bk?L4_AekX3^>|xK26_D7q0@;>hZt)hi}622r%xqvkpfTYX!u42e^?4e9eK&X zo2*aX5s8*)DJT?No=O}<*C#GVsly^LcWNoT4lZwPtYt0nDkQJeYgR;8LOmAO$;;a($#kmNkjq=Ik+s|&w$T!*qUJ;}65i;%p&8WC>v?VPzFb$yIqX;_sX zIkj?&=0s$096|;V8YrLg6tUKAeLsgG0Nlq>Rbd5Zp(4tE9}Fx=X{QxMzBL*W61$zNd|e6fc3PT zC*?@cRocQqgjACG{!8RMuV{0m0fL^vpmLUsN#+*&fxZXQ@ zuFh1h%v46C&J48fV5!{BPFdG?FH_X`aZdM6NPbl`73q%M30K)nw@7?|m5{EwQ8*3gEmP~~ zD5U^D(b_r{^c)JYW}?n`4fJj#^G3pWJmJOqrxE7Q=TPnXIYjnkf`FVsn(=JX4K}pE zXX8z|zFGh#m9`mgZB?%C&vNHBw%Y!2$*sE|YD*mA@kJ2*Od3Ba)j^#EQkF?pz90;jNy8s!@$j z(eD_al$7a(bzrNBx^0Tyrlvz3VJ4~UtlfRH;rxrbYiiB0AD3M#Il+KdFTP0RgQF%w zpsFnI6w&~H>0pf}<#D#Ob50zFSE?5oi6GGdLxQO8VTg4ex(8PW^Wq(Ads=fk2)cSO F{yzf=a4Y}- delta 56789 zcmeFa4SZC^)jxh`=4P`%fIt$mA#XRBK!Qm~LckCM5+Dj1-rp;jEXf5{lHIVo0it5C zt*um1@rol)Ma62>idGtNwZ4H*sZw7aXr-;KD75-KV!=u)tyrwT@65e-_ihqiw7>uF z^Z)<;^%L29=g!NSGiT16IdkTmPu}tzJd&2!s)xM;w)ESa_}>HFHErIO7Cqds%-iDi zHyM;n8e81z3pF(?4+gH${T`AvNq*54Qn*~#dnPL$MM+3hvWz_gJ;rk+tx{8xh{qoY zwt8DMqRvxDaiC2Pdc(ee-%iPI_4=E=;XtrM=1??4r6UXTNmBdRO0?4!39toBz2Z}P)Mr2M)!y7 ziCU)+PdL!#YYMef;t_Dn1EBRrx|-MTe$U*F5Fl5TS;l0wgoKUNY8ko7ct9;Bw-^WT z@9lRajAM6`NBENwb*Ql*A)DM|gcC~1lg1Ac3dl3YzJz@8yzw!f_Zz9Ma`LHhscRHT zFb=pT8c(~1l0JA^r1mG|LB8krEW@}ov4~_CZHco;wy`I%pr2=Qi`Um0Qk6VnY;_mV z5@PIjm(X%z{26a!h%uy3F&#&YDfp=)MzGH)I-M9l=u=5&6XWeZ<#awVlKPHU7Zb9d zAIVkojn#c~sZNYL`p#2*gxtgPd^Fu4{qkr#G4lIW(e=c*s$V&MoEV$?4Wm1Wu?yc` zAjWU|Rnoo07?4y+52C%KV){1PODdp;09jHIJwlA1C5@yX5aW|1jm$Cz^`AuM8T0xt zB#p+7{<(O5z5hv4Y`i?+GCT|N95&E1SRMJ z6lIajdDFluvII}1sOyt~^`zMtpFE4KG;U4KA}z*a$@!$s*q=NJ=_!Lofv6@A8iB8? z24$pWWz7g&+U{>gRf@JS(B9HK#ituT98^C*X>k{Z+8ToG{;;oAHwp(|f=X5no`6B# ze|?6rd+-jj&KQ+8j9h2jo{~v67&}rXMpKeg*G8WoOZ`^#c}`kmpLL3&x|5TY>x}2p z^2;}qAC?Wy$dy|noq#S6PG^7gu zUOS{3|2{p$Ah&c~p8f(MxAPN^v!TY-)00SH*QkseiE-;i>BehAQ~DAusE7368ojw| z|IoFB+}SlX>ohU;l&+$8rgHDkS(=eHtb*LlpNObgUCqNT$KV^=f16{xaX~*)+4c4X zn@DjTnd#THP}sXl4{C+r3R+trjA`NnSL)Dw;gIGJwEFylSA>k43Pu?1!!IVx*g1R^ zQH|^o-yjKH>qZPD#AV!6*hmtMqlJ$Xx50}p1)aZJG@bM{ibvi-`WY{cT%2-0saoJ| z@kz!rE2u9IDM`kK7ZwVD$^AxAacTa8Bx{x)T;^+OQApOZmO#@gy?F;oUKR+nD9VH2 zL60bp@b~_}atu##a^eoKBSm@Ac&oT9N&wAV?E-dr(eO!>I#>RIi}T6|54^1AU{SrI1L^jBHt9px92w~XTQ{~+%euay4= z&-Yc7liwN#DpK(82NgvF-$4_HmBXS5<$dLSBYX6?{0|-6Jt?r(?|k^E==uE}S(Q)ut#7i-zJk4}g5g(njjx&a>3iW6DJQ&szow;ETG&x}7^+)hsOoHtpz(NR-G3E@L@aw%1a;jQruNL~P1 z5H#ur1`~|clh&h}KTmo#rI=*RtFE5v4Xwl^UV}`{JBw5oidgApccWv!S(9Qpmc36Ls#CQLm4dwTZ0o`_9HmuJeLXL^mpwO6D zKfG)IWvdbf55g>^X+*)F7&niS(KUT~4yDy zw1Dsxqu5Wx@8L~E;m*or$Fj88<))CUkA0Ey8WCI^k$+lo2;D>)mJdwSXERcZpfM4H7P3P0ASsro( zs@Zqxc)~xcW(A~{=UmJlCB^*Ji`iC@8hM=*@|$az9(@@)o_&*yHwGO_;fs!tB$CDT zBjl>SN-f|^P?b8u?;X#6Pp1)n!(T}@zk34P=6or4+XKuuUBcR(pUU{`iR>yQU51~}FJo`A#Td{7)wF70q9{%H5Y%s{<aHVm1FgE|^N01Ikid2E4H#@|(?LMm+LgW*U2FBN5F)yNg+Oa)WvK>q zb!gt8jy1kDfF)i7##icI`Rgrf5)$+3cHQ5kmsU=*YL<;cB>u40A8n2QWC@#`(m_b2 z;B0k4?=*k2zHWk|a`#fUte=vQyrfoJ<_$Nk1cEoB{YG|SzhaUs*ChoBqBN=C zJ8z+$iee?7WVLyN-UeUuMnc@vAS;vw^%ieO15&Ya787-4LsOtx zm(^_}WU3_=Nru#{oA7TW{KOhEiV(i}+cbS>1;*TjtO1ncv1JfdkunBFTOu2JJM>nX zNw*MQdNUn@U*pP;b2GPM{c)1aw=YtM@k{QciTqwK%SG>A^s@Q* zNnOSk;-_U9gXF?@FJo8WC#i|88hRE4ZEj+l&-T5hnO$?X@B5qCFR|g_npYjk-_+Tw zbQj@wFK2%2XY5^yqVd5i*!6&B^9puTDIuO&pdyfuqLTdSVC&u$x_B!jH8a=f!L@R4 zV|87NT(%N|Mq01mxX;Hv?z@X5C#`F0b+4)5-m6(QSXk%P%u`wzYyVk7Qq8GN6!Sq< zVrf*tOQiKnx`&|bD8ef7(@a7gYfVA*{ZZ&J{=%DF~Gvhpns4R z&BI2Zd1iZ9?WG>-{;*bSHuK5FOzaw(wLp7VYi`%IZ~zQ6)V_SVuSo!`fkTAx*d~=I zrC~lJ0J(8pfaMSt;Q7Y|mv5UV1Gn!Q7RR{me%`9@RUOY?qFK%Hk(^krNe@o4vN+ExA6WdW*Sqm989FqDcy*WuaH}vUX z=$_N;|Cm-~9EWgldAncA*ighAkA3d{XIj{K0_&0e8Hy11q6)VXmlpp< zkz;gHeA?OG81h#ppE*aTUpezfzu50C8k2gq9OwTn0dwL{ zR(#s|y>)_e&WeHfY7)^s-*g3N#C@LXrjZPoP8-30V5WLK|`tB9tpxIc39F#=pFl zr19f_p~=*&sV3zMlAHxKlGvkUEfZTTy_su2XZhT}oh4S6#Wc@^S|UK1cC|HUqOE5o z&&PTQSuJ&j7b}zvXF;D-DPpL~NuITyOn@LCt%TpYo|FPrFRaJz<|Hv?Gm_e@Lz8!s z-}5QW>zVq-r*v3W_qrqx z9W;~`iC;}+Is6+#SwE7`59hH|3hvyfLgKjhZ!||_cu8fM6m07qm6dtYpr(@Rfysh^ zb-@7fRdcg6iss8R*#&ewsz_iX`kTiT$xYBv)>8hxOg0JKeIt`);OCRSLtk@}f02nL z^&~I*j27lc`{ltYL$e-?zQ;t8lYC%4;6G0Iwk%ejf~|tRszf09M{lJhxGWmb|U zDz!1NK8FprD^KiR-Qmw^ey>mu$i=1=wUz&a76SU&xhxCg$OE}R{%p!`$z`JjdiUf4 zz20qh;%S;8%4!TdUjAhtmdEcuO>_FD*(6ua7Y|^WBQmIY{u3KW z9IIe?QP8529n1Xv0W7;1ipeZF*kX<)EpPW1fCQkoU*UuL7g|?E$%~bEe*nu9kR%Rd z*&fG+1hcRpmTUY#jL?Vtz!x+<7rIPyIh*Fkh8o*sp>HpW<=r}vW%6PFq(dgz{D3H) z+F;PzQK>2uNtWC#VY5W7)GAde0mL%7YN^7MESb4{tg1Z4lag5hzwe(kG1CE?OF;>2 zw1n=|Eo76Y|49o3S`Yn`4x?izCtuR4nlV)M%xn{?C}?iUI7-~fGXj1nU2*IMt%0hH zLmdEJ{NRk?S)z=GoFF$0W&9q(YAI&GdxVt_aWt*e#X6dt&PI;wKD|);LSGBG$uvr; z#8Yg@L}Sxp#Wzwms-nkOO~*)!V$ShGx#_WTA5m5<2y8fGrIq%n^0N?%h3# zYVZf)XorX8c9yBiQcCKD?qW?@b#)9(P?q9eP_8QITFshr=ckaUV5uNGFIBuYNM*&X zLf&lf3K^#`RuQxSHpY``#kqr0j32XOEuA_DpbGC86Dvu_*w-Vac3CJK^fra*&=av&l5?!*r0b(hv;nodB^&MuV)yp@D)o~C zohC+lX}^~W&H_e1MbV>#P-PMVPM4&3-3_}WKY2zw=m6xksJv5Ee6**i8kZKI!xB}` zk|RF9C90kwzbUAl;iC}ZEK&6=IpUi;+nXh-I_v6G&Q{?3zgeQHv+DDzxl?W+&MT{# z(-Kv`azkfmXQgB8&(>S;cwdyhqC%Wwi&H4J%g`i%tn%^XZCdH|`60a7(ixw54N1@K zCbNQ}sFvPtbOn|ozUdk=G`m|SOXxLCHyD5Y8sf?8mPN|G#BuJV^8VKn&&UL&%#wgD zS<;^Su3kmsOB0p+nf{iJ$xv7~V@b=O)zS{>8Edti(r1^M`zT5)b&G|I@4=pPg4?|S zydAT6N|dih8Jxx0u{unNa`xy)@b=Y||7r`Hm)tIRe6i9Ye%2}LDZl70HWuQT|1LJH z@CHhnV~73K)pN{K|GD8Hln)_~)HHYl%QYy(K; zZ=p#B)L_@n>hD-!SeemyZDv15t;WV{XLQz)60KYlVzdCWvB~Ri5cLYxbYrz>b#76k zRw%xQv_>G)7pSflwn^31mJLM%6rMs2(I`$afDd1&Qq%NxIM@h5m@O*(wx~Y@Z90I| z)&_lH9o3=sCQwZp}Js z#y%#j1^g1L78u3aGAQm=n7cWcEyyD|IZikd3!Axcs^Zm_gW+p( z;7XlHUScDoVXe>jnb6FC!qjrG(zpmu(1wV2LOp(qt>e=$$=)famn>-hi()zbQ4wZ2O+ksOxY|F%9Jfo z*xkj-i(?u(0?V{@=InDO!hWqm3Qb!nPvfkBZl$)l+qi8sX79F*_Aq#}l42HbW`eSf z@&`Dp>U11dz|uPce4VIHPcC|oK@DFvXk>p%(6_<|jTJIB z{+taluJR5UagdTEPrbgv+ti_wWaqh@qIjnHTYP?Oo?zJVeXo`gJ%CGU(ft;!qF)E8 z@s?LhdM0Y}cO$)H*?RgmH9D7dk|V~6Az{th4Ef_pwU>Urw%HtZ4a-6xztKu8;tlEc|qhUh$R+l*3bys$E>+9y~2v5 zDn({(OO0Ra+3IxrW!~~^)oZtNV0kXtWbE`e7_(O7(ML^44y@4BU3QMyD~r@Uj2x0+ zed+6C{1FLz8968uT70AF8_d}5+ei+`YQA@MTFl zF3nc&Xu8T6;?GuJP|2gRQp2B3_sZntfJWbtPqzmOj1xhxF{DjX52_aS?rJMl-&V;N zvQ+-+(R5FOL}g@kA>Er`99eyn`gQ`@BR}s87OIC5$UgZpJ5;D1vA?{Hmk;bO-f)q6 zG=c1u***&Ask2=cRIA!Gb+OB;?N9AFbg9d@Va-*BZ_N+|ur^Qixva*1 zvvxRbbs1l-y-rd2$(T@viKJBHD1=Hr#uqzkIqfBgb_h#E^a z%%%siDgOnzz__>b`B;+i;|*PLZ^M|H`iOCVXQuJ@8wQptj^%mYTufAPf9n%c+;zvdVHjB4^}vl9evJS8&adeQ z)cF2)r_!U;n6PmS{el|P59f4M-$Y3)sjGeC{}4)8*Ht%vQzrl6mQjtzDbDN3Ns5zZ zSfeaAwRq5#Nd2rZ_B%yM@?894H^1B$3`yAtn!e-E;|hxfJ*be%kPfSfW+64je^HK8 zSSMH1o}fx9f%TD))2)O4GI8iwU5!IToJ=aPs%~#xCiRD&8S+UXh1mJRdPG_P81HY= z3W`bhLZ)z2Nj#=qG_=~(D7y6mdXgIRZyjdZ2+~v3*mP@lUz?EwHBa3-g>I(C=eLdq zHjGiXRnr84NSgSXSK1+Q^0uy|?uu$p4j33?>7Hlf(_R@h+*uhR_ zI@WTr_n6qV`1Xk;PF#6-^PiKPGLIZ`I*1wX-!X+uHHwVSGaY1^Z_A>kcb8}|95wpi zk=NNMAMM3YiyE7kmYE++S+2gM=YO}CXj3LZDihYg)sXt;U}#1yG{wZ)rY50|2o*V@ z)1Y$khnDL>H%apAYttB+RckcgKg4*QXOLN4op){|=LEOegvzeztH6s6#o#@xX%Ni? z$f0Tt8z>)4yfho?V$C!ow-dBN`}BKixafUZQugyJ6%EJX!qD!@BU8I3-8Jdlef~c< zL{-ZJ!6ukfSp$_M28v;%4DbCJ7$&Xn4$GdG&FlIbfBD?7uPf2!%WV|YqF;x|;s)*0 zuQq6bpl=~04;XF1I9CrAefAYc4&|N2ouq8+-+BRt@6)Zr&W(aLCkjHanP2%;sP-$* zGPQs}X%~iuB7}{WuJPORNe#siUibZ4@@?bA@8{4AX1x3Tba48=eZL~3C{DKkl|Oiq z>)T2;6PD{9z9^Lp80?t2^6WwqL{9RDq!9eczTu)Y8!z5-QNIMzXp@hTwC%5*&IQej zE$bBLHqaYf(Jr`KNbUjsfv^UHFc@oiTZ*ksH>@wQf6#>dtBagc>le~Mr_dOJufyca zzudRtPE8AUwCSNzZLTf|4OU>V2wC3lPcu)kVSfphTUrhPrlE}Sqi6CuHDNF>CGZgH zGVS}Y{}ieI0O}P@uB+1IQ@h!4sWNp=tZuXFYGpbR%%o9Vf`L7m*od$7g;zEQy=xoA z#@E}j7I!1$P8~2sTk7nPords>O{{gqXtxTrOlgs(I zCyebd4D0}O7~6MWNZ73cKh}1+$=e>%UkB-HjTo$%{u%mOlh1XAtE*wk22R{y)zv8K zU8Y-*mM)b5%n=rhqH&x+wy#(zaM}#~2Lr9ZlnsTwGxx1nfx!|DO=%B>Wl?X7Y^L3B z0pHwcRlG1tCk?A~y{!Sts5Lrt5jYPP#<(zJ6;c#XCnTw8-bPbhAhCw#o0~x{@@f%oBFZQa$2r0VQjVmj-oxl1VO&lB65wSXD+-(G^RdP%7-6Md@-P zjg`$hL^E=`jQ)q(1>xDo#36ahN-J!fCw9}*##^5oi!@j_V!{T630O-+~$e5+1EkwePy2M#_ji~8(sHTW=7{nO}F`hn>KX& z1?i1T(K4>md7Dd>-B(6upD}NHHIT|zzezGuW3$$l3e+iGFKka`iLYv!_{jGhghuq( zgZ(>&BFj>KjuX=h8qrcH*ukn=e5*iZ7LzmaCy*u>j_5adS8xQ_ftA6#4A#~b=|gLa zy+Uc3rd<%#tk#(FOS|79GDw*PQ!!;;q+`!??tqG1Y)y7#tu*hZ%riNl-lE}>bz_;j(z6DrM>2V4T zfw;Yu8*8H(H>3Q`xEF>MEF6S+upTsr4Mr|y)+C*|T-mPPK_IM^GZchG{^Xh*XVaQxeyt02xwwCJzfsopXIjpTyr;6UL%rmwgK>MK zVY_~w<}9Dugp-dJ#Z_#a*!6N;&OJ}xpgD8qi?Np&mzsGS^TTN3MB|#sp>AcXjfS5t zGXD8Yzv(5>&5)q)ILURYSbxp^MzvP2H)EBwlH^9BTEp#0U3UUuxS!23*;hJsPc$xh z_E){N+gTVJ@G^TVCR#6yZFN4e+nt1w6L((B_O%({$wE>zNiUi_v!&UQ{3$vmwsh4n zpz5XcoO2X+_NZQ<)f&VAG{Rzo2z@i=mVJ=cM=Wnf+jDuwmp?7I*g+X_U0Y-U1dX?O z8xi25DrZy1Mb8cIYuDOWGgdtJ%{c7+{kaiw`(`8O`P>0xm^>+J5}WOQnsLSRo4S|D zcD7MzvKoJ&L0lwIl4`ngUMP;AMT=g{9W^D2z)Qu}sxIj5trGAT)S~pC*mcv3Ej=p9 zo@iB~^;UxbKv}NLCMVGSKT(Jqk*CxHi zDErS_$-J(Y{_{sfb0GY5i6#uN9pY%U<~6R}dm-6vH2yT-DLR)H$4IawgUk@Zl4!`( zu?S{}sRYyPsBC0UWQYQVK5*FfD6@|eM^TnV%Q%afqp$S_o3U+(n$&7@JH?IH=4z}X zGm3Wink7cqTH$0YDB^NXky${B>oaD~tE;vS`XGNpSeEOqx$J<8*)WSQtx!2hiCYM$ z@`g|6%ILaXC{)0Db5ZGhNXwYTQc@OIt-Lt!!r~ue?gB9oQoUk3W3GiIYkeVI9t1T9 z#FevVNcH{>NI<5HjSHlD+=7o2N0a+{EcV-Nok+1!#`=UZM&rM1j>;I#trv+uP$TE~oIujSKetZVS=+xqZdeT&vpEN1`sb+~W2SRK=t zGKQHqgZXa;_8BMA6lJ_vFfTNI_nQkuJ$U4gt)Lf(%J4h_vo#5(KY=zJcO=c#aZdm# z;`*$D``hBqm8fEx%v~ojR!T1B!jqwr|HZWp;6y;vinrAK-X)|zkCE9Jg zUzC+RuJ^*xj2ohjXo9A2l&ASHDH^ZPCwI&g8jnUyAG@mVS*#pRW>nbL9$cYAm=v9# z*!9@&4C3so*t|RYI`f??5+2kr!HxUgDTwd!S^I~+cEd<~kE8wTneoj1N!5Glkf{!x z&5Xf^Mv_;J@rT9>we59>F2M!w=MPP#^O@m#x1KI$#=Lju(WT7z(Yuq8DDPrrR#ZmW zQLlHl7MuAFd)D^2UNHQ+W!2&jn3vh)b6$CG|=ViD>=v!l%Lire(TIYDL znOdyPfOzUNYc&4rXm+|=T)h*u5qB0Y@r%pfs?y4gm;R@b-T+DJ!-W)YZye44#;fWA zvYM%LNjrnyzD!;mZ7?CeWV{c$8IH!|ajkF+!Qr~gI?%8de)O-y(j$S_{| zC@*O_1(R^jl5CS?G!|G>OZN zNB(q8r`S|Q8IHBR3E_4dR3lnrl+}d5XS#o!+#VE1CensTup!BUiWfm!ByVft?y3!C zIMgUPPLwspGNhUPKn^EA;rkDh8AjW&#dHfZUORTR__^qKIo-;PtB+qmw=v_k-oM#%pSp&`|_Jx*OL*<&(GN03{PAL5zfeEUby_eHU1O*yX(YaUCHiyYfHjhaaQt zLC8F$5@Pc%7o99S541wJSY=vgvWv$pn6iL0UNEc#~t$sCyF5EB2f6%Srj4pIc z?3QB2N1}wo_GlK2aN=qb@}@nKp*jH333cqOMq8}WS}pZ$$WaL(G%IOu!`);H22F58 zQ&QDo<`=EhRE5R>lD%xVccMHlc$98xc}`tWeV{P0T9&q{P2 zTd?Bkazy18O(9xeyY22Bqb)r9Lh^d=G#07NB-2T!Nn}s;LK}^~P=iT2!sN}iQ4`(x zq_^C&ECkHN5xNl2#bJq%dz^*EkUk;`N3lS3{&6PB?5yqs3KL)Irp=pLHz!JECayp} zkmjMK>TsY8+RG?Xv>L6VvFI7IikWkwG$s^oI&P|hWyj?nFS3Kn01@NyiL_0 zb*n!iX9s3gpaF%?;+pFPT)@^T4uIaCqdgdbhNU6b^ru zk$fm*%-t~LJ#*D>kf%kqenZ_5Igv}Yu->N*zr2zhvwGg2pf?p!dKEnfM~wEp8k<$i zx)Xf|=bj}N2-uQFlLcKY7L|;4vQ&F)9U1NNCZCzvx!hR`2t`(Iehk^4KnsFTvBlC7*9esW|cPxl9v4{^wGX-`_z?2~}Jh zMSka0LcZhJ;%K~28M$zdLzgynB=iw-R~Maf_lz_(WZ0~kL{Y3ozr`MBE_d=uetj+( z67Pq}G3xLMvp<)lM|r;M-vitN#&JFaEKHtCpM|98dVwh~FzGSQoN^(@Jc49t?O~KX z|CW!S7K%-?_{CESS^t)g{w*KX$qcJdAO6`{B@CU|udr#B7aYY=BJEj(i!`7t>e**A{- zSKP@czx!eWx5kbuQarVWXoL1KQaDE#tNEL-M^M<*NL>xNh$T4<5&3nOka5GDWhYII65$jSSDK;M38?6pF; zx`Ks8+e#eo!8}sdi1E1qCPa>laZ--+2iC@6ntLXb3Gj8aa5DMpBnP}p$vmjjOv5iz z;V;xbay)QSih;xZ7{DxzJ;d>7vpBA73iJ0KrFs41TM*<%_u(Am_wd*7!4y&kkJ6?` z6CBRH!HgNxhw_>__=J&$FX=p7N3JrTJ^WZ5S#CYMl3-G0W!ZQs`Kd*-seJKecc`1Tc~{RXg;MQO&N;*r>fyVmC(N{v zSJji9PMGU^V!QN~GXh;JtO}uv4>c}|0tqC?lATbb!d%Y}kFimg2sM^570;MXhJZvO z<F;STgWim!6|?67BWK=l75O)H<6UiL(KLVIR+jh4`DydYH?2PR*o>I z!;%kJkLy4mATRC%i61q|<4IPI#+5kUv&3<;#Br9iq%F|0%G(?W^N%*6UniLGiJZ-8#EMa z*4TzL+%aDjD%P%?EAJQCS2vcPHjA5e&How|I7zE;4VrI|uDx;p+dR6Ie91#f4SLx+Ed1`8RQrwFGifrby;G9T`FYfGNjp(7?9K8X8X=Ha( z7%b<}lZ=1=4pL0%lnC7nBKGBvXA4zm1wP*G`*d!;p6<^Lio=9*T-wPGPz>JN|k zR}tZ?FW#mua@n0^zbeK*V=LK2Pci<;R+2X)HC6f_hNYzRH1Gu@*TFv4*wC3n>LdR| z&Nv$q5^qDo2R%S4`#B`I$eZ6M*OBB}AtjWLg(ERh=|PISm%}30Z6hr-G1fpfrB#su z_mjV#vxNdj3&p~3sBr%PUqWt@?+rDW>o{&TU-baEFV3aD>?9W?6}~DQk&29Zi0^y| zE~587fFlIQ(qP-iHkN4hzE-UJ&GDM`(k13yHJl%<6=H!_DDTo0m1YA8rbb@~R=CdS zTZ02g2#1ZLw~e^NAx;6sInaf|PqvwLntwU`H;i#WUl@Pgv)HspJi};YQ?-g?IJ8K| z56Jd&V$3-v(u$_<7hv;1jsiSg6eM|A8%#rdTozY(a}XS%kIMfXB()+;3hghSFHM^m zb(dmY16P$nDqj~OBlFW#GSxChfL{^ZOfj#CHz|l)0M{u>hDrwEW^ip^@d|%`qMbou z@(t0>$6?Yb+7Q2F5a0eCn#*5YL-KKB)%I+P#MOl(#!Q zoh9b!*3801BS1`mrr12pDKRM$3-BT{{VY%loAw5{ihv<}viNyaC2(MhKntKv$#-Bq zf^&Z1SG;I~Lg(EA<0R}3U{u&1x#ve@PJACuKStJf!j7vpthEMU|1Xb9&3h`bK7>lm zqh4I+5eNAIaqd|T^P6H;N5K|FDis+yzjW*5&x*T6jiv*DRndy*sJVA0wA-7k}(O2O9 zSkN1^HXB*OsRja9b-y#9E{W`Yf_xUY0K)E6u{jcwk2@!FmY5y9*j;?9IW7F?F1H&tGtH57;hV-S+s{9wv z#Ggj@nHBlRGh|Af@+f{%fp0oFfqg3~#yCswbY3>L2DPLm5Lg9gR?%yUrDvaelZCaE zoP0LjmpSM@PQz0vu31KTSp1$So%XGd^n0Fs88--1qFh4osq^9#Z79->so9hBEKDs6 zIwP@c;R;v+eoWlsCLorn5;c)2*SdI7ZBk8>8XQYr8 zsC@3vNZH~NEQDgU6WU3*uxW|CC#}_&#om&GzCbwknhJMeK1b%7wiPl=748DTM9d$4 zNagSRj0_zWE0Gn(Jz}UqqbW*(+PmkTydqVVo_n@q4CMVZ82%Q)_b2VdVhvf^ZosKVkl~mEDa0@ycul>wdz%Uy8z7UK8$fBrTZ;KMPVH1y<26;jRsfbF zh<0h_8(?Y2w;|>mV1a9CCEa`jEbH;+G2Z~o4S35i-vG;vcpGZI0hWz;%QW8r%qF~L znQs85cr#wJ%~xP%3*K_%+h_o@6>qub8-UrS@|su3LOEiPzXfv9l)?Zp9#L3fP^98f zj1?0(+;Vgn#AQ5+v0?CJi$^gsEKxp+pPAcm?9tB#bcU$>=2JbwPyqfO75N`m75rh|V9qEz)g%$&lONni2J@1Aq<_XPRT_^}#w|CBvdfxZSMMXu zg0+Kb+(}Ng4`> z3%2l>O(KZ)^^D+Cc7hE56?ySZQb+MwycHRr40e&)$e07f$LyR%;|VE)d=B05x{i5p zi~wFGSM})5+OtwB+)naiZ;@;quk<}g@XU6fZV^_(w8z_H~YXX}vvSCBoL+++9~|xJRx}Ez#f=Gla`gIEyhq zIHf#Z_C85NK(@z@MUAM__&di)GTn!*=rK}Y119?EA%#MAUMsQea8vgbuZ5rT$ag*< z3svXVG4iLQZ;o}m@vl%3PLl!lD#^;o(|<*`x_5Li zJfQ!b)PLpPIuzi&LEi&-(1W-?Xpj17$DoVyHSnW-Rw{vqySNIR*pRxQk^AB%@3fwi zcbYkQ-%v%oKo4RvkpX=2XC&P`g-hju&qzNUYh3#o8Au0X-&riKUW7ZWO{d21`JCLy zpRXq+HNEKDobc3Gr&tY5aApg$Xc(Uh+t_diWYUwo^B=@xv84=i_hlaiiTfSJ+BB#u zviL9lL57nZ{KP+?zJI%(BGeZ9kp(`o5J#APo7pEP(?(`>7E|-T32rQo&+GUEb?vwMFgXhyf&3;_;HY0f+V#_bssuIT+J~v zM1ItdB0PBXwP65-Q$+jKF+>rb3eWq|FOk0K6#hW%jFHDPsLtp?m8WLY>cNitQI=O3 zEZ^x=sgHDI)5FAhkO_T}!?KzCa_Qxr*jPm`jWvRshM*-9$J6r=yt6SZPvz|M?CxKk zldu?m?}an{1_b@Y)<|CEbA*_!pH1eN88k0Woqf3Xjf~I;MgEkFm?TahXT<~Q9!4j0 z#+?dF$Q%dg*7^DKXNNU*;NHu5dlrBZPLL3GJt$ESk5pCo>JdUwZobH9UI-&S`N*Qk z{llo6Ixo!5jz8>(JeyCe2v&Fp($ODW-IYkUF?{}bPXa*j_tG8TXN8j?Anl0Z6nC~A zleOCwLw;K!y<%Vqj*=SZfgH?hDg0<5oggB5E-j$b_>5vYfNv`0-KD#wOyNHhJ ze54zyZQ{03j)vip1ZEY%#^1(4YLA6I7tG&YipBNDG!u&TChn#|8Na5O?&|Nr`f2U1 zBDx{ofJxeCy{*PV;U@CkC3GY`r1E1Ww2D5S5E))dU!!zq0{?3n{cpM}A@cij`Z^-Y z$sD61za5R(B;xwt>M=AAzmYq~P$oYk6zg#Q(pZ|DeME)R<| zis%nL2|xbgQ_@LtO2wB`GT(9a3j}LYq1kYe1cf9B=LAD}Lly1UY44yEfdbkmLBXFa z-ai4w`{PCK$x)BM3r$N<@Fz25hzuDbgV?DfgFqI|OHlA9GZcsn1tJ505E%ppX-R^D zKbfIC;W+lf9_<1e=^5-QN?(XLG1gHp;lz5OHlA9GfWd1rilzf8-NUA z1nBGp1%EQbe34z-A2M{FBwmrjD{=@e0&?gghc7|FpRA%)WM~x` zgl+*DR*MYn2@3vXh7OUTLu3#d2V__;GTe}$;7?|_QDnGLWDt4?WY{P&Y)VizEwOTJ z7CAPH9R1B4TSShn2@3vX728CHZ6brvS)hvTBEv%o3jSnl7PGwxRzT$2E}?^xtCFt{`1~>R zrpS|*&`(Itz67#Fxag^a2XwD#=lh`?CKXUw2A`O@^2p|aDMYa5^$TexPgp>IN6Pr&1+>(d^&dm{lk*Uq?zV9xkxyJm6EAn<*Msob z0&xnclE$HM<)oLvra&aL1p+Ol((xc}xWYqbD3w&=FsMOLkF;fdBSH9X8A;9Gp-Iv` zz94G2^xVqXS=R&pAdB9fh0#-|8M_^EKoM)xI%sN6&O&gF;^2Wa-Mpu>5i@bv-! zU| zyemv~u@b%RjSz|Nz!K{%qu5x4M1m26J^Wc4Xn9MGX-t-PAZ zr^$S!4?61rg5kzUI9q5~)&VIPUJBvxi0=&2+@eA1GxmA7T}>>zbjl?BEFpX3zIOQD zfPqH;4qBQBp{8a7T}O62ylVrc*q%Q9P1+`~MUI&Ld+9q=Cm)#4i1R&&&-*T2NRFBb zzxXaKrNBzxw#4WPJ_qAYYCle61klac=2v;51Nb?q-N+^cF)B@*6 zEdg&cIh6qE0>QfF+o=RN)iNIyg!-~wc9{+g5?pYmXD3;k|5yO-J}zGVJvxM(lJKK3 z@AnYN?hF39U%j9}`2wIMx`|66t|Sk7utsl64Fn;|CD(_Rm4Trv2`)Q?`0u}mpxUU; zim{!1Gd9GQdx*aMu};!KE@hCJyPyKRQ&1BeB$+|W&1mINEI<)trlh&}_im=6Xo-tI zcQY-uKw=8gMF4GD(adkTnP#M&G0yqW0mU#WfXR?_eVgIporrNx@oR-V-*5{}<1YZi z&6_F0i^JApew*0cTk)#F(CZPRz;}(fx!!_%?=p&YDBDHaL|*ti7hCM+slnDZt3=JT zX0Z&^i+N~`fgo04-B94-7v4tm>2|_r-$v{DW($1exs*JY84`K??R4l>2=Yo|;TAVy z$&T6`HHH9wjR1iNg`*U>oXcd9tA~cS2rXfyEOMFArr)`pro@H8 zD-n>CyOeSpt@V7*%`}Ct+Dr$C(FAd%@!JvP+zH`5U!z%#uA zVf)6r__#ahCF$cuwpy2hKga@gt^`*fmr@rk^X?rqi%oM8?lr)VJqAr;)A9DPL31FP zO^fEk=Zl3$1_P6!m_Lorbb9n7au>7Nu2|6Yazt2OeJ4$!=<;{&q^pO-td$6SC9aju z?J*Ahx6qIy>s?#u56+Zz=3TG?Mr7){=w8$sxrx(7jBX>5Kl}$y2k3kk&$|c0yp61d z_t3wKM2pN;Zll>L_RR$u4d!axX4r-p>f31DkX|OIve+eql1Gy7rHuqZ8ARyy9De(K zh}GwnFNHkwemZv8nW+kIXc4w@TBPZI`YEBhSs|BE&aZudjwK}WlLs(c(Wy5d zqz{W&f_zBG>NU!Un&pE?tr%D^(jUWm7?KE zFVbgF{XbsBu8y>unGrNRnZK|b0^Lb|csCu6pY5;E)JWzY09)1JieaYG+b*xCnCuo3 zY+0?DU@=>S%M#%h#F8fKNb8pm*MQChx5o-B7v}R z4jtrdHmS+m_96Ga0&vV~`LQ=?lKCu*A)b2$Sib=?_`m27{^wWd2cw*&d-rWeVhh7& z7yrk8n!&U7(YI)aEAp3pG>3_Y!EeAe9uIunn>6rsA^O%J2WeU1(f9rreGr3j^?usn zaf0fEDFT=-A|r2zV|zFDWP3LPgJ63%y7-b`(gN*uQlmFlj2Tlt4ySeP%UXO*Sh}+2 z24#|}{FZP3CC%#G=pvPRQ*+20%>-Vz(UoL-PD+&@J$3~+a(3CV=SJfOz$UcG@=&o` z*&GMomY(o!G2z?dl9%Vr7+t*PR}cqHhgf{>J-QWMUm~8O0QALc1|+bu&GHhT;4-2GE0QZ1B5kJ3?Xq) zg{9Jrh5D@cj##KYzGL-W09ynE_`NWLWppYJx$GFSNyw`fJ1SF1apgkG_k690l`8g$ zGA{g5L|PSVvpg=7pCAxq=?KTt6b?P=B1@#`AOxs5-~@E_u$2`yrn1x&KHzWE)%ma2 zOO(oaxIWhw2!_8pq@6W0djSF5%L41*Yqfe(U|mf&((Hs#2@TJq;289Am-4vFj)ZPX;;FKG-RM)Z1GJVQ5JVv4 zJDHMNipn>CPBS}ut?^8_a7^Xy)ge--oEB5zkqb9sq5ADUD|)SzXXUcKy#nD<$|kjU z)Y;b*Qb{sQTSHz-;vzG9Oo7k#7Kt{Nh3%Khl?XA=fGvnr_(Ww;5n*(vi_8%FPxcea(^Dn7$4=5U#p6op=@Z3(SDsOVA*&69C2T795Droym*$FM)^xBm=yxL zzoW9UNj>0_#MJZ7g%fM>6#Dg;U#-pAgqP8;!Tex_vn`8xDoB>a^05A%o8<|P$GxX% zw#!^m_$OIxh}&9S`tg@Wu(T?utX~jhy2qvLu~}mI*;%6WW6TF+vvgWV`RvbWDu3)0 z?MIUN>{B!)r59{+e>TgB%Uolrt;`4zy%e!o1jsgi0Bqi8RhK?Q^1AK=Yw|fOPu8ff z)_}>ZIEMlh|t zf*PK6Df^=A$HBDRQKr=$;R?_A5-}UGS$IRrk(Zfr9c9q@H|Y~Xpwif5^epQo&N zmMZ?gDl47`hx^|yDq@K}H(xtXQSqpt#p5pJxXt(eEh>uL@Bg);;)yuU7Sq}fkP}UFr zfez=fR47$>qYC4ad;f+*scw5VPj^Yv-ZF5_&C)0ojpdmP*H2JI0vnNJYR=@Pi*rj8 z`RB7O;{)>nzPSS{Pst})Qa@pyDZ+IJWcVXltN>j}J_YFGc0?!ntWz{q>^_%fvr%#1 zlA}#q+ly#-HYDQw=i_XaXys2&w01Z==W}4nY#>WiY9nBM4jXP)ZiWwZd_4R)&F>Xz zd*@O94+>Q@pPkFHpf~4%T8x5grcP`5}e^U7=Jd5GU)z}cx{>0Nb<3>ph zS@QXpeOMm9|1`}VoY?!lKfa+vO-w6`-T6xZ4bgp6>63_n<{6Pq_p%*?^yk(0vzag= z`QH7k8rDa9?`NYI?nHQknQg+&glW=&ZN{KP=aFq%Ps^q>WWrw>8d2TF$x6oAz)Es} zl^wZZJDW&T@_H$t{hZ~GD@Zi&FBT=n`cfd9IY|qZBGD_nmh@8mhBsK|6zle5xubNs zC<6nzxIT?b>~Rb|4*Afhafyi1oyof%Wa(r)f9*jw0{2?}`XDQYv6J=?#&NuvVevyO z1>5pjKV)U&V{yw1*94afn-7?jz_5M6oJ(;CFN2Qfix0S@5LmvI5Dg!2BP+06QEJWF z#{7_7krb^)sWVd_{vq>NZPY|RlCRvxG@kh|E4KrWr}lv-saj{?abc{K?zU0R&lf25;{g_oG7f-?MChOvs;!zMVPB_GAO$dHunuHDBbniMlJD>dn)<)MS@_#Ua!tib|)8P10Cdwe7R-t90JEfJ@u$lS5mL?(r zapmCQUN(no?3d|&9j+N<4%q+Bi-LmoL)r@SYiSwEP4%r!R62t}rTHiLU}; z6WUoaqXn!)Hv-(ilg_%hayH!XH;HI`2y?3;=78CROC9-?Gp~pmC(c6r2sLfSgEr%P z%A)-6YBfx^B=WYMY*NoCrXJi80lk07U)#xs(yfX7e|EB2^r1vP?kB7$W$PK}Z^$-_ z{}xDSav(-o402#SyZw7Q_zG;dJ03#!_Yl@A`f@5d0F<^g!1?qD&hY;%n}ETLzF1Hik*qv^Ax*y(yqkV3OlwE zb?=H>iwb)zMTK%DdKOTt?qn#D6Zw{>*lfBdk$?CU#02~f*u{o;_9BBK{-OI475oY7 z;$-EGMB|3yIeia^^n;1Y!9+e~7h8$d{)SB0=)AUz^%WMWzuCnK`n@g7JmOIfCGvZp zhLET|&3tLVLZ#?}jXwZG%jJ2&Vczf(8!`?fC%ZjI z9!2Xxbo-R-=2KEIGK%s)&p&jnu&JuGRqTQG?WXvvin-Gn2Kr~K3R1SXyy#7`8 zQA%wuWu-he@elEvfhc0p;2(

    PM0^s1$)}Z8fl|Do zLfNl(-hjN0CIQdlAssT;0s5J;-poJSt=!-ian{2tt|qc`R>;z347?I*ahNJ_n7!@@TpAMO?l%Ct>>IX#6wIG<$z8Uq=Q@|uQ)kFI;R~zDgg!B%LYl{9un_bJyg+yND?xB)>3>yr?eS3+*ZH&|Cc8Re#d$~6aA z*tP1oz>V$d397U%hL-HypNjiauY7;^uIWao$$EEqt8_zt=ca7zG45qJhf;%jn7vh@ z>4uhN*moJUhFkrd($U-l4A~=+N|i@~d687e^9=b`BxS_r{mesu+Q)|*%I`*^T^L2p z#0w1hQ4DRTu?BlUc8@2hMhyFv&XmkzC;VKIN;47FVV;;|*l-3gTIWTEtm;Nj^HM{` z#Z#6#j*h2qdAXsG*D3P+R^75^Bv3VW7#s3HBIQSBYDsPA+)NqYov!bJiF9IkBJHqZ zz*-<0_{*Rp^z^aXSh(gh>=(OJZ_fQj2;$XxBe-_JkmqmIldXV5wr$Z`tsze)Q~#c7 zjo=_8L&GsR$6(KnQd{c%RmI^Xx%hd#OXspc9m4De@z{3sWNiv1c&8z}{n)T;c!jzK z&;%=&pP^LOT_V)tJH@4b+~`!rE3FAxO;8Loe%mwIK`AshfNujl5z1)bXz9I)pY3#hFa#JHt0? zI%w!`@G|Axw73%JuQu{^Ow!gmMfJH<3ZnGYgi7gVYU@=!z1l`YLFl^61s~~=CPhz# z^FsLhG2}neX&cAUsm$hHG=Xn56v!w+x-#fywF0ippq{kdU?*g1CMC*8GsqLW{R#v+ zmO=f->@e8iQ6)gMP4dkic0;CT3MTFy26@`j+;jtrM!?*7jJ=(xne)YW85%xHV2;;z zhaW%HOI@Jaxj&NW)6th3^ejp&x=HC@_gCI^59_kN}&$v8+=7nkt+) zt|Z`5xDGuGwCdcKX6f2Ku*|-clhSIi{-t#)8iFc9Et;4Ie#)v<1p9-AOv$9Nyfyr~ zcV*J(*n?LlYoF<@VODqO3gkU>1@g8UpzjeyU-iY08yY@}zPNDm3J+1Dq@y84wAglu z=QR56*_psTK2wOk`=6~k$o%*oFf0D4Az$lH`#NQ+_nJ^Op{_LO*Sg3D2T>o^RlYum zddrm;^x68SZ6yGY>5_*A)4lwRA!p=apqw@2`aBxN&tdrHkvI12m1~vMOF^#jGHS1R zo3wuJ%6YqANrX6WNO=o1{?5?bJp>aqzhKCgVoFxPw@!Bd;WVAeJtL?PfU=m8RLks5 z`4r^)=3id?Hg9Q{AG4;wgxVEiCtJ*GK!mRx_#4R6#eaI+!40yGZqo@afYHT!> z$1!XR<-*kPQSEcV&L}`o*`>Ws5_rv%H<`Lp^jnr&!0;ukxw$^KTD{mI;!O9xxcQ>?m}Vn?Dh{%8^m6ncAPdwv>`pRbDEk zt2<9q#Q;;{Q%Aq4`NQ>&okHv(NN zIht&_DPJrnZ^C8DgXOBQ6{fbL;|+;7(+IO!T|tSfaRrSE=;VT%QO?@-pD*7`SM&89 z@8h>nY8xObyZ0qrCd@;lff58Q9l|S0Z^IfFjo^@2+h|_Gx4A;1+vZ#7dNQ}DI&3wy zt>LEtG8QR46_nm1#$@@5=Uqa6R$&T>$DZUye^rbrt19SPbGy2IhpFu_6%27Y;LyxR zv5`BGtjLt3?J{kE&+-}H9ew~HWPQMXo}587N+eDUz=P>_waqDJW>fs0LPh7 zr~NluxYx6yVYH}m*2IO;jSnXcja}s>s+Y*`3FN=9a|Ep>nhy&U3QYWQJ*;DtzF-#4FH8BY&a4R|^cgmv^8`WQ7YvO00eRoy1(cpA~{jt+<=gI{|kLdk)YnKz9J6wC8S0 zyecOY2OhSGz|5ur$i0-tDO8fWXr&<%c1X{@P5#ePaQNYtd~zxExpu&Ry=~r4-!?Dw zw(3A`H*|ECyk;3CEDG&9-5J4h6nY7!BnMjq61u1KBkXBKI#5gP>0z`|KaTX=4(U+a z6*xsl*K%#FLsG9dTAN_~WF4L9z?UJ2&huA#N6GtJ^(gNoD7QXo7Z^&Z(ZSx)~Ao<*TFo^lAm2+0aN#lO% zH>!&stk|(0xqLY~uFwyRpRL3t{}-Lk(gZX*5ZGzlVCtt$S!9SoFX4&|*G^ z%lR#ov1l1*h4DGg8otc20tQz@7H|z-^z<(nTm*Zr-+GX7Eua1BOkteHtPQL7H&116 zANT_2+JoPXKwu^9Yc)vQt|z7ZZ~)hbF@^z7 zw{Y3?8a>0ebJ^#0x>eu7x66B9r<4J=DprBN{11M)zk02!;$gtQwLu@rAMR{EcM4C{ z@_!uiH}>z<4`G9j*6p!ZqO=)LKQBLfozfD}-?a&!J=4A9w~^1PoXv+mh=2CoccwC# z@djNNqb~pN#kfOH-88#gokz<>Z%{7w96a|1o#8E9ZrY3W#9l6s@1-g>Uyk|{ZS@@C zY_7XM47w`lUWimw57@7|;wVup*!vbQkVXGY08-lDv| zU0ew+yaPMQ**zLdcA3$md^7ya`Of!_on2p9?es0CdF6?>pleE%SM8&0exA#b`{+(} zL~@*ca33KC5Yy$w{q!9!4>Oh}%igAPm=JcnO({)HBCHbEYE zmli}!!1LW%^5DCaB&+{Qx5cs3T#M}QJbH|BiU^UzD-Rr^&zRS?|4s{;KFP)9;KP)J zV0ER3X(+l-^I^)3jlzuBe^Q`M5u*@MRO+j|_TLZFFm`nk-XT!w53;rsYV(Gvtnoa$ z$R!6Hr3{ME*?qF&C{5^A>cVP16ow+m+Rx%-%Tc;sHXftNOtbeMqgqs5-;m0$Euo(yrOi<`BoR2g6J{FE=|UJ0}#2&wo1*|8sAz zZ@4X(&60KYK%`7OLFsZujer621m#NhA-zwm$tC1tAJH(SvN-h-^>i;$&8M*k?W<1F zb9%NnWCRaZ2WGPl=aKP_`8LS3WynuSp3qNu^kd5K<%|hbVdc@5Lk-YZJZ07Xxo{5> zwnrlpVFSVvUT)8ZjX7k{W~rck$P}&&*P&JmLVtw6$OCImi>`}iz>S8AZy2nuZ>*_O zQRd+Gvd!FmDny%FzpoBv>uTRzmD7o6SOrfajyfTfH49=VB#Uq+oUig!I2G^kSWjP1 zzY5O`KLX&uYdyjoR%Ekg?uwAEPw1~o=l}jE^f@E>)~7T|=6^;fVpOkzUamHP1%qm` zC*&iaQ@yfWM}I*+kp=%-BG^@K zVNckFKhP*dEp*9M7ob9D;_~nX+E2S&M_lspAL%~VE>}G2<&#hSi20@XA{BGkZ=bkG z18AS?q{}{ek>)Ud+GUq8F^*5Tyjz}ekr{o!Q_|4r_XK9P^*%(UM4S5kb)LrAvl@Jm zys(P^ErOPw7wXX2a%Q1O9rn}SJm|{3dGP3J!~`h83KA_}Qw5hCy41PW@Gd z$^$002zg~fl6X}g4pY>zB$3cHZ43gRLY+|A#4ep?N-J6TF)PeT7E{kZr2)`a~ zIkJaXs{7oBCEG;1i)@~Tf;&#_-1$tDR%pWL*j_<-eWxj?wtRIGev-mx2 zaaqy5p=$<@frlogp~(yfFjd{#SA&rd<~h)F!fBQNTlv9Yk-)NL!XVL;Jt~I{5_vrO z-?Ct!=q4+C;32;oB+}4D?i?t_$(sg?LBzJWW8|zn5Miqux<65y(yAlkhsL(MJ7ch6 zM_FS-6J)mVS){DbMp^koP%vzVcMK6dJEgV9jbz$RP-CbV-Q}PT$J$9b*ewWGpMi&Ea=wws3wVtw|yW8)nKPLPF< zap5Coz=(7PR-(m~)Wd<0Ec%S%x?%G~Xjfb4@@cer^nA}0nYs)#o_3>nlhWB4SZF7U z(JBCC?PO8Z>5z^f8Wdj$cW;6DIr6|{bgX^uczJHJ=)qgvvTLEZfy2y*=`bkH>WFG3 zj}?lAaYx(53r&tqRW3G@o@FG<^jk$w>Sqiv|D(Gc01o_H<1a0*_mqbKF`dN`vc;+h(p9m(SGaw;vt!Q zn>fe8jN@v=4&7(;T$yQhw@=lGesIHM$ZmBYI1FIJ>%?^4XxP86Q#FUb(M|Q@0nV2g zcK-&kk?|FV{a#SiGVWt?T%&j};s~*FHc_5x6nD9wa0CGNBw28Ry2wTI#5^Q+S;PzIc(KJyQeF?s=E! z#-je~203w&NFmm2q{&||66wnRw0#k{s&}m+>lTYyU0Ve6GwMIeH>-U{3a&To&lij8 zPWnb8U6$Q1QrURB>3)%~_i{AVYFkxX=Rd6Mk9MqJm)ql_h(S!ctpkom2wStB0eCk@*z z#c_m2-78ptx!YMAMsUem@ei(_HZtVEbs|+67s}U(Q7lrfTPJ>Hm#ha9NIfE0Be=|Y z!<(OAHLoGMn!aq|NV&xAT#8l2q zd&)+EI1Jn5s!f=pkHfthGt6sc@6Dn{DX`>b%%?G??D?qJ9B~p?HTXq&R178&0qwo9 zMcfXyXUe;`h*F$H$YWc?b>?Zo7NU~L<^Y-Xn8;vD?b63Y4pR#B-#jkL+@Gqa3@``E zj~^E~JkPWfo)DWEA8y*OZdKi{$h2R3QhW?UuxUTFO?=3?&$RD<2JbIldln;hJ*ze4 zr_YKVyvda7cA)1@Gv$RHVw27mnsU=~Vua2%GWpSSqCjVGY?bl6SV&7uoIUZpctvN> zwa$7$Y#a505_)dKhFlL^Q~Bn>(CC|iO`s4cA-lu$QRQoB!j4MiX0Rcc4HbECuF{GY zV)=|IhiT2GU9uBX06aAy=3sf7BaoHAZxmrF+C^yfqw%t=l8+?Nt=P zwzDgU7M_dYKaFiP2g@5 z)WUX~@|9L`lDC-hk+(&f5vE3@Uw-wD7$Dg@;xs7!@jGH5(_8R@o`d3Mme>M1YlD^d zyE0f*8&q^OXD}~ka@D)yS(FR4@c6%qKj;kIO8gD|`)Zuwritn%SaM+0uNe*JdTQaJ zrjHiZYRZ*=SKaE6X%Bu+1exiNV7pP<nSLxS)snByQ!%4yfe%{aI{$QKaB`Llp|xDQPB@sY4QDqyB3&S3 zZZ-BCV{^HRnyTI>{Fbl<;%22HRXd=aD^A|_LQrETHB74PczD2B;K#CWhi)G^E|QoT zh+uosm>0|uYd#PeIzw0K^MUZ1P$EGL63kN|_mo1ZGVcR%1|7QUgz$*k2zH3cR4irDpK@zCGvz!^0z44?NtBW}i>@=qR`Sz*PqMY#< zOOE_l)bTEseCA{EAJG`Wjx+n2PeeS^Q?2oG|ED5VXHYYL^{MEs*kR&lVjPQE7{N}m z$c}TzoXz!pyP@b?t`^X%pSfSIjkS7>t;Q1TW(EH{Kk*9n6Su*)Cs?xlYw^Fl)RH%z6@3@6^%3keh&Rou^jVZP zezanfh^BM1zo9-9i#uQ~&396Zq4N)`NouWVEEJKmWPUhhjuoBbq=a|EH(HsY9Pkee zDHXC}la=XhE4|Xc#9Eq(Un47T3n{{uSxYN0b{l5-9am0D2VP$X*Q3fDxZGMg9#U$! SNB9d6R4q6+xWZc6Z2cei7j>Kf diff --git a/cli/src/commands/compatibility.rs b/cli/src/commands/compatibility.rs index 3b0e2cdd44..51d50068c8 100644 --- a/cli/src/commands/compatibility.rs +++ b/cli/src/commands/compatibility.rs @@ -11,6 +11,7 @@ use frame_metadata::{ use jsonrpsee::client_transport::ws::Uri; use serde::{Deserialize, Serialize}; use std::collections::HashMap; +use subxt_codegen::utils::MetadataVersion; use subxt_metadata::{get_metadata_hash, get_pallet_hash, metadata_v14_to_latest}; /// Verify metadata compatibility between substrate nodes. @@ -25,16 +26,35 @@ pub struct Opts { /// The validation will omit the full metadata check and focus instead on the pallet. #[clap(long, value_parser)] pallet: Option, + /// Specify the metadata version. + /// + /// - unstable: + /// + /// Use the latest unstable metadata of the node. + /// + /// - number + /// + /// Use this specific metadata version. + /// + /// Defaults to latest. + #[clap(long = "version", default_value = "latest")] + version: MetadataVersion, } pub async fn run(opts: Opts) -> color_eyre::Result<()> { match opts.pallet { - Some(pallet) => handle_pallet_metadata(opts.nodes.as_slice(), pallet.as_str()).await, - None => handle_full_metadata(opts.nodes.as_slice()).await, + Some(pallet) => { + handle_pallet_metadata(opts.nodes.as_slice(), pallet.as_str(), opts.version).await + } + None => handle_full_metadata(opts.nodes.as_slice(), opts.version).await, } } -async fn handle_pallet_metadata(nodes: &[Uri], name: &str) -> color_eyre::Result<()> { +async fn handle_pallet_metadata( + nodes: &[Uri], + name: &str, + version: MetadataVersion, +) -> color_eyre::Result<()> { #[derive(Serialize, Deserialize, Default)] #[serde(rename_all = "camelCase")] struct CompatibilityPallet { @@ -44,7 +64,7 @@ async fn handle_pallet_metadata(nodes: &[Uri], name: &str) -> color_eyre::Result let mut compatibility: CompatibilityPallet = Default::default(); for node in nodes.iter() { - let metadata = fetch_runtime_metadata(node).await?; + let metadata = fetch_runtime_metadata(node, version).await?; match metadata.pallets.iter().find(|pallet| pallet.name == name) { Some(pallet_metadata) => { @@ -73,10 +93,10 @@ async fn handle_pallet_metadata(nodes: &[Uri], name: &str) -> color_eyre::Result Ok(()) } -async fn handle_full_metadata(nodes: &[Uri]) -> color_eyre::Result<()> { +async fn handle_full_metadata(nodes: &[Uri], version: MetadataVersion) -> color_eyre::Result<()> { let mut compatibility_map: HashMap> = HashMap::new(); for node in nodes.iter() { - let metadata = fetch_runtime_metadata(node).await?; + let metadata = fetch_runtime_metadata(node, version).await?; let hash = get_metadata_hash(&metadata); let hex_hash = hex::encode(hash); println!("Node {node:?} has metadata hash {hex_hash:?}",); @@ -96,8 +116,11 @@ async fn handle_full_metadata(nodes: &[Uri]) -> color_eyre::Result<()> { Ok(()) } -async fn fetch_runtime_metadata(url: &Uri) -> color_eyre::Result { - let bytes = subxt_codegen::utils::fetch_metadata_bytes(url).await?; +async fn fetch_runtime_metadata( + url: &Uri, + version: MetadataVersion, +) -> color_eyre::Result { + let bytes = subxt_codegen::utils::fetch_metadata_bytes(url, version).await?; let metadata = ::decode(&mut &bytes[..])?; if metadata.0 != META_RESERVED { diff --git a/cli/src/utils.rs b/cli/src/utils.rs index c5af8c9cd8..9a8b6edf82 100644 --- a/cli/src/utils.rs +++ b/cli/src/utils.rs @@ -5,7 +5,7 @@ use clap::Args; use color_eyre::eyre; use std::{fs, io::Read, path::PathBuf}; -use subxt_codegen::utils::Uri; +use subxt_codegen::utils::{MetadataVersion, Uri}; /// The source of the metadata. #[derive(Debug, Args)] @@ -16,29 +16,57 @@ pub struct FileOrUrl { /// The path to the encoded metadata file. #[clap(long, value_parser)] file: Option, + /// Specify the metadata version. + /// + /// - unstable: + /// + /// Use the latest unstable metadata of the node. + /// + /// - number + /// + /// Use this specific metadata version. + /// + /// Defaults to 14. + #[clap(long)] + version: Option, } impl FileOrUrl { /// Fetch the metadata bytes. pub async fn fetch(&self) -> color_eyre::Result> { - match (&self.file, &self.url) { + match (&self.file, &self.url, self.version) { // Can't provide both --file and --url - (Some(_), Some(_)) => { + (Some(_), Some(_), _) => { eyre::bail!("specify one of `--url` or `--file` but not both") } // Load from --file path - (Some(path), None) => { + (Some(path), None, None) => { let mut file = fs::File::open(path)?; let mut bytes = Vec::new(); file.read_to_end(&mut bytes)?; Ok(bytes) } + // Cannot load the metadata from the file and specify a version to fetch. + (Some(_), None, Some(_)) => { + // Note: we could provide the ability to convert between metadata versions + // but that would be involved because we'd need to convert + // from each metadata to the latest one and from the + // latest one to each metadata version. For now, disable the conversion. + eyre::bail!("`--file` is incompatible with `--version`") + } // Fetch from --url - (None, Some(uri)) => Ok(subxt_codegen::utils::fetch_metadata_bytes(uri).await?), + (None, Some(uri), version) => Ok(subxt_codegen::utils::fetch_metadata_bytes( + uri, + version.unwrap_or_default(), + ) + .await?), // Default if neither is provided; fetch from local url - (None, None) => { + (None, None, version) => { let uri = Uri::from_static("http://localhost:9933"); - Ok(subxt_codegen::utils::fetch_metadata_bytes(&uri).await?) + Ok( + subxt_codegen::utils::fetch_metadata_bytes(&uri, version.unwrap_or_default()) + .await?, + ) } } } diff --git a/codegen/src/api/calls.rs b/codegen/src/api/calls.rs index 37fe1e0e66..4df5ca637c 100644 --- a/codegen/src/api/calls.rs +++ b/codegen/src/api/calls.rs @@ -90,11 +90,11 @@ pub fn generate_calls( pub fn #fn_name( &self, #( #call_fn_args, )* - ) -> #crate_path::tx::Payload<#struct_name> { + ) -> #crate_path::tx::Payload { #crate_path::tx::Payload::new_static( #pallet_name, #call_name, - #struct_name { #( #call_args, )* }, + types::#struct_name { #( #call_args, )* }, [#(#call_hash,)*] ) } @@ -120,7 +120,11 @@ pub fn generate_calls( type DispatchError = #types_mod_ident::sp_runtime::DispatchError; - #( #call_structs )* + pub mod types { + use super::#types_mod_ident; + + #( #call_structs )* + } pub struct TransactionApi; diff --git a/codegen/src/api/mod.rs b/codegen/src/api/mod.rs index 85d6e6bf00..8f112b088f 100644 --- a/codegen/src/api/mod.rs +++ b/codegen/src/api/mod.rs @@ -8,6 +8,7 @@ mod calls; mod constants; mod errors; mod events; +mod runtime_apis; mod storage; use frame_metadata::v15::RuntimeMetadataV15; @@ -18,7 +19,7 @@ use crate::error::CodegenError; use crate::{ ir, types::{CompositeDef, CompositeDefFields, TypeGenerator, TypeSubstitutes}, - utils::{fetch_metadata_bytes_blocking, Uri}, + utils::{fetch_metadata_bytes_blocking, MetadataVersion, Uri}, CratePath, }; use codec::Decode; @@ -95,7 +96,11 @@ pub fn generate_runtime_api_from_url( should_gen_docs: bool, runtime_types_only: bool, ) -> Result { - let bytes = fetch_metadata_bytes_blocking(url)?; + // Fetch latest unstable version, if that fails fall back to the latest stable. + let bytes = match fetch_metadata_bytes_blocking(url, MetadataVersion::Unstable) { + Ok(bytes) => bytes, + Err(_) => fetch_metadata_bytes_blocking(url, MetadataVersion::Latest)?, + }; generate_runtime_api_from_bytes( item_mod, @@ -434,6 +439,14 @@ impl RuntimeGenerator { let rust_items = item_mod_ir.rust_items(); + let apis_mod = runtime_apis::generate_runtime_apis( + &self.metadata, + &type_gen, + types_mod_ident, + &crate_path, + should_gen_docs, + )?; + Ok(quote! { #( #item_mod_attrs )* #[allow(dead_code, unused_imports, non_camel_case_types)] @@ -487,6 +500,12 @@ impl RuntimeGenerator { TransactionApi } + pub fn apis() -> runtime_apis::RuntimeApi { + runtime_apis::RuntimeApi + } + + #apis_mod + pub struct ConstantsApi; impl ConstantsApi { #( diff --git a/codegen/src/api/runtime_apis.rs b/codegen/src/api/runtime_apis.rs new file mode 100644 index 0000000000..3b96ad4397 --- /dev/null +++ b/codegen/src/api/runtime_apis.rs @@ -0,0 +1,168 @@ +// Copyright 2019-2023 Parity Technologies (UK) Ltd. +// This file is dual-licensed as Apache-2.0 or GPL-3.0. +// see LICENSE for license details. + +use crate::{types::TypeGenerator, CodegenError, CratePath}; +use frame_metadata::v15::{RuntimeApiMetadata, RuntimeMetadataV15}; +use heck::ToSnakeCase as _; +use heck::ToUpperCamelCase as _; + +use proc_macro2::TokenStream as TokenStream2; +use quote::{format_ident, quote}; +use scale_info::form::PortableForm; + +/// Generates runtime functions for the given API metadata. +fn generate_runtime_api( + metadata: &RuntimeMetadataV15, + api: &RuntimeApiMetadata, + type_gen: &TypeGenerator, + types_mod_ident: &syn::Ident, + crate_path: &CratePath, + should_gen_docs: bool, +) -> Result<(TokenStream2, TokenStream2), CodegenError> { + // Trait name must remain as is (upper case) to identity the runtime call. + let trait_name = &api.name; + // The snake case for the trait name. + let trait_name_snake = format_ident!("{}", api.name.to_snake_case()); + let docs = &api.docs; + let docs: TokenStream2 = should_gen_docs + .then_some(quote! { #( #[doc = #docs ] )* }) + .unwrap_or_default(); + + let structs_and_methods: Vec<_> = api.methods.iter().map(|method| { + let method_name = format_ident!("{}", method.name); + + // Runtime function name is `TraitName_MethodName`. + let runtime_fn_name = format!("{}_{}", trait_name, method_name); + let docs = &method.docs; + let docs: TokenStream2 = should_gen_docs + .then_some(quote! { #( #[doc = #docs ] )* }) + .unwrap_or_default(); + + let inputs: Vec<_> = method.inputs.iter().map(|input| { + let name = format_ident!("{}", &input.name); + let ty = type_gen.resolve_type_path(input.ty.id); + + let param = quote!(#name: #ty); + (param, name) + }).collect(); + + let params = inputs.iter().map(|(param, _)| param); + let param_names = inputs.iter().map(|(_, name)| name); + + // From the method metadata generate a structure that holds + // all parameter types. This structure is used with metadata + // to encode parameters to the call via `encode_as_fields_to`. + let derives = type_gen.default_derives(); + let struct_name = format_ident!("{}", method.name.to_upper_camel_case()); + let struct_params = params.clone(); + let struct_input = quote!( + #derives + pub struct #struct_name { + #( pub #struct_params, )* + } + ); + + let output = type_gen.resolve_type_path(method.output.id); + + let Ok(call_hash) = + subxt_metadata::get_runtime_api_hash(metadata, trait_name, &method.name) else { + return Err(CodegenError::MissingRuntimeApiMetadata( + trait_name.into(), + method.name.clone(), + )) + }; + + let method = quote!( + #docs + pub fn #method_name(&self, #( #params, )* ) -> #crate_path::runtime_api::Payload { + #crate_path::runtime_api::Payload::new_static( + #runtime_fn_name, + types::#struct_name { #( #param_names, )* }, + [#(#call_hash,)*], + ) + } + ); + + Ok((struct_input, method)) + }).collect::>()?; + + let trait_name = format_ident!("{}", trait_name); + + let structs = structs_and_methods.iter().map(|(struct_, _)| struct_); + let methods = structs_and_methods.iter().map(|(_, method)| method); + + let runtime_api = quote!( + pub mod #trait_name_snake { + use super::root_mod; + use super::#types_mod_ident; + + #docs + pub struct #trait_name; + + impl #trait_name { + #( #methods )* + } + + pub mod types { + use super::#types_mod_ident; + + #( #structs )* + } + } + ); + + // A getter for the `RuntimeApi` to get the trait structure. + let trait_getter = quote!( + pub fn #trait_name_snake(&self) -> #trait_name_snake::#trait_name { + #trait_name_snake::#trait_name + } + ); + + Ok((runtime_api, trait_getter)) +} + +/// Generate the runtime APIs. +pub fn generate_runtime_apis( + metadata: &RuntimeMetadataV15, + type_gen: &TypeGenerator, + types_mod_ident: &syn::Ident, + crate_path: &CratePath, + should_gen_docs: bool, +) -> Result { + let apis = &metadata.apis; + + let runtime_fns: Vec<_> = apis + .iter() + .map(|api| { + generate_runtime_api( + metadata, + api, + type_gen, + types_mod_ident, + crate_path, + should_gen_docs, + ) + }) + .collect::>()?; + + let runtime_apis_def = runtime_fns.iter().map(|(apis, _)| apis); + let runtime_apis_getters = runtime_fns.iter().map(|(_, getters)| getters); + + Ok(quote! { + pub mod runtime_apis { + use super::root_mod; + use super::#types_mod_ident; + + use #crate_path::ext::codec::Encode; + + pub struct RuntimeApi; + + impl RuntimeApi { + #( #runtime_apis_getters )* + } + + #( #runtime_apis_def )* + } + }) +} diff --git a/codegen/src/error.rs b/codegen/src/error.rs index 411225e34a..43bb88c612 100644 --- a/codegen/src/error.rs +++ b/codegen/src/error.rs @@ -42,6 +42,9 @@ pub enum CodegenError { /// Metadata for call could not be found. #[error("Metadata for call entry {0}_{1} could not be found. Make sure you are providing a valid substrate-based metadata")] MissingCallMetadata(String, String), + /// Metadata for call could not be found. + #[error("Metadata for runtime API entry {0}_{1} could not be found. Make sure you are providing a valid substrate-based metadata")] + MissingRuntimeApiMetadata(String, String), /// Call variant must have all named fields. #[error("Call variant for type {0} must have all named fields. Make sure you are providing a valid substrate-based metadata")] InvalidCallVariant(u32), @@ -77,10 +80,14 @@ impl CodegenError { pub enum FetchMetadataError { #[error("Cannot decode hex value: {0}")] DecodeError(#[from] hex::FromHexError), + #[error("Cannot scale encode/decode value: {0}")] + CodecError(#[from] codec::Error), #[error("Request error: {0}")] RequestError(#[from] jsonrpsee::core::Error), #[error("'{0}' not supported, supported URI schemes are http, https, ws or wss.")] InvalidScheme(String), + #[error("Other error: {0}")] + Other(String), } /// Error attempting to do type substitution. diff --git a/codegen/src/utils/fetch_metadata.rs b/codegen/src/utils/fetch_metadata.rs index c7bc489827..9d49e35ac4 100644 --- a/codegen/src/utils/fetch_metadata.rs +++ b/codegen/src/utils/fetch_metadata.rs @@ -3,6 +3,7 @@ // see LICENSE for license details. use crate::error::FetchMetadataError; +use codec::{Decode, Encode}; use jsonrpsee::{ async_client::ClientBuilder, client_transport::ws::{Uri, WsTransportClientBuilder}, @@ -12,14 +13,51 @@ use jsonrpsee::{ }; use std::time::Duration; +/// The metadata version that is fetched from the node. +#[derive(Default, Debug, Clone, Copy)] +pub enum MetadataVersion { + /// Latest stable version of the metadata. + #[default] + Latest, + /// Fetch a specified version of the metadata. + Version(u32), + /// Latest unstable version of the metadata. + Unstable, +} + +// Note: Implementation needed for the CLI tool. +impl std::str::FromStr for MetadataVersion { + type Err = String; + + fn from_str(input: &str) -> Result { + match input { + "unstable" => Ok(MetadataVersion::Unstable), + "latest" => Ok(MetadataVersion::Latest), + version => { + let num: u32 = version + .parse() + .map_err(|_| format!("Invalid metadata version specified {:?}", version))?; + + Ok(MetadataVersion::Version(num)) + } + } + } +} + /// Returns the metadata bytes from the provided URL, blocking the current thread. -pub fn fetch_metadata_bytes_blocking(url: &Uri) -> Result, FetchMetadataError> { - tokio_block_on(fetch_metadata_bytes(url)) +pub fn fetch_metadata_bytes_blocking( + url: &Uri, + version: MetadataVersion, +) -> Result, FetchMetadataError> { + tokio_block_on(fetch_metadata_bytes(url, version)) } /// Returns the raw, 0x prefixed metadata hex from the provided URL, blocking the current thread. -pub fn fetch_metadata_hex_blocking(url: &Uri) -> Result { - tokio_block_on(fetch_metadata_hex(url)) +pub fn fetch_metadata_hex_blocking( + url: &Uri, + version: MetadataVersion, +) -> Result { + tokio_block_on(fetch_metadata_hex(url, version)) } // Block on some tokio runtime for sync contexts @@ -32,26 +70,36 @@ fn tokio_block_on>(fut: Fut) -> T { } /// Returns the metadata bytes from the provided URL. -pub async fn fetch_metadata_bytes(url: &Uri) -> Result, FetchMetadataError> { - let hex = fetch_metadata_hex(url).await?; - let bytes = hex::decode(hex.trim_start_matches("0x"))?; - Ok(bytes) -} - -/// Returns the raw, 0x prefixed metadata hex from the provided URL. -pub async fn fetch_metadata_hex(url: &Uri) -> Result { - let hex_data = match url.scheme_str() { - Some("http") | Some("https") => fetch_metadata_http(url).await, - Some("ws") | Some("wss") => fetch_metadata_ws(url).await, +pub async fn fetch_metadata_bytes( + url: &Uri, + version: MetadataVersion, +) -> Result, FetchMetadataError> { + let bytes = match url.scheme_str() { + Some("http") | Some("https") => fetch_metadata_http(url, version).await, + Some("ws") | Some("wss") => fetch_metadata_ws(url, version).await, invalid_scheme => { let scheme = invalid_scheme.unwrap_or("no scheme"); Err(FetchMetadataError::InvalidScheme(scheme.to_owned())) } }?; + + Ok(bytes) +} + +/// Returns the raw, 0x prefixed metadata hex from the provided URL. +pub async fn fetch_metadata_hex( + url: &Uri, + version: MetadataVersion, +) -> Result { + let bytes = fetch_metadata_bytes(url, version).await?; + let hex_data = format!("0x{}", hex::encode(bytes)); Ok(hex_data) } -async fn fetch_metadata_ws(url: &Uri) -> Result { +async fn fetch_metadata_ws( + url: &Uri, + version: MetadataVersion, +) -> Result, FetchMetadataError> { let (sender, receiver) = WsTransportClientBuilder::default() .build(url.to_string().parse::().unwrap()) .await @@ -62,13 +110,124 @@ async fn fetch_metadata_ws(url: &Uri) -> Result { .max_notifs_per_subscription(4096) .build_with_tokio(sender, receiver); - Ok(client.request("state_getMetadata", rpc_params![]).await?) + fetch_metadata(client, version).await } -async fn fetch_metadata_http(url: &Uri) -> Result { +async fn fetch_metadata_http( + url: &Uri, + version: MetadataVersion, +) -> Result, FetchMetadataError> { let client = HttpClientBuilder::default() .request_timeout(Duration::from_secs(180)) .build(url.to_string())?; - Ok(client.request("state_getMetadata", rpc_params![]).await?) + fetch_metadata(client, version).await +} + +/// The innermost call to fetch metadata: +async fn fetch_metadata( + client: impl ClientT, + version: MetadataVersion, +) -> Result, FetchMetadataError> { + const UNSTABLE_METADATA_VERSION: u32 = u32::MAX; + + // Fetch metadata using the "new" state_call interface + async fn fetch_inner( + client: &impl ClientT, + version: MetadataVersion, + ) -> Result, FetchMetadataError> { + // Look up supported versions: + let supported_versions: Vec = { + let res: String = client + .request( + "state_call", + rpc_params!["Metadata_metadata_versions", "0x"], + ) + .await?; + let raw_bytes = hex::decode(res.trim_start_matches("0x"))?; + Decode::decode(&mut &raw_bytes[..])? + }; + + // Return the version the user wants if it's supported: + let version = match version { + MetadataVersion::Latest => *supported_versions + .iter() + .filter(|&&v| v != UNSTABLE_METADATA_VERSION) + .max() + .ok_or_else(|| { + FetchMetadataError::Other("No valid metadata versions returned".to_string()) + })?, + MetadataVersion::Unstable => { + if supported_versions.contains(&UNSTABLE_METADATA_VERSION) { + UNSTABLE_METADATA_VERSION + } else { + return Err(FetchMetadataError::Other( + "The node does not have an unstable metadata version available".to_string(), + )); + } + } + MetadataVersion::Version(version) => { + if supported_versions.contains(&version) { + version + } else { + return Err(FetchMetadataError::Other(format!( + "The node does not have version {version} available" + ))); + } + } + }; + + let bytes = version.encode(); + let version: String = format!("0x{}", hex::encode(&bytes)); + + // Fetch the metadata at that version: + let metadata_string: String = client + .request( + "state_call", + rpc_params!["Metadata_metadata_at_version", &version], + ) + .await?; + // Decode the metadata. + let metadata_bytes = hex::decode(metadata_string.trim_start_matches("0x"))?; + let metadata: Option = + Decode::decode(&mut &metadata_bytes[..])?; + let Some(metadata) = metadata else { + return Err(FetchMetadataError::Other(format!( + "The node does not have version {version} available" + ))); + }; + Ok(metadata.0) + } + + // Fetch metadata using the "old" state_call interface + async fn fetch_inner_legacy( + client: &impl ClientT, + version: MetadataVersion, + ) -> Result, FetchMetadataError> { + if !matches!( + version, + MetadataVersion::Latest | MetadataVersion::Version(14) + ) { + return Err(FetchMetadataError::Other( + "The node can only return version 14 metadata but you've asked for something else" + .to_string(), + )); + } + + // Fetch the metadata at that version: + let metadata_string: String = client + .request("state_call", rpc_params!["Metadata_metadata", "0x"]) + .await?; + + // Decode the metadata. + let metadata_bytes = hex::decode(metadata_string.trim_start_matches("0x"))?; + let metadata: frame_metadata::OpaqueMetadata = Decode::decode(&mut &metadata_bytes[..])?; + Ok(metadata.0) + } + + // Fetch using the new interface, falling back to trying old one if there's an error. + match fetch_inner(&client, version).await { + Ok(s) => Ok(s), + Err(_) => fetch_inner_legacy(&client, version).await, + } } diff --git a/codegen/src/utils/mod.rs b/codegen/src/utils/mod.rs index 5c27200310..3f0e77f71e 100644 --- a/codegen/src/utils/mod.rs +++ b/codegen/src/utils/mod.rs @@ -11,5 +11,5 @@ pub use jsonrpsee::client_transport::ws::Uri; pub use fetch_metadata::{ fetch_metadata_bytes, fetch_metadata_bytes_blocking, fetch_metadata_hex, - fetch_metadata_hex_blocking, + fetch_metadata_hex_blocking, MetadataVersion, }; diff --git a/examples/examples/runtime_calls.rs b/examples/examples/runtime_calls.rs new file mode 100644 index 0000000000..f2d52766fd --- /dev/null +++ b/examples/examples/runtime_calls.rs @@ -0,0 +1,88 @@ +// Copyright 2019-2023 Parity Technologies (UK) Ltd. +// This file is dual-licensed as Apache-2.0 or GPL-3.0. +// see LICENSE for license details. + +//! To run this example, a local polkadot node should be running. Example verified against polkadot v0.9.28-9ffe6e9e3da. +//! +//! E.g. +//! ```bash +//! curl "https://github.com/paritytech/polkadot/releases/download/v0.9.28/polkadot" --output /usr/local/bin/polkadot --location +//! polkadot --dev --tmp +//! ``` + +use sp_keyring::AccountKeyring; +use subxt::dynamic::Value; +use subxt::{config::PolkadotConfig, OnlineClient}; + +#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] +pub mod polkadot {} + +#[tokio::main] +async fn main() -> Result<(), Box> { + tracing_subscriber::fmt::init(); + + // Create a client to use: + let api = OnlineClient::::new().await?; + + // In the first part of the example calls are made using the static generated code + // and as a result the returned values are strongly typed. + + // Create a runtime API payload that calls into + // `Core_version` function. + let runtime_api_call = polkadot::apis().core().version(); + + // Submit the runtime API call. + let version = api + .runtime_api() + .at_latest() + .await? + .call(runtime_api_call) + .await; + println!("Core_version: {:?}", version); + + // Show the supported metadata versions of the node. + // Calls into `Metadata_metadata_versions` runtime function. + let runtime_api_call = polkadot::apis().metadata().metadata_versions(); + + // Submit the runtime API call. + let versions = api + .runtime_api() + .at_latest() + .await? + .call(runtime_api_call) + .await?; + println!("Metadata_metadata_versions: {:?}", versions); + + // Create a runtime API payload that calls into + // `AccountNonceApi_account_nonce` function. + let account = AccountKeyring::Alice.to_account_id().into(); + let runtime_api_call = polkadot::apis().account_nonce_api().account_nonce(account); + + // Submit the runtime API call. + let nonce = api + .runtime_api() + .at_latest() + .await? + .call(runtime_api_call) + .await; + println!("AccountNonceApi_account_nonce for Alice: {:?}", nonce); + + // Dynamic calls. + let runtime_api_call = subxt::dynamic::runtime_api_call( + "Metadata_metadata_versions", + Vec::>::new(), + None, + ); + let versions = api + .runtime_api() + .at_latest() + .await? + .call(runtime_api_call) + .await?; + println!( + " dynamic Metadata_metadata_versions: {:#?}", + versions.to_value() + ); + + Ok(()) +} diff --git a/metadata/src/lib.rs b/metadata/src/lib.rs index af042f8581..702da037ee 100644 --- a/metadata/src/lib.rs +++ b/metadata/src/lib.rs @@ -10,7 +10,7 @@ use frame_metadata::{v14::RuntimeMetadataV14, v15::RuntimeMetadataV15}; pub use retain::retain_metadata_pallets; pub use validation::{ get_call_hash, get_constant_hash, get_metadata_hash, get_metadata_per_pallet_hash, - get_pallet_hash, get_storage_hash, NotFound, + get_pallet_hash, get_runtime_api_hash, get_runtime_trait_hash, get_storage_hash, NotFound, }; /// Convert the metadata V14 to the latest metadata version. diff --git a/metadata/src/retain.rs b/metadata/src/retain.rs index e0550643c3..c17d71c140 100644 --- a/metadata/src/retain.rs +++ b/metadata/src/retain.rs @@ -5,7 +5,7 @@ //! Utility functions to generate a subset of the metadata. use frame_metadata::v15::{ - ExtrinsicMetadata, PalletMetadata, RuntimeMetadataV15, StorageEntryType, + ExtrinsicMetadata, PalletMetadata, RuntimeApiMetadata, RuntimeMetadataV15, StorageEntryType, }; use scale_info::{form::PortableForm, interner::UntrackedSymbol, TypeDef}; use std::{ @@ -105,6 +105,36 @@ fn update_extrinsic_types( } } +/// Collect all type IDs needed to represent the runtime APIs. +fn collect_runtime_api_types( + apis: &[RuntimeApiMetadata], + type_ids: &mut HashSet, +) { + for api in apis { + for method in &api.methods { + for input in &method.inputs { + type_ids.insert(input.ty.id); + } + type_ids.insert(method.output.id); + } + } +} + +/// Update all type IDs of the provided runtime APIs metadata using the new type IDs from the portable registry. +fn update_runtime_api_types( + apis: &mut [RuntimeApiMetadata], + map_ids: &BTreeMap, +) { + for api in apis { + for method in &mut api.methods { + for input in &mut method.inputs { + update_type(&mut input.ty, map_ids); + } + update_type(&mut method.output, map_ids); + } + } +} + /// Update the given type using the new type ID from the portable registry. /// /// # Panics @@ -191,6 +221,9 @@ where // Keep the "runtime" type ID, since it's referenced in our metadata. type_ids.insert(metadata.ty.id); + // Keep the runtime APIs types. + collect_runtime_api_types(&metadata.apis, &mut type_ids); + // Additionally, subxt depends on the `DispatchError` type existing; we use the same // logic here that is used when building our `Metadata`. let dispatch_error_ty = metadata @@ -211,6 +244,7 @@ where } update_extrinsic_types(&mut metadata.extrinsic, &map_ids); update_type(&mut metadata.ty, &map_ids); + update_runtime_api_types(&mut metadata.apis, &map_ids); } #[cfg(test)] diff --git a/metadata/src/validation.rs b/metadata/src/validation.rs index a325d69a4b..eb0f5c4a82 100644 --- a/metadata/src/validation.rs +++ b/metadata/src/validation.rs @@ -5,7 +5,8 @@ //! Utility functions for metadata validation. use frame_metadata::v15::{ - ExtrinsicMetadata, PalletMetadata, RuntimeMetadataV15, StorageEntryMetadata, StorageEntryType, + ExtrinsicMetadata, PalletMetadata, RuntimeApiMetadata, RuntimeApiMethodMetadata, + RuntimeMetadataV15, StorageEntryMetadata, StorageEntryType, }; use scale_info::{form::PortableForm, Field, PortableRegistry, TypeDef, Variant}; use std::collections::HashSet; @@ -253,7 +254,7 @@ pub fn get_storage_hash( .pallets .iter() .find(|p| p.name == pallet_name) - .ok_or(NotFound::Pallet)?; + .ok_or(NotFound::Root)?; let storage = pallet.storage.as_ref().ok_or(NotFound::Item)?; @@ -277,7 +278,7 @@ pub fn get_constant_hash( .pallets .iter() .find(|p| p.name == pallet_name) - .ok_or(NotFound::Pallet)?; + .ok_or(NotFound::Root)?; let constant = pallet .constants @@ -300,7 +301,7 @@ pub fn get_call_hash( .pallets .iter() .find(|p| p.name == pallet_name) - .ok_or(NotFound::Pallet)?; + .ok_or(NotFound::Root)?; let call_id = pallet.calls.as_ref().ok_or(NotFound::Item)?.ty.id; @@ -321,6 +322,96 @@ pub fn get_call_hash( Ok(hash) } +fn get_runtime_method_hash( + metadata: &RuntimeMetadataV15, + trait_metadata: &RuntimeApiMetadata, + method_metadata: &RuntimeApiMethodMetadata, + visited_ids: &mut HashSet, +) -> [u8; 32] { + // The trait name is part of the runtime API call that is being + // generated for this method. Therefore the trait name is strongly + // connected to the method in the same way as a parameter is + // to the method. + let mut bytes = hash(trait_metadata.name.as_bytes()); + bytes = xor(bytes, hash(method_metadata.name.as_bytes())); + + for input in &method_metadata.inputs { + bytes = xor(bytes, hash(input.name.as_bytes())); + bytes = xor( + bytes, + get_type_hash(&metadata.types, input.ty.id, visited_ids), + ); + } + + bytes = xor( + bytes, + get_type_hash(&metadata.types, method_metadata.output.id, visited_ids), + ); + + bytes +} + +/// Obtain the hash of a specific runtime trait. +pub fn get_runtime_trait_hash( + metadata: &RuntimeMetadataV15, + trait_metadata: &RuntimeApiMetadata, +) -> [u8; 32] { + // Start out with any hash, the trait name is already part of the + // runtime method hash. + let mut bytes = hash(trait_metadata.name.as_bytes()); + let mut visited_ids = HashSet::new(); + + let mut methods: Vec<_> = trait_metadata + .methods + .iter() + .map(|method_metadata| { + let bytes = get_runtime_method_hash( + metadata, + trait_metadata, + method_metadata, + &mut visited_ids, + ); + (&*method_metadata.name, bytes) + }) + .collect(); + + // Sort by method name to create a deterministic representation of the underlying metadata. + methods.sort_by_key(|&(name, _hash)| name); + + // Note: Hash already takes into account the method name. + for (_, hash) in methods { + bytes = xor(bytes, hash); + } + + bytes +} + +/// Obtain the hash of a specific runtime API function, or an error if it's not found. +pub fn get_runtime_api_hash( + metadata: &RuntimeMetadataV15, + trait_name: &str, + method_name: &str, +) -> Result<[u8; 32], NotFound> { + let trait_metadata = metadata + .apis + .iter() + .find(|m| m.name == trait_name) + .ok_or(NotFound::Root)?; + + let method_metadata = trait_metadata + .methods + .iter() + .find(|m| m.name == method_name) + .ok_or(NotFound::Item)?; + + Ok(get_runtime_method_hash( + metadata, + trait_metadata, + method_metadata, + &mut HashSet::new(), + )) +} + /// Obtain the hash representation of a `frame_metadata::v15::PalletMetadata`. pub fn get_pallet_hash( registry: &PortableRegistry, @@ -404,6 +495,19 @@ pub fn get_metadata_hash(metadata: &RuntimeMetadataV15) -> [u8; 32] { &mut visited_ids, )); + let mut apis: Vec<_> = metadata + .apis + .iter() + .map(|api| (&*api.name, get_runtime_trait_hash(metadata, api))) + .collect(); + + // Sort the runtime APIs by trait name to provide a deterministic output. + apis.sort_by_key(|&(name, _hash)| name); + + for (_, hash) in apis.iter() { + bytes.extend(hash) + } + hash(&bytes) } @@ -449,11 +553,24 @@ pub fn get_metadata_per_pallet_hash>( hash(&bytes) } -/// An error returned if we attempt to get the hash for a specific call, constant -/// or storage item that doesn't exist. +/// An error returned if we attempt to get the hash for a specific call, constant, +/// storage or runtime API function does not exist. +/// +/// The location of the specific item (call, constant, storage or runtime API function) +/// is stored with two indirections: +/// - Root +/// The root location of the item. For calls, constants, storage this represents the +/// pallet name. While for runtime API function this represents the trait name. +/// - Item +/// The actual item. For calls, constants, storage this represents the actual name. +/// While for runtime API functions this represents the method name. #[derive(Clone, Debug)] pub enum NotFound { - Pallet, + /// The root location of the item cannot be found. + /// - pallet name: for calls, constants, storage + /// - trait name: for runtime API functions + Root, + /// The actual item name cannot be found. Item, } diff --git a/subxt/Cargo.toml b/subxt/Cargo.toml index c9dc8061ed..1a0ebc7977 100644 --- a/subxt/Cargo.toml +++ b/subxt/Cargo.toml @@ -34,6 +34,12 @@ integration-tests = [] jsonrpsee-ws = ["jsonrpsee/async-client", "jsonrpsee/client-ws-transport"] jsonrpsee-web = ["jsonrpsee/async-wasm-client", "jsonrpsee/client-web-transport"] +# Activate this to fetch and utilize the latest unstabl metadata from a node. +# The unstable metadata is subject to breaking changes and the subxt might +# fail to decode the metadata properly. Use this to experiment with the +# latest features exposed by the metadata. +unstable-metadata = [] + [dependencies] codec = { package = "parity-scale-codec", workspace = true, features = ["derive"] } scale-info = { workspace = true } diff --git a/subxt/src/client/online_client.rs b/subxt/src/client/online_client.rs index 703777f26a..44f68635fc 100644 --- a/subxt/src/client/online_client.rs +++ b/subxt/src/client/online_client.rs @@ -17,9 +17,7 @@ use crate::{ tx::TxClient, Config, Metadata, }; -use codec::Compact; use derivative::Derivative; -use frame_metadata::RuntimeMetadataPrefixed; use futures::future; use parking_lot::RwLock; use std::sync::Arc; @@ -136,10 +134,19 @@ impl OnlineClient { /// Fetch the metadata from substrate using the runtime API. async fn fetch_metadata(rpc: &Rpc) -> Result { - let (_, meta) = rpc - .state_call::<(Compact, RuntimeMetadataPrefixed)>("Metadata_metadata", None, None) - .await?; - Ok(meta.try_into()?) + #[cfg(feature = "unstable-metadata")] + { + // Try to fetch the latest unstable metadata, if that fails fall back to + // fetching the latest stable metadata. + const V15_METADATA_VERSION: u32 = u32::MAX; + match rpc.metadata_at_version(V15_METADATA_VERSION).await { + Ok(bytes) => Ok(bytes), + Err(_) => rpc.metadata().await, + } + } + + #[cfg(not(feature = "unstable-metadata"))] + rpc.metadata().await } /// Create an object which can be used to keep the runtime up to date @@ -383,7 +390,7 @@ impl RuntimeUpdaterStream { Err(err) => return Some(Err(err)), }; - let metadata = match self.client.rpc().metadata(None).await { + let metadata = match self.client.rpc().metadata().await { Ok(metadata) => metadata, Err(err) => return Some(Err(err)), }; diff --git a/subxt/src/dynamic.rs b/subxt/src/dynamic.rs index a16611b6f4..df65cffb13 100644 --- a/subxt/src/dynamic.rs +++ b/subxt/src/dynamic.rs @@ -28,6 +28,9 @@ pub use crate::constants::dynamic as constant; // Lookup storage values dynamically. pub use crate::storage::{dynamic as storage, dynamic_root as storage_root}; +// Execute runtime API function call dynamically. +pub use crate::runtime_api::dynamic as runtime_api_call; + /// This is the result of making a dynamic request to a node. From this, /// we can return the raw SCALE bytes that we were handed back, or we can /// complete the decoding of the bytes into a [`DecodedValue`] type. diff --git a/subxt/src/events/events_type.rs b/subxt/src/events/events_type.rs index 4fcec55cb7..1de8b31917 100644 --- a/subxt/src/events/events_type.rs +++ b/subxt/src/events/events_type.rs @@ -76,7 +76,7 @@ impl Events { /// .await? /// .expect("didn't pass a block number; qed"); /// // Fetch the metadata of the given block. - /// let metadata = client.rpc().metadata(Some(block_hash)).await?; + /// let metadata = client.rpc().metadata_legacy(Some(block_hash)).await?; /// // Fetch the events from the client. /// let events = Events::new_from_client(metadata, block_hash, client); /// # Ok(()) diff --git a/subxt/src/metadata/hash_cache.rs b/subxt/src/metadata/hash_cache.rs index 428a934543..0ece71c788 100644 --- a/subxt/src/metadata/hash_cache.rs +++ b/subxt/src/metadata/hash_cache.rs @@ -5,23 +5,23 @@ use parking_lot::RwLock; use std::{borrow::Cow, collections::HashMap}; -/// A cache with the simple goal of storing 32 byte hashes against pallet+item keys +/// A cache with the simple goal of storing 32 byte hashes against root+item keys #[derive(Default, Debug)] pub struct HashCache { - inner: RwLock, [u8; 32]>>, + inner: RwLock, [u8; 32]>>, } impl HashCache { - /// get a hash out of the cache by its pallet and item key. If the item doesn't exist, + /// get a hash out of the cache by its root and item key. If the item doesn't exist, /// run the function provided to obtain a hash to insert (or bail with some error on failure). - pub fn get_or_insert(&self, pallet: &str, item: &str, f: F) -> Result<[u8; 32], E> + pub fn get_or_insert(&self, root: &str, item: &str, f: F) -> Result<[u8; 32], E> where F: FnOnce() -> Result<[u8; 32], E>, { let maybe_hash = self .inner .read() - .get(&PalletItemKey::new(pallet, item)) + .get(&RootItemKey::new(root, item)) .copied(); if let Some(hash) = maybe_hash { @@ -29,10 +29,9 @@ impl HashCache { } let hash = f()?; - self.inner.write().insert( - PalletItemKey::new(pallet.to_string(), item.to_string()), - hash, - ); + self.inner + .write() + .insert(RootItemKey::new(root.to_string(), item.to_string()), hash); Ok(hash) } @@ -41,14 +40,14 @@ impl HashCache { /// This exists so that we can look items up in the cache using &strs, without having to allocate /// Strings first (as you'd have to do to construct something like an `&(String,String)` key). #[derive(Debug, PartialEq, Eq, Hash)] -struct PalletItemKey<'a> { +struct RootItemKey<'a> { pallet: Cow<'a, str>, item: Cow<'a, str>, } -impl<'a> PalletItemKey<'a> { +impl<'a> RootItemKey<'a> { fn new(pallet: impl Into>, item: impl Into>) -> Self { - PalletItemKey { + RootItemKey { pallet: pallet.into(), item: item.into(), } @@ -75,7 +74,7 @@ mod tests { cache .inner .read() - .get(&PalletItemKey::new(pallet, item)) + .get(&RootItemKey::new(pallet, item)) .unwrap(), &value.unwrap() ); diff --git a/subxt/src/metadata/metadata_type.rs b/subxt/src/metadata/metadata_type.rs index 7a8966d3ea..cc400310b0 100644 --- a/subxt/src/metadata/metadata_type.rs +++ b/subxt/src/metadata/metadata_type.rs @@ -30,6 +30,9 @@ pub enum MetadataError { /// Event is not in metadata. #[error("Pallet {0}, Error {0} not found")] ErrorNotFound(u8, u8), + /// Runtime function is not in metadata. + #[error("Runtime function not found")] + RuntimeFnNotFound, /// Storage is not in metadata. #[error("Storage not found")] StorageNotFound, @@ -57,6 +60,9 @@ pub enum MetadataError { /// Runtime storage metadata is incompatible with the static one. #[error("Pallet {0} Storage {0} has incompatible metadata")] IncompatibleStorageMetadata(String, String), + /// Runtime API metadata is incompatible with the static one. + #[error("Runtime API Trait {0} Method {0} has incompatible metadata")] + IncompatibleRuntimeApiMetadata(String, String), /// Runtime metadata is not fully compatible with the static one. #[error("Node metadata is not fully compatible")] IncompatibleMetadata, @@ -79,6 +85,9 @@ struct MetadataInner { // an extrinsic fails. dispatch_error_ty: Option, + // Runtime API metadata + runtime_apis: HashMap, + // The hashes uniquely identify parts of the metadata; different // hashes mean some type difference exists between static and runtime // versions. We cache them here to avoid recalculating: @@ -86,6 +95,7 @@ struct MetadataInner { cached_call_hashes: HashCache, cached_constant_hashes: HashCache, cached_storage_hashes: HashCache, + cached_runtime_hashes: HashCache, } /// A representation of the runtime metadata received from a node. @@ -95,6 +105,14 @@ pub struct Metadata { } impl Metadata { + /// Returns a reference to [`RuntimeFnMetadata`]. + pub fn runtime_fn(&self, name: &str) -> Result<&RuntimeFnMetadata, MetadataError> { + self.inner + .runtime_apis + .get(name) + .ok_or(MetadataError::RuntimeFnNotFound) + } + /// Returns a reference to [`PalletMetadata`]. pub fn pallet(&self, name: &str) -> Result<&PalletMetadata, MetadataError> { self.inner @@ -158,7 +176,7 @@ impl Metadata { .get_or_insert(pallet, storage, || { subxt_metadata::get_storage_hash(&self.inner.metadata, pallet, storage).map_err( |e| match e { - subxt_metadata::NotFound::Pallet => MetadataError::PalletNotFound, + subxt_metadata::NotFound::Root => MetadataError::PalletNotFound, subxt_metadata::NotFound::Item => MetadataError::StorageNotFound, }, ) @@ -172,7 +190,7 @@ impl Metadata { .get_or_insert(pallet, constant, || { subxt_metadata::get_constant_hash(&self.inner.metadata, pallet, constant).map_err( |e| match e { - subxt_metadata::NotFound::Pallet => MetadataError::PalletNotFound, + subxt_metadata::NotFound::Root => MetadataError::PalletNotFound, subxt_metadata::NotFound::Item => MetadataError::ConstantNotFound, }, ) @@ -186,13 +204,27 @@ impl Metadata { .get_or_insert(pallet, function, || { subxt_metadata::get_call_hash(&self.inner.metadata, pallet, function).map_err(|e| { match e { - subxt_metadata::NotFound::Pallet => MetadataError::PalletNotFound, + subxt_metadata::NotFound::Root => MetadataError::PalletNotFound, subxt_metadata::NotFound::Item => MetadataError::CallNotFound, } }) }) } + /// Obtain the unique hash for a runtime API function. + pub fn runtime_api_hash( + &self, + trait_name: &str, + method_name: &str, + ) -> Result<[u8; 32], MetadataError> { + self.inner + .cached_runtime_hashes + .get_or_insert(trait_name, method_name, || { + subxt_metadata::get_runtime_api_hash(&self.inner.metadata, trait_name, method_name) + .map_err(|_| MetadataError::RuntimeFnNotFound) + }) + } + /// Obtain the unique hash for this metadata. pub fn metadata_hash>(&self, pallets: &[T]) -> [u8; 32] { if let Some(hash) = *self.inner.cached_metadata_hash.read() { @@ -206,6 +238,42 @@ impl Metadata { } } +/// Metadata for a specific runtime API function. +#[derive(Clone, Debug)] +pub struct RuntimeFnMetadata { + /// The trait name of the runtime function. + trait_name: String, + /// The method name of the runtime function. + method_name: String, + /// The parameter name and type IDs interpreted as `scale_info::Field` + /// for ease of decoding. + fields: Vec>, + /// The type ID of the return type. + return_id: u32, +} + +impl RuntimeFnMetadata { + /// Get the parameters as fields. + pub fn fields(&self) -> &[scale_info::Field] { + &self.fields + } + + /// Return the trait name of the runtime function. + pub fn trait_name(&self) -> &str { + &self.trait_name + } + + /// Return the method name of the runtime function. + pub fn method_name(&self) -> &str { + &self.method_name + } + + /// Get the type ID of the return type. + pub fn return_id(&self) -> u32 { + self.return_id + } +} + /// Metadata for a specific pallet. #[derive(Clone, Debug)] pub struct PalletMetadata { @@ -376,6 +444,49 @@ impl TryFrom for Metadata { _ => return Err(InvalidMetadataError::InvalidVersion), }; + let runtime_apis: HashMap = metadata + .apis + .iter() + .flat_map(|trait_metadata| { + let trait_name = &trait_metadata.name; + + trait_metadata + .methods + .iter() + .map(|method_metadata| { + // Function named used by substrate to identify the runtime call. + let fn_name = format!("{}_{}", trait_name, method_metadata.name); + + // Parameters mapped as `scale_info::Field` to allow dynamic decoding. + let fields: Vec<_> = method_metadata + .inputs + .iter() + .map(|input| { + let name = input.name.clone(); + let ty = input.ty.id; + scale_info::Field { + name: Some(name), + ty: ty.into(), + type_name: None, + docs: Default::default(), + } + }) + .collect(); + + let return_id = method_metadata.output.id; + let metadata = RuntimeFnMetadata { + fields, + return_id, + trait_name: trait_name.clone(), + method_name: method_metadata.name.clone(), + }; + + (fn_name, metadata) + }) + .collect::>() + }) + .collect(); + let get_type_def_variant = |type_id: u32| { let ty = metadata .types @@ -492,10 +603,12 @@ impl TryFrom for Metadata { events, errors, dispatch_error_ty, + runtime_apis, cached_metadata_hash: Default::default(), cached_call_hashes: Default::default(), cached_constant_hashes: Default::default(), cached_storage_hashes: Default::default(), + cached_runtime_hashes: Default::default(), }), }) } diff --git a/subxt/src/rpc/rpc.rs b/subxt/src/rpc/rpc.rs index b21b9d4311..f4914eea69 100644 --- a/subxt/src/rpc/rpc.rs +++ b/subxt/src/rpc/rpc.rs @@ -143,8 +143,8 @@ impl Rpc { genesis_hash.ok_or_else(|| "Genesis hash not found".into()) } - /// Fetch the metadata - pub async fn metadata(&self, at: Option) -> Result { + /// Fetch the metadata via the legacy `state_getMetadata` RPC method. + pub async fn metadata_legacy(&self, at: Option) -> Result { let bytes: types::Bytes = self .client .request("state_getMetadata", rpc_params![at]) @@ -347,13 +347,13 @@ impl Rpc { Ok(xt_hash) } - /// Execute a runtime API call. - pub async fn state_call( + /// Execute a runtime API call via `state_call` RPC method. + pub async fn state_call_raw( &self, function: &str, call_parameters: Option<&[u8]>, at: Option, - ) -> Result { + ) -> Result { let call_parameters = call_parameters.unwrap_or_default(); let bytes: types::Bytes = self .client @@ -362,11 +362,54 @@ impl Rpc { rpc_params![function, to_hex(call_parameters), at], ) .await?; + Ok(bytes) + } + + /// Execute a runtime API call and decode the result. + pub async fn state_call( + &self, + function: &str, + call_parameters: Option<&[u8]>, + at: Option, + ) -> Result { + let bytes = self.state_call_raw(function, call_parameters, at).await?; let cursor = &mut &bytes[..]; let res: Res = Decode::decode(cursor)?; Ok(res) } + /// Execute runtime API call and return the specified runtime metadata version. + pub async fn metadata_at_version(&self, version: u32) -> Result { + let param = version.encode(); + let opaque: Option = self + .state_call("Metadata_metadata_at_version", Some(¶m), None) + .await?; + + let bytes = opaque.ok_or(Error::Other("Metadata version not found".into()))?; + + let meta: RuntimeMetadataPrefixed = Decode::decode(&mut &bytes.0[..])?; + + let metadata: Metadata = meta.try_into()?; + Ok(metadata) + } + + /// Execute a runtime API call into `Metadata_metadata` method + /// to fetch the latest available metadata. + /// + /// # Note + /// + /// This returns the same output as [`Self::metadata`], but calls directly + /// into the runtime. + pub async fn metadata(&self) -> Result { + let bytes: frame_metadata::OpaqueMetadata = + self.state_call("Metadata_metadata", None, None).await?; + + let meta: RuntimeMetadataPrefixed = Decode::decode(&mut &bytes.0[..])?; + + let metadata: Metadata = meta.try_into()?; + Ok(metadata) + } + /// Create and submit an extrinsic and return a subscription to the events triggered. pub async fn watch_extrinsic( &self, diff --git a/subxt/src/runtime_api/mod.rs b/subxt/src/runtime_api/mod.rs index c499d1e3a2..49a17a4dd7 100644 --- a/subxt/src/runtime_api/mod.rs +++ b/subxt/src/runtime_api/mod.rs @@ -5,7 +5,9 @@ //! Types associated with executing runtime API calls. mod runtime_client; +mod runtime_payload; mod runtime_types; pub use runtime_client::RuntimeApiClient; +pub use runtime_payload::{dynamic, DynamicRuntimeApiPayload, Payload, RuntimeApiPayload}; pub use runtime_types::RuntimeApi; diff --git a/subxt/src/runtime_api/runtime_payload.rs b/subxt/src/runtime_api/runtime_payload.rs new file mode 100644 index 0000000000..7636ea6a02 --- /dev/null +++ b/subxt/src/runtime_api/runtime_payload.rs @@ -0,0 +1,162 @@ +// Copyright 2019-2023 Parity Technologies (UK) Ltd. +// This file is dual-licensed as Apache-2.0 or GPL-3.0. +// see LICENSE for license details. + +use core::marker::PhantomData; +use scale_encode::EncodeAsFields; +use scale_value::Composite; +use std::borrow::Cow; + +use crate::dynamic::DecodedValueThunk; +use crate::{metadata::DecodeWithMetadata, Error, Metadata}; + +/// This represents a runtime API payload that can call into the runtime of node. +/// +/// # Components +/// +/// - associated return type +/// +/// Resulting bytes of the call are interpreted into this type. +/// +/// - runtime function name +/// +/// The function name of the runtime API call. This is obtained by concatenating +/// the runtime trait name with the trait's method. +/// +/// For example, the substrate runtime trait [Metadata](https://github.com/paritytech/substrate/blob/cb954820a8d8d765ce75021e244223a3b4d5722d/primitives/api/src/lib.rs#L745) +/// contains the `metadata_at_version` function. The corresponding runtime function +/// is `Metadata_metadata_at_version`. +/// +/// - encoded arguments +/// +/// Each argument of the runtime function must be scale-encoded. +pub trait RuntimeApiPayload { + /// The return type of the function call. + // Note: `DecodeWithMetadata` is needed to decode the function call result + // with the `subxt::Metadata. + type ReturnType: DecodeWithMetadata; + + /// The runtime API function name. + fn fn_name(&self) -> &str; + + /// Scale encode the arguments data. + fn encode_args_to(&self, metadata: &Metadata, out: &mut Vec) -> Result<(), Error>; + + /// Encode arguments data and return the output. This is a convenience + /// wrapper around [`RuntimeApiPayload::encode_args_to`]. + fn encode_args(&self, metadata: &Metadata) -> Result, Error> { + let mut v = Vec::new(); + self.encode_args_to(metadata, &mut v)?; + Ok(v) + } + + /// Returns the statically generated validation hash. + fn validation_hash(&self) -> Option<[u8; 32]> { + None + } +} + +/// A runtime API payload containing the generic argument data +/// and interpreting the result of the call as `ReturnTy`. +/// +/// This can be created from static values (ie those generated +/// via the `subxt` macro) or dynamic values via [`dynamic`]. +#[derive(Clone, Debug)] +pub struct Payload { + fn_name: Cow<'static, str>, + args_data: ArgsData, + validation_hash: Option<[u8; 32]>, + _marker: PhantomData, +} + +impl RuntimeApiPayload + for Payload +{ + type ReturnType = ReturnTy; + + fn fn_name(&self) -> &str { + &self.fn_name + } + + fn encode_args_to(&self, metadata: &Metadata, out: &mut Vec) -> Result<(), Error> { + let fn_metadata = metadata.runtime_fn(&self.fn_name)?; + + self.args_data + .encode_as_fields_to(fn_metadata.fields(), metadata.types(), out)?; + + Ok(()) + } + + fn validation_hash(&self) -> Option<[u8; 32]> { + self.validation_hash + } +} + +/// A dynamic runtime API payload. +pub type DynamicRuntimeApiPayload = Payload, DecodedValueThunk>; + +impl Payload { + /// Create a new [`Payload`]. + pub fn new( + fn_name: impl Into, + args_data: ArgsData, + validation_hash: Option<[u8; 32]>, + ) -> Self { + Payload { + fn_name: Cow::Owned(fn_name.into()), + args_data, + validation_hash, + _marker: PhantomData, + } + } + + /// Create a new static [`Payload`] using static function name + /// and scale-encoded argument data. + /// + /// This is only expected to be used from codegen. + #[doc(hidden)] + pub fn new_static( + fn_name: &'static str, + args_data: ArgsData, + hash: [u8; 32], + ) -> Payload { + Payload { + fn_name: Cow::Borrowed(fn_name), + args_data, + validation_hash: Some(hash), + _marker: std::marker::PhantomData, + } + } + + /// Do not validate this call prior to submitting it. + pub fn unvalidated(self) -> Self { + Self { + validation_hash: None, + ..self + } + } + + /// Returns the function name. + pub fn fn_name(&self) -> &str { + &self.fn_name + } + + /// Returns the arguments data. + pub fn args_data(&self) -> &ArgsData { + &self.args_data + } +} + +/// Create a new [`DynamicRuntimeApiPayload`]. +pub fn dynamic( + fn_name: impl Into, + args_data: impl Into>, + hash: Option<[u8; 32]>, +) -> DynamicRuntimeApiPayload { + DynamicRuntimeApiPayload { + fn_name: Cow::Owned(fn_name.into()), + args_data: args_data.into(), + validation_hash: hash, + _marker: std::marker::PhantomData, + } +} diff --git a/subxt/src/runtime_api/runtime_types.rs b/subxt/src/runtime_api/runtime_types.rs index 7bcd3436b9..8f9fd5dd21 100644 --- a/subxt/src/runtime_api/runtime_types.rs +++ b/subxt/src/runtime_api/runtime_types.rs @@ -2,11 +2,13 @@ // This file is dual-licensed as Apache-2.0 or GPL-3.0. // see LICENSE for license details. -use crate::{client::OnlineClientT, error::Error, Config}; +use crate::{client::OnlineClientT, error::Error, metadata::DecodeWithMetadata, Config}; use codec::Decode; use derivative::Derivative; use std::{future::Future, marker::PhantomData}; +use super::RuntimeApiPayload; + /// Execute runtime API calls. #[derive(Derivative)] #[derivative(Clone(bound = "Client: Clone"))] @@ -50,4 +52,57 @@ where Ok(data) } } + + /// Execute a runtime API call. + pub fn call( + &self, + payload: Call, + ) -> impl Future> { + let client = self.client.clone(); + let block_hash = self.block_hash; + // Ensure that the returned future doesn't have a lifetime tied to api.runtime_api(), + // which is a temporary thing we'll be throwing away quickly: + async move { + let metadata = client.metadata(); + let function = payload.fn_name(); + + // Check if the function is present in the runtime metadata. + let fn_metadata = metadata.runtime_fn(function)?; + // Return type ID used for dynamic decoding. + let return_id = fn_metadata.return_id(); + + // Validate the runtime API payload hash against the compile hash from codegen. + if let Some(static_hash) = payload.validation_hash() { + let runtime_hash = metadata + .runtime_api_hash(fn_metadata.trait_name(), fn_metadata.method_name())?; + + if static_hash != runtime_hash { + return Err( + crate::metadata::MetadataError::IncompatibleRuntimeApiMetadata( + fn_metadata.trait_name().into(), + fn_metadata.method_name().into(), + ) + .into(), + ); + } + } + + // Encode the arguments of the runtime call. + // For static payloads (codegen) this is pass-through, bytes are not altered. + // For dynamic payloads this relies on `scale_value::encode_as_fields_to`. + let params = payload.encode_args(&metadata)?; + + let bytes = client + .rpc() + .state_call_raw(function, Some(params.as_slice()), Some(block_hash)) + .await?; + + let value = ::decode_with_metadata( + &mut &bytes[..], + return_id, + &metadata, + )?; + Ok(value) + } + } } diff --git a/testing/integration-tests/Cargo.toml b/testing/integration-tests/Cargo.toml index 980301a32f..81239856fb 100644 --- a/testing/integration-tests/Cargo.toml +++ b/testing/integration-tests/Cargo.toml @@ -27,7 +27,7 @@ sp-core = { workspace = true } sp-runtime = { workspace = true } sp-keyring = { workspace = true } syn = { workspace = true } -subxt = { workspace = true } +subxt = { workspace = true, features = ["unstable-metadata"] } subxt-codegen = { workspace = true } subxt-metadata = { workspace = true } test-runtime = { workspace = true } diff --git a/testing/integration-tests/src/blocks/mod.rs b/testing/integration-tests/src/blocks/mod.rs index 57d02972b4..ab14d2202a 100644 --- a/testing/integration-tests/src/blocks/mod.rs +++ b/testing/integration-tests/src/blocks/mod.rs @@ -113,7 +113,7 @@ async fn runtime_api_call() -> Result<(), subxt::Error> { }; // Compare the runtime API call against the `state_getMetadata`. - let metadata = api.rpc().metadata(None).await?; + let metadata = api.rpc().metadata_legacy(None).await?; let metadata = metadata.runtime_metadata(); assert_eq!(&metadata_call, metadata); Ok(()) diff --git a/testing/integration-tests/src/client/mod.rs b/testing/integration-tests/src/client/mod.rs index d95936f508..aeaa30ec43 100644 --- a/testing/integration-tests/src/client/mod.rs +++ b/testing/integration-tests/src/client/mod.rs @@ -438,7 +438,7 @@ async fn rpc_state_call() { _ => panic!("Metadata V14 or V15 unavailable"), }; // Compare the runtime API call against the `state_getMetadata`. - let metadata = api.rpc().metadata(None).await.unwrap(); + let metadata = api.rpc().metadata_legacy(None).await.unwrap(); let metadata = metadata.runtime_metadata(); assert_eq!(&metadata_call, metadata); } diff --git a/testing/integration-tests/src/codegen/codegen_documentation.rs b/testing/integration-tests/src/codegen/codegen_documentation.rs index be4a534f1c..e371b24a70 100644 --- a/testing/integration-tests/src/codegen/codegen_documentation.rs +++ b/testing/integration-tests/src/codegen/codegen_documentation.rs @@ -40,6 +40,14 @@ fn metadata_docs() -> Vec { // Note: Extrinsics do not have associated documentation, but is implied by // associated Type. + // Inspect the runtime API types and collect the documentation. + for api in metadata.apis { + docs.extend(api.docs); + for method in api.methods { + docs.extend(method.docs); + } + } + docs } diff --git a/testing/integration-tests/src/codegen/polkadot.rs b/testing/integration-tests/src/codegen/polkadot.rs index 4a8bb5020f..81b49af334 100644 --- a/testing/integration-tests/src/codegen/polkadot.rs +++ b/testing/integration-tests/src/codegen/polkadot.rs @@ -5,7 +5,7 @@ pub mod api { mod root_mod { pub use super::*; } - pub static PALLETS: [&str; 53usize] = [ + pub static PALLETS: [&str; 56usize] = [ "System", "Scheduler", "Preimage", @@ -28,6 +28,9 @@ pub mod api { "PhragmenElection", "TechnicalMembership", "Treasury", + "ConvictionVoting", + "Referenda", + "Whitelist", "Claims", "Vesting", "Utility", @@ -107,6 +110,12 @@ pub mod api { TechnicalMembership(technical_membership::Event), #[codec(index = 19)] Treasury(treasury::Event), + #[codec(index = 20)] + ConvictionVoting(conviction_voting::Event), + #[codec(index = 21)] + Referenda(referenda::Event), + #[codec(index = 23)] + Whitelist(whitelist::Event), #[codec(index = 24)] Claims(claims::Event), #[codec(index = 25)] @@ -289,6 +298,29 @@ pub mod api { metadata, )?)); } + if pallet_name == "ConvictionVoting" { + return Ok(Event::ConvictionVoting( + conviction_voting::Event::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?, + )); + } + if pallet_name == "Referenda" { + return Ok(Event::Referenda(referenda::Event::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Whitelist" { + return Ok(Event::Whitelist(whitelist::Event::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } if pallet_name == "Claims" { return Ok(Event::Claims(claims::Event::decode_with_metadata( &mut &*pallet_bytes, @@ -492,8 +524,6 @@ pub mod api { Indices(indices::Error), #[codec(index = 5)] Balances(balances::Error), - #[codec(index = 6)] - Authorship(authorship::Error), #[codec(index = 7)] Staking(staking::Error), #[codec(index = 9)] @@ -514,6 +544,12 @@ pub mod api { TechnicalMembership(technical_membership::Error), #[codec(index = 19)] Treasury(treasury::Error), + #[codec(index = 20)] + ConvictionVoting(conviction_voting::Error), + #[codec(index = 21)] + Referenda(referenda::Error), + #[codec(index = 23)] + Whitelist(whitelist::Error), #[codec(index = 24)] Claims(claims::Error), #[codec(index = 25)] @@ -574,198 +610,208 @@ pub mod api { use subxt::metadata::DecodeWithMetadata; let cursor = &mut &pallet_bytes[..]; if pallet_name == "System" { - let variant_error = system::Error::decode_with_metadata(cursor, 176u32, metadata)?; + let variant_error = system::Error::decode_with_metadata(cursor, 488u32, metadata)?; return Ok(Error::System(variant_error)); } if pallet_name == "Scheduler" { let variant_error = - scheduler::Error::decode_with_metadata(cursor, 450u32, metadata)?; + scheduler::Error::decode_with_metadata(cursor, 493u32, metadata)?; return Ok(Error::Scheduler(variant_error)); } if pallet_name == "Preimage" { let variant_error = - preimage::Error::decode_with_metadata(cursor, 455u32, metadata)?; + preimage::Error::decode_with_metadata(cursor, 498u32, metadata)?; return Ok(Error::Preimage(variant_error)); } if pallet_name == "Babe" { - let variant_error = babe::Error::decode_with_metadata(cursor, 467u32, metadata)?; + let variant_error = babe::Error::decode_with_metadata(cursor, 514u32, metadata)?; return Ok(Error::Babe(variant_error)); } if pallet_name == "Indices" { - let variant_error = indices::Error::decode_with_metadata(cursor, 469u32, metadata)?; + let variant_error = indices::Error::decode_with_metadata(cursor, 516u32, metadata)?; return Ok(Error::Indices(variant_error)); } if pallet_name == "Balances" { let variant_error = - balances::Error::decode_with_metadata(cursor, 478u32, metadata)?; + balances::Error::decode_with_metadata(cursor, 527u32, metadata)?; return Ok(Error::Balances(variant_error)); } - if pallet_name == "Authorship" { - let variant_error = - authorship::Error::decode_with_metadata(cursor, 484u32, metadata)?; - return Ok(Error::Authorship(variant_error)); - } if pallet_name == "Staking" { - let variant_error = staking::Error::decode_with_metadata(cursor, 508u32, metadata)?; + let variant_error = staking::Error::decode_with_metadata(cursor, 551u32, metadata)?; return Ok(Error::Staking(variant_error)); } if pallet_name == "Session" { - let variant_error = session::Error::decode_with_metadata(cursor, 515u32, metadata)?; + let variant_error = session::Error::decode_with_metadata(cursor, 558u32, metadata)?; return Ok(Error::Session(variant_error)); } if pallet_name == "Grandpa" { - let variant_error = grandpa::Error::decode_with_metadata(cursor, 519u32, metadata)?; + let variant_error = grandpa::Error::decode_with_metadata(cursor, 562u32, metadata)?; return Ok(Error::Grandpa(variant_error)); } if pallet_name == "ImOnline" { let variant_error = - im_online::Error::decode_with_metadata(cursor, 527u32, metadata)?; + im_online::Error::decode_with_metadata(cursor, 570u32, metadata)?; return Ok(Error::ImOnline(variant_error)); } if pallet_name == "Democracy" { let variant_error = - democracy::Error::decode_with_metadata(cursor, 544u32, metadata)?; + democracy::Error::decode_with_metadata(cursor, 587u32, metadata)?; return Ok(Error::Democracy(variant_error)); } if pallet_name == "Council" { - let variant_error = council::Error::decode_with_metadata(cursor, 547u32, metadata)?; + let variant_error = council::Error::decode_with_metadata(cursor, 590u32, metadata)?; return Ok(Error::Council(variant_error)); } if pallet_name == "TechnicalCommittee" { let variant_error = - technical_committee::Error::decode_with_metadata(cursor, 549u32, metadata)?; + technical_committee::Error::decode_with_metadata(cursor, 592u32, metadata)?; return Ok(Error::TechnicalCommittee(variant_error)); } if pallet_name == "PhragmenElection" { let variant_error = - phragmen_election::Error::decode_with_metadata(cursor, 553u32, metadata)?; + phragmen_election::Error::decode_with_metadata(cursor, 596u32, metadata)?; return Ok(Error::PhragmenElection(variant_error)); } if pallet_name == "TechnicalMembership" { let variant_error = - technical_membership::Error::decode_with_metadata(cursor, 555u32, metadata)?; + technical_membership::Error::decode_with_metadata(cursor, 598u32, metadata)?; return Ok(Error::TechnicalMembership(variant_error)); } if pallet_name == "Treasury" { let variant_error = - treasury::Error::decode_with_metadata(cursor, 561u32, metadata)?; + treasury::Error::decode_with_metadata(cursor, 604u32, metadata)?; return Ok(Error::Treasury(variant_error)); } + if pallet_name == "ConvictionVoting" { + let variant_error = + conviction_voting::Error::decode_with_metadata(cursor, 617u32, metadata)?; + return Ok(Error::ConvictionVoting(variant_error)); + } + if pallet_name == "Referenda" { + let variant_error = + referenda::Error::decode_with_metadata(cursor, 635u32, metadata)?; + return Ok(Error::Referenda(variant_error)); + } + if pallet_name == "Whitelist" { + let variant_error = + whitelist::Error::decode_with_metadata(cursor, 636u32, metadata)?; + return Ok(Error::Whitelist(variant_error)); + } if pallet_name == "Claims" { - let variant_error = claims::Error::decode_with_metadata(cursor, 562u32, metadata)?; + let variant_error = claims::Error::decode_with_metadata(cursor, 637u32, metadata)?; return Ok(Error::Claims(variant_error)); } if pallet_name == "Vesting" { - let variant_error = vesting::Error::decode_with_metadata(cursor, 566u32, metadata)?; + let variant_error = vesting::Error::decode_with_metadata(cursor, 641u32, metadata)?; return Ok(Error::Vesting(variant_error)); } if pallet_name == "Utility" { - let variant_error = utility::Error::decode_with_metadata(cursor, 567u32, metadata)?; + let variant_error = utility::Error::decode_with_metadata(cursor, 642u32, metadata)?; return Ok(Error::Utility(variant_error)); } if pallet_name == "Identity" { let variant_error = - identity::Error::decode_with_metadata(cursor, 578u32, metadata)?; + identity::Error::decode_with_metadata(cursor, 653u32, metadata)?; return Ok(Error::Identity(variant_error)); } if pallet_name == "Proxy" { - let variant_error = proxy::Error::decode_with_metadata(cursor, 587u32, metadata)?; + let variant_error = proxy::Error::decode_with_metadata(cursor, 662u32, metadata)?; return Ok(Error::Proxy(variant_error)); } if pallet_name == "Multisig" { let variant_error = - multisig::Error::decode_with_metadata(cursor, 591u32, metadata)?; + multisig::Error::decode_with_metadata(cursor, 666u32, metadata)?; return Ok(Error::Multisig(variant_error)); } if pallet_name == "Bounties" { let variant_error = - bounties::Error::decode_with_metadata(cursor, 595u32, metadata)?; + bounties::Error::decode_with_metadata(cursor, 670u32, metadata)?; return Ok(Error::Bounties(variant_error)); } if pallet_name == "ChildBounties" { let variant_error = - child_bounties::Error::decode_with_metadata(cursor, 598u32, metadata)?; + child_bounties::Error::decode_with_metadata(cursor, 673u32, metadata)?; return Ok(Error::ChildBounties(variant_error)); } if pallet_name == "Tips" { - let variant_error = tips::Error::decode_with_metadata(cursor, 600u32, metadata)?; + let variant_error = tips::Error::decode_with_metadata(cursor, 675u32, metadata)?; return Ok(Error::Tips(variant_error)); } if pallet_name == "ElectionProviderMultiPhase" { let variant_error = election_provider_multi_phase::Error::decode_with_metadata( - cursor, 612u32, metadata, + cursor, 685u32, metadata, )?; return Ok(Error::ElectionProviderMultiPhase(variant_error)); } if pallet_name == "VoterList" { let variant_error = - voter_list::Error::decode_with_metadata(cursor, 616u32, metadata)?; + voter_list::Error::decode_with_metadata(cursor, 689u32, metadata)?; return Ok(Error::VoterList(variant_error)); } if pallet_name == "NominationPools" { let variant_error = - nomination_pools::Error::decode_with_metadata(cursor, 633u32, metadata)?; + nomination_pools::Error::decode_with_metadata(cursor, 707u32, metadata)?; return Ok(Error::NominationPools(variant_error)); } if pallet_name == "FastUnstake" { let variant_error = - fast_unstake::Error::decode_with_metadata(cursor, 638u32, metadata)?; + fast_unstake::Error::decode_with_metadata(cursor, 712u32, metadata)?; return Ok(Error::FastUnstake(variant_error)); } if pallet_name == "Configuration" { let variant_error = - configuration::Error::decode_with_metadata(cursor, 642u32, metadata)?; + configuration::Error::decode_with_metadata(cursor, 716u32, metadata)?; return Ok(Error::Configuration(variant_error)); } if pallet_name == "ParaInclusion" { let variant_error = - para_inclusion::Error::decode_with_metadata(cursor, 647u32, metadata)?; + para_inclusion::Error::decode_with_metadata(cursor, 721u32, metadata)?; return Ok(Error::ParaInclusion(variant_error)); } if pallet_name == "ParaInherent" { let variant_error = - para_inherent::Error::decode_with_metadata(cursor, 653u32, metadata)?; + para_inherent::Error::decode_with_metadata(cursor, 727u32, metadata)?; return Ok(Error::ParaInherent(variant_error)); } if pallet_name == "Paras" { - let variant_error = paras::Error::decode_with_metadata(cursor, 680u32, metadata)?; + let variant_error = paras::Error::decode_with_metadata(cursor, 754u32, metadata)?; return Ok(Error::Paras(variant_error)); } if pallet_name == "Ump" { - let variant_error = ump::Error::decode_with_metadata(cursor, 686u32, metadata)?; + let variant_error = ump::Error::decode_with_metadata(cursor, 760u32, metadata)?; return Ok(Error::Ump(variant_error)); } if pallet_name == "Hrmp" { - let variant_error = hrmp::Error::decode_with_metadata(cursor, 695u32, metadata)?; + let variant_error = hrmp::Error::decode_with_metadata(cursor, 768u32, metadata)?; return Ok(Error::Hrmp(variant_error)); } if pallet_name == "ParasDisputes" { let variant_error = - paras_disputes::Error::decode_with_metadata(cursor, 703u32, metadata)?; + paras_disputes::Error::decode_with_metadata(cursor, 777u32, metadata)?; return Ok(Error::ParasDisputes(variant_error)); } if pallet_name == "Registrar" { let variant_error = - registrar::Error::decode_with_metadata(cursor, 705u32, metadata)?; + registrar::Error::decode_with_metadata(cursor, 779u32, metadata)?; return Ok(Error::Registrar(variant_error)); } if pallet_name == "Slots" { - let variant_error = slots::Error::decode_with_metadata(cursor, 707u32, metadata)?; + let variant_error = slots::Error::decode_with_metadata(cursor, 781u32, metadata)?; return Ok(Error::Slots(variant_error)); } if pallet_name == "Auctions" { let variant_error = - auctions::Error::decode_with_metadata(cursor, 712u32, metadata)?; + auctions::Error::decode_with_metadata(cursor, 786u32, metadata)?; return Ok(Error::Auctions(variant_error)); } if pallet_name == "Crowdloan" { let variant_error = - crowdloan::Error::decode_with_metadata(cursor, 715u32, metadata)?; + crowdloan::Error::decode_with_metadata(cursor, 789u32, metadata)?; return Ok(Error::Crowdloan(variant_error)); } if pallet_name == "XcmPallet" { let variant_error = - xcm_pallet::Error::decode_with_metadata(cursor, 727u32, metadata)?; + xcm_pallet::Error::decode_with_metadata(cursor, 808u32, metadata)?; return Ok(Error::XcmPallet(variant_error)); } Err(::subxt::ext::scale_decode::Error::custom(format!( @@ -784,6 +830,16 @@ pub mod api { pub fn tx() -> TransactionApi { TransactionApi } + pub fn apis() -> runtime_apis::RuntimeApi { + runtime_apis::RuntimeApi + } + pub mod runtime_apis { + use super::root_mod; + use super::runtime_types; + use subxt::ext::codec::Encode; + pub struct RuntimeApi; + impl RuntimeApi {} + } pub struct ConstantsApi; impl ConstantsApi { pub fn system(&self) -> system::constants::ConstantsApi { @@ -807,9 +863,6 @@ pub mod api { pub fn transaction_payment(&self) -> transaction_payment::constants::ConstantsApi { transaction_payment::constants::ConstantsApi } - pub fn authorship(&self) -> authorship::constants::ConstantsApi { - authorship::constants::ConstantsApi - } pub fn staking(&self) -> staking::constants::ConstantsApi { staking::constants::ConstantsApi } @@ -822,12 +875,24 @@ pub mod api { pub fn democracy(&self) -> democracy::constants::ConstantsApi { democracy::constants::ConstantsApi } + pub fn council(&self) -> council::constants::ConstantsApi { + council::constants::ConstantsApi + } + pub fn technical_committee(&self) -> technical_committee::constants::ConstantsApi { + technical_committee::constants::ConstantsApi + } pub fn phragmen_election(&self) -> phragmen_election::constants::ConstantsApi { phragmen_election::constants::ConstantsApi } pub fn treasury(&self) -> treasury::constants::ConstantsApi { treasury::constants::ConstantsApi } + pub fn conviction_voting(&self) -> conviction_voting::constants::ConstantsApi { + conviction_voting::constants::ConstantsApi + } + pub fn referenda(&self) -> referenda::constants::ConstantsApi { + referenda::constants::ConstantsApi + } pub fn claims(&self) -> claims::constants::ConstantsApi { claims::constants::ConstantsApi } @@ -866,6 +931,9 @@ pub mod api { pub fn nomination_pools(&self) -> nomination_pools::constants::ConstantsApi { nomination_pools::constants::ConstantsApi } + pub fn fast_unstake(&self) -> fast_unstake::constants::ConstantsApi { + fast_unstake::constants::ConstantsApi + } pub fn paras(&self) -> paras::constants::ConstantsApi { paras::constants::ConstantsApi } @@ -944,6 +1012,15 @@ pub mod api { pub fn treasury(&self) -> treasury::storage::StorageApi { treasury::storage::StorageApi } + pub fn conviction_voting(&self) -> conviction_voting::storage::StorageApi { + conviction_voting::storage::StorageApi + } + pub fn referenda(&self) -> referenda::storage::StorageApi { + referenda::storage::StorageApi + } + pub fn whitelist(&self) -> whitelist::storage::StorageApi { + whitelist::storage::StorageApi + } pub fn claims(&self) -> claims::storage::StorageApi { claims::storage::StorageApi } @@ -1057,9 +1134,6 @@ pub mod api { pub fn balances(&self) -> balances::calls::TransactionApi { balances::calls::TransactionApi } - pub fn authorship(&self) -> authorship::calls::TransactionApi { - authorship::calls::TransactionApi - } pub fn staking(&self) -> staking::calls::TransactionApi { staking::calls::TransactionApi } @@ -1090,6 +1164,15 @@ pub mod api { pub fn treasury(&self) -> treasury::calls::TransactionApi { treasury::calls::TransactionApi } + pub fn conviction_voting(&self) -> conviction_voting::calls::TransactionApi { + conviction_voting::calls::TransactionApi + } + pub fn referenda(&self) -> referenda::calls::TransactionApi { + referenda::calls::TransactionApi + } + pub fn whitelist(&self) -> whitelist::calls::TransactionApi { + whitelist::calls::TransactionApi + } pub fn claims(&self) -> claims::calls::TransactionApi { claims::calls::TransactionApi } @@ -1184,9 +1267,9 @@ pub mod api { let runtime_metadata_hash = client.metadata().metadata_hash(&PALLETS); if runtime_metadata_hash != [ - 252u8, 179u8, 170u8, 129u8, 159u8, 95u8, 180u8, 114u8, 218u8, 56u8, 91u8, 93u8, - 175u8, 45u8, 57u8, 223u8, 178u8, 209u8, 250u8, 247u8, 243u8, 73u8, 182u8, 137u8, - 176u8, 129u8, 37u8, 196u8, 133u8, 123u8, 93u8, 186u8, + 190u8, 141u8, 166u8, 186u8, 44u8, 119u8, 250u8, 170u8, 99u8, 5u8, 93u8, 253u8, + 141u8, 142u8, 175u8, 243u8, 206u8, 208u8, 98u8, 63u8, 166u8, 71u8, 159u8, 227u8, + 34u8, 235u8, 190u8, 96u8, 248u8, 13u8, 47u8, 146u8, ] { Err(::subxt::error::MetadataError::IncompatibleMetadata) @@ -1204,160 +1287,132 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct FillBlock { - pub ratio: runtime_types::sp_arithmetic::per_things::Perbill, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Remark { - pub remark: ::std::vec::Vec<::core::primitive::u8>, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetHeapPages { - pub pages: ::core::primitive::u64, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetCode { - pub code: ::std::vec::Vec<::core::primitive::u8>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetCodeWithoutChecks { - pub code: ::std::vec::Vec<::core::primitive::u8>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetStorage { - pub items: ::std::vec::Vec<( - ::std::vec::Vec<::core::primitive::u8>, - ::std::vec::Vec<::core::primitive::u8>, - )>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct KillStorage { - pub keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct KillPrefix { - pub prefix: ::std::vec::Vec<::core::primitive::u8>, - pub subkeys: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RemarkWithEvent { - pub remark: ::std::vec::Vec<::core::primitive::u8>, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Remark { + pub remark: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetHeapPages { + pub pages: ::core::primitive::u64, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetCode { + pub code: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetCodeWithoutChecks { + pub code: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetStorage { + pub items: ::std::vec::Vec<( + ::std::vec::Vec<::core::primitive::u8>, + ::std::vec::Vec<::core::primitive::u8>, + )>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct KillStorage { + pub keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct KillPrefix { + pub prefix: ::std::vec::Vec<::core::primitive::u8>, + pub subkeys: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemarkWithEvent { + pub remark: ::std::vec::Vec<::core::primitive::u8>, + } } pub struct TransactionApi; impl TransactionApi { - #[doc = "A dispatch that will fill the block weight up to the given ratio."] - pub fn fill_block( - &self, - ratio: runtime_types::sp_arithmetic::per_things::Perbill, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "System", - "fill_block", - FillBlock { ratio }, - [ - 48u8, 18u8, 205u8, 90u8, 222u8, 4u8, 20u8, 251u8, 173u8, 76u8, 167u8, - 4u8, 83u8, 203u8, 160u8, 89u8, 132u8, 218u8, 191u8, 145u8, 130u8, - 245u8, 177u8, 201u8, 169u8, 129u8, 173u8, 105u8, 88u8, 45u8, 136u8, - 191u8, - ], - ) - } #[doc = "Make some on-chain remark."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(1)`"] - #[doc = "# "] pub fn remark( &self, remark: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "System", "remark", - Remark { remark }, + types::Remark { remark }, [ 101u8, 80u8, 195u8, 226u8, 224u8, 247u8, 60u8, 128u8, 3u8, 101u8, 51u8, 147u8, 96u8, 126u8, 76u8, 230u8, 194u8, 227u8, 191u8, 73u8, 160u8, @@ -1370,11 +1425,11 @@ pub mod api { pub fn set_heap_pages( &self, pages: ::core::primitive::u64, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "System", "set_heap_pages", - SetHeapPages { pages }, + types::SetHeapPages { pages }, [ 43u8, 103u8, 128u8, 49u8, 156u8, 136u8, 11u8, 204u8, 80u8, 6u8, 244u8, 86u8, 171u8, 44u8, 140u8, 225u8, 142u8, 198u8, 43u8, 87u8, 26u8, 45u8, @@ -1384,24 +1439,16 @@ pub mod api { } #[doc = "Set the new runtime code."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`"] - #[doc = "- 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is"] - #[doc = " expensive)."] - #[doc = "- 1 storage write (codec `O(C)`)."] - #[doc = "- 1 digest item."] - #[doc = "- 1 event."] - #[doc = "The weight of this function is dependent on the runtime, but generally this is very"] - #[doc = "expensive. We will treat this as a full block."] - #[doc = "# "] pub fn set_code( &self, code: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "System", "set_code", - SetCode { code }, + types::SetCode { code }, [ 27u8, 104u8, 244u8, 205u8, 188u8, 254u8, 121u8, 13u8, 106u8, 120u8, 244u8, 108u8, 97u8, 84u8, 100u8, 68u8, 26u8, 69u8, 93u8, 128u8, 107u8, @@ -1411,21 +1458,16 @@ pub mod api { } #[doc = "Set the new runtime code without doing any checks of the given `code`."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(C)` where `C` length of `code`"] - #[doc = "- 1 storage write (codec `O(C)`)."] - #[doc = "- 1 digest item."] - #[doc = "- 1 event."] - #[doc = "The weight of this function is dependent on the runtime. We will treat this as a full"] - #[doc = "block. # "] pub fn set_code_without_checks( &self, code: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "System", "set_code_without_checks", - SetCodeWithoutChecks { code }, + types::SetCodeWithoutChecks { code }, [ 102u8, 160u8, 125u8, 235u8, 30u8, 23u8, 45u8, 239u8, 112u8, 148u8, 159u8, 158u8, 42u8, 93u8, 206u8, 94u8, 80u8, 250u8, 66u8, 195u8, 60u8, @@ -1440,11 +1482,11 @@ pub mod api { ::std::vec::Vec<::core::primitive::u8>, ::std::vec::Vec<::core::primitive::u8>, )>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "System", "set_storage", - SetStorage { items }, + types::SetStorage { items }, [ 74u8, 43u8, 106u8, 255u8, 50u8, 151u8, 192u8, 155u8, 14u8, 90u8, 19u8, 45u8, 165u8, 16u8, 235u8, 242u8, 21u8, 131u8, 33u8, 172u8, 119u8, 78u8, @@ -1456,11 +1498,11 @@ pub mod api { pub fn kill_storage( &self, keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "System", "kill_storage", - KillStorage { keys }, + types::KillStorage { keys }, [ 174u8, 174u8, 13u8, 174u8, 75u8, 138u8, 128u8, 235u8, 222u8, 216u8, 85u8, 18u8, 198u8, 1u8, 138u8, 70u8, 19u8, 108u8, 209u8, 41u8, 228u8, @@ -1477,11 +1519,11 @@ pub mod api { &self, prefix: ::std::vec::Vec<::core::primitive::u8>, subkeys: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "System", "kill_prefix", - KillPrefix { prefix, subkeys }, + types::KillPrefix { prefix, subkeys }, [ 203u8, 116u8, 217u8, 42u8, 154u8, 215u8, 77u8, 217u8, 13u8, 22u8, 193u8, 2u8, 128u8, 115u8, 179u8, 115u8, 187u8, 218u8, 129u8, 34u8, @@ -1494,11 +1536,11 @@ pub mod api { pub fn remark_with_event( &self, remark: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "System", "remark_with_event", - RemarkWithEvent { remark }, + types::RemarkWithEvent { remark }, [ 123u8, 225u8, 180u8, 179u8, 144u8, 74u8, 27u8, 85u8, 101u8, 75u8, 134u8, 44u8, 181u8, 25u8, 183u8, 158u8, 14u8, 213u8, 56u8, 225u8, @@ -1634,7 +1676,7 @@ pub mod api { ::subxt::storage::address::StaticStorageMapKey, runtime_types::frame_system::AccountInfo< ::core::primitive::u32, - runtime_types::pallet_balances::AccountData<::core::primitive::u128>, + runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>, >, ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, @@ -1647,9 +1689,10 @@ pub mod api { _0.borrow(), )], [ - 176u8, 187u8, 21u8, 220u8, 159u8, 204u8, 127u8, 14u8, 21u8, 69u8, 77u8, - 114u8, 230u8, 141u8, 107u8, 79u8, 23u8, 16u8, 174u8, 243u8, 252u8, - 42u8, 65u8, 120u8, 229u8, 38u8, 210u8, 255u8, 22u8, 40u8, 109u8, 223u8, + 248u8, 178u8, 160u8, 222u8, 45u8, 231u8, 115u8, 164u8, 98u8, 184u8, + 174u8, 206u8, 149u8, 190u8, 175u8, 34u8, 202u8, 230u8, 69u8, 218u8, + 83u8, 43u8, 170u8, 41u8, 106u8, 77u8, 233u8, 97u8, 114u8, 14u8, 155u8, + 131u8, ], ) } @@ -1660,7 +1703,7 @@ pub mod api { ::subxt::storage::address::StaticStorageMapKey, runtime_types::frame_system::AccountInfo< ::core::primitive::u32, - runtime_types::pallet_balances::AccountData<::core::primitive::u128>, + runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>, >, (), ::subxt::storage::address::Yes, @@ -1671,9 +1714,10 @@ pub mod api { "Account", Vec::new(), [ - 176u8, 187u8, 21u8, 220u8, 159u8, 204u8, 127u8, 14u8, 21u8, 69u8, 77u8, - 114u8, 230u8, 141u8, 107u8, 79u8, 23u8, 16u8, 174u8, 243u8, 252u8, - 42u8, 65u8, 120u8, 229u8, 38u8, 210u8, 255u8, 22u8, 40u8, 109u8, 223u8, + 248u8, 178u8, 160u8, 222u8, 45u8, 231u8, 115u8, 164u8, 98u8, 184u8, + 174u8, 206u8, 149u8, 190u8, 175u8, 34u8, 202u8, 230u8, 69u8, 218u8, + 83u8, 43u8, 170u8, 41u8, 106u8, 77u8, 233u8, 97u8, 114u8, 14u8, 155u8, + 131u8, ], ) } @@ -1925,9 +1969,10 @@ pub mod api { "Events", vec![], [ - 230u8, 215u8, 9u8, 223u8, 139u8, 55u8, 22u8, 144u8, 226u8, 245u8, - 166u8, 235u8, 8u8, 182u8, 131u8, 51u8, 41u8, 148u8, 102u8, 40u8, 86u8, - 230u8, 82u8, 41u8, 226u8, 151u8, 247u8, 41u8, 186u8, 190u8, 85u8, 20u8, + 26u8, 210u8, 211u8, 123u8, 212u8, 15u8, 80u8, 216u8, 114u8, 185u8, + 65u8, 128u8, 244u8, 195u8, 118u8, 121u8, 178u8, 141u8, 187u8, 167u8, + 50u8, 176u8, 188u8, 16u8, 166u8, 230u8, 16u8, 138u8, 161u8, 106u8, + 166u8, 190u8, ], ) } @@ -2218,102 +2263,105 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Schedule { - pub when: ::core::primitive::u32, - pub maybe_periodic: - ::core::option::Option<(::core::primitive::u32, ::core::primitive::u32)>, - pub priority: ::core::primitive::u8, - pub call: ::std::boxed::Box, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Cancel { - pub when: ::core::primitive::u32, - pub index: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ScheduleNamed { - pub id: [::core::primitive::u8; 32usize], - pub when: ::core::primitive::u32, - pub maybe_periodic: - ::core::option::Option<(::core::primitive::u32, ::core::primitive::u32)>, - pub priority: ::core::primitive::u8, - pub call: ::std::boxed::Box, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CancelNamed { - pub id: [::core::primitive::u8; 32usize], - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ScheduleAfter { - pub after: ::core::primitive::u32, - pub maybe_periodic: - ::core::option::Option<(::core::primitive::u32, ::core::primitive::u32)>, - pub priority: ::core::primitive::u8, - pub call: ::std::boxed::Box, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ScheduleNamedAfter { - pub id: [::core::primitive::u8; 32usize], - pub after: ::core::primitive::u32, - pub maybe_periodic: - ::core::option::Option<(::core::primitive::u32, ::core::primitive::u32)>, - pub priority: ::core::primitive::u8, - pub call: ::std::boxed::Box, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Schedule { + pub when: ::core::primitive::u32, + pub maybe_periodic: + ::core::option::Option<(::core::primitive::u32, ::core::primitive::u32)>, + pub priority: ::core::primitive::u8, + pub call: ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Cancel { + pub when: ::core::primitive::u32, + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ScheduleNamed { + pub id: [::core::primitive::u8; 32usize], + pub when: ::core::primitive::u32, + pub maybe_periodic: + ::core::option::Option<(::core::primitive::u32, ::core::primitive::u32)>, + pub priority: ::core::primitive::u8, + pub call: ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CancelNamed { + pub id: [::core::primitive::u8; 32usize], + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ScheduleAfter { + pub after: ::core::primitive::u32, + pub maybe_periodic: + ::core::option::Option<(::core::primitive::u32, ::core::primitive::u32)>, + pub priority: ::core::primitive::u8, + pub call: ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ScheduleNamedAfter { + pub id: [::core::primitive::u8; 32usize], + pub after: ::core::primitive::u32, + pub maybe_periodic: + ::core::option::Option<(::core::primitive::u32, ::core::primitive::u32)>, + pub priority: ::core::primitive::u8, + pub call: ::std::boxed::Box, + } } pub struct TransactionApi; impl TransactionApi { @@ -2327,21 +2375,20 @@ pub mod api { )>, priority: ::core::primitive::u8, call: runtime_types::polkadot_runtime::RuntimeCall, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Scheduler", "schedule", - Schedule { + types::Schedule { when, maybe_periodic, priority, call: ::std::boxed::Box::new(call), }, [ - 110u8, 118u8, 202u8, 51u8, 211u8, 53u8, 194u8, 114u8, 80u8, 166u8, - 134u8, 18u8, 89u8, 144u8, 204u8, 155u8, 201u8, 237u8, 138u8, 170u8, - 86u8, 16u8, 7u8, 2u8, 12u8, 96u8, 17u8, 148u8, 147u8, 144u8, 196u8, - 4u8, + 164u8, 246u8, 61u8, 87u8, 188u8, 27u8, 147u8, 236u8, 52u8, 8u8, 236u8, + 129u8, 26u8, 72u8, 131u8, 237u8, 251u8, 235u8, 164u8, 113u8, 111u8, + 134u8, 93u8, 90u8, 90u8, 12u8, 212u8, 60u8, 188u8, 209u8, 11u8, 233u8, ], ) } @@ -2350,11 +2397,11 @@ pub mod api { &self, when: ::core::primitive::u32, index: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Scheduler", "cancel", - Cancel { when, index }, + types::Cancel { when, index }, [ 81u8, 251u8, 234u8, 17u8, 214u8, 75u8, 19u8, 59u8, 19u8, 30u8, 89u8, 74u8, 6u8, 216u8, 238u8, 165u8, 7u8, 19u8, 153u8, 253u8, 161u8, 103u8, @@ -2373,11 +2420,11 @@ pub mod api { )>, priority: ::core::primitive::u8, call: runtime_types::polkadot_runtime::RuntimeCall, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Scheduler", "schedule_named", - ScheduleNamed { + types::ScheduleNamed { id, when, maybe_periodic, @@ -2385,9 +2432,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 84u8, 106u8, 212u8, 23u8, 117u8, 33u8, 204u8, 44u8, 79u8, 178u8, 21u8, - 241u8, 151u8, 179u8, 201u8, 1u8, 48u8, 13u8, 125u8, 176u8, 166u8, 49u8, - 118u8, 174u8, 1u8, 187u8, 45u8, 75u8, 204u8, 219u8, 229u8, 24u8, + 156u8, 178u8, 81u8, 158u8, 54u8, 35u8, 247u8, 189u8, 201u8, 227u8, + 26u8, 122u8, 219u8, 223u8, 92u8, 151u8, 189u8, 42u8, 137u8, 149u8, + 254u8, 183u8, 77u8, 2u8, 204u8, 112u8, 53u8, 235u8, 150u8, 120u8, 10u8, + 115u8, ], ) } @@ -2395,11 +2443,11 @@ pub mod api { pub fn cancel_named( &self, id: [::core::primitive::u8; 32usize], - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Scheduler", "cancel_named", - CancelNamed { id }, + types::CancelNamed { id }, [ 51u8, 3u8, 140u8, 50u8, 214u8, 211u8, 50u8, 4u8, 19u8, 43u8, 230u8, 114u8, 18u8, 108u8, 138u8, 67u8, 99u8, 24u8, 255u8, 11u8, 246u8, 37u8, @@ -2408,10 +2456,6 @@ pub mod api { ) } #[doc = "Anonymously schedule a task after a delay."] - #[doc = ""] - #[doc = "# "] - #[doc = "Same as [`schedule`]."] - #[doc = "# "] pub fn schedule_after( &self, after: ::core::primitive::u32, @@ -2421,28 +2465,25 @@ pub mod api { )>, priority: ::core::primitive::u8, call: runtime_types::polkadot_runtime::RuntimeCall, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Scheduler", "schedule_after", - ScheduleAfter { + types::ScheduleAfter { after, maybe_periodic, priority, call: ::std::boxed::Box::new(call), }, [ - 176u8, 3u8, 143u8, 176u8, 250u8, 9u8, 0u8, 75u8, 62u8, 93u8, 220u8, - 19u8, 98u8, 136u8, 178u8, 98u8, 187u8, 57u8, 228u8, 147u8, 133u8, 88u8, - 146u8, 58u8, 113u8, 166u8, 41u8, 25u8, 163u8, 95u8, 6u8, 47u8, + 218u8, 137u8, 252u8, 13u8, 121u8, 128u8, 180u8, 62u8, 53u8, 213u8, + 72u8, 108u8, 241u8, 211u8, 254u8, 111u8, 240u8, 200u8, 251u8, 16u8, + 229u8, 105u8, 202u8, 252u8, 94u8, 76u8, 12u8, 163u8, 115u8, 109u8, + 167u8, 70u8, ], ) } #[doc = "Schedule a named task after a delay."] - #[doc = ""] - #[doc = "# "] - #[doc = "Same as [`schedule_named`](Self::schedule_named)."] - #[doc = "# "] pub fn schedule_named_after( &self, id: [::core::primitive::u8; 32usize], @@ -2453,11 +2494,11 @@ pub mod api { )>, priority: ::core::primitive::u8, call: runtime_types::polkadot_runtime::RuntimeCall, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Scheduler", "schedule_named_after", - ScheduleNamedAfter { + types::ScheduleNamedAfter { id, after, maybe_periodic, @@ -2465,10 +2506,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 195u8, 224u8, 47u8, 168u8, 137u8, 114u8, 75u8, 129u8, 115u8, 108u8, - 190u8, 194u8, 60u8, 179u8, 249u8, 51u8, 110u8, 4u8, 109u8, 50u8, 68u8, - 121u8, 101u8, 41u8, 203u8, 4u8, 18u8, 182u8, 245u8, 197u8, 244u8, - 195u8, + 165u8, 208u8, 120u8, 60u8, 9u8, 191u8, 94u8, 147u8, 17u8, 13u8, 38u8, + 196u8, 105u8, 123u8, 10u8, 222u8, 227u8, 230u8, 145u8, 91u8, 95u8, + 91u8, 93u8, 84u8, 216u8, 176u8, 53u8, 188u8, 251u8, 255u8, 113u8, + 204u8, ], ) } @@ -2625,7 +2666,7 @@ pub mod api { _0: impl ::std::borrow::Borrow<::core::primitive::u32>, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::option::Option< runtime_types::pallet_scheduler::Scheduled< [::core::primitive::u8; 32usize], @@ -2649,9 +2690,10 @@ pub mod api { _0.borrow(), )], [ - 159u8, 237u8, 79u8, 176u8, 214u8, 27u8, 183u8, 165u8, 63u8, 185u8, - 233u8, 151u8, 81u8, 170u8, 97u8, 115u8, 47u8, 90u8, 254u8, 2u8, 66u8, - 209u8, 3u8, 247u8, 92u8, 11u8, 54u8, 144u8, 88u8, 172u8, 127u8, 143u8, + 130u8, 206u8, 243u8, 81u8, 169u8, 223u8, 74u8, 102u8, 75u8, 207u8, + 232u8, 175u8, 233u8, 167u8, 109u8, 190u8, 242u8, 24u8, 203u8, 144u8, + 31u8, 68u8, 147u8, 110u8, 77u8, 175u8, 2u8, 129u8, 127u8, 198u8, 49u8, + 151u8, ], ) } @@ -2660,7 +2702,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::option::Option< runtime_types::pallet_scheduler::Scheduled< [::core::primitive::u8; 32usize], @@ -2682,9 +2724,10 @@ pub mod api { "Agenda", Vec::new(), [ - 159u8, 237u8, 79u8, 176u8, 214u8, 27u8, 183u8, 165u8, 63u8, 185u8, - 233u8, 151u8, 81u8, 170u8, 97u8, 115u8, 47u8, 90u8, 254u8, 2u8, 66u8, - 209u8, 3u8, 247u8, 92u8, 11u8, 54u8, 144u8, 88u8, 172u8, 127u8, 143u8, + 130u8, 206u8, 243u8, 81u8, 169u8, 223u8, 74u8, 102u8, 75u8, 207u8, + 232u8, 175u8, 233u8, 167u8, 109u8, 190u8, 242u8, 24u8, 203u8, 144u8, + 31u8, 68u8, 147u8, 110u8, 77u8, 175u8, 2u8, 129u8, 127u8, 198u8, 49u8, + 151u8, ], ) } @@ -2764,6 +2807,10 @@ pub mod api { ) } #[doc = " The maximum number of scheduled calls in the queue for a single block."] + #[doc = ""] + #[doc = " NOTE:"] + #[doc = " + Dependent pallets' benchmarks might require a higher limit for the setting. Set a"] + #[doc = " higher limit under `runtime-benchmarks` feature."] pub fn max_scheduled_per_block( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { @@ -2791,57 +2838,60 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct NotePreimage { - pub bytes: ::std::vec::Vec<::core::primitive::u8>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct UnnotePreimage { - pub hash: ::subxt::utils::H256, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RequestPreimage { - pub hash: ::subxt::utils::H256, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct UnrequestPreimage { - pub hash: ::subxt::utils::H256, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct NotePreimage { + pub bytes: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UnnotePreimage { + pub hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RequestPreimage { + pub hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UnrequestPreimage { + pub hash: ::subxt::utils::H256, + } } pub struct TransactionApi; impl TransactionApi { @@ -2852,11 +2902,11 @@ pub mod api { pub fn note_preimage( &self, bytes: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Preimage", "note_preimage", - NotePreimage { bytes }, + types::NotePreimage { bytes }, [ 77u8, 48u8, 104u8, 3u8, 254u8, 65u8, 106u8, 95u8, 204u8, 89u8, 149u8, 29u8, 144u8, 188u8, 99u8, 23u8, 146u8, 142u8, 35u8, 17u8, 125u8, 130u8, @@ -2873,11 +2923,11 @@ pub mod api { pub fn unnote_preimage( &self, hash: ::subxt::utils::H256, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Preimage", "unnote_preimage", - UnnotePreimage { hash }, + types::UnnotePreimage { hash }, [ 211u8, 204u8, 205u8, 58u8, 33u8, 179u8, 68u8, 74u8, 149u8, 138u8, 213u8, 45u8, 140u8, 27u8, 106u8, 81u8, 68u8, 212u8, 147u8, 116u8, 27u8, @@ -2892,11 +2942,11 @@ pub mod api { pub fn request_preimage( &self, hash: ::subxt::utils::H256, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Preimage", "request_preimage", - RequestPreimage { hash }, + types::RequestPreimage { hash }, [ 195u8, 26u8, 146u8, 255u8, 79u8, 43u8, 73u8, 60u8, 115u8, 78u8, 99u8, 197u8, 137u8, 95u8, 139u8, 141u8, 79u8, 213u8, 170u8, 169u8, 127u8, @@ -2910,11 +2960,11 @@ pub mod api { pub fn unrequest_preimage( &self, hash: ::subxt::utils::H256, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Preimage", "unrequest_preimage", - UnrequestPreimage { hash }, + types::UnrequestPreimage { hash }, [ 143u8, 225u8, 239u8, 44u8, 237u8, 83u8, 18u8, 105u8, 101u8, 68u8, 111u8, 116u8, 66u8, 212u8, 63u8, 190u8, 38u8, 32u8, 105u8, 152u8, 69u8, @@ -3044,7 +3094,9 @@ pub mod api { _1: impl ::std::borrow::Borrow<::core::primitive::u32>, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec<::core::primitive::u8>, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, ::subxt::storage::address::Yes, (), ::subxt::storage::address::Yes, @@ -3067,7 +3119,9 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec<::core::primitive::u8>, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, (), (), ::subxt::storage::address::Yes, @@ -3096,62 +3150,65 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ReportEquivocation { - pub equivocation_proof: ::std::boxed::Box< - runtime_types::sp_consensus_slots::EquivocationProof< - runtime_types::sp_runtime::generic::header::Header< - ::core::primitive::u32, - runtime_types::sp_runtime::traits::BlakeTwo256, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReportEquivocation { + pub equivocation_proof: ::std::boxed::Box< + runtime_types::sp_consensus_slots::EquivocationProof< + runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + runtime_types::sp_consensus_babe::app::Public, >, - runtime_types::sp_consensus_babe::app::Public, >, - >, - pub key_owner_proof: runtime_types::sp_session::MembershipProof, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ReportEquivocationUnsigned { - pub equivocation_proof: ::std::boxed::Box< - runtime_types::sp_consensus_slots::EquivocationProof< - runtime_types::sp_runtime::generic::header::Header< - ::core::primitive::u32, - runtime_types::sp_runtime::traits::BlakeTwo256, + pub key_owner_proof: runtime_types::sp_session::MembershipProof, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReportEquivocationUnsigned { + pub equivocation_proof: ::std::boxed::Box< + runtime_types::sp_consensus_slots::EquivocationProof< + runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + runtime_types::sp_consensus_babe::app::Public, >, - runtime_types::sp_consensus_babe::app::Public, >, - >, - pub key_owner_proof: runtime_types::sp_session::MembershipProof, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct PlanConfigChange { - pub config: runtime_types::sp_consensus_babe::digests::NextConfigDescriptor, + pub key_owner_proof: runtime_types::sp_session::MembershipProof, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PlanConfigChange { + pub config: runtime_types::sp_consensus_babe::digests::NextConfigDescriptor, + } } pub struct TransactionApi; impl TransactionApi { @@ -3169,11 +3226,11 @@ pub mod api { runtime_types::sp_consensus_babe::app::Public, >, key_owner_proof: runtime_types::sp_session::MembershipProof, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Babe", "report_equivocation", - ReportEquivocation { + types::ReportEquivocation { equivocation_proof: ::std::boxed::Box::new(equivocation_proof), key_owner_proof, }, @@ -3203,11 +3260,11 @@ pub mod api { runtime_types::sp_consensus_babe::app::Public, >, key_owner_proof: runtime_types::sp_session::MembershipProof, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Babe", "report_equivocation_unsigned", - ReportEquivocationUnsigned { + types::ReportEquivocationUnsigned { equivocation_proof: ::std::boxed::Box::new(equivocation_proof), key_owner_proof, }, @@ -3226,11 +3283,11 @@ pub mod api { pub fn plan_config_change( &self, config: runtime_types::sp_consensus_babe::digests::NextConfigDescriptor, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Babe", "plan_config_change", - PlanConfigChange { config }, + types::PlanConfigChange { config }, [ 229u8, 157u8, 41u8, 58u8, 56u8, 4u8, 52u8, 107u8, 104u8, 20u8, 42u8, 110u8, 1u8, 17u8, 45u8, 196u8, 30u8, 135u8, 63u8, 46u8, 40u8, 137u8, @@ -3270,7 +3327,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec<( + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<( runtime_types::sp_consensus_babe::app::Public, ::core::primitive::u64, )>, @@ -3413,7 +3470,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec<( + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<( runtime_types::sp_consensus_babe::app::Public, ::core::primitive::u64, )>, @@ -3467,7 +3524,7 @@ pub mod api { _0: impl ::std::borrow::Borrow<::core::primitive::u32>, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< [::core::primitive::u8; 32usize], >, ::subxt::storage::address::Yes, @@ -3492,7 +3549,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< [::core::primitive::u8; 32usize], >, (), @@ -3526,10 +3583,9 @@ pub mod api { "Initialized", vec![], [ - 142u8, 101u8, 250u8, 113u8, 93u8, 201u8, 157u8, 18u8, 166u8, 153u8, - 59u8, 197u8, 107u8, 247u8, 124u8, 110u8, 202u8, 67u8, 62u8, 57u8, - 186u8, 134u8, 49u8, 182u8, 149u8, 44u8, 255u8, 85u8, 87u8, 177u8, - 149u8, 121u8, + 40u8, 135u8, 28u8, 144u8, 247u8, 208u8, 48u8, 220u8, 46u8, 60u8, 131u8, + 190u8, 196u8, 235u8, 126u8, 66u8, 34u8, 14u8, 32u8, 131u8, 71u8, 46u8, + 62u8, 207u8, 177u8, 213u8, 167u8, 34u8, 199u8, 29u8, 16u8, 236u8, ], ) } @@ -3656,6 +3712,37 @@ pub mod api { ], ) } + #[doc = " A list of the last 100 skipped epochs and the corresponding session index"] + #[doc = " when the epoch was skipped."] + #[doc = ""] + #[doc = " This is only used for validating equivocation proofs. An equivocation proof"] + #[doc = " must contains a key-ownership proof for a given session, therefore we need a"] + #[doc = " way to tie together sessions and epoch indices, i.e. we need to validate that"] + #[doc = " a validator was the owner of a given key on a given session, and what the"] + #[doc = " active epoch index was during that session."] + pub fn skipped_epochs( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec<( + ::core::primitive::u64, + ::core::primitive::u32, + )>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Babe", + "SkippedEpochs", + vec![], + [ + 187u8, 66u8, 178u8, 110u8, 247u8, 41u8, 128u8, 194u8, 173u8, 197u8, + 28u8, 219u8, 112u8, 75u8, 9u8, 184u8, 51u8, 12u8, 121u8, 117u8, 176u8, + 213u8, 139u8, 144u8, 122u8, 72u8, 243u8, 105u8, 248u8, 63u8, 6u8, 87u8, + ], + ) + } } } pub mod constants { @@ -3724,19 +3811,22 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Set { - #[codec(compact)] - pub now: ::core::primitive::u64, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Set { + #[codec(compact)] + pub now: ::core::primitive::u64, + } } pub struct TransactionApi; impl TransactionApi { @@ -3750,17 +3840,16 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin for this call must be `Inherent`."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)"] #[doc = "- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in"] #[doc = " `on_finalize`)"] #[doc = "- 1 event handler `on_timestamp_set`. Must be `O(1)`."] - #[doc = "# "] - pub fn set(&self, now: ::core::primitive::u64) -> ::subxt::tx::Payload { + pub fn set(&self, now: ::core::primitive::u64) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Timestamp", "set", - Set { now }, + types::Set { now }, [ 6u8, 97u8, 172u8, 236u8, 118u8, 238u8, 228u8, 114u8, 15u8, 115u8, 102u8, 85u8, 66u8, 151u8, 16u8, 33u8, 187u8, 17u8, 166u8, 88u8, 127u8, @@ -3853,76 +3942,79 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Claim { - pub index: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Transfer { - pub new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub index: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Free { - pub index: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceTransfer { - pub new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub index: ::core::primitive::u32, - pub freeze: ::core::primitive::bool, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Freeze { - pub index: ::core::primitive::u32, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Claim { + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Transfer { + pub new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Free { + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceTransfer { + pub new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub index: ::core::primitive::u32, + pub freeze: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Freeze { + pub index: ::core::primitive::u32, + } } pub struct TransactionApi; impl TransactionApi { @@ -3936,19 +4028,16 @@ pub mod api { #[doc = ""] #[doc = "Emits `IndexAssigned` if successful."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(1)`."] - #[doc = "- One storage mutation (codec `O(1)`)."] - #[doc = "- One reserve operation."] - #[doc = "- One event."] - #[doc = "-------------------"] - #[doc = "- DB Weight: 1 Read/Write (Accounts)"] - #[doc = "# "] - pub fn claim(&self, index: ::core::primitive::u32) -> ::subxt::tx::Payload { + pub fn claim( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Indices", "claim", - Claim { index }, + types::Claim { index }, [ 5u8, 24u8, 11u8, 173u8, 226u8, 170u8, 0u8, 30u8, 193u8, 102u8, 214u8, 59u8, 252u8, 32u8, 221u8, 88u8, 196u8, 189u8, 244u8, 18u8, 233u8, 37u8, @@ -3966,25 +4055,17 @@ pub mod api { #[doc = ""] #[doc = "Emits `IndexAssigned` if successful."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(1)`."] - #[doc = "- One storage mutation (codec `O(1)`)."] - #[doc = "- One transfer operation."] - #[doc = "- One event."] - #[doc = "-------------------"] - #[doc = "- DB Weight:"] - #[doc = " - Reads: Indices Accounts, System Account (recipient)"] - #[doc = " - Writes: Indices Accounts, System Account (recipient)"] - #[doc = "# "] pub fn transfer( &self, new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, index: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Indices", "transfer", - Transfer { new, index }, + types::Transfer { new, index }, [ 154u8, 191u8, 183u8, 50u8, 185u8, 69u8, 126u8, 132u8, 12u8, 77u8, 146u8, 189u8, 254u8, 7u8, 72u8, 191u8, 118u8, 102u8, 180u8, 2u8, 161u8, @@ -4002,19 +4083,16 @@ pub mod api { #[doc = ""] #[doc = "Emits `IndexFreed` if successful."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(1)`."] - #[doc = "- One storage mutation (codec `O(1)`)."] - #[doc = "- One reserve operation."] - #[doc = "- One event."] - #[doc = "-------------------"] - #[doc = "- DB Weight: 1 Read/Write (Accounts)"] - #[doc = "# "] - pub fn free(&self, index: ::core::primitive::u32) -> ::subxt::tx::Payload { + pub fn free( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Indices", "free", - Free { index }, + types::Free { index }, [ 133u8, 202u8, 225u8, 127u8, 69u8, 145u8, 43u8, 13u8, 160u8, 248u8, 215u8, 243u8, 232u8, 166u8, 74u8, 203u8, 235u8, 138u8, 255u8, 27u8, @@ -4034,26 +4112,18 @@ pub mod api { #[doc = ""] #[doc = "Emits `IndexAssigned` if successful."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(1)`."] - #[doc = "- One storage mutation (codec `O(1)`)."] - #[doc = "- Up to one reserve operation."] - #[doc = "- One event."] - #[doc = "-------------------"] - #[doc = "- DB Weight:"] - #[doc = " - Reads: Indices Accounts, System Account (original owner)"] - #[doc = " - Writes: Indices Accounts, System Account (original owner)"] - #[doc = "# "] pub fn force_transfer( &self, new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, index: ::core::primitive::u32, freeze: ::core::primitive::bool, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Indices", "force_transfer", - ForceTransfer { new, index, freeze }, + types::ForceTransfer { new, index, freeze }, [ 37u8, 220u8, 91u8, 118u8, 222u8, 81u8, 225u8, 131u8, 101u8, 203u8, 60u8, 149u8, 102u8, 92u8, 58u8, 91u8, 227u8, 64u8, 229u8, 62u8, 201u8, @@ -4072,22 +4142,16 @@ pub mod api { #[doc = ""] #[doc = "Emits `IndexFrozen` if successful."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(1)`."] - #[doc = "- One storage mutation (codec `O(1)`)."] - #[doc = "- Up to one slash operation."] - #[doc = "- One event."] - #[doc = "-------------------"] - #[doc = "- DB Weight: 1 Read/Write (Accounts)"] - #[doc = "# "] pub fn freeze( &self, index: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Indices", "freeze", - Freeze { index }, + types::Freeze { index }, [ 121u8, 45u8, 118u8, 2u8, 72u8, 48u8, 38u8, 7u8, 234u8, 204u8, 68u8, 20u8, 76u8, 251u8, 205u8, 246u8, 149u8, 31u8, 168u8, 186u8, 208u8, @@ -4249,187 +4313,208 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Transfer { - pub dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - #[codec(compact)] - pub value: ::core::primitive::u128, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetBalance { - pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - #[codec(compact)] - pub new_free: ::core::primitive::u128, - #[codec(compact)] - pub new_reserved: ::core::primitive::u128, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceTransfer { - pub source: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - #[codec(compact)] - pub value: ::core::primitive::u128, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct TransferKeepAlive { - pub dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - #[codec(compact)] - pub value: ::core::primitive::u128, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct TransferAll { - pub dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub keep_alive: ::core::primitive::bool, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceUnreserve { - pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub amount: ::core::primitive::u128, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct TransferAllowDeath { + pub dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetBalanceDeprecated { + pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub new_free: ::core::primitive::u128, + #[codec(compact)] + pub old_reserved: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceTransfer { + pub source: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct TransferKeepAlive { + pub dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct TransferAll { + pub dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub keep_alive: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceUnreserve { + pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub amount: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UpgradeAccounts { + pub who: ::std::vec::Vec<::subxt::utils::AccountId32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Transfer { + pub dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceSetBalance { + pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub new_free: ::core::primitive::u128, + } } pub struct TransactionApi; impl TransactionApi { #[doc = "Transfer some liquid free balance to another account."] #[doc = ""] - #[doc = "`transfer` will set the `FreeBalance` of the sender and receiver."] + #[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."] #[doc = "If the sender's account is below the existential deposit as a result"] #[doc = "of the transfer, the account will be reaped."] #[doc = ""] #[doc = "The dispatch origin for this call must be `Signed` by the transactor."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Dependent on arguments but not critical, given proper implementations for input config"] - #[doc = " types. See related functions below."] - #[doc = "- It contains a limited number of reads and writes internally and no complex"] - #[doc = " computation."] - #[doc = ""] - #[doc = "Related functions:"] - #[doc = ""] - #[doc = " - `ensure_can_withdraw` is always called internally but has a bounded complexity."] - #[doc = " - Transferring balances to accounts that did not exist before will cause"] - #[doc = " `T::OnNewAccount::on_new_account` to be called."] - #[doc = " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`."] - #[doc = " - `transfer_keep_alive` works the same way as `transfer`, but has an additional check"] - #[doc = " that the transfer will not kill the origin account."] - #[doc = "---------------------------------"] - #[doc = "- Origin account is already in memory, so no DB operations for them."] - #[doc = "# "] - pub fn transfer( + pub fn transfer_allow_death( &self, dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, value: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Balances", - "transfer", - Transfer { dest, value }, + "transfer_allow_death", + types::TransferAllowDeath { dest, value }, [ - 111u8, 222u8, 32u8, 56u8, 171u8, 77u8, 252u8, 29u8, 194u8, 155u8, - 200u8, 192u8, 198u8, 81u8, 23u8, 115u8, 236u8, 91u8, 218u8, 114u8, - 107u8, 141u8, 138u8, 100u8, 237u8, 21u8, 58u8, 172u8, 3u8, 20u8, 216u8, - 38u8, + 234u8, 130u8, 149u8, 36u8, 235u8, 112u8, 159u8, 189u8, 104u8, 148u8, + 108u8, 230u8, 25u8, 198u8, 71u8, 158u8, 112u8, 3u8, 162u8, 25u8, 145u8, + 252u8, 44u8, 63u8, 47u8, 34u8, 47u8, 158u8, 61u8, 14u8, 120u8, 255u8, ], ) } - #[doc = "Set the balances of a given account."] - #[doc = ""] - #[doc = "This will alter `FreeBalance` and `ReservedBalance` in storage. it will"] - #[doc = "also alter the total issuance of the system (`TotalIssuance`) appropriately."] - #[doc = "If the new free or reserved balance is below the existential deposit,"] - #[doc = "it will reset the account nonce (`frame_system::AccountNonce`)."] + #[doc = "Set the regular balance of a given account; it also takes a reserved balance but this"] + #[doc = "must be the same as the account's current reserved balance."] #[doc = ""] #[doc = "The dispatch origin for this call is `root`."] - pub fn set_balance( + #[doc = ""] + #[doc = "WARNING: This call is DEPRECATED! Use `force_set_balance` instead."] + pub fn set_balance_deprecated( &self, who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, new_free: ::core::primitive::u128, - new_reserved: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { + old_reserved: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Balances", - "set_balance", - SetBalance { + "set_balance_deprecated", + types::SetBalanceDeprecated { who, new_free, - new_reserved, + old_reserved, }, [ - 234u8, 215u8, 97u8, 98u8, 243u8, 199u8, 57u8, 76u8, 59u8, 161u8, 118u8, - 207u8, 34u8, 197u8, 198u8, 61u8, 231u8, 210u8, 169u8, 235u8, 150u8, - 137u8, 173u8, 49u8, 28u8, 77u8, 84u8, 149u8, 143u8, 210u8, 139u8, - 193u8, + 240u8, 107u8, 184u8, 206u8, 78u8, 106u8, 115u8, 152u8, 130u8, 56u8, + 156u8, 176u8, 105u8, 27u8, 176u8, 187u8, 49u8, 171u8, 229u8, 79u8, + 254u8, 248u8, 8u8, 162u8, 134u8, 12u8, 89u8, 100u8, 137u8, 102u8, + 132u8, 158u8, ], ) } - #[doc = "Exactly as `transfer`, except the origin must be root and the source account may be"] - #[doc = "specified."] - #[doc = "# "] - #[doc = "- Same as transfer, but additional read and write because the source account is not"] - #[doc = " assumed to be in the overlay."] - #[doc = "# "] + #[doc = "Exactly as `transfer_allow_death`, except the origin must be root and the source account"] + #[doc = "may be specified."] pub fn force_transfer( &self, source: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, value: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Balances", "force_transfer", - ForceTransfer { + types::ForceTransfer { source, dest, value, @@ -4442,21 +4527,21 @@ pub mod api { ], ) } - #[doc = "Same as the [`transfer`] call, but with a check that the transfer will not kill the"] - #[doc = "origin account."] + #[doc = "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not"] + #[doc = "kill the origin account."] #[doc = ""] - #[doc = "99% of the time you want [`transfer`] instead."] + #[doc = "99% of the time you want [`transfer_allow_death`] instead."] #[doc = ""] - #[doc = "[`transfer`]: struct.Pallet.html#method.transfer"] + #[doc = "[`transfer_allow_death`]: struct.Pallet.html#method.transfer"] pub fn transfer_keep_alive( &self, dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, value: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Balances", "transfer_keep_alive", - TransferKeepAlive { dest, value }, + types::TransferKeepAlive { dest, value }, [ 112u8, 179u8, 75u8, 168u8, 193u8, 221u8, 9u8, 82u8, 190u8, 113u8, 253u8, 13u8, 130u8, 134u8, 170u8, 216u8, 136u8, 111u8, 242u8, 220u8, @@ -4479,18 +4564,16 @@ pub mod api { #[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"] #[doc = " of the funds the account has, causing the sender account to be killed (false), or"] #[doc = " transfer everything except at least the existential deposit, which will guarantee to"] - #[doc = " keep the sender account alive (true). # "] - #[doc = "- O(1). Just like transfer, but reading the user's transferable balance first."] - #[doc = " #"] + #[doc = " keep the sender account alive (true)."] pub fn transfer_all( &self, dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, keep_alive: ::core::primitive::bool, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Balances", "transfer_all", - TransferAll { dest, keep_alive }, + types::TransferAll { dest, keep_alive }, [ 46u8, 129u8, 29u8, 177u8, 221u8, 107u8, 245u8, 69u8, 238u8, 126u8, 145u8, 26u8, 219u8, 208u8, 14u8, 80u8, 149u8, 1u8, 214u8, 63u8, 67u8, @@ -4506,11 +4589,11 @@ pub mod api { &self, who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, amount: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Balances", "force_unreserve", - ForceUnreserve { who, amount }, + types::ForceUnreserve { who, amount }, [ 160u8, 146u8, 137u8, 76u8, 157u8, 187u8, 66u8, 148u8, 207u8, 76u8, 32u8, 254u8, 82u8, 215u8, 35u8, 161u8, 213u8, 52u8, 32u8, 98u8, 102u8, @@ -4519,6 +4602,68 @@ pub mod api { ], ) } + #[doc = "Upgrade a specified account."] + #[doc = ""] + #[doc = "- `origin`: Must be `Signed`."] + #[doc = "- `who`: The account to be upgraded."] + #[doc = ""] + #[doc = "This will waive the transaction fee if at least all but 10% of the accounts needed to"] + #[doc = "be upgraded. (We let some not have to be upgraded just in order to allow for the"] + #[doc = "possibililty of churn)."] + pub fn upgrade_accounts( + &self, + who: ::std::vec::Vec<::subxt::utils::AccountId32>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Balances", + "upgrade_accounts", + types::UpgradeAccounts { who }, + [ + 164u8, 61u8, 119u8, 24u8, 165u8, 46u8, 197u8, 59u8, 39u8, 198u8, 228u8, + 96u8, 228u8, 45u8, 85u8, 51u8, 37u8, 5u8, 75u8, 40u8, 241u8, 163u8, + 86u8, 228u8, 151u8, 217u8, 47u8, 105u8, 203u8, 103u8, 207u8, 4u8, + ], + ) + } + #[doc = "Alias for `transfer_allow_death`, provided only for name-wise compatibility."] + #[doc = ""] + #[doc = "WARNING: DEPRECATED! Will be released in approximately 3 months."] + pub fn transfer( + &self, + dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + value: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Balances", + "transfer", + types::Transfer { dest, value }, + [ + 111u8, 222u8, 32u8, 56u8, 171u8, 77u8, 252u8, 29u8, 194u8, 155u8, + 200u8, 192u8, 198u8, 81u8, 23u8, 115u8, 236u8, 91u8, 218u8, 114u8, + 107u8, 141u8, 138u8, 100u8, 237u8, 21u8, 58u8, 172u8, 3u8, 20u8, 216u8, + 38u8, + ], + ) + } + #[doc = "Set the regular balance of a given account."] + #[doc = ""] + #[doc = "The dispatch origin for this call is `root`."] + pub fn force_set_balance( + &self, + who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + new_free: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Balances", + "force_set_balance", + types::ForceSetBalance { who, new_free }, + [ + 237u8, 4u8, 41u8, 58u8, 62u8, 179u8, 160u8, 4u8, 50u8, 71u8, 178u8, + 36u8, 130u8, 130u8, 92u8, 229u8, 16u8, 245u8, 169u8, 109u8, 165u8, + 72u8, 94u8, 70u8, 196u8, 136u8, 37u8, 94u8, 140u8, 215u8, 125u8, 125u8, + ], + ) + } } } #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -4598,7 +4743,6 @@ pub mod api { pub struct BalanceSet { pub who: ::subxt::utils::AccountId32, pub free: ::core::primitive::u128, - pub reserved: ::core::primitive::u128, } impl ::subxt::events::StaticEvent for BalanceSet { const PALLET: &'static str = "Balances"; @@ -4722,6 +4866,176 @@ pub mod api { const PALLET: &'static str = "Balances"; const EVENT: &'static str = "Slashed"; } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some amount was minted into an account."] + pub struct Minted { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Minted { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Minted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some amount was burned from an account."] + pub struct Burned { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Burned { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Burned"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some amount was suspended from an account (it can be restored later)."] + pub struct Suspended { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Suspended { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Suspended"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some amount was restored into an account."] + pub struct Restored { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Restored { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Restored"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An account was upgraded."] + pub struct Upgraded { + pub who: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Upgraded { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Upgraded"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Total issuance was increased by `amount`, creating a credit to be balanced."] + pub struct Issued { + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Issued { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Issued"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Total issuance was decreased by `amount`, creating a debt to be balanced."] + pub struct Rescinded { + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Rescinded { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Rescinded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some balance was locked."] + pub struct Locked { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Locked { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Locked"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some balance was unlocked."] + pub struct Unlocked { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Unlocked { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Unlocked"; + } } pub mod storage { use super::runtime_types; @@ -4748,6 +5062,28 @@ pub mod api { ], ) } + #[doc = " The total units of outstanding deactivated balance in the system."] + pub fn inactive_issuance( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "InactiveIssuance", + vec![], + [ + 74u8, 203u8, 111u8, 142u8, 225u8, 104u8, 173u8, 51u8, 226u8, 12u8, + 85u8, 135u8, 41u8, 206u8, 177u8, 238u8, 94u8, 246u8, 184u8, 250u8, + 140u8, 213u8, 91u8, 118u8, 163u8, 111u8, 211u8, 46u8, 204u8, 160u8, + 154u8, 21u8, + ], + ) + } #[doc = " The Balances pallet example of storing the balance of an account."] #[doc = ""] #[doc = " # Example"] @@ -4777,7 +5113,7 @@ pub mod api { _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_balances::AccountData<::core::primitive::u128>, + runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>, ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, @@ -4789,9 +5125,10 @@ pub mod api { _0.borrow(), )], [ - 246u8, 154u8, 253u8, 71u8, 192u8, 192u8, 192u8, 236u8, 128u8, 80u8, - 40u8, 252u8, 201u8, 43u8, 3u8, 131u8, 19u8, 49u8, 141u8, 240u8, 172u8, - 217u8, 215u8, 109u8, 87u8, 135u8, 248u8, 57u8, 98u8, 185u8, 22u8, 4u8, + 109u8, 250u8, 18u8, 96u8, 139u8, 232u8, 4u8, 139u8, 133u8, 239u8, 30u8, + 237u8, 73u8, 209u8, 143u8, 160u8, 94u8, 248u8, 124u8, 43u8, 224u8, + 165u8, 11u8, 6u8, 176u8, 144u8, 189u8, 161u8, 174u8, 210u8, 56u8, + 225u8, ], ) } @@ -4823,7 +5160,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_balances::AccountData<::core::primitive::u128>, + runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>, (), ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, @@ -4833,9 +5170,10 @@ pub mod api { "Account", Vec::new(), [ - 246u8, 154u8, 253u8, 71u8, 192u8, 192u8, 192u8, 236u8, 128u8, 80u8, - 40u8, 252u8, 201u8, 43u8, 3u8, 131u8, 19u8, 49u8, 141u8, 240u8, 172u8, - 217u8, 215u8, 109u8, 87u8, 135u8, 248u8, 57u8, 98u8, 185u8, 22u8, 4u8, + 109u8, 250u8, 18u8, 96u8, 139u8, 232u8, 4u8, 139u8, 133u8, 239u8, 30u8, + 237u8, 73u8, 209u8, 143u8, 160u8, 94u8, 248u8, 124u8, 43u8, 224u8, + 165u8, 11u8, 6u8, 176u8, 144u8, 189u8, 161u8, 174u8, 210u8, 56u8, + 225u8, ], ) } @@ -4846,8 +5184,8 @@ pub mod api { _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< - runtime_types::pallet_balances::BalanceLock<::core::primitive::u128>, + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< + runtime_types::pallet_balances::types::BalanceLock<::core::primitive::u128>, >, ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, @@ -4872,8 +5210,8 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< - runtime_types::pallet_balances::BalanceLock<::core::primitive::u128>, + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< + runtime_types::pallet_balances::types::BalanceLock<::core::primitive::u128>, >, (), ::subxt::storage::address::Yes, @@ -4896,8 +5234,8 @@ pub mod api { _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< - runtime_types::pallet_balances::ReserveData< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::types::ReserveData< [::core::primitive::u8; 8usize], ::core::primitive::u128, >, @@ -4924,8 +5262,8 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< - runtime_types::pallet_balances::ReserveData< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::types::ReserveData< [::core::primitive::u8; 8usize], ::core::primitive::u128, >, @@ -4945,27 +5283,113 @@ pub mod api { ], ) } - #[doc = " Storage version of the pallet."] - #[doc = ""] - #[doc = " This is set to v2.0.0 for new networks."] - pub fn storage_version( + #[doc = " Holds on account balances."] + pub fn holds( &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_balances::Releases, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::types::IdAmount< + (), + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, - (), > { ::subxt::storage::address::Address::new_static( "Balances", - "StorageVersion", - vec![], + "Holds", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], [ - 135u8, 96u8, 28u8, 234u8, 124u8, 212u8, 56u8, 140u8, 40u8, 101u8, - 235u8, 128u8, 136u8, 221u8, 182u8, 81u8, 17u8, 9u8, 184u8, 228u8, - 174u8, 165u8, 200u8, 162u8, 214u8, 178u8, 227u8, 72u8, 34u8, 5u8, - 173u8, 96u8, + 247u8, 81u8, 4u8, 220u8, 77u8, 205u8, 28u8, 131u8, 215u8, 74u8, 197u8, + 137u8, 113u8, 214u8, 249u8, 91u8, 81u8, 216u8, 8u8, 5u8, 233u8, 39u8, + 104u8, 250u8, 3u8, 228u8, 148u8, 78u8, 4u8, 34u8, 45u8, 143u8, + ], + ) + } + #[doc = " Holds on account balances."] + pub fn holds_root( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::types::IdAmount< + (), + ::core::primitive::u128, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Holds", + Vec::new(), + [ + 247u8, 81u8, 4u8, 220u8, 77u8, 205u8, 28u8, 131u8, 215u8, 74u8, 197u8, + 137u8, 113u8, 214u8, 249u8, 91u8, 81u8, 216u8, 8u8, 5u8, 233u8, 39u8, + 104u8, 250u8, 3u8, 228u8, 148u8, 78u8, 4u8, 34u8, 45u8, 143u8, + ], + ) + } + #[doc = " Freeze locks on account balances."] + pub fn freezes( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::types::IdAmount< + (), + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Freezes", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 211u8, 24u8, 237u8, 217u8, 47u8, 230u8, 147u8, 39u8, 112u8, 209u8, + 193u8, 47u8, 242u8, 13u8, 241u8, 0u8, 100u8, 45u8, 116u8, 130u8, 246u8, + 196u8, 50u8, 134u8, 135u8, 112u8, 206u8, 1u8, 12u8, 53u8, 106u8, 131u8, + ], + ) + } + #[doc = " Freeze locks on account balances."] + pub fn freezes_root( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::types::IdAmount< + (), + ::core::primitive::u128, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Freezes", + Vec::new(), + [ + 211u8, 24u8, 237u8, 217u8, 47u8, 230u8, 147u8, 39u8, 112u8, 209u8, + 193u8, 47u8, 242u8, 13u8, 241u8, 0u8, 100u8, 45u8, 116u8, 130u8, 246u8, + 196u8, 50u8, 134u8, 135u8, 112u8, 206u8, 1u8, 12u8, 53u8, 106u8, 131u8, ], ) } @@ -4975,7 +5399,14 @@ pub mod api { use super::runtime_types; pub struct ConstantsApi; impl ConstantsApi { - #[doc = " The minimum amount required to keep an account open."] + #[doc = " The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO!"] + #[doc = ""] + #[doc = " If you *really* need it to be zero, you can enable the feature `insecure_zero_ed` for"] + #[doc = " this pallet. However, you do so at your own risk: this will open up a major DoS vector."] + #[doc = " In case you have multiple sources of provider references, you may also get unexpected"] + #[doc = " behaviour if you set this to zero."] + #[doc = ""] + #[doc = " Bottom line: Do yourself a favour and make it at least one!"] pub fn existential_deposit( &self, ) -> ::subxt::constants::Address<::core::primitive::u128> { @@ -5016,6 +5447,32 @@ pub mod api { ], ) } + #[doc = " The maximum number of holds that can exist on an account at any time."] + pub fn max_holds(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Balances", + "MaxHolds", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of individual freeze locks that can exist on an account at any time."] + pub fn max_freezes(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Balances", + "MaxFreezes", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } } } } @@ -5140,89 +5597,10 @@ pub mod api { pub mod authorship { use super::root_mod; use super::runtime_types; - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] - pub type Error = runtime_types::pallet_authorship::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] - pub mod calls { - use super::root_mod; - use super::runtime_types; - type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetUncles { - pub new_uncles: ::std::vec::Vec< - runtime_types::sp_runtime::generic::header::Header< - ::core::primitive::u32, - runtime_types::sp_runtime::traits::BlakeTwo256, - >, - >, - } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "Provide a set of uncles."] - pub fn set_uncles( - &self, - new_uncles: ::std::vec::Vec< - runtime_types::sp_runtime::generic::header::Header< - ::core::primitive::u32, - runtime_types::sp_runtime::traits::BlakeTwo256, - >, - >, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Authorship", - "set_uncles", - SetUncles { new_uncles }, - [ - 181u8, 70u8, 222u8, 83u8, 154u8, 215u8, 200u8, 64u8, 154u8, 228u8, - 115u8, 247u8, 117u8, 89u8, 229u8, 102u8, 128u8, 189u8, 90u8, 60u8, - 223u8, 19u8, 111u8, 172u8, 5u8, 223u8, 132u8, 37u8, 235u8, 119u8, 42u8, - 64u8, - ], - ) - } - } - } pub mod storage { use super::runtime_types; pub struct StorageApi; impl StorageApi { - #[doc = " Uncles"] - pub fn uncles( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< - runtime_types::pallet_authorship::UncleEntryItem< - ::core::primitive::u32, - ::subxt::utils::H256, - ::subxt::utils::AccountId32, - >, - >, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "Authorship", - "Uncles", - vec![], - [ - 193u8, 226u8, 196u8, 151u8, 233u8, 82u8, 60u8, 164u8, 27u8, 156u8, - 231u8, 51u8, 79u8, 134u8, 170u8, 166u8, 71u8, 120u8, 250u8, 255u8, - 52u8, 168u8, 74u8, 199u8, 122u8, 253u8, 248u8, 178u8, 39u8, 233u8, - 132u8, 67u8, - ], - ) - } #[doc = " Author of current block."] pub fn author( &self, @@ -5245,50 +5623,6 @@ pub mod api { ], ) } - #[doc = " Whether uncles were already set in this block."] - pub fn did_set_uncles( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::bool, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "Authorship", - "DidSetUncles", - vec![], - [ - 64u8, 3u8, 208u8, 187u8, 50u8, 45u8, 37u8, 88u8, 163u8, 226u8, 37u8, - 126u8, 232u8, 107u8, 156u8, 187u8, 29u8, 15u8, 53u8, 46u8, 28u8, 73u8, - 83u8, 123u8, 14u8, 244u8, 243u8, 43u8, 245u8, 143u8, 15u8, 115u8, - ], - ) - } - } - } - pub mod constants { - use super::runtime_types; - pub struct ConstantsApi; - impl ConstantsApi { - #[doc = " The number of blocks back we should accept uncles."] - #[doc = " This means that we will deal with uncle-parents that are"] - #[doc = " `UncleGenerations + 1` before `now`."] - pub fn uncle_generations( - &self, - ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static( - "Authorship", - "UncleGenerations", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) - } } } } @@ -5302,354 +5636,378 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Bond { - pub controller: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - #[codec(compact)] - pub value: ::core::primitive::u128, - pub payee: - runtime_types::pallet_staking::RewardDestination<::subxt::utils::AccountId32>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct BondExtra { - #[codec(compact)] - pub max_additional: ::core::primitive::u128, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Unbond { - #[codec(compact)] - pub value: ::core::primitive::u128, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct WithdrawUnbonded { - pub num_slashing_spans: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Validate { - pub prefs: runtime_types::pallet_staking::ValidatorPrefs, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Nominate { - pub targets: - ::std::vec::Vec<::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Chill; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetPayee { - pub payee: - runtime_types::pallet_staking::RewardDestination<::subxt::utils::AccountId32>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetController { - pub controller: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetValidatorCount { - #[codec(compact)] - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct IncreaseValidatorCount { - #[codec(compact)] - pub additional: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ScaleValidatorCount { - pub factor: runtime_types::sp_arithmetic::per_things::Percent, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceNoEras; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceNewEra; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetInvulnerables { - pub invulnerables: ::std::vec::Vec<::subxt::utils::AccountId32>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceUnstake { - pub stash: ::subxt::utils::AccountId32, - pub num_slashing_spans: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceNewEraAlways; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CancelDeferredSlash { - pub era: ::core::primitive::u32, - pub slash_indices: ::std::vec::Vec<::core::primitive::u32>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct PayoutStakers { - pub validator_stash: ::subxt::utils::AccountId32, - pub era: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Rebond { - #[codec(compact)] - pub value: ::core::primitive::u128, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ReapStash { - pub stash: ::subxt::utils::AccountId32, - pub num_slashing_spans: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Kick { - pub who: - ::std::vec::Vec<::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetStakingConfigs { - pub min_nominator_bond: runtime_types::pallet_staking::pallet::pallet::ConfigOp< - ::core::primitive::u128, - >, - pub min_validator_bond: runtime_types::pallet_staking::pallet::pallet::ConfigOp< - ::core::primitive::u128, - >, - pub max_nominator_count: - runtime_types::pallet_staking::pallet::pallet::ConfigOp<::core::primitive::u32>, - pub max_validator_count: - runtime_types::pallet_staking::pallet::pallet::ConfigOp<::core::primitive::u32>, - pub chill_threshold: runtime_types::pallet_staking::pallet::pallet::ConfigOp< - runtime_types::sp_arithmetic::per_things::Percent, - >, - pub min_commission: runtime_types::pallet_staking::pallet::pallet::ConfigOp< - runtime_types::sp_arithmetic::per_things::Perbill, - >, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ChillOther { - pub controller: ::subxt::utils::AccountId32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceApplyMinCommission { - pub validator_stash: ::subxt::utils::AccountId32, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Bond { + pub controller: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub value: ::core::primitive::u128, + pub payee: runtime_types::pallet_staking::RewardDestination< + ::subxt::utils::AccountId32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BondExtra { + #[codec(compact)] + pub max_additional: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Unbond { + #[codec(compact)] + pub value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct WithdrawUnbonded { + pub num_slashing_spans: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Validate { + pub prefs: runtime_types::pallet_staking::ValidatorPrefs, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Nominate { + pub targets: ::std::vec::Vec< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Chill; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetPayee { + pub payee: runtime_types::pallet_staking::RewardDestination< + ::subxt::utils::AccountId32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetController { + pub controller: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetValidatorCount { + #[codec(compact)] + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct IncreaseValidatorCount { + #[codec(compact)] + pub additional: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ScaleValidatorCount { + pub factor: runtime_types::sp_arithmetic::per_things::Percent, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceNoEras; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceNewEra; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetInvulnerables { + pub invulnerables: ::std::vec::Vec<::subxt::utils::AccountId32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceUnstake { + pub stash: ::subxt::utils::AccountId32, + pub num_slashing_spans: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceNewEraAlways; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CancelDeferredSlash { + pub era: ::core::primitive::u32, + pub slash_indices: ::std::vec::Vec<::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PayoutStakers { + pub validator_stash: ::subxt::utils::AccountId32, + pub era: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Rebond { + #[codec(compact)] + pub value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReapStash { + pub stash: ::subxt::utils::AccountId32, + pub num_slashing_spans: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Kick { + pub who: ::std::vec::Vec< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetStakingConfigs { + pub min_nominator_bond: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u128, + >, + pub min_validator_bond: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u128, + >, + pub max_nominator_count: + runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u32, + >, + pub max_validator_count: + runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u32, + >, + pub chill_threshold: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + runtime_types::sp_arithmetic::per_things::Percent, + >, + pub min_commission: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + runtime_types::sp_arithmetic::per_things::Perbill, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ChillOther { + pub controller: ::subxt::utils::AccountId32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceApplyMinCommission { + pub validator_stash: ::subxt::utils::AccountId32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMinCommission { + pub new: runtime_types::sp_arithmetic::per_things::Perbill, + } } pub struct TransactionApi; impl TransactionApi { @@ -5661,15 +6019,13 @@ pub mod api { #[doc = "The dispatch origin for this call must be _Signed_ by the stash account."] #[doc = ""] #[doc = "Emits `Bonded`."] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- Independent of the arguments. Moderate complexity."] #[doc = "- O(1)."] #[doc = "- Three extra DB entries."] #[doc = ""] #[doc = "NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned"] #[doc = "unless the `origin` falls below _existential deposit_ and gets removed as dust."] - #[doc = "------------------"] - #[doc = "# "] pub fn bond( &self, controller: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, @@ -5677,11 +6033,11 @@ pub mod api { payee: runtime_types::pallet_staking::RewardDestination< ::subxt::utils::AccountId32, >, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "bond", - Bond { + types::Bond { controller, value, payee, @@ -5705,18 +6061,17 @@ pub mod api { #[doc = ""] #[doc = "Emits `Bonded`."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- Independent of the arguments. Insignificant complexity."] #[doc = "- O(1)."] - #[doc = "# "] pub fn bond_extra( &self, max_additional: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "bond_extra", - BondExtra { max_additional }, + types::BondExtra { max_additional }, [ 60u8, 45u8, 82u8, 223u8, 113u8, 95u8, 0u8, 71u8, 59u8, 108u8, 228u8, 9u8, 95u8, 210u8, 113u8, 106u8, 252u8, 15u8, 19u8, 128u8, 11u8, 187u8, @@ -5734,8 +6089,8 @@ pub mod api { #[doc = "the funds out of management ready for transfer."] #[doc = ""] #[doc = "No more than a limited number of unlocking chunks (see `MaxUnlockingChunks`)"] - #[doc = "can co-exists at the same time. In that case, [`Call::withdraw_unbonded`] need"] - #[doc = "to be called first to remove some of the chunks (if possible)."] + #[doc = "can co-exists at the same time. If there are no unlocking chunks slots available"] + #[doc = "[`Call::withdraw_unbonded`] is called to remove some of the chunks (if possible)."] #[doc = ""] #[doc = "If a user encounters the `InsufficientBond` error when calling this extrinsic,"] #[doc = "they should call `chill` first in order to free up their bonded funds."] @@ -5746,11 +6101,11 @@ pub mod api { pub fn unbond( &self, value: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "unbond", - Unbond { value }, + types::Unbond { value }, [ 85u8, 62u8, 34u8, 127u8, 60u8, 241u8, 134u8, 60u8, 125u8, 91u8, 31u8, 193u8, 50u8, 230u8, 237u8, 42u8, 114u8, 230u8, 240u8, 146u8, 14u8, @@ -5770,18 +6125,17 @@ pub mod api { #[doc = ""] #[doc = "See also [`Call::unbond`]."] #[doc = ""] - #[doc = "# "] - #[doc = "Complexity O(S) where S is the number of slashing spans to remove"] + #[doc = "## Complexity"] + #[doc = "O(S) where S is the number of slashing spans to remove"] #[doc = "NOTE: Weight annotation is the kill scenario, we refund otherwise."] - #[doc = "# "] pub fn withdraw_unbonded( &self, num_slashing_spans: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "withdraw_unbonded", - WithdrawUnbonded { num_slashing_spans }, + types::WithdrawUnbonded { num_slashing_spans }, [ 95u8, 223u8, 122u8, 217u8, 76u8, 208u8, 86u8, 129u8, 31u8, 104u8, 70u8, 154u8, 23u8, 250u8, 165u8, 192u8, 149u8, 249u8, 158u8, 159u8, 194u8, @@ -5798,11 +6152,11 @@ pub mod api { pub fn validate( &self, prefs: runtime_types::pallet_staking::ValidatorPrefs, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "validate", - Validate { prefs }, + types::Validate { prefs }, [ 191u8, 116u8, 139u8, 35u8, 250u8, 211u8, 86u8, 240u8, 35u8, 9u8, 19u8, 44u8, 148u8, 35u8, 91u8, 106u8, 200u8, 172u8, 108u8, 145u8, 194u8, @@ -5817,21 +6171,20 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- The transaction's complexity is proportional to the size of `targets` (N)"] #[doc = "which is capped at CompactAssignments::LIMIT (T::MaxNominations)."] #[doc = "- Both the reads and writes follow a similar pattern."] - #[doc = "# "] pub fn nominate( &self, targets: ::std::vec::Vec< ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, >, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "nominate", - Nominate { targets }, + types::Nominate { targets }, [ 112u8, 162u8, 70u8, 26u8, 74u8, 7u8, 188u8, 193u8, 210u8, 247u8, 27u8, 189u8, 133u8, 137u8, 33u8, 155u8, 255u8, 171u8, 122u8, 68u8, 175u8, @@ -5846,16 +6199,15 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- Independent of the arguments. Insignificant complexity."] #[doc = "- Contains one read."] #[doc = "- Writes are limited to the `origin` account key."] - #[doc = "# "] - pub fn chill(&self) -> ::subxt::tx::Payload { + pub fn chill(&self) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "chill", - Chill {}, + types::Chill {}, [ 94u8, 20u8, 196u8, 31u8, 220u8, 125u8, 115u8, 167u8, 140u8, 3u8, 20u8, 132u8, 81u8, 120u8, 215u8, 166u8, 230u8, 56u8, 16u8, 222u8, 31u8, @@ -5870,26 +6222,22 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- O(1)"] #[doc = "- Independent of the arguments. Insignificant complexity."] #[doc = "- Contains a limited number of reads."] #[doc = "- Writes are limited to the `origin` account key."] #[doc = "---------"] - #[doc = "- Weight: O(1)"] - #[doc = "- DB Weight:"] - #[doc = " - Read: Ledger"] - #[doc = " - Write: Payee"] - #[doc = "# "] pub fn set_payee( &self, payee: runtime_types::pallet_staking::RewardDestination< ::subxt::utils::AccountId32, >, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "set_payee", - SetPayee { payee }, + types::SetPayee { payee }, [ 96u8, 8u8, 254u8, 164u8, 87u8, 46u8, 120u8, 11u8, 197u8, 63u8, 20u8, 178u8, 167u8, 236u8, 149u8, 245u8, 14u8, 171u8, 108u8, 195u8, 250u8, @@ -5903,24 +6251,19 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_ by the stash, not the controller."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "O(1)"] #[doc = "- Independent of the arguments. Insignificant complexity."] #[doc = "- Contains a limited number of reads."] #[doc = "- Writes are limited to the `origin` account key."] - #[doc = "----------"] - #[doc = "Weight: O(1)"] - #[doc = "DB Weight:"] - #[doc = "- Read: Bonded, Ledger New Controller, Ledger Old Controller"] - #[doc = "- Write: Bonded, Ledger New Controller, Ledger Old Controller"] - #[doc = "# "] pub fn set_controller( &self, controller: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "set_controller", - SetController { controller }, + types::SetController { controller }, [ 165u8, 250u8, 213u8, 32u8, 179u8, 163u8, 15u8, 35u8, 14u8, 152u8, 56u8, 171u8, 43u8, 101u8, 7u8, 167u8, 178u8, 60u8, 89u8, 186u8, 59u8, 28u8, @@ -5932,18 +6275,16 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin must be Root."] #[doc = ""] - #[doc = "# "] - #[doc = "Weight: O(1)"] - #[doc = "Write: Validator Count"] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "O(1)"] pub fn set_validator_count( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "set_validator_count", - SetValidatorCount { new }, + types::SetValidatorCount { new }, [ 55u8, 232u8, 95u8, 66u8, 228u8, 217u8, 11u8, 27u8, 3u8, 202u8, 199u8, 242u8, 70u8, 160u8, 250u8, 187u8, 194u8, 91u8, 15u8, 36u8, 215u8, 36u8, @@ -5956,17 +6297,16 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin must be Root."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "Same as [`Self::set_validator_count`]."] - #[doc = "# "] pub fn increase_validator_count( &self, additional: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "increase_validator_count", - IncreaseValidatorCount { additional }, + types::IncreaseValidatorCount { additional }, [ 239u8, 184u8, 155u8, 213u8, 25u8, 22u8, 193u8, 13u8, 102u8, 192u8, 82u8, 153u8, 249u8, 192u8, 60u8, 158u8, 8u8, 78u8, 175u8, 219u8, 46u8, @@ -5979,17 +6319,16 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin must be Root."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "Same as [`Self::set_validator_count`]."] - #[doc = "# "] pub fn scale_validator_count( &self, factor: runtime_types::sp_arithmetic::per_things::Percent, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "scale_validator_count", - ScaleValidatorCount { factor }, + types::ScaleValidatorCount { factor }, [ 198u8, 68u8, 227u8, 94u8, 110u8, 157u8, 209u8, 217u8, 112u8, 37u8, 78u8, 142u8, 12u8, 193u8, 219u8, 167u8, 149u8, 112u8, 49u8, 139u8, @@ -6008,16 +6347,14 @@ pub mod api { #[doc = "Thus the election process may be ongoing when this is called. In this case the"] #[doc = "election will continue until the next era is triggered."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- No arguments."] #[doc = "- Weight: O(1)"] - #[doc = "- Write: ForceEra"] - #[doc = "# "] - pub fn force_no_eras(&self) -> ::subxt::tx::Payload { + pub fn force_no_eras(&self) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "force_no_eras", - ForceNoEras {}, + types::ForceNoEras {}, [ 16u8, 81u8, 207u8, 168u8, 23u8, 236u8, 11u8, 75u8, 141u8, 107u8, 92u8, 2u8, 53u8, 111u8, 252u8, 116u8, 91u8, 120u8, 75u8, 24u8, 125u8, 53u8, @@ -6036,16 +6373,14 @@ pub mod api { #[doc = "If this is called just before a new era is triggered, the election process may not"] #[doc = "have enough blocks to get a result."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- No arguments."] #[doc = "- Weight: O(1)"] - #[doc = "- Write ForceEra"] - #[doc = "# "] - pub fn force_new_era(&self) -> ::subxt::tx::Payload { + pub fn force_new_era(&self) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "force_new_era", - ForceNewEra {}, + types::ForceNewEra {}, [ 230u8, 242u8, 169u8, 196u8, 78u8, 145u8, 24u8, 191u8, 113u8, 68u8, 5u8, 138u8, 48u8, 51u8, 109u8, 126u8, 73u8, 136u8, 162u8, 158u8, 174u8, @@ -6059,11 +6394,11 @@ pub mod api { pub fn set_invulnerables( &self, invulnerables: ::std::vec::Vec<::subxt::utils::AccountId32>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "set_invulnerables", - SetInvulnerables { invulnerables }, + types::SetInvulnerables { invulnerables }, [ 2u8, 148u8, 221u8, 111u8, 153u8, 48u8, 222u8, 36u8, 228u8, 84u8, 18u8, 35u8, 168u8, 239u8, 53u8, 245u8, 27u8, 76u8, 18u8, 203u8, 206u8, 9u8, @@ -6078,11 +6413,11 @@ pub mod api { &self, stash: ::subxt::utils::AccountId32, num_slashing_spans: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "force_unstake", - ForceUnstake { + types::ForceUnstake { stash, num_slashing_spans, }, @@ -6103,11 +6438,13 @@ pub mod api { #[doc = "The election process starts multiple blocks before the end of the era."] #[doc = "If this is called just before a new era is triggered, the election process may not"] #[doc = "have enough blocks to get a result."] - pub fn force_new_era_always(&self) -> ::subxt::tx::Payload { + pub fn force_new_era_always( + &self, + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "force_new_era_always", - ForceNewEraAlways {}, + types::ForceNewEraAlways {}, [ 179u8, 118u8, 189u8, 54u8, 248u8, 141u8, 207u8, 142u8, 80u8, 37u8, 241u8, 185u8, 138u8, 254u8, 117u8, 147u8, 225u8, 118u8, 34u8, 177u8, @@ -6118,18 +6455,18 @@ pub mod api { } #[doc = "Cancel enactment of a deferred slash."] #[doc = ""] - #[doc = "Can be called by the `T::SlashCancelOrigin`."] + #[doc = "Can be called by the `T::AdminOrigin`."] #[doc = ""] #[doc = "Parameters: era and indices of the slashes for that era to kill."] pub fn cancel_deferred_slash( &self, era: ::core::primitive::u32, slash_indices: ::std::vec::Vec<::core::primitive::u32>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "cancel_deferred_slash", - CancelDeferredSlash { era, slash_indices }, + types::CancelDeferredSlash { era, slash_indices }, [ 120u8, 57u8, 162u8, 105u8, 91u8, 250u8, 129u8, 240u8, 110u8, 234u8, 170u8, 98u8, 164u8, 65u8, 106u8, 101u8, 19u8, 88u8, 146u8, 210u8, @@ -6147,27 +6484,17 @@ pub mod api { #[doc = "The origin of this call must be _Signed_. Any account can call this function, even if"] #[doc = "it is not one of the stakers."] #[doc = ""] - #[doc = "# "] - #[doc = "- Time complexity: at most O(MaxNominatorRewardedPerValidator)."] - #[doc = "- Contains a limited number of reads and writes."] - #[doc = "-----------"] - #[doc = "N is the Number of payouts for the validator (including the validator)"] - #[doc = "Weight:"] - #[doc = "- Reward Destination Staked: O(N)"] - #[doc = "- Reward Destination Controller (Creating): O(N)"] - #[doc = ""] - #[doc = " NOTE: weights are assuming that payouts are made to alive stash account (Staked)."] - #[doc = " Paying even a dead controller is cheaper weight-wise. We don't do any refunds here."] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- At most O(MaxNominatorRewardedPerValidator)."] pub fn payout_stakers( &self, validator_stash: ::subxt::utils::AccountId32, era: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "payout_stakers", - PayoutStakers { + types::PayoutStakers { validator_stash, era, }, @@ -6182,19 +6509,17 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin must be signed by the controller."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- Time complexity: O(L), where L is unlocking chunks"] #[doc = "- Bounded by `MaxUnlockingChunks`."] - #[doc = "- Storage changes: Can't increase storage, only decrease it."] - #[doc = "# "] pub fn rebond( &self, value: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "rebond", - Rebond { value }, + types::Rebond { value }, [ 25u8, 22u8, 191u8, 172u8, 133u8, 101u8, 139u8, 102u8, 134u8, 16u8, 136u8, 56u8, 137u8, 162u8, 4u8, 253u8, 196u8, 30u8, 234u8, 49u8, 102u8, @@ -6219,11 +6544,11 @@ pub mod api { &self, stash: ::subxt::utils::AccountId32, num_slashing_spans: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "reap_stash", - ReapStash { + types::ReapStash { stash, num_slashing_spans, }, @@ -6251,11 +6576,11 @@ pub mod api { who: ::std::vec::Vec< ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, >, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "kick", - Kick { who }, + types::Kick { who }, [ 32u8, 26u8, 202u8, 6u8, 186u8, 180u8, 58u8, 121u8, 185u8, 208u8, 123u8, 10u8, 53u8, 179u8, 167u8, 203u8, 96u8, 229u8, 7u8, 144u8, 231u8, 172u8, @@ -6300,11 +6625,11 @@ pub mod api { min_commission: runtime_types::pallet_staking::pallet::pallet::ConfigOp< runtime_types::sp_arithmetic::per_things::Perbill, >, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "set_staking_configs", - SetStakingConfigs { + types::SetStakingConfigs { min_nominator_bond, min_validator_bond, max_nominator_count, @@ -6348,11 +6673,11 @@ pub mod api { pub fn chill_other( &self, controller: ::subxt::utils::AccountId32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "chill_other", - ChillOther { controller }, + types::ChillOther { controller }, [ 140u8, 98u8, 4u8, 203u8, 91u8, 131u8, 123u8, 119u8, 169u8, 47u8, 188u8, 23u8, 205u8, 170u8, 82u8, 220u8, 166u8, 170u8, 135u8, 176u8, 68u8, @@ -6366,11 +6691,11 @@ pub mod api { pub fn force_apply_min_commission( &self, validator_stash: ::subxt::utils::AccountId32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "force_apply_min_commission", - ForceApplyMinCommission { validator_stash }, + types::ForceApplyMinCommission { validator_stash }, [ 136u8, 163u8, 85u8, 134u8, 240u8, 247u8, 183u8, 227u8, 226u8, 202u8, 102u8, 186u8, 138u8, 119u8, 78u8, 123u8, 229u8, 135u8, 129u8, 241u8, @@ -6379,6 +6704,26 @@ pub mod api { ], ) } + #[doc = "Sets the minimum amount of commission that each validators must maintain."] + #[doc = ""] + #[doc = "This call has lower privilege requirements than `set_staking_config` and can be called"] + #[doc = "by the `T::AdminOrigin`. Root can always call this."] + pub fn set_min_commission( + &self, + new: runtime_types::sp_arithmetic::per_things::Perbill, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "set_min_commission", + types::SetMinCommission { new }, + [ + 62u8, 139u8, 175u8, 245u8, 212u8, 113u8, 117u8, 130u8, 191u8, 173u8, + 78u8, 97u8, 19u8, 104u8, 185u8, 207u8, 201u8, 14u8, 200u8, 208u8, + 184u8, 195u8, 242u8, 175u8, 158u8, 156u8, 51u8, 58u8, 118u8, 154u8, + 68u8, 221u8, + ], + ) + } } } #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -6435,7 +6780,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "One staker (and potentially its nominators) has been slashed by the given amount."] + #[doc = "A staker (validator or nominator) has been slashed by the given amount."] pub struct Slashed { pub staker: ::subxt::utils::AccountId32, pub amount: ::core::primitive::u128, @@ -6444,6 +6789,27 @@ pub mod api { const PALLET: &'static str = "Staking"; const EVENT: &'static str = "Slashed"; } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A slash for the given validator, for the given percentage of their stake, at the given"] + #[doc = "era as been reported."] + pub struct SlashReported { + pub validator: ::subxt::utils::AccountId32, + pub fraction: runtime_types::sp_arithmetic::per_things::Perbill, + pub slash_era: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for SlashReported { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "SlashReported"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -6632,6 +6998,24 @@ pub mod api { const PALLET: &'static str = "Staking"; const EVENT: &'static str = "ValidatorPrefsSet"; } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A new force era mode was set."] + pub struct ForceEra { + pub mode: runtime_types::pallet_staking::Forcing, + } + impl ::subxt::events::StaticEvent for ForceEra { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "ForceEra"; + } } pub mod storage { use super::runtime_types; @@ -6703,6 +7087,8 @@ pub mod api { ) } #[doc = " Map from all locked \"stash\" accounts to the controller account."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] pub fn bonded( &self, _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, @@ -6727,6 +7113,8 @@ pub mod api { ) } #[doc = " Map from all locked \"stash\" accounts to the controller account."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] pub fn bonded_root( &self, ) -> ::subxt::storage::address::Address< @@ -6789,6 +7177,27 @@ pub mod api { ], ) } + #[doc = " The minimum active nominator stake of the last successful election."] + pub fn minimum_active_stake( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "MinimumActiveStake", + vec![], + [ + 172u8, 190u8, 228u8, 47u8, 47u8, 192u8, 182u8, 59u8, 9u8, 18u8, 103u8, + 46u8, 175u8, 54u8, 17u8, 79u8, 89u8, 107u8, 255u8, 200u8, 182u8, 107u8, + 89u8, 157u8, 55u8, 16u8, 77u8, 46u8, 154u8, 169u8, 103u8, 151u8, + ], + ) + } #[doc = " The minimum amount of commission that validators can set."] #[doc = ""] #[doc = " If set to `0`, no limit exists."] @@ -6860,6 +7269,8 @@ pub mod api { ) } #[doc = " Where the reward payment should be made. Keyed by stash."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] pub fn payee( &self, _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, @@ -6885,6 +7296,8 @@ pub mod api { ) } #[doc = " Where the reward payment should be made. Keyed by stash."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] pub fn payee_root( &self, ) -> ::subxt::storage::address::Address< @@ -6907,6 +7320,8 @@ pub mod api { ) } #[doc = " The map from (wannabe) validator stash key to the preferences of that validator."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] pub fn validators( &self, _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, @@ -6932,6 +7347,8 @@ pub mod api { ) } #[doc = " The map from (wannabe) validator stash key to the preferences of that validator."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] pub fn validators_root( &self, ) -> ::subxt::storage::address::Address< @@ -7013,6 +7430,8 @@ pub mod api { #[doc = ""] #[doc = " Lastly, if any of the nominators become non-decodable, they can be chilled immediately via"] #[doc = " [`Call::chill_other`] dispatchable by anyone."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] pub fn nominators( &self, _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, @@ -7053,6 +7472,8 @@ pub mod api { #[doc = ""] #[doc = " Lastly, if any of the nominators become non-decodable, they can be chilled immediately via"] #[doc = " [`Call::chill_other`] dispatchable by anyone."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] pub fn nominators_root( &self, ) -> ::subxt::storage::address::Address< @@ -7957,30 +8378,6 @@ pub mod api { ], ) } - #[doc = " True if network has been upgraded to this version."] - #[doc = " Storage version of the pallet."] - #[doc = ""] - #[doc = " This is set to v7.0.0 for new networks."] - pub fn storage_version( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_staking::Releases, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "Staking", - "StorageVersion", - vec![], - [ - 70u8, 24u8, 179u8, 189u8, 168u8, 164u8, 175u8, 150u8, 215u8, 43u8, - 18u8, 110u8, 180u8, 137u8, 237u8, 187u8, 185u8, 50u8, 31u8, 57u8, 16u8, - 110u8, 6u8, 170u8, 19u8, 7u8, 160u8, 134u8, 232u8, 227u8, 151u8, 116u8, - ], - ) - } #[doc = " The threshold for when users can start calling `chill_other` for other validators /"] #[doc = " nominators. The threshold is compared to the actual number of validators / nominators"] #[doc = " (`CountFor*`) in the system compared to the configured max (`Max*Count`)."] @@ -8367,31 +8764,34 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetKeys { - pub keys: runtime_types::polkadot_runtime::SessionKeys, - pub proof: ::std::vec::Vec<::core::primitive::u8>, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetKeys { + pub keys: runtime_types::polkadot_runtime::SessionKeys, + pub proof: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PurgeKeys; } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct PurgeKeys; pub struct TransactionApi; impl TransactionApi { #[doc = "Sets the session key(s) of the function caller to `keys`."] @@ -8400,23 +8800,18 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin of this function must be signed."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(1)`. Actual cost depends on the number of length of"] - #[doc = " `T::Keys::key_ids()` which is fixed."] - #[doc = "- DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`"] - #[doc = "- DbWrites: `origin account`, `NextKeys`"] - #[doc = "- DbReads per key id: `KeyOwner`"] - #[doc = "- DbWrites per key id: `KeyOwner`"] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- `O(1)`. Actual cost depends on the number of length of `T::Keys::key_ids()` which is"] + #[doc = " fixed."] pub fn set_keys( &self, keys: runtime_types::polkadot_runtime::SessionKeys, proof: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Session", "set_keys", - SetKeys { keys, proof }, + types::SetKeys { keys, proof }, [ 17u8, 127u8, 23u8, 71u8, 118u8, 133u8, 89u8, 105u8, 93u8, 52u8, 46u8, 201u8, 151u8, 19u8, 124u8, 195u8, 228u8, 229u8, 22u8, 216u8, 32u8, @@ -8433,18 +8828,14 @@ pub mod api { #[doc = "means being a controller account) or directly convertible into a validator ID (which"] #[doc = "usually means being a stash account)."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(1)` in number of key types. Actual cost depends on the number of length"] - #[doc = " of `T::Keys::key_ids()` which is fixed."] - #[doc = "- DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`"] - #[doc = "- DbWrites: `NextKeys`, `origin account`"] - #[doc = "- DbWrites per key id: `KeyOwner`"] - #[doc = "# "] - pub fn purge_keys(&self) -> ::subxt::tx::Payload { + #[doc = "## Complexity"] + #[doc = "- `O(1)` in number of key types. Actual cost depends on the number of length of"] + #[doc = " `T::Keys::key_ids()` which is fixed."] + pub fn purge_keys(&self) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Session", "purge_keys", - PurgeKeys {}, + types::PurgeKeys {}, [ 200u8, 255u8, 4u8, 213u8, 188u8, 92u8, 99u8, 116u8, 163u8, 152u8, 29u8, 35u8, 133u8, 119u8, 246u8, 44u8, 91u8, 31u8, 145u8, 23u8, 213u8, 64u8, @@ -8708,57 +9099,60 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ReportEquivocation { - pub equivocation_proof: ::std::boxed::Box< - runtime_types::sp_finality_grandpa::EquivocationProof< - ::subxt::utils::H256, - ::core::primitive::u32, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReportEquivocation { + pub equivocation_proof: ::std::boxed::Box< + runtime_types::sp_consensus_grandpa::EquivocationProof< + ::subxt::utils::H256, + ::core::primitive::u32, + >, >, - >, - pub key_owner_proof: runtime_types::sp_session::MembershipProof, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ReportEquivocationUnsigned { - pub equivocation_proof: ::std::boxed::Box< - runtime_types::sp_finality_grandpa::EquivocationProof< - ::subxt::utils::H256, - ::core::primitive::u32, + pub key_owner_proof: runtime_types::sp_session::MembershipProof, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReportEquivocationUnsigned { + pub equivocation_proof: ::std::boxed::Box< + runtime_types::sp_consensus_grandpa::EquivocationProof< + ::subxt::utils::H256, + ::core::primitive::u32, + >, >, - >, - pub key_owner_proof: runtime_types::sp_session::MembershipProof, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct NoteStalled { - pub delay: ::core::primitive::u32, - pub best_finalized_block_number: ::core::primitive::u32, + pub key_owner_proof: runtime_types::sp_session::MembershipProof, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct NoteStalled { + pub delay: ::core::primitive::u32, + pub best_finalized_block_number: ::core::primitive::u32, + } } pub struct TransactionApi; impl TransactionApi { @@ -8768,16 +9162,16 @@ pub mod api { #[doc = "will be reported."] pub fn report_equivocation( &self, - equivocation_proof: runtime_types::sp_finality_grandpa::EquivocationProof< + equivocation_proof: runtime_types::sp_consensus_grandpa::EquivocationProof< ::subxt::utils::H256, ::core::primitive::u32, >, key_owner_proof: runtime_types::sp_session::MembershipProof, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Grandpa", "report_equivocation", - ReportEquivocation { + types::ReportEquivocation { equivocation_proof: ::std::boxed::Box::new(equivocation_proof), key_owner_proof, }, @@ -8799,16 +9193,16 @@ pub mod api { #[doc = "reporter."] pub fn report_equivocation_unsigned( &self, - equivocation_proof: runtime_types::sp_finality_grandpa::EquivocationProof< + equivocation_proof: runtime_types::sp_consensus_grandpa::EquivocationProof< ::subxt::utils::H256, ::core::primitive::u32, >, key_owner_proof: runtime_types::sp_session::MembershipProof, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Grandpa", "report_equivocation_unsigned", - ReportEquivocationUnsigned { + types::ReportEquivocationUnsigned { equivocation_proof: ::std::boxed::Box::new(equivocation_proof), key_owner_proof, }, @@ -8836,11 +9230,11 @@ pub mod api { &self, delay: ::core::primitive::u32, best_finalized_block_number: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Grandpa", "note_stalled", - NoteStalled { + types::NoteStalled { delay, best_finalized_block_number, }, @@ -8871,7 +9265,7 @@ pub mod api { #[doc = "New authority set has been applied."] pub struct NewAuthorities { pub authority_set: ::std::vec::Vec<( - runtime_types::sp_finality_grandpa::app::Public, + runtime_types::sp_consensus_grandpa::app::Public, ::core::primitive::u64, )>, } @@ -9028,6 +9422,12 @@ pub mod api { #[doc = " A mapping from grandpa set ID to the index of the *most recent* session for which its"] #[doc = " members were responsible."] #[doc = ""] + #[doc = " This is only used for validating equivocation proofs. An equivocation proof must"] + #[doc = " contains a key-ownership proof for a given session, therefore we need a way to tie"] + #[doc = " together sessions and GRANDPA set ids, i.e. we need to validate that a validator"] + #[doc = " was the owner of a given key on a given session, and what the active set ID was"] + #[doc = " during that session."] + #[doc = ""] #[doc = " TWOX-NOTE: `SetId` is not under user control."] pub fn set_id_session( &self, @@ -9056,6 +9456,12 @@ pub mod api { #[doc = " A mapping from grandpa set ID to the index of the *most recent* session for which its"] #[doc = " members were responsible."] #[doc = ""] + #[doc = " This is only used for validating equivocation proofs. An equivocation proof must"] + #[doc = " contains a key-ownership proof for a given session, therefore we need a way to tie"] + #[doc = " together sessions and GRANDPA set ids, i.e. we need to validate that a validator"] + #[doc = " was the owner of a given key on a given session, and what the active set ID was"] + #[doc = " during that session."] + #[doc = ""] #[doc = " TWOX-NOTE: `SetId` is not under user control."] pub fn set_id_session_root( &self, @@ -9099,6 +9505,26 @@ pub mod api { ], ) } + #[doc = " The maximum number of entries to keep in the set id to session index mapping."] + #[doc = ""] + #[doc = " Since the `SetIdSession` map is only used for validating equivocations this"] + #[doc = " value should relate to the bonding duration of whatever staking system is"] + #[doc = " being used (if any). If equivocation handling is not enabled then this value"] + #[doc = " can be zero."] + pub fn max_set_id_session_entries( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u64> { + ::subxt::constants::Address::new_static( + "Grandpa", + "MaxSetIdSessionEntries", + [ + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, + 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, + 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, + 246u8, + ], + ) + } } } } @@ -9112,40 +9538,40 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Heartbeat { - pub heartbeat: runtime_types::pallet_im_online::Heartbeat<::core::primitive::u32>, - pub signature: runtime_types::pallet_im_online::sr25519::app_sr25519::Signature, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Heartbeat { + pub heartbeat: + runtime_types::pallet_im_online::Heartbeat<::core::primitive::u32>, + pub signature: runtime_types::pallet_im_online::sr25519::app_sr25519::Signature, + } } pub struct TransactionApi; impl TransactionApi { - #[doc = "# "] - #[doc = "- Complexity: `O(K + E)` where K is length of `Keys` (heartbeat.validators_len) and E is"] - #[doc = " length of `heartbeat.network_state.external_address`"] + #[doc = "## Complexity:"] + #[doc = "- `O(K + E)` where K is length of `Keys` (heartbeat.validators_len) and E is length of"] + #[doc = " `heartbeat.network_state.external_address`"] #[doc = " - `O(K)`: decoding of length `K`"] #[doc = " - `O(E)`: decoding/encoding of length `E`"] - #[doc = "- DbReads: pallet_session `Validators`, pallet_session `CurrentIndex`, `Keys`,"] - #[doc = " `ReceivedHeartbeats`"] - #[doc = "- DbWrites: `ReceivedHeartbeats`"] - #[doc = "# "] pub fn heartbeat( &self, heartbeat: runtime_types::pallet_im_online::Heartbeat<::core::primitive::u32>, signature: runtime_types::pallet_im_online::sr25519::app_sr25519::Signature, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "ImOnline", "heartbeat", - Heartbeat { + types::Heartbeat { heartbeat, signature, }, @@ -9263,7 +9689,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< runtime_types::pallet_im_online::sr25519::app_sr25519::Public, >, ::subxt::storage::address::Yes, @@ -9429,259 +9855,276 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Propose { - pub proposal: runtime_types::frame_support::traits::preimages::Bounded< - runtime_types::polkadot_runtime::RuntimeCall, - >, - #[codec(compact)] - pub value: ::core::primitive::u128, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Second { - #[codec(compact)] - pub proposal: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Vote { - #[codec(compact)] - pub ref_index: ::core::primitive::u32, - pub vote: - runtime_types::pallet_democracy::vote::AccountVote<::core::primitive::u128>, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct EmergencyCancel { - pub ref_index: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ExternalPropose { - pub proposal: runtime_types::frame_support::traits::preimages::Bounded< - runtime_types::polkadot_runtime::RuntimeCall, - >, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ExternalProposeMajority { - pub proposal: runtime_types::frame_support::traits::preimages::Bounded< - runtime_types::polkadot_runtime::RuntimeCall, - >, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ExternalProposeDefault { - pub proposal: runtime_types::frame_support::traits::preimages::Bounded< - runtime_types::polkadot_runtime::RuntimeCall, - >, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct FastTrack { - pub proposal_hash: ::subxt::utils::H256, - pub voting_period: ::core::primitive::u32, - pub delay: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct VetoExternal { - pub proposal_hash: ::subxt::utils::H256, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CancelReferendum { - #[codec(compact)] - pub ref_index: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Delegate { - pub to: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub conviction: runtime_types::pallet_democracy::conviction::Conviction, - pub balance: ::core::primitive::u128, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Undelegate; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ClearPublicProposals; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Unlock { - pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RemoveVote { - pub index: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RemoveOtherVote { - pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub index: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Blacklist { - pub proposal_hash: ::subxt::utils::H256, - pub maybe_ref_index: ::core::option::Option<::core::primitive::u32>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CancelProposal { - #[codec(compact)] - pub prop_index: ::core::primitive::u32, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Propose { + pub proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::polkadot_runtime::RuntimeCall, + >, + #[codec(compact)] + pub value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Second { + #[codec(compact)] + pub proposal: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Vote { + #[codec(compact)] + pub ref_index: ::core::primitive::u32, + pub vote: + runtime_types::pallet_democracy::vote::AccountVote<::core::primitive::u128>, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct EmergencyCancel { + pub ref_index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ExternalPropose { + pub proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::polkadot_runtime::RuntimeCall, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ExternalProposeMajority { + pub proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::polkadot_runtime::RuntimeCall, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ExternalProposeDefault { + pub proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::polkadot_runtime::RuntimeCall, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct FastTrack { + pub proposal_hash: ::subxt::utils::H256, + pub voting_period: ::core::primitive::u32, + pub delay: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct VetoExternal { + pub proposal_hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CancelReferendum { + #[codec(compact)] + pub ref_index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Delegate { + pub to: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub conviction: runtime_types::pallet_democracy::conviction::Conviction, + pub balance: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Undelegate; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ClearPublicProposals; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Unlock { + pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveVote { + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveOtherVote { + pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Blacklist { + pub proposal_hash: ::subxt::utils::H256, + pub maybe_ref_index: ::core::option::Option<::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CancelProposal { + #[codec(compact)] + pub prop_index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMetadata { + pub owner: runtime_types::pallet_democracy::types::MetadataOwner, + pub maybe_hash: ::core::option::Option<::subxt::utils::H256>, + } } pub struct TransactionApi; impl TransactionApi { @@ -9700,11 +10143,11 @@ pub mod api { runtime_types::polkadot_runtime::RuntimeCall, >, value: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Democracy", "propose", - Propose { proposal, value }, + types::Propose { proposal, value }, [ 123u8, 3u8, 204u8, 140u8, 194u8, 195u8, 214u8, 39u8, 167u8, 126u8, 45u8, 4u8, 219u8, 17u8, 143u8, 185u8, 29u8, 224u8, 230u8, 68u8, 253u8, @@ -9721,11 +10164,11 @@ pub mod api { pub fn second( &self, proposal: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Democracy", "second", - Second { proposal }, + types::Second { proposal }, [ 59u8, 240u8, 183u8, 218u8, 61u8, 93u8, 184u8, 67u8, 10u8, 4u8, 138u8, 196u8, 168u8, 49u8, 42u8, 69u8, 154u8, 42u8, 90u8, 112u8, 179u8, 69u8, @@ -9746,11 +10189,11 @@ pub mod api { vote: runtime_types::pallet_democracy::vote::AccountVote< ::core::primitive::u128, >, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Democracy", "vote", - Vote { ref_index, vote }, + types::Vote { ref_index, vote }, [ 138u8, 213u8, 229u8, 111u8, 1u8, 191u8, 73u8, 3u8, 145u8, 28u8, 44u8, 88u8, 163u8, 188u8, 129u8, 188u8, 64u8, 15u8, 64u8, 103u8, 250u8, 97u8, @@ -9769,11 +10212,11 @@ pub mod api { pub fn emergency_cancel( &self, ref_index: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Democracy", "emergency_cancel", - EmergencyCancel { ref_index }, + types::EmergencyCancel { ref_index }, [ 139u8, 213u8, 133u8, 75u8, 34u8, 206u8, 124u8, 245u8, 35u8, 237u8, 132u8, 92u8, 49u8, 167u8, 117u8, 80u8, 188u8, 93u8, 198u8, 237u8, @@ -9793,11 +10236,11 @@ pub mod api { proposal: runtime_types::frame_support::traits::preimages::Bounded< runtime_types::polkadot_runtime::RuntimeCall, >, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Democracy", "external_propose", - ExternalPropose { proposal }, + types::ExternalPropose { proposal }, [ 164u8, 193u8, 14u8, 122u8, 105u8, 232u8, 20u8, 194u8, 99u8, 227u8, 36u8, 105u8, 218u8, 146u8, 16u8, 208u8, 56u8, 62u8, 100u8, 65u8, 35u8, @@ -9821,11 +10264,11 @@ pub mod api { proposal: runtime_types::frame_support::traits::preimages::Bounded< runtime_types::polkadot_runtime::RuntimeCall, >, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Democracy", "external_propose_majority", - ExternalProposeMajority { proposal }, + types::ExternalProposeMajority { proposal }, [ 129u8, 124u8, 147u8, 253u8, 69u8, 115u8, 230u8, 186u8, 155u8, 4u8, 220u8, 103u8, 28u8, 132u8, 115u8, 153u8, 196u8, 88u8, 9u8, 130u8, @@ -9850,11 +10293,11 @@ pub mod api { proposal: runtime_types::frame_support::traits::preimages::Bounded< runtime_types::polkadot_runtime::RuntimeCall, >, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Democracy", "external_propose_default", - ExternalProposeDefault { proposal }, + types::ExternalProposeDefault { proposal }, [ 96u8, 15u8, 108u8, 208u8, 141u8, 247u8, 4u8, 73u8, 2u8, 30u8, 231u8, 40u8, 184u8, 250u8, 42u8, 161u8, 248u8, 45u8, 217u8, 50u8, 53u8, 13u8, @@ -9883,11 +10326,11 @@ pub mod api { proposal_hash: ::subxt::utils::H256, voting_period: ::core::primitive::u32, delay: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Democracy", "fast_track", - FastTrack { + types::FastTrack { proposal_hash, voting_period, delay, @@ -9911,11 +10354,11 @@ pub mod api { pub fn veto_external( &self, proposal_hash: ::subxt::utils::H256, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Democracy", "veto_external", - VetoExternal { proposal_hash }, + types::VetoExternal { proposal_hash }, [ 209u8, 18u8, 18u8, 103u8, 186u8, 160u8, 214u8, 124u8, 150u8, 207u8, 112u8, 90u8, 84u8, 197u8, 95u8, 157u8, 165u8, 65u8, 109u8, 101u8, 75u8, @@ -9934,11 +10377,11 @@ pub mod api { pub fn cancel_referendum( &self, ref_index: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Democracy", "cancel_referendum", - CancelReferendum { ref_index }, + types::CancelReferendum { ref_index }, [ 51u8, 25u8, 25u8, 251u8, 236u8, 115u8, 130u8, 230u8, 72u8, 186u8, 119u8, 71u8, 165u8, 137u8, 55u8, 167u8, 187u8, 128u8, 55u8, 8u8, 212u8, @@ -9972,11 +10415,11 @@ pub mod api { to: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, conviction: runtime_types::pallet_democracy::conviction::Conviction, balance: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Democracy", "delegate", - Delegate { + types::Delegate { to, conviction, balance, @@ -10001,11 +10444,11 @@ pub mod api { #[doc = ""] #[doc = "Weight: `O(R)` where R is the number of referendums the voter delegating to has"] #[doc = " voted on. Weight is charged as if maximum votes."] - pub fn undelegate(&self) -> ::subxt::tx::Payload { + pub fn undelegate(&self) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Democracy", "undelegate", - Undelegate {}, + types::Undelegate {}, [ 165u8, 40u8, 183u8, 209u8, 57u8, 153u8, 111u8, 29u8, 114u8, 109u8, 107u8, 235u8, 97u8, 61u8, 53u8, 155u8, 44u8, 245u8, 28u8, 220u8, 56u8, @@ -10019,11 +10462,13 @@ pub mod api { #[doc = "The dispatch origin of this call must be _Root_."] #[doc = ""] #[doc = "Weight: `O(1)`."] - pub fn clear_public_proposals(&self) -> ::subxt::tx::Payload { + pub fn clear_public_proposals( + &self, + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Democracy", "clear_public_proposals", - ClearPublicProposals {}, + types::ClearPublicProposals {}, [ 59u8, 126u8, 254u8, 223u8, 252u8, 225u8, 75u8, 185u8, 188u8, 181u8, 42u8, 179u8, 211u8, 73u8, 12u8, 141u8, 243u8, 197u8, 46u8, 130u8, @@ -10042,11 +10487,11 @@ pub mod api { pub fn unlock( &self, target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Democracy", "unlock", - Unlock { target }, + types::Unlock { target }, [ 126u8, 151u8, 230u8, 89u8, 49u8, 247u8, 242u8, 139u8, 190u8, 15u8, 47u8, 2u8, 132u8, 165u8, 48u8, 205u8, 196u8, 66u8, 230u8, 222u8, 164u8, @@ -10084,11 +10529,11 @@ pub mod api { pub fn remove_vote( &self, index: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Democracy", "remove_vote", - RemoveVote { index }, + types::RemoveVote { index }, [ 148u8, 120u8, 14u8, 172u8, 81u8, 152u8, 159u8, 178u8, 106u8, 244u8, 36u8, 98u8, 120u8, 189u8, 213u8, 93u8, 119u8, 156u8, 112u8, 34u8, @@ -10116,11 +10561,11 @@ pub mod api { &self, target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, index: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Democracy", "remove_other_vote", - RemoveOtherVote { target, index }, + types::RemoveOtherVote { target, index }, [ 151u8, 190u8, 115u8, 124u8, 185u8, 43u8, 70u8, 147u8, 98u8, 167u8, 120u8, 25u8, 231u8, 143u8, 214u8, 25u8, 240u8, 74u8, 35u8, 58u8, 206u8, @@ -10147,11 +10592,11 @@ pub mod api { &self, proposal_hash: ::subxt::utils::H256, maybe_ref_index: ::core::option::Option<::core::primitive::u32>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Democracy", "blacklist", - Blacklist { + types::Blacklist { proposal_hash, maybe_ref_index, }, @@ -10173,11 +10618,11 @@ pub mod api { pub fn cancel_proposal( &self, prop_index: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Democracy", "cancel_proposal", - CancelProposal { prop_index }, + types::CancelProposal { prop_index }, [ 179u8, 3u8, 198u8, 244u8, 241u8, 124u8, 205u8, 58u8, 100u8, 80u8, 177u8, 254u8, 98u8, 220u8, 189u8, 63u8, 229u8, 60u8, 157u8, 83u8, @@ -10186,6 +10631,37 @@ pub mod api { ], ) } + #[doc = "Set or clear a metadata of a proposal or a referendum."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `origin`: Must correspond to the `MetadataOwner`."] + #[doc = " - `ExternalOrigin` for an external proposal with the `SuperMajorityApprove`"] + #[doc = " threshold."] + #[doc = " - `ExternalDefaultOrigin` for an external proposal with the `SuperMajorityAgainst`"] + #[doc = " threshold."] + #[doc = " - `ExternalMajorityOrigin` for an external proposal with the `SimpleMajority`"] + #[doc = " threshold."] + #[doc = " - `Signed` by a creator for a public proposal."] + #[doc = " - `Signed` to clear a metadata for a finished referendum."] + #[doc = " - `Root` to set a metadata for an ongoing referendum."] + #[doc = "- `owner`: an identifier of a metadata owner."] + #[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."] + pub fn set_metadata( + &self, + owner: runtime_types::pallet_democracy::types::MetadataOwner, + maybe_hash: ::core::option::Option<::subxt::utils::H256>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Democracy", + "set_metadata", + types::SetMetadata { owner, maybe_hash }, + [ + 182u8, 2u8, 168u8, 244u8, 247u8, 35u8, 65u8, 9u8, 39u8, 164u8, 30u8, + 141u8, 69u8, 137u8, 75u8, 156u8, 158u8, 107u8, 67u8, 28u8, 145u8, 65u8, + 175u8, 30u8, 254u8, 231u8, 4u8, 77u8, 207u8, 166u8, 157u8, 73u8, + ], + ) + } } } #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -10456,6 +10932,64 @@ pub mod api { const PALLET: &'static str = "Democracy"; const EVENT: &'static str = "ProposalCanceled"; } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Metadata for a proposal or a referendum has been set."] + pub struct MetadataSet { + pub owner: runtime_types::pallet_democracy::types::MetadataOwner, + pub hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for MetadataSet { + const PALLET: &'static str = "Democracy"; + const EVENT: &'static str = "MetadataSet"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Metadata for a proposal or a referendum has been cleared."] + pub struct MetadataCleared { + pub owner: runtime_types::pallet_democracy::types::MetadataOwner, + pub hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for MetadataCleared { + const PALLET: &'static str = "Democracy"; + const EVENT: &'static str = "MetadataCleared"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Metadata has been transferred to new owner."] + pub struct MetadataTransferred { + pub prev_owner: runtime_types::pallet_democracy::types::MetadataOwner, + pub owner: runtime_types::pallet_democracy::types::MetadataOwner, + pub hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for MetadataTransferred { + const PALLET: &'static str = "Democracy"; + const EVENT: &'static str = "MetadataTransferred"; + } } pub mod storage { use super::runtime_types; @@ -10488,7 +11022,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + runtime_types::bounded_collections::bounded_vec::BoundedVec<( ::core::primitive::u32, runtime_types::frame_support::traits::preimages::Bounded< runtime_types::polkadot_runtime::RuntimeCall, @@ -10520,7 +11054,7 @@ pub mod api { ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, ( - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::subxt::utils::AccountId32, >, ::core::primitive::u128, @@ -10550,7 +11084,7 @@ pub mod api { ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, ( - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::subxt::utils::AccountId32, >, ::core::primitive::u128, @@ -10797,7 +11331,7 @@ pub mod api { ::subxt::storage::address::StaticStorageMapKey, ( ::core::primitive::u32, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::subxt::utils::AccountId32, >, ), @@ -10827,7 +11361,7 @@ pub mod api { ::subxt::storage::address::StaticStorageMapKey, ( ::core::primitive::u32, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::subxt::utils::AccountId32, >, ), @@ -10894,6 +11428,65 @@ pub mod api { ], ) } + #[doc = " General information concerning any proposal or referendum."] + #[doc = " The `PreimageHash` refers to the preimage of the `Preimages` provider which can be a JSON"] + #[doc = " dump or IPFS hash of a JSON file."] + #[doc = ""] + #[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"] + #[doc = " large preimages."] + pub fn metadata_of( + &self, + _0: impl ::std::borrow::Borrow< + runtime_types::pallet_democracy::types::MetadataOwner, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::H256, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Democracy", + "MetadataOf", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 157u8, 252u8, 120u8, 151u8, 76u8, 82u8, 189u8, 77u8, 196u8, 65u8, + 113u8, 138u8, 138u8, 57u8, 199u8, 136u8, 22u8, 35u8, 114u8, 144u8, + 172u8, 42u8, 130u8, 19u8, 19u8, 245u8, 76u8, 177u8, 145u8, 146u8, + 107u8, 23u8, + ], + ) + } + #[doc = " General information concerning any proposal or referendum."] + #[doc = " The `PreimageHash` refers to the preimage of the `Preimages` provider which can be a JSON"] + #[doc = " dump or IPFS hash of a JSON file."] + #[doc = ""] + #[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"] + #[doc = " large preimages."] + pub fn metadata_of_root( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::H256, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Democracy", + "MetadataOf", + Vec::new(), + [ + 157u8, 252u8, 120u8, 151u8, 76u8, 82u8, 189u8, 77u8, 196u8, 65u8, + 113u8, 138u8, 138u8, 57u8, 199u8, 136u8, 22u8, 35u8, 114u8, 144u8, + 172u8, 42u8, 130u8, 19u8, 19u8, 245u8, 76u8, 177u8, 145u8, 146u8, + 107u8, 23u8, + ], + ) + } } } pub mod constants { @@ -11093,118 +11686,102 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetMembers { - pub new_members: ::std::vec::Vec<::subxt::utils::AccountId32>, - pub prime: ::core::option::Option<::subxt::utils::AccountId32>, - pub old_count: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Execute { - pub proposal: ::std::boxed::Box, - #[codec(compact)] - pub length_bound: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Propose { - #[codec(compact)] - pub threshold: ::core::primitive::u32, - pub proposal: ::std::boxed::Box, - #[codec(compact)] - pub length_bound: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Vote { - pub proposal: ::subxt::utils::H256, - #[codec(compact)] - pub index: ::core::primitive::u32, - pub approve: ::core::primitive::bool, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CloseOldWeight { - pub proposal_hash: ::subxt::utils::H256, - #[codec(compact)] - pub index: ::core::primitive::u32, - #[codec(compact)] - pub proposal_weight_bound: runtime_types::sp_weights::OldWeight, - #[codec(compact)] - pub length_bound: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct DisapproveProposal { - pub proposal_hash: ::subxt::utils::H256, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Close { - pub proposal_hash: ::subxt::utils::H256, - #[codec(compact)] - pub index: ::core::primitive::u32, - pub proposal_weight_bound: runtime_types::sp_weights::weight_v2::Weight, - #[codec(compact)] - pub length_bound: ::core::primitive::u32, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMembers { + pub new_members: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub prime: ::core::option::Option<::subxt::utils::AccountId32>, + pub old_count: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Execute { + pub proposal: ::std::boxed::Box, + #[codec(compact)] + pub length_bound: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Propose { + #[codec(compact)] + pub threshold: ::core::primitive::u32, + pub proposal: ::std::boxed::Box, + #[codec(compact)] + pub length_bound: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Vote { + pub proposal: ::subxt::utils::H256, + #[codec(compact)] + pub index: ::core::primitive::u32, + pub approve: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DisapproveProposal { + pub proposal_hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Close { + pub proposal_hash: ::subxt::utils::H256, + #[codec(compact)] + pub index: ::core::primitive::u32, + pub proposal_weight_bound: runtime_types::sp_weights::weight_v2::Weight, + #[codec(compact)] + pub length_bound: ::core::primitive::u32, + } } pub struct TransactionApi; impl TransactionApi { @@ -11215,7 +11792,7 @@ pub mod api { #[doc = "- `old_count`: The upper bound for the previous number of members in storage. Used for"] #[doc = " weight estimation."] #[doc = ""] - #[doc = "Requires root origin."] + #[doc = "The dispatch of this call must be `SetMembersOrigin`."] #[doc = ""] #[doc = "NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but"] #[doc = " the weight estimations rely on it to estimate dispatchable weight."] @@ -11227,29 +11804,21 @@ pub mod api { #[doc = "Any call to `set_members` must be careful that the member set doesn't get out of sync"] #[doc = "with other logic managing the member set."] #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] + #[doc = "## Complexity:"] #[doc = "- `O(MP + N)` where:"] #[doc = " - `M` old-members-count (code- and governance-bounded)"] #[doc = " - `N` new-members-count (code- and governance-bounded)"] #[doc = " - `P` proposals-count (code-bounded)"] - #[doc = "- DB:"] - #[doc = " - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the"] - #[doc = " members"] - #[doc = " - 1 storage read (codec `O(P)`) for reading the proposals"] - #[doc = " - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal"] - #[doc = " - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one"] - #[doc = "# "] pub fn set_members( &self, new_members: ::std::vec::Vec<::subxt::utils::AccountId32>, prime: ::core::option::Option<::subxt::utils::AccountId32>, old_count: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Council", "set_members", - SetMembers { + types::SetMembers { new_members, prime, old_count, @@ -11266,30 +11835,28 @@ pub mod api { #[doc = ""] #[doc = "Origin must be a member of the collective."] #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching"] - #[doc = " `proposal`"] - #[doc = "- DB: 1 read (codec `O(M)`) + DB access of `proposal`"] - #[doc = "- 1 event"] - #[doc = "# "] + #[doc = "## Complexity:"] + #[doc = "- `O(B + M + P)` where:"] + #[doc = "- `B` is `proposal` size in bytes (length-fee-bounded)"] + #[doc = "- `M` members-count (code-bounded)"] + #[doc = "- `P` complexity of dispatching `proposal`"] pub fn execute( &self, proposal: runtime_types::polkadot_runtime::RuntimeCall, length_bound: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Council", "execute", - Execute { + types::Execute { proposal: ::std::boxed::Box::new(proposal), length_bound, }, [ - 207u8, 108u8, 143u8, 240u8, 75u8, 66u8, 184u8, 27u8, 120u8, 174u8, - 60u8, 30u8, 179u8, 210u8, 21u8, 55u8, 253u8, 128u8, 255u8, 184u8, 36u8, - 121u8, 162u8, 148u8, 200u8, 98u8, 165u8, 193u8, 132u8, 20u8, 244u8, - 40u8, + 207u8, 27u8, 175u8, 137u8, 87u8, 176u8, 52u8, 110u8, 175u8, 212u8, + 118u8, 136u8, 200u8, 108u8, 251u8, 232u8, 201u8, 155u8, 93u8, 62u8, + 38u8, 186u8, 198u8, 52u8, 26u8, 45u8, 214u8, 101u8, 202u8, 106u8, 99u8, + 219u8, ], ) } @@ -11300,45 +11867,31 @@ pub mod api { #[doc = "`threshold` determines whether `proposal` is executed directly (`threshold < 2`)"] #[doc = "or put up for voting."] #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] + #[doc = "## Complexity"] #[doc = "- `O(B + M + P1)` or `O(B + M + P2)` where:"] #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] #[doc = " - `M` is members-count (code- and governance-bounded)"] #[doc = " - branching is influenced by `threshold` where:"] #[doc = " - `P1` is proposal execution complexity (`threshold < 2`)"] #[doc = " - `P2` is proposals-count (code-bounded) (`threshold >= 2`)"] - #[doc = "- DB:"] - #[doc = " - 1 storage read `is_member` (codec `O(M)`)"] - #[doc = " - 1 storage read `ProposalOf::contains_key` (codec `O(1)`)"] - #[doc = " - DB accesses influenced by `threshold`:"] - #[doc = " - EITHER storage accesses done by `proposal` (`threshold < 2`)"] - #[doc = " - OR proposal insertion (`threshold <= 2`)"] - #[doc = " - 1 storage mutation `Proposals` (codec `O(P2)`)"] - #[doc = " - 1 storage mutation `ProposalCount` (codec `O(1)`)"] - #[doc = " - 1 storage write `ProposalOf` (codec `O(B)`)"] - #[doc = " - 1 storage write `Voting` (codec `O(M)`)"] - #[doc = " - 1 event"] - #[doc = "# "] pub fn propose( &self, threshold: ::core::primitive::u32, proposal: runtime_types::polkadot_runtime::RuntimeCall, length_bound: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Council", "propose", - Propose { + types::Propose { threshold, proposal: ::std::boxed::Box::new(proposal), length_bound, }, [ - 185u8, 29u8, 21u8, 240u8, 194u8, 157u8, 44u8, 223u8, 201u8, 106u8, - 168u8, 104u8, 111u8, 7u8, 168u8, 17u8, 73u8, 188u8, 70u8, 235u8, 43u8, - 82u8, 236u8, 70u8, 236u8, 94u8, 68u8, 201u8, 201u8, 114u8, 236u8, - 197u8, + 254u8, 227u8, 169u8, 126u8, 6u8, 164u8, 171u8, 55u8, 56u8, 151u8, 88u8, + 86u8, 190u8, 117u8, 162u8, 67u8, 200u8, 76u8, 182u8, 147u8, 104u8, + 250u8, 42u8, 76u8, 60u8, 234u8, 210u8, 0u8, 74u8, 178u8, 164u8, 129u8, ], ) } @@ -11349,24 +11902,18 @@ pub mod api { #[doc = "Transaction fees will be waived if the member is voting on any particular proposal"] #[doc = "for the first time and the call is successful. Subsequent vote changes will charge a"] #[doc = "fee."] - #[doc = "# "] - #[doc = "## Weight"] + #[doc = "## Complexity"] #[doc = "- `O(M)` where `M` is members-count (code- and governance-bounded)"] - #[doc = "- DB:"] - #[doc = " - 1 storage read `Members` (codec `O(M)`)"] - #[doc = " - 1 storage mutation `Voting` (codec `O(M)`)"] - #[doc = "- 1 event"] - #[doc = "# "] pub fn vote( &self, proposal: ::subxt::utils::H256, index: ::core::primitive::u32, approve: ::core::primitive::bool, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Council", "vote", - Vote { + types::Vote { proposal, index, approve, @@ -11378,61 +11925,6 @@ pub mod api { ], ) } - #[doc = "Close a vote that is either approved, disapproved or whose voting period has ended."] - #[doc = ""] - #[doc = "May be called by any signed account in order to finish voting and close the proposal."] - #[doc = ""] - #[doc = "If called before the end of the voting period it will only close the vote if it is"] - #[doc = "has enough votes to be approved or disapproved."] - #[doc = ""] - #[doc = "If called after the end of the voting period abstentions are counted as rejections"] - #[doc = "unless there is a prime member set and the prime member cast an approval."] - #[doc = ""] - #[doc = "If the close operation completes successfully with disapproval, the transaction fee will"] - #[doc = "be waived. Otherwise execution of the approved operation will be charged to the caller."] - #[doc = ""] - #[doc = "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed"] - #[doc = "proposal."] - #[doc = "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via"] - #[doc = "`storage::read` so it is `size_of::() == 4` larger than the pure length."] - #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(B + M + P1 + P2)` where:"] - #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] - #[doc = " - `M` is members-count (code- and governance-bounded)"] - #[doc = " - `P1` is the complexity of `proposal` preimage."] - #[doc = " - `P2` is proposal-count (code-bounded)"] - #[doc = "- DB:"] - #[doc = " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)"] - #[doc = " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec"] - #[doc = " `O(P2)`)"] - #[doc = " - any mutations done while executing `proposal` (`P1`)"] - #[doc = "- up to 3 events"] - #[doc = "# "] - pub fn close_old_weight( - &self, - proposal_hash: ::subxt::utils::H256, - index: ::core::primitive::u32, - proposal_weight_bound: runtime_types::sp_weights::OldWeight, - length_bound: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Council", - "close_old_weight", - CloseOldWeight { - proposal_hash, - index, - proposal_weight_bound, - length_bound, - }, - [ - 133u8, 219u8, 90u8, 40u8, 102u8, 95u8, 4u8, 199u8, 45u8, 234u8, 109u8, - 17u8, 162u8, 63u8, 102u8, 186u8, 95u8, 182u8, 13u8, 123u8, 227u8, 20u8, - 186u8, 207u8, 12u8, 47u8, 87u8, 252u8, 244u8, 172u8, 60u8, 206u8, - ], - ) - } #[doc = "Disapprove a proposal, close, and remove it from the system, regardless of its current"] #[doc = "state."] #[doc = ""] @@ -11441,20 +11933,16 @@ pub mod api { #[doc = "Parameters:"] #[doc = "* `proposal_hash`: The hash of the proposal that should be disapproved."] #[doc = ""] - #[doc = "# "] - #[doc = "Complexity: O(P) where P is the number of max proposals"] - #[doc = "DB Weight:"] - #[doc = "* Reads: Proposals"] - #[doc = "* Writes: Voting, Proposals, ProposalOf"] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "O(P) where P is the number of max proposals"] pub fn disapprove_proposal( &self, proposal_hash: ::subxt::utils::H256, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Council", "disapprove_proposal", - DisapproveProposal { proposal_hash }, + types::DisapproveProposal { proposal_hash }, [ 25u8, 123u8, 1u8, 8u8, 74u8, 37u8, 3u8, 40u8, 97u8, 37u8, 175u8, 224u8, 72u8, 155u8, 123u8, 109u8, 104u8, 43u8, 91u8, 125u8, 199u8, 51u8, 17u8, @@ -11480,31 +11968,23 @@ pub mod api { #[doc = "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via"] #[doc = "`storage::read` so it is `size_of::() == 4` larger than the pure length."] #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] + #[doc = "## Complexity"] #[doc = "- `O(B + M + P1 + P2)` where:"] #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] #[doc = " - `M` is members-count (code- and governance-bounded)"] #[doc = " - `P1` is the complexity of `proposal` preimage."] #[doc = " - `P2` is proposal-count (code-bounded)"] - #[doc = "- DB:"] - #[doc = " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)"] - #[doc = " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec"] - #[doc = " `O(P2)`)"] - #[doc = " - any mutations done while executing `proposal` (`P1`)"] - #[doc = "- up to 3 events"] - #[doc = "# "] pub fn close( &self, proposal_hash: ::subxt::utils::H256, index: ::core::primitive::u32, proposal_weight_bound: runtime_types::sp_weights::weight_v2::Weight, length_bound: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Council", "close", - Close { + types::Close { proposal_hash, index, proposal_weight_bound, @@ -11672,7 +12152,9 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec<::subxt::utils::H256>, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::subxt::utils::H256, + >, ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, (), @@ -11707,10 +12189,9 @@ pub mod api { _0.borrow(), )], [ - 99u8, 114u8, 104u8, 38u8, 106u8, 3u8, 76u8, 17u8, 152u8, 13u8, 170u8, - 109u8, 232u8, 209u8, 208u8, 60u8, 216u8, 48u8, 170u8, 235u8, 241u8, - 25u8, 78u8, 92u8, 141u8, 251u8, 247u8, 253u8, 110u8, 183u8, 61u8, - 225u8, + 112u8, 100u8, 134u8, 22u8, 5u8, 252u8, 154u8, 197u8, 212u8, 0u8, 30u8, + 67u8, 152u8, 38u8, 106u8, 78u8, 241u8, 69u8, 252u8, 61u8, 156u8, 34u8, + 151u8, 254u8, 20u8, 47u8, 22u8, 70u8, 136u8, 146u8, 55u8, 120u8, ], ) } @@ -11729,10 +12210,9 @@ pub mod api { "ProposalOf", Vec::new(), [ - 99u8, 114u8, 104u8, 38u8, 106u8, 3u8, 76u8, 17u8, 152u8, 13u8, 170u8, - 109u8, 232u8, 209u8, 208u8, 60u8, 216u8, 48u8, 170u8, 235u8, 241u8, - 25u8, 78u8, 92u8, 141u8, 251u8, 247u8, 253u8, 110u8, 183u8, 61u8, - 225u8, + 112u8, 100u8, 134u8, 22u8, 5u8, 252u8, 154u8, 197u8, 212u8, 0u8, 30u8, + 67u8, 152u8, 38u8, 106u8, 78u8, 241u8, 69u8, 252u8, 61u8, 156u8, 34u8, + 151u8, 254u8, 20u8, 47u8, 22u8, 70u8, 136u8, 146u8, 55u8, 120u8, ], ) } @@ -11857,6 +12337,28 @@ pub mod api { } } } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The maximum weight of a dispatch call that can be proposed and executed."] + pub fn max_proposal_weight( + &self, + ) -> ::subxt::constants::Address + { + ::subxt::constants::Address::new_static( + "Council", + "MaxProposalWeight", + [ + 206u8, 61u8, 253u8, 247u8, 163u8, 40u8, 161u8, 52u8, 134u8, 140u8, + 206u8, 83u8, 44u8, 166u8, 226u8, 115u8, 181u8, 14u8, 227u8, 130u8, + 210u8, 32u8, 85u8, 29u8, 230u8, 97u8, 130u8, 165u8, 147u8, 134u8, + 106u8, 76u8, + ], + ) + } + } + } } pub mod technical_committee { use super::root_mod; @@ -11868,118 +12370,102 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetMembers { - pub new_members: ::std::vec::Vec<::subxt::utils::AccountId32>, - pub prime: ::core::option::Option<::subxt::utils::AccountId32>, - pub old_count: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Execute { - pub proposal: ::std::boxed::Box, - #[codec(compact)] - pub length_bound: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Propose { - #[codec(compact)] - pub threshold: ::core::primitive::u32, - pub proposal: ::std::boxed::Box, - #[codec(compact)] - pub length_bound: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Vote { - pub proposal: ::subxt::utils::H256, - #[codec(compact)] - pub index: ::core::primitive::u32, - pub approve: ::core::primitive::bool, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CloseOldWeight { - pub proposal_hash: ::subxt::utils::H256, - #[codec(compact)] - pub index: ::core::primitive::u32, - #[codec(compact)] - pub proposal_weight_bound: runtime_types::sp_weights::OldWeight, - #[codec(compact)] - pub length_bound: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct DisapproveProposal { - pub proposal_hash: ::subxt::utils::H256, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Close { - pub proposal_hash: ::subxt::utils::H256, - #[codec(compact)] - pub index: ::core::primitive::u32, - pub proposal_weight_bound: runtime_types::sp_weights::weight_v2::Weight, - #[codec(compact)] - pub length_bound: ::core::primitive::u32, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMembers { + pub new_members: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub prime: ::core::option::Option<::subxt::utils::AccountId32>, + pub old_count: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Execute { + pub proposal: ::std::boxed::Box, + #[codec(compact)] + pub length_bound: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Propose { + #[codec(compact)] + pub threshold: ::core::primitive::u32, + pub proposal: ::std::boxed::Box, + #[codec(compact)] + pub length_bound: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Vote { + pub proposal: ::subxt::utils::H256, + #[codec(compact)] + pub index: ::core::primitive::u32, + pub approve: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DisapproveProposal { + pub proposal_hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Close { + pub proposal_hash: ::subxt::utils::H256, + #[codec(compact)] + pub index: ::core::primitive::u32, + pub proposal_weight_bound: runtime_types::sp_weights::weight_v2::Weight, + #[codec(compact)] + pub length_bound: ::core::primitive::u32, + } } pub struct TransactionApi; impl TransactionApi { @@ -11990,7 +12476,7 @@ pub mod api { #[doc = "- `old_count`: The upper bound for the previous number of members in storage. Used for"] #[doc = " weight estimation."] #[doc = ""] - #[doc = "Requires root origin."] + #[doc = "The dispatch of this call must be `SetMembersOrigin`."] #[doc = ""] #[doc = "NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but"] #[doc = " the weight estimations rely on it to estimate dispatchable weight."] @@ -12002,29 +12488,21 @@ pub mod api { #[doc = "Any call to `set_members` must be careful that the member set doesn't get out of sync"] #[doc = "with other logic managing the member set."] #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] + #[doc = "## Complexity:"] #[doc = "- `O(MP + N)` where:"] #[doc = " - `M` old-members-count (code- and governance-bounded)"] #[doc = " - `N` new-members-count (code- and governance-bounded)"] #[doc = " - `P` proposals-count (code-bounded)"] - #[doc = "- DB:"] - #[doc = " - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the"] - #[doc = " members"] - #[doc = " - 1 storage read (codec `O(P)`) for reading the proposals"] - #[doc = " - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal"] - #[doc = " - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one"] - #[doc = "# "] pub fn set_members( &self, new_members: ::std::vec::Vec<::subxt::utils::AccountId32>, prime: ::core::option::Option<::subxt::utils::AccountId32>, old_count: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "TechnicalCommittee", "set_members", - SetMembers { + types::SetMembers { new_members, prime, old_count, @@ -12041,30 +12519,28 @@ pub mod api { #[doc = ""] #[doc = "Origin must be a member of the collective."] #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching"] - #[doc = " `proposal`"] - #[doc = "- DB: 1 read (codec `O(M)`) + DB access of `proposal`"] - #[doc = "- 1 event"] - #[doc = "# "] + #[doc = "## Complexity:"] + #[doc = "- `O(B + M + P)` where:"] + #[doc = "- `B` is `proposal` size in bytes (length-fee-bounded)"] + #[doc = "- `M` members-count (code-bounded)"] + #[doc = "- `P` complexity of dispatching `proposal`"] pub fn execute( &self, proposal: runtime_types::polkadot_runtime::RuntimeCall, length_bound: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "TechnicalCommittee", "execute", - Execute { + types::Execute { proposal: ::std::boxed::Box::new(proposal), length_bound, }, [ - 207u8, 108u8, 143u8, 240u8, 75u8, 66u8, 184u8, 27u8, 120u8, 174u8, - 60u8, 30u8, 179u8, 210u8, 21u8, 55u8, 253u8, 128u8, 255u8, 184u8, 36u8, - 121u8, 162u8, 148u8, 200u8, 98u8, 165u8, 193u8, 132u8, 20u8, 244u8, - 40u8, + 207u8, 27u8, 175u8, 137u8, 87u8, 176u8, 52u8, 110u8, 175u8, 212u8, + 118u8, 136u8, 200u8, 108u8, 251u8, 232u8, 201u8, 155u8, 93u8, 62u8, + 38u8, 186u8, 198u8, 52u8, 26u8, 45u8, 214u8, 101u8, 202u8, 106u8, 99u8, + 219u8, ], ) } @@ -12075,45 +12551,31 @@ pub mod api { #[doc = "`threshold` determines whether `proposal` is executed directly (`threshold < 2`)"] #[doc = "or put up for voting."] #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] + #[doc = "## Complexity"] #[doc = "- `O(B + M + P1)` or `O(B + M + P2)` where:"] #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] #[doc = " - `M` is members-count (code- and governance-bounded)"] #[doc = " - branching is influenced by `threshold` where:"] #[doc = " - `P1` is proposal execution complexity (`threshold < 2`)"] #[doc = " - `P2` is proposals-count (code-bounded) (`threshold >= 2`)"] - #[doc = "- DB:"] - #[doc = " - 1 storage read `is_member` (codec `O(M)`)"] - #[doc = " - 1 storage read `ProposalOf::contains_key` (codec `O(1)`)"] - #[doc = " - DB accesses influenced by `threshold`:"] - #[doc = " - EITHER storage accesses done by `proposal` (`threshold < 2`)"] - #[doc = " - OR proposal insertion (`threshold <= 2`)"] - #[doc = " - 1 storage mutation `Proposals` (codec `O(P2)`)"] - #[doc = " - 1 storage mutation `ProposalCount` (codec `O(1)`)"] - #[doc = " - 1 storage write `ProposalOf` (codec `O(B)`)"] - #[doc = " - 1 storage write `Voting` (codec `O(M)`)"] - #[doc = " - 1 event"] - #[doc = "# "] pub fn propose( &self, threshold: ::core::primitive::u32, proposal: runtime_types::polkadot_runtime::RuntimeCall, length_bound: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "TechnicalCommittee", "propose", - Propose { + types::Propose { threshold, proposal: ::std::boxed::Box::new(proposal), length_bound, }, [ - 185u8, 29u8, 21u8, 240u8, 194u8, 157u8, 44u8, 223u8, 201u8, 106u8, - 168u8, 104u8, 111u8, 7u8, 168u8, 17u8, 73u8, 188u8, 70u8, 235u8, 43u8, - 82u8, 236u8, 70u8, 236u8, 94u8, 68u8, 201u8, 201u8, 114u8, 236u8, - 197u8, + 254u8, 227u8, 169u8, 126u8, 6u8, 164u8, 171u8, 55u8, 56u8, 151u8, 88u8, + 86u8, 190u8, 117u8, 162u8, 67u8, 200u8, 76u8, 182u8, 147u8, 104u8, + 250u8, 42u8, 76u8, 60u8, 234u8, 210u8, 0u8, 74u8, 178u8, 164u8, 129u8, ], ) } @@ -12124,24 +12586,18 @@ pub mod api { #[doc = "Transaction fees will be waived if the member is voting on any particular proposal"] #[doc = "for the first time and the call is successful. Subsequent vote changes will charge a"] #[doc = "fee."] - #[doc = "# "] - #[doc = "## Weight"] + #[doc = "## Complexity"] #[doc = "- `O(M)` where `M` is members-count (code- and governance-bounded)"] - #[doc = "- DB:"] - #[doc = " - 1 storage read `Members` (codec `O(M)`)"] - #[doc = " - 1 storage mutation `Voting` (codec `O(M)`)"] - #[doc = "- 1 event"] - #[doc = "# "] pub fn vote( &self, proposal: ::subxt::utils::H256, index: ::core::primitive::u32, approve: ::core::primitive::bool, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "TechnicalCommittee", "vote", - Vote { + types::Vote { proposal, index, approve, @@ -12153,61 +12609,6 @@ pub mod api { ], ) } - #[doc = "Close a vote that is either approved, disapproved or whose voting period has ended."] - #[doc = ""] - #[doc = "May be called by any signed account in order to finish voting and close the proposal."] - #[doc = ""] - #[doc = "If called before the end of the voting period it will only close the vote if it is"] - #[doc = "has enough votes to be approved or disapproved."] - #[doc = ""] - #[doc = "If called after the end of the voting period abstentions are counted as rejections"] - #[doc = "unless there is a prime member set and the prime member cast an approval."] - #[doc = ""] - #[doc = "If the close operation completes successfully with disapproval, the transaction fee will"] - #[doc = "be waived. Otherwise execution of the approved operation will be charged to the caller."] - #[doc = ""] - #[doc = "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed"] - #[doc = "proposal."] - #[doc = "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via"] - #[doc = "`storage::read` so it is `size_of::() == 4` larger than the pure length."] - #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(B + M + P1 + P2)` where:"] - #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] - #[doc = " - `M` is members-count (code- and governance-bounded)"] - #[doc = " - `P1` is the complexity of `proposal` preimage."] - #[doc = " - `P2` is proposal-count (code-bounded)"] - #[doc = "- DB:"] - #[doc = " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)"] - #[doc = " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec"] - #[doc = " `O(P2)`)"] - #[doc = " - any mutations done while executing `proposal` (`P1`)"] - #[doc = "- up to 3 events"] - #[doc = "# "] - pub fn close_old_weight( - &self, - proposal_hash: ::subxt::utils::H256, - index: ::core::primitive::u32, - proposal_weight_bound: runtime_types::sp_weights::OldWeight, - length_bound: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "TechnicalCommittee", - "close_old_weight", - CloseOldWeight { - proposal_hash, - index, - proposal_weight_bound, - length_bound, - }, - [ - 133u8, 219u8, 90u8, 40u8, 102u8, 95u8, 4u8, 199u8, 45u8, 234u8, 109u8, - 17u8, 162u8, 63u8, 102u8, 186u8, 95u8, 182u8, 13u8, 123u8, 227u8, 20u8, - 186u8, 207u8, 12u8, 47u8, 87u8, 252u8, 244u8, 172u8, 60u8, 206u8, - ], - ) - } #[doc = "Disapprove a proposal, close, and remove it from the system, regardless of its current"] #[doc = "state."] #[doc = ""] @@ -12216,20 +12617,16 @@ pub mod api { #[doc = "Parameters:"] #[doc = "* `proposal_hash`: The hash of the proposal that should be disapproved."] #[doc = ""] - #[doc = "# "] - #[doc = "Complexity: O(P) where P is the number of max proposals"] - #[doc = "DB Weight:"] - #[doc = "* Reads: Proposals"] - #[doc = "* Writes: Voting, Proposals, ProposalOf"] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "O(P) where P is the number of max proposals"] pub fn disapprove_proposal( &self, proposal_hash: ::subxt::utils::H256, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "TechnicalCommittee", "disapprove_proposal", - DisapproveProposal { proposal_hash }, + types::DisapproveProposal { proposal_hash }, [ 25u8, 123u8, 1u8, 8u8, 74u8, 37u8, 3u8, 40u8, 97u8, 37u8, 175u8, 224u8, 72u8, 155u8, 123u8, 109u8, 104u8, 43u8, 91u8, 125u8, 199u8, 51u8, 17u8, @@ -12255,31 +12652,23 @@ pub mod api { #[doc = "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via"] #[doc = "`storage::read` so it is `size_of::() == 4` larger than the pure length."] #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] + #[doc = "## Complexity"] #[doc = "- `O(B + M + P1 + P2)` where:"] #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] #[doc = " - `M` is members-count (code- and governance-bounded)"] #[doc = " - `P1` is the complexity of `proposal` preimage."] #[doc = " - `P2` is proposal-count (code-bounded)"] - #[doc = "- DB:"] - #[doc = " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)"] - #[doc = " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec"] - #[doc = " `O(P2)`)"] - #[doc = " - any mutations done while executing `proposal` (`P1`)"] - #[doc = "- up to 3 events"] - #[doc = "# "] pub fn close( &self, proposal_hash: ::subxt::utils::H256, index: ::core::primitive::u32, proposal_weight_bound: runtime_types::sp_weights::weight_v2::Weight, length_bound: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "TechnicalCommittee", "close", - Close { + types::Close { proposal_hash, index, proposal_weight_bound, @@ -12447,7 +12836,9 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec<::subxt::utils::H256>, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::subxt::utils::H256, + >, ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, (), @@ -12482,10 +12873,9 @@ pub mod api { _0.borrow(), )], [ - 99u8, 114u8, 104u8, 38u8, 106u8, 3u8, 76u8, 17u8, 152u8, 13u8, 170u8, - 109u8, 232u8, 209u8, 208u8, 60u8, 216u8, 48u8, 170u8, 235u8, 241u8, - 25u8, 78u8, 92u8, 141u8, 251u8, 247u8, 253u8, 110u8, 183u8, 61u8, - 225u8, + 112u8, 100u8, 134u8, 22u8, 5u8, 252u8, 154u8, 197u8, 212u8, 0u8, 30u8, + 67u8, 152u8, 38u8, 106u8, 78u8, 241u8, 69u8, 252u8, 61u8, 156u8, 34u8, + 151u8, 254u8, 20u8, 47u8, 22u8, 70u8, 136u8, 146u8, 55u8, 120u8, ], ) } @@ -12504,10 +12894,9 @@ pub mod api { "ProposalOf", Vec::new(), [ - 99u8, 114u8, 104u8, 38u8, 106u8, 3u8, 76u8, 17u8, 152u8, 13u8, 170u8, - 109u8, 232u8, 209u8, 208u8, 60u8, 216u8, 48u8, 170u8, 235u8, 241u8, - 25u8, 78u8, 92u8, 141u8, 251u8, 247u8, 253u8, 110u8, 183u8, 61u8, - 225u8, + 112u8, 100u8, 134u8, 22u8, 5u8, 252u8, 154u8, 197u8, 212u8, 0u8, 30u8, + 67u8, 152u8, 38u8, 106u8, 78u8, 241u8, 69u8, 252u8, 61u8, 156u8, 34u8, + 151u8, 254u8, 20u8, 47u8, 22u8, 70u8, 136u8, 146u8, 55u8, 120u8, ], ) } @@ -12632,6 +13021,28 @@ pub mod api { } } } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The maximum weight of a dispatch call that can be proposed and executed."] + pub fn max_proposal_weight( + &self, + ) -> ::subxt::constants::Address + { + ::subxt::constants::Address::new_static( + "TechnicalCommittee", + "MaxProposalWeight", + [ + 206u8, 61u8, 253u8, 247u8, 163u8, 40u8, 161u8, 52u8, 134u8, 140u8, + 206u8, 83u8, 44u8, 166u8, 226u8, 115u8, 181u8, 14u8, 227u8, 130u8, + 210u8, 32u8, 85u8, 29u8, 230u8, 97u8, 130u8, 165u8, 147u8, 134u8, + 106u8, 76u8, + ], + ) + } + } + } } pub mod phragmen_election { use super::root_mod; @@ -12643,87 +13054,90 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Vote { - pub votes: ::std::vec::Vec<::subxt::utils::AccountId32>, - #[codec(compact)] - pub value: ::core::primitive::u128, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RemoveVoter; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SubmitCandidacy { - #[codec(compact)] - pub candidate_count: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RenounceCandidacy { - pub renouncing: runtime_types::pallet_elections_phragmen::Renouncing, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RemoveMember { - pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub slash_bond: ::core::primitive::bool, - pub rerun_election: ::core::primitive::bool, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CleanDefunctVoters { - pub num_voters: ::core::primitive::u32, - pub num_defunct: ::core::primitive::u32, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Vote { + pub votes: ::std::vec::Vec<::subxt::utils::AccountId32>, + #[codec(compact)] + pub value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveVoter; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SubmitCandidacy { + #[codec(compact)] + pub candidate_count: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RenounceCandidacy { + pub renouncing: runtime_types::pallet_elections_phragmen::Renouncing, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveMember { + pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub slash_bond: ::core::primitive::bool, + pub rerun_election: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CleanDefunctVoters { + pub num_voters: ::core::primitive::u32, + pub num_defunct: ::core::primitive::u32, + } } pub struct TransactionApi; impl TransactionApi { @@ -12746,19 +13160,15 @@ pub mod api { #[doc = ""] #[doc = "It is the responsibility of the caller to **NOT** place all of their balance into the"] #[doc = "lock and keep some for further operations."] - #[doc = ""] - #[doc = "# "] - #[doc = "We assume the maximum weight among all 3 cases: vote_equal, vote_more and vote_less."] - #[doc = "# "] pub fn vote( &self, votes: ::std::vec::Vec<::subxt::utils::AccountId32>, value: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "PhragmenElection", "vote", - Vote { votes, value }, + types::Vote { votes, value }, [ 71u8, 90u8, 175u8, 225u8, 51u8, 202u8, 197u8, 252u8, 183u8, 92u8, 239u8, 83u8, 112u8, 144u8, 128u8, 211u8, 109u8, 33u8, 252u8, 6u8, @@ -12772,11 +13182,11 @@ pub mod api { #[doc = "This removes the lock and returns the deposit."] #[doc = ""] #[doc = "The dispatch origin of this call must be signed and be a voter."] - pub fn remove_voter(&self) -> ::subxt::tx::Payload { + pub fn remove_voter(&self) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "PhragmenElection", "remove_voter", - RemoveVoter {}, + types::RemoveVoter {}, [ 254u8, 46u8, 140u8, 4u8, 218u8, 45u8, 150u8, 72u8, 67u8, 131u8, 108u8, 201u8, 46u8, 157u8, 104u8, 161u8, 53u8, 155u8, 130u8, 50u8, 88u8, @@ -12796,17 +13206,17 @@ pub mod api { #[doc = "Even if a candidate ends up being a member, they must call [`Call::renounce_candidacy`]"] #[doc = "to get their deposit back. Losing the spot in an election will always lead to a slash."] #[doc = ""] - #[doc = "# "] #[doc = "The number of current candidates must be provided as witness data."] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "O(C + log(C)) where C is candidate_count."] pub fn submit_candidacy( &self, candidate_count: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "PhragmenElection", "submit_candidacy", - SubmitCandidacy { candidate_count }, + types::SubmitCandidacy { candidate_count }, [ 228u8, 63u8, 217u8, 99u8, 128u8, 104u8, 175u8, 10u8, 30u8, 35u8, 47u8, 14u8, 254u8, 122u8, 146u8, 239u8, 61u8, 145u8, 82u8, 7u8, 181u8, 98u8, @@ -12828,18 +13238,20 @@ pub mod api { #[doc = " next round."] #[doc = ""] #[doc = "The dispatch origin of this call must be signed, and have one of the above roles."] - #[doc = ""] - #[doc = "# "] #[doc = "The type of renouncing must be provided as witness data."] - #[doc = "# "] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = " - Renouncing::Candidate(count): O(count + log(count))"] + #[doc = " - Renouncing::Member: O(1)"] + #[doc = " - Renouncing::RunnerUp: O(1)"] pub fn renounce_candidacy( &self, renouncing: runtime_types::pallet_elections_phragmen::Renouncing, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "PhragmenElection", "renounce_candidacy", - RenounceCandidacy { renouncing }, + types::RenounceCandidacy { renouncing }, [ 70u8, 72u8, 208u8, 36u8, 80u8, 245u8, 224u8, 75u8, 60u8, 142u8, 19u8, 49u8, 142u8, 90u8, 14u8, 69u8, 15u8, 61u8, 170u8, 235u8, 16u8, 252u8, @@ -12861,20 +13273,18 @@ pub mod api { #[doc = ""] #[doc = "Note that this does not affect the designated block number of the next election."] #[doc = ""] - #[doc = "# "] - #[doc = "If we have a replacement, we use a small weight. Else, since this is a root call and"] - #[doc = "will go into phragmen, we assume full block for now."] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- Check details of remove_and_replace_member() and do_phragmen()."] pub fn remove_member( &self, who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, slash_bond: ::core::primitive::bool, rerun_election: ::core::primitive::bool, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "PhragmenElection", "remove_member", - RemoveMember { + types::RemoveMember { who, slash_bond, rerun_election, @@ -12893,18 +13303,17 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin of this call must be root."] #[doc = ""] - #[doc = "# "] - #[doc = "The total number of voters and those that are defunct must be provided as witness data."] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- Check is_defunct_voter() details."] pub fn clean_defunct_voters( &self, num_voters: ::core::primitive::u32, num_defunct: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "PhragmenElection", "clean_defunct_voters", - CleanDefunctVoters { + types::CleanDefunctVoters { num_voters, num_defunct, }, @@ -13337,9 +13746,10 @@ pub mod api { } #[doc = " The maximum number of candidates in a phragmen election."] #[doc = ""] - #[doc = " Warning: The election happens onchain, and this value will determine"] - #[doc = " the size of the election. When this limit is reached no more"] - #[doc = " candidates are accepted in the election."] + #[doc = " Warning: This impacts the size of the election which is run onchain. Chose wisely, and"] + #[doc = " consider how it will impact `T::WeightInfo::election_phragmen`."] + #[doc = ""] + #[doc = " When this limit is reached no more candidates are accepted in the election."] pub fn max_candidates( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { @@ -13356,7 +13766,9 @@ pub mod api { } #[doc = " The maximum number of voters to allow in a phragmen election."] #[doc = ""] - #[doc = " Warning: This impacts the size of the election which is run onchain."] + #[doc = " Warning: This impacts the size of the election which is run onchain. Chose wisely, and"] + #[doc = " consider how it will impact `T::WeightInfo::election_phragmen`."] + #[doc = ""] #[doc = " When the limit is reached the new voters are ignored."] pub fn max_voters(&self) -> ::subxt::constants::Address<::core::primitive::u32> { ::subxt::constants::Address::new_static( @@ -13370,6 +13782,24 @@ pub mod api { ], ) } + #[doc = " Maximum numbers of votes per voter."] + #[doc = ""] + #[doc = " Warning: This impacts the size of the election which is run onchain. Chose wisely, and"] + #[doc = " consider how it will impact `T::WeightInfo::election_phragmen`."] + pub fn max_votes_per_voter( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "PhragmenElection", + "MaxVotesPerVoter", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } } } } @@ -13383,96 +13813,99 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AddMember { - pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AddMember { + pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveMember { + pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SwapMember { + pub remove: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub add: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ResetMembers { + pub members: ::std::vec::Vec<::subxt::utils::AccountId32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ChangeKey { + pub new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetPrime { + pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ClearPrime; } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RemoveMember { - pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SwapMember { - pub remove: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub add: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ResetMembers { - pub members: ::std::vec::Vec<::subxt::utils::AccountId32>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ChangeKey { - pub new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetPrime { - pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ClearPrime; pub struct TransactionApi; impl TransactionApi { #[doc = "Add a member `who` to the set."] @@ -13481,11 +13914,11 @@ pub mod api { pub fn add_member( &self, who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "TechnicalMembership", "add_member", - AddMember { who }, + types::AddMember { who }, [ 165u8, 116u8, 123u8, 50u8, 236u8, 196u8, 108u8, 211u8, 112u8, 214u8, 121u8, 105u8, 7u8, 88u8, 125u8, 99u8, 24u8, 0u8, 168u8, 65u8, 158u8, @@ -13500,11 +13933,11 @@ pub mod api { pub fn remove_member( &self, who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "TechnicalMembership", "remove_member", - RemoveMember { who }, + types::RemoveMember { who }, [ 177u8, 18u8, 217u8, 235u8, 254u8, 40u8, 137u8, 79u8, 146u8, 5u8, 55u8, 187u8, 129u8, 28u8, 54u8, 132u8, 115u8, 220u8, 132u8, 139u8, 91u8, @@ -13521,11 +13954,11 @@ pub mod api { &self, remove: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, add: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "TechnicalMembership", "swap_member", - SwapMember { remove, add }, + types::SwapMember { remove, add }, [ 96u8, 248u8, 50u8, 206u8, 192u8, 242u8, 162u8, 62u8, 28u8, 91u8, 11u8, 208u8, 15u8, 84u8, 188u8, 234u8, 219u8, 233u8, 200u8, 215u8, 157u8, @@ -13541,11 +13974,11 @@ pub mod api { pub fn reset_members( &self, members: ::std::vec::Vec<::subxt::utils::AccountId32>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "TechnicalMembership", "reset_members", - ResetMembers { members }, + types::ResetMembers { members }, [ 9u8, 35u8, 28u8, 59u8, 158u8, 232u8, 89u8, 78u8, 101u8, 53u8, 240u8, 98u8, 13u8, 104u8, 235u8, 161u8, 201u8, 150u8, 117u8, 32u8, 75u8, @@ -13561,11 +13994,11 @@ pub mod api { pub fn change_key( &self, new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "TechnicalMembership", "change_key", - ChangeKey { new }, + types::ChangeKey { new }, [ 27u8, 236u8, 241u8, 168u8, 98u8, 39u8, 176u8, 220u8, 145u8, 48u8, 173u8, 25u8, 179u8, 103u8, 170u8, 13u8, 166u8, 181u8, 131u8, 160u8, @@ -13580,11 +14013,11 @@ pub mod api { pub fn set_prime( &self, who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "TechnicalMembership", "set_prime", - SetPrime { who }, + types::SetPrime { who }, [ 0u8, 42u8, 111u8, 52u8, 151u8, 19u8, 239u8, 149u8, 183u8, 252u8, 87u8, 194u8, 145u8, 21u8, 245u8, 112u8, 221u8, 181u8, 87u8, 28u8, 48u8, 39u8, @@ -13595,11 +14028,11 @@ pub mod api { #[doc = "Remove the prime member if it exists."] #[doc = ""] #[doc = "May only be called from `T::PrimeOrigin`."] - pub fn clear_prime(&self) -> ::subxt::tx::Payload { + pub fn clear_prime(&self) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "TechnicalMembership", "clear_prime", - ClearPrime {}, + types::ClearPrime {}, [ 186u8, 182u8, 225u8, 90u8, 71u8, 124u8, 69u8, 100u8, 234u8, 25u8, 53u8, 23u8, 182u8, 32u8, 176u8, 81u8, 54u8, 140u8, 235u8, 126u8, 247u8, 7u8, @@ -13719,7 +14152,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::subxt::utils::AccountId32, >, ::subxt::storage::address::Yes, @@ -13772,77 +14205,80 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ProposeSpend { - #[codec(compact)] - pub value: ::core::primitive::u128, - pub beneficiary: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RejectProposal { - #[codec(compact)] - pub proposal_id: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ApproveProposal { - #[codec(compact)] - pub proposal_id: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Spend { - #[codec(compact)] - pub amount: ::core::primitive::u128, - pub beneficiary: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RemoveApproval { - #[codec(compact)] - pub proposal_id: ::core::primitive::u32, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ProposeSpend { + #[codec(compact)] + pub value: ::core::primitive::u128, + pub beneficiary: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RejectProposal { + #[codec(compact)] + pub proposal_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ApproveProposal { + #[codec(compact)] + pub proposal_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Spend { + #[codec(compact)] + pub amount: ::core::primitive::u128, + pub beneficiary: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveApproval { + #[codec(compact)] + pub proposal_id: ::core::primitive::u32, + } } pub struct TransactionApi; impl TransactionApi { @@ -13850,20 +14286,17 @@ pub mod api { #[doc = "is reserved and slashed if the proposal is rejected. It is returned once the"] #[doc = "proposal is awarded."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(1)"] - #[doc = "- DbReads: `ProposalCount`, `origin account`"] - #[doc = "- DbWrites: `ProposalCount`, `Proposals`, `origin account`"] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- O(1)"] pub fn propose_spend( &self, value: ::core::primitive::u128, beneficiary: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Treasury", "propose_spend", - ProposeSpend { value, beneficiary }, + types::ProposeSpend { value, beneficiary }, [ 109u8, 46u8, 8u8, 159u8, 127u8, 79u8, 27u8, 100u8, 92u8, 244u8, 78u8, 46u8, 105u8, 246u8, 169u8, 210u8, 149u8, 7u8, 108u8, 153u8, 203u8, @@ -13875,19 +14308,16 @@ pub mod api { #[doc = ""] #[doc = "May only be called from `T::RejectOrigin`."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(1)"] - #[doc = "- DbReads: `Proposals`, `rejected proposer account`"] - #[doc = "- DbWrites: `Proposals`, `rejected proposer account`"] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- O(1)"] pub fn reject_proposal( &self, proposal_id: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Treasury", "reject_proposal", - RejectProposal { proposal_id }, + types::RejectProposal { proposal_id }, [ 106u8, 223u8, 97u8, 22u8, 111u8, 208u8, 128u8, 26u8, 198u8, 140u8, 118u8, 126u8, 187u8, 51u8, 193u8, 50u8, 193u8, 68u8, 143u8, 144u8, @@ -13901,19 +14331,16 @@ pub mod api { #[doc = ""] #[doc = "May only be called from `T::ApproveOrigin`."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(1)."] - #[doc = "- DbReads: `Proposals`, `Approvals`"] - #[doc = "- DbWrite: `Approvals`"] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = " - O(1)."] pub fn approve_proposal( &self, proposal_id: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Treasury", "approve_proposal", - ApproveProposal { proposal_id }, + types::ApproveProposal { proposal_id }, [ 164u8, 229u8, 172u8, 98u8, 129u8, 62u8, 84u8, 128u8, 47u8, 108u8, 33u8, 120u8, 89u8, 79u8, 57u8, 121u8, 4u8, 197u8, 170u8, 153u8, 156u8, 17u8, @@ -13933,11 +14360,11 @@ pub mod api { &self, amount: ::core::primitive::u128, beneficiary: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Treasury", "spend", - Spend { + types::Spend { amount, beneficiary, }, @@ -13954,10 +14381,8 @@ pub mod api { #[doc = "May only be called from `T::RejectOrigin`."] #[doc = "- `proposal_id`: The index of a proposal"] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(A) where `A` is the number of approvals"] - #[doc = "- Db reads and writes: `Approvals`"] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- O(A) where `A` is the number of approvals"] #[doc = ""] #[doc = "Errors:"] #[doc = "- `ProposalNotApproved`: The `proposal_id` supplied was not found in the approval queue,"] @@ -13966,11 +14391,11 @@ pub mod api { pub fn remove_approval( &self, proposal_id: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Treasury", "remove_approval", - RemoveApproval { proposal_id }, + types::RemoveApproval { proposal_id }, [ 133u8, 126u8, 181u8, 47u8, 196u8, 243u8, 7u8, 46u8, 25u8, 251u8, 154u8, 125u8, 217u8, 77u8, 54u8, 245u8, 240u8, 180u8, 97u8, 34u8, 186u8, 53u8, @@ -14138,6 +14563,25 @@ pub mod api { const PALLET: &'static str = "Treasury"; const EVENT: &'static str = "SpendApproved"; } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The inactive funds of the pallet have been updated."] + pub struct UpdatedInactive { + pub reactivated: ::core::primitive::u128, + pub deactivated: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for UpdatedInactive { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "UpdatedInactive"; + } } pub mod storage { use super::runtime_types; @@ -14216,12 +14660,33 @@ pub mod api { ], ) } + #[doc = " The amount which has been reported as inactive to Currency."] + pub fn deactivated( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Treasury", + "Deactivated", + vec![], + [ + 159u8, 57u8, 5u8, 85u8, 136u8, 128u8, 70u8, 43u8, 67u8, 76u8, 123u8, + 206u8, 48u8, 253u8, 51u8, 40u8, 14u8, 35u8, 162u8, 173u8, 127u8, 79u8, + 38u8, 235u8, 9u8, 141u8, 201u8, 37u8, 211u8, 176u8, 119u8, 106u8, + ], + ) + } #[doc = " Proposal indices that have been approved but not yet awarded."] pub fn approvals( &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u32, >, ::subxt::storage::address::Yes, @@ -14353,6 +14818,1817 @@ pub mod api { } } } + pub mod conviction_voting { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_conviction_voting::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Vote { + #[codec(compact)] + pub poll_index: ::core::primitive::u32, + pub vote: runtime_types::pallet_conviction_voting::vote::AccountVote< + ::core::primitive::u128, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Delegate { + pub class: ::core::primitive::u16, + pub to: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub conviction: runtime_types::pallet_conviction_voting::conviction::Conviction, + pub balance: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Undelegate { + pub class: ::core::primitive::u16, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Unlock { + pub class: ::core::primitive::u16, + pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveVote { + pub class: ::core::option::Option<::core::primitive::u16>, + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveOtherVote { + pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub class: ::core::primitive::u16, + pub index: ::core::primitive::u32, + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal;"] + #[doc = "otherwise it is a vote to keep the status quo."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_."] + #[doc = ""] + #[doc = "- `poll_index`: The index of the poll to vote for."] + #[doc = "- `vote`: The vote configuration."] + #[doc = ""] + #[doc = "Weight: `O(R)` where R is the number of polls the voter has voted on."] + pub fn vote( + &self, + poll_index: ::core::primitive::u32, + vote: runtime_types::pallet_conviction_voting::vote::AccountVote< + ::core::primitive::u128, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ConvictionVoting", + "vote", + types::Vote { poll_index, vote }, + [ + 255u8, 8u8, 191u8, 166u8, 7u8, 48u8, 227u8, 0u8, 34u8, 109u8, 3u8, + 172u8, 168u8, 37u8, 220u8, 229u8, 88u8, 61u8, 117u8, 212u8, 131u8, + 124u8, 74u8, 60u8, 83u8, 62u8, 193u8, 66u8, 162u8, 121u8, 76u8, 180u8, + ], + ) + } + #[doc = "Delegate the voting power (with some given conviction) of the sending account for a"] + #[doc = "particular class of polls."] + #[doc = ""] + #[doc = "The balance delegated is locked for as long as it's delegated, and thereafter for the"] + #[doc = "time appropriate for the conviction's lock period."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_, and the signing account must either:"] + #[doc = " - be delegating already; or"] + #[doc = " - have no voting activity (if there is, then it will need to be removed/consolidated"] + #[doc = " through `reap_vote` or `unvote`)."] + #[doc = ""] + #[doc = "- `to`: The account whose voting the `target` account's voting power will follow."] + #[doc = "- `class`: The class of polls to delegate. To delegate multiple classes, multiple calls"] + #[doc = " to this function are required."] + #[doc = "- `conviction`: The conviction that will be attached to the delegated votes. When the"] + #[doc = " account is undelegated, the funds will be locked for the corresponding period."] + #[doc = "- `balance`: The amount of the account's balance to be used in delegating. This must not"] + #[doc = " be more than the account's current balance."] + #[doc = ""] + #[doc = "Emits `Delegated`."] + #[doc = ""] + #[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"] + #[doc = " voted on. Weight is initially charged as if maximum votes, but is refunded later."] + pub fn delegate( + &self, + class: ::core::primitive::u16, + to: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + conviction: runtime_types::pallet_conviction_voting::conviction::Conviction, + balance: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ConvictionVoting", + "delegate", + types::Delegate { + class, + to, + conviction, + balance, + }, + [ + 241u8, 83u8, 114u8, 135u8, 173u8, 98u8, 8u8, 2u8, 197u8, 164u8, 105u8, + 93u8, 87u8, 243u8, 54u8, 149u8, 10u8, 168u8, 199u8, 211u8, 102u8, + 176u8, 217u8, 244u8, 78u8, 211u8, 124u8, 133u8, 32u8, 28u8, 235u8, + 222u8, + ], + ) + } + #[doc = "Undelegate the voting power of the sending account for a particular class of polls."] + #[doc = ""] + #[doc = "Tokens may be unlocked following once an amount of time consistent with the lock period"] + #[doc = "of the conviction with which the delegation was issued has passed."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_ and the signing account must be"] + #[doc = "currently delegating."] + #[doc = ""] + #[doc = "- `class`: The class of polls to remove the delegation from."] + #[doc = ""] + #[doc = "Emits `Undelegated`."] + #[doc = ""] + #[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"] + #[doc = " voted on. Weight is initially charged as if maximum votes, but is refunded later."] + pub fn undelegate( + &self, + class: ::core::primitive::u16, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ConvictionVoting", + "undelegate", + types::Undelegate { class }, + [ + 0u8, 244u8, 151u8, 108u8, 96u8, 240u8, 126u8, 247u8, 29u8, 33u8, 25u8, + 34u8, 253u8, 207u8, 107u8, 227u8, 139u8, 64u8, 184u8, 112u8, 246u8, + 81u8, 201u8, 41u8, 32u8, 201u8, 194u8, 201u8, 4u8, 170u8, 40u8, 83u8, + ], + ) + } + #[doc = "Remove the lock caused by prior voting/delegating which has expired within a particular"] + #[doc = "class."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_."] + #[doc = ""] + #[doc = "- `class`: The class of polls to unlock."] + #[doc = "- `target`: The account to remove the lock on."] + #[doc = ""] + #[doc = "Weight: `O(R)` with R number of vote of target."] + pub fn unlock( + &self, + class: ::core::primitive::u16, + target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ConvictionVoting", + "unlock", + types::Unlock { class, target }, + [ + 130u8, 244u8, 207u8, 112u8, 194u8, 4u8, 121u8, 4u8, 59u8, 75u8, 168u8, + 246u8, 210u8, 249u8, 247u8, 242u8, 252u8, 28u8, 190u8, 93u8, 11u8, 8u8, + 234u8, 222u8, 22u8, 110u8, 182u8, 252u8, 82u8, 64u8, 74u8, 169u8, + ], + ) + } + #[doc = "Remove a vote for a poll."] + #[doc = ""] + #[doc = "If:"] + #[doc = "- the poll was cancelled, or"] + #[doc = "- the poll is ongoing, or"] + #[doc = "- the poll has ended such that"] + #[doc = " - the vote of the account was in opposition to the result; or"] + #[doc = " - there was no conviction to the account's vote; or"] + #[doc = " - the account made a split vote"] + #[doc = "...then the vote is removed cleanly and a following call to `unlock` may result in more"] + #[doc = "funds being available."] + #[doc = ""] + #[doc = "If, however, the poll has ended and:"] + #[doc = "- it finished corresponding to the vote of the account, and"] + #[doc = "- the account made a standard vote with conviction, and"] + #[doc = "- the lock period of the conviction is not over"] + #[doc = "...then the lock will be aggregated into the overall account's lock, which may involve"] + #[doc = "*overlocking* (where the two locks are combined into a single lock that is the maximum"] + #[doc = "of both the amount locked and the time is it locked for)."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_, and the signer must have a vote"] + #[doc = "registered for poll `index`."] + #[doc = ""] + #[doc = "- `index`: The index of poll of the vote to be removed."] + #[doc = "- `class`: Optional parameter, if given it indicates the class of the poll. For polls"] + #[doc = " which have finished or are cancelled, this must be `Some`."] + #[doc = ""] + #[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."] + #[doc = " Weight is calculated for the maximum number of vote."] + pub fn remove_vote( + &self, + class: ::core::option::Option<::core::primitive::u16>, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ConvictionVoting", + "remove_vote", + types::RemoveVote { class, index }, + [ + 151u8, 255u8, 135u8, 195u8, 137u8, 27u8, 116u8, 193u8, 245u8, 78u8, + 38u8, 130u8, 233u8, 28u8, 235u8, 50u8, 144u8, 191u8, 39u8, 68u8, 17u8, + 214u8, 25u8, 2u8, 120u8, 14u8, 219u8, 205u8, 59u8, 192u8, 125u8, 142u8, + ], + ) + } + #[doc = "Remove a vote for a poll."] + #[doc = ""] + #[doc = "If the `target` is equal to the signer, then this function is exactly equivalent to"] + #[doc = "`remove_vote`. If not equal to the signer, then the vote must have expired,"] + #[doc = "either because the poll was cancelled, because the voter lost the poll or"] + #[doc = "because the conviction period is over."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_."] + #[doc = ""] + #[doc = "- `target`: The account of the vote to be removed; this account must have voted for poll"] + #[doc = " `index`."] + #[doc = "- `index`: The index of poll of the vote to be removed."] + #[doc = "- `class`: The class of the poll."] + #[doc = ""] + #[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."] + #[doc = " Weight is calculated for the maximum number of vote."] + pub fn remove_other_vote( + &self, + target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + class: ::core::primitive::u16, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ConvictionVoting", + "remove_other_vote", + types::RemoveOtherVote { + target, + class, + index, + }, + [ + 0u8, 148u8, 112u8, 202u8, 220u8, 85u8, 1u8, 77u8, 199u8, 156u8, 47u8, + 38u8, 105u8, 128u8, 71u8, 108u8, 185u8, 231u8, 252u8, 132u8, 37u8, + 114u8, 211u8, 110u8, 142u8, 64u8, 80u8, 90u8, 138u8, 108u8, 59u8, 87u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_conviction_voting::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An account has delegated their vote to another account. \\[who, target\\]"] + pub struct Delegated( + pub ::subxt::utils::AccountId32, + pub ::subxt::utils::AccountId32, + ); + impl ::subxt::events::StaticEvent for Delegated { + const PALLET: &'static str = "ConvictionVoting"; + const EVENT: &'static str = "Delegated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An \\[account\\] has cancelled a previous delegation operation."] + pub struct Undelegated(pub ::subxt::utils::AccountId32); + impl ::subxt::events::StaticEvent for Undelegated { + const PALLET: &'static str = "ConvictionVoting"; + const EVENT: &'static str = "Undelegated"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " All voting for a particular voter in a particular voting class. We store the balance for the"] + #[doc = " number of votes that we have recorded."] + pub fn voting_for( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + _1: impl ::std::borrow::Borrow<::core::primitive::u16>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_conviction_voting::vote::Voting< + ::core::primitive::u128, + ::subxt::utils::AccountId32, + ::core::primitive::u32, + ::core::primitive::u32, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ConvictionVoting", + "VotingFor", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 45u8, 18u8, 71u8, 145u8, 31u8, 220u8, 221u8, 51u8, 69u8, 73u8, 153u8, + 139u8, 46u8, 231u8, 122u8, 15u8, 98u8, 186u8, 57u8, 121u8, 24u8, 241u8, + 161u8, 150u8, 252u8, 133u8, 65u8, 232u8, 21u8, 28u8, 25u8, 75u8, + ], + ) + } + #[doc = " All voting for a particular voter in a particular voting class. We store the balance for the"] + #[doc = " number of votes that we have recorded."] + pub fn voting_for_root( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_conviction_voting::vote::Voting< + ::core::primitive::u128, + ::subxt::utils::AccountId32, + ::core::primitive::u32, + ::core::primitive::u32, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ConvictionVoting", + "VotingFor", + Vec::new(), + [ + 45u8, 18u8, 71u8, 145u8, 31u8, 220u8, 221u8, 51u8, 69u8, 73u8, 153u8, + 139u8, 46u8, 231u8, 122u8, 15u8, 98u8, 186u8, 57u8, 121u8, 24u8, 241u8, + 161u8, 150u8, 252u8, 133u8, 65u8, 232u8, 21u8, 28u8, 25u8, 75u8, + ], + ) + } + #[doc = " The voting classes which have a non-zero lock requirement and the lock amounts which they"] + #[doc = " require. The actual amount locked on behalf of this pallet should always be the maximum of"] + #[doc = " this list."] + pub fn class_locks_for( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec<( + ::core::primitive::u16, + ::core::primitive::u128, + )>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ConvictionVoting", + "ClassLocksFor", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 65u8, 181u8, 225u8, 49u8, 35u8, 141u8, 185u8, 155u8, 124u8, 178u8, + 118u8, 51u8, 220u8, 232u8, 95u8, 24u8, 181u8, 135u8, 42u8, 207u8, + 103u8, 166u8, 244u8, 249u8, 106u8, 96u8, 177u8, 56u8, 243u8, 117u8, + 228u8, 145u8, + ], + ) + } + #[doc = " The voting classes which have a non-zero lock requirement and the lock amounts which they"] + #[doc = " require. The actual amount locked on behalf of this pallet should always be the maximum of"] + #[doc = " this list."] + pub fn class_locks_for_root( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec<( + ::core::primitive::u16, + ::core::primitive::u128, + )>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ConvictionVoting", + "ClassLocksFor", + Vec::new(), + [ + 65u8, 181u8, 225u8, 49u8, 35u8, 141u8, 185u8, 155u8, 124u8, 178u8, + 118u8, 51u8, 220u8, 232u8, 95u8, 24u8, 181u8, 135u8, 42u8, 207u8, + 103u8, 166u8, 244u8, 249u8, 106u8, 96u8, 177u8, 56u8, 243u8, 117u8, + 228u8, 145u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The maximum number of concurrent votes an account may have."] + #[doc = ""] + #[doc = " Also used to compute weight, an overly large value can lead to extrinsics with large"] + #[doc = " weight estimation: see `delegate` for instance."] + pub fn max_votes(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "ConvictionVoting", + "MaxVotes", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The minimum period of vote locking."] + #[doc = ""] + #[doc = " It should be no shorter than enactment period to ensure that in the case of an approval,"] + #[doc = " those successful voters are locked into the consequences that their votes entail."] + pub fn vote_locking_period( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "ConvictionVoting", + "VoteLockingPeriod", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod referenda { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_referenda::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Submit { + pub proposal_origin: + ::std::boxed::Box, + pub proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::polkadot_runtime::RuntimeCall, + >, + pub enactment_moment: + runtime_types::frame_support::traits::schedule::DispatchTime< + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PlaceDecisionDeposit { + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RefundDecisionDeposit { + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Cancel { + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Kill { + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct NudgeReferendum { + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct OneFewerDeciding { + pub track: ::core::primitive::u16, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RefundSubmissionDeposit { + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMetadata { + pub index: ::core::primitive::u32, + pub maybe_hash: ::core::option::Option<::subxt::utils::H256>, + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Propose a referendum on a privileged action."] + #[doc = ""] + #[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"] + #[doc = " available."] + #[doc = "- `proposal_origin`: The origin from which the proposal should be executed."] + #[doc = "- `proposal`: The proposal."] + #[doc = "- `enactment_moment`: The moment that the proposal should be enacted."] + #[doc = ""] + #[doc = "Emits `Submitted`."] + pub fn submit( + &self, + proposal_origin: runtime_types::polkadot_runtime::OriginCaller, + proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::polkadot_runtime::RuntimeCall, + >, + enactment_moment: runtime_types::frame_support::traits::schedule::DispatchTime< + ::core::primitive::u32, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Referenda", + "submit", + types::Submit { + proposal_origin: ::std::boxed::Box::new(proposal_origin), + proposal, + enactment_moment, + }, + [ + 213u8, 114u8, 86u8, 47u8, 165u8, 41u8, 216u8, 45u8, 93u8, 56u8, 92u8, + 228u8, 10u8, 88u8, 70u8, 82u8, 134u8, 252u8, 214u8, 45u8, 154u8, 150u8, + 221u8, 52u8, 235u8, 186u8, 47u8, 120u8, 221u8, 170u8, 29u8, 239u8, + ], + ) + } + #[doc = "Post the Decision Deposit for a referendum."] + #[doc = ""] + #[doc = "- `origin`: must be `Signed` and the account must have funds available for the"] + #[doc = " referendum's track's Decision Deposit."] + #[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"] + #[doc = " posted."] + #[doc = ""] + #[doc = "Emits `DecisionDepositPlaced`."] + pub fn place_decision_deposit( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Referenda", + "place_decision_deposit", + types::PlaceDecisionDeposit { index }, + [ + 118u8, 227u8, 8u8, 55u8, 41u8, 171u8, 244u8, 40u8, 164u8, 232u8, 119u8, + 129u8, 139u8, 123u8, 77u8, 70u8, 219u8, 236u8, 145u8, 159u8, 84u8, + 111u8, 36u8, 4u8, 206u8, 5u8, 139u8, 231u8, 11u8, 231u8, 6u8, 30u8, + ], + ) + } + #[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."] + #[doc = ""] + #[doc = "- `origin`: must be `Signed` or `Root`."] + #[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"] + #[doc = " refunded."] + #[doc = ""] + #[doc = "Emits `DecisionDepositRefunded`."] + pub fn refund_decision_deposit( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Referenda", + "refund_decision_deposit", + types::RefundDecisionDeposit { index }, + [ + 120u8, 116u8, 89u8, 51u8, 255u8, 76u8, 150u8, 74u8, 54u8, 93u8, 19u8, + 64u8, 13u8, 177u8, 144u8, 93u8, 132u8, 150u8, 244u8, 48u8, 202u8, + 223u8, 201u8, 130u8, 112u8, 167u8, 29u8, 207u8, 112u8, 181u8, 43u8, + 93u8, + ], + ) + } + #[doc = "Cancel an ongoing referendum."] + #[doc = ""] + #[doc = "- `origin`: must be the `CancelOrigin`."] + #[doc = "- `index`: The index of the referendum to be cancelled."] + #[doc = ""] + #[doc = "Emits `Cancelled`."] + pub fn cancel( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Referenda", + "cancel", + types::Cancel { index }, + [ + 247u8, 55u8, 146u8, 211u8, 168u8, 140u8, 248u8, 217u8, 218u8, 235u8, + 25u8, 39u8, 47u8, 132u8, 134u8, 18u8, 239u8, 70u8, 223u8, 50u8, 245u8, + 101u8, 97u8, 39u8, 226u8, 4u8, 196u8, 16u8, 66u8, 177u8, 178u8, 252u8, + ], + ) + } + #[doc = "Cancel an ongoing referendum and slash the deposits."] + #[doc = ""] + #[doc = "- `origin`: must be the `KillOrigin`."] + #[doc = "- `index`: The index of the referendum to be cancelled."] + #[doc = ""] + #[doc = "Emits `Killed` and `DepositSlashed`."] + pub fn kill( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Referenda", + "kill", + types::Kill { index }, + [ + 98u8, 109u8, 143u8, 42u8, 24u8, 80u8, 39u8, 243u8, 249u8, 141u8, 104u8, + 195u8, 29u8, 93u8, 149u8, 37u8, 27u8, 130u8, 84u8, 178u8, 246u8, 26u8, + 113u8, 224u8, 157u8, 94u8, 16u8, 14u8, 158u8, 80u8, 148u8, 198u8, + ], + ) + } + #[doc = "Advance a referendum onto its next logical state. Only used internally."] + #[doc = ""] + #[doc = "- `origin`: must be `Root`."] + #[doc = "- `index`: the referendum to be advanced."] + pub fn nudge_referendum( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Referenda", + "nudge_referendum", + types::NudgeReferendum { index }, + [ + 60u8, 221u8, 153u8, 136u8, 107u8, 209u8, 59u8, 178u8, 208u8, 170u8, + 10u8, 225u8, 213u8, 170u8, 228u8, 64u8, 204u8, 166u8, 7u8, 230u8, + 243u8, 15u8, 206u8, 114u8, 8u8, 128u8, 46u8, 150u8, 114u8, 241u8, + 112u8, 97u8, + ], + ) + } + #[doc = "Advance a track onto its next logical state. Only used internally."] + #[doc = ""] + #[doc = "- `origin`: must be `Root`."] + #[doc = "- `track`: the track to be advanced."] + #[doc = ""] + #[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"] + #[doc = "`DecidingCount` is not yet updated. This means that we should either:"] + #[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"] + #[doc = "- decrement `DecidingCount`."] + pub fn one_fewer_deciding( + &self, + track: ::core::primitive::u16, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Referenda", + "one_fewer_deciding", + types::OneFewerDeciding { track }, + [ + 239u8, 43u8, 70u8, 73u8, 77u8, 28u8, 75u8, 62u8, 29u8, 67u8, 110u8, + 120u8, 234u8, 236u8, 126u8, 99u8, 46u8, 183u8, 169u8, 16u8, 143u8, + 233u8, 137u8, 247u8, 138u8, 96u8, 32u8, 223u8, 149u8, 52u8, 214u8, + 195u8, + ], + ) + } + #[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."] + #[doc = ""] + #[doc = "- `origin`: must be `Signed` or `Root`."] + #[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"] + #[doc = " refunded."] + #[doc = ""] + #[doc = "Emits `SubmissionDepositRefunded`."] + pub fn refund_submission_deposit( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Referenda", + "refund_submission_deposit", + types::RefundSubmissionDeposit { index }, + [ + 101u8, 147u8, 237u8, 27u8, 220u8, 116u8, 73u8, 131u8, 191u8, 92u8, + 134u8, 31u8, 175u8, 172u8, 129u8, 225u8, 91u8, 33u8, 23u8, 132u8, 89u8, + 19u8, 81u8, 238u8, 133u8, 243u8, 56u8, 70u8, 143u8, 43u8, 176u8, 83u8, + ], + ) + } + #[doc = "Set or clear metadata of a referendum."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"] + #[doc = " metadata of a finished referendum."] + #[doc = "- `index`: The index of a referendum to set or clear metadata for."] + #[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."] + pub fn set_metadata( + &self, + index: ::core::primitive::u32, + maybe_hash: ::core::option::Option<::subxt::utils::H256>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Referenda", + "set_metadata", + types::SetMetadata { index, maybe_hash }, + [ + 235u8, 215u8, 66u8, 214u8, 157u8, 177u8, 233u8, 214u8, 103u8, 92u8, + 216u8, 228u8, 7u8, 123u8, 167u8, 225u8, 128u8, 16u8, 161u8, 102u8, + 217u8, 36u8, 80u8, 207u8, 137u8, 24u8, 219u8, 239u8, 42u8, 234u8, + 144u8, 133u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_referenda::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A referendum has been submitted."] + pub struct Submitted { + pub index: ::core::primitive::u32, + pub track: ::core::primitive::u16, + pub proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::polkadot_runtime::RuntimeCall, + >, + } + impl ::subxt::events::StaticEvent for Submitted { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "Submitted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The decision deposit has been placed."] + pub struct DecisionDepositPlaced { + pub index: ::core::primitive::u32, + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for DecisionDepositPlaced { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "DecisionDepositPlaced"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The decision deposit has been refunded."] + pub struct DecisionDepositRefunded { + pub index: ::core::primitive::u32, + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for DecisionDepositRefunded { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "DecisionDepositRefunded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A deposit has been slashaed."] + pub struct DepositSlashed { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for DepositSlashed { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "DepositSlashed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A referendum has moved into the deciding phase."] + pub struct DecisionStarted { + pub index: ::core::primitive::u32, + pub track: ::core::primitive::u16, + pub proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::polkadot_runtime::RuntimeCall, + >, + pub tally: + runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>, + } + impl ::subxt::events::StaticEvent for DecisionStarted { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "DecisionStarted"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ConfirmStarted { + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for ConfirmStarted { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "ConfirmStarted"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ConfirmAborted { + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for ConfirmAborted { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "ConfirmAborted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A referendum has ended its confirmation phase and is ready for approval."] + pub struct Confirmed { + pub index: ::core::primitive::u32, + pub tally: + runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>, + } + impl ::subxt::events::StaticEvent for Confirmed { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "Confirmed"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A referendum has been approved and its proposal has been scheduled."] + pub struct Approved { + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Approved { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "Approved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A proposal has been rejected by referendum."] + pub struct Rejected { + pub index: ::core::primitive::u32, + pub tally: + runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>, + } + impl ::subxt::events::StaticEvent for Rejected { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "Rejected"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A referendum has been timed out without being decided."] + pub struct TimedOut { + pub index: ::core::primitive::u32, + pub tally: + runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>, + } + impl ::subxt::events::StaticEvent for TimedOut { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "TimedOut"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A referendum has been cancelled."] + pub struct Cancelled { + pub index: ::core::primitive::u32, + pub tally: + runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>, + } + impl ::subxt::events::StaticEvent for Cancelled { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "Cancelled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A referendum has been killed."] + pub struct Killed { + pub index: ::core::primitive::u32, + pub tally: + runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>, + } + impl ::subxt::events::StaticEvent for Killed { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "Killed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The submission deposit has been refunded."] + pub struct SubmissionDepositRefunded { + pub index: ::core::primitive::u32, + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for SubmissionDepositRefunded { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "SubmissionDepositRefunded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Metadata for a referendum has been set."] + pub struct MetadataSet { + pub index: ::core::primitive::u32, + pub hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for MetadataSet { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "MetadataSet"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Metadata for a referendum has been cleared."] + pub struct MetadataCleared { + pub index: ::core::primitive::u32, + pub hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for MetadataCleared { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "MetadataCleared"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The next free referendum index, aka the number of referenda started so far."] + pub fn referendum_count( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Referenda", + "ReferendumCount", + vec![], + [ + 153u8, 210u8, 106u8, 244u8, 156u8, 70u8, 124u8, 251u8, 123u8, 75u8, + 7u8, 189u8, 199u8, 145u8, 95u8, 119u8, 137u8, 11u8, 240u8, 160u8, + 151u8, 248u8, 229u8, 231u8, 89u8, 222u8, 18u8, 237u8, 144u8, 78u8, + 99u8, 58u8, + ], + ) + } + #[doc = " Information concerning any given referendum."] + pub fn referendum_info_for( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_referenda::types::ReferendumInfo< + ::core::primitive::u16, + runtime_types::polkadot_runtime::OriginCaller, + ::core::primitive::u32, + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::polkadot_runtime::RuntimeCall, + >, + ::core::primitive::u128, + runtime_types::pallet_conviction_voting::types::Tally< + ::core::primitive::u128, + >, + ::subxt::utils::AccountId32, + (::core::primitive::u32, ::core::primitive::u32), + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Referenda", + "ReferendumInfoFor", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 180u8, 213u8, 110u8, 2u8, 75u8, 24u8, 34u8, 143u8, 56u8, 197u8, 106u8, + 105u8, 182u8, 118u8, 114u8, 242u8, 48u8, 85u8, 147u8, 22u8, 29u8, + 211u8, 246u8, 127u8, 217u8, 251u8, 208u8, 20u8, 9u8, 84u8, 53u8, 249u8, + ], + ) + } + #[doc = " Information concerning any given referendum."] + pub fn referendum_info_for_root( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_referenda::types::ReferendumInfo< + ::core::primitive::u16, + runtime_types::polkadot_runtime::OriginCaller, + ::core::primitive::u32, + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::polkadot_runtime::RuntimeCall, + >, + ::core::primitive::u128, + runtime_types::pallet_conviction_voting::types::Tally< + ::core::primitive::u128, + >, + ::subxt::utils::AccountId32, + (::core::primitive::u32, ::core::primitive::u32), + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Referenda", + "ReferendumInfoFor", + Vec::new(), + [ + 180u8, 213u8, 110u8, 2u8, 75u8, 24u8, 34u8, 143u8, 56u8, 197u8, 106u8, + 105u8, 182u8, 118u8, 114u8, 242u8, 48u8, 85u8, 147u8, 22u8, 29u8, + 211u8, 246u8, 127u8, 217u8, 251u8, 208u8, 20u8, 9u8, 84u8, 53u8, 249u8, + ], + ) + } + #[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"] + #[doc = " conviction-weighted approvals."] + #[doc = ""] + #[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."] + pub fn track_queue( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u16>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec<( + ::core::primitive::u32, + ::core::primitive::u128, + )>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Referenda", + "TrackQueue", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 254u8, 82u8, 183u8, 246u8, 168u8, 87u8, 175u8, 224u8, 192u8, 117u8, + 129u8, 244u8, 18u8, 18u8, 249u8, 30u8, 51u8, 133u8, 244u8, 117u8, + 194u8, 174u8, 99u8, 51u8, 155u8, 76u8, 206u8, 202u8, 109u8, 39u8, + 253u8, 240u8, + ], + ) + } + #[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"] + #[doc = " conviction-weighted approvals."] + #[doc = ""] + #[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."] + pub fn track_queue_root( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec<( + ::core::primitive::u32, + ::core::primitive::u128, + )>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Referenda", + "TrackQueue", + Vec::new(), + [ + 254u8, 82u8, 183u8, 246u8, 168u8, 87u8, 175u8, 224u8, 192u8, 117u8, + 129u8, 244u8, 18u8, 18u8, 249u8, 30u8, 51u8, 133u8, 244u8, 117u8, + 194u8, 174u8, 99u8, 51u8, 155u8, 76u8, 206u8, 202u8, 109u8, 39u8, + 253u8, 240u8, + ], + ) + } + #[doc = " The number of referenda being decided currently."] + pub fn deciding_count( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u16>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Referenda", + "DecidingCount", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 101u8, 153u8, 200u8, 225u8, 229u8, 227u8, 232u8, 26u8, 98u8, 60u8, + 60u8, 94u8, 204u8, 195u8, 193u8, 69u8, 50u8, 72u8, 31u8, 250u8, 224u8, + 179u8, 139u8, 207u8, 19u8, 156u8, 67u8, 234u8, 177u8, 223u8, 63u8, + 150u8, + ], + ) + } + #[doc = " The number of referenda being decided currently."] + pub fn deciding_count_root( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Referenda", + "DecidingCount", + Vec::new(), + [ + 101u8, 153u8, 200u8, 225u8, 229u8, 227u8, 232u8, 26u8, 98u8, 60u8, + 60u8, 94u8, 204u8, 195u8, 193u8, 69u8, 50u8, 72u8, 31u8, 250u8, 224u8, + 179u8, 139u8, 207u8, 19u8, 156u8, 67u8, 234u8, 177u8, 223u8, 63u8, + 150u8, + ], + ) + } + #[doc = " The metadata is a general information concerning the referendum."] + #[doc = " The `PreimageHash` refers to the preimage of the `Preimages` provider which can be a JSON"] + #[doc = " dump or IPFS hash of a JSON file."] + #[doc = ""] + #[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"] + #[doc = " large preimages."] + pub fn metadata_of( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::H256, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Referenda", + "MetadataOf", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 104u8, 255u8, 134u8, 120u8, 111u8, 124u8, 108u8, 232u8, 61u8, 47u8, + 251u8, 228u8, 50u8, 49u8, 125u8, 229u8, 254u8, 88u8, 215u8, 90u8, + 116u8, 145u8, 111u8, 72u8, 132u8, 91u8, 106u8, 207u8, 13u8, 104u8, + 164u8, 100u8, + ], + ) + } + #[doc = " The metadata is a general information concerning the referendum."] + #[doc = " The `PreimageHash` refers to the preimage of the `Preimages` provider which can be a JSON"] + #[doc = " dump or IPFS hash of a JSON file."] + #[doc = ""] + #[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"] + #[doc = " large preimages."] + pub fn metadata_of_root( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::H256, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Referenda", + "MetadataOf", + Vec::new(), + [ + 104u8, 255u8, 134u8, 120u8, 111u8, 124u8, 108u8, 232u8, 61u8, 47u8, + 251u8, 228u8, 50u8, 49u8, 125u8, 229u8, 254u8, 88u8, 215u8, 90u8, + 116u8, 145u8, 111u8, 72u8, 132u8, 91u8, 106u8, 207u8, 13u8, 104u8, + 164u8, 100u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The minimum amount to be used as a deposit for a public referendum proposal."] + pub fn submission_deposit( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "Referenda", + "SubmissionDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " Maximum size of the referendum queue for a single track."] + pub fn max_queued(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Referenda", + "MaxQueued", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The number of blocks after submission that a referendum must begin being decided by."] + #[doc = " Once this passes, then anyone may cancel the referendum."] + pub fn undeciding_timeout( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Referenda", + "UndecidingTimeout", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Quantization level for the referendum wakeup scheduler. A higher number will result in"] + #[doc = " fewer storage reads/writes needed for smaller voters, but also result in delays to the"] + #[doc = " automatic referendum status changes. Explicit servicing instructions are unaffected."] + pub fn alarm_interval( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Referenda", + "AlarmInterval", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Information concerning the different referendum tracks."] + pub fn tracks( + &self, + ) -> ::subxt::constants::Address< + ::std::vec::Vec<( + ::core::primitive::u16, + runtime_types::pallet_referenda::types::TrackInfo< + ::core::primitive::u128, + ::core::primitive::u32, + >, + )>, + > { + ::subxt::constants::Address::new_static( + "Referenda", + "Tracks", + [ + 71u8, 253u8, 246u8, 54u8, 168u8, 190u8, 182u8, 15u8, 207u8, 26u8, 50u8, + 138u8, 212u8, 124u8, 13u8, 203u8, 27u8, 35u8, 224u8, 1u8, 176u8, 192u8, + 197u8, 220u8, 147u8, 94u8, 196u8, 150u8, 125u8, 23u8, 48u8, 255u8, + ], + ) + } + } + } + } + pub mod whitelist { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_whitelist::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct WhitelistCall { + pub call_hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveWhitelistedCall { + pub call_hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DispatchWhitelistedCall { + pub call_hash: ::subxt::utils::H256, + pub call_encoded_len: ::core::primitive::u32, + pub call_weight_witness: runtime_types::sp_weights::weight_v2::Weight, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DispatchWhitelistedCallWithPreimage { + pub call: ::std::boxed::Box, + } + } + pub struct TransactionApi; + impl TransactionApi { + pub fn whitelist_call( + &self, + call_hash: ::subxt::utils::H256, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Whitelist", + "whitelist_call", + types::WhitelistCall { call_hash }, + [ + 21u8, 246u8, 244u8, 176u8, 163u8, 80u8, 45u8, 191u8, 3u8, 180u8, 150u8, + 66u8, 168u8, 3u8, 196u8, 129u8, 177u8, 104u8, 48u8, 5u8, 201u8, 208u8, + 226u8, 76u8, 148u8, 116u8, 206u8, 119u8, 145u8, 78u8, 86u8, 41u8, + ], + ) + } + pub fn remove_whitelisted_call( + &self, + call_hash: ::subxt::utils::H256, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Whitelist", + "remove_whitelisted_call", + types::RemoveWhitelistedCall { call_hash }, + [ + 142u8, 227u8, 198u8, 110u8, 90u8, 127u8, 218u8, 117u8, 181u8, 209u8, + 210u8, 86u8, 133u8, 95u8, 244u8, 64u8, 50u8, 240u8, 220u8, 50u8, 212u8, + 106u8, 4u8, 189u8, 2u8, 72u8, 96u8, 52u8, 187u8, 140u8, 144u8, 76u8, + ], + ) + } + pub fn dispatch_whitelisted_call( + &self, + call_hash: ::subxt::utils::H256, + call_encoded_len: ::core::primitive::u32, + call_weight_witness: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Whitelist", + "dispatch_whitelisted_call", + types::DispatchWhitelistedCall { + call_hash, + call_encoded_len, + call_weight_witness, + }, + [ + 243u8, 130u8, 216u8, 251u8, 131u8, 220u8, 75u8, 210u8, 203u8, 137u8, + 174u8, 95u8, 134u8, 252u8, 76u8, 33u8, 230u8, 185u8, 125u8, 15u8, + 200u8, 85u8, 46u8, 43u8, 34u8, 205u8, 245u8, 85u8, 46u8, 78u8, 245u8, + 135u8, + ], + ) + } + pub fn dispatch_whitelisted_call_with_preimage( + &self, + call: runtime_types::polkadot_runtime::RuntimeCall, + ) -> ::subxt::tx::Payload + { + ::subxt::tx::Payload::new_static( + "Whitelist", + "dispatch_whitelisted_call_with_preimage", + types::DispatchWhitelistedCallWithPreimage { + call: ::std::boxed::Box::new(call), + }, + [ + 123u8, 26u8, 93u8, 35u8, 214u8, 158u8, 129u8, 60u8, 147u8, 163u8, 50u8, + 19u8, 70u8, 25u8, 39u8, 205u8, 251u8, 178u8, 129u8, 202u8, 201u8, + 186u8, 27u8, 115u8, 129u8, 216u8, 139u8, 255u8, 104u8, 38u8, 41u8, + 66u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_whitelist::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CallWhitelisted { + pub call_hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for CallWhitelisted { + const PALLET: &'static str = "Whitelist"; + const EVENT: &'static str = "CallWhitelisted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct WhitelistedCallRemoved { + pub call_hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for WhitelistedCallRemoved { + const PALLET: &'static str = "Whitelist"; + const EVENT: &'static str = "WhitelistedCallRemoved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct WhitelistedCallDispatched { + pub call_hash: ::subxt::utils::H256, + pub result: ::core::result::Result< + runtime_types::frame_support::dispatch::PostDispatchInfo, + runtime_types::sp_runtime::DispatchErrorWithPostInfo< + runtime_types::frame_support::dispatch::PostDispatchInfo, + >, + >, + } + impl ::subxt::events::StaticEvent for WhitelistedCallDispatched { + const PALLET: &'static str = "Whitelist"; + const EVENT: &'static str = "WhitelistedCallDispatched"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + pub fn whitelisted_call( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + (), + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Whitelist", + "WhitelistedCall", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 251u8, 179u8, 58u8, 232u8, 231u8, 121u8, 89u8, 218u8, 90u8, 70u8, 96u8, + 132u8, 54u8, 41u8, 18u8, 129u8, 197u8, 122u8, 221u8, 206u8, 41u8, + 100u8, 200u8, 141u8, 71u8, 98u8, 3u8, 3u8, 112u8, 167u8, 196u8, 77u8, + ], + ) + } + pub fn whitelisted_call_root( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + (), + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Whitelist", + "WhitelistedCall", + Vec::new(), + [ + 251u8, 179u8, 58u8, 232u8, 231u8, 121u8, 89u8, 218u8, 90u8, 70u8, 96u8, + 132u8, 54u8, 41u8, 18u8, 129u8, 197u8, 122u8, 221u8, 206u8, 41u8, + 100u8, 200u8, 141u8, 71u8, 98u8, 3u8, 3u8, 112u8, 167u8, 196u8, 77u8, + ], + ) + } + } + } + } pub mod claims { use super::root_mod; use super::runtime_types; @@ -14363,86 +16639,89 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Claim { - pub dest: ::subxt::utils::AccountId32, - pub ethereum_signature: - runtime_types::polkadot_runtime_common::claims::EcdsaSignature, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct MintClaim { - pub who: runtime_types::polkadot_runtime_common::claims::EthereumAddress, - pub value: ::core::primitive::u128, - pub vesting_schedule: ::core::option::Option<( - ::core::primitive::u128, - ::core::primitive::u128, - ::core::primitive::u32, - )>, - pub statement: ::core::option::Option< - runtime_types::polkadot_runtime_common::claims::StatementKind, - >, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ClaimAttest { - pub dest: ::subxt::utils::AccountId32, - pub ethereum_signature: - runtime_types::polkadot_runtime_common::claims::EcdsaSignature, - pub statement: ::std::vec::Vec<::core::primitive::u8>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Attest { - pub statement: ::std::vec::Vec<::core::primitive::u8>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct MoveClaim { - pub old: runtime_types::polkadot_runtime_common::claims::EthereumAddress, - pub new: runtime_types::polkadot_runtime_common::claims::EthereumAddress, - pub maybe_preclaim: ::core::option::Option<::subxt::utils::AccountId32>, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Claim { + pub dest: ::subxt::utils::AccountId32, + pub ethereum_signature: + runtime_types::polkadot_runtime_common::claims::EcdsaSignature, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MintClaim { + pub who: runtime_types::polkadot_runtime_common::claims::EthereumAddress, + pub value: ::core::primitive::u128, + pub vesting_schedule: ::core::option::Option<( + ::core::primitive::u128, + ::core::primitive::u128, + ::core::primitive::u32, + )>, + pub statement: ::core::option::Option< + runtime_types::polkadot_runtime_common::claims::StatementKind, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ClaimAttest { + pub dest: ::subxt::utils::AccountId32, + pub ethereum_signature: + runtime_types::polkadot_runtime_common::claims::EcdsaSignature, + pub statement: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Attest { + pub statement: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MoveClaim { + pub old: runtime_types::polkadot_runtime_common::claims::EthereumAddress, + pub new: runtime_types::polkadot_runtime_common::claims::EthereumAddress, + pub maybe_preclaim: ::core::option::Option<::subxt::utils::AccountId32>, + } } pub struct TransactionApi; impl TransactionApi { @@ -14474,11 +16753,11 @@ pub mod api { &self, dest: ::subxt::utils::AccountId32, ethereum_signature : runtime_types :: polkadot_runtime_common :: claims :: EcdsaSignature, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Claims", "claim", - Claim { + types::Claim { dest, ethereum_signature, }, @@ -14516,11 +16795,11 @@ pub mod api { statement: ::core::option::Option< runtime_types::polkadot_runtime_common::claims::StatementKind, >, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Claims", "mint_claim", - MintClaim { + types::MintClaim { who, value, vesting_schedule, @@ -14564,11 +16843,11 @@ pub mod api { dest: ::subxt::utils::AccountId32, ethereum_signature : runtime_types :: polkadot_runtime_common :: claims :: EcdsaSignature, statement: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Claims", "claim_attest", - ClaimAttest { + types::ClaimAttest { dest, ethereum_signature, statement, @@ -14601,11 +16880,11 @@ pub mod api { pub fn attest( &self, statement: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Claims", "attest", - Attest { statement }, + types::Attest { statement }, [ 8u8, 218u8, 97u8, 237u8, 185u8, 61u8, 55u8, 4u8, 134u8, 18u8, 244u8, 226u8, 40u8, 97u8, 222u8, 246u8, 221u8, 74u8, 253u8, 22u8, 52u8, 223u8, @@ -14618,11 +16897,11 @@ pub mod api { old: runtime_types::polkadot_runtime_common::claims::EthereumAddress, new: runtime_types::polkadot_runtime_common::claims::EthereumAddress, maybe_preclaim: ::core::option::Option<::subxt::utils::AccountId32>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Claims", "move_claim", - MoveClaim { + types::MoveClaim { old, new, maybe_preclaim, @@ -14922,78 +17201,81 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Vest; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct VestOther { - pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct VestedTransfer { - pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo< - ::core::primitive::u128, - ::core::primitive::u32, - >, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceVestedTransfer { - pub source: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo< - ::core::primitive::u128, - ::core::primitive::u32, - >, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct MergeSchedules { - pub schedule1_index: ::core::primitive::u32, - pub schedule2_index: ::core::primitive::u32, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Vest; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct VestOther { + pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct VestedTransfer { + pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo< + ::core::primitive::u128, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceVestedTransfer { + pub source: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo< + ::core::primitive::u128, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MergeSchedules { + pub schedule1_index: ::core::primitive::u32, + pub schedule2_index: ::core::primitive::u32, + } } pub struct TransactionApi; impl TransactionApi { @@ -15004,17 +17286,13 @@ pub mod api { #[doc = ""] #[doc = "Emits either `VestingCompleted` or `VestingUpdated`."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(1)`."] - #[doc = "- DbWeight: 2 Reads, 2 Writes"] - #[doc = " - Reads: Vesting Storage, Balances Locks, [Sender Account]"] - #[doc = " - Writes: Vesting Storage, Balances Locks, [Sender Account]"] - #[doc = "# "] - pub fn vest(&self) -> ::subxt::tx::Payload { + pub fn vest(&self) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Vesting", "vest", - Vest {}, + types::Vest {}, [ 123u8, 54u8, 10u8, 208u8, 154u8, 24u8, 39u8, 166u8, 64u8, 27u8, 74u8, 29u8, 243u8, 97u8, 155u8, 5u8, 130u8, 155u8, 65u8, 181u8, 196u8, 125u8, @@ -15031,20 +17309,16 @@ pub mod api { #[doc = ""] #[doc = "Emits either `VestingCompleted` or `VestingUpdated`."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(1)`."] - #[doc = "- DbWeight: 3 Reads, 3 Writes"] - #[doc = " - Reads: Vesting Storage, Balances Locks, Target Account"] - #[doc = " - Writes: Vesting Storage, Balances Locks, Target Account"] - #[doc = "# "] pub fn vest_other( &self, target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Vesting", "vest_other", - VestOther { target }, + types::VestOther { target }, [ 164u8, 19u8, 93u8, 81u8, 235u8, 101u8, 18u8, 52u8, 187u8, 81u8, 243u8, 216u8, 116u8, 84u8, 188u8, 135u8, 1u8, 241u8, 128u8, 90u8, 117u8, @@ -15064,12 +17338,8 @@ pub mod api { #[doc = ""] #[doc = "NOTE: This will unlock all schedules through the current block."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(1)`."] - #[doc = "- DbWeight: 3 Reads, 3 Writes"] - #[doc = " - Reads: Vesting Storage, Balances Locks, Target Account, [Sender Account]"] - #[doc = " - Writes: Vesting Storage, Balances Locks, Target Account, [Sender Account]"] - #[doc = "# "] pub fn vested_transfer( &self, target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, @@ -15077,11 +17347,11 @@ pub mod api { ::core::primitive::u128, ::core::primitive::u32, >, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Vesting", "vested_transfer", - VestedTransfer { target, schedule }, + types::VestedTransfer { target, schedule }, [ 135u8, 172u8, 56u8, 97u8, 45u8, 141u8, 93u8, 173u8, 111u8, 252u8, 75u8, 246u8, 92u8, 181u8, 138u8, 87u8, 145u8, 174u8, 71u8, 108u8, 126u8, @@ -15102,12 +17372,8 @@ pub mod api { #[doc = ""] #[doc = "NOTE: This will unlock all schedules through the current block."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(1)`."] - #[doc = "- DbWeight: 4 Reads, 4 Writes"] - #[doc = " - Reads: Vesting Storage, Balances Locks, Target Account, Source Account"] - #[doc = " - Writes: Vesting Storage, Balances Locks, Target Account, Source Account"] - #[doc = "# "] pub fn force_vested_transfer( &self, source: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, @@ -15116,11 +17382,11 @@ pub mod api { ::core::primitive::u128, ::core::primitive::u32, >, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Vesting", "force_vested_transfer", - ForceVestedTransfer { + types::ForceVestedTransfer { source, target, schedule, @@ -15157,11 +17423,11 @@ pub mod api { &self, schedule1_index: ::core::primitive::u32, schedule2_index: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Vesting", "merge_schedules", - MergeSchedules { + types::MergeSchedules { schedule1_index, schedule2_index, }, @@ -15227,7 +17493,7 @@ pub mod api { _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< runtime_types::pallet_vesting::vesting_info::VestingInfo< ::core::primitive::u128, ::core::primitive::u32, @@ -15255,7 +17521,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< runtime_types::pallet_vesting::vesting_info::VestingInfo< ::core::primitive::u128, ::core::primitive::u32, @@ -15346,72 +17612,89 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Batch { - pub calls: ::std::vec::Vec, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AsDerivative { - pub index: ::core::primitive::u16, - pub call: ::std::boxed::Box, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct BatchAll { - pub calls: ::std::vec::Vec, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct DispatchAs { - pub as_origin: ::std::boxed::Box, - pub call: ::std::boxed::Box, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceBatch { - pub calls: ::std::vec::Vec, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Batch { + pub calls: ::std::vec::Vec, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AsDerivative { + pub index: ::core::primitive::u16, + pub call: ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BatchAll { + pub calls: ::std::vec::Vec, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DispatchAs { + pub as_origin: ::std::boxed::Box, + pub call: ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceBatch { + pub calls: ::std::vec::Vec, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct WithWeight { + pub call: ::std::boxed::Box, + pub weight: runtime_types::sp_weights::weight_v2::Weight, + } } pub struct TransactionApi; impl TransactionApi { @@ -15425,9 +17708,8 @@ pub mod api { #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"] #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- O(C) where C is the number of calls to be batched."] #[doc = ""] #[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"] #[doc = "event is deposited. If a call failed and the batch was interrupted, then the"] @@ -15437,16 +17719,15 @@ pub mod api { pub fn batch( &self, calls: ::std::vec::Vec, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Utility", "batch", - Batch { calls }, + types::Batch { calls }, [ - 243u8, 245u8, 145u8, 160u8, 31u8, 99u8, 157u8, 224u8, 164u8, 104u8, - 116u8, 163u8, 209u8, 121u8, 149u8, 251u8, 122u8, 66u8, 50u8, 7u8, - 190u8, 93u8, 155u8, 159u8, 70u8, 132u8, 23u8, 55u8, 47u8, 202u8, 146u8, - 168u8, + 12u8, 135u8, 86u8, 65u8, 103u8, 75u8, 121u8, 211u8, 245u8, 38u8, 169u8, + 197u8, 234u8, 144u8, 84u8, 134u8, 129u8, 181u8, 119u8, 60u8, 213u8, + 152u8, 51u8, 172u8, 5u8, 146u8, 191u8, 24u8, 95u8, 241u8, 231u8, 209u8, ], ) } @@ -15467,19 +17748,18 @@ pub mod api { &self, index: ::core::primitive::u16, call: runtime_types::polkadot_runtime::RuntimeCall, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Utility", "as_derivative", - AsDerivative { + types::AsDerivative { index, call: ::std::boxed::Box::new(call), }, [ - 93u8, 108u8, 41u8, 206u8, 109u8, 149u8, 77u8, 161u8, 27u8, 247u8, - 177u8, 201u8, 245u8, 248u8, 46u8, 53u8, 207u8, 62u8, 10u8, 174u8, - 240u8, 59u8, 186u8, 0u8, 197u8, 135u8, 181u8, 94u8, 1u8, 132u8, 60u8, - 233u8, + 89u8, 62u8, 73u8, 74u8, 166u8, 135u8, 73u8, 171u8, 138u8, 219u8, 165u8, + 15u8, 77u8, 52u8, 179u8, 117u8, 96u8, 118u8, 50u8, 56u8, 187u8, 159u8, + 9u8, 185u8, 58u8, 183u8, 31u8, 128u8, 108u8, 62u8, 102u8, 197u8, ], ) } @@ -15494,22 +17774,20 @@ pub mod api { #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"] #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- O(C) where C is the number of calls to be batched."] pub fn batch_all( &self, calls: ::std::vec::Vec, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Utility", "batch_all", - BatchAll { calls }, + types::BatchAll { calls }, [ - 234u8, 106u8, 151u8, 10u8, 11u8, 227u8, 168u8, 197u8, 187u8, 69u8, - 202u8, 14u8, 120u8, 94u8, 156u8, 128u8, 103u8, 185u8, 26u8, 181u8, - 146u8, 249u8, 108u8, 67u8, 142u8, 209u8, 140u8, 208u8, 2u8, 185u8, - 175u8, 223u8, + 126u8, 64u8, 7u8, 172u8, 174u8, 142u8, 40u8, 181u8, 203u8, 6u8, 157u8, + 178u8, 112u8, 250u8, 152u8, 101u8, 16u8, 93u8, 4u8, 39u8, 14u8, 180u8, + 217u8, 51u8, 19u8, 100u8, 77u8, 65u8, 50u8, 98u8, 183u8, 79u8, ], ) } @@ -15517,29 +17795,24 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin for this call must be _Root_."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- O(1)."] - #[doc = "- Limited storage reads."] - #[doc = "- One DB write (event)."] - #[doc = "- Weight of derivative `call` execution + T::WeightInfo::dispatch_as()."] - #[doc = "# "] pub fn dispatch_as( &self, as_origin: runtime_types::polkadot_runtime::OriginCaller, call: runtime_types::polkadot_runtime::RuntimeCall, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Utility", "dispatch_as", - DispatchAs { + types::DispatchAs { as_origin: ::std::boxed::Box::new(as_origin), call: ::std::boxed::Box::new(call), }, [ - 148u8, 0u8, 144u8, 26u8, 218u8, 140u8, 68u8, 101u8, 15u8, 56u8, 160u8, - 237u8, 202u8, 222u8, 125u8, 100u8, 209u8, 101u8, 159u8, 117u8, 218u8, - 192u8, 55u8, 235u8, 171u8, 54u8, 86u8, 206u8, 126u8, 188u8, 143u8, - 253u8, + 70u8, 103u8, 7u8, 7u8, 211u8, 56u8, 21u8, 249u8, 171u8, 126u8, 62u8, + 205u8, 184u8, 235u8, 35u8, 45u8, 101u8, 204u8, 176u8, 223u8, 38u8, + 15u8, 93u8, 189u8, 254u8, 195u8, 12u8, 157u8, 234u8, 96u8, 15u8, 50u8, ], ) } @@ -15554,22 +17827,45 @@ pub mod api { #[doc = "If origin is root then the calls are dispatch without checking origin filter. (This"] #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- O(C) where C is the number of calls to be batched."] pub fn force_batch( &self, calls: ::std::vec::Vec, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Utility", "force_batch", - ForceBatch { calls }, + types::ForceBatch { calls }, [ - 221u8, 22u8, 196u8, 62u8, 193u8, 137u8, 221u8, 234u8, 195u8, 7u8, - 133u8, 191u8, 243u8, 204u8, 109u8, 46u8, 94u8, 254u8, 31u8, 16u8, - 188u8, 65u8, 160u8, 80u8, 58u8, 202u8, 215u8, 11u8, 99u8, 31u8, 12u8, - 66u8, + 46u8, 245u8, 217u8, 95u8, 0u8, 142u8, 186u8, 62u8, 104u8, 197u8, 181u8, + 213u8, 218u8, 35u8, 75u8, 227u8, 67u8, 210u8, 215u8, 187u8, 5u8, 41u8, + 210u8, 165u8, 155u8, 35u8, 184u8, 71u8, 114u8, 184u8, 151u8, 82u8, + ], + ) + } + #[doc = "Dispatch a function call with a specified weight."] + #[doc = ""] + #[doc = "This function does not check the weight of the call, and instead allows the"] + #[doc = "Root origin to specify the weight of the call."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Root_."] + pub fn with_weight( + &self, + call: runtime_types::polkadot_runtime::RuntimeCall, + weight: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Utility", + "with_weight", + types::WithWeight { + call: ::std::boxed::Box::new(call), + weight, + }, + [ + 127u8, 67u8, 196u8, 63u8, 164u8, 121u8, 43u8, 61u8, 37u8, 147u8, 131u8, + 88u8, 217u8, 192u8, 202u8, 66u8, 93u8, 42u8, 210u8, 128u8, 227u8, 8u8, + 6u8, 93u8, 232u8, 26u8, 240u8, 67u8, 30u8, 152u8, 94u8, 153u8, ], ) } @@ -15716,220 +18012,224 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AddRegistrar { - pub account: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AddRegistrar { + pub account: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetIdentity { + pub info: + ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetSubs { + pub subs: ::std::vec::Vec<( + ::subxt::utils::AccountId32, + runtime_types::pallet_identity::types::Data, + )>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ClearIdentity; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RequestJudgement { + #[codec(compact)] + pub reg_index: ::core::primitive::u32, + #[codec(compact)] + pub max_fee: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CancelRequest { + pub reg_index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetFee { + #[codec(compact)] + pub index: ::core::primitive::u32, + #[codec(compact)] + pub fee: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetAccountId { + #[codec(compact)] + pub index: ::core::primitive::u32, + pub new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetFields { + #[codec(compact)] + pub index: ::core::primitive::u32, + pub fields: runtime_types::pallet_identity::types::BitFlags< + runtime_types::pallet_identity::types::IdentityField, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ProvideJudgement { + #[codec(compact)] + pub reg_index: ::core::primitive::u32, + pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub judgement: + runtime_types::pallet_identity::types::Judgement<::core::primitive::u128>, + pub identity: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct KillIdentity { + pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AddSub { + pub sub: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub data: runtime_types::pallet_identity::types::Data, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RenameSub { + pub sub: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub data: runtime_types::pallet_identity::types::Data, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveSub { + pub sub: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct QuitSub; } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetIdentity { - pub info: ::std::boxed::Box, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetSubs { - pub subs: ::std::vec::Vec<( - ::subxt::utils::AccountId32, - runtime_types::pallet_identity::types::Data, - )>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ClearIdentity; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RequestJudgement { - #[codec(compact)] - pub reg_index: ::core::primitive::u32, - #[codec(compact)] - pub max_fee: ::core::primitive::u128, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CancelRequest { - pub reg_index: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetFee { - #[codec(compact)] - pub index: ::core::primitive::u32, - #[codec(compact)] - pub fee: ::core::primitive::u128, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetAccountId { - #[codec(compact)] - pub index: ::core::primitive::u32, - pub new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetFields { - #[codec(compact)] - pub index: ::core::primitive::u32, - pub fields: runtime_types::pallet_identity::types::BitFlags< - runtime_types::pallet_identity::types::IdentityField, - >, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ProvideJudgement { - #[codec(compact)] - pub reg_index: ::core::primitive::u32, - pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub judgement: - runtime_types::pallet_identity::types::Judgement<::core::primitive::u128>, - pub identity: ::subxt::utils::H256, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct KillIdentity { - pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AddSub { - pub sub: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub data: runtime_types::pallet_identity::types::Data, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RenameSub { - pub sub: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub data: runtime_types::pallet_identity::types::Data, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RemoveSub { - pub sub: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct QuitSub; pub struct TransactionApi; impl TransactionApi { #[doc = "Add a registrar to the system."] @@ -15940,19 +18240,16 @@ pub mod api { #[doc = ""] #[doc = "Emits `RegistrarAdded` if successful."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(R)` where `R` registrar-count (governance-bounded and code-bounded)."] - #[doc = "- One storage mutation (codec `O(R)`)."] - #[doc = "- One event."] - #[doc = "# "] pub fn add_registrar( &self, account: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Identity", "add_registrar", - AddRegistrar { account }, + types::AddRegistrar { account }, [ 157u8, 232u8, 252u8, 190u8, 203u8, 233u8, 127u8, 63u8, 111u8, 16u8, 118u8, 200u8, 31u8, 234u8, 144u8, 111u8, 161u8, 224u8, 217u8, 86u8, @@ -15972,22 +18269,18 @@ pub mod api { #[doc = ""] #[doc = "Emits `IdentitySet` if successful."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(X + X' + R)`"] #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)"] #[doc = " - where `R` judgements-count (registrar-count-bounded)"] - #[doc = "- One balance reserve operation."] - #[doc = "- One storage mutation (codec-read `O(X' + R)`, codec-write `O(X + R)`)."] - #[doc = "- One event."] - #[doc = "# "] pub fn set_identity( &self, info: runtime_types::pallet_identity::types::IdentityInfo, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Identity", "set_identity", - SetIdentity { + types::SetIdentity { info: ::std::boxed::Box::new(info), }, [ @@ -16007,28 +18300,21 @@ pub mod api { #[doc = ""] #[doc = "- `subs`: The identity's (new) sub-accounts."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(P + S)`"] #[doc = " - where `P` old-subs-count (hard- and deposit-bounded)."] #[doc = " - where `S` subs-count (hard- and deposit-bounded)."] - #[doc = "- At most one balance operations."] - #[doc = "- DB:"] - #[doc = " - `P + S` storage mutations (codec complexity `O(1)`)"] - #[doc = " - One storage read (codec complexity `O(P)`)."] - #[doc = " - One storage write (codec complexity `O(S)`)."] - #[doc = " - One storage-exists (`IdentityOf::contains_key`)."] - #[doc = "# "] pub fn set_subs( &self, subs: ::std::vec::Vec<( ::subxt::utils::AccountId32, runtime_types::pallet_identity::types::Data, )>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Identity", "set_subs", - SetSubs { subs }, + types::SetSubs { subs }, [ 177u8, 219u8, 84u8, 183u8, 5u8, 32u8, 192u8, 82u8, 174u8, 68u8, 198u8, 224u8, 56u8, 85u8, 134u8, 171u8, 30u8, 132u8, 140u8, 236u8, 117u8, @@ -16046,20 +18332,16 @@ pub mod api { #[doc = ""] #[doc = "Emits `IdentityCleared` if successful."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(R + S + X)`"] #[doc = " - where `R` registrar-count (governance-bounded)."] #[doc = " - where `S` subs-count (hard- and deposit-bounded)."] #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)."] - #[doc = "- One balance-unreserve operation."] - #[doc = "- `2` storage reads and `S + 2` storage deletions."] - #[doc = "- One event."] - #[doc = "# "] - pub fn clear_identity(&self) -> ::subxt::tx::Payload { + pub fn clear_identity(&self) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Identity", "clear_identity", - ClearIdentity {}, + types::ClearIdentity {}, [ 75u8, 44u8, 74u8, 122u8, 149u8, 202u8, 114u8, 230u8, 0u8, 255u8, 140u8, 122u8, 14u8, 196u8, 205u8, 249u8, 220u8, 94u8, 216u8, 34u8, 63u8, 14u8, @@ -16084,21 +18366,19 @@ pub mod api { #[doc = ""] #[doc = "Emits `JudgementRequested` if successful."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(R + X)`."] - #[doc = "- One balance-reserve operation."] - #[doc = "- Storage: 1 read `O(R)`, 1 mutate `O(X + R)`."] - #[doc = "- One event."] - #[doc = "# "] + #[doc = " - where `R` registrar-count (governance-bounded)."] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)."] pub fn request_judgement( &self, reg_index: ::core::primitive::u32, max_fee: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Identity", "request_judgement", - RequestJudgement { reg_index, max_fee }, + types::RequestJudgement { reg_index, max_fee }, [ 186u8, 149u8, 61u8, 54u8, 159u8, 194u8, 77u8, 161u8, 220u8, 157u8, 3u8, 216u8, 23u8, 105u8, 119u8, 76u8, 144u8, 198u8, 157u8, 45u8, 235u8, @@ -16117,20 +18397,18 @@ pub mod api { #[doc = ""] #[doc = "Emits `JudgementUnrequested` if successful."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(R + X)`."] - #[doc = "- One balance-reserve operation."] - #[doc = "- One storage mutation `O(R + X)`."] - #[doc = "- One event"] - #[doc = "# "] + #[doc = " - where `R` registrar-count (governance-bounded)."] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)."] pub fn cancel_request( &self, reg_index: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Identity", "cancel_request", - CancelRequest { reg_index }, + types::CancelRequest { reg_index }, [ 83u8, 180u8, 239u8, 126u8, 32u8, 51u8, 17u8, 20u8, 180u8, 3u8, 59u8, 96u8, 24u8, 32u8, 136u8, 92u8, 58u8, 254u8, 68u8, 70u8, 50u8, 11u8, @@ -16146,20 +18424,18 @@ pub mod api { #[doc = "- `index`: the index of the registrar whose fee is to be set."] #[doc = "- `fee`: the new fee."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(R)`."] - #[doc = "- One storage mutation `O(R)`."] - #[doc = "- Benchmark: 7.315 + R * 0.329 µs (min squares analysis)"] - #[doc = "# "] + #[doc = " - where `R` registrar-count (governance-bounded)."] pub fn set_fee( &self, index: ::core::primitive::u32, fee: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Identity", "set_fee", - SetFee { index, fee }, + types::SetFee { index, fee }, [ 21u8, 157u8, 123u8, 182u8, 160u8, 190u8, 117u8, 37u8, 136u8, 133u8, 104u8, 234u8, 31u8, 145u8, 115u8, 154u8, 125u8, 40u8, 2u8, 87u8, 118u8, @@ -16175,20 +18451,18 @@ pub mod api { #[doc = "- `index`: the index of the registrar whose fee is to be set."] #[doc = "- `new`: the new account ID."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(R)`."] - #[doc = "- One storage mutation `O(R)`."] - #[doc = "- Benchmark: 8.823 + R * 0.32 µs (min squares analysis)"] - #[doc = "# "] + #[doc = " - where `R` registrar-count (governance-bounded)."] pub fn set_account_id( &self, index: ::core::primitive::u32, new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Identity", "set_account_id", - SetAccountId { index, new }, + types::SetAccountId { index, new }, [ 13u8, 91u8, 36u8, 7u8, 88u8, 64u8, 151u8, 104u8, 94u8, 174u8, 195u8, 99u8, 97u8, 181u8, 236u8, 251u8, 26u8, 236u8, 234u8, 40u8, 183u8, 38u8, @@ -16204,22 +18478,20 @@ pub mod api { #[doc = "- `index`: the index of the registrar whose fee is to be set."] #[doc = "- `fields`: the fields that the registrar concerns themselves with."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(R)`."] - #[doc = "- One storage mutation `O(R)`."] - #[doc = "- Benchmark: 7.464 + R * 0.325 µs (min squares analysis)"] - #[doc = "# "] + #[doc = " - where `R` registrar-count (governance-bounded)."] pub fn set_fields( &self, index: ::core::primitive::u32, fields: runtime_types::pallet_identity::types::BitFlags< runtime_types::pallet_identity::types::IdentityField, >, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Identity", "set_fields", - SetFields { index, fields }, + types::SetFields { index, fields }, [ 50u8, 196u8, 179u8, 71u8, 66u8, 65u8, 235u8, 7u8, 51u8, 14u8, 81u8, 173u8, 201u8, 58u8, 6u8, 151u8, 174u8, 245u8, 102u8, 184u8, 28u8, 84u8, @@ -16240,13 +18512,10 @@ pub mod api { #[doc = ""] #[doc = "Emits `JudgementGiven` if successful."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(R + X)`."] - #[doc = "- One balance-transfer operation."] - #[doc = "- Up to one account-lookup operation."] - #[doc = "- Storage: 1 read `O(R)`, 1 mutate `O(R + X)`."] - #[doc = "- One event."] - #[doc = "# "] + #[doc = " - where `R` registrar-count (governance-bounded)."] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)."] pub fn provide_judgement( &self, reg_index: ::core::primitive::u32, @@ -16255,11 +18524,11 @@ pub mod api { ::core::primitive::u128, >, identity: ::subxt::utils::H256, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Identity", "provide_judgement", - ProvideJudgement { + types::ProvideJudgement { reg_index, target, judgement, @@ -16285,20 +18554,19 @@ pub mod api { #[doc = ""] #[doc = "Emits `IdentityKilled` if successful."] #[doc = ""] - #[doc = "# "] - #[doc = "- `O(R + S + X)`."] - #[doc = "- One balance-reserve operation."] - #[doc = "- `S + 2` storage mutations."] - #[doc = "- One event."] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- `O(R + S + X)`"] + #[doc = " - where `R` registrar-count (governance-bounded)."] + #[doc = " - where `S` subs-count (hard- and deposit-bounded)."] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)."] pub fn kill_identity( &self, target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Identity", "kill_identity", - KillIdentity { target }, + types::KillIdentity { target }, [ 76u8, 13u8, 158u8, 219u8, 221u8, 0u8, 151u8, 241u8, 137u8, 136u8, 179u8, 194u8, 188u8, 230u8, 56u8, 16u8, 254u8, 28u8, 127u8, 216u8, @@ -16318,11 +18586,11 @@ pub mod api { &self, sub: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, data: runtime_types::pallet_identity::types::Data, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Identity", "add_sub", - AddSub { sub, data }, + types::AddSub { sub, data }, [ 122u8, 218u8, 25u8, 93u8, 33u8, 176u8, 191u8, 254u8, 223u8, 147u8, 100u8, 135u8, 86u8, 71u8, 47u8, 163u8, 105u8, 222u8, 162u8, 173u8, @@ -16339,11 +18607,11 @@ pub mod api { &self, sub: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, data: runtime_types::pallet_identity::types::Data, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Identity", "rename_sub", - RenameSub { sub, data }, + types::RenameSub { sub, data }, [ 166u8, 167u8, 49u8, 114u8, 199u8, 168u8, 187u8, 221u8, 100u8, 85u8, 147u8, 211u8, 157u8, 31u8, 109u8, 135u8, 194u8, 135u8, 15u8, 89u8, @@ -16362,11 +18630,11 @@ pub mod api { pub fn remove_sub( &self, sub: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Identity", "remove_sub", - RemoveSub { sub }, + types::RemoveSub { sub }, [ 106u8, 223u8, 210u8, 67u8, 54u8, 11u8, 144u8, 222u8, 42u8, 46u8, 157u8, 33u8, 13u8, 245u8, 166u8, 195u8, 227u8, 81u8, 224u8, 149u8, 154u8, @@ -16385,11 +18653,11 @@ pub mod api { #[doc = ""] #[doc = "NOTE: This should not normally be used, but is provided in the case that the non-"] #[doc = "controller of an account is maliciously registered as a sub-account."] - pub fn quit_sub(&self) -> ::subxt::tx::Payload { + pub fn quit_sub(&self) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Identity", "quit_sub", - QuitSub {}, + types::QuitSub {}, [ 62u8, 57u8, 73u8, 72u8, 119u8, 216u8, 250u8, 155u8, 57u8, 169u8, 157u8, 44u8, 87u8, 51u8, 63u8, 231u8, 77u8, 7u8, 0u8, 119u8, 244u8, 42u8, @@ -16719,7 +18987,7 @@ pub mod api { ::subxt::storage::address::StaticStorageMapKey, ( ::core::primitive::u128, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::subxt::utils::AccountId32, >, ), @@ -16751,7 +19019,7 @@ pub mod api { ::subxt::storage::address::StaticStorageMapKey, ( ::core::primitive::u128, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::subxt::utils::AccountId32, >, ), @@ -16778,7 +19046,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::option::Option< runtime_types::pallet_identity::types::RegistrarInfo< ::core::primitive::u128, @@ -16911,163 +19179,164 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Proxy { - pub real: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub force_proxy_type: - ::core::option::Option, - pub call: ::std::boxed::Box, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AddProxy { - pub delegate: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub proxy_type: runtime_types::polkadot_runtime::ProxyType, - pub delay: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RemoveProxy { - pub delegate: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub proxy_type: runtime_types::polkadot_runtime::ProxyType, - pub delay: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RemoveProxies; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CreatePure { - pub proxy_type: runtime_types::polkadot_runtime::ProxyType, - pub delay: ::core::primitive::u32, - pub index: ::core::primitive::u16, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct KillPure { - pub spawner: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub proxy_type: runtime_types::polkadot_runtime::ProxyType, - pub index: ::core::primitive::u16, - #[codec(compact)] - pub height: ::core::primitive::u32, - #[codec(compact)] - pub ext_index: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Announce { - pub real: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub call_hash: ::subxt::utils::H256, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RemoveAnnouncement { - pub real: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub call_hash: ::subxt::utils::H256, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RejectAnnouncement { - pub delegate: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub call_hash: ::subxt::utils::H256, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ProxyAnnounced { - pub delegate: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub real: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub force_proxy_type: - ::core::option::Option, - pub call: ::std::boxed::Box, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Proxy { + pub real: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub force_proxy_type: + ::core::option::Option, + pub call: ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AddProxy { + pub delegate: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub proxy_type: runtime_types::polkadot_runtime::ProxyType, + pub delay: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveProxy { + pub delegate: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub proxy_type: runtime_types::polkadot_runtime::ProxyType, + pub delay: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveProxies; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CreatePure { + pub proxy_type: runtime_types::polkadot_runtime::ProxyType, + pub delay: ::core::primitive::u32, + pub index: ::core::primitive::u16, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct KillPure { + pub spawner: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub proxy_type: runtime_types::polkadot_runtime::ProxyType, + pub index: ::core::primitive::u16, + #[codec(compact)] + pub height: ::core::primitive::u32, + #[codec(compact)] + pub ext_index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Announce { + pub real: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub call_hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveAnnouncement { + pub real: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub call_hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RejectAnnouncement { + pub delegate: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub call_hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ProxyAnnounced { + pub delegate: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub real: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub force_proxy_type: + ::core::option::Option, + pub call: ::std::boxed::Box, + } } pub struct TransactionApi; impl TransactionApi { #[doc = "Dispatch the given `call` from an account that the sender is authorised for through"] #[doc = "`add_proxy`."] #[doc = ""] - #[doc = "Removes any corresponding announcement(s)."] - #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_."] #[doc = ""] #[doc = "Parameters:"] @@ -17081,19 +19350,20 @@ pub mod api { runtime_types::polkadot_runtime::ProxyType, >, call: runtime_types::polkadot_runtime::RuntimeCall, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Proxy", "proxy", - Proxy { + types::Proxy { real, force_proxy_type, call: ::std::boxed::Box::new(call), }, [ - 2u8, 110u8, 54u8, 249u8, 204u8, 49u8, 0u8, 174u8, 55u8, 97u8, 168u8, - 240u8, 133u8, 33u8, 119u8, 57u8, 207u8, 107u8, 9u8, 58u8, 91u8, 16u8, - 97u8, 49u8, 136u8, 119u8, 180u8, 187u8, 105u8, 150u8, 228u8, 140u8, + 14u8, 42u8, 86u8, 28u8, 32u8, 98u8, 119u8, 113u8, 168u8, 61u8, 112u8, + 87u8, 153u8, 37u8, 135u8, 82u8, 131u8, 185u8, 116u8, 230u8, 182u8, + 38u8, 134u8, 76u8, 161u8, 103u8, 131u8, 167u8, 138u8, 123u8, 34u8, + 104u8, ], ) } @@ -17111,20 +19381,19 @@ pub mod api { delegate: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, proxy_type: runtime_types::polkadot_runtime::ProxyType, delay: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Proxy", "add_proxy", - AddProxy { + types::AddProxy { delegate, proxy_type, delay, }, [ - 4u8, 227u8, 81u8, 178u8, 130u8, 182u8, 247u8, 112u8, 127u8, 90u8, - 105u8, 143u8, 65u8, 137u8, 181u8, 63u8, 204u8, 92u8, 140u8, 38u8, - 153u8, 233u8, 186u8, 226u8, 8u8, 76u8, 228u8, 206u8, 174u8, 54u8, 23u8, - 238u8, + 76u8, 227u8, 139u8, 167u8, 131u8, 37u8, 104u8, 137u8, 224u8, 66u8, + 37u8, 1u8, 89u8, 113u8, 232u8, 199u8, 79u8, 187u8, 176u8, 106u8, 168u8, + 144u8, 68u8, 32u8, 0u8, 227u8, 188u8, 28u8, 218u8, 84u8, 82u8, 96u8, ], ) } @@ -17140,20 +19409,19 @@ pub mod api { delegate: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, proxy_type: runtime_types::polkadot_runtime::ProxyType, delay: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Proxy", "remove_proxy", - RemoveProxy { + types::RemoveProxy { delegate, proxy_type, delay, }, [ - 227u8, 7u8, 240u8, 130u8, 4u8, 168u8, 145u8, 107u8, 6u8, 146u8, 138u8, - 235u8, 245u8, 178u8, 168u8, 85u8, 104u8, 133u8, 28u8, 93u8, 232u8, - 99u8, 163u8, 75u8, 100u8, 113u8, 40u8, 16u8, 238u8, 123u8, 169u8, - 218u8, + 46u8, 235u8, 142u8, 33u8, 21u8, 200u8, 243u8, 213u8, 62u8, 162u8, 70u8, + 132u8, 204u8, 76u8, 156u8, 66u8, 83u8, 95u8, 13u8, 208u8, 241u8, 242u8, + 219u8, 39u8, 229u8, 238u8, 221u8, 135u8, 66u8, 159u8, 38u8, 50u8, ], ) } @@ -17163,11 +19431,11 @@ pub mod api { #[doc = ""] #[doc = "WARNING: This may be called on accounts created by `pure`, however if done, then"] #[doc = "the unreserved fees will be inaccessible. **All access to this account will be lost.**"] - pub fn remove_proxies(&self) -> ::subxt::tx::Payload { + pub fn remove_proxies(&self) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Proxy", "remove_proxies", - RemoveProxies {}, + types::RemoveProxies {}, [ 15u8, 237u8, 27u8, 166u8, 254u8, 218u8, 92u8, 5u8, 213u8, 239u8, 99u8, 59u8, 1u8, 26u8, 73u8, 252u8, 81u8, 94u8, 214u8, 227u8, 169u8, 58u8, @@ -17198,20 +19466,19 @@ pub mod api { proxy_type: runtime_types::polkadot_runtime::ProxyType, delay: ::core::primitive::u32, index: ::core::primitive::u16, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Proxy", "create_pure", - CreatePure { + types::CreatePure { proxy_type, delay, index, }, [ - 65u8, 120u8, 166u8, 57u8, 89u8, 119u8, 161u8, 93u8, 184u8, 203u8, - 190u8, 29u8, 64u8, 238u8, 70u8, 17u8, 151u8, 227u8, 170u8, 84u8, 21u8, - 161u8, 171u8, 180u8, 193u8, 175u8, 211u8, 228u8, 246u8, 216u8, 152u8, - 91u8, + 184u8, 127u8, 177u8, 255u8, 195u8, 192u8, 136u8, 114u8, 249u8, 70u8, + 222u8, 77u8, 10u8, 213u8, 209u8, 6u8, 238u8, 173u8, 47u8, 182u8, 129u8, + 69u8, 74u8, 249u8, 25u8, 170u8, 119u8, 106u8, 54u8, 165u8, 0u8, 100u8, ], ) } @@ -17238,11 +19505,11 @@ pub mod api { index: ::core::primitive::u16, height: ::core::primitive::u32, ext_index: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Proxy", "kill_pure", - KillPure { + types::KillPure { spawner, proxy_type, index, @@ -17250,9 +19517,10 @@ pub mod api { ext_index, }, [ - 67u8, 233u8, 31u8, 138u8, 222u8, 70u8, 182u8, 77u8, 103u8, 39u8, 195u8, - 35u8, 39u8, 89u8, 50u8, 248u8, 187u8, 101u8, 170u8, 188u8, 87u8, 143u8, - 6u8, 180u8, 178u8, 181u8, 158u8, 111u8, 19u8, 139u8, 222u8, 208u8, + 134u8, 133u8, 203u8, 194u8, 12u8, 188u8, 59u8, 222u8, 83u8, 30u8, + 217u8, 181u8, 224u8, 194u8, 81u8, 206u8, 30u8, 116u8, 94u8, 36u8, 87u8, + 227u8, 157u8, 129u8, 198u8, 115u8, 208u8, 105u8, 143u8, 175u8, 145u8, + 18u8, ], ) } @@ -17275,11 +19543,11 @@ pub mod api { &self, real: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, call_hash: ::subxt::utils::H256, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Proxy", "announce", - Announce { real, call_hash }, + types::Announce { real, call_hash }, [ 235u8, 116u8, 208u8, 53u8, 128u8, 91u8, 100u8, 68u8, 255u8, 254u8, 119u8, 253u8, 108u8, 130u8, 88u8, 56u8, 113u8, 99u8, 105u8, 179u8, @@ -17302,11 +19570,11 @@ pub mod api { &self, real: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, call_hash: ::subxt::utils::H256, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Proxy", "remove_announcement", - RemoveAnnouncement { real, call_hash }, + types::RemoveAnnouncement { real, call_hash }, [ 140u8, 186u8, 140u8, 129u8, 40u8, 124u8, 57u8, 61u8, 84u8, 247u8, 123u8, 241u8, 148u8, 15u8, 94u8, 146u8, 121u8, 78u8, 190u8, 68u8, @@ -17329,11 +19597,11 @@ pub mod api { &self, delegate: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, call_hash: ::subxt::utils::H256, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Proxy", "reject_announcement", - RejectAnnouncement { + types::RejectAnnouncement { delegate, call_hash, }, @@ -17364,21 +19632,20 @@ pub mod api { runtime_types::polkadot_runtime::ProxyType, >, call: runtime_types::polkadot_runtime::RuntimeCall, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Proxy", "proxy_announced", - ProxyAnnounced { + types::ProxyAnnounced { delegate, real, force_proxy_type, call: ::std::boxed::Box::new(call), }, [ - 201u8, 208u8, 101u8, 152u8, 52u8, 146u8, 71u8, 255u8, 2u8, 250u8, - 225u8, 24u8, 117u8, 32u8, 113u8, 251u8, 230u8, 233u8, 30u8, 187u8, - 194u8, 116u8, 65u8, 51u8, 142u8, 106u8, 91u8, 178u8, 193u8, 170u8, - 150u8, 118u8, + 8u8, 182u8, 157u8, 71u8, 2u8, 217u8, 103u8, 34u8, 52u8, 133u8, 231u8, + 248u8, 189u8, 158u8, 103u8, 53u8, 149u8, 166u8, 108u8, 226u8, 32u8, + 92u8, 174u8, 134u8, 220u8, 98u8, 17u8, 32u8, 140u8, 38u8, 200u8, 184u8, ], ) } @@ -17503,7 +19770,7 @@ pub mod api { ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, ( - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< runtime_types::pallet_proxy::ProxyDefinition< ::subxt::utils::AccountId32, runtime_types::polkadot_runtime::ProxyType, @@ -17523,10 +19790,10 @@ pub mod api { _0.borrow(), )], [ - 106u8, 101u8, 77u8, 184u8, 193u8, 162u8, 132u8, 209u8, 130u8, 70u8, - 249u8, 183u8, 78u8, 52u8, 153u8, 120u8, 84u8, 224u8, 233u8, 37u8, - 171u8, 192u8, 99u8, 31u8, 49u8, 43u8, 126u8, 67u8, 161u8, 103u8, 248u8, - 14u8, + 80u8, 71u8, 244u8, 42u8, 237u8, 5u8, 46u8, 156u8, 84u8, 213u8, 84u8, + 212u8, 157u8, 221u8, 174u8, 97u8, 157u8, 218u8, 166u8, 127u8, 162u8, + 139u8, 110u8, 98u8, 229u8, 166u8, 49u8, 172u8, 48u8, 237u8, 240u8, + 42u8, ], ) } @@ -17537,7 +19804,7 @@ pub mod api { ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, ( - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< runtime_types::pallet_proxy::ProxyDefinition< ::subxt::utils::AccountId32, runtime_types::polkadot_runtime::ProxyType, @@ -17555,10 +19822,10 @@ pub mod api { "Proxies", Vec::new(), [ - 106u8, 101u8, 77u8, 184u8, 193u8, 162u8, 132u8, 209u8, 130u8, 70u8, - 249u8, 183u8, 78u8, 52u8, 153u8, 120u8, 84u8, 224u8, 233u8, 37u8, - 171u8, 192u8, 99u8, 31u8, 49u8, 43u8, 126u8, 67u8, 161u8, 103u8, 248u8, - 14u8, + 80u8, 71u8, 244u8, 42u8, 237u8, 5u8, 46u8, 156u8, 84u8, 213u8, 84u8, + 212u8, 157u8, 221u8, 174u8, 97u8, 157u8, 218u8, 166u8, 127u8, 162u8, + 139u8, 110u8, 98u8, 229u8, 166u8, 49u8, 172u8, 48u8, 237u8, 240u8, + 42u8, ], ) } @@ -17569,7 +19836,7 @@ pub mod api { ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, ( - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< runtime_types::pallet_proxy::Announcement< ::subxt::utils::AccountId32, ::subxt::utils::H256, @@ -17601,7 +19868,7 @@ pub mod api { ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, ( - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< runtime_types::pallet_proxy::Announcement< ::subxt::utils::AccountId32, ::subxt::utils::H256, @@ -17739,73 +20006,77 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AsMultiThreshold1 { - pub other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, - pub call: ::std::boxed::Box, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AsMulti { - pub threshold: ::core::primitive::u16, - pub other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, - pub maybe_timepoint: ::core::option::Option< - runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, - >, - pub call: ::std::boxed::Box, - pub max_weight: runtime_types::sp_weights::weight_v2::Weight, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ApproveAsMulti { - pub threshold: ::core::primitive::u16, - pub other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, - pub maybe_timepoint: ::core::option::Option< - runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, - >, - pub call_hash: [::core::primitive::u8; 32usize], - pub max_weight: runtime_types::sp_weights::weight_v2::Weight, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CancelAsMulti { - pub threshold: ::core::primitive::u16, - pub other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, - pub timepoint: runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, - pub call_hash: [::core::primitive::u8; 32usize], + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AsMultiThreshold1 { + pub other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub call: ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AsMulti { + pub threshold: ::core::primitive::u16, + pub other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub maybe_timepoint: ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + >, + pub call: ::std::boxed::Box, + pub max_weight: runtime_types::sp_weights::weight_v2::Weight, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ApproveAsMulti { + pub threshold: ::core::primitive::u16, + pub other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub maybe_timepoint: ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + >, + pub call_hash: [::core::primitive::u8; 32usize], + pub max_weight: runtime_types::sp_weights::weight_v2::Weight, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CancelAsMulti { + pub threshold: ::core::primitive::u16, + pub other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub timepoint: + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + pub call_hash: [::core::primitive::u8; 32usize], + } } pub struct TransactionApi; impl TransactionApi { @@ -17819,29 +20090,24 @@ pub mod api { #[doc = ""] #[doc = "Result is equivalent to the dispatched result."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "O(Z + C) where Z is the length of the call and C its execution weight."] - #[doc = "-------------------------------"] - #[doc = "- DB Weight: None"] - #[doc = "- Plus Call Weight"] - #[doc = "# "] pub fn as_multi_threshold_1( &self, other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, call: runtime_types::polkadot_runtime::RuntimeCall, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Multisig", "as_multi_threshold_1", - AsMultiThreshold1 { + types::AsMultiThreshold1 { other_signatories, call: ::std::boxed::Box::new(call), }, [ - 147u8, 128u8, 190u8, 162u8, 129u8, 151u8, 240u8, 184u8, 12u8, 100u8, - 188u8, 81u8, 25u8, 140u8, 46u8, 215u8, 52u8, 135u8, 134u8, 207u8, 40u8, - 221u8, 114u8, 48u8, 102u8, 107u8, 173u8, 90u8, 74u8, 56u8, 147u8, - 238u8, + 0u8, 101u8, 233u8, 4u8, 27u8, 61u8, 6u8, 243u8, 253u8, 208u8, 93u8, + 58u8, 221u8, 46u8, 248u8, 243u8, 6u8, 162u8, 59u8, 209u8, 185u8, 2u8, + 76u8, 95u8, 189u8, 8u8, 84u8, 89u8, 119u8, 25u8, 25u8, 116u8, ], ) } @@ -17871,7 +20137,7 @@ pub mod api { #[doc = "on success, result is `Ok` and the result from the interior call, if it was executed,"] #[doc = "may be found in the deposited `MultisigExecuted` event."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(S + Z + Call)`."] #[doc = "- Up to one balance-reserve or unreserve operation."] #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] @@ -17884,12 +20150,6 @@ pub mod api { #[doc = "- The weight of the `call`."] #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"] #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] - #[doc = "-------------------------------"] - #[doc = "- DB Weight:"] - #[doc = " - Reads: Multisig Storage, [Caller Account]"] - #[doc = " - Writes: Multisig Storage, [Caller Account]"] - #[doc = "- Plus Call Weight"] - #[doc = "# "] pub fn as_multi( &self, threshold: ::core::primitive::u16, @@ -17899,11 +20159,11 @@ pub mod api { >, call: runtime_types::polkadot_runtime::RuntimeCall, max_weight: runtime_types::sp_weights::weight_v2::Weight, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Multisig", "as_multi", - AsMulti { + types::AsMulti { threshold, other_signatories, maybe_timepoint, @@ -17911,9 +20171,10 @@ pub mod api { max_weight, }, [ - 223u8, 45u8, 132u8, 89u8, 48u8, 61u8, 93u8, 46u8, 76u8, 28u8, 217u8, - 194u8, 89u8, 170u8, 245u8, 6u8, 76u8, 50u8, 12u8, 133u8, 230u8, 10u8, - 56u8, 231u8, 29u8, 202u8, 60u8, 50u8, 181u8, 144u8, 238u8, 151u8, + 172u8, 94u8, 125u8, 12u8, 125u8, 129u8, 89u8, 29u8, 172u8, 187u8, + 194u8, 188u8, 111u8, 34u8, 41u8, 94u8, 237u8, 82u8, 167u8, 33u8, 30u8, + 145u8, 155u8, 185u8, 169u8, 83u8, 60u8, 212u8, 138u8, 184u8, 152u8, + 58u8, ], ) } @@ -17936,7 +20197,7 @@ pub mod api { #[doc = ""] #[doc = "NOTE: If this is the final approval, you will want to use `as_multi` instead."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(S)`."] #[doc = "- Up to one balance-reserve or unreserve operation."] #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] @@ -17947,11 +20208,6 @@ pub mod api { #[doc = "- One event."] #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"] #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] - #[doc = "----------------------------------"] - #[doc = "- DB Weight:"] - #[doc = " - Read: Multisig Storage, [Caller Account]"] - #[doc = " - Write: Multisig Storage, [Caller Account]"] - #[doc = "# "] pub fn approve_as_multi( &self, threshold: ::core::primitive::u16, @@ -17961,11 +20217,11 @@ pub mod api { >, call_hash: [::core::primitive::u8; 32usize], max_weight: runtime_types::sp_weights::weight_v2::Weight, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Multisig", "approve_as_multi", - ApproveAsMulti { + types::ApproveAsMulti { threshold, other_signatories, maybe_timepoint, @@ -17992,7 +20248,7 @@ pub mod api { #[doc = "transaction for this dispatch."] #[doc = "- `call_hash`: The hash of the call to be executed."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(S)`."] #[doc = "- Up to one balance-reserve or unreserve operation."] #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] @@ -18001,22 +20257,17 @@ pub mod api { #[doc = "- One event."] #[doc = "- I/O: 1 read `O(S)`, one remove."] #[doc = "- Storage: removes one item."] - #[doc = "----------------------------------"] - #[doc = "- DB Weight:"] - #[doc = " - Read: Multisig Storage, [Caller Account], Refund Account"] - #[doc = " - Write: Multisig Storage, [Caller Account], Refund Account"] - #[doc = "# "] pub fn cancel_as_multi( &self, threshold: ::core::primitive::u16, other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, timepoint: runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, call_hash: [::core::primitive::u8; 32usize], - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Multisig", "cancel_as_multi", - CancelAsMulti { + types::CancelAsMulti { threshold, other_signatories, timepoint, @@ -18246,137 +20497,140 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ProposeBounty { - #[codec(compact)] - pub value: ::core::primitive::u128, - pub description: ::std::vec::Vec<::core::primitive::u8>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ApproveBounty { - #[codec(compact)] - pub bounty_id: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ProposeCurator { - #[codec(compact)] - pub bounty_id: ::core::primitive::u32, - pub curator: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - #[codec(compact)] - pub fee: ::core::primitive::u128, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct UnassignCurator { - #[codec(compact)] - pub bounty_id: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AcceptCurator { - #[codec(compact)] - pub bounty_id: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AwardBounty { - #[codec(compact)] - pub bounty_id: ::core::primitive::u32, - pub beneficiary: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ClaimBounty { - #[codec(compact)] - pub bounty_id: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CloseBounty { - #[codec(compact)] - pub bounty_id: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ExtendBountyExpiry { - #[codec(compact)] - pub bounty_id: ::core::primitive::u32, - pub remark: ::std::vec::Vec<::core::primitive::u8>, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ProposeBounty { + #[codec(compact)] + pub value: ::core::primitive::u128, + pub description: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ApproveBounty { + #[codec(compact)] + pub bounty_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ProposeCurator { + #[codec(compact)] + pub bounty_id: ::core::primitive::u32, + pub curator: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub fee: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UnassignCurator { + #[codec(compact)] + pub bounty_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AcceptCurator { + #[codec(compact)] + pub bounty_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AwardBounty { + #[codec(compact)] + pub bounty_id: ::core::primitive::u32, + pub beneficiary: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ClaimBounty { + #[codec(compact)] + pub bounty_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CloseBounty { + #[codec(compact)] + pub bounty_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ExtendBountyExpiry { + #[codec(compact)] + pub bounty_id: ::core::primitive::u32, + pub remark: ::std::vec::Vec<::core::primitive::u8>, + } } pub struct TransactionApi; impl TransactionApi { @@ -18396,11 +20650,11 @@ pub mod api { &self, value: ::core::primitive::u128, description: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Bounties", "propose_bounty", - ProposeBounty { value, description }, + types::ProposeBounty { value, description }, [ 99u8, 160u8, 94u8, 74u8, 105u8, 161u8, 123u8, 239u8, 241u8, 117u8, 97u8, 99u8, 84u8, 101u8, 87u8, 3u8, 88u8, 175u8, 75u8, 59u8, 114u8, @@ -18412,19 +20666,18 @@ pub mod api { #[doc = "Approve a bounty proposal. At a later time, the bounty will be funded and become active"] #[doc = "and the original deposit will be returned."] #[doc = ""] - #[doc = "May only be called from `T::ApproveOrigin`."] + #[doc = "May only be called from `T::SpendOrigin`."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- O(1)."] - #[doc = "# "] pub fn approve_bounty( &self, bounty_id: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Bounties", "approve_bounty", - ApproveBounty { bounty_id }, + types::ApproveBounty { bounty_id }, [ 82u8, 228u8, 232u8, 103u8, 198u8, 173u8, 190u8, 148u8, 159u8, 86u8, 48u8, 4u8, 32u8, 169u8, 1u8, 129u8, 96u8, 145u8, 235u8, 68u8, 48u8, @@ -18434,21 +20687,20 @@ pub mod api { } #[doc = "Assign a curator to a funded bounty."] #[doc = ""] - #[doc = "May only be called from `T::ApproveOrigin`."] + #[doc = "May only be called from `T::SpendOrigin`."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- O(1)."] - #[doc = "# "] pub fn propose_curator( &self, bounty_id: ::core::primitive::u32, curator: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, fee: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Bounties", "propose_curator", - ProposeCurator { + types::ProposeCurator { bounty_id, curator, fee, @@ -18476,17 +20728,16 @@ pub mod api { #[doc = "anyone in the community to call out that a curator is not doing their due diligence, and"] #[doc = "we should pick a new curator. In this case the curator should also be slashed."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- O(1)."] - #[doc = "# "] pub fn unassign_curator( &self, bounty_id: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Bounties", "unassign_curator", - UnassignCurator { bounty_id }, + types::UnassignCurator { bounty_id }, [ 218u8, 241u8, 247u8, 89u8, 95u8, 120u8, 93u8, 18u8, 85u8, 114u8, 158u8, 254u8, 68u8, 77u8, 230u8, 186u8, 230u8, 201u8, 63u8, 223u8, 28u8, @@ -18500,17 +20751,16 @@ pub mod api { #[doc = ""] #[doc = "May only be called from the curator."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- O(1)."] - #[doc = "# "] pub fn accept_curator( &self, bounty_id: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Bounties", "accept_curator", - AcceptCurator { bounty_id }, + types::AcceptCurator { bounty_id }, [ 106u8, 96u8, 22u8, 67u8, 52u8, 109u8, 180u8, 225u8, 122u8, 253u8, 209u8, 214u8, 132u8, 131u8, 247u8, 131u8, 162u8, 51u8, 144u8, 30u8, @@ -18527,18 +20777,17 @@ pub mod api { #[doc = "- `bounty_id`: Bounty ID to award."] #[doc = "- `beneficiary`: The beneficiary account whom will receive the payout."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- O(1)."] - #[doc = "# "] pub fn award_bounty( &self, bounty_id: ::core::primitive::u32, beneficiary: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Bounties", "award_bounty", - AwardBounty { + types::AwardBounty { bounty_id, beneficiary, }, @@ -18555,17 +20804,16 @@ pub mod api { #[doc = ""] #[doc = "- `bounty_id`: Bounty ID to claim."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- O(1)."] - #[doc = "# "] pub fn claim_bounty( &self, bounty_id: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Bounties", "claim_bounty", - ClaimBounty { bounty_id }, + types::ClaimBounty { bounty_id }, [ 102u8, 95u8, 8u8, 89u8, 4u8, 126u8, 189u8, 28u8, 241u8, 16u8, 125u8, 218u8, 42u8, 92u8, 177u8, 91u8, 8u8, 235u8, 33u8, 48u8, 64u8, 115u8, @@ -18580,17 +20828,16 @@ pub mod api { #[doc = ""] #[doc = "- `bounty_id`: Bounty ID to cancel."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- O(1)."] - #[doc = "# "] pub fn close_bounty( &self, bounty_id: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Bounties", "close_bounty", - CloseBounty { bounty_id }, + types::CloseBounty { bounty_id }, [ 64u8, 113u8, 151u8, 228u8, 90u8, 55u8, 251u8, 63u8, 27u8, 211u8, 119u8, 229u8, 137u8, 137u8, 183u8, 240u8, 241u8, 146u8, 69u8, 169u8, 124u8, @@ -18606,18 +20853,17 @@ pub mod api { #[doc = "- `bounty_id`: Bounty ID to extend."] #[doc = "- `remark`: additional information."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- O(1)."] - #[doc = "# "] pub fn extend_bounty_expiry( &self, bounty_id: ::core::primitive::u32, remark: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Bounties", "extend_bounty_expiry", - ExtendBountyExpiry { bounty_id, remark }, + types::ExtendBountyExpiry { bounty_id, remark }, [ 97u8, 69u8, 157u8, 39u8, 59u8, 72u8, 79u8, 88u8, 104u8, 119u8, 91u8, 26u8, 73u8, 216u8, 174u8, 95u8, 254u8, 214u8, 63u8, 138u8, 100u8, @@ -18852,7 +21098,9 @@ pub mod api { _0: impl ::std::borrow::Borrow<::core::primitive::u32>, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec<::core::primitive::u8>, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, ::subxt::storage::address::Yes, (), ::subxt::storage::address::Yes, @@ -18875,7 +21123,9 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec<::core::primitive::u8>, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, (), (), ::subxt::storage::address::Yes, @@ -18896,7 +21146,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u32, >, ::subxt::storage::address::Yes, @@ -19072,122 +21322,125 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AddChildBounty { - #[codec(compact)] - pub parent_bounty_id: ::core::primitive::u32, - #[codec(compact)] - pub value: ::core::primitive::u128, - pub description: ::std::vec::Vec<::core::primitive::u8>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ProposeCurator { - #[codec(compact)] - pub parent_bounty_id: ::core::primitive::u32, - #[codec(compact)] - pub child_bounty_id: ::core::primitive::u32, - pub curator: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - #[codec(compact)] - pub fee: ::core::primitive::u128, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AcceptCurator { - #[codec(compact)] - pub parent_bounty_id: ::core::primitive::u32, - #[codec(compact)] - pub child_bounty_id: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct UnassignCurator { - #[codec(compact)] - pub parent_bounty_id: ::core::primitive::u32, - #[codec(compact)] - pub child_bounty_id: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AwardChildBounty { - #[codec(compact)] - pub parent_bounty_id: ::core::primitive::u32, - #[codec(compact)] - pub child_bounty_id: ::core::primitive::u32, - pub beneficiary: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ClaimChildBounty { - #[codec(compact)] - pub parent_bounty_id: ::core::primitive::u32, - #[codec(compact)] - pub child_bounty_id: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CloseChildBounty { - #[codec(compact)] - pub parent_bounty_id: ::core::primitive::u32, - #[codec(compact)] - pub child_bounty_id: ::core::primitive::u32, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AddChildBounty { + #[codec(compact)] + pub parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + pub value: ::core::primitive::u128, + pub description: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ProposeCurator { + #[codec(compact)] + pub parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + pub child_bounty_id: ::core::primitive::u32, + pub curator: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub fee: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AcceptCurator { + #[codec(compact)] + pub parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + pub child_bounty_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UnassignCurator { + #[codec(compact)] + pub parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + pub child_bounty_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AwardChildBounty { + #[codec(compact)] + pub parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + pub child_bounty_id: ::core::primitive::u32, + pub beneficiary: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ClaimChildBounty { + #[codec(compact)] + pub parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + pub child_bounty_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CloseChildBounty { + #[codec(compact)] + pub parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + pub child_bounty_id: ::core::primitive::u32, + } } pub struct TransactionApi; impl TransactionApi { @@ -19215,11 +21468,11 @@ pub mod api { parent_bounty_id: ::core::primitive::u32, value: ::core::primitive::u128, description: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "ChildBounties", "add_child_bounty", - AddChildBounty { + types::AddChildBounty { parent_bounty_id, value, description, @@ -19252,11 +21505,11 @@ pub mod api { child_bounty_id: ::core::primitive::u32, curator: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, fee: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "ChildBounties", "propose_curator", - ProposeCurator { + types::ProposeCurator { parent_bounty_id, child_bounty_id, curator, @@ -19292,11 +21545,11 @@ pub mod api { &self, parent_bounty_id: ::core::primitive::u32, child_bounty_id: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "ChildBounties", "accept_curator", - AcceptCurator { + types::AcceptCurator { parent_bounty_id, child_bounty_id, }, @@ -19346,11 +21599,11 @@ pub mod api { &self, parent_bounty_id: ::core::primitive::u32, child_bounty_id: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "ChildBounties", "unassign_curator", - UnassignCurator { + types::UnassignCurator { parent_bounty_id, child_bounty_id, }, @@ -19384,11 +21637,11 @@ pub mod api { parent_bounty_id: ::core::primitive::u32, child_bounty_id: ::core::primitive::u32, beneficiary: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "ChildBounties", "award_child_bounty", - AwardChildBounty { + types::AwardChildBounty { parent_bounty_id, child_bounty_id, beneficiary, @@ -19421,11 +21674,11 @@ pub mod api { &self, parent_bounty_id: ::core::primitive::u32, child_bounty_id: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "ChildBounties", "claim_child_bounty", - ClaimChildBounty { + types::ClaimChildBounty { parent_bounty_id, child_bounty_id, }, @@ -19463,11 +21716,11 @@ pub mod api { &self, parent_bounty_id: ::core::primitive::u32, child_bounty_id: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "ChildBounties", "close_child_bounty", - CloseChildBounty { + types::CloseChildBounty { parent_bounty_id, child_bounty_id, }, @@ -19699,7 +21952,9 @@ pub mod api { _0: impl ::std::borrow::Borrow<::core::primitive::u32>, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec<::core::primitive::u8>, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, ::subxt::storage::address::Yes, (), ::subxt::storage::address::Yes, @@ -19723,7 +21978,9 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec<::core::primitive::u8>, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, (), (), ::subxt::storage::address::Yes, @@ -19835,89 +22092,92 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ReportAwesome { - pub reason: ::std::vec::Vec<::core::primitive::u8>, - pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RetractTip { - pub hash: ::subxt::utils::H256, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct TipNew { - pub reason: ::std::vec::Vec<::core::primitive::u8>, - pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - #[codec(compact)] - pub tip_value: ::core::primitive::u128, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Tip { - pub hash: ::subxt::utils::H256, - #[codec(compact)] - pub tip_value: ::core::primitive::u128, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CloseTip { - pub hash: ::subxt::utils::H256, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SlashTip { - pub hash: ::subxt::utils::H256, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReportAwesome { + pub reason: ::std::vec::Vec<::core::primitive::u8>, + pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RetractTip { + pub hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct TipNew { + pub reason: ::std::vec::Vec<::core::primitive::u8>, + pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub tip_value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Tip { + pub hash: ::subxt::utils::H256, + #[codec(compact)] + pub tip_value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CloseTip { + pub hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SlashTip { + pub hash: ::subxt::utils::H256, + } } pub struct TransactionApi; impl TransactionApi { @@ -19934,21 +22194,18 @@ pub mod api { #[doc = ""] #[doc = "Emits `NewTip` if successful."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(R)` where `R` length of `reason`."] + #[doc = "## Complexity"] + #[doc = "- `O(R)` where `R` length of `reason`."] #[doc = " - encoding and hashing of 'reason'"] - #[doc = "- DbReads: `Reasons`, `Tips`"] - #[doc = "- DbWrites: `Reasons`, `Tips`"] - #[doc = "# "] pub fn report_awesome( &self, reason: ::std::vec::Vec<::core::primitive::u8>, who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Tips", "report_awesome", - ReportAwesome { reason, who }, + types::ReportAwesome { reason, who }, [ 126u8, 68u8, 2u8, 54u8, 195u8, 15u8, 43u8, 27u8, 183u8, 254u8, 157u8, 163u8, 252u8, 14u8, 207u8, 251u8, 215u8, 111u8, 98u8, 209u8, 150u8, @@ -19969,20 +22226,17 @@ pub mod api { #[doc = ""] #[doc = "Emits `TipRetracted` if successful."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(1)`"] + #[doc = "## Complexity"] + #[doc = "- `O(1)`"] #[doc = " - Depends on the length of `T::Hash` which is fixed."] - #[doc = "- DbReads: `Tips`, `origin account`"] - #[doc = "- DbWrites: `Reasons`, `Tips`, `origin account`"] - #[doc = "# "] pub fn retract_tip( &self, hash: ::subxt::utils::H256, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Tips", "retract_tip", - RetractTip { hash }, + types::RetractTip { hash }, [ 137u8, 42u8, 229u8, 188u8, 157u8, 195u8, 184u8, 176u8, 64u8, 142u8, 67u8, 175u8, 185u8, 207u8, 214u8, 71u8, 165u8, 29u8, 137u8, 227u8, @@ -20004,25 +22258,22 @@ pub mod api { #[doc = ""] #[doc = "Emits `NewTip` if successful."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(R + T)` where `R` length of `reason`, `T` is the number of tippers."] + #[doc = "## Complexity"] + #[doc = "- `O(R + T)` where `R` length of `reason`, `T` is the number of tippers."] #[doc = " - `O(T)`: decoding `Tipper` vec of length `T`. `T` is charged as upper bound given by"] #[doc = " `ContainsLengthBound`. The actual cost depends on the implementation of"] #[doc = " `T::Tippers`."] #[doc = " - `O(R)`: hashing and encoding of reason of length `R`"] - #[doc = "- DbReads: `Tippers`, `Reasons`"] - #[doc = "- DbWrites: `Reasons`, `Tips`"] - #[doc = "# "] pub fn tip_new( &self, reason: ::std::vec::Vec<::core::primitive::u8>, who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, tip_value: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Tips", "tip_new", - TipNew { + types::TipNew { reason, who, tip_value, @@ -20049,25 +22300,22 @@ pub mod api { #[doc = "Emits `TipClosing` if the threshold of tippers has been reached and the countdown period"] #[doc = "has started."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length"] - #[doc = " `T`, insert tip and check closing, `T` is charged as upper bound given by"] - #[doc = " `ContainsLengthBound`. The actual cost depends on the implementation of `T::Tippers`."] + #[doc = "## Complexity"] + #[doc = "- `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length `T`, insert"] + #[doc = " tip and check closing, `T` is charged as upper bound given by `ContainsLengthBound`."] + #[doc = " The actual cost depends on the implementation of `T::Tippers`."] #[doc = ""] #[doc = " Actually weight could be lower as it depends on how many tips are in `OpenTip` but it"] #[doc = " is weighted as if almost full i.e of length `T-1`."] - #[doc = "- DbReads: `Tippers`, `Tips`"] - #[doc = "- DbWrites: `Tips`"] - #[doc = "# "] pub fn tip( &self, hash: ::subxt::utils::H256, tip_value: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Tips", "tip", - Tip { hash, tip_value }, + types::Tip { hash, tip_value }, [ 133u8, 52u8, 131u8, 14u8, 71u8, 232u8, 254u8, 31u8, 33u8, 206u8, 50u8, 76u8, 56u8, 167u8, 228u8, 202u8, 195u8, 0u8, 164u8, 107u8, 170u8, 98u8, @@ -20084,21 +22332,18 @@ pub mod api { #[doc = "- `hash`: The identity of the open tip for which a tip value is declared. This is formed"] #[doc = " as the hash of the tuple of the original tip `reason` and the beneficiary account ID."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length"] - #[doc = " `T`. `T` is charged as upper bound given by `ContainsLengthBound`. The actual cost"] - #[doc = " depends on the implementation of `T::Tippers`."] - #[doc = "- DbReads: `Tips`, `Tippers`, `tip finder`"] - #[doc = "- DbWrites: `Reasons`, `Tips`, `Tippers`, `tip finder`"] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- : `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length `T`. `T`"] + #[doc = " is charged as upper bound given by `ContainsLengthBound`. The actual cost depends on"] + #[doc = " the implementation of `T::Tippers`."] pub fn close_tip( &self, hash: ::subxt::utils::H256, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Tips", "close_tip", - CloseTip { hash }, + types::CloseTip { hash }, [ 32u8, 53u8, 0u8, 222u8, 45u8, 157u8, 107u8, 174u8, 203u8, 50u8, 81u8, 230u8, 6u8, 111u8, 79u8, 55u8, 49u8, 151u8, 107u8, 114u8, 81u8, 200u8, @@ -20114,18 +22359,16 @@ pub mod api { #[doc = ""] #[doc = "Emits `TipSlashed` if successful."] #[doc = ""] - #[doc = "# "] - #[doc = " `T` is charged as upper bound given by `ContainsLengthBound`."] - #[doc = " The actual cost depends on the implementation of `T::Tippers`."] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- O(1)."] pub fn slash_tip( &self, hash: ::subxt::utils::H256, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Tips", "slash_tip", - SlashTip { hash }, + types::SlashTip { hash }, [ 222u8, 209u8, 22u8, 47u8, 114u8, 230u8, 81u8, 200u8, 131u8, 0u8, 209u8, 54u8, 17u8, 200u8, 175u8, 125u8, 100u8, 254u8, 41u8, 178u8, 20u8, 27u8, @@ -20437,85 +22680,88 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SubmitUnsigned { - pub raw_solution: ::std::boxed::Box< - runtime_types::pallet_election_provider_multi_phase::RawSolution< - runtime_types::polkadot_runtime::NposCompactSolution16, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SubmitUnsigned { + pub raw_solution: ::std::boxed::Box< + runtime_types::pallet_election_provider_multi_phase::RawSolution< + runtime_types::polkadot_runtime::NposCompactSolution16, + >, >, - >, - pub witness: - runtime_types::pallet_election_provider_multi_phase::SolutionOrSnapshotSize, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetMinimumUntrustedScore { - pub maybe_next_score: - ::core::option::Option, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetEmergencyElectionResult { - pub supports: ::std::vec::Vec<( - ::subxt::utils::AccountId32, - runtime_types::sp_npos_elections::Support<::subxt::utils::AccountId32>, - )>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Submit { - pub raw_solution: ::std::boxed::Box< - runtime_types::pallet_election_provider_multi_phase::RawSolution< - runtime_types::polkadot_runtime::NposCompactSolution16, + pub witness: + runtime_types::pallet_election_provider_multi_phase::SolutionOrSnapshotSize, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMinimumUntrustedScore { + pub maybe_next_score: + ::core::option::Option, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetEmergencyElectionResult { + pub supports: ::std::vec::Vec<( + ::subxt::utils::AccountId32, + runtime_types::sp_npos_elections::Support<::subxt::utils::AccountId32>, + )>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Submit { + pub raw_solution: ::std::boxed::Box< + runtime_types::pallet_election_provider_multi_phase::RawSolution< + runtime_types::polkadot_runtime::NposCompactSolution16, + >, >, - >, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct GovernanceFallback { - pub maybe_max_voters: ::core::option::Option<::core::primitive::u32>, - pub maybe_max_targets: ::core::option::Option<::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct GovernanceFallback { + pub maybe_max_voters: ::core::option::Option<::core::primitive::u32>, + pub maybe_max_targets: ::core::option::Option<::core::primitive::u32>, + } } pub struct TransactionApi; impl TransactionApi { @@ -20539,11 +22785,11 @@ pub mod api { runtime_types::polkadot_runtime::NposCompactSolution16, >, witness : runtime_types :: pallet_election_provider_multi_phase :: SolutionOrSnapshotSize, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "ElectionProviderMultiPhase", "submit_unsigned", - SubmitUnsigned { + types::SubmitUnsigned { raw_solution: ::std::boxed::Box::new(raw_solution), witness, }, @@ -20564,11 +22810,11 @@ pub mod api { maybe_next_score: ::core::option::Option< runtime_types::sp_npos_elections::ElectionScore, >, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "ElectionProviderMultiPhase", "set_minimum_untrusted_score", - SetMinimumUntrustedScore { maybe_next_score }, + types::SetMinimumUntrustedScore { maybe_next_score }, [ 63u8, 101u8, 105u8, 146u8, 133u8, 162u8, 149u8, 112u8, 150u8, 219u8, 183u8, 213u8, 234u8, 211u8, 144u8, 74u8, 106u8, 15u8, 62u8, 196u8, @@ -20590,11 +22836,11 @@ pub mod api { ::subxt::utils::AccountId32, runtime_types::sp_npos_elections::Support<::subxt::utils::AccountId32>, )>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "ElectionProviderMultiPhase", "set_emergency_election_result", - SetEmergencyElectionResult { supports }, + types::SetEmergencyElectionResult { supports }, [ 115u8, 255u8, 205u8, 58u8, 153u8, 1u8, 246u8, 8u8, 225u8, 36u8, 66u8, 144u8, 250u8, 145u8, 70u8, 76u8, 54u8, 63u8, 251u8, 51u8, 214u8, 204u8, @@ -20616,11 +22862,11 @@ pub mod api { raw_solution: runtime_types::pallet_election_provider_multi_phase::RawSolution< runtime_types::polkadot_runtime::NposCompactSolution16, >, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "ElectionProviderMultiPhase", "submit", - Submit { + types::Submit { raw_solution: ::std::boxed::Box::new(raw_solution), }, [ @@ -20639,11 +22885,11 @@ pub mod api { &self, maybe_max_voters: ::core::option::Option<::core::primitive::u32>, maybe_max_targets: ::core::option::Option<::core::primitive::u32>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "ElectionProviderMultiPhase", "governance_fallback", - GovernanceFallback { + types::GovernanceFallback { maybe_max_voters, maybe_max_targets, }, @@ -20672,12 +22918,14 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A solution was stored with the given compute."] #[doc = ""] - #[doc = "If the solution is signed, this means that it hasn't yet been processed. If the"] - #[doc = "solution is unsigned, this means that it has also been processed."] - #[doc = ""] - #[doc = "The `bool` is `true` when a previous solution was ejected to make room for this one."] + #[doc = "The `origin` indicates the origin of the solution. If `origin` is `Some(AccountId)`,"] + #[doc = "the stored solution was submited in the signed phase by a miner with the `AccountId`."] + #[doc = "Otherwise, the solution was stored either during the unsigned phase or by"] + #[doc = "`T::ForceOrigin`. The `bool` is `true` when a previous solution was ejected to make"] + #[doc = "room for this one."] pub struct SolutionStored { pub compute: runtime_types::pallet_election_provider_multi_phase::ElectionCompute, + pub origin: ::core::option::Option<::subxt::utils::AccountId32>, pub prev_ejected: ::core::primitive::bool, } impl ::subxt::events::StaticEvent for SolutionStored { @@ -20760,7 +23008,6 @@ pub mod api { const EVENT: &'static str = "Slashed"; } #[derive( - :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, :: subxt :: ext :: scale_decode :: DecodeAsType, @@ -20770,32 +23017,19 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The signed phase of the given round has started."] - pub struct SignedPhaseStarted { + #[doc = "There was a phase transition in a given round."] + pub struct PhaseTransitioned { + pub from: runtime_types::pallet_election_provider_multi_phase::Phase< + ::core::primitive::u32, + >, + pub to: runtime_types::pallet_election_provider_multi_phase::Phase< + ::core::primitive::u32, + >, pub round: ::core::primitive::u32, } - impl ::subxt::events::StaticEvent for SignedPhaseStarted { + impl ::subxt::events::StaticEvent for PhaseTransitioned { const PALLET: &'static str = "ElectionProviderMultiPhase"; - const EVENT: &'static str = "SignedPhaseStarted"; - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The unsigned phase of the given round has started."] - pub struct UnsignedPhaseStarted { - pub round: ::core::primitive::u32, - } - impl ::subxt::events::StaticEvent for UnsignedPhaseStarted { - const PALLET: &'static str = "ElectionProviderMultiPhase"; - const EVENT: &'static str = "UnsignedPhaseStarted"; + const EVENT: &'static str = "PhaseTransitioned"; } } pub mod storage { @@ -20880,7 +23114,16 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_election_provider_multi_phase::RoundSnapshot, + runtime_types::pallet_election_provider_multi_phase::RoundSnapshot< + ::subxt::utils::AccountId32, + ( + ::subxt::utils::AccountId32, + ::core::primitive::u64, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::subxt::utils::AccountId32, + >, + ), + >, ::subxt::storage::address::Yes, (), (), @@ -20982,7 +23225,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + runtime_types::bounded_collections::bounded_vec::BoundedVec<( runtime_types::sp_npos_elections::ElectionScore, ::core::primitive::u32, ::core::primitive::u32, @@ -21395,6 +23638,20 @@ pub mod api { ], ) } + pub fn miner_max_winners( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "ElectionProviderMultiPhase", + "MinerMaxWinners", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } } } } @@ -21408,31 +23665,34 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Rebag { - pub dislocated: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct PutInFrontOf { - pub lighter: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Rebag { + pub dislocated: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PutInFrontOf { + pub lighter: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } } pub struct TransactionApi; impl TransactionApi { @@ -21449,11 +23709,11 @@ pub mod api { pub fn rebag( &self, dislocated: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "VoterList", "rebag", - Rebag { dislocated }, + types::Rebag { dislocated }, [ 35u8, 182u8, 31u8, 22u8, 190u8, 187u8, 31u8, 138u8, 60u8, 48u8, 236u8, 16u8, 191u8, 143u8, 52u8, 110u8, 228u8, 43u8, 116u8, 13u8, 171u8, @@ -21473,11 +23733,11 @@ pub mod api { pub fn put_in_front_of( &self, lighter: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "VoterList", "put_in_front_of", - PutInFrontOf { lighter }, + types::PutInFrontOf { lighter }, [ 184u8, 194u8, 39u8, 91u8, 28u8, 220u8, 76u8, 199u8, 64u8, 252u8, 233u8, 241u8, 74u8, 19u8, 246u8, 190u8, 108u8, 227u8, 77u8, 162u8, 225u8, @@ -21731,220 +23991,333 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Join { - #[codec(compact)] - pub amount: ::core::primitive::u128, - pub pool_id: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct BondExtra { - pub extra: - runtime_types::pallet_nomination_pools::BondExtra<::core::primitive::u128>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ClaimPayout; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Unbond { - pub member_account: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - #[codec(compact)] - pub unbonding_points: ::core::primitive::u128, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct PoolWithdrawUnbonded { - pub pool_id: ::core::primitive::u32, - pub num_slashing_spans: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct WithdrawUnbonded { - pub member_account: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub num_slashing_spans: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Create { - #[codec(compact)] - pub amount: ::core::primitive::u128, - pub root: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub nominator: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub state_toggler: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CreateWithPoolId { - #[codec(compact)] - pub amount: ::core::primitive::u128, - pub root: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub nominator: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub state_toggler: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub pool_id: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Nominate { - pub pool_id: ::core::primitive::u32, - pub validators: ::std::vec::Vec<::subxt::utils::AccountId32>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetState { - pub pool_id: ::core::primitive::u32, - pub state: runtime_types::pallet_nomination_pools::PoolState, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetMetadata { - pub pool_id: ::core::primitive::u32, - pub metadata: ::std::vec::Vec<::core::primitive::u8>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetConfigs { - pub min_join_bond: - runtime_types::pallet_nomination_pools::ConfigOp<::core::primitive::u128>, - pub min_create_bond: - runtime_types::pallet_nomination_pools::ConfigOp<::core::primitive::u128>, - pub max_pools: - runtime_types::pallet_nomination_pools::ConfigOp<::core::primitive::u32>, - pub max_members: - runtime_types::pallet_nomination_pools::ConfigOp<::core::primitive::u32>, - pub max_members_per_pool: - runtime_types::pallet_nomination_pools::ConfigOp<::core::primitive::u32>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct UpdateRoles { - pub pool_id: ::core::primitive::u32, - pub new_root: - runtime_types::pallet_nomination_pools::ConfigOp<::subxt::utils::AccountId32>, - pub new_nominator: - runtime_types::pallet_nomination_pools::ConfigOp<::subxt::utils::AccountId32>, - pub new_state_toggler: - runtime_types::pallet_nomination_pools::ConfigOp<::subxt::utils::AccountId32>, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Chill { - pub pool_id: ::core::primitive::u32, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Join { + #[codec(compact)] + pub amount: ::core::primitive::u128, + pub pool_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BondExtra { + pub extra: + runtime_types::pallet_nomination_pools::BondExtra<::core::primitive::u128>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ClaimPayout; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Unbond { + pub member_account: + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub unbonding_points: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PoolWithdrawUnbonded { + pub pool_id: ::core::primitive::u32, + pub num_slashing_spans: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct WithdrawUnbonded { + pub member_account: + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub num_slashing_spans: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Create { + #[codec(compact)] + pub amount: ::core::primitive::u128, + pub root: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub nominator: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub bouncer: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CreateWithPoolId { + #[codec(compact)] + pub amount: ::core::primitive::u128, + pub root: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub nominator: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub bouncer: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub pool_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Nominate { + pub pool_id: ::core::primitive::u32, + pub validators: ::std::vec::Vec<::subxt::utils::AccountId32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetState { + pub pool_id: ::core::primitive::u32, + pub state: runtime_types::pallet_nomination_pools::PoolState, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMetadata { + pub pool_id: ::core::primitive::u32, + pub metadata: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetConfigs { + pub min_join_bond: + runtime_types::pallet_nomination_pools::ConfigOp<::core::primitive::u128>, + pub min_create_bond: + runtime_types::pallet_nomination_pools::ConfigOp<::core::primitive::u128>, + pub max_pools: + runtime_types::pallet_nomination_pools::ConfigOp<::core::primitive::u32>, + pub max_members: + runtime_types::pallet_nomination_pools::ConfigOp<::core::primitive::u32>, + pub max_members_per_pool: + runtime_types::pallet_nomination_pools::ConfigOp<::core::primitive::u32>, + pub global_max_commission: runtime_types::pallet_nomination_pools::ConfigOp< + runtime_types::sp_arithmetic::per_things::Perbill, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UpdateRoles { + pub pool_id: ::core::primitive::u32, + pub new_root: runtime_types::pallet_nomination_pools::ConfigOp< + ::subxt::utils::AccountId32, + >, + pub new_nominator: runtime_types::pallet_nomination_pools::ConfigOp< + ::subxt::utils::AccountId32, + >, + pub new_bouncer: runtime_types::pallet_nomination_pools::ConfigOp< + ::subxt::utils::AccountId32, + >, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Chill { + pub pool_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BondExtraOther { + pub member: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub extra: + runtime_types::pallet_nomination_pools::BondExtra<::core::primitive::u128>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetClaimPermission { + pub permission: runtime_types::pallet_nomination_pools::ClaimPermission, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ClaimPayoutOther { + pub other: ::subxt::utils::AccountId32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetCommission { + pub pool_id: ::core::primitive::u32, + pub new_commission: ::core::option::Option<( + runtime_types::sp_arithmetic::per_things::Perbill, + ::subxt::utils::AccountId32, + )>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetCommissionMax { + pub pool_id: ::core::primitive::u32, + pub max_commission: runtime_types::sp_arithmetic::per_things::Perbill, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetCommissionChangeRate { + pub pool_id: ::core::primitive::u32, + pub change_rate: runtime_types::pallet_nomination_pools::CommissionChangeRate< + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ClaimCommission { + pub pool_id: ::core::primitive::u32, + } } pub struct TransactionApi; impl TransactionApi { @@ -21962,11 +24335,11 @@ pub mod api { &self, amount: ::core::primitive::u128, pool_id: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "NominationPools", "join", - Join { amount, pool_id }, + types::Join { amount, pool_id }, [ 205u8, 66u8, 42u8, 72u8, 146u8, 148u8, 119u8, 162u8, 101u8, 183u8, 46u8, 176u8, 221u8, 204u8, 197u8, 20u8, 75u8, 226u8, 29u8, 118u8, @@ -21981,16 +24354,17 @@ pub mod api { #[doc = "accumulated rewards, see [`BondExtra`]."] #[doc = ""] #[doc = "Bonding extra funds implies an automatic payout of all pending rewards as well."] + #[doc = "See `bond_extra_other` to bond pending rewards of `other` members."] pub fn bond_extra( &self, extra: runtime_types::pallet_nomination_pools::BondExtra< ::core::primitive::u128, >, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "NominationPools", "bond_extra", - BondExtra { extra }, + types::BondExtra { extra }, [ 50u8, 72u8, 181u8, 216u8, 249u8, 27u8, 250u8, 177u8, 253u8, 22u8, 240u8, 100u8, 184u8, 202u8, 197u8, 34u8, 21u8, 188u8, 248u8, 191u8, @@ -22000,16 +24374,18 @@ pub mod api { ) } #[doc = "A bonded member can use this to claim their payout based on the rewards that the pool"] - #[doc = "has accumulated since their last claimed payout (OR since joining if this is there first"] + #[doc = "has accumulated since their last claimed payout (OR since joining if this is their first"] #[doc = "time claiming rewards). The payout will be transferred to the member's account."] #[doc = ""] #[doc = "The member will earn rewards pro rata based on the members stake vs the sum of the"] #[doc = "members in the pools stake. Rewards do not \"expire\"."] - pub fn claim_payout(&self) -> ::subxt::tx::Payload { + #[doc = ""] + #[doc = "See `claim_payout_other` to caim rewards on bahalf of some `other` pool member."] + pub fn claim_payout(&self) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "NominationPools", "claim_payout", - ClaimPayout {}, + types::ClaimPayout {}, [ 128u8, 58u8, 138u8, 55u8, 64u8, 16u8, 129u8, 25u8, 211u8, 229u8, 193u8, 115u8, 47u8, 45u8, 155u8, 221u8, 218u8, 1u8, 222u8, 5u8, 236u8, 32u8, @@ -22026,8 +24402,8 @@ pub mod api { #[doc = ""] #[doc = "# Conditions for a permissionless dispatch."] #[doc = ""] - #[doc = "* The pool is blocked and the caller is either the root or state-toggler. This is"] - #[doc = " refereed to as a kick."] + #[doc = "* The pool is blocked and the caller is either the root or bouncer. This is refereed to"] + #[doc = " as a kick."] #[doc = "* The pool is destroying and the member is not the depositor."] #[doc = "* The pool is destroying, the member is the depositor and no other members are in the"] #[doc = " pool."] @@ -22042,18 +24418,21 @@ pub mod api { #[doc = "# Note"] #[doc = ""] #[doc = "If there are too many unlocking chunks to unbond with the pool account,"] - #[doc = "[`Call::pool_withdraw_unbonded`] can be called to try and minimize unlocking chunks. If"] - #[doc = "there are too many unlocking chunks, the result of this call will likely be the"] - #[doc = "`NoMoreChunks` error from the staking system."] + #[doc = "[`Call::pool_withdraw_unbonded`] can be called to try and minimize unlocking chunks."] + #[doc = "The [`StakingInterface::unbond`] will implicitly call [`Call::pool_withdraw_unbonded`]"] + #[doc = "to try to free chunks if necessary (ie. if unbound was called and no unlocking chunks"] + #[doc = "are available). However, it may not be possible to release the current unlocking chunks,"] + #[doc = "in which case, the result of this call will likely be the `NoMoreChunks` error from the"] + #[doc = "staking system."] pub fn unbond( &self, member_account: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, unbonding_points: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "NominationPools", "unbond", - Unbond { + types::Unbond { member_account, unbonding_points, }, @@ -22074,11 +24453,11 @@ pub mod api { &self, pool_id: ::core::primitive::u32, num_slashing_spans: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "NominationPools", "pool_withdraw_unbonded", - PoolWithdrawUnbonded { + types::PoolWithdrawUnbonded { pool_id, num_slashing_spans, }, @@ -22100,7 +24479,7 @@ pub mod api { #[doc = ""] #[doc = "* The pool is in destroy mode and the target is not the depositor."] #[doc = "* The target is the depositor and they are the only member in the sub pools."] - #[doc = "* The pool is blocked and the caller is either the root or state-toggler."] + #[doc = "* The pool is blocked and the caller is either the root or bouncer."] #[doc = ""] #[doc = "# Conditions for permissioned dispatch"] #[doc = ""] @@ -22113,11 +24492,11 @@ pub mod api { &self, member_account: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, num_slashing_spans: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "NominationPools", "withdraw_unbonded", - WithdrawUnbonded { + types::WithdrawUnbonded { member_account, num_slashing_spans, }, @@ -22140,7 +24519,7 @@ pub mod api { #[doc = " creating multiple pools in the same extrinsic."] #[doc = "* `root` - The account to set as [`PoolRoles::root`]."] #[doc = "* `nominator` - The account to set as the [`PoolRoles::nominator`]."] - #[doc = "* `state_toggler` - The account to set as the [`PoolRoles::state_toggler`]."] + #[doc = "* `bouncer` - The account to set as the [`PoolRoles::bouncer`]."] #[doc = ""] #[doc = "# Note"] #[doc = ""] @@ -22151,21 +24530,22 @@ pub mod api { amount: ::core::primitive::u128, root: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, nominator: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - state_toggler: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - ) -> ::subxt::tx::Payload { + bouncer: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "NominationPools", "create", - Create { + types::Create { amount, root, nominator, - state_toggler, + bouncer, }, [ - 176u8, 210u8, 154u8, 87u8, 218u8, 250u8, 117u8, 90u8, 80u8, 191u8, - 252u8, 146u8, 29u8, 228u8, 36u8, 15u8, 125u8, 102u8, 87u8, 50u8, 146u8, - 108u8, 96u8, 145u8, 135u8, 189u8, 18u8, 159u8, 21u8, 74u8, 165u8, 33u8, + 182u8, 114u8, 123u8, 215u8, 240u8, 217u8, 208u8, 165u8, 237u8, 1u8, + 215u8, 183u8, 218u8, 125u8, 71u8, 229u8, 68u8, 142u8, 60u8, 76u8, + 101u8, 242u8, 218u8, 61u8, 165u8, 203u8, 233u8, 241u8, 130u8, 13u8, + 76u8, 214u8, ], ) } @@ -22180,23 +24560,23 @@ pub mod api { amount: ::core::primitive::u128, root: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, nominator: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - state_toggler: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + bouncer: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, pool_id: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "NominationPools", "create_with_pool_id", - CreateWithPoolId { + types::CreateWithPoolId { amount, root, nominator, - state_toggler, + bouncer, pool_id, }, [ - 234u8, 228u8, 116u8, 171u8, 77u8, 41u8, 166u8, 254u8, 20u8, 78u8, 38u8, - 28u8, 144u8, 58u8, 2u8, 64u8, 11u8, 27u8, 124u8, 215u8, 8u8, 10u8, - 172u8, 189u8, 118u8, 131u8, 102u8, 191u8, 251u8, 208u8, 167u8, 103u8, + 76u8, 77u8, 158u8, 172u8, 4u8, 68u8, 53u8, 249u8, 156u8, 91u8, 19u8, + 151u8, 58u8, 199u8, 179u8, 0u8, 186u8, 152u8, 157u8, 28u8, 65u8, 227u8, + 133u8, 101u8, 102u8, 205u8, 68u8, 245u8, 104u8, 151u8, 146u8, 76u8, ], ) } @@ -22211,11 +24591,11 @@ pub mod api { &self, pool_id: ::core::primitive::u32, validators: ::std::vec::Vec<::subxt::utils::AccountId32>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "NominationPools", "nominate", - Nominate { + types::Nominate { pool_id, validators, }, @@ -22233,18 +24613,18 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin of this call must be either:"] #[doc = ""] - #[doc = "1. signed by the state toggler, or the root role of the pool,"] + #[doc = "1. signed by the bouncer, or the root role of the pool,"] #[doc = "2. if the pool conditions to be open are NOT met (as described by `ok_to_be_open`), and"] #[doc = " then the state of the pool can be permissionlessly changed to `Destroying`."] pub fn set_state( &self, pool_id: ::core::primitive::u32, state: runtime_types::pallet_nomination_pools::PoolState, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "NominationPools", "set_state", - SetState { pool_id, state }, + types::SetState { pool_id, state }, [ 104u8, 40u8, 213u8, 88u8, 159u8, 115u8, 35u8, 249u8, 78u8, 180u8, 99u8, 1u8, 225u8, 218u8, 192u8, 151u8, 25u8, 194u8, 192u8, 187u8, 39u8, @@ -22255,17 +24635,17 @@ pub mod api { } #[doc = "Set a new metadata for the pool."] #[doc = ""] - #[doc = "The dispatch origin of this call must be signed by the state toggler, or the root role"] - #[doc = "of the pool."] + #[doc = "The dispatch origin of this call must be signed by the bouncer, or the root role of the"] + #[doc = "pool."] pub fn set_metadata( &self, pool_id: ::core::primitive::u32, metadata: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "NominationPools", "set_metadata", - SetMetadata { pool_id, metadata }, + types::SetMetadata { pool_id, metadata }, [ 156u8, 81u8, 170u8, 161u8, 34u8, 100u8, 183u8, 174u8, 5u8, 81u8, 31u8, 76u8, 12u8, 42u8, 77u8, 1u8, 6u8, 26u8, 168u8, 7u8, 8u8, 115u8, 158u8, @@ -22283,6 +24663,7 @@ pub mod api { #[doc = "* `max_pools` - Set [`MaxPools`]."] #[doc = "* `max_members` - Set [`MaxPoolMembers`]."] #[doc = "* `max_members_per_pool` - Set [`MaxPoolMembersPerPool`]."] + #[doc = "* `global_max_commission` - Set [`GlobalMaxCommission`]."] pub fn set_configs( &self, min_join_bond: runtime_types::pallet_nomination_pools::ConfigOp< @@ -22300,21 +24681,26 @@ pub mod api { max_members_per_pool: runtime_types::pallet_nomination_pools::ConfigOp< ::core::primitive::u32, >, - ) -> ::subxt::tx::Payload { + global_max_commission: runtime_types::pallet_nomination_pools::ConfigOp< + runtime_types::sp_arithmetic::per_things::Perbill, + >, + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "NominationPools", "set_configs", - SetConfigs { + types::SetConfigs { min_join_bond, min_create_bond, max_pools, max_members, max_members_per_pool, + global_max_commission, }, [ - 143u8, 196u8, 211u8, 30u8, 71u8, 15u8, 150u8, 243u8, 7u8, 178u8, 179u8, - 168u8, 40u8, 116u8, 220u8, 140u8, 18u8, 206u8, 6u8, 189u8, 190u8, 37u8, - 68u8, 41u8, 45u8, 233u8, 247u8, 172u8, 185u8, 34u8, 243u8, 187u8, + 20u8, 66u8, 112u8, 172u8, 143u8, 78u8, 60u8, 159u8, 240u8, 102u8, + 245u8, 10u8, 207u8, 27u8, 99u8, 138u8, 217u8, 239u8, 101u8, 190u8, + 222u8, 253u8, 53u8, 77u8, 230u8, 225u8, 101u8, 109u8, 50u8, 144u8, + 31u8, 121u8, ], ) } @@ -22334,23 +24720,24 @@ pub mod api { new_nominator: runtime_types::pallet_nomination_pools::ConfigOp< ::subxt::utils::AccountId32, >, - new_state_toggler: runtime_types::pallet_nomination_pools::ConfigOp< + new_bouncer: runtime_types::pallet_nomination_pools::ConfigOp< ::subxt::utils::AccountId32, >, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "NominationPools", "update_roles", - UpdateRoles { + types::UpdateRoles { pool_id, new_root, new_nominator, - new_state_toggler, + new_bouncer, }, [ - 247u8, 95u8, 234u8, 56u8, 181u8, 229u8, 158u8, 97u8, 69u8, 165u8, 38u8, - 17u8, 27u8, 209u8, 204u8, 250u8, 91u8, 193u8, 35u8, 93u8, 215u8, 131u8, - 148u8, 73u8, 67u8, 188u8, 92u8, 32u8, 34u8, 37u8, 113u8, 93u8, + 15u8, 154u8, 204u8, 28u8, 204u8, 120u8, 174u8, 203u8, 186u8, 33u8, + 123u8, 201u8, 143u8, 120u8, 193u8, 49u8, 164u8, 178u8, 55u8, 234u8, + 126u8, 247u8, 123u8, 73u8, 147u8, 107u8, 43u8, 72u8, 217u8, 4u8, 199u8, + 253u8, ], ) } @@ -22364,11 +24751,11 @@ pub mod api { pub fn chill( &self, pool_id: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "NominationPools", "chill", - Chill { pool_id }, + types::Chill { pool_id }, [ 41u8, 114u8, 128u8, 121u8, 244u8, 15u8, 15u8, 52u8, 129u8, 88u8, 239u8, 167u8, 216u8, 38u8, 123u8, 240u8, 172u8, 229u8, 132u8, 64u8, 175u8, @@ -22376,6 +24763,177 @@ pub mod api { ], ) } + #[doc = "`origin` bonds funds from `extra` for some pool member `member` into their respective"] + #[doc = "pools."] + #[doc = ""] + #[doc = "`origin` can bond extra funds from free balance or pending rewards when `origin =="] + #[doc = "other`."] + #[doc = ""] + #[doc = "In the case of `origin != other`, `origin` can only bond extra pending rewards of"] + #[doc = "`other` members assuming set_claim_permission for the given member is"] + #[doc = "`PermissionlessAll` or `PermissionlessCompound`."] + pub fn bond_extra_other( + &self, + member: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + extra: runtime_types::pallet_nomination_pools::BondExtra< + ::core::primitive::u128, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "bond_extra_other", + types::BondExtraOther { member, extra }, + [ + 13u8, 60u8, 161u8, 6u8, 191u8, 248u8, 61u8, 226u8, 192u8, 37u8, 44u8, + 146u8, 250u8, 213u8, 235u8, 147u8, 0u8, 14u8, 147u8, 11u8, 14u8, 126u8, + 70u8, 240u8, 83u8, 26u8, 95u8, 49u8, 52u8, 15u8, 185u8, 162u8, + ], + ) + } + #[doc = "Allows a pool member to set a claim permission to allow or disallow permissionless"] + #[doc = "bonding and withdrawing."] + #[doc = ""] + #[doc = "By default, this is `Permissioned`, which implies only the pool member themselves can"] + #[doc = "claim their pending rewards. If a pool member wishes so, they can set this to"] + #[doc = "`PermissionlessAll` to allow any account to claim their rewards and bond extra to the"] + #[doc = "pool."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Member of a pool."] + #[doc = "* `actor` - Account to claim reward. // improve this"] + pub fn set_claim_permission( + &self, + permission: runtime_types::pallet_nomination_pools::ClaimPermission, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "set_claim_permission", + types::SetClaimPermission { permission }, + [ + 23u8, 253u8, 135u8, 53u8, 83u8, 71u8, 182u8, 223u8, 123u8, 57u8, 93u8, + 154u8, 110u8, 91u8, 63u8, 241u8, 144u8, 218u8, 129u8, 238u8, 169u8, + 9u8, 215u8, 76u8, 65u8, 168u8, 103u8, 44u8, 40u8, 39u8, 34u8, 16u8, + ], + ) + } + #[doc = "`origin` can claim payouts on some pool member `other`'s behalf."] + #[doc = ""] + #[doc = "Pool member `other` must have a `PermissionlessAll` or `PermissionlessWithdraw` in order"] + #[doc = "for this call to be successful."] + pub fn claim_payout_other( + &self, + other: ::subxt::utils::AccountId32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "claim_payout_other", + types::ClaimPayoutOther { other }, + [ + 52u8, 165u8, 191u8, 125u8, 180u8, 54u8, 27u8, 235u8, 195u8, 22u8, 55u8, + 183u8, 209u8, 63u8, 116u8, 88u8, 154u8, 74u8, 100u8, 103u8, 88u8, 76u8, + 35u8, 14u8, 39u8, 156u8, 219u8, 253u8, 123u8, 104u8, 168u8, 76u8, + ], + ) + } + #[doc = "Set the commission of a pool."] + #[doc = "Both a commission percentage and a commission payee must be provided in the `current`"] + #[doc = "tuple. Where a `current` of `None` is provided, any current commission will be removed."] + #[doc = ""] + #[doc = "- If a `None` is supplied to `new_commission`, existing commission will be removed."] + pub fn set_commission( + &self, + pool_id: ::core::primitive::u32, + new_commission: ::core::option::Option<( + runtime_types::sp_arithmetic::per_things::Perbill, + ::subxt::utils::AccountId32, + )>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "set_commission", + types::SetCommission { + pool_id, + new_commission, + }, + [ + 118u8, 240u8, 166u8, 40u8, 247u8, 44u8, 23u8, 92u8, 4u8, 78u8, 156u8, + 21u8, 178u8, 97u8, 197u8, 148u8, 61u8, 234u8, 15u8, 94u8, 248u8, 188u8, + 211u8, 13u8, 134u8, 10u8, 75u8, 59u8, 218u8, 13u8, 104u8, 115u8, + ], + ) + } + #[doc = "Set the maximum commission of a pool."] + #[doc = ""] + #[doc = "- Initial max can be set to any `Perbill`, and only smaller values thereafter."] + #[doc = "- Current commission will be lowered in the event it is higher than a new max"] + #[doc = " commission."] + pub fn set_commission_max( + &self, + pool_id: ::core::primitive::u32, + max_commission: runtime_types::sp_arithmetic::per_things::Perbill, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "set_commission_max", + types::SetCommissionMax { + pool_id, + max_commission, + }, + [ + 115u8, 90u8, 156u8, 35u8, 7u8, 125u8, 184u8, 123u8, 149u8, 232u8, 59u8, + 21u8, 42u8, 120u8, 14u8, 152u8, 184u8, 167u8, 18u8, 22u8, 148u8, 83u8, + 16u8, 81u8, 93u8, 182u8, 154u8, 182u8, 46u8, 40u8, 179u8, 187u8, + ], + ) + } + #[doc = "Set the commission change rate for a pool."] + #[doc = ""] + #[doc = "Initial change rate is not bounded, whereas subsequent updates can only be more"] + #[doc = "restrictive than the current."] + pub fn set_commission_change_rate( + &self, + pool_id: ::core::primitive::u32, + change_rate: runtime_types::pallet_nomination_pools::CommissionChangeRate< + ::core::primitive::u32, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "set_commission_change_rate", + types::SetCommissionChangeRate { + pool_id, + change_rate, + }, + [ + 118u8, 194u8, 114u8, 197u8, 214u8, 246u8, 23u8, 237u8, 10u8, 90u8, + 230u8, 123u8, 172u8, 174u8, 98u8, 198u8, 160u8, 71u8, 113u8, 76u8, + 201u8, 201u8, 153u8, 92u8, 222u8, 252u8, 7u8, 184u8, 236u8, 235u8, + 126u8, 201u8, + ], + ) + } + #[doc = "Claim pending commission."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed by the `root` role of the pool. Pending"] + #[doc = "commission is paid out and added to total claimed commission`. Total pending commission"] + #[doc = "is reset to zero. the current."] + pub fn claim_commission( + &self, + pool_id: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "claim_commission", + types::ClaimCommission { pool_id }, + [ + 139u8, 126u8, 219u8, 117u8, 140u8, 51u8, 163u8, 32u8, 83u8, 60u8, + 250u8, 44u8, 186u8, 194u8, 225u8, 84u8, 61u8, 181u8, 212u8, 160u8, + 156u8, 93u8, 16u8, 255u8, 165u8, 178u8, 25u8, 64u8, 187u8, 29u8, 169u8, + 174u8, + ], + ) + } } } #[doc = "Events of this pallet."] @@ -22573,7 +25131,7 @@ pub mod api { #[doc = "can never change."] pub struct RolesUpdated { pub root: ::core::option::Option<::subxt::utils::AccountId32>, - pub state_toggler: ::core::option::Option<::subxt::utils::AccountId32>, + pub bouncer: ::core::option::Option<::subxt::utils::AccountId32>, pub nominator: ::core::option::Option<::subxt::utils::AccountId32>, } impl ::subxt::events::StaticEvent for RolesUpdated { @@ -22619,6 +25177,87 @@ pub mod api { const PALLET: &'static str = "NominationPools"; const EVENT: &'static str = "UnbondingPoolSlashed"; } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A pool's commission setting has been changed."] + pub struct PoolCommissionUpdated { + pub pool_id: ::core::primitive::u32, + pub current: ::core::option::Option<( + runtime_types::sp_arithmetic::per_things::Perbill, + ::subxt::utils::AccountId32, + )>, + } + impl ::subxt::events::StaticEvent for PoolCommissionUpdated { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "PoolCommissionUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A pool's maximum commission setting has been changed."] + pub struct PoolMaxCommissionUpdated { + pub pool_id: ::core::primitive::u32, + pub max_commission: runtime_types::sp_arithmetic::per_things::Perbill, + } + impl ::subxt::events::StaticEvent for PoolMaxCommissionUpdated { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "PoolMaxCommissionUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A pool's commission `change_rate` has been changed."] + pub struct PoolCommissionChangeRateUpdated { + pub pool_id: ::core::primitive::u32, + pub change_rate: runtime_types::pallet_nomination_pools::CommissionChangeRate< + ::core::primitive::u32, + >, + } + impl ::subxt::events::StaticEvent for PoolCommissionChangeRateUpdated { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "PoolCommissionChangeRateUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Pool commission has been claimed."] + pub struct PoolCommissionClaimed { + pub pool_id: ::core::primitive::u32, + pub commission: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for PoolCommissionClaimed { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "PoolCommissionClaimed"; + } } pub mod storage { use super::runtime_types; @@ -22740,7 +25379,33 @@ pub mod api { ], ) } + #[doc = " The maximum commission that can be charged by a pool. Used on commission payouts to bound"] + #[doc = " pool commissions that are > `GlobalMaxCommission`, necessary if a future"] + #[doc = " `GlobalMaxCommission` is lower than some current pool commissions."] + pub fn global_max_commission( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_arithmetic::per_things::Perbill, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "GlobalMaxCommission", + vec![], + [ + 142u8, 252u8, 92u8, 128u8, 162u8, 4u8, 216u8, 39u8, 118u8, 201u8, + 138u8, 171u8, 76u8, 90u8, 133u8, 176u8, 161u8, 138u8, 214u8, 183u8, + 193u8, 115u8, 245u8, 151u8, 216u8, 84u8, 99u8, 175u8, 144u8, 196u8, + 103u8, 190u8, + ], + ) + } #[doc = " Active members."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] pub fn pool_members( &self, _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, @@ -22766,6 +25431,8 @@ pub mod api { ) } #[doc = " Active members."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] pub fn pool_members_root( &self, ) -> ::subxt::storage::address::Address< @@ -22827,9 +25494,10 @@ pub mod api { _0.borrow(), )], [ - 34u8, 51u8, 86u8, 95u8, 237u8, 118u8, 40u8, 212u8, 128u8, 227u8, 113u8, - 6u8, 116u8, 28u8, 96u8, 223u8, 63u8, 249u8, 33u8, 152u8, 61u8, 7u8, - 205u8, 220u8, 221u8, 174u8, 207u8, 39u8, 53u8, 176u8, 13u8, 74u8, + 3u8, 183u8, 140u8, 154u8, 74u8, 225u8, 69u8, 243u8, 150u8, 132u8, + 163u8, 26u8, 101u8, 45u8, 231u8, 178u8, 85u8, 144u8, 9u8, 112u8, 212u8, + 167u8, 131u8, 188u8, 203u8, 50u8, 177u8, 218u8, 154u8, 182u8, 80u8, + 232u8, ], ) } @@ -22848,9 +25516,10 @@ pub mod api { "BondedPools", Vec::new(), [ - 34u8, 51u8, 86u8, 95u8, 237u8, 118u8, 40u8, 212u8, 128u8, 227u8, 113u8, - 6u8, 116u8, 28u8, 96u8, 223u8, 63u8, 249u8, 33u8, 152u8, 61u8, 7u8, - 205u8, 220u8, 221u8, 174u8, 207u8, 39u8, 53u8, 176u8, 13u8, 74u8, + 3u8, 183u8, 140u8, 154u8, 74u8, 225u8, 69u8, 243u8, 150u8, 132u8, + 163u8, 26u8, 101u8, 45u8, 231u8, 178u8, 85u8, 144u8, 9u8, 112u8, 212u8, + 167u8, 131u8, 188u8, 203u8, 50u8, 177u8, 218u8, 154u8, 182u8, 80u8, + 232u8, ], ) } @@ -22876,8 +25545,8 @@ pub mod api { ], ) } - #[doc = " Reward pools. This is where there rewards for each pool accumulate. When a members payout"] - #[doc = " is claimed, the balance comes out fo the reward pool. Keyed by the bonded pools account."] + #[doc = " Reward pools. This is where there rewards for each pool accumulate. When a members payout is"] + #[doc = " claimed, the balance comes out fo the reward pool. Keyed by the bonded pools account."] pub fn reward_pools( &self, _0: impl ::std::borrow::Borrow<::core::primitive::u32>, @@ -22895,14 +25564,15 @@ pub mod api { _0.borrow(), )], [ - 139u8, 123u8, 46u8, 107u8, 9u8, 83u8, 141u8, 12u8, 188u8, 225u8, 170u8, - 215u8, 154u8, 21u8, 100u8, 95u8, 237u8, 245u8, 46u8, 216u8, 199u8, - 184u8, 187u8, 155u8, 8u8, 16u8, 34u8, 177u8, 153u8, 65u8, 109u8, 198u8, + 235u8, 6u8, 2u8, 103u8, 137u8, 31u8, 109u8, 165u8, 129u8, 48u8, 154u8, + 219u8, 110u8, 198u8, 241u8, 31u8, 174u8, 10u8, 92u8, 233u8, 161u8, + 76u8, 53u8, 136u8, 172u8, 214u8, 192u8, 12u8, 239u8, 165u8, 195u8, + 96u8, ], ) } - #[doc = " Reward pools. This is where there rewards for each pool accumulate. When a members payout"] - #[doc = " is claimed, the balance comes out fo the reward pool. Keyed by the bonded pools account."] + #[doc = " Reward pools. This is where there rewards for each pool accumulate. When a members payout is"] + #[doc = " claimed, the balance comes out fo the reward pool. Keyed by the bonded pools account."] pub fn reward_pools_root( &self, ) -> ::subxt::storage::address::Address< @@ -22917,9 +25587,10 @@ pub mod api { "RewardPools", Vec::new(), [ - 139u8, 123u8, 46u8, 107u8, 9u8, 83u8, 141u8, 12u8, 188u8, 225u8, 170u8, - 215u8, 154u8, 21u8, 100u8, 95u8, 237u8, 245u8, 46u8, 216u8, 199u8, - 184u8, 187u8, 155u8, 8u8, 16u8, 34u8, 177u8, 153u8, 65u8, 109u8, 198u8, + 235u8, 6u8, 2u8, 103u8, 137u8, 31u8, 109u8, 165u8, 129u8, 48u8, 154u8, + 219u8, 110u8, 198u8, 241u8, 31u8, 174u8, 10u8, 92u8, 233u8, 161u8, + 76u8, 53u8, 136u8, 172u8, 214u8, 192u8, 12u8, 239u8, 165u8, 195u8, + 96u8, ], ) } @@ -22945,8 +25616,8 @@ pub mod api { ], ) } - #[doc = " Groups of unbonding pools. Each group of unbonding pools belongs to a bonded pool,"] - #[doc = " hence the name sub-pools. Keyed by the bonded pools account."] + #[doc = " Groups of unbonding pools. Each group of unbonding pools belongs to a"] + #[doc = " bonded pool, hence the name sub-pools. Keyed by the bonded pools account."] pub fn sub_pools_storage( &self, _0: impl ::std::borrow::Borrow<::core::primitive::u32>, @@ -22971,8 +25642,8 @@ pub mod api { ], ) } - #[doc = " Groups of unbonding pools. Each group of unbonding pools belongs to a bonded pool,"] - #[doc = " hence the name sub-pools. Keyed by the bonded pools account."] + #[doc = " Groups of unbonding pools. Each group of unbonding pools belongs to a"] + #[doc = " bonded pool, hence the name sub-pools. Keyed by the bonded pools account."] pub fn sub_pools_storage_root( &self, ) -> ::subxt::storage::address::Address< @@ -23021,7 +25692,9 @@ pub mod api { _0: impl ::std::borrow::Borrow<::core::primitive::u32>, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec<::core::primitive::u8>, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, @@ -23045,7 +25718,9 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec<::core::primitive::u8>, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, (), ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, @@ -23178,6 +25853,53 @@ pub mod api { ], ) } + #[doc = " Map from a pool member account to their opted claim permission."] + pub fn claim_permissions( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_nomination_pools::ClaimPermission, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "ClaimPermissions", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 23u8, 124u8, 83u8, 109u8, 174u8, 228u8, 170u8, 25u8, 124u8, 91u8, + 224u8, 66u8, 55u8, 127u8, 190u8, 226u8, 163u8, 16u8, 81u8, 231u8, + 241u8, 214u8, 209u8, 137u8, 101u8, 206u8, 104u8, 138u8, 49u8, 56u8, + 152u8, 228u8, + ], + ) + } + #[doc = " Map from a pool member account to their opted claim permission."] + pub fn claim_permissions_root( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_nomination_pools::ClaimPermission, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "ClaimPermissions", + Vec::new(), + [ + 23u8, 124u8, 83u8, 109u8, 174u8, 228u8, 170u8, 25u8, 124u8, 91u8, + 224u8, 66u8, 55u8, 127u8, 190u8, 226u8, 163u8, 16u8, 81u8, 231u8, + 241u8, 214u8, 209u8, 137u8, 101u8, 206u8, 104u8, 138u8, 49u8, 56u8, + 152u8, 228u8, + ], + ) + } } } pub mod constants { @@ -23238,41 +25960,44 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RegisterFastUnstake; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Deregister; - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Control { - pub unchecked_eras_to_check: ::core::primitive::u32, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RegisterFastUnstake; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Deregister; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Control { + pub eras_to_check: ::core::primitive::u32, + } } pub struct TransactionApi; impl TransactionApi { @@ -23294,11 +26019,13 @@ pub mod api { #[doc = "If the check fails, the stash remains chilled and waiting for being unbonded as in with"] #[doc = "the normal staking system, but they lose part of their unbonding chunks due to consuming"] #[doc = "the chain's resources."] - pub fn register_fast_unstake(&self) -> ::subxt::tx::Payload { + pub fn register_fast_unstake( + &self, + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "FastUnstake", "register_fast_unstake", - RegisterFastUnstake {}, + types::RegisterFastUnstake {}, [ 254u8, 85u8, 128u8, 135u8, 172u8, 170u8, 34u8, 145u8, 79u8, 117u8, 234u8, 90u8, 16u8, 174u8, 159u8, 197u8, 27u8, 239u8, 180u8, 85u8, @@ -23314,11 +26041,11 @@ pub mod api { #[doc = "Note that the associated stash is still fully unbonded and chilled as a consequence of"] #[doc = "calling `register_fast_unstake`. This should probably be followed by a call to"] #[doc = "`Staking::rebond`."] - pub fn deregister(&self) -> ::subxt::tx::Payload { + pub fn deregister(&self) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "FastUnstake", "deregister", - Deregister {}, + types::Deregister {}, [ 198u8, 180u8, 253u8, 148u8, 124u8, 145u8, 175u8, 121u8, 42u8, 181u8, 41u8, 155u8, 229u8, 181u8, 66u8, 140u8, 103u8, 86u8, 242u8, 155u8, @@ -23332,18 +26059,16 @@ pub mod api { #[doc = "Dispatch origin must be signed by the [`Config::ControlOrigin`]."] pub fn control( &self, - unchecked_eras_to_check: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + eras_to_check: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "FastUnstake", "control", - Control { - unchecked_eras_to_check, - }, + types::Control { eras_to_check }, [ - 134u8, 85u8, 43u8, 231u8, 209u8, 34u8, 248u8, 0u8, 238u8, 73u8, 175u8, - 105u8, 40u8, 128u8, 186u8, 40u8, 211u8, 106u8, 107u8, 206u8, 124u8, - 155u8, 220u8, 125u8, 143u8, 10u8, 162u8, 20u8, 99u8, 142u8, 243u8, 5u8, + 92u8, 241u8, 123u8, 251u8, 82u8, 36u8, 209u8, 87u8, 238u8, 56u8, 32u8, + 54u8, 190u8, 89u8, 167u8, 2u8, 36u8, 249u8, 131u8, 54u8, 217u8, 217u8, + 231u8, 167u8, 232u8, 35u8, 108u8, 193u8, 70u8, 224u8, 47u8, 142u8, ], ) } @@ -23401,25 +26126,6 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Some internal error happened while migrating stash. They are removed as head as a"] - #[doc = "consequence."] - pub struct Errored { - pub stash: ::subxt::utils::AccountId32, - } - impl ::subxt::events::StaticEvent for Errored { - const PALLET: &'static str = "FastUnstake"; - const EVENT: &'static str = "Errored"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An internal error happened. Operations will be paused now."] pub struct InternalError; impl ::subxt::events::StaticEvent for InternalError { @@ -23445,6 +26151,7 @@ pub mod api { const EVENT: &'static str = "BatchChecked"; } #[derive( + :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, :: subxt :: ext :: scale_decode :: DecodeAsType, @@ -23454,11 +26161,13 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A batch was terminated."] + #[doc = "A batch of a given size was terminated."] #[doc = ""] #[doc = "This is always follows by a number of `Unstaked` or `Slashed` events, marking the end"] #[doc = "of the batch. A new batch will be created upon next block."] - pub struct BatchFinished; + pub struct BatchFinished { + pub size: ::core::primitive::u32, + } impl ::subxt::events::StaticEvent for BatchFinished { const PALLET: &'static str = "FastUnstake"; const EVENT: &'static str = "BatchFinished"; @@ -23492,6 +26201,8 @@ pub mod api { #[doc = " The map of all accounts wishing to be unstaked."] #[doc = ""] #[doc = " Keeps track of `AccountId` wishing to unstake and it's corresponding deposit."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] pub fn queue( &self, _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, @@ -23518,6 +26229,8 @@ pub mod api { #[doc = " The map of all accounts wishing to be unstaked."] #[doc = ""] #[doc = " Keeps track of `AccountId` wishing to unstake and it's corresponding deposit."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] pub fn queue_root( &self, ) -> ::subxt::storage::address::Address< @@ -23587,6 +26300,25 @@ pub mod api { } } } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Deposit to take for unstaking, to make sure we're able to slash the it in order to cover"] + #[doc = " the costs of resources on unsuccessful unstake."] + pub fn deposit(&self) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "FastUnstake", + "Deposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + } + } } pub mod parachains_origin { use super::root_mod; @@ -23602,629 +26334,631 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetValidationUpgradeCooldown { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetValidationUpgradeDelay { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetCodeRetentionPeriod { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetMaxCodeSize { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetMaxPovSize { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetMaxHeadDataSize { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetParathreadCores { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetParathreadRetries { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetGroupRotationFrequency { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetChainAvailabilityPeriod { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetThreadAvailabilityPeriod { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetSchedulingLookahead { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetMaxValidatorsPerCore { - pub new: ::core::option::Option<::core::primitive::u32>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetMaxValidators { - pub new: ::core::option::Option<::core::primitive::u32>, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetDisputePeriod { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetDisputePostConclusionAcceptancePeriod { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetDisputeMaxSpamSlots { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetDisputeConclusionByTimeOutPeriod { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetNoShowSlots { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetNDelayTranches { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetZerothDelayTrancheWidth { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetNeededApprovals { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetRelayVrfModuloSamples { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetMaxUpwardQueueCount { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetMaxUpwardQueueSize { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetMaxDownwardMessageSize { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetUmpServiceTotalWeight { - pub new: runtime_types::sp_weights::weight_v2::Weight, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetMaxUpwardMessageSize { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetMaxUpwardMessageNumPerCandidate { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetHrmpOpenRequestTtl { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetHrmpSenderDeposit { - pub new: ::core::primitive::u128, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetHrmpRecipientDeposit { - pub new: ::core::primitive::u128, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetHrmpChannelMaxCapacity { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetHrmpChannelMaxTotalSize { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetHrmpMaxParachainInboundChannels { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetHrmpMaxParathreadInboundChannels { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetHrmpChannelMaxMessageSize { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetHrmpMaxParachainOutboundChannels { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetHrmpMaxParathreadOutboundChannels { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetHrmpMaxMessageNumPerCandidate { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetUmpMaxIndividualWeight { - pub new: runtime_types::sp_weights::weight_v2::Weight, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetPvfCheckingEnabled { - pub new: ::core::primitive::bool, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetPvfVotingTtl { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetMinimumValidationUpgradeDelay { - pub new: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetBypassConsistencyCheck { - pub new: ::core::primitive::bool, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetValidationUpgradeCooldown { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetValidationUpgradeDelay { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetCodeRetentionPeriod { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMaxCodeSize { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMaxPovSize { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMaxHeadDataSize { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetParathreadCores { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetParathreadRetries { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetGroupRotationFrequency { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetChainAvailabilityPeriod { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetThreadAvailabilityPeriod { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetSchedulingLookahead { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMaxValidatorsPerCore { + pub new: ::core::option::Option<::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMaxValidators { + pub new: ::core::option::Option<::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetDisputePeriod { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetDisputePostConclusionAcceptancePeriod { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetNoShowSlots { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetNDelayTranches { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetZerothDelayTrancheWidth { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetNeededApprovals { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetRelayVrfModuloSamples { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMaxUpwardQueueCount { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMaxUpwardQueueSize { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMaxDownwardMessageSize { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetUmpServiceTotalWeight { + pub new: runtime_types::sp_weights::weight_v2::Weight, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMaxUpwardMessageSize { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMaxUpwardMessageNumPerCandidate { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetHrmpOpenRequestTtl { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetHrmpSenderDeposit { + pub new: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetHrmpRecipientDeposit { + pub new: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetHrmpChannelMaxCapacity { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetHrmpChannelMaxTotalSize { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetHrmpMaxParachainInboundChannels { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetHrmpMaxParathreadInboundChannels { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetHrmpChannelMaxMessageSize { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetHrmpMaxParachainOutboundChannels { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetHrmpMaxParathreadOutboundChannels { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetHrmpMaxMessageNumPerCandidate { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetUmpMaxIndividualWeight { + pub new: runtime_types::sp_weights::weight_v2::Weight, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetPvfCheckingEnabled { + pub new: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetPvfVotingTtl { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMinimumValidationUpgradeDelay { + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetBypassConsistencyCheck { + pub new: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetAsyncBackingParams { + pub new: runtime_types::polkadot_primitives::vstaging::AsyncBackingParams, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetExecutorParams { + pub new: + runtime_types::polkadot_primitives::v4::executor_params::ExecutorParams, + } } pub struct TransactionApi; impl TransactionApi { @@ -24232,11 +26966,11 @@ pub mod api { pub fn set_validation_upgrade_cooldown( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_validation_upgrade_cooldown", - SetValidationUpgradeCooldown { new }, + types::SetValidationUpgradeCooldown { new }, [ 109u8, 185u8, 0u8, 59u8, 177u8, 198u8, 76u8, 90u8, 108u8, 190u8, 56u8, 126u8, 147u8, 110u8, 76u8, 111u8, 38u8, 200u8, 230u8, 144u8, 42u8, @@ -24249,11 +26983,11 @@ pub mod api { pub fn set_validation_upgrade_delay( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_validation_upgrade_delay", - SetValidationUpgradeDelay { new }, + types::SetValidationUpgradeDelay { new }, [ 18u8, 130u8, 158u8, 253u8, 160u8, 194u8, 220u8, 120u8, 9u8, 68u8, 232u8, 176u8, 34u8, 81u8, 200u8, 236u8, 141u8, 139u8, 62u8, 110u8, @@ -24266,11 +27000,11 @@ pub mod api { pub fn set_code_retention_period( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_code_retention_period", - SetCodeRetentionPeriod { new }, + types::SetCodeRetentionPeriod { new }, [ 221u8, 140u8, 253u8, 111u8, 64u8, 236u8, 93u8, 52u8, 214u8, 245u8, 178u8, 30u8, 77u8, 166u8, 242u8, 252u8, 203u8, 106u8, 12u8, 195u8, @@ -24283,11 +27017,11 @@ pub mod api { pub fn set_max_code_size( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_max_code_size", - SetMaxCodeSize { new }, + types::SetMaxCodeSize { new }, [ 232u8, 106u8, 45u8, 195u8, 27u8, 162u8, 188u8, 213u8, 137u8, 13u8, 123u8, 89u8, 215u8, 141u8, 231u8, 82u8, 205u8, 215u8, 73u8, 142u8, @@ -24300,11 +27034,11 @@ pub mod api { pub fn set_max_pov_size( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_max_pov_size", - SetMaxPovSize { new }, + types::SetMaxPovSize { new }, [ 15u8, 176u8, 13u8, 19u8, 177u8, 160u8, 211u8, 238u8, 29u8, 194u8, 187u8, 235u8, 244u8, 65u8, 158u8, 47u8, 102u8, 221u8, 95u8, 10u8, 21u8, @@ -24316,11 +27050,11 @@ pub mod api { pub fn set_max_head_data_size( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_max_head_data_size", - SetMaxHeadDataSize { new }, + types::SetMaxHeadDataSize { new }, [ 219u8, 128u8, 213u8, 65u8, 190u8, 224u8, 87u8, 80u8, 172u8, 112u8, 160u8, 229u8, 52u8, 1u8, 189u8, 125u8, 177u8, 139u8, 103u8, 39u8, 21u8, @@ -24332,11 +27066,11 @@ pub mod api { pub fn set_parathread_cores( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_parathread_cores", - SetParathreadCores { new }, + types::SetParathreadCores { new }, [ 155u8, 102u8, 168u8, 202u8, 236u8, 87u8, 16u8, 128u8, 141u8, 99u8, 154u8, 162u8, 216u8, 198u8, 236u8, 233u8, 104u8, 230u8, 137u8, 132u8, @@ -24349,11 +27083,11 @@ pub mod api { pub fn set_parathread_retries( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_parathread_retries", - SetParathreadRetries { new }, + types::SetParathreadRetries { new }, [ 192u8, 81u8, 152u8, 41u8, 40u8, 3u8, 251u8, 205u8, 244u8, 133u8, 42u8, 197u8, 21u8, 221u8, 80u8, 196u8, 222u8, 69u8, 153u8, 39u8, 161u8, 90u8, @@ -24365,11 +27099,11 @@ pub mod api { pub fn set_group_rotation_frequency( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_group_rotation_frequency", - SetGroupRotationFrequency { new }, + types::SetGroupRotationFrequency { new }, [ 205u8, 222u8, 129u8, 36u8, 136u8, 186u8, 114u8, 70u8, 214u8, 22u8, 112u8, 65u8, 56u8, 42u8, 103u8, 93u8, 108u8, 242u8, 188u8, 229u8, @@ -24382,11 +27116,11 @@ pub mod api { pub fn set_chain_availability_period( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_chain_availability_period", - SetChainAvailabilityPeriod { new }, + types::SetChainAvailabilityPeriod { new }, [ 171u8, 21u8, 54u8, 241u8, 19u8, 100u8, 54u8, 143u8, 97u8, 191u8, 193u8, 96u8, 7u8, 86u8, 255u8, 109u8, 255u8, 93u8, 113u8, 28u8, 182u8, 75u8, @@ -24398,11 +27132,11 @@ pub mod api { pub fn set_thread_availability_period( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_thread_availability_period", - SetThreadAvailabilityPeriod { new }, + types::SetThreadAvailabilityPeriod { new }, [ 208u8, 27u8, 246u8, 33u8, 90u8, 200u8, 75u8, 177u8, 19u8, 107u8, 236u8, 43u8, 159u8, 156u8, 184u8, 10u8, 146u8, 71u8, 212u8, 129u8, 44u8, 19u8, @@ -24414,11 +27148,11 @@ pub mod api { pub fn set_scheduling_lookahead( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_scheduling_lookahead", - SetSchedulingLookahead { new }, + types::SetSchedulingLookahead { new }, [ 220u8, 74u8, 0u8, 150u8, 45u8, 29u8, 56u8, 210u8, 66u8, 12u8, 119u8, 176u8, 103u8, 24u8, 216u8, 55u8, 211u8, 120u8, 233u8, 204u8, 167u8, @@ -24431,11 +27165,11 @@ pub mod api { pub fn set_max_validators_per_core( &self, new: ::core::option::Option<::core::primitive::u32>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_max_validators_per_core", - SetMaxValidatorsPerCore { new }, + types::SetMaxValidatorsPerCore { new }, [ 227u8, 113u8, 192u8, 116u8, 114u8, 171u8, 27u8, 22u8, 84u8, 117u8, 146u8, 152u8, 94u8, 101u8, 14u8, 52u8, 228u8, 170u8, 163u8, 82u8, @@ -24448,11 +27182,11 @@ pub mod api { pub fn set_max_validators( &self, new: ::core::option::Option<::core::primitive::u32>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_max_validators", - SetMaxValidators { new }, + types::SetMaxValidators { new }, [ 143u8, 212u8, 59u8, 147u8, 4u8, 55u8, 142u8, 209u8, 237u8, 76u8, 7u8, 178u8, 41u8, 81u8, 4u8, 203u8, 184u8, 149u8, 32u8, 1u8, 106u8, 180u8, @@ -24464,11 +27198,11 @@ pub mod api { pub fn set_dispute_period( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_dispute_period", - SetDisputePeriod { new }, + types::SetDisputePeriod { new }, [ 36u8, 191u8, 142u8, 240u8, 48u8, 101u8, 10u8, 197u8, 117u8, 125u8, 156u8, 189u8, 130u8, 77u8, 242u8, 130u8, 205u8, 154u8, 152u8, 47u8, @@ -24481,12 +27215,12 @@ pub mod api { pub fn set_dispute_post_conclusion_acceptance_period( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_dispute_post_conclusion_acceptance_period", - SetDisputePostConclusionAcceptancePeriod { new }, + types::SetDisputePostConclusionAcceptancePeriod { new }, [ 66u8, 56u8, 45u8, 87u8, 51u8, 49u8, 91u8, 95u8, 255u8, 185u8, 54u8, 165u8, 85u8, 142u8, 238u8, 251u8, 174u8, 81u8, 3u8, 61u8, 92u8, 97u8, @@ -24494,48 +27228,16 @@ pub mod api { ], ) } - #[doc = "Set the maximum number of dispute spam slots."] - pub fn set_dispute_max_spam_slots( - &self, - new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Configuration", - "set_dispute_max_spam_slots", - SetDisputeMaxSpamSlots { new }, - [ - 177u8, 58u8, 3u8, 205u8, 145u8, 85u8, 160u8, 162u8, 13u8, 171u8, 124u8, - 54u8, 58u8, 209u8, 88u8, 131u8, 230u8, 248u8, 142u8, 18u8, 121u8, - 129u8, 196u8, 121u8, 25u8, 15u8, 252u8, 229u8, 89u8, 230u8, 14u8, 68u8, - ], - ) - } - #[doc = "Set the dispute conclusion by time out period."] - pub fn set_dispute_conclusion_by_time_out_period( - &self, - new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Configuration", - "set_dispute_conclusion_by_time_out_period", - SetDisputeConclusionByTimeOutPeriod { new }, - [ - 238u8, 102u8, 27u8, 169u8, 68u8, 116u8, 198u8, 64u8, 190u8, 33u8, 36u8, - 98u8, 176u8, 157u8, 123u8, 148u8, 126u8, 85u8, 32u8, 19u8, 49u8, 40u8, - 172u8, 41u8, 195u8, 182u8, 44u8, 255u8, 136u8, 204u8, 250u8, 6u8, - ], - ) - } #[doc = "Set the no show slots, in number of number of consensus slots."] #[doc = "Must be at least 1."] pub fn set_no_show_slots( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_no_show_slots", - SetNoShowSlots { new }, + types::SetNoShowSlots { new }, [ 94u8, 230u8, 89u8, 131u8, 188u8, 246u8, 251u8, 34u8, 249u8, 16u8, 134u8, 63u8, 238u8, 115u8, 19u8, 97u8, 97u8, 218u8, 238u8, 115u8, @@ -24548,11 +27250,11 @@ pub mod api { pub fn set_n_delay_tranches( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_n_delay_tranches", - SetNDelayTranches { new }, + types::SetNDelayTranches { new }, [ 195u8, 168u8, 178u8, 51u8, 20u8, 107u8, 227u8, 236u8, 57u8, 30u8, 130u8, 93u8, 149u8, 2u8, 161u8, 66u8, 48u8, 37u8, 71u8, 108u8, 195u8, @@ -24565,11 +27267,11 @@ pub mod api { pub fn set_zeroth_delay_tranche_width( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_zeroth_delay_tranche_width", - SetZerothDelayTrancheWidth { new }, + types::SetZerothDelayTrancheWidth { new }, [ 69u8, 56u8, 125u8, 24u8, 181u8, 62u8, 99u8, 92u8, 166u8, 107u8, 91u8, 134u8, 230u8, 128u8, 214u8, 135u8, 245u8, 64u8, 62u8, 78u8, 96u8, @@ -24581,11 +27283,11 @@ pub mod api { pub fn set_needed_approvals( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_needed_approvals", - SetNeededApprovals { new }, + types::SetNeededApprovals { new }, [ 238u8, 55u8, 134u8, 30u8, 67u8, 153u8, 150u8, 5u8, 226u8, 227u8, 185u8, 188u8, 66u8, 60u8, 147u8, 118u8, 46u8, 174u8, 104u8, 100u8, 26u8, @@ -24597,11 +27299,11 @@ pub mod api { pub fn set_relay_vrf_modulo_samples( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_relay_vrf_modulo_samples", - SetRelayVrfModuloSamples { new }, + types::SetRelayVrfModuloSamples { new }, [ 76u8, 101u8, 207u8, 184u8, 211u8, 8u8, 43u8, 4u8, 165u8, 147u8, 166u8, 3u8, 189u8, 42u8, 125u8, 130u8, 21u8, 43u8, 189u8, 120u8, 239u8, 131u8, @@ -24613,11 +27315,11 @@ pub mod api { pub fn set_max_upward_queue_count( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_max_upward_queue_count", - SetMaxUpwardQueueCount { new }, + types::SetMaxUpwardQueueCount { new }, [ 116u8, 186u8, 216u8, 17u8, 150u8, 187u8, 86u8, 154u8, 92u8, 122u8, 178u8, 167u8, 215u8, 165u8, 55u8, 86u8, 229u8, 114u8, 10u8, 149u8, @@ -24630,11 +27332,11 @@ pub mod api { pub fn set_max_upward_queue_size( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_max_upward_queue_size", - SetMaxUpwardQueueSize { new }, + types::SetMaxUpwardQueueSize { new }, [ 18u8, 60u8, 141u8, 57u8, 134u8, 96u8, 140u8, 85u8, 137u8, 9u8, 209u8, 123u8, 10u8, 165u8, 33u8, 184u8, 34u8, 82u8, 59u8, 60u8, 30u8, 47u8, @@ -24646,11 +27348,11 @@ pub mod api { pub fn set_max_downward_message_size( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_max_downward_message_size", - SetMaxDownwardMessageSize { new }, + types::SetMaxDownwardMessageSize { new }, [ 104u8, 25u8, 229u8, 184u8, 53u8, 246u8, 206u8, 180u8, 13u8, 156u8, 14u8, 224u8, 215u8, 115u8, 104u8, 127u8, 167u8, 189u8, 239u8, 183u8, @@ -24663,11 +27365,11 @@ pub mod api { pub fn set_ump_service_total_weight( &self, new: runtime_types::sp_weights::weight_v2::Weight, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_ump_service_total_weight", - SetUmpServiceTotalWeight { new }, + types::SetUmpServiceTotalWeight { new }, [ 178u8, 63u8, 233u8, 183u8, 160u8, 109u8, 10u8, 162u8, 150u8, 110u8, 66u8, 166u8, 197u8, 207u8, 91u8, 208u8, 137u8, 106u8, 140u8, 184u8, @@ -24680,11 +27382,11 @@ pub mod api { pub fn set_max_upward_message_size( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_max_upward_message_size", - SetMaxUpwardMessageSize { new }, + types::SetMaxUpwardMessageSize { new }, [ 213u8, 120u8, 21u8, 247u8, 101u8, 21u8, 164u8, 228u8, 33u8, 115u8, 20u8, 138u8, 28u8, 174u8, 247u8, 39u8, 194u8, 113u8, 34u8, 73u8, 142u8, @@ -24697,11 +27399,12 @@ pub mod api { pub fn set_max_upward_message_num_per_candidate( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload + { ::subxt::tx::Payload::new_static( "Configuration", "set_max_upward_message_num_per_candidate", - SetMaxUpwardMessageNumPerCandidate { new }, + types::SetMaxUpwardMessageNumPerCandidate { new }, [ 54u8, 133u8, 226u8, 138u8, 184u8, 27u8, 130u8, 153u8, 130u8, 196u8, 54u8, 79u8, 124u8, 10u8, 37u8, 139u8, 59u8, 190u8, 169u8, 87u8, 255u8, @@ -24713,11 +27416,11 @@ pub mod api { pub fn set_hrmp_open_request_ttl( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_hrmp_open_request_ttl", - SetHrmpOpenRequestTtl { new }, + types::SetHrmpOpenRequestTtl { new }, [ 192u8, 113u8, 113u8, 133u8, 197u8, 75u8, 88u8, 67u8, 130u8, 207u8, 37u8, 192u8, 157u8, 159u8, 114u8, 75u8, 83u8, 180u8, 194u8, 180u8, @@ -24730,11 +27433,11 @@ pub mod api { pub fn set_hrmp_sender_deposit( &self, new: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_hrmp_sender_deposit", - SetHrmpSenderDeposit { new }, + types::SetHrmpSenderDeposit { new }, [ 49u8, 38u8, 173u8, 114u8, 66u8, 140u8, 15u8, 151u8, 193u8, 54u8, 128u8, 108u8, 72u8, 71u8, 28u8, 65u8, 129u8, 199u8, 105u8, 61u8, 96u8, 119u8, @@ -24747,11 +27450,11 @@ pub mod api { pub fn set_hrmp_recipient_deposit( &self, new: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_hrmp_recipient_deposit", - SetHrmpRecipientDeposit { new }, + types::SetHrmpRecipientDeposit { new }, [ 209u8, 212u8, 164u8, 56u8, 71u8, 215u8, 98u8, 250u8, 202u8, 150u8, 228u8, 6u8, 166u8, 94u8, 171u8, 142u8, 10u8, 253u8, 89u8, 43u8, 6u8, @@ -24763,11 +27466,11 @@ pub mod api { pub fn set_hrmp_channel_max_capacity( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_hrmp_channel_max_capacity", - SetHrmpChannelMaxCapacity { new }, + types::SetHrmpChannelMaxCapacity { new }, [ 148u8, 109u8, 67u8, 220u8, 1u8, 115u8, 70u8, 93u8, 138u8, 190u8, 60u8, 220u8, 80u8, 137u8, 246u8, 230u8, 115u8, 162u8, 30u8, 197u8, 11u8, @@ -24779,11 +27482,11 @@ pub mod api { pub fn set_hrmp_channel_max_total_size( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_hrmp_channel_max_total_size", - SetHrmpChannelMaxTotalSize { new }, + types::SetHrmpChannelMaxTotalSize { new }, [ 79u8, 40u8, 207u8, 173u8, 168u8, 143u8, 130u8, 240u8, 205u8, 34u8, 61u8, 217u8, 215u8, 106u8, 61u8, 181u8, 8u8, 21u8, 105u8, 64u8, 183u8, @@ -24795,11 +27498,12 @@ pub mod api { pub fn set_hrmp_max_parachain_inbound_channels( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload + { ::subxt::tx::Payload::new_static( "Configuration", "set_hrmp_max_parachain_inbound_channels", - SetHrmpMaxParachainInboundChannels { new }, + types::SetHrmpMaxParachainInboundChannels { new }, [ 91u8, 215u8, 212u8, 131u8, 140u8, 185u8, 119u8, 184u8, 61u8, 121u8, 120u8, 73u8, 202u8, 98u8, 124u8, 187u8, 171u8, 84u8, 136u8, 77u8, @@ -24812,11 +27516,12 @@ pub mod api { pub fn set_hrmp_max_parathread_inbound_channels( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload + { ::subxt::tx::Payload::new_static( "Configuration", "set_hrmp_max_parathread_inbound_channels", - SetHrmpMaxParathreadInboundChannels { new }, + types::SetHrmpMaxParathreadInboundChannels { new }, [ 209u8, 66u8, 180u8, 20u8, 87u8, 242u8, 219u8, 71u8, 22u8, 145u8, 220u8, 48u8, 44u8, 42u8, 77u8, 69u8, 255u8, 82u8, 27u8, 125u8, 231u8, 111u8, @@ -24828,11 +27533,11 @@ pub mod api { pub fn set_hrmp_channel_max_message_size( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_hrmp_channel_max_message_size", - SetHrmpChannelMaxMessageSize { new }, + types::SetHrmpChannelMaxMessageSize { new }, [ 17u8, 224u8, 230u8, 9u8, 114u8, 221u8, 138u8, 46u8, 234u8, 151u8, 27u8, 34u8, 179u8, 67u8, 113u8, 228u8, 128u8, 212u8, 209u8, 125u8, 122u8, @@ -24844,11 +27549,12 @@ pub mod api { pub fn set_hrmp_max_parachain_outbound_channels( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload + { ::subxt::tx::Payload::new_static( "Configuration", "set_hrmp_max_parachain_outbound_channels", - SetHrmpMaxParachainOutboundChannels { new }, + types::SetHrmpMaxParachainOutboundChannels { new }, [ 26u8, 146u8, 150u8, 88u8, 236u8, 8u8, 63u8, 103u8, 71u8, 11u8, 20u8, 210u8, 205u8, 106u8, 101u8, 112u8, 116u8, 73u8, 116u8, 136u8, 149u8, @@ -24860,11 +27566,12 @@ pub mod api { pub fn set_hrmp_max_parathread_outbound_channels( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload + { ::subxt::tx::Payload::new_static( "Configuration", "set_hrmp_max_parathread_outbound_channels", - SetHrmpMaxParathreadOutboundChannels { new }, + types::SetHrmpMaxParathreadOutboundChannels { new }, [ 31u8, 72u8, 93u8, 21u8, 180u8, 156u8, 101u8, 24u8, 145u8, 220u8, 194u8, 93u8, 176u8, 164u8, 53u8, 123u8, 36u8, 113u8, 152u8, 13u8, 222u8, 54u8, @@ -24876,11 +27583,11 @@ pub mod api { pub fn set_hrmp_max_message_num_per_candidate( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_hrmp_max_message_num_per_candidate", - SetHrmpMaxMessageNumPerCandidate { new }, + types::SetHrmpMaxMessageNumPerCandidate { new }, [ 244u8, 94u8, 225u8, 194u8, 133u8, 116u8, 202u8, 238u8, 8u8, 57u8, 122u8, 125u8, 6u8, 131u8, 84u8, 102u8, 180u8, 67u8, 250u8, 136u8, 30u8, @@ -24893,11 +27600,11 @@ pub mod api { pub fn set_ump_max_individual_weight( &self, new: runtime_types::sp_weights::weight_v2::Weight, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_ump_max_individual_weight", - SetUmpMaxIndividualWeight { new }, + types::SetUmpMaxIndividualWeight { new }, [ 66u8, 190u8, 15u8, 172u8, 67u8, 16u8, 117u8, 247u8, 176u8, 25u8, 163u8, 130u8, 147u8, 224u8, 226u8, 101u8, 219u8, 173u8, 176u8, 49u8, 90u8, @@ -24909,11 +27616,11 @@ pub mod api { pub fn set_pvf_checking_enabled( &self, new: ::core::primitive::bool, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_pvf_checking_enabled", - SetPvfCheckingEnabled { new }, + types::SetPvfCheckingEnabled { new }, [ 123u8, 76u8, 1u8, 112u8, 174u8, 245u8, 18u8, 67u8, 13u8, 29u8, 219u8, 197u8, 201u8, 112u8, 230u8, 191u8, 37u8, 148u8, 73u8, 125u8, 54u8, @@ -24925,11 +27632,11 @@ pub mod api { pub fn set_pvf_voting_ttl( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_pvf_voting_ttl", - SetPvfVotingTtl { new }, + types::SetPvfVotingTtl { new }, [ 17u8, 11u8, 98u8, 217u8, 208u8, 102u8, 238u8, 83u8, 118u8, 123u8, 20u8, 18u8, 46u8, 212u8, 21u8, 164u8, 61u8, 104u8, 208u8, 204u8, 91u8, 210u8, @@ -24944,11 +27651,11 @@ pub mod api { pub fn set_minimum_validation_upgrade_delay( &self, new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_minimum_validation_upgrade_delay", - SetMinimumValidationUpgradeDelay { new }, + types::SetMinimumValidationUpgradeDelay { new }, [ 205u8, 188u8, 75u8, 136u8, 228u8, 26u8, 112u8, 27u8, 119u8, 37u8, 252u8, 109u8, 23u8, 145u8, 21u8, 212u8, 7u8, 28u8, 242u8, 210u8, 182u8, @@ -24962,11 +27669,11 @@ pub mod api { pub fn set_bypass_consistency_check( &self, new: ::core::primitive::bool, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Configuration", "set_bypass_consistency_check", - SetBypassConsistencyCheck { new }, + types::SetBypassConsistencyCheck { new }, [ 80u8, 66u8, 200u8, 98u8, 54u8, 207u8, 64u8, 99u8, 162u8, 121u8, 26u8, 173u8, 113u8, 224u8, 240u8, 106u8, 69u8, 191u8, 177u8, 107u8, 34u8, @@ -24975,6 +27682,40 @@ pub mod api { ], ) } + #[doc = "Set the asynchronous backing parameters."] + pub fn set_async_backing_params( + &self, + new: runtime_types::polkadot_primitives::vstaging::AsyncBackingParams, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_async_backing_params", + types::SetAsyncBackingParams { new }, + [ + 124u8, 182u8, 66u8, 138u8, 209u8, 54u8, 42u8, 232u8, 110u8, 67u8, + 248u8, 16u8, 61u8, 38u8, 120u8, 242u8, 34u8, 240u8, 219u8, 169u8, + 145u8, 246u8, 194u8, 208u8, 225u8, 108u8, 135u8, 74u8, 194u8, 214u8, + 199u8, 139u8, + ], + ) + } + #[doc = "Set PVF executor parameters."] + pub fn set_executor_params( + &self, + new: runtime_types::polkadot_primitives::v4::executor_params::ExecutorParams, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_executor_params", + types::SetExecutorParams { new }, + [ + 193u8, 235u8, 143u8, 62u8, 34u8, 192u8, 162u8, 49u8, 224u8, 10u8, + 189u8, 132u8, 70u8, 114u8, 50u8, 155u8, 39u8, 238u8, 238u8, 161u8, + 181u8, 108u8, 187u8, 28u8, 48u8, 14u8, 209u8, 42u8, 196u8, 181u8, + 159u8, 124u8, + ], + ) + } } } pub mod storage { @@ -24998,10 +27739,10 @@ pub mod api { "ActiveConfig", vec![], [ - 152u8, 7u8, 210u8, 144u8, 253u8, 1u8, 141u8, 200u8, 122u8, 214u8, - 104u8, 100u8, 228u8, 235u8, 16u8, 86u8, 213u8, 212u8, 204u8, 46u8, - 74u8, 95u8, 217u8, 3u8, 40u8, 28u8, 149u8, 175u8, 7u8, 146u8, 24u8, - 3u8, + 254u8, 47u8, 159u8, 237u8, 202u8, 82u8, 132u8, 16u8, 100u8, 209u8, + 166u8, 154u8, 226u8, 156u8, 117u8, 11u8, 114u8, 37u8, 208u8, 255u8, + 96u8, 27u8, 192u8, 144u8, 56u8, 241u8, 49u8, 163u8, 15u8, 86u8, 229u8, + 166u8, ], ) } @@ -25017,9 +27758,10 @@ pub mod api { "PendingConfigs", vec![], [ - 206u8, 161u8, 39u8, 154u8, 62u8, 215u8, 33u8, 93u8, 214u8, 37u8, 29u8, - 71u8, 32u8, 176u8, 87u8, 166u8, 39u8, 11u8, 81u8, 155u8, 174u8, 118u8, - 138u8, 76u8, 22u8, 248u8, 148u8, 210u8, 243u8, 41u8, 111u8, 216u8, + 227u8, 119u8, 229u8, 201u8, 230u8, 27u8, 239u8, 171u8, 78u8, 212u8, + 218u8, 154u8, 195u8, 36u8, 129u8, 91u8, 53u8, 210u8, 185u8, 169u8, + 78u8, 146u8, 21u8, 67u8, 248u8, 117u8, 53u8, 130u8, 243u8, 186u8, + 144u8, 249u8, ], ) } @@ -25056,6 +27798,9 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + } pub struct TransactionApi; impl TransactionApi {} } @@ -25090,7 +27835,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec, + ::std::vec::Vec, ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, (), @@ -25113,7 +27858,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec, + ::std::vec::Vec, ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, (), @@ -25142,6 +27887,9 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + } pub struct TransactionApi; impl TransactionApi {} } @@ -25161,10 +27909,10 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A candidate was backed. `[candidate, head_data]`"] pub struct CandidateBacked( - pub runtime_types::polkadot_primitives::v2::CandidateReceipt<::subxt::utils::H256>, + pub runtime_types::polkadot_primitives::v4::CandidateReceipt<::subxt::utils::H256>, pub runtime_types::polkadot_parachain::primitives::HeadData, - pub runtime_types::polkadot_primitives::v2::CoreIndex, - pub runtime_types::polkadot_primitives::v2::GroupIndex, + pub runtime_types::polkadot_primitives::v4::CoreIndex, + pub runtime_types::polkadot_primitives::v4::GroupIndex, ); impl ::subxt::events::StaticEvent for CandidateBacked { const PALLET: &'static str = "ParaInclusion"; @@ -25182,10 +27930,10 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A candidate was included. `[candidate, head_data]`"] pub struct CandidateIncluded( - pub runtime_types::polkadot_primitives::v2::CandidateReceipt<::subxt::utils::H256>, + pub runtime_types::polkadot_primitives::v4::CandidateReceipt<::subxt::utils::H256>, pub runtime_types::polkadot_parachain::primitives::HeadData, - pub runtime_types::polkadot_primitives::v2::CoreIndex, - pub runtime_types::polkadot_primitives::v2::GroupIndex, + pub runtime_types::polkadot_primitives::v4::CoreIndex, + pub runtime_types::polkadot_primitives::v4::GroupIndex, ); impl ::subxt::events::StaticEvent for CandidateIncluded { const PALLET: &'static str = "ParaInclusion"; @@ -25203,9 +27951,9 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A candidate timed out. `[candidate, head_data]`"] pub struct CandidateTimedOut( - pub runtime_types::polkadot_primitives::v2::CandidateReceipt<::subxt::utils::H256>, + pub runtime_types::polkadot_primitives::v4::CandidateReceipt<::subxt::utils::H256>, pub runtime_types::polkadot_parachain::primitives::HeadData, - pub runtime_types::polkadot_primitives::v2::CoreIndex, + pub runtime_types::polkadot_primitives::v4::CoreIndex, ); impl ::subxt::events::StaticEvent for CandidateTimedOut { const PALLET: &'static str = "ParaInclusion"; @@ -25216,7 +27964,7 @@ pub mod api { use super::runtime_types; pub struct StorageApi; impl StorageApi { - #[doc = " The latest bitfield for each validator, referred to by their index in the validator set."] pub fn availability_bitfields (& self , _0 : impl :: std :: borrow :: Borrow < runtime_types :: polkadot_primitives :: v2 :: ValidatorIndex > ,) -> :: subxt :: storage :: address :: Address :: < :: subxt :: storage :: address :: StaticStorageMapKey , runtime_types :: polkadot_runtime_parachains :: inclusion :: AvailabilityBitfieldRecord < :: core :: primitive :: u32 > , :: subxt :: storage :: address :: Yes , () , :: subxt :: storage :: address :: Yes >{ + #[doc = " The latest bitfield for each validator, referred to by their index in the validator set."] pub fn availability_bitfields (& self , _0 : impl :: std :: borrow :: Borrow < runtime_types :: polkadot_primitives :: v4 :: ValidatorIndex > ,) -> :: subxt :: storage :: address :: Address :: < :: subxt :: storage :: address :: StaticStorageMapKey , runtime_types :: polkadot_runtime_parachains :: inclusion :: AvailabilityBitfieldRecord < :: core :: primitive :: u32 > , :: subxt :: storage :: address :: Yes , () , :: subxt :: storage :: address :: Yes >{ ::subxt::storage::address::Address::new_static( "ParaInclusion", "AvailabilityBitfields", @@ -25276,7 +28024,7 @@ pub mod api { _0: impl ::std::borrow::Borrow, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::polkadot_primitives::v2::CandidateCommitments< + runtime_types::polkadot_primitives::v4::CandidateCommitments< ::core::primitive::u32, >, ::subxt::storage::address::Yes, @@ -25290,10 +28038,9 @@ pub mod api { _0.borrow(), )], [ - 146u8, 206u8, 148u8, 102u8, 55u8, 101u8, 144u8, 33u8, 197u8, 232u8, - 64u8, 205u8, 216u8, 21u8, 247u8, 170u8, 237u8, 115u8, 144u8, 43u8, - 106u8, 87u8, 82u8, 39u8, 11u8, 87u8, 149u8, 195u8, 56u8, 59u8, 54u8, - 8u8, + 128u8, 38u8, 30u8, 235u8, 157u8, 55u8, 36u8, 88u8, 188u8, 164u8, 61u8, + 62u8, 84u8, 83u8, 180u8, 208u8, 244u8, 240u8, 254u8, 183u8, 226u8, + 201u8, 27u8, 47u8, 212u8, 137u8, 251u8, 46u8, 13u8, 33u8, 13u8, 43u8, ], ) } @@ -25302,7 +28049,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::polkadot_primitives::v2::CandidateCommitments< + runtime_types::polkadot_primitives::v4::CandidateCommitments< ::core::primitive::u32, >, (), @@ -25314,10 +28061,9 @@ pub mod api { "PendingAvailabilityCommitments", Vec::new(), [ - 146u8, 206u8, 148u8, 102u8, 55u8, 101u8, 144u8, 33u8, 197u8, 232u8, - 64u8, 205u8, 216u8, 21u8, 247u8, 170u8, 237u8, 115u8, 144u8, 43u8, - 106u8, 87u8, 82u8, 39u8, 11u8, 87u8, 149u8, 195u8, 56u8, 59u8, 54u8, - 8u8, + 128u8, 38u8, 30u8, 235u8, 157u8, 55u8, 36u8, 88u8, 188u8, 164u8, 61u8, + 62u8, 84u8, 83u8, 180u8, 208u8, 244u8, 240u8, 254u8, 183u8, 226u8, + 201u8, 27u8, 47u8, 212u8, 137u8, 251u8, 46u8, 13u8, 33u8, 13u8, 43u8, ], ) } @@ -25334,44 +28080,48 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Enter { - pub data: runtime_types::polkadot_primitives::v2::InherentData< - runtime_types::sp_runtime::generic::header::Header< - ::core::primitive::u32, - runtime_types::sp_runtime::traits::BlakeTwo256, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Enter { + pub data: runtime_types::polkadot_primitives::v4::InherentData< + runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, >, - >, + } } pub struct TransactionApi; impl TransactionApi { #[doc = "Enter the paras inherent. This will process bitfields and backed candidates."] pub fn enter( &self, - data: runtime_types::polkadot_primitives::v2::InherentData< + data: runtime_types::polkadot_primitives::v4::InherentData< runtime_types::sp_runtime::generic::header::Header< ::core::primitive::u32, runtime_types::sp_runtime::traits::BlakeTwo256, >, >, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "ParaInherent", "enter", - Enter { data }, + types::Enter { data }, [ - 92u8, 247u8, 59u8, 6u8, 2u8, 102u8, 76u8, 147u8, 46u8, 232u8, 38u8, - 191u8, 145u8, 155u8, 23u8, 39u8, 228u8, 95u8, 57u8, 249u8, 247u8, 20u8, - 9u8, 189u8, 156u8, 187u8, 207u8, 107u8, 0u8, 13u8, 228u8, 6u8, + 196u8, 247u8, 84u8, 213u8, 181u8, 15u8, 195u8, 125u8, 252u8, 46u8, + 165u8, 1u8, 23u8, 159u8, 187u8, 34u8, 8u8, 15u8, 44u8, 240u8, 136u8, + 148u8, 7u8, 82u8, 106u8, 255u8, 190u8, 127u8, 225u8, 230u8, 63u8, + 204u8, ], ) } @@ -25412,7 +28162,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::polkadot_primitives::v2::ScrapedOnChainVotes< + runtime_types::polkadot_primitives::v4::ScrapedOnChainVotes< ::subxt::utils::H256, >, ::subxt::storage::address::Yes, @@ -25452,7 +28202,7 @@ pub mod api { ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, ::std::vec::Vec< - ::std::vec::Vec, + ::std::vec::Vec, >, ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, @@ -25507,7 +28257,7 @@ pub mod api { ::subxt::storage::address::StaticStorageMapKey, ::std::vec::Vec< ::core::option::Option< - runtime_types::polkadot_primitives::v2::CoreOccupied, + runtime_types::polkadot_primitives::v4::CoreOccupied, >, >, ::subxt::storage::address::Yes, @@ -25619,116 +28369,120 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceSetCurrentCode { - pub para: runtime_types::polkadot_parachain::primitives::Id, - pub new_code: runtime_types::polkadot_parachain::primitives::ValidationCode, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceSetCurrentHead { - pub para: runtime_types::polkadot_parachain::primitives::Id, - pub new_head: runtime_types::polkadot_parachain::primitives::HeadData, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceScheduleCodeUpgrade { - pub para: runtime_types::polkadot_parachain::primitives::Id, - pub new_code: runtime_types::polkadot_parachain::primitives::ValidationCode, - pub relay_parent_number: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceNoteNewHead { - pub para: runtime_types::polkadot_parachain::primitives::Id, - pub new_head: runtime_types::polkadot_parachain::primitives::HeadData, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceQueueAction { - pub para: runtime_types::polkadot_parachain::primitives::Id, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AddTrustedValidationCode { - pub validation_code: runtime_types::polkadot_parachain::primitives::ValidationCode, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct PokeUnusedValidationCode { - pub validation_code_hash: - runtime_types::polkadot_parachain::primitives::ValidationCodeHash, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct IncludePvfCheckStatement { - pub stmt: runtime_types::polkadot_primitives::v2::PvfCheckStatement, - pub signature: runtime_types::polkadot_primitives::v2::validator_app::Signature, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceSetCurrentCode { + pub para: runtime_types::polkadot_parachain::primitives::Id, + pub new_code: runtime_types::polkadot_parachain::primitives::ValidationCode, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceSetCurrentHead { + pub para: runtime_types::polkadot_parachain::primitives::Id, + pub new_head: runtime_types::polkadot_parachain::primitives::HeadData, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceScheduleCodeUpgrade { + pub para: runtime_types::polkadot_parachain::primitives::Id, + pub new_code: runtime_types::polkadot_parachain::primitives::ValidationCode, + pub relay_parent_number: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceNoteNewHead { + pub para: runtime_types::polkadot_parachain::primitives::Id, + pub new_head: runtime_types::polkadot_parachain::primitives::HeadData, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceQueueAction { + pub para: runtime_types::polkadot_parachain::primitives::Id, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AddTrustedValidationCode { + pub validation_code: + runtime_types::polkadot_parachain::primitives::ValidationCode, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PokeUnusedValidationCode { + pub validation_code_hash: + runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct IncludePvfCheckStatement { + pub stmt: runtime_types::polkadot_primitives::v4::PvfCheckStatement, + pub signature: runtime_types::polkadot_primitives::v4::validator_app::Signature, + } } pub struct TransactionApi; impl TransactionApi { @@ -25737,11 +28491,11 @@ pub mod api { &self, para: runtime_types::polkadot_parachain::primitives::Id, new_code: runtime_types::polkadot_parachain::primitives::ValidationCode, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Paras", "force_set_current_code", - ForceSetCurrentCode { para, new_code }, + types::ForceSetCurrentCode { para, new_code }, [ 56u8, 59u8, 48u8, 185u8, 106u8, 99u8, 250u8, 32u8, 207u8, 2u8, 4u8, 110u8, 165u8, 131u8, 22u8, 33u8, 248u8, 175u8, 186u8, 6u8, 118u8, 51u8, @@ -25754,11 +28508,11 @@ pub mod api { &self, para: runtime_types::polkadot_parachain::primitives::Id, new_head: runtime_types::polkadot_parachain::primitives::HeadData, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Paras", "force_set_current_head", - ForceSetCurrentHead { para, new_head }, + types::ForceSetCurrentHead { para, new_head }, [ 203u8, 70u8, 33u8, 168u8, 133u8, 64u8, 146u8, 137u8, 156u8, 104u8, 183u8, 26u8, 74u8, 227u8, 154u8, 224u8, 75u8, 85u8, 143u8, 51u8, 60u8, @@ -25772,11 +28526,11 @@ pub mod api { para: runtime_types::polkadot_parachain::primitives::Id, new_code: runtime_types::polkadot_parachain::primitives::ValidationCode, relay_parent_number: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Paras", "force_schedule_code_upgrade", - ForceScheduleCodeUpgrade { + types::ForceScheduleCodeUpgrade { para, new_code, relay_parent_number, @@ -25794,11 +28548,11 @@ pub mod api { &self, para: runtime_types::polkadot_parachain::primitives::Id, new_head: runtime_types::polkadot_parachain::primitives::HeadData, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Paras", "force_note_new_head", - ForceNoteNewHead { para, new_head }, + types::ForceNoteNewHead { para, new_head }, [ 83u8, 93u8, 166u8, 142u8, 213u8, 1u8, 243u8, 73u8, 192u8, 164u8, 104u8, 206u8, 99u8, 250u8, 31u8, 222u8, 231u8, 54u8, 12u8, 45u8, 92u8, 74u8, @@ -25812,11 +28566,11 @@ pub mod api { pub fn force_queue_action( &self, para: runtime_types::polkadot_parachain::primitives::Id, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Paras", "force_queue_action", - ForceQueueAction { para }, + types::ForceQueueAction { para }, [ 195u8, 243u8, 79u8, 34u8, 111u8, 246u8, 109u8, 90u8, 251u8, 137u8, 48u8, 23u8, 117u8, 29u8, 26u8, 200u8, 37u8, 64u8, 36u8, 254u8, 224u8, @@ -25840,11 +28594,11 @@ pub mod api { pub fn add_trusted_validation_code( &self, validation_code: runtime_types::polkadot_parachain::primitives::ValidationCode, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Paras", "add_trusted_validation_code", - AddTrustedValidationCode { validation_code }, + types::AddTrustedValidationCode { validation_code }, [ 160u8, 199u8, 245u8, 178u8, 58u8, 65u8, 79u8, 199u8, 53u8, 60u8, 84u8, 225u8, 2u8, 145u8, 154u8, 204u8, 165u8, 171u8, 173u8, 223u8, 59u8, @@ -25860,11 +28614,11 @@ pub mod api { pub fn poke_unused_validation_code( &self, validation_code_hash : runtime_types :: polkadot_parachain :: primitives :: ValidationCodeHash, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Paras", "poke_unused_validation_code", - PokeUnusedValidationCode { + types::PokeUnusedValidationCode { validation_code_hash, }, [ @@ -25879,13 +28633,13 @@ pub mod api { #[doc = "enacts the results if that was the last vote before achieving the supermajority."] pub fn include_pvf_check_statement( &self, - stmt: runtime_types::polkadot_primitives::v2::PvfCheckStatement, - signature: runtime_types::polkadot_primitives::v2::validator_app::Signature, - ) -> ::subxt::tx::Payload { + stmt: runtime_types::polkadot_primitives::v4::PvfCheckStatement, + signature: runtime_types::polkadot_primitives::v4::validator_app::Signature, + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Paras", "include_pvf_check_statement", - IncludePvfCheckStatement { stmt, signature }, + types::IncludePvfCheckStatement { stmt, signature }, [ 22u8, 136u8, 241u8, 59u8, 36u8, 249u8, 239u8, 255u8, 169u8, 117u8, 19u8, 58u8, 214u8, 16u8, 135u8, 65u8, 13u8, 250u8, 5u8, 41u8, 144u8, @@ -26352,7 +29106,7 @@ pub mod api { } #[doc = " Past code of parachains. The parachains themselves may not be registered anymore,"] #[doc = " but we also keep their code on-chain for the same amount of time as outdated code"] - #[doc = " to keep it available for secondary checkers."] + #[doc = " to keep it available for approval checkers."] pub fn past_code_meta( &self, _0: impl ::std::borrow::Borrow, @@ -26381,7 +29135,7 @@ pub mod api { } #[doc = " Past code of parachains. The parachains themselves may not be registered anymore,"] #[doc = " but we also keep their code on-chain for the same amount of time as outdated code"] - #[doc = " to keep it available for secondary checkers."] + #[doc = " to keep it available for approval checkers."] pub fn past_code_meta_root( &self, ) -> ::subxt::storage::address::Address< @@ -26550,7 +29304,7 @@ pub mod api { _0: impl ::std::borrow::Borrow, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::polkadot_primitives::v2::UpgradeGoAhead, + runtime_types::polkadot_primitives::v4::UpgradeGoAhead, ::subxt::storage::address::Yes, (), ::subxt::storage::address::Yes, @@ -26581,7 +29335,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::polkadot_primitives::v2::UpgradeGoAhead, + runtime_types::polkadot_primitives::v4::UpgradeGoAhead, (), (), ::subxt::storage::address::Yes, @@ -26611,7 +29365,7 @@ pub mod api { _0: impl ::std::borrow::Borrow, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::polkadot_primitives::v2::UpgradeRestriction, + runtime_types::polkadot_primitives::v4::UpgradeRestriction, ::subxt::storage::address::Yes, (), ::subxt::storage::address::Yes, @@ -26642,7 +29396,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::polkadot_primitives::v2::UpgradeRestriction, + runtime_types::polkadot_primitives::v4::UpgradeRestriction, (), (), ::subxt::storage::address::Yes, @@ -26944,19 +29698,22 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceApprove { - pub up_to: ::core::primitive::u32, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceApprove { + pub up_to: ::core::primitive::u32, + } } pub struct TransactionApi; impl TransactionApi { @@ -26966,11 +29723,11 @@ pub mod api { pub fn force_approve( &self, up_to: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Initializer", "force_approve", - ForceApprove { up_to }, + types::ForceApprove { up_to }, [ 28u8, 117u8, 86u8, 182u8, 19u8, 127u8, 43u8, 17u8, 153u8, 80u8, 193u8, 53u8, 120u8, 41u8, 205u8, 23u8, 252u8, 148u8, 77u8, 227u8, 138u8, 35u8, @@ -27043,6 +29800,9 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + } pub struct TransactionApi; impl TransactionApi {} } @@ -27175,19 +29935,22 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ServiceOverweight { - pub index: ::core::primitive::u64, - pub weight_limit: runtime_types::sp_weights::weight_v2::Weight, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ServiceOverweight { + pub index: ::core::primitive::u64, + pub weight_limit: runtime_types::sp_weights::weight_v2::Weight, + } } pub struct TransactionApi; impl TransactionApi { @@ -27207,11 +29970,11 @@ pub mod api { &self, index: ::core::primitive::u64, weight_limit: runtime_types::sp_weights::weight_v2::Weight, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Ump", "service_overweight", - ServiceOverweight { + types::ServiceOverweight { index, weight_limit, }, @@ -27277,7 +30040,7 @@ pub mod api { #[doc = "\\[ id, outcome \\]"] pub struct ExecutedUpward( pub [::core::primitive::u8; 32usize], - pub runtime_types::xcm::v2::traits::Outcome, + pub runtime_types::xcm::v3::traits::Outcome, ); impl ::subxt::events::StaticEvent for ExecutedUpward { const PALLET: &'static str = "Ump"; @@ -27604,6 +30367,28 @@ pub mod api { ], ) } + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_overweight( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Ump", + "CounterForOverweight", + vec![], + [ + 148u8, 226u8, 248u8, 107u8, 165u8, 97u8, 218u8, 160u8, 127u8, 48u8, + 185u8, 251u8, 35u8, 137u8, 119u8, 251u8, 151u8, 167u8, 189u8, 66u8, + 80u8, 74u8, 134u8, 129u8, 222u8, 180u8, 51u8, 182u8, 50u8, 110u8, 10u8, + 43u8, + ], + ) + } #[doc = " The number of overweight messages ever recorded in `Overweight` (and thus the lowest free"] #[doc = " index)."] pub fn overweight_count( @@ -27640,119 +30425,122 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct HrmpInitOpenChannel { - pub recipient: runtime_types::polkadot_parachain::primitives::Id, - pub proposed_max_capacity: ::core::primitive::u32, - pub proposed_max_message_size: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct HrmpAcceptOpenChannel { - pub sender: runtime_types::polkadot_parachain::primitives::Id, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct HrmpCloseChannel { - pub channel_id: runtime_types::polkadot_parachain::primitives::HrmpChannelId, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceCleanHrmp { - pub para: runtime_types::polkadot_parachain::primitives::Id, - pub inbound: ::core::primitive::u32, - pub outbound: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceProcessHrmpOpen { - pub channels: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceProcessHrmpClose { - pub channels: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct HrmpCancelOpenRequest { - pub channel_id: runtime_types::polkadot_parachain::primitives::HrmpChannelId, - pub open_requests: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceOpenHrmpChannel { - pub sender: runtime_types::polkadot_parachain::primitives::Id, - pub recipient: runtime_types::polkadot_parachain::primitives::Id, - pub max_capacity: ::core::primitive::u32, - pub max_message_size: ::core::primitive::u32, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct HrmpInitOpenChannel { + pub recipient: runtime_types::polkadot_parachain::primitives::Id, + pub proposed_max_capacity: ::core::primitive::u32, + pub proposed_max_message_size: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct HrmpAcceptOpenChannel { + pub sender: runtime_types::polkadot_parachain::primitives::Id, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct HrmpCloseChannel { + pub channel_id: runtime_types::polkadot_parachain::primitives::HrmpChannelId, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceCleanHrmp { + pub para: runtime_types::polkadot_parachain::primitives::Id, + pub inbound: ::core::primitive::u32, + pub outbound: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceProcessHrmpOpen { + pub channels: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceProcessHrmpClose { + pub channels: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct HrmpCancelOpenRequest { + pub channel_id: runtime_types::polkadot_parachain::primitives::HrmpChannelId, + pub open_requests: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceOpenHrmpChannel { + pub sender: runtime_types::polkadot_parachain::primitives::Id, + pub recipient: runtime_types::polkadot_parachain::primitives::Id, + pub max_capacity: ::core::primitive::u32, + pub max_message_size: ::core::primitive::u32, + } } pub struct TransactionApi; impl TransactionApi { @@ -27771,11 +30559,11 @@ pub mod api { recipient: runtime_types::polkadot_parachain::primitives::Id, proposed_max_capacity: ::core::primitive::u32, proposed_max_message_size: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Hrmp", "hrmp_init_open_channel", - HrmpInitOpenChannel { + types::HrmpInitOpenChannel { recipient, proposed_max_capacity, proposed_max_message_size, @@ -27794,11 +30582,11 @@ pub mod api { pub fn hrmp_accept_open_channel( &self, sender: runtime_types::polkadot_parachain::primitives::Id, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Hrmp", "hrmp_accept_open_channel", - HrmpAcceptOpenChannel { sender }, + types::HrmpAcceptOpenChannel { sender }, [ 75u8, 111u8, 52u8, 164u8, 204u8, 100u8, 204u8, 111u8, 127u8, 84u8, 60u8, 136u8, 95u8, 255u8, 48u8, 157u8, 189u8, 76u8, 33u8, 177u8, 223u8, @@ -27813,11 +30601,11 @@ pub mod api { pub fn hrmp_close_channel( &self, channel_id: runtime_types::polkadot_parachain::primitives::HrmpChannelId, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Hrmp", "hrmp_close_channel", - HrmpCloseChannel { channel_id }, + types::HrmpCloseChannel { channel_id }, [ 11u8, 202u8, 76u8, 107u8, 213u8, 21u8, 191u8, 190u8, 40u8, 229u8, 60u8, 115u8, 232u8, 136u8, 41u8, 114u8, 21u8, 19u8, 238u8, 236u8, 202u8, @@ -27837,11 +30625,11 @@ pub mod api { para: runtime_types::polkadot_parachain::primitives::Id, inbound: ::core::primitive::u32, outbound: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Hrmp", "force_clean_hrmp", - ForceCleanHrmp { + types::ForceCleanHrmp { para, inbound, outbound, @@ -27863,11 +30651,11 @@ pub mod api { pub fn force_process_hrmp_open( &self, channels: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Hrmp", "force_process_hrmp_open", - ForceProcessHrmpOpen { channels }, + types::ForceProcessHrmpOpen { channels }, [ 231u8, 80u8, 233u8, 15u8, 131u8, 167u8, 223u8, 28u8, 182u8, 185u8, 213u8, 24u8, 154u8, 160u8, 68u8, 94u8, 160u8, 59u8, 78u8, 85u8, 85u8, @@ -27885,11 +30673,11 @@ pub mod api { pub fn force_process_hrmp_close( &self, channels: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Hrmp", "force_process_hrmp_close", - ForceProcessHrmpClose { channels }, + types::ForceProcessHrmpClose { channels }, [ 248u8, 138u8, 30u8, 151u8, 53u8, 16u8, 44u8, 116u8, 51u8, 194u8, 173u8, 252u8, 143u8, 53u8, 184u8, 129u8, 80u8, 80u8, 25u8, 118u8, 47u8, 183u8, @@ -27909,11 +30697,11 @@ pub mod api { &self, channel_id: runtime_types::polkadot_parachain::primitives::HrmpChannelId, open_requests: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Hrmp", "hrmp_cancel_open_request", - HrmpCancelOpenRequest { + types::HrmpCancelOpenRequest { channel_id, open_requests, }, @@ -27937,11 +30725,11 @@ pub mod api { recipient: runtime_types::polkadot_parachain::primitives::Id, max_capacity: ::core::primitive::u32, max_message_size: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Hrmp", "force_open_hrmp_channel", - ForceOpenHrmpChannel { + types::ForceOpenHrmpChannel { sender, recipient, max_capacity, @@ -28679,7 +31467,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec, + ::std::vec::Vec, ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, (), @@ -28725,7 +31513,7 @@ pub mod api { _0: impl ::std::borrow::Borrow<::core::primitive::u32>, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::polkadot_primitives::v2::SessionInfo, + runtime_types::polkadot_primitives::v4::SessionInfo, ::subxt::storage::address::Yes, (), ::subxt::storage::address::Yes, @@ -28751,7 +31539,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::polkadot_primitives::v2::SessionInfo, + runtime_types::polkadot_primitives::v4::SessionInfo, (), (), ::subxt::storage::address::Yes, @@ -28813,6 +31601,51 @@ pub mod api { ], ) } + #[doc = " Executor parameter set for a given session index"] + pub fn session_executor_params( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_primitives::v4::executor_params::ExecutorParams, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ParaSessionInfo", + "SessionExecutorParams", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 182u8, 246u8, 210u8, 246u8, 208u8, 93u8, 19u8, 9u8, 132u8, 75u8, 158u8, + 40u8, 146u8, 8u8, 143u8, 37u8, 148u8, 19u8, 89u8, 70u8, 151u8, 143u8, + 143u8, 62u8, 127u8, 208u8, 74u8, 177u8, 82u8, 55u8, 226u8, 43u8, + ], + ) + } + #[doc = " Executor parameter set for a given session index"] + pub fn session_executor_params_root( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_primitives::v4::executor_params::ExecutorParams, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ParaSessionInfo", + "SessionExecutorParams", + Vec::new(), + [ + 182u8, 246u8, 210u8, 246u8, 208u8, 93u8, 19u8, 9u8, 132u8, 75u8, 158u8, + 40u8, 146u8, 8u8, 143u8, 37u8, 148u8, 19u8, 89u8, 70u8, 151u8, 143u8, + 143u8, 62u8, 127u8, 208u8, 74u8, 177u8, 82u8, 55u8, 226u8, 43u8, + ], + ) + } } } } @@ -28826,24 +31659,27 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceUnfreeze; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceUnfreeze; + } pub struct TransactionApi; impl TransactionApi { - pub fn force_unfreeze(&self) -> ::subxt::tx::Payload { + pub fn force_unfreeze(&self) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "ParasDisputes", "force_unfreeze", - ForceUnfreeze {}, + types::ForceUnfreeze {}, [ 212u8, 211u8, 58u8, 159u8, 23u8, 220u8, 64u8, 175u8, 65u8, 50u8, 192u8, 122u8, 113u8, 189u8, 74u8, 191u8, 48u8, 93u8, 251u8, 50u8, 237u8, @@ -28897,23 +31733,6 @@ pub mod api { const PALLET: &'static str = "ParasDisputes"; const EVENT: &'static str = "DisputeConcluded"; } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A dispute has timed out due to insufficient participation."] - #[doc = "`\\[para id, candidate hash\\]`"] - pub struct DisputeTimedOut(pub runtime_types::polkadot_core_primitives::CandidateHash); - impl ::subxt::events::StaticEvent for DisputeTimedOut { - const PALLET: &'static str = "ParasDisputes"; - const EVENT: &'static str = "DisputeTimedOut"; - } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -28970,7 +31789,7 @@ pub mod api { >, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::polkadot_primitives::v2::DisputeState<::core::primitive::u32>, + runtime_types::polkadot_primitives::v4::DisputeState<::core::primitive::u32>, ::subxt::storage::address::Yes, (), ::subxt::storage::address::Yes, @@ -28995,7 +31814,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::polkadot_primitives::v2::DisputeState<::core::primitive::u32>, + runtime_types::polkadot_primitives::v4::DisputeState<::core::primitive::u32>, (), (), ::subxt::storage::address::Yes, @@ -29012,6 +31831,57 @@ pub mod api { ], ) } + #[doc = " Backing votes stored for each dispute."] + #[doc = " This storage is used for slashing."] + pub fn backers_on_disputes( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow< + runtime_types::polkadot_core_primitives::CandidateHash, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ParasDisputes", + "BackersOnDisputes", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 78u8, 51u8, 233u8, 125u8, 212u8, 66u8, 171u8, 4u8, 46u8, 64u8, 92u8, + 237u8, 177u8, 72u8, 36u8, 163u8, 64u8, 238u8, 47u8, 61u8, 34u8, 249u8, + 178u8, 133u8, 129u8, 52u8, 103u8, 14u8, 91u8, 184u8, 192u8, 237u8, + ], + ) + } + #[doc = " Backing votes stored for each dispute."] + #[doc = " This storage is used for slashing."] + pub fn backers_on_disputes_root( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ParasDisputes", + "BackersOnDisputes", + Vec::new(), + [ + 78u8, 51u8, 233u8, 125u8, 212u8, 66u8, 171u8, 4u8, 46u8, 64u8, 92u8, + 237u8, 177u8, 72u8, 36u8, 163u8, 64u8, 238u8, 47u8, 61u8, 34u8, 249u8, + 178u8, 133u8, 129u8, 52u8, 103u8, 14u8, 91u8, 184u8, 192u8, 237u8, + ], + ) + } #[doc = " All included blocks on the chain, as well as the block number in this chain that"] #[doc = " should be reverted back to if the candidate is disputed and determined to be invalid."] pub fn included( @@ -29065,61 +31935,6 @@ pub mod api { ], ) } - #[doc = " Maps session indices to a vector indicating the number of potentially-spam disputes"] - #[doc = " each validator is participating in. Potentially-spam disputes are remote disputes which have"] - #[doc = " fewer than `byzantine_threshold + 1` validators."] - #[doc = ""] - #[doc = " The i'th entry of the vector corresponds to the i'th validator in the session."] - pub fn spam_slots( - &self, - _0: impl ::std::borrow::Borrow<::core::primitive::u32>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec<::core::primitive::u32>, - ::subxt::storage::address::Yes, - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "ParasDisputes", - "SpamSlots", - vec![::subxt::storage::address::make_static_storage_map_key( - _0.borrow(), - )], - [ - 172u8, 23u8, 120u8, 188u8, 71u8, 248u8, 252u8, 41u8, 132u8, 221u8, - 98u8, 215u8, 33u8, 242u8, 168u8, 196u8, 90u8, 123u8, 190u8, 27u8, - 147u8, 6u8, 196u8, 175u8, 198u8, 216u8, 50u8, 74u8, 138u8, 122u8, - 251u8, 238u8, - ], - ) - } - #[doc = " Maps session indices to a vector indicating the number of potentially-spam disputes"] - #[doc = " each validator is participating in. Potentially-spam disputes are remote disputes which have"] - #[doc = " fewer than `byzantine_threshold + 1` validators."] - #[doc = ""] - #[doc = " The i'th entry of the vector corresponds to the i'th validator in the session."] - pub fn spam_slots_root( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec<::core::primitive::u32>, - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "ParasDisputes", - "SpamSlots", - Vec::new(), - [ - 172u8, 23u8, 120u8, 188u8, 71u8, 248u8, 252u8, 41u8, 132u8, 221u8, - 98u8, 215u8, 33u8, 242u8, 168u8, 196u8, 90u8, 123u8, 190u8, 27u8, - 147u8, 6u8, 196u8, 175u8, 198u8, 216u8, 50u8, 74u8, 138u8, 122u8, - 251u8, 238u8, - ], - ) - } #[doc = " Whether the chain is frozen. Starts as `None`. When this is `Some`,"] #[doc = " the chain will not accept any new parachain blocks for backing or inclusion,"] #[doc = " and its value indicates the last valid block number in the chain."] @@ -29158,129 +31973,134 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Register { - pub id: runtime_types::polkadot_parachain::primitives::Id, - pub genesis_head: runtime_types::polkadot_parachain::primitives::HeadData, - pub validation_code: runtime_types::polkadot_parachain::primitives::ValidationCode, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceRegister { - pub who: ::subxt::utils::AccountId32, - pub deposit: ::core::primitive::u128, - pub id: runtime_types::polkadot_parachain::primitives::Id, - pub genesis_head: runtime_types::polkadot_parachain::primitives::HeadData, - pub validation_code: runtime_types::polkadot_parachain::primitives::ValidationCode, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Deregister { - pub id: runtime_types::polkadot_parachain::primitives::Id, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Swap { - pub id: runtime_types::polkadot_parachain::primitives::Id, - pub other: runtime_types::polkadot_parachain::primitives::Id, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RemoveLock { - pub para: runtime_types::polkadot_parachain::primitives::Id, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Reserve; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AddLock { - pub para: runtime_types::polkadot_parachain::primitives::Id, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ScheduleCodeUpgrade { - pub para: runtime_types::polkadot_parachain::primitives::Id, - pub new_code: runtime_types::polkadot_parachain::primitives::ValidationCode, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetCurrentHead { - pub para: runtime_types::polkadot_parachain::primitives::Id, - pub new_head: runtime_types::polkadot_parachain::primitives::HeadData, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Register { + pub id: runtime_types::polkadot_parachain::primitives::Id, + pub genesis_head: runtime_types::polkadot_parachain::primitives::HeadData, + pub validation_code: + runtime_types::polkadot_parachain::primitives::ValidationCode, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceRegister { + pub who: ::subxt::utils::AccountId32, + pub deposit: ::core::primitive::u128, + pub id: runtime_types::polkadot_parachain::primitives::Id, + pub genesis_head: runtime_types::polkadot_parachain::primitives::HeadData, + pub validation_code: + runtime_types::polkadot_parachain::primitives::ValidationCode, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Deregister { + pub id: runtime_types::polkadot_parachain::primitives::Id, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Swap { + pub id: runtime_types::polkadot_parachain::primitives::Id, + pub other: runtime_types::polkadot_parachain::primitives::Id, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveLock { + pub para: runtime_types::polkadot_parachain::primitives::Id, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Reserve; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AddLock { + pub para: runtime_types::polkadot_parachain::primitives::Id, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ScheduleCodeUpgrade { + pub para: runtime_types::polkadot_parachain::primitives::Id, + pub new_code: runtime_types::polkadot_parachain::primitives::ValidationCode, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetCurrentHead { + pub para: runtime_types::polkadot_parachain::primitives::Id, + pub new_head: runtime_types::polkadot_parachain::primitives::HeadData, + } } pub struct TransactionApi; impl TransactionApi { @@ -29303,11 +32123,11 @@ pub mod api { id: runtime_types::polkadot_parachain::primitives::Id, genesis_head: runtime_types::polkadot_parachain::primitives::HeadData, validation_code: runtime_types::polkadot_parachain::primitives::ValidationCode, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Registrar", "register", - Register { + types::Register { id, genesis_head, validation_code, @@ -29332,11 +32152,11 @@ pub mod api { id: runtime_types::polkadot_parachain::primitives::Id, genesis_head: runtime_types::polkadot_parachain::primitives::HeadData, validation_code: runtime_types::polkadot_parachain::primitives::ValidationCode, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Registrar", "force_register", - ForceRegister { + types::ForceRegister { who, deposit, id, @@ -29356,11 +32176,11 @@ pub mod api { pub fn deregister( &self, id: runtime_types::polkadot_parachain::primitives::Id, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Registrar", "deregister", - Deregister { id }, + types::Deregister { id }, [ 137u8, 9u8, 146u8, 11u8, 126u8, 125u8, 186u8, 222u8, 246u8, 199u8, 94u8, 229u8, 147u8, 245u8, 213u8, 51u8, 203u8, 181u8, 78u8, 87u8, 18u8, @@ -29383,11 +32203,11 @@ pub mod api { &self, id: runtime_types::polkadot_parachain::primitives::Id, other: runtime_types::polkadot_parachain::primitives::Id, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Registrar", "swap", - Swap { id, other }, + types::Swap { id, other }, [ 238u8, 154u8, 249u8, 250u8, 57u8, 242u8, 47u8, 17u8, 50u8, 70u8, 124u8, 189u8, 193u8, 137u8, 107u8, 138u8, 216u8, 137u8, 160u8, 103u8, 192u8, @@ -29402,11 +32222,11 @@ pub mod api { pub fn remove_lock( &self, para: runtime_types::polkadot_parachain::primitives::Id, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Registrar", "remove_lock", - RemoveLock { para }, + types::RemoveLock { para }, [ 93u8, 50u8, 223u8, 180u8, 185u8, 3u8, 225u8, 27u8, 233u8, 205u8, 101u8, 86u8, 122u8, 19u8, 147u8, 8u8, 202u8, 151u8, 80u8, 24u8, 196u8, 2u8, @@ -29428,11 +32248,11 @@ pub mod api { #[doc = ""] #[doc = "## Events"] #[doc = "The `Reserved` event is emitted in case of success, which provides the ID reserved for use."] - pub fn reserve(&self) -> ::subxt::tx::Payload { + pub fn reserve(&self) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Registrar", "reserve", - Reserve {}, + types::Reserve {}, [ 22u8, 210u8, 13u8, 54u8, 253u8, 13u8, 89u8, 174u8, 232u8, 119u8, 148u8, 206u8, 130u8, 133u8, 199u8, 127u8, 201u8, 205u8, 8u8, 213u8, 108u8, @@ -29448,11 +32268,11 @@ pub mod api { pub fn add_lock( &self, para: runtime_types::polkadot_parachain::primitives::Id, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Registrar", "add_lock", - AddLock { para }, + types::AddLock { para }, [ 99u8, 199u8, 192u8, 92u8, 180u8, 52u8, 86u8, 165u8, 249u8, 60u8, 72u8, 79u8, 233u8, 5u8, 83u8, 194u8, 48u8, 83u8, 249u8, 218u8, 141u8, 234u8, @@ -29467,11 +32287,11 @@ pub mod api { &self, para: runtime_types::polkadot_parachain::primitives::Id, new_code: runtime_types::polkadot_parachain::primitives::ValidationCode, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Registrar", "schedule_code_upgrade", - ScheduleCodeUpgrade { para, new_code }, + types::ScheduleCodeUpgrade { para, new_code }, [ 67u8, 11u8, 148u8, 83u8, 36u8, 106u8, 97u8, 77u8, 79u8, 114u8, 249u8, 218u8, 207u8, 89u8, 209u8, 120u8, 45u8, 101u8, 69u8, 21u8, 61u8, 158u8, @@ -29486,11 +32306,11 @@ pub mod api { &self, para: runtime_types::polkadot_parachain::primitives::Id, new_head: runtime_types::polkadot_parachain::primitives::HeadData, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Registrar", "set_current_head", - SetCurrentHead { para, new_head }, + types::SetCurrentHead { para, new_head }, [ 103u8, 240u8, 206u8, 26u8, 120u8, 189u8, 94u8, 221u8, 174u8, 225u8, 210u8, 176u8, 217u8, 18u8, 94u8, 216u8, 77u8, 205u8, 86u8, 196u8, @@ -29734,48 +32554,51 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceLease { - pub para: runtime_types::polkadot_parachain::primitives::Id, - pub leaser: ::subxt::utils::AccountId32, - pub amount: ::core::primitive::u128, - pub period_begin: ::core::primitive::u32, - pub period_count: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ClearAllLeases { - pub para: runtime_types::polkadot_parachain::primitives::Id, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct TriggerOnboard { - pub para: runtime_types::polkadot_parachain::primitives::Id, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceLease { + pub para: runtime_types::polkadot_parachain::primitives::Id, + pub leaser: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + pub period_begin: ::core::primitive::u32, + pub period_count: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ClearAllLeases { + pub para: runtime_types::polkadot_parachain::primitives::Id, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct TriggerOnboard { + pub para: runtime_types::polkadot_parachain::primitives::Id, + } } pub struct TransactionApi; impl TransactionApi { @@ -29790,11 +32613,11 @@ pub mod api { amount: ::core::primitive::u128, period_begin: ::core::primitive::u32, period_count: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Slots", "force_lease", - ForceLease { + types::ForceLease { para, leaser, amount, @@ -29814,11 +32637,11 @@ pub mod api { pub fn clear_all_leases( &self, para: runtime_types::polkadot_parachain::primitives::Id, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Slots", "clear_all_leases", - ClearAllLeases { para }, + types::ClearAllLeases { para }, [ 16u8, 14u8, 185u8, 45u8, 149u8, 70u8, 177u8, 133u8, 130u8, 173u8, 196u8, 244u8, 77u8, 63u8, 218u8, 64u8, 108u8, 83u8, 84u8, 184u8, 175u8, @@ -29836,11 +32659,11 @@ pub mod api { pub fn trigger_onboard( &self, para: runtime_types::polkadot_parachain::primitives::Id, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Slots", "trigger_onboard", - TriggerOnboard { para }, + types::TriggerOnboard { para }, [ 74u8, 158u8, 122u8, 37u8, 34u8, 62u8, 61u8, 218u8, 94u8, 222u8, 1u8, 153u8, 131u8, 215u8, 157u8, 180u8, 98u8, 130u8, 151u8, 179u8, 22u8, @@ -30033,55 +32856,58 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct NewAuction { - #[codec(compact)] - pub duration: ::core::primitive::u32, - #[codec(compact)] - pub lease_period_index: ::core::primitive::u32, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct NewAuction { + #[codec(compact)] + pub duration: ::core::primitive::u32, + #[codec(compact)] + pub lease_period_index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Bid { + #[codec(compact)] + pub para: runtime_types::polkadot_parachain::primitives::Id, + #[codec(compact)] + pub auction_index: ::core::primitive::u32, + #[codec(compact)] + pub first_slot: ::core::primitive::u32, + #[codec(compact)] + pub last_slot: ::core::primitive::u32, + #[codec(compact)] + pub amount: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CancelAuction; } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Bid { - #[codec(compact)] - pub para: runtime_types::polkadot_parachain::primitives::Id, - #[codec(compact)] - pub auction_index: ::core::primitive::u32, - #[codec(compact)] - pub first_slot: ::core::primitive::u32, - #[codec(compact)] - pub last_slot: ::core::primitive::u32, - #[codec(compact)] - pub amount: ::core::primitive::u128, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CancelAuction; pub struct TransactionApi; impl TransactionApi { #[doc = "Create a new auction."] @@ -30093,11 +32919,11 @@ pub mod api { &self, duration: ::core::primitive::u32, lease_period_index: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Auctions", "new_auction", - NewAuction { + types::NewAuction { duration, lease_period_index, }, @@ -30132,11 +32958,11 @@ pub mod api { first_slot: ::core::primitive::u32, last_slot: ::core::primitive::u32, amount: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Auctions", "bid", - Bid { + types::Bid { para, auction_index, first_slot, @@ -30153,11 +32979,11 @@ pub mod api { #[doc = "Cancel an in-progress auction."] #[doc = ""] #[doc = "Can only be called by Root origin."] - pub fn cancel_auction(&self) -> ::subxt::tx::Payload { + pub fn cancel_auction(&self) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Auctions", "cancel_auction", - CancelAuction {}, + types::CancelAuction {}, [ 182u8, 223u8, 178u8, 136u8, 1u8, 115u8, 229u8, 78u8, 166u8, 128u8, 28u8, 106u8, 6u8, 248u8, 46u8, 55u8, 110u8, 120u8, 213u8, 11u8, 90u8, @@ -30548,153 +33374,158 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Create { - #[codec(compact)] - pub index: runtime_types::polkadot_parachain::primitives::Id, - #[codec(compact)] - pub cap: ::core::primitive::u128, - #[codec(compact)] - pub first_period: ::core::primitive::u32, - #[codec(compact)] - pub last_period: ::core::primitive::u32, - #[codec(compact)] - pub end: ::core::primitive::u32, - pub verifier: ::core::option::Option, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Contribute { - #[codec(compact)] - pub index: runtime_types::polkadot_parachain::primitives::Id, - #[codec(compact)] - pub value: ::core::primitive::u128, - pub signature: ::core::option::Option, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Withdraw { - pub who: ::subxt::utils::AccountId32, - #[codec(compact)] - pub index: runtime_types::polkadot_parachain::primitives::Id, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Refund { - #[codec(compact)] - pub index: runtime_types::polkadot_parachain::primitives::Id, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Dissolve { - #[codec(compact)] - pub index: runtime_types::polkadot_parachain::primitives::Id, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Edit { - #[codec(compact)] - pub index: runtime_types::polkadot_parachain::primitives::Id, - #[codec(compact)] - pub cap: ::core::primitive::u128, - #[codec(compact)] - pub first_period: ::core::primitive::u32, - #[codec(compact)] - pub last_period: ::core::primitive::u32, - #[codec(compact)] - pub end: ::core::primitive::u32, - pub verifier: ::core::option::Option, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AddMemo { - pub index: runtime_types::polkadot_parachain::primitives::Id, - pub memo: ::std::vec::Vec<::core::primitive::u8>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Poke { - pub index: runtime_types::polkadot_parachain::primitives::Id, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ContributeAll { - #[codec(compact)] - pub index: runtime_types::polkadot_parachain::primitives::Id, - pub signature: ::core::option::Option, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Create { + #[codec(compact)] + pub index: runtime_types::polkadot_parachain::primitives::Id, + #[codec(compact)] + pub cap: ::core::primitive::u128, + #[codec(compact)] + pub first_period: ::core::primitive::u32, + #[codec(compact)] + pub last_period: ::core::primitive::u32, + #[codec(compact)] + pub end: ::core::primitive::u32, + pub verifier: ::core::option::Option, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Contribute { + #[codec(compact)] + pub index: runtime_types::polkadot_parachain::primitives::Id, + #[codec(compact)] + pub value: ::core::primitive::u128, + pub signature: + ::core::option::Option, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Withdraw { + pub who: ::subxt::utils::AccountId32, + #[codec(compact)] + pub index: runtime_types::polkadot_parachain::primitives::Id, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Refund { + #[codec(compact)] + pub index: runtime_types::polkadot_parachain::primitives::Id, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Dissolve { + #[codec(compact)] + pub index: runtime_types::polkadot_parachain::primitives::Id, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Edit { + #[codec(compact)] + pub index: runtime_types::polkadot_parachain::primitives::Id, + #[codec(compact)] + pub cap: ::core::primitive::u128, + #[codec(compact)] + pub first_period: ::core::primitive::u32, + #[codec(compact)] + pub last_period: ::core::primitive::u32, + #[codec(compact)] + pub end: ::core::primitive::u32, + pub verifier: ::core::option::Option, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AddMemo { + pub index: runtime_types::polkadot_parachain::primitives::Id, + pub memo: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Poke { + pub index: runtime_types::polkadot_parachain::primitives::Id, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ContributeAll { + #[codec(compact)] + pub index: runtime_types::polkadot_parachain::primitives::Id, + pub signature: + ::core::option::Option, + } } pub struct TransactionApi; impl TransactionApi { @@ -30710,11 +33541,11 @@ pub mod api { last_period: ::core::primitive::u32, end: ::core::primitive::u32, verifier: ::core::option::Option, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Crowdloan", "create", - Create { + types::Create { index, cap, first_period, @@ -30736,11 +33567,11 @@ pub mod api { index: runtime_types::polkadot_parachain::primitives::Id, value: ::core::primitive::u128, signature: ::core::option::Option, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Crowdloan", "contribute", - Contribute { + types::Contribute { index, value, signature, @@ -30774,11 +33605,11 @@ pub mod api { &self, who: ::subxt::utils::AccountId32, index: runtime_types::polkadot_parachain::primitives::Id, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Crowdloan", "withdraw", - Withdraw { who, index }, + types::Withdraw { who, index }, [ 147u8, 177u8, 116u8, 152u8, 9u8, 102u8, 4u8, 201u8, 204u8, 145u8, 104u8, 226u8, 86u8, 211u8, 66u8, 109u8, 109u8, 139u8, 229u8, 97u8, @@ -30795,11 +33626,11 @@ pub mod api { pub fn refund( &self, index: runtime_types::polkadot_parachain::primitives::Id, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Crowdloan", "refund", - Refund { index }, + types::Refund { index }, [ 223u8, 64u8, 5u8, 135u8, 15u8, 234u8, 60u8, 114u8, 199u8, 216u8, 73u8, 165u8, 198u8, 34u8, 140u8, 142u8, 214u8, 254u8, 203u8, 163u8, 224u8, @@ -30812,11 +33643,11 @@ pub mod api { pub fn dissolve( &self, index: runtime_types::polkadot_parachain::primitives::Id, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Crowdloan", "dissolve", - Dissolve { index }, + types::Dissolve { index }, [ 100u8, 67u8, 105u8, 3u8, 213u8, 149u8, 201u8, 146u8, 241u8, 62u8, 31u8, 108u8, 58u8, 30u8, 241u8, 141u8, 134u8, 115u8, 56u8, 131u8, 60u8, 75u8, @@ -30835,11 +33666,11 @@ pub mod api { last_period: ::core::primitive::u32, end: ::core::primitive::u32, verifier: ::core::option::Option, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Crowdloan", "edit", - Edit { + types::Edit { index, cap, first_period, @@ -30862,11 +33693,11 @@ pub mod api { &self, index: runtime_types::polkadot_parachain::primitives::Id, memo: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Crowdloan", "add_memo", - AddMemo { index, memo }, + types::AddMemo { index, memo }, [ 104u8, 199u8, 143u8, 251u8, 28u8, 49u8, 144u8, 186u8, 83u8, 108u8, 26u8, 127u8, 22u8, 141u8, 48u8, 62u8, 194u8, 193u8, 97u8, 10u8, 84u8, @@ -30880,11 +33711,11 @@ pub mod api { pub fn poke( &self, index: runtime_types::polkadot_parachain::primitives::Id, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Crowdloan", "poke", - Poke { index }, + types::Poke { index }, [ 118u8, 60u8, 131u8, 17u8, 27u8, 153u8, 57u8, 24u8, 191u8, 211u8, 101u8, 123u8, 34u8, 145u8, 193u8, 113u8, 244u8, 162u8, 148u8, 143u8, 81u8, @@ -30898,11 +33729,11 @@ pub mod api { &self, index: runtime_types::polkadot_parachain::primitives::Id, signature: ::core::option::Option, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Crowdloan", "contribute_all", - ContributeAll { index, signature }, + types::ContributeAll { index, signature }, [ 94u8, 61u8, 105u8, 107u8, 204u8, 18u8, 223u8, 242u8, 19u8, 162u8, 205u8, 130u8, 203u8, 73u8, 42u8, 85u8, 208u8, 157u8, 115u8, 112u8, @@ -31294,153 +34125,156 @@ pub mod api { use super::root_mod; use super::runtime_types; type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Send { - pub dest: ::std::boxed::Box, - pub message: ::std::boxed::Box, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct TeleportAssets { - pub dest: ::std::boxed::Box, - pub beneficiary: ::std::boxed::Box, - pub assets: ::std::boxed::Box, - pub fee_asset_item: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ReserveTransferAssets { - pub dest: ::std::boxed::Box, - pub beneficiary: ::std::boxed::Box, - pub assets: ::std::boxed::Box, - pub fee_asset_item: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Execute { - pub message: ::std::boxed::Box, - pub max_weight: ::core::primitive::u64, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceXcmVersion { - pub location: - ::std::boxed::Box, - pub xcm_version: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceDefaultXcmVersion { - pub maybe_xcm_version: ::core::option::Option<::core::primitive::u32>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceSubscribeVersionNotify { - pub location: ::std::boxed::Box, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceUnsubscribeVersionNotify { - pub location: ::std::boxed::Box, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct LimitedReserveTransferAssets { - pub dest: ::std::boxed::Box, - pub beneficiary: ::std::boxed::Box, - pub assets: ::std::boxed::Box, - pub fee_asset_item: ::core::primitive::u32, - pub weight_limit: runtime_types::xcm::v2::WeightLimit, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct LimitedTeleportAssets { - pub dest: ::std::boxed::Box, - pub beneficiary: ::std::boxed::Box, - pub assets: ::std::boxed::Box, - pub fee_asset_item: ::core::primitive::u32, - pub weight_limit: runtime_types::xcm::v2::WeightLimit, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Send { + pub dest: ::std::boxed::Box, + pub message: ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct TeleportAssets { + pub dest: ::std::boxed::Box, + pub beneficiary: ::std::boxed::Box, + pub assets: ::std::boxed::Box, + pub fee_asset_item: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReserveTransferAssets { + pub dest: ::std::boxed::Box, + pub beneficiary: ::std::boxed::Box, + pub assets: ::std::boxed::Box, + pub fee_asset_item: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Execute { + pub message: ::std::boxed::Box, + pub max_weight: runtime_types::sp_weights::weight_v2::Weight, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceXcmVersion { + pub location: + ::std::boxed::Box, + pub xcm_version: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceDefaultXcmVersion { + pub maybe_xcm_version: ::core::option::Option<::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceSubscribeVersionNotify { + pub location: ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceUnsubscribeVersionNotify { + pub location: ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct LimitedReserveTransferAssets { + pub dest: ::std::boxed::Box, + pub beneficiary: ::std::boxed::Box, + pub assets: ::std::boxed::Box, + pub fee_asset_item: ::core::primitive::u32, + pub weight_limit: runtime_types::xcm::v3::WeightLimit, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct LimitedTeleportAssets { + pub dest: ::std::boxed::Box, + pub beneficiary: ::std::boxed::Box, + pub assets: ::std::boxed::Box, + pub fee_asset_item: ::core::primitive::u32, + pub weight_limit: runtime_types::xcm::v3::WeightLimit, + } } pub struct TransactionApi; impl TransactionApi { @@ -31448,18 +34282,18 @@ pub mod api { &self, dest: runtime_types::xcm::VersionedMultiLocation, message: runtime_types::xcm::VersionedXcm, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "XcmPallet", "send", - Send { + types::Send { dest: ::std::boxed::Box::new(dest), message: ::std::boxed::Box::new(message), }, [ - 190u8, 88u8, 197u8, 248u8, 111u8, 198u8, 199u8, 206u8, 39u8, 121u8, - 23u8, 121u8, 93u8, 82u8, 22u8, 61u8, 96u8, 210u8, 142u8, 249u8, 195u8, - 78u8, 44u8, 8u8, 118u8, 120u8, 113u8, 168u8, 99u8, 94u8, 232u8, 4u8, + 246u8, 35u8, 227u8, 112u8, 223u8, 7u8, 44u8, 186u8, 60u8, 225u8, 153u8, + 249u8, 104u8, 51u8, 123u8, 227u8, 143u8, 65u8, 232u8, 209u8, 178u8, + 104u8, 70u8, 56u8, 230u8, 14u8, 75u8, 83u8, 250u8, 160u8, 9u8, 39u8, ], ) } @@ -31484,20 +34318,20 @@ pub mod api { beneficiary: runtime_types::xcm::VersionedMultiLocation, assets: runtime_types::xcm::VersionedMultiAssets, fee_asset_item: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "XcmPallet", "teleport_assets", - TeleportAssets { + types::TeleportAssets { dest: ::std::boxed::Box::new(dest), beneficiary: ::std::boxed::Box::new(beneficiary), assets: ::std::boxed::Box::new(assets), fee_asset_item, }, [ - 255u8, 5u8, 68u8, 38u8, 44u8, 181u8, 75u8, 221u8, 239u8, 103u8, 88u8, - 47u8, 136u8, 90u8, 253u8, 55u8, 0u8, 122u8, 217u8, 126u8, 13u8, 77u8, - 209u8, 41u8, 7u8, 35u8, 235u8, 171u8, 150u8, 235u8, 202u8, 240u8, + 187u8, 42u8, 2u8, 96u8, 105u8, 125u8, 74u8, 53u8, 2u8, 21u8, 31u8, + 160u8, 201u8, 197u8, 157u8, 190u8, 40u8, 145u8, 5u8, 99u8, 194u8, 41u8, + 114u8, 60u8, 165u8, 186u8, 15u8, 226u8, 85u8, 113u8, 159u8, 136u8, ], ) } @@ -31523,20 +34357,20 @@ pub mod api { beneficiary: runtime_types::xcm::VersionedMultiLocation, assets: runtime_types::xcm::VersionedMultiAssets, fee_asset_item: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "XcmPallet", "reserve_transfer_assets", - ReserveTransferAssets { + types::ReserveTransferAssets { dest: ::std::boxed::Box::new(dest), beneficiary: ::std::boxed::Box::new(beneficiary), assets: ::std::boxed::Box::new(assets), fee_asset_item, }, [ - 177u8, 160u8, 188u8, 106u8, 153u8, 135u8, 121u8, 12u8, 83u8, 233u8, - 43u8, 161u8, 133u8, 26u8, 104u8, 79u8, 113u8, 8u8, 33u8, 128u8, 82u8, - 62u8, 30u8, 46u8, 203u8, 199u8, 175u8, 193u8, 55u8, 130u8, 206u8, 28u8, + 249u8, 177u8, 76u8, 204u8, 186u8, 165u8, 16u8, 186u8, 129u8, 239u8, + 65u8, 252u8, 9u8, 132u8, 32u8, 164u8, 117u8, 177u8, 40u8, 21u8, 196u8, + 246u8, 147u8, 2u8, 95u8, 110u8, 68u8, 162u8, 148u8, 9u8, 59u8, 170u8, ], ) } @@ -31554,19 +34388,19 @@ pub mod api { pub fn execute( &self, message: runtime_types::xcm::VersionedXcm, - max_weight: ::core::primitive::u64, - ) -> ::subxt::tx::Payload { + max_weight: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "XcmPallet", "execute", - Execute { + types::Execute { message: ::std::boxed::Box::new(message), max_weight, }, [ - 191u8, 177u8, 39u8, 21u8, 1u8, 110u8, 39u8, 58u8, 94u8, 27u8, 44u8, - 18u8, 253u8, 135u8, 100u8, 205u8, 0u8, 231u8, 68u8, 247u8, 5u8, 140u8, - 131u8, 184u8, 251u8, 197u8, 100u8, 113u8, 253u8, 255u8, 120u8, 206u8, + 102u8, 41u8, 146u8, 29u8, 241u8, 205u8, 95u8, 153u8, 228u8, 141u8, + 11u8, 228u8, 13u8, 44u8, 75u8, 204u8, 174u8, 35u8, 155u8, 104u8, 204u8, + 82u8, 239u8, 98u8, 249u8, 187u8, 193u8, 1u8, 122u8, 88u8, 162u8, 200u8, ], ) } @@ -31578,20 +34412,20 @@ pub mod api { #[doc = "- `xcm_version`: The latest version of XCM that `location` supports."] pub fn force_xcm_version( &self, - location: runtime_types::xcm::v1::multilocation::MultiLocation, + location: runtime_types::xcm::v3::multilocation::MultiLocation, xcm_version: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "XcmPallet", "force_xcm_version", - ForceXcmVersion { + types::ForceXcmVersion { location: ::std::boxed::Box::new(location), xcm_version, }, [ - 231u8, 106u8, 60u8, 226u8, 31u8, 25u8, 20u8, 115u8, 107u8, 246u8, - 248u8, 11u8, 71u8, 183u8, 93u8, 3u8, 219u8, 21u8, 97u8, 188u8, 119u8, - 121u8, 239u8, 72u8, 200u8, 81u8, 6u8, 177u8, 111u8, 188u8, 168u8, 86u8, + 68u8, 48u8, 95u8, 61u8, 152u8, 95u8, 213u8, 126u8, 209u8, 176u8, 230u8, + 160u8, 164u8, 42u8, 128u8, 62u8, 175u8, 3u8, 161u8, 170u8, 20u8, 31u8, + 216u8, 122u8, 31u8, 77u8, 64u8, 182u8, 121u8, 41u8, 23u8, 80u8, ], ) } @@ -31603,11 +34437,11 @@ pub mod api { pub fn force_default_xcm_version( &self, maybe_xcm_version: ::core::option::Option<::core::primitive::u32>, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "XcmPallet", "force_default_xcm_version", - ForceDefaultXcmVersion { maybe_xcm_version }, + types::ForceDefaultXcmVersion { maybe_xcm_version }, [ 38u8, 36u8, 59u8, 231u8, 18u8, 79u8, 76u8, 9u8, 200u8, 125u8, 214u8, 166u8, 37u8, 99u8, 111u8, 161u8, 135u8, 2u8, 133u8, 157u8, 165u8, 18u8, @@ -31622,18 +34456,17 @@ pub mod api { pub fn force_subscribe_version_notify( &self, location: runtime_types::xcm::VersionedMultiLocation, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "XcmPallet", "force_subscribe_version_notify", - ForceSubscribeVersionNotify { + types::ForceSubscribeVersionNotify { location: ::std::boxed::Box::new(location), }, [ - 136u8, 216u8, 207u8, 51u8, 42u8, 153u8, 92u8, 70u8, 140u8, 169u8, - 172u8, 89u8, 69u8, 28u8, 200u8, 100u8, 209u8, 226u8, 194u8, 240u8, - 71u8, 38u8, 18u8, 6u8, 6u8, 83u8, 103u8, 254u8, 248u8, 241u8, 62u8, - 189u8, + 236u8, 37u8, 153u8, 26u8, 174u8, 187u8, 154u8, 38u8, 179u8, 223u8, + 130u8, 32u8, 128u8, 30u8, 148u8, 229u8, 7u8, 185u8, 174u8, 9u8, 96u8, + 215u8, 189u8, 178u8, 148u8, 141u8, 249u8, 118u8, 7u8, 238u8, 1u8, 49u8, ], ) } @@ -31646,17 +34479,17 @@ pub mod api { pub fn force_unsubscribe_version_notify( &self, location: runtime_types::xcm::VersionedMultiLocation, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "XcmPallet", "force_unsubscribe_version_notify", - ForceUnsubscribeVersionNotify { + types::ForceUnsubscribeVersionNotify { location: ::std::boxed::Box::new(location), }, [ - 51u8, 72u8, 5u8, 227u8, 251u8, 243u8, 199u8, 9u8, 8u8, 213u8, 191u8, - 52u8, 21u8, 215u8, 170u8, 6u8, 53u8, 242u8, 225u8, 89u8, 150u8, 142u8, - 104u8, 249u8, 225u8, 209u8, 142u8, 234u8, 161u8, 100u8, 153u8, 120u8, + 154u8, 169u8, 145u8, 211u8, 185u8, 71u8, 9u8, 63u8, 3u8, 158u8, 187u8, + 173u8, 115u8, 166u8, 100u8, 66u8, 12u8, 40u8, 198u8, 40u8, 213u8, + 104u8, 95u8, 183u8, 215u8, 53u8, 94u8, 158u8, 106u8, 56u8, 149u8, 52u8, ], ) } @@ -31684,12 +34517,12 @@ pub mod api { beneficiary: runtime_types::xcm::VersionedMultiLocation, assets: runtime_types::xcm::VersionedMultiAssets, fee_asset_item: ::core::primitive::u32, - weight_limit: runtime_types::xcm::v2::WeightLimit, - ) -> ::subxt::tx::Payload { + weight_limit: runtime_types::xcm::v3::WeightLimit, + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "XcmPallet", "limited_reserve_transfer_assets", - LimitedReserveTransferAssets { + types::LimitedReserveTransferAssets { dest: ::std::boxed::Box::new(dest), beneficiary: ::std::boxed::Box::new(beneficiary), assets: ::std::boxed::Box::new(assets), @@ -31697,10 +34530,9 @@ pub mod api { weight_limit, }, [ - 191u8, 81u8, 68u8, 116u8, 196u8, 125u8, 226u8, 154u8, 144u8, 126u8, - 159u8, 149u8, 17u8, 124u8, 205u8, 60u8, 249u8, 106u8, 38u8, 251u8, - 136u8, 128u8, 81u8, 201u8, 164u8, 242u8, 216u8, 80u8, 21u8, 234u8, - 20u8, 70u8, + 131u8, 191u8, 89u8, 27u8, 236u8, 142u8, 130u8, 129u8, 245u8, 95u8, + 159u8, 96u8, 252u8, 80u8, 28u8, 40u8, 128u8, 55u8, 41u8, 123u8, 22u8, + 18u8, 0u8, 236u8, 77u8, 68u8, 135u8, 181u8, 40u8, 47u8, 92u8, 240u8, ], ) } @@ -31727,12 +34559,12 @@ pub mod api { beneficiary: runtime_types::xcm::VersionedMultiLocation, assets: runtime_types::xcm::VersionedMultiAssets, fee_asset_item: ::core::primitive::u32, - weight_limit: runtime_types::xcm::v2::WeightLimit, - ) -> ::subxt::tx::Payload { + weight_limit: runtime_types::xcm::v3::WeightLimit, + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "XcmPallet", "limited_teleport_assets", - LimitedTeleportAssets { + types::LimitedTeleportAssets { dest: ::std::boxed::Box::new(dest), beneficiary: ::std::boxed::Box::new(beneficiary), assets: ::std::boxed::Box::new(assets), @@ -31740,10 +34572,10 @@ pub mod api { weight_limit, }, [ - 29u8, 31u8, 229u8, 83u8, 40u8, 60u8, 36u8, 185u8, 169u8, 74u8, 30u8, - 47u8, 118u8, 118u8, 22u8, 15u8, 246u8, 220u8, 169u8, 135u8, 72u8, - 154u8, 109u8, 192u8, 195u8, 58u8, 121u8, 240u8, 166u8, 243u8, 29u8, - 29u8, + 234u8, 19u8, 104u8, 174u8, 98u8, 159u8, 205u8, 110u8, 240u8, 78u8, + 186u8, 138u8, 236u8, 116u8, 104u8, 215u8, 57u8, 178u8, 166u8, 208u8, + 197u8, 113u8, 101u8, 56u8, 23u8, 56u8, 84u8, 14u8, 173u8, 70u8, 211u8, + 201u8, ], ) } @@ -31766,7 +34598,7 @@ pub mod api { #[doc = "Execution of an XCM message was attempted."] #[doc = ""] #[doc = "\\[ outcome \\]"] - pub struct Attempted(pub runtime_types::xcm::v2::traits::Outcome); + pub struct Attempted(pub runtime_types::xcm::v3::traits::Outcome); impl ::subxt::events::StaticEvent for Attempted { const PALLET: &'static str = "XcmPallet"; const EVENT: &'static str = "Attempted"; @@ -31785,9 +34617,9 @@ pub mod api { #[doc = ""] #[doc = "\\[ origin, destination, message \\]"] pub struct Sent( - pub runtime_types::xcm::v1::multilocation::MultiLocation, - pub runtime_types::xcm::v1::multilocation::MultiLocation, - pub runtime_types::xcm::v2::Xcm, + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub runtime_types::xcm::v3::Xcm, ); impl ::subxt::events::StaticEvent for Sent { const PALLET: &'static str = "XcmPallet"; @@ -31809,7 +34641,7 @@ pub mod api { #[doc = ""] #[doc = "\\[ origin location, id \\]"] pub struct UnexpectedResponse( - pub runtime_types::xcm::v1::multilocation::MultiLocation, + pub runtime_types::xcm::v3::multilocation::MultiLocation, pub ::core::primitive::u64, ); impl ::subxt::events::StaticEvent for UnexpectedResponse { @@ -31832,7 +34664,7 @@ pub mod api { #[doc = "\\[ id, response \\]"] pub struct ResponseReady( pub ::core::primitive::u64, - pub runtime_types::xcm::v2::Response, + pub runtime_types::xcm::v3::Response, ); impl ::subxt::events::StaticEvent for ResponseReady { const PALLET: &'static str = "XcmPallet"; @@ -31950,9 +34782,9 @@ pub mod api { #[doc = ""] #[doc = "\\[ origin location, id, expected location \\]"] pub struct InvalidResponder( - pub runtime_types::xcm::v1::multilocation::MultiLocation, + pub runtime_types::xcm::v3::multilocation::MultiLocation, pub ::core::primitive::u64, - pub ::core::option::Option, + pub ::core::option::Option, ); impl ::subxt::events::StaticEvent for InvalidResponder { const PALLET: &'static str = "XcmPallet"; @@ -31978,7 +34810,7 @@ pub mod api { #[doc = ""] #[doc = "\\[ origin location, id \\]"] pub struct InvalidResponderVersion( - pub runtime_types::xcm::v1::multilocation::MultiLocation, + pub runtime_types::xcm::v3::multilocation::MultiLocation, pub ::core::primitive::u64, ); impl ::subxt::events::StaticEvent for InvalidResponderVersion { @@ -32019,7 +34851,7 @@ pub mod api { #[doc = "\\[ hash, origin, assets \\]"] pub struct AssetsTrapped( pub ::subxt::utils::H256, - pub runtime_types::xcm::v1::multilocation::MultiLocation, + pub runtime_types::xcm::v3::multilocation::MultiLocation, pub runtime_types::xcm::VersionedMultiAssets, ); impl ::subxt::events::StaticEvent for AssetsTrapped { @@ -32038,10 +34870,13 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "An XCM version change notification message has been attempted to be sent."] #[doc = ""] - #[doc = "\\[ destination, result \\]"] + #[doc = "The cost of sending it (borne by the chain) is included."] + #[doc = ""] + #[doc = "\\[ destination, result, cost \\]"] pub struct VersionChangeNotified( - pub runtime_types::xcm::v1::multilocation::MultiLocation, + pub runtime_types::xcm::v3::multilocation::MultiLocation, pub ::core::primitive::u32, + pub runtime_types::xcm::v3::multiasset::MultiAssets, ); impl ::subxt::events::StaticEvent for VersionChangeNotified { const PALLET: &'static str = "XcmPallet"; @@ -32062,7 +34897,7 @@ pub mod api { #[doc = ""] #[doc = "\\[ location, XCM version \\]"] pub struct SupportedVersionChanged( - pub runtime_types::xcm::v1::multilocation::MultiLocation, + pub runtime_types::xcm::v3::multilocation::MultiLocation, pub ::core::primitive::u32, ); impl ::subxt::events::StaticEvent for SupportedVersionChanged { @@ -32084,9 +34919,9 @@ pub mod api { #[doc = ""] #[doc = "\\[ location, query ID, error \\]"] pub struct NotifyTargetSendFail( - pub runtime_types::xcm::v1::multilocation::MultiLocation, + pub runtime_types::xcm::v3::multilocation::MultiLocation, pub ::core::primitive::u64, - pub runtime_types::xcm::v2::traits::Error, + pub runtime_types::xcm::v3::traits::Error, ); impl ::subxt::events::StaticEvent for NotifyTargetSendFail { const PALLET: &'static str = "XcmPallet"; @@ -32124,12 +34959,149 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Expected query response has been received but the expected querier location placed in"] + #[doc = "storage by this runtime previously cannot be decoded. The query remains registered."] + #[doc = ""] + #[doc = "This is unexpected (since a location placed in storage in a previously executing"] + #[doc = "runtime should be readable prior to query timeout) and dangerous since the possibly"] + #[doc = "valid response will be dropped. Manual governance intervention is probably going to be"] + #[doc = "needed."] + #[doc = ""] + #[doc = "\\[ origin location, id \\]"] + pub struct InvalidQuerierVersion( + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub ::core::primitive::u64, + ); + impl ::subxt::events::StaticEvent for InvalidQuerierVersion { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "InvalidQuerierVersion"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Expected query response has been received but the querier location of the response does"] + #[doc = "not match the expected. The query remains registered for a later, valid, response to"] + #[doc = "be received and acted upon."] + #[doc = ""] + #[doc = "\\[ origin location, id, expected querier, maybe actual querier \\]"] + pub struct InvalidQuerier( + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub ::core::primitive::u64, + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub ::core::option::Option, + ); + impl ::subxt::events::StaticEvent for InvalidQuerier { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "InvalidQuerier"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A remote has requested XCM version change notification from us and we have honored it."] + #[doc = "A version information message is sent to them and its cost is included."] + #[doc = ""] + #[doc = "\\[ destination location, cost \\]"] + pub struct VersionNotifyStarted( + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub runtime_types::xcm::v3::multiasset::MultiAssets, + ); + impl ::subxt::events::StaticEvent for VersionNotifyStarted { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "VersionNotifyStarted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "We have requested that a remote chain sends us XCM version change notifications."] + #[doc = ""] + #[doc = "\\[ destination location, cost \\]"] + pub struct VersionNotifyRequested( + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub runtime_types::xcm::v3::multiasset::MultiAssets, + ); + impl ::subxt::events::StaticEvent for VersionNotifyRequested { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "VersionNotifyRequested"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "We have requested that a remote chain stops sending us XCM version change notifications."] + #[doc = ""] + #[doc = "\\[ destination location, cost \\]"] + pub struct VersionNotifyUnrequested( + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub runtime_types::xcm::v3::multiasset::MultiAssets, + ); + impl ::subxt::events::StaticEvent for VersionNotifyUnrequested { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "VersionNotifyUnrequested"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Fees were paid from a location for an operation (often for using `SendXcm`)."] + #[doc = ""] + #[doc = "\\[ paying location, fees \\]"] + pub struct FeesPaid( + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub runtime_types::xcm::v3::multiasset::MultiAssets, + ); + impl ::subxt::events::StaticEvent for FeesPaid { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "FeesPaid"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Some assets have been claimed from an asset trap"] #[doc = ""] #[doc = "\\[ hash, origin, assets \\]"] pub struct AssetsClaimed( pub ::subxt::utils::H256, - pub runtime_types::xcm::v1::multilocation::MultiLocation, + pub runtime_types::xcm::v3::multilocation::MultiLocation, pub runtime_types::xcm::VersionedMultiAssets, ); impl ::subxt::events::StaticEvent for AssetsClaimed { @@ -32181,10 +35153,10 @@ pub mod api { _0.borrow(), )], [ - 251u8, 97u8, 131u8, 135u8, 93u8, 68u8, 156u8, 25u8, 181u8, 231u8, - 124u8, 93u8, 170u8, 114u8, 250u8, 177u8, 172u8, 51u8, 59u8, 44u8, - 148u8, 189u8, 199u8, 62u8, 118u8, 89u8, 75u8, 29u8, 71u8, 49u8, 248u8, - 48u8, + 72u8, 239u8, 157u8, 117u8, 200u8, 28u8, 80u8, 70u8, 205u8, 253u8, + 147u8, 30u8, 130u8, 72u8, 154u8, 95u8, 183u8, 162u8, 165u8, 203u8, + 128u8, 98u8, 216u8, 172u8, 98u8, 220u8, 16u8, 236u8, 216u8, 68u8, 33u8, + 184u8, ], ) } @@ -32203,10 +35175,10 @@ pub mod api { "Queries", Vec::new(), [ - 251u8, 97u8, 131u8, 135u8, 93u8, 68u8, 156u8, 25u8, 181u8, 231u8, - 124u8, 93u8, 170u8, 114u8, 250u8, 177u8, 172u8, 51u8, 59u8, 44u8, - 148u8, 189u8, 199u8, 62u8, 118u8, 89u8, 75u8, 29u8, 71u8, 49u8, 248u8, - 48u8, + 72u8, 239u8, 157u8, 117u8, 200u8, 28u8, 80u8, 70u8, 205u8, 253u8, + 147u8, 30u8, 130u8, 72u8, 154u8, 95u8, 183u8, 162u8, 165u8, 203u8, + 128u8, 98u8, 216u8, 172u8, 98u8, 220u8, 16u8, 236u8, 216u8, 68u8, 33u8, + 184u8, ], ) } @@ -32304,9 +35276,10 @@ pub mod api { ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), ], [ - 112u8, 34u8, 251u8, 179u8, 217u8, 54u8, 125u8, 242u8, 190u8, 8u8, 44u8, - 14u8, 138u8, 76u8, 241u8, 95u8, 233u8, 96u8, 141u8, 26u8, 151u8, 196u8, - 219u8, 137u8, 165u8, 27u8, 87u8, 128u8, 19u8, 35u8, 222u8, 202u8, + 16u8, 172u8, 183u8, 14u8, 63u8, 199u8, 42u8, 204u8, 218u8, 197u8, + 129u8, 40u8, 32u8, 213u8, 50u8, 170u8, 231u8, 123u8, 188u8, 83u8, + 250u8, 148u8, 133u8, 78u8, 249u8, 33u8, 122u8, 55u8, 22u8, 179u8, 98u8, + 113u8, ], ) } @@ -32325,9 +35298,10 @@ pub mod api { "SupportedVersion", Vec::new(), [ - 112u8, 34u8, 251u8, 179u8, 217u8, 54u8, 125u8, 242u8, 190u8, 8u8, 44u8, - 14u8, 138u8, 76u8, 241u8, 95u8, 233u8, 96u8, 141u8, 26u8, 151u8, 196u8, - 219u8, 137u8, 165u8, 27u8, 87u8, 128u8, 19u8, 35u8, 222u8, 202u8, + 16u8, 172u8, 183u8, 14u8, 63u8, 199u8, 42u8, 204u8, 218u8, 197u8, + 129u8, 40u8, 32u8, 213u8, 50u8, 170u8, 231u8, 123u8, 188u8, 83u8, + 250u8, 148u8, 133u8, 78u8, 249u8, 33u8, 122u8, 55u8, 22u8, 179u8, 98u8, + 113u8, ], ) } @@ -32351,10 +35325,9 @@ pub mod api { ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), ], [ - 233u8, 217u8, 119u8, 102u8, 41u8, 77u8, 198u8, 24u8, 161u8, 22u8, - 104u8, 149u8, 204u8, 128u8, 123u8, 166u8, 17u8, 36u8, 202u8, 92u8, - 190u8, 44u8, 73u8, 239u8, 88u8, 17u8, 92u8, 41u8, 236u8, 80u8, 154u8, - 10u8, + 137u8, 87u8, 59u8, 219u8, 207u8, 188u8, 145u8, 38u8, 197u8, 219u8, + 197u8, 179u8, 102u8, 25u8, 184u8, 83u8, 31u8, 63u8, 251u8, 21u8, 211u8, + 124u8, 23u8, 40u8, 4u8, 43u8, 113u8, 158u8, 233u8, 192u8, 38u8, 177u8, ], ) } @@ -32373,10 +35346,9 @@ pub mod api { "VersionNotifiers", Vec::new(), [ - 233u8, 217u8, 119u8, 102u8, 41u8, 77u8, 198u8, 24u8, 161u8, 22u8, - 104u8, 149u8, 204u8, 128u8, 123u8, 166u8, 17u8, 36u8, 202u8, 92u8, - 190u8, 44u8, 73u8, 239u8, 88u8, 17u8, 92u8, 41u8, 236u8, 80u8, 154u8, - 10u8, + 137u8, 87u8, 59u8, 219u8, 207u8, 188u8, 145u8, 38u8, 197u8, 219u8, + 197u8, 179u8, 102u8, 25u8, 184u8, 83u8, 31u8, 63u8, 251u8, 21u8, 211u8, + 124u8, 23u8, 40u8, 4u8, 43u8, 113u8, 158u8, 233u8, 192u8, 38u8, 177u8, ], ) } @@ -32390,7 +35362,7 @@ pub mod api { ::subxt::storage::address::StaticStorageMapKey, ( ::core::primitive::u64, - ::core::primitive::u64, + runtime_types::sp_weights::weight_v2::Weight, ::core::primitive::u32, ), ::subxt::storage::address::Yes, @@ -32405,9 +35377,9 @@ pub mod api { ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), ], [ - 108u8, 104u8, 137u8, 191u8, 2u8, 2u8, 240u8, 174u8, 32u8, 174u8, 150u8, - 136u8, 33u8, 84u8, 30u8, 74u8, 95u8, 94u8, 20u8, 112u8, 101u8, 204u8, - 15u8, 47u8, 136u8, 56u8, 40u8, 66u8, 1u8, 42u8, 16u8, 247u8, + 138u8, 26u8, 26u8, 108u8, 21u8, 255u8, 143u8, 241u8, 15u8, 163u8, 22u8, + 155u8, 221u8, 63u8, 58u8, 104u8, 4u8, 186u8, 66u8, 178u8, 67u8, 178u8, + 220u8, 78u8, 1u8, 77u8, 45u8, 214u8, 98u8, 240u8, 120u8, 254u8, ], ) } @@ -32419,7 +35391,7 @@ pub mod api { ::subxt::storage::address::StaticStorageMapKey, ( ::core::primitive::u64, - ::core::primitive::u64, + runtime_types::sp_weights::weight_v2::Weight, ::core::primitive::u32, ), (), @@ -32431,9 +35403,9 @@ pub mod api { "VersionNotifyTargets", Vec::new(), [ - 108u8, 104u8, 137u8, 191u8, 2u8, 2u8, 240u8, 174u8, 32u8, 174u8, 150u8, - 136u8, 33u8, 84u8, 30u8, 74u8, 95u8, 94u8, 20u8, 112u8, 101u8, 204u8, - 15u8, 47u8, 136u8, 56u8, 40u8, 66u8, 1u8, 42u8, 16u8, 247u8, + 138u8, 26u8, 26u8, 108u8, 21u8, 255u8, 143u8, 241u8, 15u8, 163u8, 22u8, + 155u8, 221u8, 63u8, 58u8, 104u8, 4u8, 186u8, 66u8, 178u8, 67u8, 178u8, + 220u8, 78u8, 1u8, 77u8, 45u8, 214u8, 98u8, 240u8, 120u8, 254u8, ], ) } @@ -32444,7 +35416,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + runtime_types::bounded_collections::bounded_vec::BoundedVec<( runtime_types::xcm::VersionedMultiLocation, ::core::primitive::u32, )>, @@ -32457,10 +35429,9 @@ pub mod api { "VersionDiscoveryQueue", vec![], [ - 30u8, 163u8, 210u8, 133u8, 30u8, 63u8, 36u8, 9u8, 162u8, 133u8, 99u8, - 170u8, 34u8, 205u8, 27u8, 41u8, 226u8, 141u8, 165u8, 151u8, 46u8, - 140u8, 150u8, 242u8, 178u8, 88u8, 164u8, 12u8, 129u8, 118u8, 25u8, - 79u8, + 134u8, 60u8, 255u8, 145u8, 139u8, 29u8, 38u8, 47u8, 209u8, 218u8, + 127u8, 123u8, 2u8, 196u8, 52u8, 99u8, 143u8, 112u8, 0u8, 133u8, 99u8, + 218u8, 187u8, 171u8, 175u8, 153u8, 149u8, 1u8, 57u8, 45u8, 118u8, 79u8, ], ) } @@ -32485,11 +35456,158 @@ pub mod api { ], ) } + #[doc = " Fungible assets which we know are locked on a remote chain."] + pub fn remote_locked_fungibles( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + _2: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_xcm::pallet::RemoteLockedFungibleRecord, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "RemoteLockedFungibles", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_2.borrow()), + ], + [ + 26u8, 71u8, 1u8, 2u8, 214u8, 3u8, 65u8, 62u8, 133u8, 85u8, 151u8, + 180u8, 225u8, 180u8, 40u8, 49u8, 133u8, 107u8, 190u8, 102u8, 1u8, + 111u8, 144u8, 240u8, 0u8, 209u8, 198u8, 76u8, 143u8, 121u8, 2u8, 118u8, + ], + ) + } + #[doc = " Fungible assets which we know are locked on a remote chain."] + pub fn remote_locked_fungibles_root( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_xcm::pallet::RemoteLockedFungibleRecord, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "RemoteLockedFungibles", + Vec::new(), + [ + 26u8, 71u8, 1u8, 2u8, 214u8, 3u8, 65u8, 62u8, 133u8, 85u8, 151u8, + 180u8, 225u8, 180u8, 40u8, 49u8, 133u8, 107u8, 190u8, 102u8, 1u8, + 111u8, 144u8, 240u8, 0u8, 209u8, 198u8, 76u8, 143u8, 121u8, 2u8, 118u8, + ], + ) + } + #[doc = " Fungible assets which we know are locked on this chain."] + pub fn locked_fungibles( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec<( + ::core::primitive::u128, + runtime_types::xcm::VersionedMultiLocation, + )>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "LockedFungibles", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 158u8, 103u8, 153u8, 216u8, 19u8, 122u8, 251u8, 183u8, 15u8, 143u8, + 161u8, 105u8, 168u8, 100u8, 76u8, 220u8, 56u8, 129u8, 185u8, 251u8, + 220u8, 166u8, 3u8, 100u8, 48u8, 147u8, 123u8, 94u8, 226u8, 112u8, 59u8, + 171u8, + ], + ) + } + #[doc = " Fungible assets which we know are locked on this chain."] + pub fn locked_fungibles_root( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec<( + ::core::primitive::u128, + runtime_types::xcm::VersionedMultiLocation, + )>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "LockedFungibles", + Vec::new(), + [ + 158u8, 103u8, 153u8, 216u8, 19u8, 122u8, 251u8, 183u8, 15u8, 143u8, + 161u8, 105u8, 168u8, 100u8, 76u8, 220u8, 56u8, 129u8, 185u8, 251u8, + 220u8, 166u8, 3u8, 100u8, 48u8, 147u8, 123u8, 94u8, 226u8, 112u8, 59u8, + 171u8, + ], + ) + } } } } pub mod runtime_types { use super::runtime_types; + pub mod bounded_collections { + use super::runtime_types; + pub mod bounded_btree_map { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BoundedBTreeMap<_0, _1>(pub ::subxt::utils::KeyedVec<_0, _1>); + } + pub mod bounded_vec { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BoundedVec<_0>(pub ::std::vec::Vec<_0>); + } + pub mod weak_bounded_vec { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct WeakBoundedVec<_0>(pub ::std::vec::Vec<_0>); + } + } pub mod finality_grandpa { use super::runtime_types; #[derive( @@ -32615,6 +35733,21 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PostDispatchInfo { + pub actual_weight: + ::core::option::Option, + pub pays_fee: runtime_types::frame_support::dispatch::Pays, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum RawOrigin<_0> { #[codec(index = 0)] Root, @@ -32662,7 +35795,7 @@ pub mod api { }, #[codec(index = 1)] Inline( - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, >, ), @@ -32674,6 +35807,25 @@ pub mod api { __Ignore(::core::marker::PhantomData<_0>), } } + pub mod schedule { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum DispatchTime<_0> { + #[codec(index = 0)] + At(_0), + #[codec(index = 1)] + After(_0), + } + } pub mod tokens { use super::runtime_types; pub mod misc { @@ -32881,52 +36033,33 @@ pub mod api { #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub enum Call { #[codec(index = 0)] - #[doc = "A dispatch that will fill the block weight up to the given ratio."] - fill_block { - ratio: runtime_types::sp_arithmetic::per_things::Perbill, - }, - #[codec(index = 1)] #[doc = "Make some on-chain remark."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(1)`"] - #[doc = "# "] remark { remark: ::std::vec::Vec<::core::primitive::u8>, }, - #[codec(index = 2)] + #[codec(index = 1)] #[doc = "Set the number of pages in the WebAssembly environment's heap."] set_heap_pages { pages: ::core::primitive::u64 }, - #[codec(index = 3)] + #[codec(index = 2)] #[doc = "Set the new runtime code."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`"] - #[doc = "- 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is"] - #[doc = " expensive)."] - #[doc = "- 1 storage write (codec `O(C)`)."] - #[doc = "- 1 digest item."] - #[doc = "- 1 event."] - #[doc = "The weight of this function is dependent on the runtime, but generally this is very"] - #[doc = "expensive. We will treat this as a full block."] - #[doc = "# "] set_code { code: ::std::vec::Vec<::core::primitive::u8>, }, - #[codec(index = 4)] + #[codec(index = 3)] #[doc = "Set the new runtime code without doing any checks of the given `code`."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(C)` where `C` length of `code`"] - #[doc = "- 1 storage write (codec `O(C)`)."] - #[doc = "- 1 digest item."] - #[doc = "- 1 event."] - #[doc = "The weight of this function is dependent on the runtime. We will treat this as a full"] - #[doc = "block. # "] set_code_without_checks { code: ::std::vec::Vec<::core::primitive::u8>, }, - #[codec(index = 5)] + #[codec(index = 4)] #[doc = "Set some items of storage."] set_storage { items: ::std::vec::Vec<( @@ -32934,12 +36067,12 @@ pub mod api { ::std::vec::Vec<::core::primitive::u8>, )>, }, - #[codec(index = 6)] + #[codec(index = 5)] #[doc = "Kill some items from storage."] kill_storage { keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, }, - #[codec(index = 7)] + #[codec(index = 6)] #[doc = "Kill all storage items with a key that starts with the given prefix."] #[doc = ""] #[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"] @@ -32948,7 +36081,7 @@ pub mod api { prefix: ::std::vec::Vec<::core::primitive::u8>, subkeys: ::core::primitive::u32, }, - #[codec(index = 8)] + #[codec(index = 7)] #[doc = "Make some on-chain remark and emit event."] remark_with_event { remark: ::std::vec::Vec<::core::primitive::u8>, @@ -33099,85 +36232,6 @@ pub mod api { Initialization, } } - pub mod pallet_authorship { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] - pub enum Call { - #[codec(index = 0)] - #[doc = "Provide a set of uncles."] - set_uncles { - new_uncles: ::std::vec::Vec< - runtime_types::sp_runtime::generic::header::Header< - ::core::primitive::u32, - runtime_types::sp_runtime::traits::BlakeTwo256, - >, - >, - }, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] - pub enum Error { - #[codec(index = 0)] - #[doc = "The uncle parent not in the chain."] - InvalidUncleParent, - #[codec(index = 1)] - #[doc = "Uncles already set in the block."] - UnclesAlreadySet, - #[codec(index = 2)] - #[doc = "Too many uncles."] - TooManyUncles, - #[codec(index = 3)] - #[doc = "The uncle is genesis."] - GenesisUncle, - #[codec(index = 4)] - #[doc = "The uncle is too high in chain."] - TooHighUncle, - #[codec(index = 5)] - #[doc = "The uncle is already included."] - UncleAlreadyIncluded, - #[codec(index = 6)] - #[doc = "The uncle isn't recent enough to be included."] - OldUncle, - } - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum UncleEntryItem<_0, _1, _2> { - #[codec(index = 0)] - InclusionHeight(_0), - #[codec(index = 1)] - Uncle(_1, ::core::option::Option<_2>), - } - } pub mod pallet_babe { use super::runtime_types; pub mod pallet { @@ -33428,57 +36482,33 @@ pub mod api { #[codec(index = 0)] #[doc = "Transfer some liquid free balance to another account."] #[doc = ""] - #[doc = "`transfer` will set the `FreeBalance` of the sender and receiver."] + #[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."] #[doc = "If the sender's account is below the existential deposit as a result"] #[doc = "of the transfer, the account will be reaped."] #[doc = ""] #[doc = "The dispatch origin for this call must be `Signed` by the transactor."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Dependent on arguments but not critical, given proper implementations for input config"] - #[doc = " types. See related functions below."] - #[doc = "- It contains a limited number of reads and writes internally and no complex"] - #[doc = " computation."] - #[doc = ""] - #[doc = "Related functions:"] - #[doc = ""] - #[doc = " - `ensure_can_withdraw` is always called internally but has a bounded complexity."] - #[doc = " - Transferring balances to accounts that did not exist before will cause"] - #[doc = " `T::OnNewAccount::on_new_account` to be called."] - #[doc = " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`."] - #[doc = " - `transfer_keep_alive` works the same way as `transfer`, but has an additional check"] - #[doc = " that the transfer will not kill the origin account."] - #[doc = "---------------------------------"] - #[doc = "- Origin account is already in memory, so no DB operations for them."] - #[doc = "# "] - transfer { + transfer_allow_death { dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, #[codec(compact)] value: ::core::primitive::u128, }, #[codec(index = 1)] - #[doc = "Set the balances of a given account."] - #[doc = ""] - #[doc = "This will alter `FreeBalance` and `ReservedBalance` in storage. it will"] - #[doc = "also alter the total issuance of the system (`TotalIssuance`) appropriately."] - #[doc = "If the new free or reserved balance is below the existential deposit,"] - #[doc = "it will reset the account nonce (`frame_system::AccountNonce`)."] + #[doc = "Set the regular balance of a given account; it also takes a reserved balance but this"] + #[doc = "must be the same as the account's current reserved balance."] #[doc = ""] #[doc = "The dispatch origin for this call is `root`."] - set_balance { + #[doc = ""] + #[doc = "WARNING: This call is DEPRECATED! Use `force_set_balance` instead."] + set_balance_deprecated { who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, #[codec(compact)] new_free: ::core::primitive::u128, #[codec(compact)] - new_reserved: ::core::primitive::u128, + old_reserved: ::core::primitive::u128, }, #[codec(index = 2)] - #[doc = "Exactly as `transfer`, except the origin must be root and the source account may be"] - #[doc = "specified."] - #[doc = "# "] - #[doc = "- Same as transfer, but additional read and write because the source account is not"] - #[doc = " assumed to be in the overlay."] - #[doc = "# "] + #[doc = "Exactly as `transfer_allow_death`, except the origin must be root and the source account"] + #[doc = "may be specified."] force_transfer { source: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, @@ -33486,12 +36516,12 @@ pub mod api { value: ::core::primitive::u128, }, #[codec(index = 3)] - #[doc = "Same as the [`transfer`] call, but with a check that the transfer will not kill the"] - #[doc = "origin account."] + #[doc = "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not"] + #[doc = "kill the origin account."] #[doc = ""] - #[doc = "99% of the time you want [`transfer`] instead."] + #[doc = "99% of the time you want [`transfer_allow_death`] instead."] #[doc = ""] - #[doc = "[`transfer`]: struct.Pallet.html#method.transfer"] + #[doc = "[`transfer_allow_death`]: struct.Pallet.html#method.transfer"] transfer_keep_alive { dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, #[codec(compact)] @@ -33512,9 +36542,7 @@ pub mod api { #[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"] #[doc = " of the funds the account has, causing the sender account to be killed (false), or"] #[doc = " transfer everything except at least the existential deposit, which will guarantee to"] - #[doc = " keep the sender account alive (true). # "] - #[doc = "- O(1). Just like transfer, but reading the user's transferable balance first."] - #[doc = " #"] + #[doc = " keep the sender account alive (true)."] transfer_all { dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, keep_alive: ::core::primitive::bool, @@ -33527,6 +36555,36 @@ pub mod api { who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, amount: ::core::primitive::u128, }, + #[codec(index = 6)] + #[doc = "Upgrade a specified account."] + #[doc = ""] + #[doc = "- `origin`: Must be `Signed`."] + #[doc = "- `who`: The account to be upgraded."] + #[doc = ""] + #[doc = "This will waive the transaction fee if at least all but 10% of the accounts needed to"] + #[doc = "be upgraded. (We let some not have to be upgraded just in order to allow for the"] + #[doc = "possibililty of churn)."] + upgrade_accounts { + who: ::std::vec::Vec<::subxt::utils::AccountId32>, + }, + #[codec(index = 7)] + #[doc = "Alias for `transfer_allow_death`, provided only for name-wise compatibility."] + #[doc = ""] + #[doc = "WARNING: DEPRECATED! Will be released in approximately 3 months."] + transfer { + dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + value: ::core::primitive::u128, + }, + #[codec(index = 8)] + #[doc = "Set the regular balance of a given account."] + #[doc = ""] + #[doc = "The dispatch origin for this call is `root`."] + force_set_balance { + who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + new_free: ::core::primitive::u128, + }, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -33541,29 +36599,35 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub enum Error { #[codec(index = 0)] - #[doc = "Vesting balance too high to send value"] + #[doc = "Vesting balance too high to send value."] VestingBalance, #[codec(index = 1)] - #[doc = "Account liquidity restrictions prevent withdrawal"] + #[doc = "Account liquidity restrictions prevent withdrawal."] LiquidityRestrictions, #[codec(index = 2)] #[doc = "Balance too low to send value."] InsufficientBalance, #[codec(index = 3)] - #[doc = "Value too low to create account due to existential deposit"] + #[doc = "Value too low to create account due to existential deposit."] ExistentialDeposit, #[codec(index = 4)] - #[doc = "Transfer/payment would kill account"] - KeepAlive, + #[doc = "Transfer/payment would kill account."] + Expendability, #[codec(index = 5)] - #[doc = "A vesting schedule already exists for this account"] + #[doc = "A vesting schedule already exists for this account."] ExistingVestingSchedule, #[codec(index = 6)] - #[doc = "Beneficiary account must pre-exist"] + #[doc = "Beneficiary account must pre-exist."] DeadAccount, #[codec(index = 7)] - #[doc = "Number of named reserves exceed MaxReserves"] + #[doc = "Number of named reserves exceed `MaxReserves`."] TooManyReserves, + #[codec(index = 8)] + #[doc = "Number of holds exceed `MaxHolds`."] + TooManyHolds, + #[codec(index = 9)] + #[doc = "Number of freezes exceed `MaxFreezes`."] + TooManyFreezes, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -33602,7 +36666,6 @@ pub mod api { BalanceSet { who: ::subxt::utils::AccountId32, free: ::core::primitive::u128, - reserved: ::core::primitive::u128, }, #[codec(index = 4)] #[doc = "Some balance was reserved (moved from free to reserved)."] @@ -33644,86 +36707,144 @@ pub mod api { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 10)] + #[doc = "Some amount was minted into an account."] + Minted { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 11)] + #[doc = "Some amount was burned from an account."] + Burned { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 12)] + #[doc = "Some amount was suspended from an account (it can be restored later)."] + Suspended { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 13)] + #[doc = "Some amount was restored into an account."] + Restored { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 14)] + #[doc = "An account was upgraded."] + Upgraded { who: ::subxt::utils::AccountId32 }, + #[codec(index = 15)] + #[doc = "Total issuance was increased by `amount`, creating a credit to be balanced."] + Issued { amount: ::core::primitive::u128 }, + #[codec(index = 16)] + #[doc = "Total issuance was decreased by `amount`, creating a debt to be balanced."] + Rescinded { amount: ::core::primitive::u128 }, + #[codec(index = 17)] + #[doc = "Some balance was locked."] + Locked { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 18)] + #[doc = "Some balance was unlocked."] + Unlocked { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, } } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AccountData<_0> { - pub free: _0, - pub reserved: _0, - pub misc_frozen: _0, - pub fee_frozen: _0, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct BalanceLock<_0> { - pub id: [::core::primitive::u8; 8usize], - pub amount: _0, - pub reasons: runtime_types::pallet_balances::Reasons, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Reasons { - #[codec(index = 0)] - Fee, - #[codec(index = 1)] - Misc, - #[codec(index = 2)] - All, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Releases { - #[codec(index = 0)] - V1_0_0, - #[codec(index = 1)] - V2_0_0, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ReserveData<_0, _1> { - pub id: _0, - pub amount: _1, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AccountData<_0> { + pub free: _0, + pub reserved: _0, + pub frozen: _0, + pub flags: runtime_types::pallet_balances::types::ExtraFlags, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BalanceLock<_0> { + pub id: [::core::primitive::u8; 8usize], + pub amount: _0, + pub reasons: runtime_types::pallet_balances::types::Reasons, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ExtraFlags(pub ::core::primitive::u128); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct IdAmount<_0, _1> { + pub id: _0, + pub amount: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Reasons { + #[codec(index = 0)] + Fee, + #[codec(index = 1)] + Misc, + #[codec(index = 2)] + All, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReserveData<_0, _1> { + pub id: _0, + pub amount: _1, + } } } pub mod pallet_bounties { @@ -33764,11 +36885,10 @@ pub mod api { #[doc = "Approve a bounty proposal. At a later time, the bounty will be funded and become active"] #[doc = "and the original deposit will be returned."] #[doc = ""] - #[doc = "May only be called from `T::ApproveOrigin`."] + #[doc = "May only be called from `T::SpendOrigin`."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- O(1)."] - #[doc = "# "] approve_bounty { #[codec(compact)] bounty_id: ::core::primitive::u32, @@ -33776,11 +36896,10 @@ pub mod api { #[codec(index = 2)] #[doc = "Assign a curator to a funded bounty."] #[doc = ""] - #[doc = "May only be called from `T::ApproveOrigin`."] + #[doc = "May only be called from `T::SpendOrigin`."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- O(1)."] - #[doc = "# "] propose_curator { #[codec(compact)] bounty_id: ::core::primitive::u32, @@ -33804,9 +36923,8 @@ pub mod api { #[doc = "anyone in the community to call out that a curator is not doing their due diligence, and"] #[doc = "we should pick a new curator. In this case the curator should also be slashed."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- O(1)."] - #[doc = "# "] unassign_curator { #[codec(compact)] bounty_id: ::core::primitive::u32, @@ -33817,9 +36935,8 @@ pub mod api { #[doc = ""] #[doc = "May only be called from the curator."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- O(1)."] - #[doc = "# "] accept_curator { #[codec(compact)] bounty_id: ::core::primitive::u32, @@ -33833,9 +36950,8 @@ pub mod api { #[doc = "- `bounty_id`: Bounty ID to award."] #[doc = "- `beneficiary`: The beneficiary account whom will receive the payout."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- O(1)."] - #[doc = "# "] award_bounty { #[codec(compact)] bounty_id: ::core::primitive::u32, @@ -33848,9 +36964,8 @@ pub mod api { #[doc = ""] #[doc = "- `bounty_id`: Bounty ID to claim."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- O(1)."] - #[doc = "# "] claim_bounty { #[codec(compact)] bounty_id: ::core::primitive::u32, @@ -33863,9 +36978,8 @@ pub mod api { #[doc = ""] #[doc = "- `bounty_id`: Bounty ID to cancel."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- O(1)."] - #[doc = "# "] close_bounty { #[codec(compact)] bounty_id: ::core::primitive::u32, @@ -33878,9 +36992,8 @@ pub mod api { #[doc = "- `bounty_id`: Bounty ID to extend."] #[doc = "- `remark`: additional information."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- O(1)."] - #[doc = "# "] extend_bounty_expiry { #[codec(compact)] bounty_id: ::core::primitive::u32, @@ -34368,7 +37481,7 @@ pub mod api { #[doc = "- `old_count`: The upper bound for the previous number of members in storage. Used for"] #[doc = " weight estimation."] #[doc = ""] - #[doc = "Requires root origin."] + #[doc = "The dispatch of this call must be `SetMembersOrigin`."] #[doc = ""] #[doc = "NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but"] #[doc = " the weight estimations rely on it to estimate dispatchable weight."] @@ -34380,19 +37493,11 @@ pub mod api { #[doc = "Any call to `set_members` must be careful that the member set doesn't get out of sync"] #[doc = "with other logic managing the member set."] #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] + #[doc = "## Complexity:"] #[doc = "- `O(MP + N)` where:"] #[doc = " - `M` old-members-count (code- and governance-bounded)"] #[doc = " - `N` new-members-count (code- and governance-bounded)"] #[doc = " - `P` proposals-count (code-bounded)"] - #[doc = "- DB:"] - #[doc = " - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the"] - #[doc = " members"] - #[doc = " - 1 storage read (codec `O(P)`) for reading the proposals"] - #[doc = " - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal"] - #[doc = " - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one"] - #[doc = "# "] set_members { new_members: ::std::vec::Vec<::subxt::utils::AccountId32>, prime: ::core::option::Option<::subxt::utils::AccountId32>, @@ -34403,13 +37508,11 @@ pub mod api { #[doc = ""] #[doc = "Origin must be a member of the collective."] #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching"] - #[doc = " `proposal`"] - #[doc = "- DB: 1 read (codec `O(M)`) + DB access of `proposal`"] - #[doc = "- 1 event"] - #[doc = "# "] + #[doc = "## Complexity:"] + #[doc = "- `O(B + M + P)` where:"] + #[doc = "- `B` is `proposal` size in bytes (length-fee-bounded)"] + #[doc = "- `M` members-count (code-bounded)"] + #[doc = "- `P` complexity of dispatching `proposal`"] execute { proposal: ::std::boxed::Box, #[codec(compact)] @@ -34423,26 +37526,13 @@ pub mod api { #[doc = "`threshold` determines whether `proposal` is executed directly (`threshold < 2`)"] #[doc = "or put up for voting."] #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] + #[doc = "## Complexity"] #[doc = "- `O(B + M + P1)` or `O(B + M + P2)` where:"] #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] #[doc = " - `M` is members-count (code- and governance-bounded)"] #[doc = " - branching is influenced by `threshold` where:"] #[doc = " - `P1` is proposal execution complexity (`threshold < 2`)"] #[doc = " - `P2` is proposals-count (code-bounded) (`threshold >= 2`)"] - #[doc = "- DB:"] - #[doc = " - 1 storage read `is_member` (codec `O(M)`)"] - #[doc = " - 1 storage read `ProposalOf::contains_key` (codec `O(1)`)"] - #[doc = " - DB accesses influenced by `threshold`:"] - #[doc = " - EITHER storage accesses done by `proposal` (`threshold < 2`)"] - #[doc = " - OR proposal insertion (`threshold <= 2`)"] - #[doc = " - 1 storage mutation `Proposals` (codec `O(P2)`)"] - #[doc = " - 1 storage mutation `ProposalCount` (codec `O(1)`)"] - #[doc = " - 1 storage write `ProposalOf` (codec `O(B)`)"] - #[doc = " - 1 storage write `Voting` (codec `O(M)`)"] - #[doc = " - 1 event"] - #[doc = "# "] propose { #[codec(compact)] threshold: ::core::primitive::u32, @@ -34458,62 +37548,14 @@ pub mod api { #[doc = "Transaction fees will be waived if the member is voting on any particular proposal"] #[doc = "for the first time and the call is successful. Subsequent vote changes will charge a"] #[doc = "fee."] - #[doc = "# "] - #[doc = "## Weight"] + #[doc = "## Complexity"] #[doc = "- `O(M)` where `M` is members-count (code- and governance-bounded)"] - #[doc = "- DB:"] - #[doc = " - 1 storage read `Members` (codec `O(M)`)"] - #[doc = " - 1 storage mutation `Voting` (codec `O(M)`)"] - #[doc = "- 1 event"] - #[doc = "# "] vote { proposal: ::subxt::utils::H256, #[codec(compact)] index: ::core::primitive::u32, approve: ::core::primitive::bool, }, - #[codec(index = 4)] - #[doc = "Close a vote that is either approved, disapproved or whose voting period has ended."] - #[doc = ""] - #[doc = "May be called by any signed account in order to finish voting and close the proposal."] - #[doc = ""] - #[doc = "If called before the end of the voting period it will only close the vote if it is"] - #[doc = "has enough votes to be approved or disapproved."] - #[doc = ""] - #[doc = "If called after the end of the voting period abstentions are counted as rejections"] - #[doc = "unless there is a prime member set and the prime member cast an approval."] - #[doc = ""] - #[doc = "If the close operation completes successfully with disapproval, the transaction fee will"] - #[doc = "be waived. Otherwise execution of the approved operation will be charged to the caller."] - #[doc = ""] - #[doc = "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed"] - #[doc = "proposal."] - #[doc = "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via"] - #[doc = "`storage::read` so it is `size_of::() == 4` larger than the pure length."] - #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(B + M + P1 + P2)` where:"] - #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] - #[doc = " - `M` is members-count (code- and governance-bounded)"] - #[doc = " - `P1` is the complexity of `proposal` preimage."] - #[doc = " - `P2` is proposal-count (code-bounded)"] - #[doc = "- DB:"] - #[doc = " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)"] - #[doc = " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec"] - #[doc = " `O(P2)`)"] - #[doc = " - any mutations done while executing `proposal` (`P1`)"] - #[doc = "- up to 3 events"] - #[doc = "# "] - close_old_weight { - proposal_hash: ::subxt::utils::H256, - #[codec(compact)] - index: ::core::primitive::u32, - #[codec(compact)] - proposal_weight_bound: runtime_types::sp_weights::OldWeight, - #[codec(compact)] - length_bound: ::core::primitive::u32, - }, #[codec(index = 5)] #[doc = "Disapprove a proposal, close, and remove it from the system, regardless of its current"] #[doc = "state."] @@ -34523,12 +37565,8 @@ pub mod api { #[doc = "Parameters:"] #[doc = "* `proposal_hash`: The hash of the proposal that should be disapproved."] #[doc = ""] - #[doc = "# "] - #[doc = "Complexity: O(P) where P is the number of max proposals"] - #[doc = "DB Weight:"] - #[doc = "* Reads: Proposals"] - #[doc = "* Writes: Voting, Proposals, ProposalOf"] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "O(P) where P is the number of max proposals"] disapprove_proposal { proposal_hash: ::subxt::utils::H256 }, #[codec(index = 6)] #[doc = "Close a vote that is either approved, disapproved or whose voting period has ended."] @@ -34549,20 +37587,12 @@ pub mod api { #[doc = "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via"] #[doc = "`storage::read` so it is `size_of::() == 4` larger than the pure length."] #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] + #[doc = "## Complexity"] #[doc = "- `O(B + M + P1 + P2)` where:"] #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] #[doc = " - `M` is members-count (code- and governance-bounded)"] #[doc = " - `P1` is the complexity of `proposal` preimage."] #[doc = " - `P2` is proposal-count (code-bounded)"] - #[doc = "- DB:"] - #[doc = " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)"] - #[doc = " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec"] - #[doc = " `O(P2)`)"] - #[doc = " - any mutations done while executing `proposal` (`P1`)"] - #[doc = "- up to 3 events"] - #[doc = "# "] close { proposal_hash: ::subxt::utils::H256, #[codec(compact)] @@ -34711,6 +37741,393 @@ pub mod api { pub end: _1, } } + pub mod pallet_conviction_voting { + use super::runtime_types; + pub mod conviction { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Conviction { + #[codec(index = 0)] + None, + #[codec(index = 1)] + Locked1x, + #[codec(index = 2)] + Locked2x, + #[codec(index = 3)] + Locked3x, + #[codec(index = 4)] + Locked4x, + #[codec(index = 5)] + Locked5x, + #[codec(index = 6)] + Locked6x, + } + } + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal;"] + #[doc = "otherwise it is a vote to keep the status quo."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_."] + #[doc = ""] + #[doc = "- `poll_index`: The index of the poll to vote for."] + #[doc = "- `vote`: The vote configuration."] + #[doc = ""] + #[doc = "Weight: `O(R)` where R is the number of polls the voter has voted on."] + vote { + #[codec(compact)] + poll_index: ::core::primitive::u32, + vote: runtime_types::pallet_conviction_voting::vote::AccountVote< + ::core::primitive::u128, + >, + }, + #[codec(index = 1)] + #[doc = "Delegate the voting power (with some given conviction) of the sending account for a"] + #[doc = "particular class of polls."] + #[doc = ""] + #[doc = "The balance delegated is locked for as long as it's delegated, and thereafter for the"] + #[doc = "time appropriate for the conviction's lock period."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_, and the signing account must either:"] + #[doc = " - be delegating already; or"] + #[doc = " - have no voting activity (if there is, then it will need to be removed/consolidated"] + #[doc = " through `reap_vote` or `unvote`)."] + #[doc = ""] + #[doc = "- `to`: The account whose voting the `target` account's voting power will follow."] + #[doc = "- `class`: The class of polls to delegate. To delegate multiple classes, multiple calls"] + #[doc = " to this function are required."] + #[doc = "- `conviction`: The conviction that will be attached to the delegated votes. When the"] + #[doc = " account is undelegated, the funds will be locked for the corresponding period."] + #[doc = "- `balance`: The amount of the account's balance to be used in delegating. This must not"] + #[doc = " be more than the account's current balance."] + #[doc = ""] + #[doc = "Emits `Delegated`."] + #[doc = ""] + #[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"] + #[doc = " voted on. Weight is initially charged as if maximum votes, but is refunded later."] + delegate { + class: ::core::primitive::u16, + to: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + conviction: runtime_types::pallet_conviction_voting::conviction::Conviction, + balance: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "Undelegate the voting power of the sending account for a particular class of polls."] + #[doc = ""] + #[doc = "Tokens may be unlocked following once an amount of time consistent with the lock period"] + #[doc = "of the conviction with which the delegation was issued has passed."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_ and the signing account must be"] + #[doc = "currently delegating."] + #[doc = ""] + #[doc = "- `class`: The class of polls to remove the delegation from."] + #[doc = ""] + #[doc = "Emits `Undelegated`."] + #[doc = ""] + #[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"] + #[doc = " voted on. Weight is initially charged as if maximum votes, but is refunded later."] + undelegate { class: ::core::primitive::u16 }, + #[codec(index = 3)] + #[doc = "Remove the lock caused by prior voting/delegating which has expired within a particular"] + #[doc = "class."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_."] + #[doc = ""] + #[doc = "- `class`: The class of polls to unlock."] + #[doc = "- `target`: The account to remove the lock on."] + #[doc = ""] + #[doc = "Weight: `O(R)` with R number of vote of target."] + unlock { + class: ::core::primitive::u16, + target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + }, + #[codec(index = 4)] + #[doc = "Remove a vote for a poll."] + #[doc = ""] + #[doc = "If:"] + #[doc = "- the poll was cancelled, or"] + #[doc = "- the poll is ongoing, or"] + #[doc = "- the poll has ended such that"] + #[doc = " - the vote of the account was in opposition to the result; or"] + #[doc = " - there was no conviction to the account's vote; or"] + #[doc = " - the account made a split vote"] + #[doc = "...then the vote is removed cleanly and a following call to `unlock` may result in more"] + #[doc = "funds being available."] + #[doc = ""] + #[doc = "If, however, the poll has ended and:"] + #[doc = "- it finished corresponding to the vote of the account, and"] + #[doc = "- the account made a standard vote with conviction, and"] + #[doc = "- the lock period of the conviction is not over"] + #[doc = "...then the lock will be aggregated into the overall account's lock, which may involve"] + #[doc = "*overlocking* (where the two locks are combined into a single lock that is the maximum"] + #[doc = "of both the amount locked and the time is it locked for)."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_, and the signer must have a vote"] + #[doc = "registered for poll `index`."] + #[doc = ""] + #[doc = "- `index`: The index of poll of the vote to be removed."] + #[doc = "- `class`: Optional parameter, if given it indicates the class of the poll. For polls"] + #[doc = " which have finished or are cancelled, this must be `Some`."] + #[doc = ""] + #[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."] + #[doc = " Weight is calculated for the maximum number of vote."] + remove_vote { + class: ::core::option::Option<::core::primitive::u16>, + index: ::core::primitive::u32, + }, + #[codec(index = 5)] + #[doc = "Remove a vote for a poll."] + #[doc = ""] + #[doc = "If the `target` is equal to the signer, then this function is exactly equivalent to"] + #[doc = "`remove_vote`. If not equal to the signer, then the vote must have expired,"] + #[doc = "either because the poll was cancelled, because the voter lost the poll or"] + #[doc = "because the conviction period is over."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_."] + #[doc = ""] + #[doc = "- `target`: The account of the vote to be removed; this account must have voted for poll"] + #[doc = " `index`."] + #[doc = "- `index`: The index of poll of the vote to be removed."] + #[doc = "- `class`: The class of the poll."] + #[doc = ""] + #[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."] + #[doc = " Weight is calculated for the maximum number of vote."] + remove_other_vote { + target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + class: ::core::primitive::u16, + index: ::core::primitive::u32, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Poll is not ongoing."] + NotOngoing, + #[codec(index = 1)] + #[doc = "The given account did not vote on the poll."] + NotVoter, + #[codec(index = 2)] + #[doc = "The actor has no permission to conduct the action."] + NoPermission, + #[codec(index = 3)] + #[doc = "The actor has no permission to conduct the action right now but will do in the future."] + NoPermissionYet, + #[codec(index = 4)] + #[doc = "The account is already delegating."] + AlreadyDelegating, + #[codec(index = 5)] + #[doc = "The account currently has votes attached to it and the operation cannot succeed until"] + #[doc = "these are removed, either through `unvote` or `reap_vote`."] + AlreadyVoting, + #[codec(index = 6)] + #[doc = "Too high a balance was provided that the account cannot afford."] + InsufficientFunds, + #[codec(index = 7)] + #[doc = "The account is not currently delegating."] + NotDelegating, + #[codec(index = 8)] + #[doc = "Delegation to oneself makes no sense."] + Nonsense, + #[codec(index = 9)] + #[doc = "Maximum number of votes reached."] + MaxVotesReached, + #[codec(index = 10)] + #[doc = "The class must be supplied since it is not easily determinable from the state."] + ClassNeeded, + #[codec(index = 11)] + #[doc = "The class ID supplied is invalid."] + BadClass, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "An account has delegated their vote to another account. \\[who, target\\]"] + Delegated(::subxt::utils::AccountId32, ::subxt::utils::AccountId32), + #[codec(index = 1)] + #[doc = "An \\[account\\] has cancelled a previous delegation operation."] + Undelegated(::subxt::utils::AccountId32), + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Delegations<_0> { + pub votes: _0, + pub capital: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Tally<_0> { + pub ayes: _0, + pub nays: _0, + pub support: _0, + } + } + pub mod vote { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum AccountVote<_0> { + #[codec(index = 0)] + Standard { + vote: runtime_types::pallet_conviction_voting::vote::Vote, + balance: _0, + }, + #[codec(index = 1)] + Split { aye: _0, nay: _0 }, + #[codec(index = 2)] + SplitAbstain { aye: _0, nay: _0, abstain: _0 }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Casting<_0, _1, _2> { + pub votes: runtime_types::bounded_collections::bounded_vec::BoundedVec<( + _1, + runtime_types::pallet_conviction_voting::vote::AccountVote<_0>, + )>, + pub delegations: + runtime_types::pallet_conviction_voting::types::Delegations<_0>, + pub prior: runtime_types::pallet_conviction_voting::vote::PriorLock<_1, _0>, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_2>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Delegating<_0, _1, _2> { + pub balance: _0, + pub target: _1, + pub conviction: runtime_types::pallet_conviction_voting::conviction::Conviction, + pub delegations: + runtime_types::pallet_conviction_voting::types::Delegations<_0>, + pub prior: runtime_types::pallet_conviction_voting::vote::PriorLock<_2, _0>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PriorLock<_0, _1>(pub _0, pub _1); + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Vote(pub ::core::primitive::u8); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Voting<_0, _1, _2, _3> { + #[codec(index = 0)] + Casting(runtime_types::pallet_conviction_voting::vote::Casting<_0, _2, _2>), + #[codec(index = 1)] + Delegating( + runtime_types::pallet_conviction_voting::vote::Delegating<_0, _1, _2>, + ), + __Ignore(::core::marker::PhantomData<_3>), + } + } + } pub mod pallet_democracy { use super::runtime_types; pub mod conviction { @@ -35039,6 +38456,26 @@ pub mod api { #[codec(compact)] prop_index: ::core::primitive::u32, }, + #[codec(index = 18)] + #[doc = "Set or clear a metadata of a proposal or a referendum."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `origin`: Must correspond to the `MetadataOwner`."] + #[doc = " - `ExternalOrigin` for an external proposal with the `SuperMajorityApprove`"] + #[doc = " threshold."] + #[doc = " - `ExternalDefaultOrigin` for an external proposal with the `SuperMajorityAgainst`"] + #[doc = " threshold."] + #[doc = " - `ExternalMajorityOrigin` for an external proposal with the `SimpleMajority`"] + #[doc = " threshold."] + #[doc = " - `Signed` by a creator for a public proposal."] + #[doc = " - `Signed` to clear a metadata for a finished referendum."] + #[doc = " - `Root` to set a metadata for an ongoing referendum."] + #[doc = "- `owner`: an identifier of a metadata owner."] + #[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."] + set_metadata { + owner: runtime_types::pallet_democracy::types::MetadataOwner, + maybe_hash: ::core::option::Option<::subxt::utils::H256>, + }, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -35122,6 +38559,9 @@ pub mod api { #[codec(index = 22)] #[doc = "Voting period too low"] VotingPeriodLow, + #[codec(index = 23)] + #[doc = "The preimage does not exist."] + PreimageNotExist, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -35204,6 +38644,25 @@ pub mod api { #[codec(index = 13)] #[doc = "A proposal got canceled."] ProposalCanceled { prop_index: ::core::primitive::u32 }, + #[codec(index = 14)] + #[doc = "Metadata for a proposal or a referendum has been set."] + MetadataSet { + owner: runtime_types::pallet_democracy::types::MetadataOwner, + hash: ::subxt::utils::H256, + }, + #[codec(index = 15)] + #[doc = "Metadata for a proposal or a referendum has been cleared."] + MetadataCleared { + owner: runtime_types::pallet_democracy::types::MetadataOwner, + hash: ::subxt::utils::H256, + }, + #[codec(index = 16)] + #[doc = "Metadata has been transferred to new owner."] + MetadataTransferred { + prev_owner: runtime_types::pallet_democracy::types::MetadataOwner, + owner: runtime_types::pallet_democracy::types::MetadataOwner, + hash: ::subxt::utils::H256, + }, } } pub mod types { @@ -35232,6 +38691,24 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum MetadataOwner { + #[codec(index = 0)] + External, + #[codec(index = 1)] + Proposal(::core::primitive::u32), + #[codec(index = 2)] + Referendum(::core::primitive::u32), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum ReferendumInfo<_0, _1, _2> { #[codec(index = 0)] Ongoing(runtime_types::pallet_democracy::types::ReferendumStatus<_0, _1, _2>), @@ -35331,7 +38808,7 @@ pub mod api { pub enum Voting<_0, _1, _2> { #[codec(index = 0)] Direct { - votes: runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + votes: runtime_types::bounded_collections::bounded_vec::BoundedVec<( _2, runtime_types::pallet_democracy::vote::AccountVote<_0>, )>, @@ -35457,13 +38934,15 @@ pub mod api { #[codec(index = 0)] #[doc = "A solution was stored with the given compute."] #[doc = ""] - #[doc = "If the solution is signed, this means that it hasn't yet been processed. If the"] - #[doc = "solution is unsigned, this means that it has also been processed."] - #[doc = ""] - #[doc = "The `bool` is `true` when a previous solution was ejected to make room for this one."] + #[doc = "The `origin` indicates the origin of the solution. If `origin` is `Some(AccountId)`,"] + #[doc = "the stored solution was submited in the signed phase by a miner with the `AccountId`."] + #[doc = "Otherwise, the solution was stored either during the unsigned phase or by"] + #[doc = "`T::ForceOrigin`. The `bool` is `true` when a previous solution was ejected to make"] + #[doc = "room for this one."] SolutionStored { compute: runtime_types::pallet_election_provider_multi_phase::ElectionCompute, + origin: ::core::option::Option<::subxt::utils::AccountId32>, prev_ejected: ::core::primitive::bool, }, #[codec(index = 1)] @@ -35491,11 +38970,16 @@ pub mod api { value: ::core::primitive::u128, }, #[codec(index = 5)] - #[doc = "The signed phase of the given round has started."] - SignedPhaseStarted { round: ::core::primitive::u32 }, - #[codec(index = 6)] - #[doc = "The unsigned phase of the given round has started."] - UnsignedPhaseStarted { round: ::core::primitive::u32 }, + #[doc = "There was a phase transition in a given round."] + PhaseTransitioned { + from: runtime_types::pallet_election_provider_multi_phase::Phase< + ::core::primitive::u32, + >, + to: runtime_types::pallet_election_provider_multi_phase::Phase< + ::core::primitive::u32, + >, + round: ::core::primitive::u32, + }, } } pub mod signed { @@ -35586,7 +39070,7 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ReadySolution { - pub supports: runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + pub supports: runtime_types::bounded_collections::bounded_vec::BoundedVec<( ::subxt::utils::AccountId32, runtime_types::sp_npos_elections::Support<::subxt::utils::AccountId32>, )>, @@ -35603,15 +39087,9 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RoundSnapshot { - pub voters: ::std::vec::Vec<( - ::subxt::utils::AccountId32, - ::core::primitive::u64, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< - ::subxt::utils::AccountId32, - >, - )>, - pub targets: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub struct RoundSnapshot<_0, _1> { + pub voters: ::std::vec::Vec<_1>, + pub targets: ::std::vec::Vec<_0>, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -35666,10 +39144,6 @@ pub mod api { #[doc = ""] #[doc = "It is the responsibility of the caller to **NOT** place all of their balance into the"] #[doc = "lock and keep some for further operations."] - #[doc = ""] - #[doc = "# "] - #[doc = "We assume the maximum weight among all 3 cases: vote_equal, vote_more and vote_less."] - #[doc = "# "] vote { votes: ::std::vec::Vec<::subxt::utils::AccountId32>, #[codec(compact)] @@ -35695,9 +39169,9 @@ pub mod api { #[doc = "Even if a candidate ends up being a member, they must call [`Call::renounce_candidacy`]"] #[doc = "to get their deposit back. Losing the spot in an election will always lead to a slash."] #[doc = ""] - #[doc = "# "] #[doc = "The number of current candidates must be provided as witness data."] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "O(C + log(C)) where C is candidate_count."] submit_candidacy { #[codec(compact)] candidate_count: ::core::primitive::u32, @@ -35717,10 +39191,12 @@ pub mod api { #[doc = " next round."] #[doc = ""] #[doc = "The dispatch origin of this call must be signed, and have one of the above roles."] - #[doc = ""] - #[doc = "# "] #[doc = "The type of renouncing must be provided as witness data."] - #[doc = "# "] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = " - Renouncing::Candidate(count): O(count + log(count))"] + #[doc = " - Renouncing::Member: O(1)"] + #[doc = " - Renouncing::RunnerUp: O(1)"] renounce_candidacy { renouncing: runtime_types::pallet_elections_phragmen::Renouncing, }, @@ -35739,10 +39215,8 @@ pub mod api { #[doc = ""] #[doc = "Note that this does not affect the designated block number of the next election."] #[doc = ""] - #[doc = "# "] - #[doc = "If we have a replacement, we use a small weight. Else, since this is a root call and"] - #[doc = "will go into phragmen, we assume full block for now."] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- Check details of remove_and_replace_member() and do_phragmen()."] remove_member { who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, slash_bond: ::core::primitive::bool, @@ -35756,9 +39230,8 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin of this call must be root."] #[doc = ""] - #[doc = "# "] - #[doc = "The total number of voters and those that are defunct must be provided as witness data."] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- Check is_defunct_voter() details."] clean_defunct_voters { num_voters: ::core::primitive::u32, num_defunct: ::core::primitive::u32, @@ -35982,7 +39455,7 @@ pub mod api { #[doc = ""] #[doc = "Dispatch origin must be signed by the [`Config::ControlOrigin`]."] control { - unchecked_eras_to_check: ::core::primitive::u32, + eras_to_check: ::core::primitive::u32, }, } #[derive( @@ -36044,23 +39517,19 @@ pub mod api { amount: ::core::primitive::u128, }, #[codec(index = 2)] - #[doc = "Some internal error happened while migrating stash. They are removed as head as a"] - #[doc = "consequence."] - Errored { stash: ::subxt::utils::AccountId32 }, - #[codec(index = 3)] #[doc = "An internal error happened. Operations will be paused now."] InternalError, - #[codec(index = 4)] + #[codec(index = 3)] #[doc = "A batch was partially checked for the given eras, but the process did not finish."] BatchChecked { eras: ::std::vec::Vec<::core::primitive::u32>, }, - #[codec(index = 5)] - #[doc = "A batch was terminated."] + #[codec(index = 4)] + #[doc = "A batch of a given size was terminated."] #[doc = ""] #[doc = "This is always follows by a number of `Unstaked` or `Slashed` events, marking the end"] #[doc = "of the batch. A new batch will be created upon next block."] - BatchFinished, + BatchFinished { size: ::core::primitive::u32 }, } } pub mod types { @@ -36076,11 +39545,11 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct UnstakeRequest { - pub stashes: runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + pub stashes: runtime_types::bounded_collections::bounded_vec::BoundedVec<( ::subxt::utils::AccountId32, ::core::primitive::u128, )>, - pub checked: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + pub checked: runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u32, >, } @@ -36109,7 +39578,7 @@ pub mod api { #[doc = "will be reported."] report_equivocation { equivocation_proof: ::std::boxed::Box< - runtime_types::sp_finality_grandpa::EquivocationProof< + runtime_types::sp_consensus_grandpa::EquivocationProof< ::subxt::utils::H256, ::core::primitive::u32, >, @@ -36128,7 +39597,7 @@ pub mod api { #[doc = "reporter."] report_equivocation_unsigned { equivocation_proof: ::std::boxed::Box< - runtime_types::sp_finality_grandpa::EquivocationProof< + runtime_types::sp_consensus_grandpa::EquivocationProof< ::subxt::utils::H256, ::core::primitive::u32, >, @@ -36205,7 +39674,7 @@ pub mod api { #[doc = "New authority set has been applied."] NewAuthorities { authority_set: ::std::vec::Vec<( - runtime_types::sp_finality_grandpa::app::Public, + runtime_types::sp_consensus_grandpa::app::Public, ::core::primitive::u64, )>, }, @@ -36231,8 +39700,8 @@ pub mod api { pub scheduled_at: _0, pub delay: _0, pub next_authorities: - runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec<( - runtime_types::sp_finality_grandpa::app::Public, + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<( + runtime_types::sp_consensus_grandpa::app::Public, ::core::primitive::u64, )>, pub forced: ::core::option::Option<_0>, @@ -36283,11 +39752,8 @@ pub mod api { #[doc = ""] #[doc = "Emits `RegistrarAdded` if successful."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(R)` where `R` registrar-count (governance-bounded and code-bounded)."] - #[doc = "- One storage mutation (codec `O(R)`)."] - #[doc = "- One event."] - #[doc = "# "] add_registrar { account: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, }, @@ -36303,14 +39769,10 @@ pub mod api { #[doc = ""] #[doc = "Emits `IdentitySet` if successful."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(X + X' + R)`"] #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)"] #[doc = " - where `R` judgements-count (registrar-count-bounded)"] - #[doc = "- One balance reserve operation."] - #[doc = "- One storage mutation (codec-read `O(X' + R)`, codec-write `O(X + R)`)."] - #[doc = "- One event."] - #[doc = "# "] set_identity { info: ::std::boxed::Box, @@ -36326,17 +39788,10 @@ pub mod api { #[doc = ""] #[doc = "- `subs`: The identity's (new) sub-accounts."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(P + S)`"] #[doc = " - where `P` old-subs-count (hard- and deposit-bounded)."] #[doc = " - where `S` subs-count (hard- and deposit-bounded)."] - #[doc = "- At most one balance operations."] - #[doc = "- DB:"] - #[doc = " - `P + S` storage mutations (codec complexity `O(1)`)"] - #[doc = " - One storage read (codec complexity `O(P)`)."] - #[doc = " - One storage write (codec complexity `O(S)`)."] - #[doc = " - One storage-exists (`IdentityOf::contains_key`)."] - #[doc = "# "] set_subs { subs: ::std::vec::Vec<( ::subxt::utils::AccountId32, @@ -36353,15 +39808,11 @@ pub mod api { #[doc = ""] #[doc = "Emits `IdentityCleared` if successful."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(R + S + X)`"] #[doc = " - where `R` registrar-count (governance-bounded)."] #[doc = " - where `S` subs-count (hard- and deposit-bounded)."] #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)."] - #[doc = "- One balance-unreserve operation."] - #[doc = "- `2` storage reads and `S + 2` storage deletions."] - #[doc = "- One event."] - #[doc = "# "] clear_identity, #[codec(index = 4)] #[doc = "Request a judgement from a registrar."] @@ -36381,12 +39832,10 @@ pub mod api { #[doc = ""] #[doc = "Emits `JudgementRequested` if successful."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(R + X)`."] - #[doc = "- One balance-reserve operation."] - #[doc = "- Storage: 1 read `O(R)`, 1 mutate `O(X + R)`."] - #[doc = "- One event."] - #[doc = "# "] + #[doc = " - where `R` registrar-count (governance-bounded)."] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)."] request_judgement { #[codec(compact)] reg_index: ::core::primitive::u32, @@ -36405,12 +39854,10 @@ pub mod api { #[doc = ""] #[doc = "Emits `JudgementUnrequested` if successful."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(R + X)`."] - #[doc = "- One balance-reserve operation."] - #[doc = "- One storage mutation `O(R + X)`."] - #[doc = "- One event"] - #[doc = "# "] + #[doc = " - where `R` registrar-count (governance-bounded)."] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)."] cancel_request { reg_index: ::core::primitive::u32 }, #[codec(index = 6)] #[doc = "Set the fee required for a judgement to be requested from a registrar."] @@ -36421,11 +39868,9 @@ pub mod api { #[doc = "- `index`: the index of the registrar whose fee is to be set."] #[doc = "- `fee`: the new fee."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(R)`."] - #[doc = "- One storage mutation `O(R)`."] - #[doc = "- Benchmark: 7.315 + R * 0.329 µs (min squares analysis)"] - #[doc = "# "] + #[doc = " - where `R` registrar-count (governance-bounded)."] set_fee { #[codec(compact)] index: ::core::primitive::u32, @@ -36441,11 +39886,9 @@ pub mod api { #[doc = "- `index`: the index of the registrar whose fee is to be set."] #[doc = "- `new`: the new account ID."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(R)`."] - #[doc = "- One storage mutation `O(R)`."] - #[doc = "- Benchmark: 8.823 + R * 0.32 µs (min squares analysis)"] - #[doc = "# "] + #[doc = " - where `R` registrar-count (governance-bounded)."] set_account_id { #[codec(compact)] index: ::core::primitive::u32, @@ -36460,11 +39903,9 @@ pub mod api { #[doc = "- `index`: the index of the registrar whose fee is to be set."] #[doc = "- `fields`: the fields that the registrar concerns themselves with."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(R)`."] - #[doc = "- One storage mutation `O(R)`."] - #[doc = "- Benchmark: 7.464 + R * 0.325 µs (min squares analysis)"] - #[doc = "# "] + #[doc = " - where `R` registrar-count (governance-bounded)."] set_fields { #[codec(compact)] index: ::core::primitive::u32, @@ -36486,13 +39927,10 @@ pub mod api { #[doc = ""] #[doc = "Emits `JudgementGiven` if successful."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(R + X)`."] - #[doc = "- One balance-transfer operation."] - #[doc = "- Up to one account-lookup operation."] - #[doc = "- Storage: 1 read `O(R)`, 1 mutate `O(R + X)`."] - #[doc = "- One event."] - #[doc = "# "] + #[doc = " - where `R` registrar-count (governance-bounded)."] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)."] provide_judgement { #[codec(compact)] reg_index: ::core::primitive::u32, @@ -36516,12 +39954,11 @@ pub mod api { #[doc = ""] #[doc = "Emits `IdentityKilled` if successful."] #[doc = ""] - #[doc = "# "] - #[doc = "- `O(R + S + X)`."] - #[doc = "- One balance-reserve operation."] - #[doc = "- `S + 2` storage mutations."] - #[doc = "- One event."] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- `O(R + S + X)`"] + #[doc = " - where `R` registrar-count (governance-bounded)."] + #[doc = " - where `S` subs-count (hard- and deposit-bounded)."] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)."] kill_identity { target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, }, @@ -36855,7 +40292,7 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct IdentityInfo { - pub additional: runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + pub additional: runtime_types::bounded_collections::bounded_vec::BoundedVec<( runtime_types::pallet_identity::types::Data, runtime_types::pallet_identity::types::Data, )>, @@ -36922,7 +40359,7 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Registration<_0> { - pub judgements: runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + pub judgements: runtime_types::bounded_collections::bounded_vec::BoundedVec<( ::core::primitive::u32, runtime_types::pallet_identity::types::Judgement<_0>, )>, @@ -36948,15 +40385,11 @@ pub mod api { #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub enum Call { #[codec(index = 0)] - #[doc = "# "] - #[doc = "- Complexity: `O(K + E)` where K is length of `Keys` (heartbeat.validators_len) and E is"] - #[doc = " length of `heartbeat.network_state.external_address`"] + #[doc = "## Complexity:"] + #[doc = "- `O(K + E)` where K is length of `Keys` (heartbeat.validators_len) and E is length of"] + #[doc = " `heartbeat.network_state.external_address`"] #[doc = " - `O(K)`: decoding of length `K`"] #[doc = " - `O(E)`: decoding/encoding of length `E`"] - #[doc = "- DbReads: pallet_session `Validators`, pallet_session `CurrentIndex`, `Keys`,"] - #[doc = " `ReceivedHeartbeats`"] - #[doc = "- DbWrites: `ReceivedHeartbeats`"] - #[doc = "# "] heartbeat { heartbeat: runtime_types::pallet_im_online::Heartbeat<::core::primitive::u32>, @@ -37054,12 +40487,12 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct BoundedOpaqueNetworkState { - pub peer_id: runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< + pub peer_id: runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< ::core::primitive::u8, >, pub external_addresses: - runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< - runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< ::core::primitive::u8, >, >, @@ -37109,14 +40542,8 @@ pub mod api { #[doc = ""] #[doc = "Emits `IndexAssigned` if successful."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(1)`."] - #[doc = "- One storage mutation (codec `O(1)`)."] - #[doc = "- One reserve operation."] - #[doc = "- One event."] - #[doc = "-------------------"] - #[doc = "- DB Weight: 1 Read/Write (Accounts)"] - #[doc = "# "] claim { index: ::core::primitive::u32 }, #[codec(index = 1)] #[doc = "Assign an index already owned by the sender to another account. The balance reservation"] @@ -37129,16 +40556,8 @@ pub mod api { #[doc = ""] #[doc = "Emits `IndexAssigned` if successful."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(1)`."] - #[doc = "- One storage mutation (codec `O(1)`)."] - #[doc = "- One transfer operation."] - #[doc = "- One event."] - #[doc = "-------------------"] - #[doc = "- DB Weight:"] - #[doc = " - Reads: Indices Accounts, System Account (recipient)"] - #[doc = " - Writes: Indices Accounts, System Account (recipient)"] - #[doc = "# "] transfer { new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, index: ::core::primitive::u32, @@ -37154,14 +40573,8 @@ pub mod api { #[doc = ""] #[doc = "Emits `IndexFreed` if successful."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(1)`."] - #[doc = "- One storage mutation (codec `O(1)`)."] - #[doc = "- One reserve operation."] - #[doc = "- One event."] - #[doc = "-------------------"] - #[doc = "- DB Weight: 1 Read/Write (Accounts)"] - #[doc = "# "] free { index: ::core::primitive::u32 }, #[codec(index = 3)] #[doc = "Force an index to an account. This doesn't require a deposit. If the index is already"] @@ -37175,16 +40588,8 @@ pub mod api { #[doc = ""] #[doc = "Emits `IndexAssigned` if successful."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(1)`."] - #[doc = "- One storage mutation (codec `O(1)`)."] - #[doc = "- Up to one reserve operation."] - #[doc = "- One event."] - #[doc = "-------------------"] - #[doc = "- DB Weight:"] - #[doc = " - Reads: Indices Accounts, System Account (original owner)"] - #[doc = " - Writes: Indices Accounts, System Account (original owner)"] - #[doc = "# "] force_transfer { new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, index: ::core::primitive::u32, @@ -37201,14 +40606,8 @@ pub mod api { #[doc = ""] #[doc = "Emits `IndexFrozen` if successful."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(1)`."] - #[doc = "- One storage mutation (codec `O(1)`)."] - #[doc = "- Up to one slash operation."] - #[doc = "- One event."] - #[doc = "-------------------"] - #[doc = "- DB Weight: 1 Read/Write (Accounts)"] - #[doc = "# "] freeze { index: ::core::primitive::u32 }, } #[derive( @@ -37421,12 +40820,8 @@ pub mod api { #[doc = ""] #[doc = "Result is equivalent to the dispatched result."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "O(Z + C) where Z is the length of the call and C its execution weight."] - #[doc = "-------------------------------"] - #[doc = "- DB Weight: None"] - #[doc = "- Plus Call Weight"] - #[doc = "# "] as_multi_threshold_1 { other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, call: ::std::boxed::Box, @@ -37458,7 +40853,7 @@ pub mod api { #[doc = "on success, result is `Ok` and the result from the interior call, if it was executed,"] #[doc = "may be found in the deposited `MultisigExecuted` event."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(S + Z + Call)`."] #[doc = "- Up to one balance-reserve or unreserve operation."] #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] @@ -37471,12 +40866,6 @@ pub mod api { #[doc = "- The weight of the `call`."] #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"] #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] - #[doc = "-------------------------------"] - #[doc = "- DB Weight:"] - #[doc = " - Reads: Multisig Storage, [Caller Account]"] - #[doc = " - Writes: Multisig Storage, [Caller Account]"] - #[doc = "- Plus Call Weight"] - #[doc = "# "] as_multi { threshold: ::core::primitive::u16, other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, @@ -37506,7 +40895,7 @@ pub mod api { #[doc = ""] #[doc = "NOTE: If this is the final approval, you will want to use `as_multi` instead."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(S)`."] #[doc = "- Up to one balance-reserve or unreserve operation."] #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] @@ -37517,11 +40906,6 @@ pub mod api { #[doc = "- One event."] #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"] #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] - #[doc = "----------------------------------"] - #[doc = "- DB Weight:"] - #[doc = " - Read: Multisig Storage, [Caller Account]"] - #[doc = " - Write: Multisig Storage, [Caller Account]"] - #[doc = "# "] approve_as_multi { threshold: ::core::primitive::u16, other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, @@ -37544,7 +40928,7 @@ pub mod api { #[doc = "transaction for this dispatch."] #[doc = "- `call_hash`: The hash of the call to be executed."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(S)`."] #[doc = "- Up to one balance-reserve or unreserve operation."] #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] @@ -37553,11 +40937,6 @@ pub mod api { #[doc = "- One event."] #[doc = "- I/O: 1 read `O(S)`, one remove."] #[doc = "- Storage: removes one item."] - #[doc = "----------------------------------"] - #[doc = "- DB Weight:"] - #[doc = " - Read: Multisig Storage, [Caller Account], Refund Account"] - #[doc = " - Write: Multisig Storage, [Caller Account], Refund Account"] - #[doc = "# "] cancel_as_multi { threshold: ::core::primitive::u16, other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, @@ -37685,7 +41064,7 @@ pub mod api { pub when: runtime_types::pallet_multisig::Timepoint<_0>, pub deposit: _1, pub depositor: _2, - pub approvals: runtime_types::sp_core::bounded::bounded_vec::BoundedVec<_2>, + pub approvals: runtime_types::bounded_collections::bounded_vec::BoundedVec<_2>, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -37741,6 +41120,7 @@ pub mod api { #[doc = "accumulated rewards, see [`BondExtra`]."] #[doc = ""] #[doc = "Bonding extra funds implies an automatic payout of all pending rewards as well."] + #[doc = "See `bond_extra_other` to bond pending rewards of `other` members."] bond_extra { extra: runtime_types::pallet_nomination_pools::BondExtra< ::core::primitive::u128, @@ -37748,11 +41128,13 @@ pub mod api { }, #[codec(index = 2)] #[doc = "A bonded member can use this to claim their payout based on the rewards that the pool"] - #[doc = "has accumulated since their last claimed payout (OR since joining if this is there first"] + #[doc = "has accumulated since their last claimed payout (OR since joining if this is their first"] #[doc = "time claiming rewards). The payout will be transferred to the member's account."] #[doc = ""] #[doc = "The member will earn rewards pro rata based on the members stake vs the sum of the"] #[doc = "members in the pools stake. Rewards do not \"expire\"."] + #[doc = ""] + #[doc = "See `claim_payout_other` to caim rewards on bahalf of some `other` pool member."] claim_payout, #[codec(index = 3)] #[doc = "Unbond up to `unbonding_points` of the `member_account`'s funds from the pool. It"] @@ -37764,8 +41146,8 @@ pub mod api { #[doc = ""] #[doc = "# Conditions for a permissionless dispatch."] #[doc = ""] - #[doc = "* The pool is blocked and the caller is either the root or state-toggler. This is"] - #[doc = " refereed to as a kick."] + #[doc = "* The pool is blocked and the caller is either the root or bouncer. This is refereed to"] + #[doc = " as a kick."] #[doc = "* The pool is destroying and the member is not the depositor."] #[doc = "* The pool is destroying, the member is the depositor and no other members are in the"] #[doc = " pool."] @@ -37780,9 +41162,12 @@ pub mod api { #[doc = "# Note"] #[doc = ""] #[doc = "If there are too many unlocking chunks to unbond with the pool account,"] - #[doc = "[`Call::pool_withdraw_unbonded`] can be called to try and minimize unlocking chunks. If"] - #[doc = "there are too many unlocking chunks, the result of this call will likely be the"] - #[doc = "`NoMoreChunks` error from the staking system."] + #[doc = "[`Call::pool_withdraw_unbonded`] can be called to try and minimize unlocking chunks."] + #[doc = "The [`StakingInterface::unbond`] will implicitly call [`Call::pool_withdraw_unbonded`]"] + #[doc = "to try to free chunks if necessary (ie. if unbound was called and no unlocking chunks"] + #[doc = "are available). However, it may not be possible to release the current unlocking chunks,"] + #[doc = "in which case, the result of this call will likely be the `NoMoreChunks` error from the"] + #[doc = "staking system."] unbond { member_account: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, @@ -37811,7 +41196,7 @@ pub mod api { #[doc = ""] #[doc = "* The pool is in destroy mode and the target is not the depositor."] #[doc = "* The target is the depositor and they are the only member in the sub pools."] - #[doc = "* The pool is blocked and the caller is either the root or state-toggler."] + #[doc = "* The pool is blocked and the caller is either the root or bouncer."] #[doc = ""] #[doc = "# Conditions for permissioned dispatch"] #[doc = ""] @@ -37837,7 +41222,7 @@ pub mod api { #[doc = " creating multiple pools in the same extrinsic."] #[doc = "* `root` - The account to set as [`PoolRoles::root`]."] #[doc = "* `nominator` - The account to set as the [`PoolRoles::nominator`]."] - #[doc = "* `state_toggler` - The account to set as the [`PoolRoles::state_toggler`]."] + #[doc = "* `bouncer` - The account to set as the [`PoolRoles::bouncer`]."] #[doc = ""] #[doc = "# Note"] #[doc = ""] @@ -37848,8 +41233,7 @@ pub mod api { amount: ::core::primitive::u128, root: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, nominator: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - state_toggler: - ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + bouncer: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, }, #[codec(index = 7)] #[doc = "Create a new delegation pool with a previously used pool id"] @@ -37863,8 +41247,7 @@ pub mod api { amount: ::core::primitive::u128, root: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, nominator: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - state_toggler: - ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + bouncer: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, pool_id: ::core::primitive::u32, }, #[codec(index = 8)] @@ -37887,7 +41270,7 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin of this call must be either:"] #[doc = ""] - #[doc = "1. signed by the state toggler, or the root role of the pool,"] + #[doc = "1. signed by the bouncer, or the root role of the pool,"] #[doc = "2. if the pool conditions to be open are NOT met (as described by `ok_to_be_open`), and"] #[doc = " then the state of the pool can be permissionlessly changed to `Destroying`."] set_state { @@ -37897,8 +41280,8 @@ pub mod api { #[codec(index = 10)] #[doc = "Set a new metadata for the pool."] #[doc = ""] - #[doc = "The dispatch origin of this call must be signed by the state toggler, or the root role"] - #[doc = "of the pool."] + #[doc = "The dispatch origin of this call must be signed by the bouncer, or the root role of the"] + #[doc = "pool."] set_metadata { pool_id: ::core::primitive::u32, metadata: ::std::vec::Vec<::core::primitive::u8>, @@ -37914,6 +41297,7 @@ pub mod api { #[doc = "* `max_pools` - Set [`MaxPools`]."] #[doc = "* `max_members` - Set [`MaxPoolMembers`]."] #[doc = "* `max_members_per_pool` - Set [`MaxPoolMembersPerPool`]."] + #[doc = "* `global_max_commission` - Set [`GlobalMaxCommission`]."] set_configs { min_join_bond: runtime_types::pallet_nomination_pools::ConfigOp< ::core::primitive::u128, @@ -37930,6 +41314,9 @@ pub mod api { max_members_per_pool: runtime_types::pallet_nomination_pools::ConfigOp< ::core::primitive::u32, >, + global_max_commission: runtime_types::pallet_nomination_pools::ConfigOp< + runtime_types::sp_arithmetic::per_things::Perbill, + >, }, #[codec(index = 12)] #[doc = "Update the roles of the pool."] @@ -37947,7 +41334,7 @@ pub mod api { new_nominator: runtime_types::pallet_nomination_pools::ConfigOp< ::subxt::utils::AccountId32, >, - new_state_toggler: runtime_types::pallet_nomination_pools::ConfigOp< + new_bouncer: runtime_types::pallet_nomination_pools::ConfigOp< ::subxt::utils::AccountId32, >, }, @@ -37960,6 +41347,85 @@ pub mod api { #[doc = "This directly forward the call to the staking pallet, on behalf of the pool bonded"] #[doc = "account."] chill { pool_id: ::core::primitive::u32 }, + #[codec(index = 14)] + #[doc = "`origin` bonds funds from `extra` for some pool member `member` into their respective"] + #[doc = "pools."] + #[doc = ""] + #[doc = "`origin` can bond extra funds from free balance or pending rewards when `origin =="] + #[doc = "other`."] + #[doc = ""] + #[doc = "In the case of `origin != other`, `origin` can only bond extra pending rewards of"] + #[doc = "`other` members assuming set_claim_permission for the given member is"] + #[doc = "`PermissionlessAll` or `PermissionlessCompound`."] + bond_extra_other { + member: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + extra: runtime_types::pallet_nomination_pools::BondExtra< + ::core::primitive::u128, + >, + }, + #[codec(index = 15)] + #[doc = "Allows a pool member to set a claim permission to allow or disallow permissionless"] + #[doc = "bonding and withdrawing."] + #[doc = ""] + #[doc = "By default, this is `Permissioned`, which implies only the pool member themselves can"] + #[doc = "claim their pending rewards. If a pool member wishes so, they can set this to"] + #[doc = "`PermissionlessAll` to allow any account to claim their rewards and bond extra to the"] + #[doc = "pool."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Member of a pool."] + #[doc = "* `actor` - Account to claim reward. // improve this"] + set_claim_permission { + permission: runtime_types::pallet_nomination_pools::ClaimPermission, + }, + #[codec(index = 16)] + #[doc = "`origin` can claim payouts on some pool member `other`'s behalf."] + #[doc = ""] + #[doc = "Pool member `other` must have a `PermissionlessAll` or `PermissionlessWithdraw` in order"] + #[doc = "for this call to be successful."] + claim_payout_other { other: ::subxt::utils::AccountId32 }, + #[codec(index = 17)] + #[doc = "Set the commission of a pool."] + #[doc = "Both a commission percentage and a commission payee must be provided in the `current`"] + #[doc = "tuple. Where a `current` of `None` is provided, any current commission will be removed."] + #[doc = ""] + #[doc = "- If a `None` is supplied to `new_commission`, existing commission will be removed."] + set_commission { + pool_id: ::core::primitive::u32, + new_commission: ::core::option::Option<( + runtime_types::sp_arithmetic::per_things::Perbill, + ::subxt::utils::AccountId32, + )>, + }, + #[codec(index = 18)] + #[doc = "Set the maximum commission of a pool."] + #[doc = ""] + #[doc = "- Initial max can be set to any `Perbill`, and only smaller values thereafter."] + #[doc = "- Current commission will be lowered in the event it is higher than a new max"] + #[doc = " commission."] + set_commission_max { + pool_id: ::core::primitive::u32, + max_commission: runtime_types::sp_arithmetic::per_things::Perbill, + }, + #[codec(index = 19)] + #[doc = "Set the commission change rate for a pool."] + #[doc = ""] + #[doc = "Initial change rate is not bounded, whereas subsequent updates can only be more"] + #[doc = "restrictive than the current."] + set_commission_change_rate { + pool_id: ::core::primitive::u32, + change_rate: runtime_types::pallet_nomination_pools::CommissionChangeRate< + ::core::primitive::u32, + >, + }, + #[codec(index = 20)] + #[doc = "Claim pending commission."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed by the `root` role of the pool. Pending"] + #[doc = "commission is paid out and added to total claimed commission`. Total pending commission"] + #[doc = "is reset to zero. the current."] + claim_commission { pool_id: ::core::primitive::u32 }, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -38067,11 +41533,32 @@ pub mod api { #[doc = "Partial unbonding now allowed permissionlessly."] PartialUnbondNotAllowedPermissionlessly, #[codec(index = 21)] + #[doc = "The pool's max commission cannot be set higher than the existing value."] + MaxCommissionRestricted, + #[codec(index = 22)] + #[doc = "The supplied commission exceeds the max allowed commission."] + CommissionExceedsMaximum, + #[codec(index = 23)] + #[doc = "Not enough blocks have surpassed since the last commission update."] + CommissionChangeThrottled, + #[codec(index = 24)] + #[doc = "The submitted changes to commission change rate are not allowed."] + CommissionChangeRateNotAllowed, + #[codec(index = 25)] + #[doc = "There is no pending commission to claim."] + NoPendingCommission, + #[codec(index = 26)] + #[doc = "No commission current has been set."] + NoCommissionCurrentSet, + #[codec(index = 27)] #[doc = "Pool id currently in use."] PoolIdInUse, - #[codec(index = 22)] + #[codec(index = 28)] #[doc = "Pool id provided is not correct/usable."] InvalidPoolId, + #[codec(index = 29)] + #[doc = "Bonding extra is restricted to the exact pending reward amount."] + BondExtraRestricted, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -38160,7 +41647,7 @@ pub mod api { #[doc = "can never change."] RolesUpdated { root: ::core::option::Option<::subxt::utils::AccountId32>, - state_toggler: ::core::option::Option<::subxt::utils::AccountId32>, + bouncer: ::core::option::Option<::subxt::utils::AccountId32>, nominator: ::core::option::Option<::subxt::utils::AccountId32>, }, #[codec(index = 9)] @@ -38176,6 +41663,35 @@ pub mod api { era: ::core::primitive::u32, balance: ::core::primitive::u128, }, + #[codec(index = 11)] + #[doc = "A pool's commission setting has been changed."] + PoolCommissionUpdated { + pool_id: ::core::primitive::u32, + current: ::core::option::Option<( + runtime_types::sp_arithmetic::per_things::Perbill, + ::subxt::utils::AccountId32, + )>, + }, + #[codec(index = 12)] + #[doc = "A pool's maximum commission setting has been changed."] + PoolMaxCommissionUpdated { + pool_id: ::core::primitive::u32, + max_commission: runtime_types::sp_arithmetic::per_things::Perbill, + }, + #[codec(index = 13)] + #[doc = "A pool's commission `change_rate` has been changed."] + PoolCommissionChangeRateUpdated { + pool_id: ::core::primitive::u32, + change_rate: runtime_types::pallet_nomination_pools::CommissionChangeRate< + ::core::primitive::u32, + >, + }, + #[codec(index = 14)] + #[doc = "Pool commission has been claimed."] + PoolCommissionClaimed { + pool_id: ::core::primitive::u32, + commission: ::core::primitive::u128, + }, } } #[derive( @@ -38205,11 +41721,69 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct BondedPoolInner { - pub points: ::core::primitive::u128, - pub state: runtime_types::pallet_nomination_pools::PoolState, + pub commission: runtime_types::pallet_nomination_pools::Commission, pub member_counter: ::core::primitive::u32, + pub points: ::core::primitive::u128, pub roles: runtime_types::pallet_nomination_pools::PoolRoles<::subxt::utils::AccountId32>, + pub state: runtime_types::pallet_nomination_pools::PoolState, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum ClaimPermission { + #[codec(index = 0)] + Permissioned, + #[codec(index = 1)] + PermissionlessCompound, + #[codec(index = 2)] + PermissionlessWithdraw, + #[codec(index = 3)] + PermissionlessAll, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Commission { + pub current: ::core::option::Option<( + runtime_types::sp_arithmetic::per_things::Perbill, + ::subxt::utils::AccountId32, + )>, + pub max: ::core::option::Option, + pub change_rate: ::core::option::Option< + runtime_types::pallet_nomination_pools::CommissionChangeRate< + ::core::primitive::u32, + >, + >, + pub throttle_from: ::core::option::Option<::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CommissionChangeRate<_0> { + pub max_increase: runtime_types::sp_arithmetic::per_things::Perbill, + pub min_delay: _0, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -38245,7 +41819,7 @@ pub mod api { pub last_recorded_reward_counter: runtime_types::sp_arithmetic::fixed_point::FixedU128, pub unbonding_eras: - runtime_types::sp_core::bounded::bounded_btree_map::BoundedBTreeMap< + runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap< ::core::primitive::u32, ::core::primitive::u128, >, @@ -38264,7 +41838,7 @@ pub mod api { pub depositor: _0, pub root: ::core::option::Option<_0>, pub nominator: ::core::option::Option<_0>, - pub state_toggler: ::core::option::Option<_0>, + pub bouncer: ::core::option::Option<_0>, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -38299,6 +41873,8 @@ pub mod api { runtime_types::sp_arithmetic::fixed_point::FixedU128, pub last_recorded_total_payouts: ::core::primitive::u128, pub total_rewards_claimed: ::core::primitive::u128, + pub total_commission_pending: ::core::primitive::u128, + pub total_commission_claimed: ::core::primitive::u128, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -38312,10 +41888,11 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SubPools { pub no_era: runtime_types::pallet_nomination_pools::UnbondPool, - pub with_era: runtime_types::sp_core::bounded::bounded_btree_map::BoundedBTreeMap< - ::core::primitive::u32, - runtime_types::pallet_nomination_pools::UnbondPool, - >, + pub with_era: + runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap< + ::core::primitive::u32, + runtime_types::pallet_nomination_pools::UnbondPool, + >, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -38501,8 +42078,6 @@ pub mod api { #[doc = "Dispatch the given `call` from an account that the sender is authorised for through"] #[doc = "`add_proxy`."] #[doc = ""] - #[doc = "Removes any corresponding announcement(s)."] - #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_."] #[doc = ""] #[doc = "Parameters:"] @@ -38791,6 +42366,468 @@ pub mod api { pub delay: _2, } } + pub mod pallet_referenda { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Propose a referendum on a privileged action."] + #[doc = ""] + #[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"] + #[doc = " available."] + #[doc = "- `proposal_origin`: The origin from which the proposal should be executed."] + #[doc = "- `proposal`: The proposal."] + #[doc = "- `enactment_moment`: The moment that the proposal should be enacted."] + #[doc = ""] + #[doc = "Emits `Submitted`."] + submit { + proposal_origin: + ::std::boxed::Box, + proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::polkadot_runtime::RuntimeCall, + >, + enactment_moment: + runtime_types::frame_support::traits::schedule::DispatchTime< + ::core::primitive::u32, + >, + }, + #[codec(index = 1)] + #[doc = "Post the Decision Deposit for a referendum."] + #[doc = ""] + #[doc = "- `origin`: must be `Signed` and the account must have funds available for the"] + #[doc = " referendum's track's Decision Deposit."] + #[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"] + #[doc = " posted."] + #[doc = ""] + #[doc = "Emits `DecisionDepositPlaced`."] + place_decision_deposit { index: ::core::primitive::u32 }, + #[codec(index = 2)] + #[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."] + #[doc = ""] + #[doc = "- `origin`: must be `Signed` or `Root`."] + #[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"] + #[doc = " refunded."] + #[doc = ""] + #[doc = "Emits `DecisionDepositRefunded`."] + refund_decision_deposit { index: ::core::primitive::u32 }, + #[codec(index = 3)] + #[doc = "Cancel an ongoing referendum."] + #[doc = ""] + #[doc = "- `origin`: must be the `CancelOrigin`."] + #[doc = "- `index`: The index of the referendum to be cancelled."] + #[doc = ""] + #[doc = "Emits `Cancelled`."] + cancel { index: ::core::primitive::u32 }, + #[codec(index = 4)] + #[doc = "Cancel an ongoing referendum and slash the deposits."] + #[doc = ""] + #[doc = "- `origin`: must be the `KillOrigin`."] + #[doc = "- `index`: The index of the referendum to be cancelled."] + #[doc = ""] + #[doc = "Emits `Killed` and `DepositSlashed`."] + kill { index: ::core::primitive::u32 }, + #[codec(index = 5)] + #[doc = "Advance a referendum onto its next logical state. Only used internally."] + #[doc = ""] + #[doc = "- `origin`: must be `Root`."] + #[doc = "- `index`: the referendum to be advanced."] + nudge_referendum { index: ::core::primitive::u32 }, + #[codec(index = 6)] + #[doc = "Advance a track onto its next logical state. Only used internally."] + #[doc = ""] + #[doc = "- `origin`: must be `Root`."] + #[doc = "- `track`: the track to be advanced."] + #[doc = ""] + #[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"] + #[doc = "`DecidingCount` is not yet updated. This means that we should either:"] + #[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"] + #[doc = "- decrement `DecidingCount`."] + one_fewer_deciding { track: ::core::primitive::u16 }, + #[codec(index = 7)] + #[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."] + #[doc = ""] + #[doc = "- `origin`: must be `Signed` or `Root`."] + #[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"] + #[doc = " refunded."] + #[doc = ""] + #[doc = "Emits `SubmissionDepositRefunded`."] + refund_submission_deposit { index: ::core::primitive::u32 }, + #[codec(index = 8)] + #[doc = "Set or clear metadata of a referendum."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"] + #[doc = " metadata of a finished referendum."] + #[doc = "- `index`: The index of a referendum to set or clear metadata for."] + #[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."] + set_metadata { + index: ::core::primitive::u32, + maybe_hash: ::core::option::Option<::subxt::utils::H256>, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Referendum is not ongoing."] + NotOngoing, + #[codec(index = 1)] + #[doc = "Referendum's decision deposit is already paid."] + HasDeposit, + #[codec(index = 2)] + #[doc = "The track identifier given was invalid."] + BadTrack, + #[codec(index = 3)] + #[doc = "There are already a full complement of referenda in progress for this track."] + Full, + #[codec(index = 4)] + #[doc = "The queue of the track is empty."] + QueueEmpty, + #[codec(index = 5)] + #[doc = "The referendum index provided is invalid in this context."] + BadReferendum, + #[codec(index = 6)] + #[doc = "There was nothing to do in the advancement."] + NothingToDo, + #[codec(index = 7)] + #[doc = "No track exists for the proposal origin."] + NoTrack, + #[codec(index = 8)] + #[doc = "Any deposit cannot be refunded until after the decision is over."] + Unfinished, + #[codec(index = 9)] + #[doc = "The deposit refunder is not the depositor."] + NoPermission, + #[codec(index = 10)] + #[doc = "The deposit cannot be refunded since none was made."] + NoDeposit, + #[codec(index = 11)] + #[doc = "The referendum status is invalid for this operation."] + BadStatus, + #[codec(index = 12)] + #[doc = "The preimage does not exist."] + PreimageNotExist, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A referendum has been submitted."] + Submitted { + index: ::core::primitive::u32, + track: ::core::primitive::u16, + proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::polkadot_runtime::RuntimeCall, + >, + }, + #[codec(index = 1)] + #[doc = "The decision deposit has been placed."] + DecisionDepositPlaced { + index: ::core::primitive::u32, + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "The decision deposit has been refunded."] + DecisionDepositRefunded { + index: ::core::primitive::u32, + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "A deposit has been slashaed."] + DepositSlashed { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 4)] + #[doc = "A referendum has moved into the deciding phase."] + DecisionStarted { + index: ::core::primitive::u32, + track: ::core::primitive::u16, + proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::polkadot_runtime::RuntimeCall, + >, + tally: runtime_types::pallet_conviction_voting::types::Tally< + ::core::primitive::u128, + >, + }, + #[codec(index = 5)] + ConfirmStarted { index: ::core::primitive::u32 }, + #[codec(index = 6)] + ConfirmAborted { index: ::core::primitive::u32 }, + #[codec(index = 7)] + #[doc = "A referendum has ended its confirmation phase and is ready for approval."] + Confirmed { + index: ::core::primitive::u32, + tally: runtime_types::pallet_conviction_voting::types::Tally< + ::core::primitive::u128, + >, + }, + #[codec(index = 8)] + #[doc = "A referendum has been approved and its proposal has been scheduled."] + Approved { index: ::core::primitive::u32 }, + #[codec(index = 9)] + #[doc = "A proposal has been rejected by referendum."] + Rejected { + index: ::core::primitive::u32, + tally: runtime_types::pallet_conviction_voting::types::Tally< + ::core::primitive::u128, + >, + }, + #[codec(index = 10)] + #[doc = "A referendum has been timed out without being decided."] + TimedOut { + index: ::core::primitive::u32, + tally: runtime_types::pallet_conviction_voting::types::Tally< + ::core::primitive::u128, + >, + }, + #[codec(index = 11)] + #[doc = "A referendum has been cancelled."] + Cancelled { + index: ::core::primitive::u32, + tally: runtime_types::pallet_conviction_voting::types::Tally< + ::core::primitive::u128, + >, + }, + #[codec(index = 12)] + #[doc = "A referendum has been killed."] + Killed { + index: ::core::primitive::u32, + tally: runtime_types::pallet_conviction_voting::types::Tally< + ::core::primitive::u128, + >, + }, + #[codec(index = 13)] + #[doc = "The submission deposit has been refunded."] + SubmissionDepositRefunded { + index: ::core::primitive::u32, + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 14)] + #[doc = "Metadata for a referendum has been set."] + MetadataSet { + index: ::core::primitive::u32, + hash: ::subxt::utils::H256, + }, + #[codec(index = 15)] + #[doc = "Metadata for a referendum has been cleared."] + MetadataCleared { + index: ::core::primitive::u32, + hash: ::subxt::utils::H256, + }, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Curve { + #[codec(index = 0)] + LinearDecreasing { + length: runtime_types::sp_arithmetic::per_things::Perbill, + floor: runtime_types::sp_arithmetic::per_things::Perbill, + ceil: runtime_types::sp_arithmetic::per_things::Perbill, + }, + #[codec(index = 1)] + SteppedDecreasing { + begin: runtime_types::sp_arithmetic::per_things::Perbill, + end: runtime_types::sp_arithmetic::per_things::Perbill, + step: runtime_types::sp_arithmetic::per_things::Perbill, + period: runtime_types::sp_arithmetic::per_things::Perbill, + }, + #[codec(index = 2)] + Reciprocal { + factor: runtime_types::sp_arithmetic::fixed_point::FixedI64, + x_offset: runtime_types::sp_arithmetic::fixed_point::FixedI64, + y_offset: runtime_types::sp_arithmetic::fixed_point::FixedI64, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DecidingStatus<_0> { + pub since: _0, + pub confirming: ::core::option::Option<_0>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Deposit<_0, _1> { + pub who: _0, + pub amount: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum ReferendumInfo<_0, _1, _2, _3, _4, _5, _6, _7> { + #[codec(index = 0)] + Ongoing( + runtime_types::pallet_referenda::types::ReferendumStatus< + _0, + _1, + _2, + _3, + _4, + _5, + _6, + _7, + >, + ), + #[codec(index = 1)] + Approved( + _2, + ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + ), + #[codec(index = 2)] + Rejected( + _2, + ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + ), + #[codec(index = 3)] + Cancelled( + _2, + ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + ), + #[codec(index = 4)] + TimedOut( + _2, + ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + ), + #[codec(index = 5)] + Killed(_2), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReferendumStatus<_0, _1, _2, _3, _4, _5, _6, _7> { + pub track: _0, + pub origin: _1, + pub proposal: _3, + pub enactment: runtime_types::frame_support::traits::schedule::DispatchTime<_2>, + pub submitted: _2, + pub submission_deposit: runtime_types::pallet_referenda::types::Deposit<_6, _4>, + pub decision_deposit: ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + pub deciding: ::core::option::Option< + runtime_types::pallet_referenda::types::DecidingStatus<_2>, + >, + pub tally: _5, + pub in_queue: ::core::primitive::bool, + pub alarm: ::core::option::Option<(_2, _7)>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct TrackInfo<_0, _1> { + pub name: ::std::string::String, + pub max_deciding: _1, + pub decision_deposit: _0, + pub prepare_period: _1, + pub decision_period: _1, + pub confirm_period: _1, + pub min_enactment_period: _1, + pub min_approval: runtime_types::pallet_referenda::types::Curve, + pub min_support: runtime_types::pallet_referenda::types::Curve, + } + } + } pub mod pallet_scheduler { use super::runtime_types; pub mod pallet { @@ -38843,10 +42880,6 @@ pub mod api { }, #[codec(index = 4)] #[doc = "Anonymously schedule a task after a delay."] - #[doc = ""] - #[doc = "# "] - #[doc = "Same as [`schedule`]."] - #[doc = "# "] schedule_after { after: ::core::primitive::u32, maybe_periodic: ::core::option::Option<( @@ -38858,10 +42891,6 @@ pub mod api { }, #[codec(index = 5)] #[doc = "Schedule a named task after a delay."] - #[doc = ""] - #[doc = "# "] - #[doc = "Same as [`schedule_named`](Self::schedule_named)."] - #[doc = "# "] schedule_named_after { id: [::core::primitive::u8; 32usize], after: ::core::primitive::u32, @@ -38996,14 +43025,9 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin of this function must be signed."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(1)`. Actual cost depends on the number of length of"] - #[doc = " `T::Keys::key_ids()` which is fixed."] - #[doc = "- DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`"] - #[doc = "- DbWrites: `origin account`, `NextKeys`"] - #[doc = "- DbReads per key id: `KeyOwner`"] - #[doc = "- DbWrites per key id: `KeyOwner`"] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- `O(1)`. Actual cost depends on the number of length of `T::Keys::key_ids()` which is"] + #[doc = " fixed."] set_keys { keys: runtime_types::polkadot_runtime::SessionKeys, proof: ::std::vec::Vec<::core::primitive::u8>, @@ -39018,13 +43042,9 @@ pub mod api { #[doc = "means being a controller account) or directly convertible into a validator ID (which"] #[doc = "usually means being a stash account)."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(1)` in number of key types. Actual cost depends on the number of length"] - #[doc = " of `T::Keys::key_ids()` which is fixed."] - #[doc = "- DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`"] - #[doc = "- DbWrites: `NextKeys`, `origin account`"] - #[doc = "- DbWrites per key id: `KeyOwner`"] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- `O(1)` in number of key types. Actual cost depends on the number of length of"] + #[doc = " `T::Keys::key_ids()` which is fixed."] purge_keys, } #[derive( @@ -39103,15 +43123,13 @@ pub mod api { #[doc = "The dispatch origin for this call must be _Signed_ by the stash account."] #[doc = ""] #[doc = "Emits `Bonded`."] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- Independent of the arguments. Moderate complexity."] #[doc = "- O(1)."] #[doc = "- Three extra DB entries."] #[doc = ""] #[doc = "NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned"] #[doc = "unless the `origin` falls below _existential deposit_ and gets removed as dust."] - #[doc = "------------------"] - #[doc = "# "] bond { controller: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, @@ -39133,10 +43151,9 @@ pub mod api { #[doc = ""] #[doc = "Emits `Bonded`."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- Independent of the arguments. Insignificant complexity."] #[doc = "- O(1)."] - #[doc = "# "] bond_extra { #[codec(compact)] max_additional: ::core::primitive::u128, @@ -39152,8 +43169,8 @@ pub mod api { #[doc = "the funds out of management ready for transfer."] #[doc = ""] #[doc = "No more than a limited number of unlocking chunks (see `MaxUnlockingChunks`)"] - #[doc = "can co-exists at the same time. In that case, [`Call::withdraw_unbonded`] need"] - #[doc = "to be called first to remove some of the chunks (if possible)."] + #[doc = "can co-exists at the same time. If there are no unlocking chunks slots available"] + #[doc = "[`Call::withdraw_unbonded`] is called to remove some of the chunks (if possible)."] #[doc = ""] #[doc = "If a user encounters the `InsufficientBond` error when calling this extrinsic,"] #[doc = "they should call `chill` first in order to free up their bonded funds."] @@ -39177,10 +43194,9 @@ pub mod api { #[doc = ""] #[doc = "See also [`Call::unbond`]."] #[doc = ""] - #[doc = "# "] - #[doc = "Complexity O(S) where S is the number of slashing spans to remove"] + #[doc = "## Complexity"] + #[doc = "O(S) where S is the number of slashing spans to remove"] #[doc = "NOTE: Weight annotation is the kill scenario, we refund otherwise."] - #[doc = "# "] withdraw_unbonded { num_slashing_spans: ::core::primitive::u32, }, @@ -39200,11 +43216,10 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- The transaction's complexity is proportional to the size of `targets` (N)"] #[doc = "which is capped at CompactAssignments::LIMIT (T::MaxNominations)."] #[doc = "- Both the reads and writes follow a similar pattern."] - #[doc = "# "] nominate { targets: ::std::vec::Vec< ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, @@ -39217,11 +43232,10 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- Independent of the arguments. Insignificant complexity."] #[doc = "- Contains one read."] #[doc = "- Writes are limited to the `origin` account key."] - #[doc = "# "] chill, #[codec(index = 7)] #[doc = "(Re-)set the payment target for a controller."] @@ -39230,16 +43244,12 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- O(1)"] #[doc = "- Independent of the arguments. Insignificant complexity."] #[doc = "- Contains a limited number of reads."] #[doc = "- Writes are limited to the `origin` account key."] #[doc = "---------"] - #[doc = "- Weight: O(1)"] - #[doc = "- DB Weight:"] - #[doc = " - Read: Ledger"] - #[doc = " - Write: Payee"] - #[doc = "# "] set_payee { payee: runtime_types::pallet_staking::RewardDestination< ::subxt::utils::AccountId32, @@ -39252,16 +43262,11 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_ by the stash, not the controller."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "O(1)"] #[doc = "- Independent of the arguments. Insignificant complexity."] #[doc = "- Contains a limited number of reads."] #[doc = "- Writes are limited to the `origin` account key."] - #[doc = "----------"] - #[doc = "Weight: O(1)"] - #[doc = "DB Weight:"] - #[doc = "- Read: Bonded, Ledger New Controller, Ledger Old Controller"] - #[doc = "- Write: Bonded, Ledger New Controller, Ledger Old Controller"] - #[doc = "# "] set_controller { controller: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, @@ -39271,10 +43276,8 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin must be Root."] #[doc = ""] - #[doc = "# "] - #[doc = "Weight: O(1)"] - #[doc = "Write: Validator Count"] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "O(1)"] set_validator_count { #[codec(compact)] new: ::core::primitive::u32, @@ -39285,9 +43288,8 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin must be Root."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "Same as [`Self::set_validator_count`]."] - #[doc = "# "] increase_validator_count { #[codec(compact)] additional: ::core::primitive::u32, @@ -39298,9 +43300,8 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin must be Root."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "Same as [`Self::set_validator_count`]."] - #[doc = "# "] scale_validator_count { factor: runtime_types::sp_arithmetic::per_things::Percent, }, @@ -39315,11 +43316,9 @@ pub mod api { #[doc = "Thus the election process may be ongoing when this is called. In this case the"] #[doc = "election will continue until the next era is triggered."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- No arguments."] #[doc = "- Weight: O(1)"] - #[doc = "- Write: ForceEra"] - #[doc = "# "] force_no_eras, #[codec(index = 13)] #[doc = "Force there to be a new era at the end of the next session. After this, it will be"] @@ -39333,11 +43332,9 @@ pub mod api { #[doc = "If this is called just before a new era is triggered, the election process may not"] #[doc = "have enough blocks to get a result."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- No arguments."] #[doc = "- Weight: O(1)"] - #[doc = "- Write ForceEra"] - #[doc = "# "] force_new_era, #[codec(index = 14)] #[doc = "Set the validators who cannot be slashed (if any)."] @@ -39368,7 +43365,7 @@ pub mod api { #[codec(index = 17)] #[doc = "Cancel enactment of a deferred slash."] #[doc = ""] - #[doc = "Can be called by the `T::SlashCancelOrigin`."] + #[doc = "Can be called by the `T::AdminOrigin`."] #[doc = ""] #[doc = "Parameters: era and indices of the slashes for that era to kill."] cancel_deferred_slash { @@ -39385,18 +43382,8 @@ pub mod api { #[doc = "The origin of this call must be _Signed_. Any account can call this function, even if"] #[doc = "it is not one of the stakers."] #[doc = ""] - #[doc = "# "] - #[doc = "- Time complexity: at most O(MaxNominatorRewardedPerValidator)."] - #[doc = "- Contains a limited number of reads and writes."] - #[doc = "-----------"] - #[doc = "N is the Number of payouts for the validator (including the validator)"] - #[doc = "Weight:"] - #[doc = "- Reward Destination Staked: O(N)"] - #[doc = "- Reward Destination Controller (Creating): O(N)"] - #[doc = ""] - #[doc = " NOTE: weights are assuming that payouts are made to alive stash account (Staked)."] - #[doc = " Paying even a dead controller is cheaper weight-wise. We don't do any refunds here."] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- At most O(MaxNominatorRewardedPerValidator)."] payout_stakers { validator_stash: ::subxt::utils::AccountId32, era: ::core::primitive::u32, @@ -39406,11 +43393,9 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin must be signed by the controller."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- Time complexity: O(L), where L is unlocking chunks"] #[doc = "- Bounded by `MaxUnlockingChunks`."] - #[doc = "- Storage changes: Can't increase storage, only decrease it."] - #[doc = "# "] rebond { #[codec(compact)] value: ::core::primitive::u128, @@ -39529,6 +43514,14 @@ pub mod api { force_apply_min_commission { validator_stash: ::subxt::utils::AccountId32, }, + #[codec(index = 25)] + #[doc = "Sets the minimum amount of commission that each validators must maintain."] + #[doc = ""] + #[doc = "This call has lower privilege requirements than `set_staking_config` and can be called"] + #[doc = "by the `T::AdminOrigin`. Root can always call this."] + set_min_commission { + new: runtime_types::sp_arithmetic::per_things::Perbill, + }, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -39667,21 +43660,29 @@ pub mod api { amount: ::core::primitive::u128, }, #[codec(index = 2)] - #[doc = "One staker (and potentially its nominators) has been slashed by the given amount."] + #[doc = "A staker (validator or nominator) has been slashed by the given amount."] Slashed { staker: ::subxt::utils::AccountId32, amount: ::core::primitive::u128, }, #[codec(index = 3)] + #[doc = "A slash for the given validator, for the given percentage of their stake, at the given"] + #[doc = "era as been reported."] + SlashReported { + validator: ::subxt::utils::AccountId32, + fraction: runtime_types::sp_arithmetic::per_things::Perbill, + slash_era: ::core::primitive::u32, + }, + #[codec(index = 4)] #[doc = "An old slashing report from a prior era was discarded because it could"] #[doc = "not be processed."] OldSlashingReportDiscarded { session_index: ::core::primitive::u32, }, - #[codec(index = 4)] + #[codec(index = 5)] #[doc = "A new set of stakers was elected."] StakersElected, - #[codec(index = 5)] + #[codec(index = 6)] #[doc = "An account has bonded this amount. \\[stash, amount\\]"] #[doc = ""] #[doc = "NOTE: This event is only emitted when funds are bonded via a dispatchable. Notably,"] @@ -39690,43 +43691,48 @@ pub mod api { stash: ::subxt::utils::AccountId32, amount: ::core::primitive::u128, }, - #[codec(index = 6)] + #[codec(index = 7)] #[doc = "An account has unbonded this amount."] Unbonded { stash: ::subxt::utils::AccountId32, amount: ::core::primitive::u128, }, - #[codec(index = 7)] + #[codec(index = 8)] #[doc = "An account has called `withdraw_unbonded` and removed unbonding chunks worth `Balance`"] #[doc = "from the unlocking queue."] Withdrawn { stash: ::subxt::utils::AccountId32, amount: ::core::primitive::u128, }, - #[codec(index = 8)] + #[codec(index = 9)] #[doc = "A nominator has been kicked from a validator."] Kicked { nominator: ::subxt::utils::AccountId32, stash: ::subxt::utils::AccountId32, }, - #[codec(index = 9)] + #[codec(index = 10)] #[doc = "The election failed. No new era is planned."] StakingElectionFailed, - #[codec(index = 10)] + #[codec(index = 11)] #[doc = "An account has stopped participating as either a validator or nominator."] Chilled { stash: ::subxt::utils::AccountId32 }, - #[codec(index = 11)] + #[codec(index = 12)] #[doc = "The stakers' rewards are getting paid."] PayoutStarted { era_index: ::core::primitive::u32, validator_stash: ::subxt::utils::AccountId32, }, - #[codec(index = 12)] + #[codec(index = 13)] #[doc = "A validator has set their preferences."] ValidatorPrefsSet { stash: ::subxt::utils::AccountId32, prefs: runtime_types::pallet_staking::ValidatorPrefs, }, + #[codec(index = 14)] + #[doc = "A new force era mode was set."] + ForceEra { + mode: runtime_types::pallet_staking::Forcing, + }, } } } @@ -39855,7 +43861,7 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Nominations { - pub targets: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + pub targets: runtime_types::bounded_collections::bounded_vec::BoundedVec< ::subxt::utils::AccountId32, >, pub submitted_in: ::core::primitive::u32, @@ -39871,42 +43877,6 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Releases { - #[codec(index = 0)] - V1_0_0Ancient, - #[codec(index = 1)] - V2_0_0, - #[codec(index = 2)] - V3_0_0, - #[codec(index = 3)] - V4_0_0, - #[codec(index = 4)] - V5_0_0, - #[codec(index = 5)] - V6_0_0, - #[codec(index = 6)] - V7_0_0, - #[codec(index = 7)] - V8_0_0, - #[codec(index = 8)] - V9_0_0, - #[codec(index = 9)] - V10_0_0, - #[codec(index = 10)] - V11_0_0, - #[codec(index = 11)] - V12_0_0, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum RewardDestination<_0> { #[codec(index = 0)] Staked, @@ -39935,10 +43905,10 @@ pub mod api { pub total: ::core::primitive::u128, #[codec(compact)] pub active: ::core::primitive::u128, - pub unlocking: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + pub unlocking: runtime_types::bounded_collections::bounded_vec::BoundedVec< runtime_types::pallet_staking::UnlockChunk<::core::primitive::u128>, >, - pub claimed_rewards: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + pub claimed_rewards: runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u32, >, } @@ -40018,12 +43988,11 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin for this call must be `Inherent`."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)"] #[doc = "- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in"] #[doc = " `on_finalize`)"] #[doc = "- 1 event handler `on_timestamp_set`. Must be `O(1)`."] - #[doc = "# "] set { #[codec(compact)] now: ::core::primitive::u64, @@ -40061,12 +44030,9 @@ pub mod api { #[doc = ""] #[doc = "Emits `NewTip` if successful."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(R)` where `R` length of `reason`."] + #[doc = "## Complexity"] + #[doc = "- `O(R)` where `R` length of `reason`."] #[doc = " - encoding and hashing of 'reason'"] - #[doc = "- DbReads: `Reasons`, `Tips`"] - #[doc = "- DbWrites: `Reasons`, `Tips`"] - #[doc = "# "] report_awesome { reason: ::std::vec::Vec<::core::primitive::u8>, who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, @@ -40085,12 +44051,9 @@ pub mod api { #[doc = ""] #[doc = "Emits `TipRetracted` if successful."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(1)`"] + #[doc = "## Complexity"] + #[doc = "- `O(1)`"] #[doc = " - Depends on the length of `T::Hash` which is fixed."] - #[doc = "- DbReads: `Tips`, `origin account`"] - #[doc = "- DbWrites: `Reasons`, `Tips`, `origin account`"] - #[doc = "# "] retract_tip { hash: ::subxt::utils::H256 }, #[codec(index = 2)] #[doc = "Give a tip for something new; no finder's fee will be taken."] @@ -40106,15 +44069,12 @@ pub mod api { #[doc = ""] #[doc = "Emits `NewTip` if successful."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(R + T)` where `R` length of `reason`, `T` is the number of tippers."] + #[doc = "## Complexity"] + #[doc = "- `O(R + T)` where `R` length of `reason`, `T` is the number of tippers."] #[doc = " - `O(T)`: decoding `Tipper` vec of length `T`. `T` is charged as upper bound given by"] #[doc = " `ContainsLengthBound`. The actual cost depends on the implementation of"] #[doc = " `T::Tippers`."] #[doc = " - `O(R)`: hashing and encoding of reason of length `R`"] - #[doc = "- DbReads: `Tippers`, `Reasons`"] - #[doc = "- DbWrites: `Reasons`, `Tips`"] - #[doc = "# "] tip_new { reason: ::std::vec::Vec<::core::primitive::u8>, who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, @@ -40136,16 +44096,13 @@ pub mod api { #[doc = "Emits `TipClosing` if the threshold of tippers has been reached and the countdown period"] #[doc = "has started."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length"] - #[doc = " `T`, insert tip and check closing, `T` is charged as upper bound given by"] - #[doc = " `ContainsLengthBound`. The actual cost depends on the implementation of `T::Tippers`."] + #[doc = "## Complexity"] + #[doc = "- `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length `T`, insert"] + #[doc = " tip and check closing, `T` is charged as upper bound given by `ContainsLengthBound`."] + #[doc = " The actual cost depends on the implementation of `T::Tippers`."] #[doc = ""] #[doc = " Actually weight could be lower as it depends on how many tips are in `OpenTip` but it"] #[doc = " is weighted as if almost full i.e of length `T-1`."] - #[doc = "- DbReads: `Tippers`, `Tips`"] - #[doc = "- DbWrites: `Tips`"] - #[doc = "# "] tip { hash: ::subxt::utils::H256, #[codec(compact)] @@ -40161,13 +44118,10 @@ pub mod api { #[doc = "- `hash`: The identity of the open tip for which a tip value is declared. This is formed"] #[doc = " as the hash of the tuple of the original tip `reason` and the beneficiary account ID."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length"] - #[doc = " `T`. `T` is charged as upper bound given by `ContainsLengthBound`. The actual cost"] - #[doc = " depends on the implementation of `T::Tippers`."] - #[doc = "- DbReads: `Tips`, `Tippers`, `tip finder`"] - #[doc = "- DbWrites: `Reasons`, `Tips`, `Tippers`, `tip finder`"] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- : `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length `T`. `T`"] + #[doc = " is charged as upper bound given by `ContainsLengthBound`. The actual cost depends on"] + #[doc = " the implementation of `T::Tippers`."] close_tip { hash: ::subxt::utils::H256 }, #[codec(index = 5)] #[doc = "Remove and slash an already-open tip."] @@ -40178,10 +44132,8 @@ pub mod api { #[doc = ""] #[doc = "Emits `TipSlashed` if successful."] #[doc = ""] - #[doc = "# "] - #[doc = " `T` is charged as upper bound given by `ContainsLengthBound`."] - #[doc = " The actual cost depends on the implementation of `T::Tippers`."] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- O(1)."] slash_tip { hash: ::subxt::utils::H256 }, } #[derive( @@ -40347,11 +44299,8 @@ pub mod api { #[doc = "is reserved and slashed if the proposal is rejected. It is returned once the"] #[doc = "proposal is awarded."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(1)"] - #[doc = "- DbReads: `ProposalCount`, `origin account`"] - #[doc = "- DbWrites: `ProposalCount`, `Proposals`, `origin account`"] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- O(1)"] propose_spend { #[codec(compact)] value: ::core::primitive::u128, @@ -40362,11 +44311,8 @@ pub mod api { #[doc = ""] #[doc = "May only be called from `T::RejectOrigin`."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(1)"] - #[doc = "- DbReads: `Proposals`, `rejected proposer account`"] - #[doc = "- DbWrites: `Proposals`, `rejected proposer account`"] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- O(1)"] reject_proposal { #[codec(compact)] proposal_id: ::core::primitive::u32, @@ -40377,11 +44323,8 @@ pub mod api { #[doc = ""] #[doc = "May only be called from `T::ApproveOrigin`."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(1)."] - #[doc = "- DbReads: `Proposals`, `Approvals`"] - #[doc = "- DbWrite: `Approvals`"] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = " - O(1)."] approve_proposal { #[codec(compact)] proposal_id: ::core::primitive::u32, @@ -40407,10 +44350,8 @@ pub mod api { #[doc = "May only be called from `T::RejectOrigin`."] #[doc = "- `proposal_id`: The index of a proposal"] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(A) where `A` is the number of approvals"] - #[doc = "- Db reads and writes: `Approvals`"] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- O(A) where `A` is the number of approvals"] #[doc = ""] #[doc = "Errors:"] #[doc = "- `ProposalNotApproved`: The `proposal_id` supplied was not found in the approval queue,"] @@ -40505,6 +44446,12 @@ pub mod api { amount: ::core::primitive::u128, beneficiary: ::subxt::utils::AccountId32, }, + #[codec(index = 8)] + #[doc = "The inactive funds of the pallet have been updated."] + UpdatedInactive { + reactivated: ::core::primitive::u128, + deactivated: ::core::primitive::u128, + }, } } #[derive( @@ -40551,9 +44498,8 @@ pub mod api { #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"] #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- O(C) where C is the number of calls to be batched."] #[doc = ""] #[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"] #[doc = "event is deposited. If a call failed and the batch was interrupted, then the"] @@ -40593,9 +44539,8 @@ pub mod api { #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"] #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- O(C) where C is the number of calls to be batched."] batch_all { calls: ::std::vec::Vec, }, @@ -40604,12 +44549,8 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin for this call must be _Root_."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- O(1)."] - #[doc = "- Limited storage reads."] - #[doc = "- One DB write (event)."] - #[doc = "- Weight of derivative `call` execution + T::WeightInfo::dispatch_as()."] - #[doc = "# "] dispatch_as { as_origin: ::std::boxed::Box, call: ::std::boxed::Box, @@ -40626,12 +44567,22 @@ pub mod api { #[doc = "If origin is root then the calls are dispatch without checking origin filter. (This"] #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] - #[doc = "# "] + #[doc = "## Complexity"] + #[doc = "- O(C) where C is the number of calls to be batched."] force_batch { calls: ::std::vec::Vec, }, + #[codec(index = 5)] + #[doc = "Dispatch a function call with a specified weight."] + #[doc = ""] + #[doc = "This function does not check the weight of the call, and instead allows the"] + #[doc = "Root origin to specify the weight of the call."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Root_."] + with_weight { + call: ::std::boxed::Box, + weight: runtime_types::sp_weights::weight_v2::Weight, + }, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -40715,12 +44666,8 @@ pub mod api { #[doc = ""] #[doc = "Emits either `VestingCompleted` or `VestingUpdated`."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(1)`."] - #[doc = "- DbWeight: 2 Reads, 2 Writes"] - #[doc = " - Reads: Vesting Storage, Balances Locks, [Sender Account]"] - #[doc = " - Writes: Vesting Storage, Balances Locks, [Sender Account]"] - #[doc = "# "] vest, #[codec(index = 1)] #[doc = "Unlock any vested funds of a `target` account."] @@ -40732,12 +44679,8 @@ pub mod api { #[doc = ""] #[doc = "Emits either `VestingCompleted` or `VestingUpdated`."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(1)`."] - #[doc = "- DbWeight: 3 Reads, 3 Writes"] - #[doc = " - Reads: Vesting Storage, Balances Locks, Target Account"] - #[doc = " - Writes: Vesting Storage, Balances Locks, Target Account"] - #[doc = "# "] vest_other { target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, }, @@ -40753,12 +44696,8 @@ pub mod api { #[doc = ""] #[doc = "NOTE: This will unlock all schedules through the current block."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(1)`."] - #[doc = "- DbWeight: 3 Reads, 3 Writes"] - #[doc = " - Reads: Vesting Storage, Balances Locks, Target Account, [Sender Account]"] - #[doc = " - Writes: Vesting Storage, Balances Locks, Target Account, [Sender Account]"] - #[doc = "# "] vested_transfer { target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo< @@ -40779,12 +44718,8 @@ pub mod api { #[doc = ""] #[doc = "NOTE: This will unlock all schedules through the current block."] #[doc = ""] - #[doc = "# "] + #[doc = "## Complexity"] #[doc = "- `O(1)`."] - #[doc = "- DbWeight: 4 Reads, 4 Writes"] - #[doc = " - Reads: Vesting Storage, Balances Locks, Target Account, Source Account"] - #[doc = " - Writes: Vesting Storage, Balances Locks, Target Account, Source Account"] - #[doc = "# "] force_vested_transfer { source: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, @@ -40910,6 +44845,94 @@ pub mod api { V1, } } + pub mod pallet_whitelist { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + whitelist_call { call_hash: ::subxt::utils::H256 }, + #[codec(index = 1)] + remove_whitelisted_call { call_hash: ::subxt::utils::H256 }, + #[codec(index = 2)] + dispatch_whitelisted_call { + call_hash: ::subxt::utils::H256, + call_encoded_len: ::core::primitive::u32, + call_weight_witness: runtime_types::sp_weights::weight_v2::Weight, + }, + #[codec(index = 3)] + dispatch_whitelisted_call_with_preimage { + call: ::std::boxed::Box, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "The preimage of the call hash could not be loaded."] + UnavailablePreImage, + #[codec(index = 1)] + #[doc = "The call could not be decoded."] + UndecodableCall, + #[codec(index = 2)] + #[doc = "The weight of the decoded call was higher than the witness."] + InvalidCallWeightWitness, + #[codec(index = 3)] + #[doc = "The call was not whitelisted."] + CallIsNotWhitelisted, + #[codec(index = 4)] + #[doc = "The call was already whitelisted; No-Op."] + CallAlreadyWhitelisted, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + CallWhitelisted { call_hash: ::subxt::utils::H256 }, + #[codec(index = 1)] + WhitelistedCallRemoved { call_hash: ::subxt::utils::H256 }, + #[codec(index = 2)] + WhitelistedCallDispatched { + call_hash: ::subxt::utils::H256, + result: ::core::result::Result< + runtime_types::frame_support::dispatch::PostDispatchInfo, + runtime_types::sp_runtime::DispatchErrorWithPostInfo< + runtime_types::frame_support::dispatch::PostDispatchInfo, + >, + >, + }, + } + } + } pub mod pallet_xcm { use super::runtime_types; pub mod pallet { @@ -40990,7 +45013,7 @@ pub mod api { #[doc = "to completion; only that *some* of it was executed."] execute { message: ::std::boxed::Box, - max_weight: ::core::primitive::u64, + max_weight: runtime_types::sp_weights::weight_v2::Weight, }, #[codec(index = 4)] #[doc = "Extoll that a particular destination can be communicated with through a particular"] @@ -41001,7 +45024,7 @@ pub mod api { #[doc = "- `xcm_version`: The latest version of XCM that `location` supports."] force_xcm_version { location: - ::std::boxed::Box, + ::std::boxed::Box, xcm_version: ::core::primitive::u32, }, #[codec(index = 5)] @@ -41055,7 +45078,7 @@ pub mod api { beneficiary: ::std::boxed::Box, assets: ::std::boxed::Box, fee_asset_item: ::core::primitive::u32, - weight_limit: runtime_types::xcm::v2::WeightLimit, + weight_limit: runtime_types::xcm::v3::WeightLimit, }, #[codec(index = 9)] #[doc = "Teleport some assets from the local chain to some destination chain."] @@ -41080,7 +45103,7 @@ pub mod api { beneficiary: ::std::boxed::Box, assets: ::std::boxed::Box, fee_asset_item: ::core::primitive::u32, - weight_limit: runtime_types::xcm::v2::WeightLimit, + weight_limit: runtime_types::xcm::v3::WeightLimit, }, } #[derive( @@ -41137,6 +45160,27 @@ pub mod api { #[codec(index = 12)] #[doc = "The location is invalid since it already has a subscription from us."] AlreadySubscribed, + #[codec(index = 13)] + #[doc = "Invalid asset for the operation."] + InvalidAsset, + #[codec(index = 14)] + #[doc = "The owner does not own (all) of the asset that they wish to do the operation on."] + LowBalance, + #[codec(index = 15)] + #[doc = "The asset owner has too many locks on the asset."] + TooManyLocks, + #[codec(index = 16)] + #[doc = "The given account is not an identifiable sovereign account for any location."] + AccountNotSovereign, + #[codec(index = 17)] + #[doc = "The operation required fees to be paid which the initiator could not meet."] + FeesNotMet, + #[codec(index = 18)] + #[doc = "A remote lock with the corresponding data could not be found."] + LockNotFound, + #[codec(index = 19)] + #[doc = "The unlock operation cannot succeed because there are still users of the lock."] + InUse, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -41154,15 +45198,15 @@ pub mod api { #[doc = "Execution of an XCM message was attempted."] #[doc = ""] #[doc = "\\[ outcome \\]"] - Attempted(runtime_types::xcm::v2::traits::Outcome), + Attempted(runtime_types::xcm::v3::traits::Outcome), #[codec(index = 1)] #[doc = "A XCM message was sent."] #[doc = ""] #[doc = "\\[ origin, destination, message \\]"] Sent( - runtime_types::xcm::v1::multilocation::MultiLocation, - runtime_types::xcm::v1::multilocation::MultiLocation, - runtime_types::xcm::v2::Xcm, + runtime_types::xcm::v3::multilocation::MultiLocation, + runtime_types::xcm::v3::multilocation::MultiLocation, + runtime_types::xcm::v3::Xcm, ), #[codec(index = 2)] #[doc = "Query response received which does not match a registered query. This may be because a"] @@ -41171,7 +45215,7 @@ pub mod api { #[doc = ""] #[doc = "\\[ origin location, id \\]"] UnexpectedResponse( - runtime_types::xcm::v1::multilocation::MultiLocation, + runtime_types::xcm::v3::multilocation::MultiLocation, ::core::primitive::u64, ), #[codec(index = 3)] @@ -41179,7 +45223,7 @@ pub mod api { #[doc = "no registered notification call."] #[doc = ""] #[doc = "\\[ id, response \\]"] - ResponseReady(::core::primitive::u64, runtime_types::xcm::v2::Response), + ResponseReady(::core::primitive::u64, runtime_types::xcm::v3::Response), #[codec(index = 4)] #[doc = "Query response has been received and query is removed. The registered notification has"] #[doc = "been dispatched and executed successfully."] @@ -41231,10 +45275,10 @@ pub mod api { #[doc = ""] #[doc = "\\[ origin location, id, expected location \\]"] InvalidResponder( - runtime_types::xcm::v1::multilocation::MultiLocation, + runtime_types::xcm::v3::multilocation::MultiLocation, ::core::primitive::u64, ::core::option::Option< - runtime_types::xcm::v1::multilocation::MultiLocation, + runtime_types::xcm::v3::multilocation::MultiLocation, >, ), #[codec(index = 9)] @@ -41248,7 +45292,7 @@ pub mod api { #[doc = ""] #[doc = "\\[ origin location, id \\]"] InvalidResponderVersion( - runtime_types::xcm::v1::multilocation::MultiLocation, + runtime_types::xcm::v3::multilocation::MultiLocation, ::core::primitive::u64, ), #[codec(index = 10)] @@ -41262,16 +45306,19 @@ pub mod api { #[doc = "\\[ hash, origin, assets \\]"] AssetsTrapped( ::subxt::utils::H256, - runtime_types::xcm::v1::multilocation::MultiLocation, + runtime_types::xcm::v3::multilocation::MultiLocation, runtime_types::xcm::VersionedMultiAssets, ), #[codec(index = 12)] #[doc = "An XCM version change notification message has been attempted to be sent."] #[doc = ""] - #[doc = "\\[ destination, result \\]"] + #[doc = "The cost of sending it (borne by the chain) is included."] + #[doc = ""] + #[doc = "\\[ destination, result, cost \\]"] VersionChangeNotified( - runtime_types::xcm::v1::multilocation::MultiLocation, + runtime_types::xcm::v3::multilocation::MultiLocation, ::core::primitive::u32, + runtime_types::xcm::v3::multiasset::MultiAssets, ), #[codec(index = 13)] #[doc = "The supported version of a location has been changed. This might be through an"] @@ -41279,7 +45326,7 @@ pub mod api { #[doc = ""] #[doc = "\\[ location, XCM version \\]"] SupportedVersionChanged( - runtime_types::xcm::v1::multilocation::MultiLocation, + runtime_types::xcm::v3::multilocation::MultiLocation, ::core::primitive::u32, ), #[codec(index = 14)] @@ -41288,9 +45335,9 @@ pub mod api { #[doc = ""] #[doc = "\\[ location, query ID, error \\]"] NotifyTargetSendFail( - runtime_types::xcm::v1::multilocation::MultiLocation, + runtime_types::xcm::v3::multilocation::MultiLocation, ::core::primitive::u64, - runtime_types::xcm::v2::traits::Error, + runtime_types::xcm::v3::traits::Error, ), #[codec(index = 15)] #[doc = "A given location which had a version change subscription was dropped owing to an error"] @@ -41302,12 +45349,73 @@ pub mod api { ::core::primitive::u64, ), #[codec(index = 16)] + #[doc = "Expected query response has been received but the expected querier location placed in"] + #[doc = "storage by this runtime previously cannot be decoded. The query remains registered."] + #[doc = ""] + #[doc = "This is unexpected (since a location placed in storage in a previously executing"] + #[doc = "runtime should be readable prior to query timeout) and dangerous since the possibly"] + #[doc = "valid response will be dropped. Manual governance intervention is probably going to be"] + #[doc = "needed."] + #[doc = ""] + #[doc = "\\[ origin location, id \\]"] + InvalidQuerierVersion( + runtime_types::xcm::v3::multilocation::MultiLocation, + ::core::primitive::u64, + ), + #[codec(index = 17)] + #[doc = "Expected query response has been received but the querier location of the response does"] + #[doc = "not match the expected. The query remains registered for a later, valid, response to"] + #[doc = "be received and acted upon."] + #[doc = ""] + #[doc = "\\[ origin location, id, expected querier, maybe actual querier \\]"] + InvalidQuerier( + runtime_types::xcm::v3::multilocation::MultiLocation, + ::core::primitive::u64, + runtime_types::xcm::v3::multilocation::MultiLocation, + ::core::option::Option< + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + ), + #[codec(index = 18)] + #[doc = "A remote has requested XCM version change notification from us and we have honored it."] + #[doc = "A version information message is sent to them and its cost is included."] + #[doc = ""] + #[doc = "\\[ destination location, cost \\]"] + VersionNotifyStarted( + runtime_types::xcm::v3::multilocation::MultiLocation, + runtime_types::xcm::v3::multiasset::MultiAssets, + ), + #[codec(index = 19)] + #[doc = "We have requested that a remote chain sends us XCM version change notifications."] + #[doc = ""] + #[doc = "\\[ destination location, cost \\]"] + VersionNotifyRequested( + runtime_types::xcm::v3::multilocation::MultiLocation, + runtime_types::xcm::v3::multiasset::MultiAssets, + ), + #[codec(index = 20)] + #[doc = "We have requested that a remote chain stops sending us XCM version change notifications."] + #[doc = ""] + #[doc = "\\[ destination location, cost \\]"] + VersionNotifyUnrequested( + runtime_types::xcm::v3::multilocation::MultiLocation, + runtime_types::xcm::v3::multiasset::MultiAssets, + ), + #[codec(index = 21)] + #[doc = "Fees were paid from a location for an operation (often for using `SendXcm`)."] + #[doc = ""] + #[doc = "\\[ paying location, fees \\]"] + FeesPaid( + runtime_types::xcm::v3::multilocation::MultiLocation, + runtime_types::xcm::v3::multiasset::MultiAssets, + ), + #[codec(index = 22)] #[doc = "Some assets have been claimed from an asset trap"] #[doc = ""] #[doc = "\\[ hash, origin, assets \\]"] AssetsClaimed( ::subxt::utils::H256, - runtime_types::xcm::v1::multilocation::MultiLocation, + runtime_types::xcm::v3::multilocation::MultiLocation, runtime_types::xcm::VersionedMultiAssets, ), } @@ -41323,9 +45431,9 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Origin { #[codec(index = 0)] - Xcm(runtime_types::xcm::v1::multilocation::MultiLocation), + Xcm(runtime_types::xcm::v3::multilocation::MultiLocation), #[codec(index = 1)] - Response(runtime_types::xcm::v1::multilocation::MultiLocation), + Response(runtime_types::xcm::v3::multilocation::MultiLocation), } #[derive( :: subxt :: ext :: codec :: Decode, @@ -41341,6 +45449,8 @@ pub mod api { #[codec(index = 0)] Pending { responder: runtime_types::xcm::VersionedMultiLocation, + maybe_match_querier: + ::core::option::Option, maybe_notify: ::core::option::Option<(::core::primitive::u8, ::core::primitive::u8)>, timeout: _0, @@ -41366,6 +45476,22 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoteLockedFungibleRecord { + pub amount: ::core::primitive::u128, + pub owner: runtime_types::xcm::VersionedMultiLocation, + pub locker: runtime_types::xcm::VersionedMultiLocation, + pub users: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum VersionMigrationStage { #[codec(index = 0)] MigrateSupportedVersion, @@ -41503,7 +45629,7 @@ pub mod api { } pub mod polkadot_primitives { use super::runtime_types; - pub mod v2 { + pub mod v4 { use super::runtime_types; pub mod assignment_app { use super::runtime_types; @@ -41544,6 +45670,56 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Signature(pub runtime_types::sp_core::sr25519::Signature); } + pub mod executor_params { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum ExecutorParam { + #[codec(index = 1)] + MaxMemoryPages(::core::primitive::u32), + #[codec(index = 2)] + StackLogicalMax(::core::primitive::u32), + #[codec(index = 3)] + StackNativeMax(::core::primitive::u32), + #[codec(index = 4)] + PrecheckingMaxMemory(::core::primitive::u64), + #[codec(index = 5)] + PvfPrepTimeout( + runtime_types::polkadot_primitives::v4::PvfPrepTimeoutKind, + ::core::primitive::u64, + ), + #[codec(index = 6)] + PvfExecTimeout( + runtime_types::polkadot_primitives::v4::PvfExecTimeoutKind, + ::core::primitive::u64, + ), + #[codec(index = 7)] + WasmExtBulkMemory, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ExecutorParams( + pub ::std::vec::Vec< + runtime_types::polkadot_primitives::v4::executor_params::ExecutorParam, + >, + ); + } pub mod signed { use super::runtime_types; #[derive( @@ -41558,9 +45734,9 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct UncheckedSigned<_0, _1> { pub payload: _0, - pub validator_index: runtime_types::polkadot_primitives::v2::ValidatorIndex, + pub validator_index: runtime_types::polkadot_primitives::v4::ValidatorIndex, pub signature: - runtime_types::polkadot_primitives::v2::validator_app::Signature, + runtime_types::polkadot_primitives::v4::validator_app::Signature, #[codec(skip)] pub __subxt_unused_type_params: ::core::marker::PhantomData<_1>, } @@ -41618,9 +45794,9 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct BackedCandidate<_0> { pub candidate: - runtime_types::polkadot_primitives::v2::CommittedCandidateReceipt<_0>, + runtime_types::polkadot_primitives::v4::CommittedCandidateReceipt<_0>, pub validity_votes: ::std::vec::Vec< - runtime_types::polkadot_primitives::v2::ValidityAttestation, + runtime_types::polkadot_primitives::v4::ValidityAttestation, >, pub validator_indices: ::subxt::utils::bits::DecodedBits< ::core::primitive::u8, @@ -41638,12 +45814,16 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CandidateCommitments<_0> { - pub upward_messages: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, - pub horizontal_messages: ::std::vec::Vec< - runtime_types::polkadot_core_primitives::OutboundHrmpMessage< - runtime_types::polkadot_parachain::primitives::Id, + pub upward_messages: + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::std::vec::Vec<::core::primitive::u8>, + >, + pub horizontal_messages: + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::polkadot_core_primitives::OutboundHrmpMessage< + runtime_types::polkadot_parachain::primitives::Id, + >, >, - >, pub new_validation_code: ::core::option::Option< runtime_types::polkadot_parachain::primitives::ValidationCode, >, @@ -41664,11 +45844,11 @@ pub mod api { pub struct CandidateDescriptor<_0> { pub para_id: runtime_types::polkadot_parachain::primitives::Id, pub relay_parent: _0, - pub collator: runtime_types::polkadot_primitives::v2::collator_app::Public, + pub collator: runtime_types::polkadot_primitives::v4::collator_app::Public, pub persisted_validation_data_hash: _0, pub pov_hash: _0, pub erasure_root: _0, - pub signature: runtime_types::polkadot_primitives::v2::collator_app::Signature, + pub signature: runtime_types::polkadot_primitives::v4::collator_app::Signature, pub para_head: _0, pub validation_code_hash: runtime_types::polkadot_parachain::primitives::ValidationCodeHash, @@ -41684,7 +45864,7 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CandidateReceipt<_0> { - pub descriptor: runtime_types::polkadot_primitives::v2::CandidateDescriptor<_0>, + pub descriptor: runtime_types::polkadot_primitives::v4::CandidateDescriptor<_0>, pub commitments_hash: _0, } #[derive( @@ -41698,8 +45878,8 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CommittedCandidateReceipt<_0> { - pub descriptor: runtime_types::polkadot_primitives::v2::CandidateDescriptor<_0>, - pub commitments: runtime_types::polkadot_primitives::v2::CandidateCommitments< + pub descriptor: runtime_types::polkadot_primitives::v4::CandidateDescriptor<_0>, + pub commitments: runtime_types::polkadot_primitives::v4::CandidateCommitments< ::core::primitive::u32, >, } @@ -41727,7 +45907,7 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum CoreOccupied { #[codec(index = 0)] - Parathread(runtime_types::polkadot_primitives::v2::ParathreadEntry), + Parathread(runtime_types::polkadot_primitives::v4::ParathreadEntry), #[codec(index = 1)] Parachain, } @@ -41765,9 +45945,9 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum DisputeStatement { #[codec(index = 0)] - Valid(runtime_types::polkadot_primitives::v2::ValidDisputeStatementKind), + Valid(runtime_types::polkadot_primitives::v4::ValidDisputeStatementKind), #[codec(index = 1)] - Invalid(runtime_types::polkadot_primitives::v2::InvalidDisputeStatementKind), + Invalid(runtime_types::polkadot_primitives::v4::InvalidDisputeStatementKind), } #[derive( :: subxt :: ext :: codec :: Decode, @@ -41783,9 +45963,9 @@ pub mod api { pub candidate_hash: runtime_types::polkadot_core_primitives::CandidateHash, pub session: ::core::primitive::u32, pub statements: ::std::vec::Vec<( - runtime_types::polkadot_primitives::v2::DisputeStatement, - runtime_types::polkadot_primitives::v2::ValidatorIndex, - runtime_types::polkadot_primitives::v2::validator_app::Signature, + runtime_types::polkadot_primitives::v4::DisputeStatement, + runtime_types::polkadot_primitives::v4::ValidatorIndex, + runtime_types::polkadot_primitives::v4::validator_app::Signature, )>, } #[derive( @@ -41826,18 +46006,18 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct InherentData<_0> { pub bitfields: ::std::vec::Vec< - runtime_types::polkadot_primitives::v2::signed::UncheckedSigned< - runtime_types::polkadot_primitives::v2::AvailabilityBitfield, - runtime_types::polkadot_primitives::v2::AvailabilityBitfield, + runtime_types::polkadot_primitives::v4::signed::UncheckedSigned< + runtime_types::polkadot_primitives::v4::AvailabilityBitfield, + runtime_types::polkadot_primitives::v4::AvailabilityBitfield, >, >, pub backed_candidates: ::std::vec::Vec< - runtime_types::polkadot_primitives::v2::BackedCandidate< + runtime_types::polkadot_primitives::v4::BackedCandidate< ::subxt::utils::H256, >, >, pub disputes: ::std::vec::Vec< - runtime_types::polkadot_primitives::v2::DisputeStatementSet, + runtime_types::polkadot_primitives::v4::DisputeStatementSet, >, pub parent_header: _0, } @@ -41867,7 +46047,7 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ParathreadClaim( pub runtime_types::polkadot_parachain::primitives::Id, - pub runtime_types::polkadot_primitives::v2::collator_app::Public, + pub runtime_types::polkadot_primitives::v4::collator_app::Public, ); #[derive( :: subxt :: ext :: codec :: Decode, @@ -41880,7 +46060,7 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ParathreadEntry { - pub claim: runtime_types::polkadot_primitives::v2::ParathreadClaim, + pub claim: runtime_types::polkadot_primitives::v4::ParathreadClaim, pub retries: ::core::primitive::u32, } #[derive( @@ -41897,7 +46077,39 @@ pub mod api { pub accept: ::core::primitive::bool, pub subject: runtime_types::polkadot_parachain::primitives::ValidationCodeHash, pub session_index: ::core::primitive::u32, - pub validator_index: runtime_types::polkadot_primitives::v2::ValidatorIndex, + pub validator_index: runtime_types::polkadot_primitives::v4::ValidatorIndex, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum PvfExecTimeoutKind { + #[codec(index = 0)] + Backing, + #[codec(index = 1)] + Approval, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum PvfPrepTimeoutKind { + #[codec(index = 0)] + Precheck, + #[codec(index = 1)] + Lenient, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -41912,14 +46124,14 @@ pub mod api { pub struct ScrapedOnChainVotes<_0> { pub session: ::core::primitive::u32, pub backing_validators_per_candidate: ::std::vec::Vec<( - runtime_types::polkadot_primitives::v2::CandidateReceipt<_0>, + runtime_types::polkadot_primitives::v4::CandidateReceipt<_0>, ::std::vec::Vec<( - runtime_types::polkadot_primitives::v2::ValidatorIndex, - runtime_types::polkadot_primitives::v2::ValidityAttestation, + runtime_types::polkadot_primitives::v4::ValidatorIndex, + runtime_types::polkadot_primitives::v4::ValidityAttestation, )>, )>, pub disputes: ::std::vec::Vec< - runtime_types::polkadot_primitives::v2::DisputeStatementSet, + runtime_types::polkadot_primitives::v4::DisputeStatementSet, >, } #[derive( @@ -41934,21 +46146,21 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SessionInfo { pub active_validator_indices: - ::std::vec::Vec, + ::std::vec::Vec, pub random_seed: [::core::primitive::u8; 32usize], pub dispute_period: ::core::primitive::u32, - pub validators: runtime_types::polkadot_primitives::v2::IndexedVec< - runtime_types::polkadot_primitives::v2::ValidatorIndex, - runtime_types::polkadot_primitives::v2::validator_app::Public, + pub validators: runtime_types::polkadot_primitives::v4::IndexedVec< + runtime_types::polkadot_primitives::v4::ValidatorIndex, + runtime_types::polkadot_primitives::v4::validator_app::Public, >, pub discovery_keys: ::std::vec::Vec, pub assignment_keys: ::std::vec::Vec< - runtime_types::polkadot_primitives::v2::assignment_app::Public, + runtime_types::polkadot_primitives::v4::assignment_app::Public, >, - pub validator_groups: runtime_types::polkadot_primitives::v2::IndexedVec< - runtime_types::polkadot_primitives::v2::GroupIndex, - ::std::vec::Vec, + pub validator_groups: runtime_types::polkadot_primitives::v4::IndexedVec< + runtime_types::polkadot_primitives::v4::GroupIndex, + ::std::vec::Vec, >, pub n_cores: ::core::primitive::u32, pub zeroth_delay_tranche_width: ::core::primitive::u32, @@ -42031,14 +46243,80 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum ValidityAttestation { #[codec(index = 1)] - Implicit(runtime_types::polkadot_primitives::v2::validator_app::Signature), + Implicit(runtime_types::polkadot_primitives::v4::validator_app::Signature), #[codec(index = 2)] - Explicit(runtime_types::polkadot_primitives::v2::validator_app::Signature), + Explicit(runtime_types::polkadot_primitives::v4::validator_app::Signature), + } + } + pub mod vstaging { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AsyncBackingParams { + pub max_candidate_depth: ::core::primitive::u32, + pub allowed_ancestry_len: ::core::primitive::u32, } } } pub mod polkadot_runtime { use super::runtime_types; + pub mod governance { + use super::runtime_types; + pub mod origins { + use super::runtime_types; + pub mod pallet_custom_origins { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Origin { + #[codec(index = 0)] + StakingAdmin, + #[codec(index = 1)] + Treasurer, + #[codec(index = 2)] + FellowshipAdmin, + #[codec(index = 3)] + GeneralAdmin, + #[codec(index = 4)] + AuctionAdmin, + #[codec(index = 5)] + LeaseAdmin, + #[codec(index = 6)] + ReferendumCanceller, + #[codec(index = 7)] + ReferendumKiller, + #[codec(index = 8)] + SmallTipper, + #[codec(index = 9)] + BigTipper, + #[codec(index = 10)] + SmallSpender, + #[codec(index = 11)] + MediumSpender, + #[codec(index = 12)] + BigSpender, + #[codec(index = 13)] + WhitelistedCaller, + } + } + } + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -42216,25 +46494,7 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum OriginCaller { - #[codec(index = 0)] - system( - runtime_types::frame_support::dispatch::RawOrigin<::subxt::utils::AccountId32>, - ), - #[codec(index = 15)] - Council(runtime_types::pallet_collective::RawOrigin<::subxt::utils::AccountId32>), - #[codec(index = 16)] - TechnicalCommittee( - runtime_types::pallet_collective::RawOrigin<::subxt::utils::AccountId32>, - ), - #[codec(index = 50)] - ParachainsOrigin( - runtime_types::polkadot_runtime_parachains::origin::pallet::Origin, - ), - #[codec(index = 99)] - XcmPallet(runtime_types::pallet_xcm::pallet::Origin), - #[codec(index = 5)] - Void(runtime_types::sp_core::Void), - } + # [codec (index = 0)] system (runtime_types :: frame_support :: dispatch :: RawOrigin < :: subxt :: utils :: AccountId32 > ,) , # [codec (index = 15)] Council (runtime_types :: pallet_collective :: RawOrigin < :: subxt :: utils :: AccountId32 > ,) , # [codec (index = 16)] TechnicalCommittee (runtime_types :: pallet_collective :: RawOrigin < :: subxt :: utils :: AccountId32 > ,) , # [codec (index = 22)] Origins (runtime_types :: polkadot_runtime :: governance :: origins :: pallet_custom_origins :: Origin ,) , # [codec (index = 50)] ParachainsOrigin (runtime_types :: polkadot_runtime_parachains :: origin :: pallet :: Origin ,) , # [codec (index = 99)] XcmPallet (runtime_types :: pallet_xcm :: pallet :: Origin ,) , # [codec (index = 6)] Void (runtime_types :: sp_core :: Void ,) , } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -42260,6 +46520,8 @@ pub mod api { CancelProxy, #[codec(index = 7)] Auction, + #[codec(index = 8)] + NominationPools, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -42297,8 +46559,6 @@ pub mod api { Indices(runtime_types::pallet_indices::pallet::Call), #[codec(index = 5)] Balances(runtime_types::pallet_balances::pallet::Call), - #[codec(index = 6)] - Authorship(runtime_types::pallet_authorship::pallet::Call), #[codec(index = 7)] Staking(runtime_types::pallet_staking::pallet::pallet::Call), #[codec(index = 9)] @@ -42319,6 +46579,12 @@ pub mod api { TechnicalMembership(runtime_types::pallet_membership::pallet::Call), #[codec(index = 19)] Treasury(runtime_types::pallet_treasury::pallet::Call), + #[codec(index = 20)] + ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Call), + #[codec(index = 21)] + Referenda(runtime_types::pallet_referenda::pallet::Call), + #[codec(index = 23)] + Whitelist(runtime_types::pallet_whitelist::pallet::Call), #[codec(index = 24)] Claims(runtime_types::polkadot_runtime_common::claims::pallet::Call), #[codec(index = 25)] @@ -42427,6 +46693,12 @@ pub mod api { TechnicalMembership(runtime_types::pallet_membership::pallet::Event), #[codec(index = 19)] Treasury(runtime_types::pallet_treasury::pallet::Event), + #[codec(index = 20)] + ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Event), + #[codec(index = 21)] + Referenda(runtime_types::pallet_referenda::pallet::Event), + #[codec(index = 23)] + Whitelist(runtime_types::pallet_whitelist::pallet::Event), #[codec(index = 24)] Claims(runtime_types::polkadot_runtime_common::claims::pallet::Event), #[codec(index = 25)] @@ -42487,11 +46759,11 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SessionKeys { - pub grandpa: runtime_types::sp_finality_grandpa::app::Public, + pub grandpa: runtime_types::sp_consensus_grandpa::app::Public, pub babe: runtime_types::sp_consensus_babe::app::Public, pub im_online: runtime_types::pallet_im_online::sr25519::app_sr25519::Public, - pub para_validator: runtime_types::polkadot_primitives::v2::validator_app::Public, - pub para_assignment: runtime_types::polkadot_primitives::v2::assignment_app::Public, + pub para_validator: runtime_types::polkadot_primitives::v4::validator_app::Public, + pub para_assignment: runtime_types::polkadot_primitives::v4::assignment_app::Public, pub authority_discovery: runtime_types::sp_authority_discovery::app::Public, } } @@ -43568,158 +47840,7 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub enum Call { - #[codec(index = 0)] - #[doc = "Set the validation upgrade cooldown."] - set_validation_upgrade_cooldown { new: ::core::primitive::u32 }, - #[codec(index = 1)] - #[doc = "Set the validation upgrade delay."] - set_validation_upgrade_delay { new: ::core::primitive::u32 }, - #[codec(index = 2)] - #[doc = "Set the acceptance period for an included candidate."] - set_code_retention_period { new: ::core::primitive::u32 }, - #[codec(index = 3)] - #[doc = "Set the max validation code size for incoming upgrades."] - set_max_code_size { new: ::core::primitive::u32 }, - #[codec(index = 4)] - #[doc = "Set the max POV block size for incoming upgrades."] - set_max_pov_size { new: ::core::primitive::u32 }, - #[codec(index = 5)] - #[doc = "Set the max head data size for paras."] - set_max_head_data_size { new: ::core::primitive::u32 }, - #[codec(index = 6)] - #[doc = "Set the number of parathread execution cores."] - set_parathread_cores { new: ::core::primitive::u32 }, - #[codec(index = 7)] - #[doc = "Set the number of retries for a particular parathread."] - set_parathread_retries { new: ::core::primitive::u32 }, - #[codec(index = 8)] - #[doc = "Set the parachain validator-group rotation frequency"] - set_group_rotation_frequency { new: ::core::primitive::u32 }, - #[codec(index = 9)] - #[doc = "Set the availability period for parachains."] - set_chain_availability_period { new: ::core::primitive::u32 }, - #[codec(index = 10)] - #[doc = "Set the availability period for parathreads."] - set_thread_availability_period { new: ::core::primitive::u32 }, - #[codec(index = 11)] - #[doc = "Set the scheduling lookahead, in expected number of blocks at peak throughput."] - set_scheduling_lookahead { new: ::core::primitive::u32 }, - #[codec(index = 12)] - #[doc = "Set the maximum number of validators to assign to any core."] - set_max_validators_per_core { - new: ::core::option::Option<::core::primitive::u32>, - }, - #[codec(index = 13)] - #[doc = "Set the maximum number of validators to use in parachain consensus."] - set_max_validators { - new: ::core::option::Option<::core::primitive::u32>, - }, - #[codec(index = 14)] - #[doc = "Set the dispute period, in number of sessions to keep for disputes."] - set_dispute_period { new: ::core::primitive::u32 }, - #[codec(index = 15)] - #[doc = "Set the dispute post conclusion acceptance period."] - set_dispute_post_conclusion_acceptance_period { - new: ::core::primitive::u32, - }, - #[codec(index = 16)] - #[doc = "Set the maximum number of dispute spam slots."] - set_dispute_max_spam_slots { new: ::core::primitive::u32 }, - #[codec(index = 17)] - #[doc = "Set the dispute conclusion by time out period."] - set_dispute_conclusion_by_time_out_period { new: ::core::primitive::u32 }, - #[codec(index = 18)] - #[doc = "Set the no show slots, in number of number of consensus slots."] - #[doc = "Must be at least 1."] - set_no_show_slots { new: ::core::primitive::u32 }, - #[codec(index = 19)] - #[doc = "Set the total number of delay tranches."] - set_n_delay_tranches { new: ::core::primitive::u32 }, - #[codec(index = 20)] - #[doc = "Set the zeroth delay tranche width."] - set_zeroth_delay_tranche_width { new: ::core::primitive::u32 }, - #[codec(index = 21)] - #[doc = "Set the number of validators needed to approve a block."] - set_needed_approvals { new: ::core::primitive::u32 }, - #[codec(index = 22)] - #[doc = "Set the number of samples to do of the `RelayVRFModulo` approval assignment criterion."] - set_relay_vrf_modulo_samples { new: ::core::primitive::u32 }, - #[codec(index = 23)] - #[doc = "Sets the maximum items that can present in a upward dispatch queue at once."] - set_max_upward_queue_count { new: ::core::primitive::u32 }, - #[codec(index = 24)] - #[doc = "Sets the maximum total size of items that can present in a upward dispatch queue at once."] - set_max_upward_queue_size { new: ::core::primitive::u32 }, - #[codec(index = 25)] - #[doc = "Set the critical downward message size."] - set_max_downward_message_size { new: ::core::primitive::u32 }, - #[codec(index = 26)] - #[doc = "Sets the soft limit for the phase of dispatching dispatchable upward messages."] - set_ump_service_total_weight { - new: runtime_types::sp_weights::weight_v2::Weight, - }, - #[codec(index = 27)] - #[doc = "Sets the maximum size of an upward message that can be sent by a candidate."] - set_max_upward_message_size { new: ::core::primitive::u32 }, - #[codec(index = 28)] - #[doc = "Sets the maximum number of messages that a candidate can contain."] - set_max_upward_message_num_per_candidate { new: ::core::primitive::u32 }, - #[codec(index = 29)] - #[doc = "Sets the number of sessions after which an HRMP open channel request expires."] - set_hrmp_open_request_ttl { new: ::core::primitive::u32 }, - #[codec(index = 30)] - #[doc = "Sets the amount of funds that the sender should provide for opening an HRMP channel."] - set_hrmp_sender_deposit { new: ::core::primitive::u128 }, - #[codec(index = 31)] - #[doc = "Sets the amount of funds that the recipient should provide for accepting opening an HRMP"] - #[doc = "channel."] - set_hrmp_recipient_deposit { new: ::core::primitive::u128 }, - #[codec(index = 32)] - #[doc = "Sets the maximum number of messages allowed in an HRMP channel at once."] - set_hrmp_channel_max_capacity { new: ::core::primitive::u32 }, - #[codec(index = 33)] - #[doc = "Sets the maximum total size of messages in bytes allowed in an HRMP channel at once."] - set_hrmp_channel_max_total_size { new: ::core::primitive::u32 }, - #[codec(index = 34)] - #[doc = "Sets the maximum number of inbound HRMP channels a parachain is allowed to accept."] - set_hrmp_max_parachain_inbound_channels { new: ::core::primitive::u32 }, - #[codec(index = 35)] - #[doc = "Sets the maximum number of inbound HRMP channels a parathread is allowed to accept."] - set_hrmp_max_parathread_inbound_channels { new: ::core::primitive::u32 }, - #[codec(index = 36)] - #[doc = "Sets the maximum size of a message that could ever be put into an HRMP channel."] - set_hrmp_channel_max_message_size { new: ::core::primitive::u32 }, - #[codec(index = 37)] - #[doc = "Sets the maximum number of outbound HRMP channels a parachain is allowed to open."] - set_hrmp_max_parachain_outbound_channels { new: ::core::primitive::u32 }, - #[codec(index = 38)] - #[doc = "Sets the maximum number of outbound HRMP channels a parathread is allowed to open."] - set_hrmp_max_parathread_outbound_channels { new: ::core::primitive::u32 }, - #[codec(index = 39)] - #[doc = "Sets the maximum number of outbound HRMP messages can be sent by a candidate."] - set_hrmp_max_message_num_per_candidate { new: ::core::primitive::u32 }, - #[codec(index = 40)] - #[doc = "Sets the maximum amount of weight any individual upward message may consume."] - set_ump_max_individual_weight { - new: runtime_types::sp_weights::weight_v2::Weight, - }, - #[codec(index = 41)] - #[doc = "Enable or disable PVF pre-checking. Consult the field documentation prior executing."] - set_pvf_checking_enabled { new: ::core::primitive::bool }, - #[codec(index = 42)] - #[doc = "Set the number of session changes after which a PVF pre-checking voting is rejected."] - set_pvf_voting_ttl { new: ::core::primitive::u32 }, - #[codec(index = 43)] - #[doc = "Sets the minimum delay between announcing the upgrade block for a parachain until the"] - #[doc = "upgrade taking place."] - #[doc = ""] - #[doc = "See the field documentation for information and constraints for the new value."] - set_minimum_validation_upgrade_delay { new: ::core::primitive::u32 }, - #[codec(index = 44)] - #[doc = "Setting this to true will disable consistency checks for the configuration setters."] - #[doc = "Use with caution."] - set_bypass_consistency_check { new: ::core::primitive::bool }, - } + # [codec (index = 0)] # [doc = "Set the validation upgrade cooldown."] set_validation_upgrade_cooldown { new : :: core :: primitive :: u32 , } , # [codec (index = 1)] # [doc = "Set the validation upgrade delay."] set_validation_upgrade_delay { new : :: core :: primitive :: u32 , } , # [codec (index = 2)] # [doc = "Set the acceptance period for an included candidate."] set_code_retention_period { new : :: core :: primitive :: u32 , } , # [codec (index = 3)] # [doc = "Set the max validation code size for incoming upgrades."] set_max_code_size { new : :: core :: primitive :: u32 , } , # [codec (index = 4)] # [doc = "Set the max POV block size for incoming upgrades."] set_max_pov_size { new : :: core :: primitive :: u32 , } , # [codec (index = 5)] # [doc = "Set the max head data size for paras."] set_max_head_data_size { new : :: core :: primitive :: u32 , } , # [codec (index = 6)] # [doc = "Set the number of parathread execution cores."] set_parathread_cores { new : :: core :: primitive :: u32 , } , # [codec (index = 7)] # [doc = "Set the number of retries for a particular parathread."] set_parathread_retries { new : :: core :: primitive :: u32 , } , # [codec (index = 8)] # [doc = "Set the parachain validator-group rotation frequency"] set_group_rotation_frequency { new : :: core :: primitive :: u32 , } , # [codec (index = 9)] # [doc = "Set the availability period for parachains."] set_chain_availability_period { new : :: core :: primitive :: u32 , } , # [codec (index = 10)] # [doc = "Set the availability period for parathreads."] set_thread_availability_period { new : :: core :: primitive :: u32 , } , # [codec (index = 11)] # [doc = "Set the scheduling lookahead, in expected number of blocks at peak throughput."] set_scheduling_lookahead { new : :: core :: primitive :: u32 , } , # [codec (index = 12)] # [doc = "Set the maximum number of validators to assign to any core."] set_max_validators_per_core { new : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [codec (index = 13)] # [doc = "Set the maximum number of validators to use in parachain consensus."] set_max_validators { new : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [codec (index = 14)] # [doc = "Set the dispute period, in number of sessions to keep for disputes."] set_dispute_period { new : :: core :: primitive :: u32 , } , # [codec (index = 15)] # [doc = "Set the dispute post conclusion acceptance period."] set_dispute_post_conclusion_acceptance_period { new : :: core :: primitive :: u32 , } , # [codec (index = 18)] # [doc = "Set the no show slots, in number of number of consensus slots."] # [doc = "Must be at least 1."] set_no_show_slots { new : :: core :: primitive :: u32 , } , # [codec (index = 19)] # [doc = "Set the total number of delay tranches."] set_n_delay_tranches { new : :: core :: primitive :: u32 , } , # [codec (index = 20)] # [doc = "Set the zeroth delay tranche width."] set_zeroth_delay_tranche_width { new : :: core :: primitive :: u32 , } , # [codec (index = 21)] # [doc = "Set the number of validators needed to approve a block."] set_needed_approvals { new : :: core :: primitive :: u32 , } , # [codec (index = 22)] # [doc = "Set the number of samples to do of the `RelayVRFModulo` approval assignment criterion."] set_relay_vrf_modulo_samples { new : :: core :: primitive :: u32 , } , # [codec (index = 23)] # [doc = "Sets the maximum items that can present in a upward dispatch queue at once."] set_max_upward_queue_count { new : :: core :: primitive :: u32 , } , # [codec (index = 24)] # [doc = "Sets the maximum total size of items that can present in a upward dispatch queue at once."] set_max_upward_queue_size { new : :: core :: primitive :: u32 , } , # [codec (index = 25)] # [doc = "Set the critical downward message size."] set_max_downward_message_size { new : :: core :: primitive :: u32 , } , # [codec (index = 26)] # [doc = "Sets the soft limit for the phase of dispatching dispatchable upward messages."] set_ump_service_total_weight { new : runtime_types :: sp_weights :: weight_v2 :: Weight , } , # [codec (index = 27)] # [doc = "Sets the maximum size of an upward message that can be sent by a candidate."] set_max_upward_message_size { new : :: core :: primitive :: u32 , } , # [codec (index = 28)] # [doc = "Sets the maximum number of messages that a candidate can contain."] set_max_upward_message_num_per_candidate { new : :: core :: primitive :: u32 , } , # [codec (index = 29)] # [doc = "Sets the number of sessions after which an HRMP open channel request expires."] set_hrmp_open_request_ttl { new : :: core :: primitive :: u32 , } , # [codec (index = 30)] # [doc = "Sets the amount of funds that the sender should provide for opening an HRMP channel."] set_hrmp_sender_deposit { new : :: core :: primitive :: u128 , } , # [codec (index = 31)] # [doc = "Sets the amount of funds that the recipient should provide for accepting opening an HRMP"] # [doc = "channel."] set_hrmp_recipient_deposit { new : :: core :: primitive :: u128 , } , # [codec (index = 32)] # [doc = "Sets the maximum number of messages allowed in an HRMP channel at once."] set_hrmp_channel_max_capacity { new : :: core :: primitive :: u32 , } , # [codec (index = 33)] # [doc = "Sets the maximum total size of messages in bytes allowed in an HRMP channel at once."] set_hrmp_channel_max_total_size { new : :: core :: primitive :: u32 , } , # [codec (index = 34)] # [doc = "Sets the maximum number of inbound HRMP channels a parachain is allowed to accept."] set_hrmp_max_parachain_inbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 35)] # [doc = "Sets the maximum number of inbound HRMP channels a parathread is allowed to accept."] set_hrmp_max_parathread_inbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 36)] # [doc = "Sets the maximum size of a message that could ever be put into an HRMP channel."] set_hrmp_channel_max_message_size { new : :: core :: primitive :: u32 , } , # [codec (index = 37)] # [doc = "Sets the maximum number of outbound HRMP channels a parachain is allowed to open."] set_hrmp_max_parachain_outbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 38)] # [doc = "Sets the maximum number of outbound HRMP channels a parathread is allowed to open."] set_hrmp_max_parathread_outbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 39)] # [doc = "Sets the maximum number of outbound HRMP messages can be sent by a candidate."] set_hrmp_max_message_num_per_candidate { new : :: core :: primitive :: u32 , } , # [codec (index = 40)] # [doc = "Sets the maximum amount of weight any individual upward message may consume."] set_ump_max_individual_weight { new : runtime_types :: sp_weights :: weight_v2 :: Weight , } , # [codec (index = 41)] # [doc = "Enable or disable PVF pre-checking. Consult the field documentation prior executing."] set_pvf_checking_enabled { new : :: core :: primitive :: bool , } , # [codec (index = 42)] # [doc = "Set the number of session changes after which a PVF pre-checking voting is rejected."] set_pvf_voting_ttl { new : :: core :: primitive :: u32 , } , # [codec (index = 43)] # [doc = "Sets the minimum delay between announcing the upgrade block for a parachain until the"] # [doc = "upgrade taking place."] # [doc = ""] # [doc = "See the field documentation for information and constraints for the new value."] set_minimum_validation_upgrade_delay { new : :: core :: primitive :: u32 , } , # [codec (index = 44)] # [doc = "Setting this to true will disable consistency checks for the configuration setters."] # [doc = "Use with caution."] set_bypass_consistency_check { new : :: core :: primitive :: bool , } , # [codec (index = 45)] # [doc = "Set the asynchronous backing parameters."] set_async_backing_params { new : runtime_types :: polkadot_primitives :: vstaging :: AsyncBackingParams , } , # [codec (index = 46)] # [doc = "Set PVF executor parameters."] set_executor_params { new : runtime_types :: polkadot_primitives :: v4 :: executor_params :: ExecutorParams , } , } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -43757,6 +47878,8 @@ pub mod api { pub hrmp_max_message_num_per_candidate: _0, pub validation_upgrade_cooldown: _0, pub validation_upgrade_delay: _0, + pub async_backing_params: + runtime_types::polkadot_primitives::vstaging::AsyncBackingParams, pub max_pov_size: _0, pub max_downward_message_size: _0, pub ump_service_total_weight: runtime_types::sp_weights::weight_v2::Weight, @@ -43769,6 +47892,8 @@ pub mod api { pub hrmp_max_parachain_inbound_channels: _0, pub hrmp_max_parathread_inbound_channels: _0, pub hrmp_channel_max_message_size: _0, + pub executor_params: + runtime_types::polkadot_primitives::v4::executor_params::ExecutorParams, pub code_retention_period: _0, pub parathread_cores: _0, pub parathread_retries: _0, @@ -43780,8 +47905,6 @@ pub mod api { pub max_validators: ::core::option::Option<_0>, pub dispute_period: _0, pub dispute_post_conclusion_acceptance_period: _0, - pub dispute_max_spam_slots: _0, - pub dispute_conclusion_by_time_out_period: _0, pub no_show_slots: _0, pub n_delay_tranches: _0, pub zeroth_delay_tranche_width: _0, @@ -43840,11 +47963,17 @@ pub mod api { #[doc = "Validator vote submitted more than once to dispute."] DuplicateStatement, #[codec(index = 5)] - #[doc = "Too many spam slots used by some specific validator."] - PotentialSpam, - #[codec(index = 6)] #[doc = "A dispute where there are only votes on one side."] SingleSidedDispute, + #[codec(index = 6)] + #[doc = "A dispute vote from a malicious backer."] + MaliciousBacker, + #[codec(index = 7)] + #[doc = "No backing votes were provides along dispute statements."] + MissingBackingVotes, + #[codec(index = 8)] + #[doc = "Unconfirmed dispute statement sets provided."] + UnconfirmedDispute, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -43872,10 +48001,6 @@ pub mod api { runtime_types::polkadot_runtime_parachains::disputes::DisputeResult, ), #[codec(index = 2)] - #[doc = "A dispute has timed out due to insufficient participation."] - #[doc = "`\\[para id, candidate hash\\]`"] - DisputeTimedOut(runtime_types::polkadot_core_primitives::CandidateHash), - #[codec(index = 3)] #[doc = "A dispute has concluded with supermajority against a candidate."] #[doc = "Block authors should no longer build on top of this head and should"] #[doc = "instead revert the block at the given height. This should be the"] @@ -44333,31 +48458,31 @@ pub mod api { #[codec(index = 0)] #[doc = "A candidate was backed. `[candidate, head_data]`"] CandidateBacked( - runtime_types::polkadot_primitives::v2::CandidateReceipt< + runtime_types::polkadot_primitives::v4::CandidateReceipt< ::subxt::utils::H256, >, runtime_types::polkadot_parachain::primitives::HeadData, - runtime_types::polkadot_primitives::v2::CoreIndex, - runtime_types::polkadot_primitives::v2::GroupIndex, + runtime_types::polkadot_primitives::v4::CoreIndex, + runtime_types::polkadot_primitives::v4::GroupIndex, ), #[codec(index = 1)] #[doc = "A candidate was included. `[candidate, head_data]`"] CandidateIncluded( - runtime_types::polkadot_primitives::v2::CandidateReceipt< + runtime_types::polkadot_primitives::v4::CandidateReceipt< ::subxt::utils::H256, >, runtime_types::polkadot_parachain::primitives::HeadData, - runtime_types::polkadot_primitives::v2::CoreIndex, - runtime_types::polkadot_primitives::v2::GroupIndex, + runtime_types::polkadot_primitives::v4::CoreIndex, + runtime_types::polkadot_primitives::v4::GroupIndex, ), #[codec(index = 2)] #[doc = "A candidate timed out. `[candidate, head_data]`"] CandidateTimedOut( - runtime_types::polkadot_primitives::v2::CandidateReceipt< + runtime_types::polkadot_primitives::v4::CandidateReceipt< ::subxt::utils::H256, >, runtime_types::polkadot_parachain::primitives::HeadData, - runtime_types::polkadot_primitives::v2::CoreIndex, + runtime_types::polkadot_primitives::v4::CoreIndex, ), } } @@ -44372,7 +48497,7 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct AvailabilityBitfieldRecord<_0> { - pub bitfield: runtime_types::polkadot_primitives::v2::AvailabilityBitfield, + pub bitfield: runtime_types::polkadot_primitives::v4::AvailabilityBitfield, pub submitted_at: _0, } #[derive( @@ -44386,9 +48511,9 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CandidatePendingAvailability<_0, _1> { - pub core: runtime_types::polkadot_primitives::v2::CoreIndex, + pub core: runtime_types::polkadot_primitives::v4::CoreIndex, pub hash: runtime_types::polkadot_core_primitives::CandidateHash, - pub descriptor: runtime_types::polkadot_primitives::v2::CandidateDescriptor<_0>, + pub descriptor: runtime_types::polkadot_primitives::v4::CandidateDescriptor<_0>, pub availability_votes: ::subxt::utils::bits::DecodedBits< ::core::primitive::u8, ::subxt::utils::bits::Lsb0, @@ -44399,7 +48524,7 @@ pub mod api { >, pub relay_parent_number: _1, pub backed_in_number: _1, - pub backing_group: runtime_types::polkadot_primitives::v2::GroupIndex, + pub backing_group: runtime_types::polkadot_primitives::v4::GroupIndex, } } pub mod initializer { @@ -44437,10 +48562,10 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct BufferedSessionChange { pub validators: ::std::vec::Vec< - runtime_types::polkadot_primitives::v2::validator_app::Public, + runtime_types::polkadot_primitives::v4::validator_app::Public, >, pub queued: ::std::vec::Vec< - runtime_types::polkadot_primitives::v2::validator_app::Public, + runtime_types::polkadot_primitives::v4::validator_app::Public, >, pub session_index: ::core::primitive::u32, } @@ -44545,9 +48670,9 @@ pub mod api { #[doc = "Includes a statement for a PVF pre-checking vote. Potentially, finalizes the vote and"] #[doc = "enacts the results if that was the last vote before achieving the supermajority."] include_pvf_check_statement { - stmt: runtime_types::polkadot_primitives::v2::PvfCheckStatement, + stmt: runtime_types::polkadot_primitives::v4::PvfCheckStatement, signature: - runtime_types::polkadot_primitives::v2::validator_app::Signature, + runtime_types::polkadot_primitives::v4::validator_app::Signature, }, } #[derive( @@ -44792,7 +48917,7 @@ pub mod api { #[codec(index = 0)] #[doc = "Enter the paras inherent. This will process bitfields and backed candidates."] enter { - data: runtime_types::polkadot_primitives::v2::InherentData< + data: runtime_types::polkadot_primitives::v4::InherentData< runtime_types::sp_runtime::generic::header::Header< ::core::primitive::u32, runtime_types::sp_runtime::traits::BlakeTwo256, @@ -44851,7 +48976,7 @@ pub mod api { Parachain, #[codec(index = 1)] Parathread( - runtime_types::polkadot_primitives::v2::collator_app::Public, + runtime_types::polkadot_primitives::v4::collator_app::Public, ::core::primitive::u32, ), } @@ -44866,10 +48991,10 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CoreAssignment { - pub core: runtime_types::polkadot_primitives::v2::CoreIndex, + pub core: runtime_types::polkadot_primitives::v4::CoreIndex, pub para_id: runtime_types::polkadot_parachain::primitives::Id, pub kind: runtime_types::polkadot_runtime_parachains::scheduler::AssignmentKind, - pub group_idx: runtime_types::polkadot_primitives::v2::GroupIndex, + pub group_idx: runtime_types::polkadot_primitives::v4::GroupIndex, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -44898,7 +49023,7 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct QueuedParathread { - pub claim: runtime_types::polkadot_primitives::v2::ParathreadEntry, + pub claim: runtime_types::polkadot_primitives::v4::ParathreadEntry, pub core_offset: ::core::primitive::u32, } } @@ -44998,7 +49123,7 @@ pub mod api { #[doc = "\\[ id, outcome \\]"] ExecutedUpward( [::core::primitive::u8; 32usize], - runtime_types::xcm::v2::traits::Outcome, + runtime_types::xcm::v3::traits::Outcome, ), #[codec(index = 3)] #[doc = "The weight limit for handling upward messages was reached."] @@ -45046,6 +49171,17 @@ pub mod api { use super::runtime_types; pub mod fixed_point { use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct FixedI64(pub ::core::primitive::i64); #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -45110,6 +49246,24 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Permill(pub ::core::primitive::u32); } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum ArithmeticError { + #[codec(index = 0)] + Underflow, + #[codec(index = 1)] + Overflow, + #[codec(index = 2)] + DivisionByZero, + } } pub mod sp_authority_discovery { use super::runtime_types; @@ -45196,8 +49350,7 @@ pub mod api { pub struct PrimaryPreDigest { pub authority_index: ::core::primitive::u32, pub slot: runtime_types::sp_consensus_slots::Slot, - pub vrf_output: [::core::primitive::u8; 32usize], - pub vrf_proof: [::core::primitive::u8; 64usize], + pub vrf_signature: runtime_types::sp_core::sr25519::vrf::VrfSignature, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -45226,8 +49379,7 @@ pub mod api { pub struct SecondaryVRFPreDigest { pub authority_index: ::core::primitive::u32, pub slot: runtime_types::sp_consensus_slots::Slot, - pub vrf_output: [::core::primitive::u8; 32usize], - pub vrf_proof: [::core::primitive::u8; 64usize], + pub vrf_signature: runtime_types::sp_core::sr25519::vrf::VrfSignature, } } #[derive( @@ -45263,6 +49415,76 @@ pub mod api { pub allowed_slots: runtime_types::sp_consensus_babe::AllowedSlots, } } + pub mod sp_consensus_grandpa { + use super::runtime_types; + pub mod app { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Public(pub runtime_types::sp_core::ed25519::Public); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Signature(pub runtime_types::sp_core::ed25519::Signature); + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Equivocation<_0, _1> { + #[codec(index = 0)] + Prevote( + runtime_types::finality_grandpa::Equivocation< + runtime_types::sp_consensus_grandpa::app::Public, + runtime_types::finality_grandpa::Prevote<_0, _1>, + runtime_types::sp_consensus_grandpa::app::Signature, + >, + ), + #[codec(index = 1)] + Precommit( + runtime_types::finality_grandpa::Equivocation< + runtime_types::sp_consensus_grandpa::app::Public, + runtime_types::finality_grandpa::Precommit<_0, _1>, + runtime_types::sp_consensus_grandpa::app::Signature, + >, + ), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct EquivocationProof<_0, _1> { + pub set_id: ::core::primitive::u64, + pub equivocation: runtime_types::sp_consensus_grandpa::Equivocation<_0, _1>, + } + } pub mod sp_consensus_slots { use super::runtime_types; #[derive( @@ -45296,51 +49518,6 @@ pub mod api { } pub mod sp_core { use super::runtime_types; - pub mod bounded { - use super::runtime_types; - pub mod bounded_btree_map { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct BoundedBTreeMap<_0, _1>(pub ::subxt::utils::KeyedVec<_0, _1>); - } - pub mod bounded_vec { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct BoundedVec<_0>(pub ::std::vec::Vec<_0>); - } - pub mod weak_bounded_vec { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct WeakBoundedVec<_0>(pub ::std::vec::Vec<_0>); - } - } pub mod crypto { use super::runtime_types; #[derive( @@ -45436,6 +49613,23 @@ pub mod api { } pub mod sr25519 { use super::runtime_types; + pub mod vrf { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct VrfSignature { + pub output: [::core::primitive::u8; 32usize], + pub proof: [::core::primitive::u8; 64usize], + } + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -45482,76 +49676,6 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Void {} } - pub mod sp_finality_grandpa { - use super::runtime_types; - pub mod app { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Public(pub runtime_types::sp_core::ed25519::Public); - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Signature(pub runtime_types::sp_core::ed25519::Signature); - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Equivocation<_0, _1> { - #[codec(index = 0)] - Prevote( - runtime_types::finality_grandpa::Equivocation< - runtime_types::sp_finality_grandpa::app::Public, - runtime_types::finality_grandpa::Prevote<_0, _1>, - runtime_types::sp_finality_grandpa::app::Signature, - >, - ), - #[codec(index = 1)] - Precommit( - runtime_types::finality_grandpa::Equivocation< - runtime_types::sp_finality_grandpa::app::Public, - runtime_types::finality_grandpa::Precommit<_0, _1>, - runtime_types::sp_finality_grandpa::app::Signature, - >, - ), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct EquivocationProof<_0, _1> { - pub set_id: ::core::primitive::u64, - pub equivocation: runtime_types::sp_finality_grandpa::Equivocation<_0, _1>, - } - } pub mod sp_npos_elections { use super::runtime_types; #[derive( @@ -46228,24 +50352,6 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum ArithmeticError { - #[codec(index = 0)] - Underflow, - #[codec(index = 1)] - Overflow, - #[codec(index = 2)] - DivisionByZero, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum DispatchError { #[codec(index = 0)] Other, @@ -46264,7 +50370,7 @@ pub mod api { #[codec(index = 7)] Token(runtime_types::sp_runtime::TokenError), #[codec(index = 8)] - Arithmetic(runtime_types::sp_runtime::ArithmeticError), + Arithmetic(runtime_types::sp_arithmetic::ArithmeticError), #[codec(index = 9)] Transactional(runtime_types::sp_runtime::TransactionalError), #[codec(index = 10)] @@ -46284,6 +50390,20 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DispatchErrorWithPostInfo<_0> { + pub post_info: _0, + pub error: runtime_types::sp_runtime::DispatchError, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ModuleError { pub index: ::core::primitive::u8, pub error: [::core::primitive::u8; 4usize], @@ -46336,9 +50456,9 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum TokenError { #[codec(index = 0)] - NoFunds, + FundsUnavailable, #[codec(index = 1)] - WouldDie, + OnlyProvider, #[codec(index = 2)] BelowMinimum, #[codec(index = 3)] @@ -46349,6 +50469,10 @@ pub mod api { Frozen, #[codec(index = 6)] Unsupported, + #[codec(index = 7)] + CannotCreateHold, + #[codec(index = 8)] + NotExpendable, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -46450,18 +50574,6 @@ pub mod api { pub proof_size: ::core::primitive::u64, } } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct OldWeight(pub ::core::primitive::u64); #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -46495,470 +50607,7 @@ pub mod api { pub encoded: ::std::vec::Vec<::core::primitive::u8>, } } - pub mod v0 { - use super::runtime_types; - pub mod junction { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum BodyId { - #[codec(index = 0)] - Unit, - #[codec(index = 1)] - Named( - runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< - ::core::primitive::u8, - >, - ), - #[codec(index = 2)] - Index(#[codec(compact)] ::core::primitive::u32), - #[codec(index = 3)] - Executive, - #[codec(index = 4)] - Technical, - #[codec(index = 5)] - Legislative, - #[codec(index = 6)] - Judicial, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum BodyPart { - #[codec(index = 0)] - Voice, - #[codec(index = 1)] - Members { - #[codec(compact)] - count: ::core::primitive::u32, - }, - #[codec(index = 2)] - Fraction { - #[codec(compact)] - nom: ::core::primitive::u32, - #[codec(compact)] - denom: ::core::primitive::u32, - }, - #[codec(index = 3)] - AtLeastProportion { - #[codec(compact)] - nom: ::core::primitive::u32, - #[codec(compact)] - denom: ::core::primitive::u32, - }, - #[codec(index = 4)] - MoreThanProportion { - #[codec(compact)] - nom: ::core::primitive::u32, - #[codec(compact)] - denom: ::core::primitive::u32, - }, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Junction { - #[codec(index = 0)] - Parent, - #[codec(index = 1)] - Parachain(#[codec(compact)] ::core::primitive::u32), - #[codec(index = 2)] - AccountId32 { - network: runtime_types::xcm::v0::junction::NetworkId, - id: [::core::primitive::u8; 32usize], - }, - #[codec(index = 3)] - AccountIndex64 { - network: runtime_types::xcm::v0::junction::NetworkId, - #[codec(compact)] - index: ::core::primitive::u64, - }, - #[codec(index = 4)] - AccountKey20 { - network: runtime_types::xcm::v0::junction::NetworkId, - key: [::core::primitive::u8; 20usize], - }, - #[codec(index = 5)] - PalletInstance(::core::primitive::u8), - #[codec(index = 6)] - GeneralIndex(#[codec(compact)] ::core::primitive::u128), - #[codec(index = 7)] - GeneralKey( - runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< - ::core::primitive::u8, - >, - ), - #[codec(index = 8)] - OnlyChild, - #[codec(index = 9)] - Plurality { - id: runtime_types::xcm::v0::junction::BodyId, - part: runtime_types::xcm::v0::junction::BodyPart, - }, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum NetworkId { - #[codec(index = 0)] - Any, - #[codec(index = 1)] - Named( - runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< - ::core::primitive::u8, - >, - ), - #[codec(index = 2)] - Polkadot, - #[codec(index = 3)] - Kusama, - } - } - pub mod multi_asset { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum MultiAsset { - #[codec(index = 0)] - None, - #[codec(index = 1)] - All, - #[codec(index = 2)] - AllFungible, - #[codec(index = 3)] - AllNonFungible, - #[codec(index = 4)] - AllAbstractFungible { - id: ::std::vec::Vec<::core::primitive::u8>, - }, - #[codec(index = 5)] - AllAbstractNonFungible { - class: ::std::vec::Vec<::core::primitive::u8>, - }, - #[codec(index = 6)] - AllConcreteFungible { - id: runtime_types::xcm::v0::multi_location::MultiLocation, - }, - #[codec(index = 7)] - AllConcreteNonFungible { - class: runtime_types::xcm::v0::multi_location::MultiLocation, - }, - #[codec(index = 8)] - AbstractFungible { - id: ::std::vec::Vec<::core::primitive::u8>, - #[codec(compact)] - amount: ::core::primitive::u128, - }, - #[codec(index = 9)] - AbstractNonFungible { - class: ::std::vec::Vec<::core::primitive::u8>, - instance: runtime_types::xcm::v1::multiasset::AssetInstance, - }, - #[codec(index = 10)] - ConcreteFungible { - id: runtime_types::xcm::v0::multi_location::MultiLocation, - #[codec(compact)] - amount: ::core::primitive::u128, - }, - #[codec(index = 11)] - ConcreteNonFungible { - class: runtime_types::xcm::v0::multi_location::MultiLocation, - instance: runtime_types::xcm::v1::multiasset::AssetInstance, - }, - } - } - pub mod multi_location { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum MultiLocation { - #[codec(index = 0)] - Null, - #[codec(index = 1)] - X1(runtime_types::xcm::v0::junction::Junction), - #[codec(index = 2)] - X2( - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - ), - #[codec(index = 3)] - X3( - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - ), - #[codec(index = 4)] - X4( - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - ), - #[codec(index = 5)] - X5( - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - ), - #[codec(index = 6)] - X6( - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - ), - #[codec(index = 7)] - X7( - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - ), - #[codec(index = 8)] - X8( - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - runtime_types::xcm::v0::junction::Junction, - ), - } - } - pub mod order { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Order { - #[codec(index = 0)] - Null, - #[codec(index = 1)] - DepositAsset { - assets: - ::std::vec::Vec, - dest: runtime_types::xcm::v0::multi_location::MultiLocation, - }, - #[codec(index = 2)] - DepositReserveAsset { - assets: - ::std::vec::Vec, - dest: runtime_types::xcm::v0::multi_location::MultiLocation, - effects: ::std::vec::Vec, - }, - #[codec(index = 3)] - ExchangeAsset { - give: ::std::vec::Vec, - receive: - ::std::vec::Vec, - }, - #[codec(index = 4)] - InitiateReserveWithdraw { - assets: - ::std::vec::Vec, - reserve: runtime_types::xcm::v0::multi_location::MultiLocation, - effects: ::std::vec::Vec, - }, - #[codec(index = 5)] - InitiateTeleport { - assets: - ::std::vec::Vec, - dest: runtime_types::xcm::v0::multi_location::MultiLocation, - effects: ::std::vec::Vec, - }, - #[codec(index = 6)] - QueryHolding { - #[codec(compact)] - query_id: ::core::primitive::u64, - dest: runtime_types::xcm::v0::multi_location::MultiLocation, - assets: - ::std::vec::Vec, - }, - #[codec(index = 7)] - BuyExecution { - fees: runtime_types::xcm::v0::multi_asset::MultiAsset, - weight: ::core::primitive::u64, - debt: ::core::primitive::u64, - halt_on_error: ::core::primitive::bool, - xcm: ::std::vec::Vec, - }, - } - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum OriginKind { - #[codec(index = 0)] - Native, - #[codec(index = 1)] - SovereignAccount, - #[codec(index = 2)] - Superuser, - #[codec(index = 3)] - Xcm, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Response { - #[codec(index = 0)] - Assets(::std::vec::Vec), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Xcm { - #[codec(index = 0)] - WithdrawAsset { - assets: ::std::vec::Vec, - effects: ::std::vec::Vec, - }, - #[codec(index = 1)] - ReserveAssetDeposit { - assets: ::std::vec::Vec, - effects: ::std::vec::Vec, - }, - #[codec(index = 2)] - TeleportAsset { - assets: ::std::vec::Vec, - effects: ::std::vec::Vec, - }, - #[codec(index = 3)] - QueryResponse { - #[codec(compact)] - query_id: ::core::primitive::u64, - response: runtime_types::xcm::v0::Response, - }, - #[codec(index = 4)] - TransferAsset { - assets: ::std::vec::Vec, - dest: runtime_types::xcm::v0::multi_location::MultiLocation, - }, - #[codec(index = 5)] - TransferReserveAsset { - assets: ::std::vec::Vec, - dest: runtime_types::xcm::v0::multi_location::MultiLocation, - effects: ::std::vec::Vec, - }, - #[codec(index = 6)] - Transact { - origin_type: runtime_types::xcm::v0::OriginKind, - require_weight_at_most: ::core::primitive::u64, - call: runtime_types::xcm::double_encoded::DoubleEncoded, - }, - #[codec(index = 7)] - HrmpNewChannelOpenRequest { - #[codec(compact)] - sender: ::core::primitive::u32, - #[codec(compact)] - max_message_size: ::core::primitive::u32, - #[codec(compact)] - max_capacity: ::core::primitive::u32, - }, - #[codec(index = 8)] - HrmpChannelAccepted { - #[codec(compact)] - recipient: ::core::primitive::u32, - }, - #[codec(index = 9)] - HrmpChannelClosing { - #[codec(compact)] - initiator: ::core::primitive::u32, - #[codec(compact)] - sender: ::core::primitive::u32, - #[codec(compact)] - recipient: ::core::primitive::u32, - }, - #[codec(index = 10)] - RelayedFrom { - who: runtime_types::xcm::v0::multi_location::MultiLocation, - message: ::std::boxed::Box, - }, - } - } - pub mod v1 { + pub mod v2 { use super::runtime_types; pub mod junction { use super::runtime_types; @@ -46977,18 +50626,18 @@ pub mod api { Parachain(#[codec(compact)] ::core::primitive::u32), #[codec(index = 1)] AccountId32 { - network: runtime_types::xcm::v0::junction::NetworkId, + network: runtime_types::xcm::v2::NetworkId, id: [::core::primitive::u8; 32usize], }, #[codec(index = 2)] AccountIndex64 { - network: runtime_types::xcm::v0::junction::NetworkId, + network: runtime_types::xcm::v2::NetworkId, #[codec(compact)] index: ::core::primitive::u64, }, #[codec(index = 3)] AccountKey20 { - network: runtime_types::xcm::v0::junction::NetworkId, + network: runtime_types::xcm::v2::NetworkId, key: [::core::primitive::u8; 20usize], }, #[codec(index = 4)] @@ -46997,7 +50646,7 @@ pub mod api { GeneralIndex(#[codec(compact)] ::core::primitive::u128), #[codec(index = 6)] GeneralKey( - runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< ::core::primitive::u8, >, ), @@ -47005,8 +50654,8 @@ pub mod api { OnlyChild, #[codec(index = 8)] Plurality { - id: runtime_types::xcm::v0::junction::BodyId, - part: runtime_types::xcm::v0::junction::BodyPart, + id: runtime_types::xcm::v2::BodyId, + part: runtime_types::xcm::v2::BodyPart, }, } } @@ -47024,7 +50673,7 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum AssetId { #[codec(index = 0)] - Concrete(runtime_types::xcm::v1::multilocation::MultiLocation), + Concrete(runtime_types::xcm::v2::multilocation::MultiLocation), #[codec(index = 1)] Abstract(::std::vec::Vec<::core::primitive::u8>), } @@ -47068,7 +50717,7 @@ pub mod api { #[codec(index = 0)] Fungible(#[codec(compact)] ::core::primitive::u128), #[codec(index = 1)] - NonFungible(runtime_types::xcm::v1::multiasset::AssetInstance), + NonFungible(runtime_types::xcm::v2::multiasset::AssetInstance), } #[derive( :: subxt :: ext :: codec :: Decode, @@ -47081,8 +50730,8 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct MultiAsset { - pub id: runtime_types::xcm::v1::multiasset::AssetId, - pub fun: runtime_types::xcm::v1::multiasset::Fungibility, + pub id: runtime_types::xcm::v2::multiasset::AssetId, + pub fun: runtime_types::xcm::v2::multiasset::Fungibility, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -47096,9 +50745,9 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum MultiAssetFilter { #[codec(index = 0)] - Definite(runtime_types::xcm::v1::multiasset::MultiAssets), + Definite(runtime_types::xcm::v2::multiasset::MultiAssets), #[codec(index = 1)] - Wild(runtime_types::xcm::v1::multiasset::WildMultiAsset), + Wild(runtime_types::xcm::v2::multiasset::WildMultiAsset), } #[derive( :: subxt :: ext :: codec :: Decode, @@ -47111,7 +50760,7 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct MultiAssets( - pub ::std::vec::Vec, + pub ::std::vec::Vec, ); #[derive( :: subxt :: ext :: codec :: Decode, @@ -47144,8 +50793,8 @@ pub mod api { All, #[codec(index = 1)] AllOf { - id: runtime_types::xcm::v1::multiasset::AssetId, - fun: runtime_types::xcm::v1::multiasset::WildFungibility, + id: runtime_types::xcm::v2::multiasset::AssetId, + fun: runtime_types::xcm::v2::multiasset::WildFungibility, }, } } @@ -47165,62 +50814,62 @@ pub mod api { #[codec(index = 0)] Here, #[codec(index = 1)] - X1(runtime_types::xcm::v1::junction::Junction), + X1(runtime_types::xcm::v2::junction::Junction), #[codec(index = 2)] X2( - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, ), #[codec(index = 3)] X3( - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, ), #[codec(index = 4)] X4( - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, ), #[codec(index = 5)] X5( - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, ), #[codec(index = 6)] X6( - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, ), #[codec(index = 7)] X7( - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, ), #[codec(index = 8)] X8( - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, - runtime_types::xcm::v1::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, ), } #[derive( @@ -47235,177 +50884,9 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct MultiLocation { pub parents: ::core::primitive::u8, - pub interior: runtime_types::xcm::v1::multilocation::Junctions, + pub interior: runtime_types::xcm::v2::multilocation::Junctions, } } - pub mod order { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Order { - #[codec(index = 0)] - Noop, - #[codec(index = 1)] - DepositAsset { - assets: runtime_types::xcm::v1::multiasset::MultiAssetFilter, - max_assets: ::core::primitive::u32, - beneficiary: runtime_types::xcm::v1::multilocation::MultiLocation, - }, - #[codec(index = 2)] - DepositReserveAsset { - assets: runtime_types::xcm::v1::multiasset::MultiAssetFilter, - max_assets: ::core::primitive::u32, - dest: runtime_types::xcm::v1::multilocation::MultiLocation, - effects: ::std::vec::Vec, - }, - #[codec(index = 3)] - ExchangeAsset { - give: runtime_types::xcm::v1::multiasset::MultiAssetFilter, - receive: runtime_types::xcm::v1::multiasset::MultiAssets, - }, - #[codec(index = 4)] - InitiateReserveWithdraw { - assets: runtime_types::xcm::v1::multiasset::MultiAssetFilter, - reserve: runtime_types::xcm::v1::multilocation::MultiLocation, - effects: ::std::vec::Vec, - }, - #[codec(index = 5)] - InitiateTeleport { - assets: runtime_types::xcm::v1::multiasset::MultiAssetFilter, - dest: runtime_types::xcm::v1::multilocation::MultiLocation, - effects: ::std::vec::Vec, - }, - #[codec(index = 6)] - QueryHolding { - #[codec(compact)] - query_id: ::core::primitive::u64, - dest: runtime_types::xcm::v1::multilocation::MultiLocation, - assets: runtime_types::xcm::v1::multiasset::MultiAssetFilter, - }, - #[codec(index = 7)] - BuyExecution { - fees: runtime_types::xcm::v1::multiasset::MultiAsset, - weight: ::core::primitive::u64, - debt: ::core::primitive::u64, - halt_on_error: ::core::primitive::bool, - instructions: ::std::vec::Vec, - }, - } - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Response { - #[codec(index = 0)] - Assets(runtime_types::xcm::v1::multiasset::MultiAssets), - #[codec(index = 1)] - Version(::core::primitive::u32), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Xcm { - #[codec(index = 0)] - WithdrawAsset { - assets: runtime_types::xcm::v1::multiasset::MultiAssets, - effects: ::std::vec::Vec, - }, - #[codec(index = 1)] - ReserveAssetDeposited { - assets: runtime_types::xcm::v1::multiasset::MultiAssets, - effects: ::std::vec::Vec, - }, - #[codec(index = 2)] - ReceiveTeleportedAsset { - assets: runtime_types::xcm::v1::multiasset::MultiAssets, - effects: ::std::vec::Vec, - }, - #[codec(index = 3)] - QueryResponse { - #[codec(compact)] - query_id: ::core::primitive::u64, - response: runtime_types::xcm::v1::Response, - }, - #[codec(index = 4)] - TransferAsset { - assets: runtime_types::xcm::v1::multiasset::MultiAssets, - beneficiary: runtime_types::xcm::v1::multilocation::MultiLocation, - }, - #[codec(index = 5)] - TransferReserveAsset { - assets: runtime_types::xcm::v1::multiasset::MultiAssets, - dest: runtime_types::xcm::v1::multilocation::MultiLocation, - effects: ::std::vec::Vec, - }, - #[codec(index = 6)] - Transact { - origin_type: runtime_types::xcm::v0::OriginKind, - require_weight_at_most: ::core::primitive::u64, - call: runtime_types::xcm::double_encoded::DoubleEncoded, - }, - #[codec(index = 7)] - HrmpNewChannelOpenRequest { - #[codec(compact)] - sender: ::core::primitive::u32, - #[codec(compact)] - max_message_size: ::core::primitive::u32, - #[codec(compact)] - max_capacity: ::core::primitive::u32, - }, - #[codec(index = 8)] - HrmpChannelAccepted { - #[codec(compact)] - recipient: ::core::primitive::u32, - }, - #[codec(index = 9)] - HrmpChannelClosing { - #[codec(compact)] - initiator: ::core::primitive::u32, - #[codec(compact)] - sender: ::core::primitive::u32, - #[codec(compact)] - recipient: ::core::primitive::u32, - }, - #[codec(index = 10)] - RelayedFrom { - who: runtime_types::xcm::v1::multilocation::Junctions, - message: ::std::boxed::Box, - }, - #[codec(index = 11)] - SubscribeVersion { - #[codec(compact)] - query_id: ::core::primitive::u64, - #[codec(compact)] - max_response_weight: ::core::primitive::u64, - }, - #[codec(index = 12)] - UnsubscribeVersion, - } - } - pub mod v2 { - use super::runtime_types; pub mod traits { use super::runtime_types; #[derive( @@ -47472,27 +50953,82 @@ pub mod api { #[codec(index = 25)] WeightNotComputable, } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Outcome { - #[codec(index = 0)] - Complete(::core::primitive::u64), - #[codec(index = 1)] - Incomplete( - ::core::primitive::u64, - runtime_types::xcm::v2::traits::Error, - ), - #[codec(index = 2)] - Error(runtime_types::xcm::v2::traits::Error), - } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum BodyId { + #[codec(index = 0)] + Unit, + #[codec(index = 1)] + Named( + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< + ::core::primitive::u8, + >, + ), + #[codec(index = 2)] + Index(#[codec(compact)] ::core::primitive::u32), + #[codec(index = 3)] + Executive, + #[codec(index = 4)] + Technical, + #[codec(index = 5)] + Legislative, + #[codec(index = 6)] + Judicial, + #[codec(index = 7)] + Defense, + #[codec(index = 8)] + Administration, + #[codec(index = 9)] + Treasury, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum BodyPart { + #[codec(index = 0)] + Voice, + #[codec(index = 1)] + Members { + #[codec(compact)] + count: ::core::primitive::u32, + }, + #[codec(index = 2)] + Fraction { + #[codec(compact)] + nom: ::core::primitive::u32, + #[codec(compact)] + denom: ::core::primitive::u32, + }, + #[codec(index = 3)] + AtLeastProportion { + #[codec(compact)] + nom: ::core::primitive::u32, + #[codec(compact)] + denom: ::core::primitive::u32, + }, + #[codec(index = 4)] + MoreThanProportion { + #[codec(compact)] + nom: ::core::primitive::u32, + #[codec(compact)] + denom: ::core::primitive::u32, + }, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -47506,11 +51042,11 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Instruction { #[codec(index = 0)] - WithdrawAsset(runtime_types::xcm::v1::multiasset::MultiAssets), + WithdrawAsset(runtime_types::xcm::v2::multiasset::MultiAssets), #[codec(index = 1)] - ReserveAssetDeposited(runtime_types::xcm::v1::multiasset::MultiAssets), + ReserveAssetDeposited(runtime_types::xcm::v2::multiasset::MultiAssets), #[codec(index = 2)] - ReceiveTeleportedAsset(runtime_types::xcm::v1::multiasset::MultiAssets), + ReceiveTeleportedAsset(runtime_types::xcm::v2::multiasset::MultiAssets), #[codec(index = 3)] QueryResponse { #[codec(compact)] @@ -47521,18 +51057,18 @@ pub mod api { }, #[codec(index = 4)] TransferAsset { - assets: runtime_types::xcm::v1::multiasset::MultiAssets, - beneficiary: runtime_types::xcm::v1::multilocation::MultiLocation, + assets: runtime_types::xcm::v2::multiasset::MultiAssets, + beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation, }, #[codec(index = 5)] TransferReserveAsset { - assets: runtime_types::xcm::v1::multiasset::MultiAssets, - dest: runtime_types::xcm::v1::multilocation::MultiLocation, + assets: runtime_types::xcm::v2::multiasset::MultiAssets, + dest: runtime_types::xcm::v2::multilocation::MultiLocation, xcm: runtime_types::xcm::v2::Xcm, }, #[codec(index = 6)] Transact { - origin_type: runtime_types::xcm::v0::OriginKind, + origin_type: runtime_types::xcm::v2::OriginKind, #[codec(compact)] require_weight_at_most: ::core::primitive::u64, call: runtime_types::xcm::double_encoded::DoubleEncoded, @@ -47563,59 +51099,59 @@ pub mod api { #[codec(index = 10)] ClearOrigin, #[codec(index = 11)] - DescendOrigin(runtime_types::xcm::v1::multilocation::Junctions), + DescendOrigin(runtime_types::xcm::v2::multilocation::Junctions), #[codec(index = 12)] ReportError { #[codec(compact)] query_id: ::core::primitive::u64, - dest: runtime_types::xcm::v1::multilocation::MultiLocation, + dest: runtime_types::xcm::v2::multilocation::MultiLocation, #[codec(compact)] max_response_weight: ::core::primitive::u64, }, #[codec(index = 13)] DepositAsset { - assets: runtime_types::xcm::v1::multiasset::MultiAssetFilter, + assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter, #[codec(compact)] max_assets: ::core::primitive::u32, - beneficiary: runtime_types::xcm::v1::multilocation::MultiLocation, + beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation, }, #[codec(index = 14)] DepositReserveAsset { - assets: runtime_types::xcm::v1::multiasset::MultiAssetFilter, + assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter, #[codec(compact)] max_assets: ::core::primitive::u32, - dest: runtime_types::xcm::v1::multilocation::MultiLocation, + dest: runtime_types::xcm::v2::multilocation::MultiLocation, xcm: runtime_types::xcm::v2::Xcm, }, #[codec(index = 15)] ExchangeAsset { - give: runtime_types::xcm::v1::multiasset::MultiAssetFilter, - receive: runtime_types::xcm::v1::multiasset::MultiAssets, + give: runtime_types::xcm::v2::multiasset::MultiAssetFilter, + receive: runtime_types::xcm::v2::multiasset::MultiAssets, }, #[codec(index = 16)] InitiateReserveWithdraw { - assets: runtime_types::xcm::v1::multiasset::MultiAssetFilter, - reserve: runtime_types::xcm::v1::multilocation::MultiLocation, + assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter, + reserve: runtime_types::xcm::v2::multilocation::MultiLocation, xcm: runtime_types::xcm::v2::Xcm, }, #[codec(index = 17)] InitiateTeleport { - assets: runtime_types::xcm::v1::multiasset::MultiAssetFilter, - dest: runtime_types::xcm::v1::multilocation::MultiLocation, + assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter, + dest: runtime_types::xcm::v2::multilocation::MultiLocation, xcm: runtime_types::xcm::v2::Xcm, }, #[codec(index = 18)] QueryHolding { #[codec(compact)] query_id: ::core::primitive::u64, - dest: runtime_types::xcm::v1::multilocation::MultiLocation, - assets: runtime_types::xcm::v1::multiasset::MultiAssetFilter, + dest: runtime_types::xcm::v2::multilocation::MultiLocation, + assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter, #[codec(compact)] max_response_weight: ::core::primitive::u64, }, #[codec(index = 19)] BuyExecution { - fees: runtime_types::xcm::v1::multiasset::MultiAsset, + fees: runtime_types::xcm::v2::multiasset::MultiAsset, weight_limit: runtime_types::xcm::v2::WeightLimit, }, #[codec(index = 20)] @@ -47628,8 +51164,8 @@ pub mod api { ClearError, #[codec(index = 24)] ClaimAsset { - assets: runtime_types::xcm::v1::multiasset::MultiAssets, - ticket: runtime_types::xcm::v1::multilocation::MultiLocation, + assets: runtime_types::xcm::v2::multiasset::MultiAssets, + ticket: runtime_types::xcm::v2::multilocation::MultiLocation, }, #[codec(index = 25)] Trap(#[codec(compact)] ::core::primitive::u64), @@ -47653,11 +51189,55 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum NetworkId { + #[codec(index = 0)] + Any, + #[codec(index = 1)] + Named( + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< + ::core::primitive::u8, + >, + ), + #[codec(index = 2)] + Polkadot, + #[codec(index = 3)] + Kusama, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum OriginKind { + #[codec(index = 0)] + Native, + #[codec(index = 1)] + SovereignAccount, + #[codec(index = 2)] + Superuser, + #[codec(index = 3)] + Xcm, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Response { #[codec(index = 0)] Null, #[codec(index = 1)] - Assets(runtime_types::xcm::v1::multiasset::MultiAssets), + Assets(runtime_types::xcm::v2::multiasset::MultiAssets), #[codec(index = 2)] ExecutionResult( ::core::option::Option<( @@ -47696,6 +51276,889 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Xcm(pub ::std::vec::Vec); } + pub mod v3 { + use super::runtime_types; + pub mod junction { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum BodyId { + #[codec(index = 0)] + Unit, + #[codec(index = 1)] + Moniker([::core::primitive::u8; 4usize]), + #[codec(index = 2)] + Index(#[codec(compact)] ::core::primitive::u32), + #[codec(index = 3)] + Executive, + #[codec(index = 4)] + Technical, + #[codec(index = 5)] + Legislative, + #[codec(index = 6)] + Judicial, + #[codec(index = 7)] + Defense, + #[codec(index = 8)] + Administration, + #[codec(index = 9)] + Treasury, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum BodyPart { + #[codec(index = 0)] + Voice, + #[codec(index = 1)] + Members { + #[codec(compact)] + count: ::core::primitive::u32, + }, + #[codec(index = 2)] + Fraction { + #[codec(compact)] + nom: ::core::primitive::u32, + #[codec(compact)] + denom: ::core::primitive::u32, + }, + #[codec(index = 3)] + AtLeastProportion { + #[codec(compact)] + nom: ::core::primitive::u32, + #[codec(compact)] + denom: ::core::primitive::u32, + }, + #[codec(index = 4)] + MoreThanProportion { + #[codec(compact)] + nom: ::core::primitive::u32, + #[codec(compact)] + denom: ::core::primitive::u32, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Junction { + #[codec(index = 0)] + Parachain(#[codec(compact)] ::core::primitive::u32), + #[codec(index = 1)] + AccountId32 { + network: + ::core::option::Option, + id: [::core::primitive::u8; 32usize], + }, + #[codec(index = 2)] + AccountIndex64 { + network: + ::core::option::Option, + #[codec(compact)] + index: ::core::primitive::u64, + }, + #[codec(index = 3)] + AccountKey20 { + network: + ::core::option::Option, + key: [::core::primitive::u8; 20usize], + }, + #[codec(index = 4)] + PalletInstance(::core::primitive::u8), + #[codec(index = 5)] + GeneralIndex(#[codec(compact)] ::core::primitive::u128), + #[codec(index = 6)] + GeneralKey { + length: ::core::primitive::u8, + data: [::core::primitive::u8; 32usize], + }, + #[codec(index = 7)] + OnlyChild, + #[codec(index = 8)] + Plurality { + id: runtime_types::xcm::v3::junction::BodyId, + part: runtime_types::xcm::v3::junction::BodyPart, + }, + #[codec(index = 9)] + GlobalConsensus(runtime_types::xcm::v3::junction::NetworkId), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum NetworkId { + #[codec(index = 0)] + ByGenesis([::core::primitive::u8; 32usize]), + #[codec(index = 1)] + ByFork { + block_number: ::core::primitive::u64, + block_hash: [::core::primitive::u8; 32usize], + }, + #[codec(index = 2)] + Polkadot, + #[codec(index = 3)] + Kusama, + #[codec(index = 4)] + Westend, + #[codec(index = 5)] + Rococo, + #[codec(index = 6)] + Wococo, + #[codec(index = 7)] + Ethereum { + #[codec(compact)] + chain_id: ::core::primitive::u64, + }, + #[codec(index = 8)] + BitcoinCore, + #[codec(index = 9)] + BitcoinCash, + } + } + pub mod junctions { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Junctions { + #[codec(index = 0)] + Here, + #[codec(index = 1)] + X1(runtime_types::xcm::v3::junction::Junction), + #[codec(index = 2)] + X2( + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + ), + #[codec(index = 3)] + X3( + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + ), + #[codec(index = 4)] + X4( + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + ), + #[codec(index = 5)] + X5( + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + ), + #[codec(index = 6)] + X6( + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + ), + #[codec(index = 7)] + X7( + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + ), + #[codec(index = 8)] + X8( + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + ), + } + } + pub mod multiasset { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum AssetId { + #[codec(index = 0)] + Concrete(runtime_types::xcm::v3::multilocation::MultiLocation), + #[codec(index = 1)] + Abstract([::core::primitive::u8; 32usize]), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum AssetInstance { + #[codec(index = 0)] + Undefined, + #[codec(index = 1)] + Index(#[codec(compact)] ::core::primitive::u128), + #[codec(index = 2)] + Array4([::core::primitive::u8; 4usize]), + #[codec(index = 3)] + Array8([::core::primitive::u8; 8usize]), + #[codec(index = 4)] + Array16([::core::primitive::u8; 16usize]), + #[codec(index = 5)] + Array32([::core::primitive::u8; 32usize]), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Fungibility { + #[codec(index = 0)] + Fungible(#[codec(compact)] ::core::primitive::u128), + #[codec(index = 1)] + NonFungible(runtime_types::xcm::v3::multiasset::AssetInstance), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MultiAsset { + pub id: runtime_types::xcm::v3::multiasset::AssetId, + pub fun: runtime_types::xcm::v3::multiasset::Fungibility, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum MultiAssetFilter { + #[codec(index = 0)] + Definite(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 1)] + Wild(runtime_types::xcm::v3::multiasset::WildMultiAsset), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MultiAssets( + pub ::std::vec::Vec, + ); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum WildFungibility { + #[codec(index = 0)] + Fungible, + #[codec(index = 1)] + NonFungible, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum WildMultiAsset { + #[codec(index = 0)] + All, + #[codec(index = 1)] + AllOf { + id: runtime_types::xcm::v3::multiasset::AssetId, + fun: runtime_types::xcm::v3::multiasset::WildFungibility, + }, + #[codec(index = 2)] + AllCounted(#[codec(compact)] ::core::primitive::u32), + #[codec(index = 3)] + AllOfCounted { + id: runtime_types::xcm::v3::multiasset::AssetId, + fun: runtime_types::xcm::v3::multiasset::WildFungibility, + #[codec(compact)] + count: ::core::primitive::u32, + }, + } + } + pub mod multilocation { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MultiLocation { + pub parents: ::core::primitive::u8, + pub interior: runtime_types::xcm::v3::junctions::Junctions, + } + } + pub mod traits { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Error { + #[codec(index = 0)] + Overflow, + #[codec(index = 1)] + Unimplemented, + #[codec(index = 2)] + UntrustedReserveLocation, + #[codec(index = 3)] + UntrustedTeleportLocation, + #[codec(index = 4)] + LocationFull, + #[codec(index = 5)] + LocationNotInvertible, + #[codec(index = 6)] + BadOrigin, + #[codec(index = 7)] + InvalidLocation, + #[codec(index = 8)] + AssetNotFound, + #[codec(index = 9)] + FailedToTransactAsset, + #[codec(index = 10)] + NotWithdrawable, + #[codec(index = 11)] + LocationCannotHold, + #[codec(index = 12)] + ExceedsMaxMessageSize, + #[codec(index = 13)] + DestinationUnsupported, + #[codec(index = 14)] + Transport, + #[codec(index = 15)] + Unroutable, + #[codec(index = 16)] + UnknownClaim, + #[codec(index = 17)] + FailedToDecode, + #[codec(index = 18)] + MaxWeightInvalid, + #[codec(index = 19)] + NotHoldingFees, + #[codec(index = 20)] + TooExpensive, + #[codec(index = 21)] + Trap(::core::primitive::u64), + #[codec(index = 22)] + ExpectationFalse, + #[codec(index = 23)] + PalletNotFound, + #[codec(index = 24)] + NameMismatch, + #[codec(index = 25)] + VersionIncompatible, + #[codec(index = 26)] + HoldingWouldOverflow, + #[codec(index = 27)] + ExportError, + #[codec(index = 28)] + ReanchorFailed, + #[codec(index = 29)] + NoDeal, + #[codec(index = 30)] + FeesNotMet, + #[codec(index = 31)] + LockError, + #[codec(index = 32)] + NoPermission, + #[codec(index = 33)] + Unanchored, + #[codec(index = 34)] + NotDepositable, + #[codec(index = 35)] + UnhandledXcmVersion, + #[codec(index = 36)] + WeightLimitReached(runtime_types::sp_weights::weight_v2::Weight), + #[codec(index = 37)] + Barrier, + #[codec(index = 38)] + WeightNotComputable, + #[codec(index = 39)] + ExceedsStackLimit, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Outcome { + #[codec(index = 0)] + Complete(runtime_types::sp_weights::weight_v2::Weight), + #[codec(index = 1)] + Incomplete( + runtime_types::sp_weights::weight_v2::Weight, + runtime_types::xcm::v3::traits::Error, + ), + #[codec(index = 2)] + Error(runtime_types::xcm::v3::traits::Error), + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Instruction { + #[codec(index = 0)] + WithdrawAsset(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 1)] + ReserveAssetDeposited(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 2)] + ReceiveTeleportedAsset(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 3)] + QueryResponse { + #[codec(compact)] + query_id: ::core::primitive::u64, + response: runtime_types::xcm::v3::Response, + max_weight: runtime_types::sp_weights::weight_v2::Weight, + querier: ::core::option::Option< + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + }, + #[codec(index = 4)] + TransferAsset { + assets: runtime_types::xcm::v3::multiasset::MultiAssets, + beneficiary: runtime_types::xcm::v3::multilocation::MultiLocation, + }, + #[codec(index = 5)] + TransferReserveAsset { + assets: runtime_types::xcm::v3::multiasset::MultiAssets, + dest: runtime_types::xcm::v3::multilocation::MultiLocation, + xcm: runtime_types::xcm::v3::Xcm, + }, + #[codec(index = 6)] + Transact { + origin_kind: runtime_types::xcm::v2::OriginKind, + require_weight_at_most: runtime_types::sp_weights::weight_v2::Weight, + call: runtime_types::xcm::double_encoded::DoubleEncoded, + }, + #[codec(index = 7)] + HrmpNewChannelOpenRequest { + #[codec(compact)] + sender: ::core::primitive::u32, + #[codec(compact)] + max_message_size: ::core::primitive::u32, + #[codec(compact)] + max_capacity: ::core::primitive::u32, + }, + #[codec(index = 8)] + HrmpChannelAccepted { + #[codec(compact)] + recipient: ::core::primitive::u32, + }, + #[codec(index = 9)] + HrmpChannelClosing { + #[codec(compact)] + initiator: ::core::primitive::u32, + #[codec(compact)] + sender: ::core::primitive::u32, + #[codec(compact)] + recipient: ::core::primitive::u32, + }, + #[codec(index = 10)] + ClearOrigin, + #[codec(index = 11)] + DescendOrigin(runtime_types::xcm::v3::junctions::Junctions), + #[codec(index = 12)] + ReportError(runtime_types::xcm::v3::QueryResponseInfo), + #[codec(index = 13)] + DepositAsset { + assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter, + beneficiary: runtime_types::xcm::v3::multilocation::MultiLocation, + }, + #[codec(index = 14)] + DepositReserveAsset { + assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter, + dest: runtime_types::xcm::v3::multilocation::MultiLocation, + xcm: runtime_types::xcm::v3::Xcm, + }, + #[codec(index = 15)] + ExchangeAsset { + give: runtime_types::xcm::v3::multiasset::MultiAssetFilter, + want: runtime_types::xcm::v3::multiasset::MultiAssets, + maximal: ::core::primitive::bool, + }, + #[codec(index = 16)] + InitiateReserveWithdraw { + assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter, + reserve: runtime_types::xcm::v3::multilocation::MultiLocation, + xcm: runtime_types::xcm::v3::Xcm, + }, + #[codec(index = 17)] + InitiateTeleport { + assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter, + dest: runtime_types::xcm::v3::multilocation::MultiLocation, + xcm: runtime_types::xcm::v3::Xcm, + }, + #[codec(index = 18)] + ReportHolding { + response_info: runtime_types::xcm::v3::QueryResponseInfo, + assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter, + }, + #[codec(index = 19)] + BuyExecution { + fees: runtime_types::xcm::v3::multiasset::MultiAsset, + weight_limit: runtime_types::xcm::v3::WeightLimit, + }, + #[codec(index = 20)] + RefundSurplus, + #[codec(index = 21)] + SetErrorHandler(runtime_types::xcm::v3::Xcm), + #[codec(index = 22)] + SetAppendix(runtime_types::xcm::v3::Xcm), + #[codec(index = 23)] + ClearError, + #[codec(index = 24)] + ClaimAsset { + assets: runtime_types::xcm::v3::multiasset::MultiAssets, + ticket: runtime_types::xcm::v3::multilocation::MultiLocation, + }, + #[codec(index = 25)] + Trap(#[codec(compact)] ::core::primitive::u64), + #[codec(index = 26)] + SubscribeVersion { + #[codec(compact)] + query_id: ::core::primitive::u64, + max_response_weight: runtime_types::sp_weights::weight_v2::Weight, + }, + #[codec(index = 27)] + UnsubscribeVersion, + #[codec(index = 28)] + BurnAsset(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 29)] + ExpectAsset(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 30)] + ExpectOrigin( + ::core::option::Option< + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + ), + #[codec(index = 31)] + ExpectError( + ::core::option::Option<( + ::core::primitive::u32, + runtime_types::xcm::v3::traits::Error, + )>, + ), + #[codec(index = 32)] + ExpectTransactStatus(runtime_types::xcm::v3::MaybeErrorCode), + #[codec(index = 33)] + QueryPallet { + module_name: ::std::vec::Vec<::core::primitive::u8>, + response_info: runtime_types::xcm::v3::QueryResponseInfo, + }, + #[codec(index = 34)] + ExpectPallet { + #[codec(compact)] + index: ::core::primitive::u32, + name: ::std::vec::Vec<::core::primitive::u8>, + module_name: ::std::vec::Vec<::core::primitive::u8>, + #[codec(compact)] + crate_major: ::core::primitive::u32, + #[codec(compact)] + min_crate_minor: ::core::primitive::u32, + }, + #[codec(index = 35)] + ReportTransactStatus(runtime_types::xcm::v3::QueryResponseInfo), + #[codec(index = 36)] + ClearTransactStatus, + #[codec(index = 37)] + UniversalOrigin(runtime_types::xcm::v3::junction::Junction), + #[codec(index = 38)] + ExportMessage { + network: runtime_types::xcm::v3::junction::NetworkId, + destination: runtime_types::xcm::v3::junctions::Junctions, + xcm: runtime_types::xcm::v3::Xcm, + }, + #[codec(index = 39)] + LockAsset { + asset: runtime_types::xcm::v3::multiasset::MultiAsset, + unlocker: runtime_types::xcm::v3::multilocation::MultiLocation, + }, + #[codec(index = 40)] + UnlockAsset { + asset: runtime_types::xcm::v3::multiasset::MultiAsset, + target: runtime_types::xcm::v3::multilocation::MultiLocation, + }, + #[codec(index = 41)] + NoteUnlockable { + asset: runtime_types::xcm::v3::multiasset::MultiAsset, + owner: runtime_types::xcm::v3::multilocation::MultiLocation, + }, + #[codec(index = 42)] + RequestUnlock { + asset: runtime_types::xcm::v3::multiasset::MultiAsset, + locker: runtime_types::xcm::v3::multilocation::MultiLocation, + }, + #[codec(index = 43)] + SetFeesMode { + jit_withdraw: ::core::primitive::bool, + }, + #[codec(index = 44)] + SetTopic([::core::primitive::u8; 32usize]), + #[codec(index = 45)] + ClearTopic, + #[codec(index = 46)] + AliasOrigin(runtime_types::xcm::v3::multilocation::MultiLocation), + #[codec(index = 47)] + UnpaidExecution { + weight_limit: runtime_types::xcm::v3::WeightLimit, + check_origin: ::core::option::Option< + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum MaybeErrorCode { + #[codec(index = 0)] + Success, + #[codec(index = 1)] + Error( + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ), + #[codec(index = 2)] + TruncatedError( + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PalletInfo { + #[codec(compact)] + pub index: ::core::primitive::u32, + pub name: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + pub module_name: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + #[codec(compact)] + pub major: ::core::primitive::u32, + #[codec(compact)] + pub minor: ::core::primitive::u32, + #[codec(compact)] + pub patch: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct QueryResponseInfo { + pub destination: runtime_types::xcm::v3::multilocation::MultiLocation, + #[codec(compact)] + pub query_id: ::core::primitive::u64, + pub max_weight: runtime_types::sp_weights::weight_v2::Weight, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Response { + #[codec(index = 0)] + Null, + #[codec(index = 1)] + Assets(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 2)] + ExecutionResult( + ::core::option::Option<( + ::core::primitive::u32, + runtime_types::xcm::v3::traits::Error, + )>, + ), + #[codec(index = 3)] + Version(::core::primitive::u32), + #[codec(index = 4)] + PalletsInfo( + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::xcm::v3::PalletInfo, + >, + ), + #[codec(index = 5)] + DispatchResult(runtime_types::xcm::v3::MaybeErrorCode), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum WeightLimit { + #[codec(index = 0)] + Unlimited, + #[codec(index = 1)] + Limited(runtime_types::sp_weights::weight_v2::Weight), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Xcm(pub ::std::vec::Vec); + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum VersionedAssetId { + #[codec(index = 3)] + V3(runtime_types::xcm::v3::multiasset::AssetId), + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -47707,10 +52170,10 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum VersionedMultiAssets { - #[codec(index = 0)] - V0(::std::vec::Vec), #[codec(index = 1)] - V1(runtime_types::xcm::v1::multiasset::MultiAssets), + V2(runtime_types::xcm::v2::multiasset::MultiAssets), + #[codec(index = 3)] + V3(runtime_types::xcm::v3::multiasset::MultiAssets), } #[derive( :: subxt :: ext :: codec :: Decode, @@ -47723,10 +52186,10 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum VersionedMultiLocation { - #[codec(index = 0)] - V0(runtime_types::xcm::v0::multi_location::MultiLocation), #[codec(index = 1)] - V1(runtime_types::xcm::v1::multilocation::MultiLocation), + V2(runtime_types::xcm::v2::multilocation::MultiLocation), + #[codec(index = 3)] + V3(runtime_types::xcm::v3::multilocation::MultiLocation), } #[derive( :: subxt :: ext :: codec :: Decode, @@ -47739,12 +52202,10 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum VersionedResponse { - #[codec(index = 0)] - V0(runtime_types::xcm::v0::Response), - #[codec(index = 1)] - V1(runtime_types::xcm::v1::Response), #[codec(index = 2)] V2(runtime_types::xcm::v2::Response), + #[codec(index = 3)] + V3(runtime_types::xcm::v3::Response), } #[derive( :: subxt :: ext :: codec :: Decode, @@ -47757,12 +52218,10 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum VersionedXcm { - #[codec(index = 0)] - V0(runtime_types::xcm::v0::Xcm), - #[codec(index = 1)] - V1(runtime_types::xcm::v1::Xcm), #[codec(index = 2)] V2(runtime_types::xcm::v2::Xcm), + #[codec(index = 3)] + V3(runtime_types::xcm::v3::Xcm), } } } diff --git a/testing/integration-tests/src/lib.rs b/testing/integration-tests/src/lib.rs index 38f0c47490..9b68870e7b 100644 --- a/testing/integration-tests/src/lib.rs +++ b/testing/integration-tests/src/lib.rs @@ -18,6 +18,8 @@ mod frame; #[cfg(test)] mod metadata; #[cfg(test)] +mod runtime_api; +#[cfg(test)] mod storage; #[cfg(test)] diff --git a/testing/integration-tests/src/runtime_api/mod.rs b/testing/integration-tests/src/runtime_api/mod.rs new file mode 100644 index 0000000000..c70b1fdfd2 --- /dev/null +++ b/testing/integration-tests/src/runtime_api/mod.rs @@ -0,0 +1,49 @@ +// Copyright 2019-2023 Parity Technologies (UK) Ltd. +// This file is dual-licensed as Apache-2.0 or GPL-3.0. +// see LICENSE for license details. + +use crate::{node_runtime, pair_signer, test_context}; +use sp_keyring::AccountKeyring; +use subxt::utils::AccountId32; + +#[tokio::test] +async fn account_nonce() -> Result<(), subxt::Error> { + let ctx = test_context().await; + let api = ctx.client(); + + let signer = pair_signer(AccountKeyring::Alice.pair()); + let alice: AccountId32 = AccountKeyring::Alice.to_account_id().into(); + + // Check Alice nonce is starting from 0. + let runtime_api_call = node_runtime::apis() + .account_nonce_api() + .account_nonce(alice.clone()); + let nonce = api + .runtime_api() + .at_latest() + .await? + .call(runtime_api_call) + .await?; + assert_eq!(nonce, 0); + + // Do some transaction to bump the Alice nonce to 1: + let remark_tx = node_runtime::tx().system().remark(vec![1, 2, 3, 4, 5]); + api.tx() + .sign_and_submit_then_watch_default(&remark_tx, &signer) + .await? + .wait_for_finalized_success() + .await?; + + let runtime_api_call = node_runtime::apis() + .account_nonce_api() + .account_nonce(alice); + let nonce = api + .runtime_api() + .at_latest() + .await? + .call(runtime_api_call) + .await?; + assert_eq!(nonce, 1); + + Ok(()) +} diff --git a/testing/test-runtime/Cargo.toml b/testing/test-runtime/Cargo.toml index 4236ef57aa..b8085a4b6c 100644 --- a/testing/test-runtime/Cargo.toml +++ b/testing/test-runtime/Cargo.toml @@ -14,3 +14,5 @@ serde = { workspace = true } tokio = { workspace = true } which = { workspace = true } jsonrpsee = { workspace = true, features = ["async-client", "client-ws-transport"] } +hex = { workspace = true } +codec = { workspace = true } diff --git a/testing/test-runtime/build.rs b/testing/test-runtime/build.rs index 8b584d2185..bdd45d08bc 100644 --- a/testing/test-runtime/build.rs +++ b/testing/test-runtime/build.rs @@ -2,6 +2,7 @@ // This file is dual-licensed as Apache-2.0 or GPL-3.0. // see LICENSE for license details. +use codec::{Decode, Encode}; use std::{env, fs, path::Path}; use substrate_runner::{Error as SubstrateNodeError, SubstrateNode}; @@ -36,22 +37,31 @@ async fn run() { // Download metadata from binary. Avoid Subxt dep on `subxt::rpc::types::Bytes`and just impl here. // This may at least prevent this script from running so often (ie whenever we change Subxt). - #[derive(serde::Deserialize)] - pub struct Bytes(#[serde(with = "impl_serde::serialize")] pub Vec); - let metadata_bytes: Bytes = { + const V15_METADATA_VERSION: u32 = u32::MAX; + let bytes = V15_METADATA_VERSION.encode(); + let version: String = format!("0x{}", hex::encode(&bytes)); + let raw: String = { use client::ClientT; client::build(&format!("ws://localhost:{port}")) .await .unwrap_or_else(|e| panic!("Failed to connect to node: {e}")) - .request("state_getMetadata", client::rpc_params![]) + .request( + "state_call", + client::rpc_params!["Metadata_metadata_at_version", &version], + ) .await .unwrap_or_else(|e| panic!("Failed to obtain metadata from node: {e}")) }; + let raw_bytes = hex::decode(raw.trim_start_matches("0x")) + .unwrap_or_else(|e| panic!("Failed to hex-decode metadata: {e}")); + let bytes: Option> = Decode::decode(&mut &raw_bytes[..]) + .unwrap_or_else(|e| panic!("Failed to decode metadata bytes: {e}")); + let metadata_bytes = bytes.expect("Metadata version not found"); // Save metadata to a file: let out_dir = env::var_os("OUT_DIR").unwrap(); let metadata_path = Path::new(&out_dir).join("metadata.scale"); - fs::write(&metadata_path, metadata_bytes.0).expect("Couldn't write metadata output"); + fs::write(&metadata_path, metadata_bytes).expect("Couldn't write metadata output"); // Write out our expression to generate the runtime API to a file. Ideally, we'd just write this code // in lib.rs, but we must pass a string literal (and not `concat!(..)`) as an arg to `runtime_metadata_path`, From 53544a54b65abfaf74ac1cba6915abc620b6e46a Mon Sep 17 00:00:00 2001 From: James Wilson Date: Thu, 4 May 2023 13:14:40 +0100 Subject: [PATCH 12/15] Runtime APIs; don't ask for validation hash anywhere except new_static (#947) * remove validation hash where not wanted * .into() * fix example * cargo fmt --- examples/examples/runtime_calls.rs | 7 ++----- subxt/src/runtime_api/runtime_payload.rs | 16 +++------------- 2 files changed, 5 insertions(+), 18 deletions(-) diff --git a/examples/examples/runtime_calls.rs b/examples/examples/runtime_calls.rs index f2d52766fd..e5337e5a50 100644 --- a/examples/examples/runtime_calls.rs +++ b/examples/examples/runtime_calls.rs @@ -68,11 +68,8 @@ async fn main() -> Result<(), Box> { println!("AccountNonceApi_account_nonce for Alice: {:?}", nonce); // Dynamic calls. - let runtime_api_call = subxt::dynamic::runtime_api_call( - "Metadata_metadata_versions", - Vec::>::new(), - None, - ); + let runtime_api_call = + subxt::dynamic::runtime_api_call("Metadata_metadata_versions", Vec::>::new()); let versions = api .runtime_api() .at_latest() diff --git a/subxt/src/runtime_api/runtime_payload.rs b/subxt/src/runtime_api/runtime_payload.rs index 7636ea6a02..c264742e84 100644 --- a/subxt/src/runtime_api/runtime_payload.rs +++ b/subxt/src/runtime_api/runtime_payload.rs @@ -97,15 +97,11 @@ pub type DynamicRuntimeApiPayload = Payload, DecodedValueThunk>; impl Payload { /// Create a new [`Payload`]. - pub fn new( - fn_name: impl Into, - args_data: ArgsData, - validation_hash: Option<[u8; 32]>, - ) -> Self { + pub fn new(fn_name: impl Into, args_data: ArgsData) -> Self { Payload { fn_name: Cow::Owned(fn_name.into()), args_data, - validation_hash, + validation_hash: None, _marker: PhantomData, } } @@ -151,12 +147,6 @@ impl Payload { pub fn dynamic( fn_name: impl Into, args_data: impl Into>, - hash: Option<[u8; 32]>, ) -> DynamicRuntimeApiPayload { - DynamicRuntimeApiPayload { - fn_name: Cow::Owned(fn_name.into()), - args_data: args_data.into(), - validation_hash: hash, - _marker: std::marker::PhantomData, - } + Payload::new(fn_name, args_data.into()) } From 562f12cd9b57e441e6686b3dc1b18fdc31fdf55e Mon Sep 17 00:00:00 2001 From: James Wilson Date: Thu, 4 May 2023 15:03:42 +0100 Subject: [PATCH 13/15] Subxt Guide (#890) * WIP Starting to write book; extrinsics first pass done * cargo fmt * Ongoing work; events, constants, wip blocks * at_latest() and wip blocks * remove need to import parity-scale-codec crate with Subxt for macro to work * More docs; expanding on setup guide and finish pass of main sections * Tidy and remove example section for now * format book lines to 100chars * Fix example code * cargo fmt * cargo fmt * fix example * Fix typos * fix broken doc links, pub mods * Update Subxt macro docs * can't link to Subxt here * move macro docs to Subxt to make linking better and fix example code * note on macro about docs * cargo fmt * document the no_default_derives macro feature * Address feedback and remove redundant text * address review comments; minor tweaks * WIP add Runtime calls to book * Improve Runtime API docs * expose thing we forgot to expose and doc link fixes --- Cargo.lock | 78 +++-- Cargo.toml | 2 +- codegen/src/api/mod.rs | 9 +- examples/Cargo.toml | 4 - examples/README.md | 4 +- examples/examples/balance_transfer.rs | 40 --- examples/examples/balance_transfer_basic.rs | 34 ++ .../balance_transfer_status_stream.rs | 58 ++++ .../examples/balance_transfer_with_params.rs | 46 +-- ...scribe_blocks.rs => blocks_subscribing.rs} | 18 +- .../examples/concurrent_storage_requests.rs | 39 --- examples/examples/constants_dynamic.rs | 17 + examples/examples/constants_static.rs | 19 ++ examples/examples/custom_config.rs | 59 ---- examples/examples/custom_metadata_url.rs | 12 - examples/examples/custom_type_derives.rs | 32 -- examples/examples/dynamic_multisig.rs | 74 ----- examples/examples/dynamic_queries.rs | 85 ----- examples/examples/events.rs | 60 ++++ examples/examples/fetch_all_accounts.rs | 32 -- examples/examples/fetch_constants.rs | 35 -- examples/examples/fetch_staking_details.rs | 71 ---- examples/examples/metadata_compatibility.rs | 33 -- examples/examples/multisig.rs | 72 ---- examples/examples/rpc_call.rs | 32 -- .../examples/rpc_call_subscribe_blocks.rs | 36 -- examples/examples/runtime_apis_dynamic.rs | 31 ++ examples/examples/runtime_apis_raw.rs | 22 ++ examples/examples/runtime_apis_static.rs | 27 ++ examples/examples/runtime_calls.rs | 85 ----- examples/examples/runtime_types_only.rs | 62 ---- .../examples/setup_client_custom_config.rs | 30 ++ ...c_client.rs => setup_client_custom_rpc.rs} | 9 - examples/examples/setup_client_offline.rs | 37 +++ examples/examples/storage_fetch.rs | 29 ++ examples/examples/storage_fetch_dynamic.rs | 27 ++ examples/examples/storage_iterating.rs | 109 +----- .../examples/storage_iterating_dynamic.rs | 25 ++ examples/examples/submit_and_watch.rs | 166 ---------- examples/examples/subscribe_block_events.rs | 88 ----- .../examples/subscribe_runtime_updates.rs | 36 -- macro/src/lib.rs | 108 +----- subxt/src/blocks/mod.rs | 2 +- subxt/src/book/mod.rs | 96 ++++++ subxt/src/book/setup/client.rs | 54 +++ subxt/src/book/setup/codegen.rs | 66 ++++ subxt/src/book/setup/mod.rs | 13 + subxt/src/book/usage/blocks.rs | 39 +++ subxt/src/book/usage/constants.rs | 61 ++++ subxt/src/book/usage/events.rs | 50 +++ subxt/src/book/usage/extrinsics.rs | 175 ++++++++++ subxt/src/book/usage/mod.rs | 21 ++ subxt/src/book/usage/runtime_apis.rs | 81 +++++ subxt/src/book/usage/storage.rs | 110 ++++++ subxt/src/config/mod.rs | 3 +- subxt/src/dynamic.rs | 2 +- subxt/src/lib.rs | 312 ++++++++++++------ subxt/src/metadata/mod.rs | 1 + 58 files changed, 1472 insertions(+), 1506 deletions(-) delete mode 100644 examples/examples/balance_transfer.rs create mode 100644 examples/examples/balance_transfer_basic.rs create mode 100644 examples/examples/balance_transfer_status_stream.rs rename examples/examples/{subscribe_blocks.rs => blocks_subscribing.rs} (73%) delete mode 100644 examples/examples/concurrent_storage_requests.rs create mode 100644 examples/examples/constants_dynamic.rs create mode 100644 examples/examples/constants_static.rs delete mode 100644 examples/examples/custom_config.rs delete mode 100644 examples/examples/custom_metadata_url.rs delete mode 100644 examples/examples/custom_type_derives.rs delete mode 100644 examples/examples/dynamic_multisig.rs delete mode 100644 examples/examples/dynamic_queries.rs create mode 100644 examples/examples/events.rs delete mode 100644 examples/examples/fetch_all_accounts.rs delete mode 100644 examples/examples/fetch_constants.rs delete mode 100644 examples/examples/fetch_staking_details.rs delete mode 100644 examples/examples/metadata_compatibility.rs delete mode 100644 examples/examples/multisig.rs delete mode 100644 examples/examples/rpc_call.rs delete mode 100644 examples/examples/rpc_call_subscribe_blocks.rs create mode 100644 examples/examples/runtime_apis_dynamic.rs create mode 100644 examples/examples/runtime_apis_raw.rs create mode 100644 examples/examples/runtime_apis_static.rs delete mode 100644 examples/examples/runtime_calls.rs delete mode 100644 examples/examples/runtime_types_only.rs create mode 100644 examples/examples/setup_client_custom_config.rs rename examples/examples/{custom_rpc_client.rs => setup_client_custom_rpc.rs} (91%) create mode 100644 examples/examples/setup_client_offline.rs create mode 100644 examples/examples/storage_fetch.rs create mode 100644 examples/examples/storage_fetch_dynamic.rs create mode 100644 examples/examples/storage_iterating_dynamic.rs delete mode 100644 examples/examples/submit_and_watch.rs delete mode 100644 examples/examples/subscribe_block_events.rs delete mode 100644 examples/examples/subscribe_runtime_updates.rs create mode 100644 subxt/src/book/mod.rs create mode 100644 subxt/src/book/setup/client.rs create mode 100644 subxt/src/book/setup/codegen.rs create mode 100644 subxt/src/book/setup/mod.rs create mode 100644 subxt/src/book/usage/blocks.rs create mode 100644 subxt/src/book/usage/constants.rs create mode 100644 subxt/src/book/usage/events.rs create mode 100644 subxt/src/book/usage/extrinsics.rs create mode 100644 subxt/src/book/usage/mod.rs create mode 100644 subxt/src/book/usage/runtime_apis.rs create mode 100644 subxt/src/book/usage/storage.rs diff --git a/Cargo.lock b/Cargo.lock index c58c56f890..f1bbec594c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -94,9 +94,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6342bd4f5a1205d7f41e94a41a901f5647c938cdfa96036338e8533c9d6c2450" +checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" dependencies = [ "anstyle", "anstyle-parse", @@ -143,9 +143,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.70" +version = "1.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7de8ce5e0f9f8d88245311066a578d72b7af3e7088f32783804676302df237e4" +checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" [[package]] name = "array-bytes" @@ -353,9 +353,9 @@ dependencies = [ [[package]] name = "bounded-collections" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a071c348a5ef6da1d3a87166b408170b46002382b1dda83992b5c2208cefb370" +checksum = "e3888522b497857eb606bf51695988dba7096941822c1bcf676e3a929a9ae7a0" dependencies = [ "log", "parity-scale-codec", @@ -458,9 +458,9 @@ dependencies = [ [[package]] name = "clap" -version = "3.2.23" +version = "3.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" +checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" dependencies = [ "bitflags", "clap_lex 0.2.4", @@ -470,9 +470,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.2.5" +version = "4.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a1f23fa97e1d1641371b51f35535cb26959b8e27ab50d167a8b996b5bada819" +checksum = "34d21f9bf1b425d2968943631ec91202fe5e837264063503708b83013f8fc938" dependencies = [ "clap_builder", "clap_derive", @@ -481,9 +481,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.2.5" +version = "4.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fdc5d93c358224b4d6867ef1356d740de2303e9892edc06c5340daeccd96bab" +checksum = "914c8c79fb560f238ef6429439a30023c862f7a28e688c58f7203f12b29970bd" dependencies = [ "anstream", "anstyle", @@ -640,7 +640,7 @@ dependencies = [ "atty", "cast", "ciborium", - "clap 3.2.23", + "clap 3.2.25", "criterion-plot", "itertools", "lazy_static", @@ -837,12 +837,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.0" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7c99d16b88c92aef47e58dadd53e87b4bd234c29934947a6cec8b466300f99b" +checksum = "0558d22a7b463ed0241e993f76f09f30b126687447751a8638587b864e4b3944" dependencies = [ - "darling_core 0.20.0", - "darling_macro 0.20.0", + "darling_core 0.20.1", + "darling_macro 0.20.1", ] [[package]] @@ -861,9 +861,9 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.0" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ea05d2fcb27b53f7a98faddaf5f2914760330ab7703adfc9df13332b42189f9" +checksum = "ab8bfa2e259f8ee1ce5e97824a3c55ec4404a0d772ca7fa96bf19f0752a046eb" dependencies = [ "fnv", "ident_case", @@ -886,11 +886,11 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.0" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bfb82b62b1b8a2a9808fb4caf844ede819a76cfc23b2827d7f94eefb49551eb" +checksum = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a" dependencies = [ - "darling_core 0.20.0", + "darling_core 0.20.1", "quote", "syn 2.0.15", ] @@ -1691,7 +1691,7 @@ checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" dependencies = [ "hermit-abi 0.3.1", "io-lifetimes", - "rustix 0.37.14", + "rustix 0.37.19", "windows-sys 0.48.0", ] @@ -1905,9 +1905,9 @@ checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" [[package]] name = "linux-raw-sys" -version = "0.3.4" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36eb31c1778188ae1e64398743890d0877fef36d11521ac60406b42016e8c2cf" +checksum = "ece97ea872ece730aed82664c424eb4c8291e1ff2480247ccf7409044bc6479f" [[package]] name = "lock_api" @@ -1958,7 +1958,7 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffc89ccdc6e10d6907450f753537ebc5c5d3460d2e4e62ea74bd571db62c0f9e" dependencies = [ - "rustix 0.37.14", + "rustix 0.37.19", ] [[package]] @@ -2630,15 +2630,15 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.14" +version = "0.37.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b864d3c18a5785a05953adeed93e2dca37ed30f18e69bba9f30079d51f363f" +checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d" dependencies = [ "bitflags", "errno", "io-lifetimes", "libc", - "linux-raw-sys 0.3.4", + "linux-raw-sys 0.3.7", "windows-sys 0.48.0", ] @@ -3457,9 +3457,9 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "ss58-registry" -version = "1.39.0" +version = "1.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecf0bd63593ef78eca595a7fc25e9a443ca46fe69fd472f8f09f5245cdcd769d" +checksum = "eb47a8ad42e5fc72d5b1eb104a5546937eaf39843499948bb666d6e93c62423b" dependencies = [ "Inflector", "num-format", @@ -3574,7 +3574,7 @@ dependencies = [ name = "subxt-cli" version = "0.28.0" dependencies = [ - "clap 4.2.5", + "clap 4.2.7", "color-eyre", "frame-metadata", "hex", @@ -3614,20 +3614,16 @@ version = "0.28.0" dependencies = [ "futures", "hex", - "parity-scale-codec", - "sp-core", "sp-keyring", - "sp-runtime", "subxt", "tokio", - "tracing-subscriber 0.3.17", ] [[package]] name = "subxt-macro" version = "0.28.0" dependencies = [ - "darling 0.20.0", + "darling 0.20.1", "proc-macro-error", "subxt-codegen", "syn 2.0.15", @@ -3824,9 +3820,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.7" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" +checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" dependencies = [ "bytes", "futures-core", @@ -4638,9 +4634,9 @@ checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" [[package]] name = "winnow" -version = "0.4.1" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae8970b36c66498d8ff1d66685dc86b91b29db0c7739899012f63a63814b4b28" +checksum = "61de7bac303dc551fe038e2b3cef0f571087a47571ea6e79a87692ac99b99699" dependencies = [ "memchr", ] diff --git a/Cargo.toml b/Cargo.toml index cf87f98ec1..71c7eb4d4d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -86,4 +86,4 @@ subxt-macro = { version = "0.28.0", path = "macro" } subxt-metadata = { version = "0.28.0", path = "metadata" } subxt-codegen = { version = "0.28.0", path = "codegen" } test-runtime = { path = "testing/test-runtime" } -substrate-runner = { path = "testing/substrate-runner" } \ No newline at end of file +substrate-runner = { path = "testing/substrate-runner" } diff --git a/codegen/src/api/mod.rs b/codegen/src/api/mod.rs index 8f112b088f..2421e711f1 100644 --- a/codegen/src/api/mod.rs +++ b/codegen/src/api/mod.rs @@ -225,8 +225,13 @@ impl RuntimeGenerator { // Preserve any Rust items that were previously defined in the adorned module #( #rust_items ) * - // Make it easy to access the root via `root_mod` at different levels: - use super::#mod_ident as root_mod; + // Make it easy to access the root items via `root_mod` at different levels + // without reaching out of this module. + #[allow(unused_imports)] + mod root_mod { + pub use super::*; + } + #types_mod } }) diff --git a/examples/Cargo.toml b/examples/Cargo.toml index 2b28de852b..d6972e640c 100644 --- a/examples/Cargo.toml +++ b/examples/Cargo.toml @@ -16,9 +16,5 @@ description = "Subxt example usage" subxt = { workspace = true } tokio = { workspace = true } futures = { workspace = true } -codec = { package = "parity-scale-codec", workspace = true, features = ["derive", "bit-vec"] } hex = { workspace = true } sp-keyring = { workspace = true } -sp-core = { workspace = true } -sp-runtime = { workspace = true } -tracing-subscriber = { workspace = true } diff --git a/examples/README.md b/examples/README.md index 30ae9c8b65..a7c3c186ab 100644 --- a/examples/README.md +++ b/examples/README.md @@ -1,3 +1,5 @@ # Subxt Examples -Take a look in the [examples](./examples) subfolder for various `subxt` usage examples. \ No newline at end of file +Take a look in the [examples](./examples) subfolder for various `subxt` usage examples. + +All examples form part of the `subxt` documentation; there should be no examples without corresponding links from the docs. \ No newline at end of file diff --git a/examples/examples/balance_transfer.rs b/examples/examples/balance_transfer.rs deleted file mode 100644 index 6392c686bc..0000000000 --- a/examples/examples/balance_transfer.rs +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2019-2023 Parity Technologies (UK) Ltd. -// This file is dual-licensed as Apache-2.0 or GPL-3.0. -// see LICENSE for license details. - -//! To run this example, a local polkadot node should be running. Example verified against polkadot v0.9.28-9ffe6e9e3da. -//! -//! E.g. -//! ```bash -//! curl "https://github.com/paritytech/polkadot/releases/download/v0.9.28/polkadot" --output /usr/local/bin/polkadot --location -//! polkadot --dev --tmp -//! ``` - -use sp_keyring::AccountKeyring; -use subxt::{tx::PairSigner, OnlineClient, PolkadotConfig}; - -#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] -pub mod polkadot {} - -#[tokio::main] -async fn main() -> Result<(), Box> { - tracing_subscriber::fmt::init(); - - let signer = PairSigner::new(AccountKeyring::Alice.pair()); - let dest = AccountKeyring::Bob.to_account_id().into(); - - // Create a client to use: - let api = OnlineClient::::new().await?; - - // Create a transaction to submit: - let tx = polkadot::tx() - .balances() - .transfer(dest, 123_456_789_012_345); - - // Submit the transaction with default params: - let hash = api.tx().sign_and_submit_default(&tx, &signer).await?; - - println!("Balance transfer extrinsic submitted: {hash}"); - - Ok(()) -} diff --git a/examples/examples/balance_transfer_basic.rs b/examples/examples/balance_transfer_basic.rs new file mode 100644 index 0000000000..787f1f9ef2 --- /dev/null +++ b/examples/examples/balance_transfer_basic.rs @@ -0,0 +1,34 @@ +use sp_keyring::AccountKeyring; +use subxt::{tx::PairSigner, OnlineClient, PolkadotConfig}; + +// Generate an interface that we can use from the node's metadata. +#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] +pub mod polkadot {} + +#[tokio::main] +async fn main() -> Result<(), Box> { + // Create a new API client, configured to talk to Polkadot nodes. + let api = OnlineClient::::new().await?; + + // Build a balance transfer extrinsic. + let dest = AccountKeyring::Bob.to_account_id().into(); + let balance_transfer_tx = polkadot::tx().balances().transfer(dest, 10_000); + + // Submit the balance transfer extrinsic from Alice, and wait for it to be successful + // and in a finalized block. We get back the extrinsic events if all is well. + let from = PairSigner::new(AccountKeyring::Alice.pair()); + let events = api + .tx() + .sign_and_submit_then_watch_default(&balance_transfer_tx, &from) + .await? + .wait_for_finalized_success() + .await?; + + // Find a Transfer event and print it. + let transfer_event = events.find_first::()?; + if let Some(event) = transfer_event { + println!("Balance transfer success: {event:?}"); + } + + Ok(()) +} diff --git a/examples/examples/balance_transfer_status_stream.rs b/examples/examples/balance_transfer_status_stream.rs new file mode 100644 index 0000000000..a390f9e3d4 --- /dev/null +++ b/examples/examples/balance_transfer_status_stream.rs @@ -0,0 +1,58 @@ +use futures::StreamExt; +use sp_keyring::AccountKeyring; +use subxt::{ + tx::{PairSigner, TxStatus}, + OnlineClient, PolkadotConfig, +}; + +// Generate an interface that we can use from the node's metadata. +#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] +pub mod polkadot {} + +#[tokio::main] +async fn main() -> Result<(), Box> { + // Create a new API client, configured to talk to Polkadot nodes. + let api = OnlineClient::::new().await?; + + // Build a balance transfer extrinsic. + let dest = AccountKeyring::Bob.to_account_id().into(); + let balance_transfer_tx = polkadot::tx().balances().transfer(dest, 10_000); + + // Submit the balance transfer extrinsic from Alice, and then monitor the + // progress of it. + let signer = PairSigner::new(AccountKeyring::Alice.pair()); + let mut balance_transfer_progress = api + .tx() + .sign_and_submit_then_watch_default(&balance_transfer_tx, &signer) + .await?; + + while let Some(status) = balance_transfer_progress.next().await { + match status? { + // It's finalized in a block! + TxStatus::Finalized(in_block) => { + println!( + "Transaction {:?} is finalized in block {:?}", + in_block.extrinsic_hash(), + in_block.block_hash() + ); + + // grab the events and fail if no ExtrinsicSuccess event seen: + let events = in_block.wait_for_success().await?; + // We can look for events (this uses the static interface; we can also iterate + // over them and dynamically decode them): + let transfer_event = events.find_first::()?; + + if let Some(event) = transfer_event { + println!("Balance transfer success: {event:?}"); + } else { + println!("Failed to find Balances::Transfer Event"); + } + } + // Just log any other status we encounter: + other => { + println!("Status: {other:?}"); + } + } + } + Ok(()) +} diff --git a/examples/examples/balance_transfer_with_params.rs b/examples/examples/balance_transfer_with_params.rs index ee9bde04ce..c94140d421 100644 --- a/examples/examples/balance_transfer_with_params.rs +++ b/examples/examples/balance_transfer_with_params.rs @@ -1,52 +1,28 @@ -// Copyright 2019-2023 Parity Technologies (UK) Ltd. -// This file is dual-licensed as Apache-2.0 or GPL-3.0. -// see LICENSE for license details. - -//! To run this example, a local polkadot node should be running. Example verified against polkadot v0.9.28-9ffe6e9e3da. -//! -//! E.g. -//! ```bash -//! curl "https://github.com/paritytech/polkadot/releases/download/v0.9.28/polkadot" --output /usr/local/bin/polkadot --location -//! polkadot --dev --tmp -//! ``` - use sp_keyring::AccountKeyring; -use subxt::{ - config::{ - polkadot::{Era, PlainTip, PolkadotExtrinsicParamsBuilder as Params}, - PolkadotConfig, - }, - tx::PairSigner, - OnlineClient, -}; +use subxt::config::polkadot::{Era, PlainTip, PolkadotExtrinsicParamsBuilder as Params}; +use subxt::{tx::PairSigner, OnlineClient, PolkadotConfig}; #[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] pub mod polkadot {} #[tokio::main] async fn main() -> Result<(), Box> { - tracing_subscriber::fmt::init(); - - let signer = PairSigner::new(AccountKeyring::Alice.pair()); - let dest = AccountKeyring::Bob.to_account_id().into(); - - // Create a client to use: + // Create a new API client, configured to talk to Polkadot nodes. let api = OnlineClient::::new().await?; - // Create a transaction to submit: - let tx = polkadot::tx() - .balances() - .transfer(dest, 123_456_789_012_345); + // Build a balance transfer extrinsic. + let dest = AccountKeyring::Bob.to_account_id().into(); + let tx = polkadot::tx().balances().transfer(dest, 10_000); - // Configure the transaction tip and era: + // Configure the transaction parameters; for Polkadot the tip and era: let tx_params = Params::new() - .tip(PlainTip::new(20_000_000_000)) + .tip(PlainTip::new(1_000)) .era(Era::Immortal, api.genesis_hash()); // submit the transaction: - let hash = api.tx().sign_and_submit(&tx, &signer, tx_params).await?; - - println!("Balance transfer extrinsic submitted: {hash}"); + let from = PairSigner::new(AccountKeyring::Alice.pair()); + let hash = api.tx().sign_and_submit(&tx, &from, tx_params).await?; + println!("Balance transfer extrinsic submitted with hash : {hash}"); Ok(()) } diff --git a/examples/examples/subscribe_blocks.rs b/examples/examples/blocks_subscribing.rs similarity index 73% rename from examples/examples/subscribe_blocks.rs rename to examples/examples/blocks_subscribing.rs index 81a88f09b5..4c8cdb6cff 100644 --- a/examples/examples/subscribe_blocks.rs +++ b/examples/examples/blocks_subscribing.rs @@ -1,15 +1,3 @@ -// Copyright 2019-2023 Parity Technologies (UK) Ltd. -// This file is dual-licensed as Apache-2.0 or GPL-3.0. -// see LICENSE for license details. - -//! To run this example, a local polkadot node should be running. Example verified against polkadot 0.9.29-41a9d84b152. -//! -//! E.g. -//! ```bash -//! curl "https://github.com/paritytech/polkadot/releases/download/v0.9.29/polkadot" --output /usr/local/bin/polkadot --location -//! polkadot --dev --tmp -//! ``` - use futures::StreamExt; use subxt::{OnlineClient, PolkadotConfig}; @@ -18,14 +6,13 @@ pub mod polkadot {} #[tokio::main] async fn main() -> Result<(), Box> { - tracing_subscriber::fmt::init(); - // Create a client to use: let api = OnlineClient::::new().await?; // Subscribe to all finalized blocks: let mut blocks_sub = api.blocks().subscribe_finalized().await?; + // For each block, print a bunch of information about it: while let Some(block) = blocks_sub.next().await { let block = block?; @@ -36,6 +23,7 @@ async fn main() -> Result<(), Box> { println!(" Hash: {block_hash}"); println!(" Extrinsics:"); + // Log each of the extrinsic with it's associated events: let body = block.body().await?; for ext in body.extrinsics() { let idx = ext.index(); @@ -51,8 +39,10 @@ async fn main() -> Result<(), Box> { let pallet_name = evt.pallet_name(); let event_name = evt.variant_name(); + let event_values = evt.field_values()?; println!(" {pallet_name}_{event_name}"); + println!(" {}", event_values); } } } diff --git a/examples/examples/concurrent_storage_requests.rs b/examples/examples/concurrent_storage_requests.rs deleted file mode 100644 index ccfc673f89..0000000000 --- a/examples/examples/concurrent_storage_requests.rs +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2019-2023 Parity Technologies (UK) Ltd. -// This file is dual-licensed as Apache-2.0 or GPL-3.0. -// see LICENSE for license details. - -//! To run this example, a local polkadot node should be running. Example verified against polkadot v0.9.28-9ffe6e9e3da. -//! -//! E.g. -//! ```bash -//! curl "https://github.com/paritytech/polkadot/releases/download/v0.9.28/polkadot" --output /usr/local/bin/polkadot --location -//! polkadot --dev --tmp -//! ``` - -use futures::join; -use sp_keyring::AccountKeyring; -use subxt::{OnlineClient, PolkadotConfig}; - -#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] -pub mod polkadot {} - -#[tokio::main] -async fn main() -> Result<(), Box> { - let api = OnlineClient::::new().await?; - - let addr = AccountKeyring::Bob.to_account_id().into(); - - // Construct storage addresses to access: - let staking_bonded = polkadot::storage().staking().bonded(&addr); - let staking_ledger = polkadot::storage().staking().ledger(&addr); - - // For storage requests, we can join futures together to - // await multiple futures concurrently: - let a_fut = api.storage().at_latest().await?.fetch(&staking_bonded); - let b_fut = api.storage().at_latest().await?.fetch(&staking_ledger); - let (a, b) = join!(a_fut, b_fut); - - println!("{a:?}, {b:?}"); - - Ok(()) -} diff --git a/examples/examples/constants_dynamic.rs b/examples/examples/constants_dynamic.rs new file mode 100644 index 0000000000..ba23a8415d --- /dev/null +++ b/examples/examples/constants_dynamic.rs @@ -0,0 +1,17 @@ +use subxt::{OnlineClient, PolkadotConfig}; + +#[tokio::main] +async fn main() -> Result<(), Box> { + // Create a client to use: + let api = OnlineClient::::new().await?; + + // A dynamic query to obtain some contant: + let constant_query = subxt::dynamic::constant("System", "BlockLength"); + + // Obtain the value: + let value = api.constants().at(&constant_query)?; + + println!("Constant bytes: {:?}", value.encoded()); + println!("Constant value: {}", value.to_value()?); + Ok(()) +} diff --git a/examples/examples/constants_static.rs b/examples/examples/constants_static.rs new file mode 100644 index 0000000000..1dd9409c0e --- /dev/null +++ b/examples/examples/constants_static.rs @@ -0,0 +1,19 @@ +use subxt::{OnlineClient, PolkadotConfig}; + +#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] +pub mod polkadot {} + +#[tokio::main] +async fn main() -> Result<(), Box> { + // Create a client to use: + let api = OnlineClient::::new().await?; + + // A query to obtain some contant: + let constant_query = polkadot::constants().system().block_length(); + + // Obtain the value: + let value = api.constants().at(&constant_query)?; + + println!("Block length: {value:?}"); + Ok(()) +} diff --git a/examples/examples/custom_config.rs b/examples/examples/custom_config.rs deleted file mode 100644 index 7c784d1503..0000000000 --- a/examples/examples/custom_config.rs +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2019-2023 Parity Technologies (UK) Ltd. -// This file is dual-licensed as Apache-2.0 or GPL-3.0. -// see LICENSE for license details. - -//! This example should compile but should fail to work, since we've modified the -//! config to not align with a Polkadot node. - -use sp_keyring::AccountKeyring; -use subxt::{ - config::{substrate::SubstrateExtrinsicParams, Config, SubstrateConfig}, - tx::PairSigner, - OnlineClient, -}; - -#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] -pub mod polkadot {} - -/// Custom [`Config`] impl where the default types for the target chain differ from the -/// [`DefaultConfig`] -#[derive(Clone, Debug, Default, Eq, PartialEq)] -pub struct MyConfig; -impl Config for MyConfig { - // This is different from the default `u32`. - // - // *Note* that in this example it does differ from the actual `Index` type in the - // polkadot runtime used, so some operations will fail. Normally when using a custom `Config` - // impl types MUST match exactly those used in the actual runtime. - type Index = u64; - type Hash = ::Hash; - type Hasher = ::Hasher; - type Header = ::Header; - type AccountId = ::AccountId; - type Address = ::Address; - type Signature = ::Signature; - // ExtrinsicParams makes use of the index type, so we need to adjust it - // too to align with our modified index type, above: - type ExtrinsicParams = SubstrateExtrinsicParams; -} - -#[tokio::main] -async fn main() -> Result<(), Box> { - let signer = PairSigner::new(AccountKeyring::Alice.pair()); - let dest = AccountKeyring::Bob.to_account_id().into(); - - // Create a client to use: - let api = OnlineClient::::new().await?; - - // Create a transaction to submit: - let tx = polkadot::tx() - .balances() - .transfer(dest, 123_456_789_012_345); - - // submit the transaction with default params: - let hash = api.tx().sign_and_submit_default(&tx, &signer).await?; - - println!("Balance transfer extrinsic submitted: {hash}"); - - Ok(()) -} diff --git a/examples/examples/custom_metadata_url.rs b/examples/examples/custom_metadata_url.rs deleted file mode 100644 index 7fb1893075..0000000000 --- a/examples/examples/custom_metadata_url.rs +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright 2019-2023 Parity Technologies (UK) Ltd. -// This file is dual-licensed as Apache-2.0 or GPL-3.0. -// see LICENSE for license details. - -// If you'd like to use metadata directly from a running node, you -// can provide a URL to that node here. HTTP or WebSocket URLs can be -// provided. Note that if the metadata cannot be retrieved from this -// node URL at compile time, compilation will fail. -#[subxt::subxt(runtime_metadata_url = "wss://rpc.polkadot.io:443")] -pub mod polkadot {} - -fn main() {} diff --git a/examples/examples/custom_type_derives.rs b/examples/examples/custom_type_derives.rs deleted file mode 100644 index 123b9d336c..0000000000 --- a/examples/examples/custom_type_derives.rs +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2019-2023 Parity Technologies (UK) Ltd. -// This file is dual-licensed as Apache-2.0 or GPL-3.0. -// see LICENSE for license details. - -//! Example verified against polkadot polkadot 0.9.25-5174e9ae75b. -#![allow(clippy::redundant_clone)] - -#[subxt::subxt( - runtime_metadata_path = "../artifacts/polkadot_metadata.scale", - // We can add (certain) custom derives to the generated types by providing - // a comma separated list to the below attribute. Most useful for adding `Clone`. - // The derives that we can add ultimately is limited to the traits that the base - // types relied upon by the codegen implement. - derive_for_all_types = "Clone, PartialEq, Eq", - - // To apply derives to specific generated types, add a `derive_for_type` per type, - // mapping the type path to the derives which should be added for that type only. - // Note that these derives will be in addition to those specified above in - // `derive_for_all_types` - derive_for_type(path = "frame_support::PalletId", derive = "Eq, Ord, PartialOrd"), - derive_for_type(path = "sp_runtime::ModuleError", derive = "Eq, Hash"), -)] -pub mod polkadot {} - -use polkadot::runtime_types::frame_support::PalletId; - -#[tokio::main] -async fn main() -> Result<(), Box> { - let pallet_id = PalletId([1u8; 8]); - let _ = pallet_id.clone(); - Ok(()) -} diff --git a/examples/examples/dynamic_multisig.rs b/examples/examples/dynamic_multisig.rs deleted file mode 100644 index 68d43347a3..0000000000 --- a/examples/examples/dynamic_multisig.rs +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright 2019-2023 Parity Technologies (UK) Ltd. -// This file is dual-licensed as Apache-2.0 or GPL-3.0. -// see LICENSE for license details. - -//! To run this example, a local polkadot node should be running. Example verified against polkadot v0.9.31-3711c6f9b2a. -//! -//! E.g. -//! ```bash -//! curl "https://github.com/paritytech/polkadot/releases/download/v0.9.31/polkadot" --output /usr/local/bin/polkadot --location -//! polkadot --dev --tmp -//! ``` - -use sp_keyring::AccountKeyring; -use subxt::{dynamic::Value, tx::PairSigner, OnlineClient, PolkadotConfig}; - -#[tokio::main] -async fn main() -> Result<(), Box> { - tracing_subscriber::fmt::init(); - - // My account. - let signer_account = AccountKeyring::Alice; - let signer_account_id = signer_account.to_account_id(); - let signer = PairSigner::new(signer_account.pair()); - - // Transfer balance to this destination: - let dest = AccountKeyring::Bob.to_account_id(); - - // Create a client to use: - let api = OnlineClient::::new().await?; - - // Create the inner balance transfer call. - let inner_tx = subxt::dynamic::tx( - "Balances", - "transfer", - vec![ - Value::unnamed_variant("Id", [Value::from_bytes(&dest)]), - Value::u128(123_456_789_012_345), - ], - ); - - // Now, build an outer call which this inner call will be a part of. - // This sets up the multisig arrangement. - // - // Note: Since this is a dynamic call, we can either use named or unnamed - // arguments (if unnamed, the order matters). - let tx = subxt::dynamic::tx( - "Multisig", - "as_multi", - vec![ - ("threshold", Value::u128(1)), - ( - "other_signatories", - Value::unnamed_composite([Value::from_bytes(&signer_account_id)]), - ), - ("maybe_timepoint", Value::unnamed_variant("None", [])), - ("call", inner_tx.into_value()), - ( - "max_weight", - Value::named_composite([ - ("ref_time", Value::u128(10000000000)), - ("proof_size", Value::u128(1)), - ]), - ), - ], - ); - - // Submit it: - let encoded = hex::encode(api.tx().call_data(&tx)?); - println!("Call data: {encoded}"); - let tx_hash = api.tx().sign_and_submit_default(&tx, &signer).await?; - println!("Submitted tx with hash {tx_hash}"); - - Ok(()) -} diff --git a/examples/examples/dynamic_queries.rs b/examples/examples/dynamic_queries.rs deleted file mode 100644 index c7c69fe66e..0000000000 --- a/examples/examples/dynamic_queries.rs +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright 2019-2023 Parity Technologies (UK) Ltd. -// This file is dual-licensed as Apache-2.0 or GPL-3.0. -// see LICENSE for license details. - -//! To run this example, a local polkadot node should be running. Example verified against polkadot v0.9.28-9ffe6e9e3da. -//! -//! E.g. -//! ```bash -//! curl "https://github.com/paritytech/polkadot/releases/download/v0.9.28/polkadot" --output /usr/local/bin/polkadot --location -//! polkadot --dev --tmp -//! ``` - -// This example showcases working with dynamic values rather than those that are generated via the subxt proc macro. - -use sp_keyring::AccountKeyring; -use subxt::{dynamic::Value, tx::PairSigner, OnlineClient, PolkadotConfig}; - -#[tokio::main] -async fn main() -> Result<(), Box> { - let api = OnlineClient::::new().await?; - - // 1. Dynamic Balance Transfer (the dynamic equivalent to the balance_transfer example). - - let signer = PairSigner::new(AccountKeyring::Alice.pair()); - let dest = AccountKeyring::Bob.to_account_id(); - - // Create a transaction to submit: - let tx = subxt::dynamic::tx( - "Balances", - "transfer", - vec![ - // A value representing a MultiAddress. We want the "Id" variant, and that - // will ultimately contain the bytes for our destination address (there is a new type wrapping - // the address, but our encoding will happily ignore such things and do it's best to line up what - // we provide with what it needs). - Value::unnamed_variant("Id", [Value::from_bytes(&dest)]), - // A value representing the amount we'd like to transfer. - Value::u128(123_456_789_012_345), - ], - ); - - // submit the transaction with default params: - let hash = api.tx().sign_and_submit_default(&tx, &signer).await?; - println!("Balance transfer extrinsic submitted: {hash}"); - - // 2. Dynamic constant access (the dynamic equivalent to the fetch_constants example). - - let constant_address = subxt::dynamic::constant("Balances", "ExistentialDeposit"); - let existential_deposit = api.constants().at(&constant_address)?.to_value()?; - println!("Existential Deposit: {existential_deposit}"); - - // 3. Dynamic storage access - - let storage_address = subxt::dynamic::storage( - "System", - "Account", - vec![ - // Something that encodes to an AccountId32 is what we need for the map key here: - Value::from_bytes(&dest), - ], - ); - let account = api - .storage() - .at_latest() - .await? - .fetch_or_default(&storage_address) - .await? - .to_value()?; - println!("Bob's account details: {account}"); - - // 4. Dynamic storage iteration (the dynamic equivalent to the fetch_all_accounts example). - - let storage_address = subxt::dynamic::storage_root("System", "Account"); - let mut iter = api - .storage() - .at_latest() - .await? - .iter(storage_address, 10) - .await?; - while let Some((key, account)) = iter.next().await? { - println!("{}: {}", hex::encode(key), account.to_value()?); - } - - Ok(()) -} diff --git a/examples/examples/events.rs b/examples/examples/events.rs new file mode 100644 index 0000000000..4c35398349 --- /dev/null +++ b/examples/examples/events.rs @@ -0,0 +1,60 @@ +use subxt::{OnlineClient, PolkadotConfig}; + +#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] +pub mod polkadot {} + +#[tokio::main] +async fn main() -> Result<(), Box> { + // Create a client to use: + let api = OnlineClient::::new().await?; + + // Get events for the latest block: + let events = api.events().at_latest().await?; + + // We can dynamically decode events: + println!("Dynamic event details:"); + for event in events.iter() { + let event = event?; + + let pallet = event.pallet_name(); + let variant = event.variant_name(); + let field_values = event.field_values()?; + + println!("{pallet}::{variant}: {field_values}"); + } + + // Or we can attempt to statically decode them into the root Event type: + println!("Static event details:"); + for event in events.iter() { + let event = event?; + + if let Ok(ev) = event.as_root_event::() { + println!("{ev:?}"); + } else { + println!(""); + } + } + + // Or we can attempt to decode them into a specific arbitraty pallet enum + // (We could also set the output type to Value to dynamically decode, here): + println!("Event details for Balances pallet:"); + for event in events.iter() { + let event = event?; + + if let Ok(ev) = event.as_pallet_event::() { + println!("{ev:?}"); + } else { + continue; + } + } + + // Or we can look for specific events which match our statically defined ones: + let transfer_event = events.find_first::()?; + if let Some(ev) = transfer_event { + println!(" - Balance transfer success: value: {:?}", ev.amount); + } else { + println!(" - No balance transfer event found in this block"); + } + + Ok(()) +} diff --git a/examples/examples/fetch_all_accounts.rs b/examples/examples/fetch_all_accounts.rs deleted file mode 100644 index 2bc140aa06..0000000000 --- a/examples/examples/fetch_all_accounts.rs +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2019-2023 Parity Technologies (UK) Ltd. -// This file is dual-licensed as Apache-2.0 or GPL-3.0. -// see LICENSE for license details. - -//! To run this example, a local polkadot node should be running. Example verified against polkadot v0.9.28-9ffe6e9e3da. -//! -//! E.g. -//! ```bash -//! curl "https://github.com/paritytech/polkadot/releases/download/v0.9.28/polkadot" --output /usr/local/bin/polkadot --location -//! polkadot --dev --tmp -//! ``` - -use subxt::{OnlineClient, PolkadotConfig}; - -#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] -pub mod polkadot {} - -#[tokio::main] -async fn main() -> Result<(), Box> { - tracing_subscriber::fmt::init(); - - let api = OnlineClient::::new().await?; - - let address = polkadot::storage().system().account_root(); - - let mut iter = api.storage().at_latest().await?.iter(address, 10).await?; - - while let Some((key, account)) = iter.next().await? { - println!("{}: {}", hex::encode(key), account.data.free); - } - Ok(()) -} diff --git a/examples/examples/fetch_constants.rs b/examples/examples/fetch_constants.rs deleted file mode 100644 index 38762d29be..0000000000 --- a/examples/examples/fetch_constants.rs +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright 2019-2023 Parity Technologies (UK) Ltd. -// This file is dual-licensed as Apache-2.0 or GPL-3.0. -// see LICENSE for license details. - -//! To run this example, a local polkadot node should be running. Example verified against polkadot v0.9.28-9ffe6e9e3da. -//! -//! E.g. -//! ```bash -//! curl "https://github.com/paritytech/polkadot/releases/download/v0.9.28/polkadot" --output /usr/local/bin/polkadot --location -//! polkadot --dev --tmp -//! ``` - -use subxt::{OnlineClient, PolkadotConfig}; - -// Generate the API from a static metadata path. -#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] -pub mod polkadot {} - -#[tokio::main] -async fn main() -> Result<(), Box> { - tracing_subscriber::fmt::init(); - - // Create a client to use: - let api = OnlineClient::::new().await?; - - // Build a constant address to query: - let address = polkadot::constants().balances().existential_deposit(); - - // Look it up: - let existential_deposit = api.constants().at(&address)?; - - println!("Existential Deposit: {existential_deposit}"); - - Ok(()) -} diff --git a/examples/examples/fetch_staking_details.rs b/examples/examples/fetch_staking_details.rs deleted file mode 100644 index 980b430528..0000000000 --- a/examples/examples/fetch_staking_details.rs +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright 2019-2023 Parity Technologies (UK) Ltd. -// This file is dual-licensed as Apache-2.0 or GPL-3.0. -// see LICENSE for license details. - -//! To run this example, a local polkadot node should be running. Example verified against polkadot v0.9.28-9ffe6e9e3da. -//! -//! E.g. -//! ```bash -//! curl "https://github.com/paritytech/polkadot/releases/download/v0.9.28/polkadot" --output /usr/local/bin/polkadot --location -//! polkadot --dev --tmp -//! ``` - -use sp_core::{sr25519, Pair}; -use sp_keyring::AccountKeyring; -use subxt::{utils::AccountId32, OnlineClient, PolkadotConfig}; - -#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] -pub mod polkadot {} - -#[tokio::main] -async fn main() -> Result<(), Box> { - tracing_subscriber::fmt::init(); - - // Create a client to use: - let api = OnlineClient::::new().await?; - - let active_era_addr = polkadot::storage().staking().active_era(); - let era = api - .storage() - .at_latest() - .await? - .fetch(&active_era_addr) - .await? - .unwrap(); - println!( - "Staking active era: index: {:?}, start: {:?}", - era.index, era.start - ); - - let alice_id = AccountKeyring::Alice.to_account_id(); - println!(" Alice account id: {alice_id:?}"); - - // Get Alice' Stash account ID - let alice_stash_id: AccountId32 = sr25519::Pair::from_string("//Alice//stash", None) - .expect("Could not obtain stash signer pair") - .public() - .into(); - println!(" Alice//stash account id: {alice_stash_id:?}"); - - // Map from all locked "stash" accounts to the controller account. - let controller_acc_addr = polkadot::storage().staking().bonded(&alice_stash_id); - let controller_acc = api - .storage() - .at_latest() - .await? - .fetch(&controller_acc_addr) - .await? - .unwrap(); - println!(" account controlled by: {controller_acc:?}"); - - let era_reward_addr = polkadot::storage().staking().eras_reward_points(era.index); - let era_result = api - .storage() - .at_latest() - .await? - .fetch(&era_reward_addr) - .await?; - println!("Era reward points: {era_result:?}"); - - Ok(()) -} diff --git a/examples/examples/metadata_compatibility.rs b/examples/examples/metadata_compatibility.rs deleted file mode 100644 index fab4f770c5..0000000000 --- a/examples/examples/metadata_compatibility.rs +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2019-2023 Parity Technologies (UK) Ltd. -// This file is dual-licensed as Apache-2.0 or GPL-3.0. -// see LICENSE for license details. - -//! To run this example, a local polkadot node should be running. Example verified against polkadot v0.9.28-9ffe6e9e3da. -//! -//! E.g. -//! ```bash -//! curl "https://github.com/paritytech/polkadot/releases/download/v0.9.28/polkadot" --output /usr/local/bin/polkadot --location -//! polkadot --dev --tmp -//! ``` - -use subxt::{OnlineClient, PolkadotConfig}; - -#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] -pub mod polkadot {} - -#[tokio::main] -async fn main() -> Result<(), Box> { - tracing_subscriber::fmt::init(); - - let api = OnlineClient::::new().await?; - - // Each individual request will be validated against the static code that was - // used to construct it, if possible. We can also validate the entirety of the - // statically generated code against some client at a given point in time using - // this check. If it fails, then there is some breaking change between the metadata - // used to generate this static code, and the runtime metadata from a node that the - // client is using. - polkadot::validate_codegen(&api)?; - - Ok(()) -} diff --git a/examples/examples/multisig.rs b/examples/examples/multisig.rs deleted file mode 100644 index c9d0f6c660..0000000000 --- a/examples/examples/multisig.rs +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright 2019-2023 Parity Technologies (UK) Ltd. -// This file is dual-licensed as Apache-2.0 or GPL-3.0. -// see LICENSE for license details. - -//! To run this example, a local polkadot node should be running. Example verified against polkadot v0.9.31-3711c6f9b2a. -//! -//! E.g. -//! ```bash -//! curl "https://github.com/paritytech/polkadot/releases/download/v0.9.31/polkadot" --output /usr/local/bin/polkadot --location -//! polkadot --dev --tmp -//! ``` - -use sp_keyring::AccountKeyring; -use subxt::{tx::PairSigner, OnlineClient, PolkadotConfig}; - -#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] -pub mod polkadot {} - -#[tokio::main] -async fn main() -> Result<(), Box> { - tracing_subscriber::fmt::init(); - - // My account. - let signer_account = AccountKeyring::Alice; - let signer_account_id = signer_account.to_account_id(); - let signer = PairSigner::new(signer_account.pair()); - - // Transfer balance to this destination: - let dest = AccountKeyring::Bob.to_account_id(); - - // Create a client to use: - let api = OnlineClient::::new().await?; - - // Create the inner balance transfer call. - // - // Note: This call, being manually constructed, will have a specific pallet and call index - // which is determined by the generated code. If you're trying to submit this to a node which - // has the pallets/calls at different indexes, it will fail. See `dynamic_multisig.rs` for a - // workaround in this case which will work regardless of pallet and call indexes. - let inner_tx = polkadot::runtime_types::polkadot_runtime::RuntimeCall::Balances( - polkadot::runtime_types::pallet_balances::pallet::Call::transfer { - dest: dest.into(), - value: 123_456_789_012_345, - }, - ); - - // Now, build an outer call which this inner call will be a part of. - // This sets up the multisig arrangement. - let tx = polkadot::tx().multisig().as_multi( - // threshold - 1, - // other signatories - vec![signer_account_id.into()], - // maybe timepoint - None, - // call - inner_tx, - // max weight - polkadot::runtime_types::sp_weights::weight_v2::Weight { - ref_time: 10000000000, - proof_size: 1, - }, - ); - - // Submit the extrinsic with default params: - let encoded = hex::encode(api.tx().call_data(&tx)?); - println!("Call data: {encoded}"); - let tx_hash = api.tx().sign_and_submit_default(&tx, &signer).await?; - println!("Submitted tx with hash {tx_hash}"); - - Ok(()) -} diff --git a/examples/examples/rpc_call.rs b/examples/examples/rpc_call.rs deleted file mode 100644 index cdffa03854..0000000000 --- a/examples/examples/rpc_call.rs +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2019-2023 Parity Technologies (UK) Ltd. -// This file is dual-licensed as Apache-2.0 or GPL-3.0. -// see LICENSE for license details. - -//! To run this example, a local polkadot node should be running. Example verified against polkadot v0.9.28-9ffe6e9e3da. -//! -//! E.g. -//! ```bash -//! curl "https://github.com/paritytech/polkadot/releases/download/v0.9.28/polkadot" --output /usr/local/bin/polkadot --location -//! polkadot --dev --tmp -//! ``` - -use subxt::{OnlineClient, PolkadotConfig}; - -#[tokio::main] -async fn main() -> Result<(), Box> { - tracing_subscriber::fmt::init(); - - let api = OnlineClient::::new().await?; - - let block_number = 1u32; - - let block_hash = api.rpc().block_hash(Some(block_number.into())).await?; - - if let Some(hash) = block_hash { - println!("Block hash for block number {block_number}: {hash}"); - } else { - println!("Block number {block_number} not found."); - } - - Ok(()) -} diff --git a/examples/examples/rpc_call_subscribe_blocks.rs b/examples/examples/rpc_call_subscribe_blocks.rs deleted file mode 100644 index bd5ff2dc0b..0000000000 --- a/examples/examples/rpc_call_subscribe_blocks.rs +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2019-2023 Parity Technologies (UK) Ltd. -// This file is dual-licensed as Apache-2.0 or GPL-3.0. -// see LICENSE for license details. - -//! To run this example, a local polkadot node should be running. Example verified against polkadot v0.9.28-9ffe6e9e3da. -//! -//! E.g. -//! ```bash -//! curl "https://github.com/paritytech/polkadot/releases/download/v0.9.28/polkadot" --output /usr/local/bin/polkadot --location -//! polkadot --dev --tmp -//! ``` - -use subxt::{config::Header, OnlineClient, PolkadotConfig}; - -#[tokio::main] -async fn main() -> Result<(), Box> { - tracing_subscriber::fmt::init(); - - let api = OnlineClient::::from_url("wss://rpc.polkadot.io:443").await?; - - // For non-finalised blocks use `.subscribe_blocks()` - let mut blocks = api.rpc().subscribe_finalized_block_headers().await?; - - while let Some(Ok(block)) = blocks.next().await { - println!( - "block number: {} hash:{} parent:{} state root:{} extrinsics root:{}", - block.number, - block.hash(), - block.parent_hash, - block.state_root, - block.extrinsics_root - ); - } - - Ok(()) -} diff --git a/examples/examples/runtime_apis_dynamic.rs b/examples/examples/runtime_apis_dynamic.rs new file mode 100644 index 0000000000..c861c53357 --- /dev/null +++ b/examples/examples/runtime_apis_dynamic.rs @@ -0,0 +1,31 @@ +use sp_keyring::AccountKeyring; +use subxt::dynamic::Value; +use subxt::{config::PolkadotConfig, OnlineClient}; + +#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] +pub mod polkadot {} + +#[tokio::main] +async fn main() -> Result<(), Box> { + // Create a client to use: + let api = OnlineClient::::new().await?; + + // Create a dynamically runtime API payload that calls the + // `AccountNonceApi_account_nonce` function. + let account = AccountKeyring::Alice.to_account_id(); + let runtime_api_call = subxt::dynamic::runtime_api_call( + "AccountNonceApi_account_nonce", + vec![Value::from_bytes(account)], + ); + + // Submit the call to get back a result. + let nonce = api + .runtime_api() + .at_latest() + .await? + .call(runtime_api_call) + .await?; + + println!("Account nonce: {:#?}", nonce.to_value()); + Ok(()) +} diff --git a/examples/examples/runtime_apis_raw.rs b/examples/examples/runtime_apis_raw.rs new file mode 100644 index 0000000000..fc61ff4b3b --- /dev/null +++ b/examples/examples/runtime_apis_raw.rs @@ -0,0 +1,22 @@ +use subxt::ext::codec::Compact; +use subxt::ext::frame_metadata::RuntimeMetadataPrefixed; +use subxt::{OnlineClient, PolkadotConfig}; + +#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] +pub mod polkadot {} + +#[tokio::main] +async fn main() -> Result<(), Box> { + // Create a client to use: + let api = OnlineClient::::new().await?; + + // Use runtime APIs at the latest block: + let runtime_apis = api.runtime_api().at_latest().await?; + + // Ask for metadata and decode it: + let (_, meta): (Compact, RuntimeMetadataPrefixed) = + runtime_apis.call_raw("Metadata_metadata", None).await?; + + println!("{meta:?}"); + Ok(()) +} diff --git a/examples/examples/runtime_apis_static.rs b/examples/examples/runtime_apis_static.rs new file mode 100644 index 0000000000..5e0d256bde --- /dev/null +++ b/examples/examples/runtime_apis_static.rs @@ -0,0 +1,27 @@ +use sp_keyring::AccountKeyring; +use subxt::{config::PolkadotConfig, OnlineClient}; + +#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] +pub mod polkadot {} + +#[tokio::main] +async fn main() -> Result<(), Box> { + // Create a client to use: + let api = OnlineClient::::new().await?; + + // Create a runtime API payload that calls into + // `AccountNonceApi_account_nonce` function. + let account = AccountKeyring::Alice.to_account_id().into(); + let runtime_api_call = polkadot::apis().account_nonce_api().account_nonce(account); + + // Submit the call and get back a result. + let nonce = api + .runtime_api() + .at_latest() + .await? + .call(runtime_api_call) + .await; + + println!("AccountNonceApi_account_nonce for Alice: {:?}", nonce); + Ok(()) +} diff --git a/examples/examples/runtime_calls.rs b/examples/examples/runtime_calls.rs deleted file mode 100644 index e5337e5a50..0000000000 --- a/examples/examples/runtime_calls.rs +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright 2019-2023 Parity Technologies (UK) Ltd. -// This file is dual-licensed as Apache-2.0 or GPL-3.0. -// see LICENSE for license details. - -//! To run this example, a local polkadot node should be running. Example verified against polkadot v0.9.28-9ffe6e9e3da. -//! -//! E.g. -//! ```bash -//! curl "https://github.com/paritytech/polkadot/releases/download/v0.9.28/polkadot" --output /usr/local/bin/polkadot --location -//! polkadot --dev --tmp -//! ``` - -use sp_keyring::AccountKeyring; -use subxt::dynamic::Value; -use subxt::{config::PolkadotConfig, OnlineClient}; - -#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] -pub mod polkadot {} - -#[tokio::main] -async fn main() -> Result<(), Box> { - tracing_subscriber::fmt::init(); - - // Create a client to use: - let api = OnlineClient::::new().await?; - - // In the first part of the example calls are made using the static generated code - // and as a result the returned values are strongly typed. - - // Create a runtime API payload that calls into - // `Core_version` function. - let runtime_api_call = polkadot::apis().core().version(); - - // Submit the runtime API call. - let version = api - .runtime_api() - .at_latest() - .await? - .call(runtime_api_call) - .await; - println!("Core_version: {:?}", version); - - // Show the supported metadata versions of the node. - // Calls into `Metadata_metadata_versions` runtime function. - let runtime_api_call = polkadot::apis().metadata().metadata_versions(); - - // Submit the runtime API call. - let versions = api - .runtime_api() - .at_latest() - .await? - .call(runtime_api_call) - .await?; - println!("Metadata_metadata_versions: {:?}", versions); - - // Create a runtime API payload that calls into - // `AccountNonceApi_account_nonce` function. - let account = AccountKeyring::Alice.to_account_id().into(); - let runtime_api_call = polkadot::apis().account_nonce_api().account_nonce(account); - - // Submit the runtime API call. - let nonce = api - .runtime_api() - .at_latest() - .await? - .call(runtime_api_call) - .await; - println!("AccountNonceApi_account_nonce for Alice: {:?}", nonce); - - // Dynamic calls. - let runtime_api_call = - subxt::dynamic::runtime_api_call("Metadata_metadata_versions", Vec::>::new()); - let versions = api - .runtime_api() - .at_latest() - .await? - .call(runtime_api_call) - .await?; - println!( - " dynamic Metadata_metadata_versions: {:#?}", - versions.to_value() - ); - - Ok(()) -} diff --git a/examples/examples/runtime_types_only.rs b/examples/examples/runtime_types_only.rs deleted file mode 100644 index 20ceb838c3..0000000000 --- a/examples/examples/runtime_types_only.rs +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2019-2023 Parity Technologies (UK) Ltd. -// This file is dual-licensed as Apache-2.0 or GPL-3.0. -// see LICENSE for license details. - -//! In some cases we are interested only in the `RuntimeCall` enum (or more generally, only in some -//! runtime types). We can ask `subxt` to generate only runtime types by passing a corresponding -//! flag. -//! -//! Here we present how to correctly create `Block` type for the Polkadot chain. - -use sp_core::H256; -use sp_runtime::{ - generic, - traits::{BlakeTwo256, Block as _, Header as _}, - Digest, -}; -use subxt::PolkadotConfig; - -#[subxt::subxt( - runtime_metadata_path = "../artifacts/polkadot_metadata.scale", - derive_for_all_types = "Clone, PartialEq, Eq", - runtime_types_only -)] -pub mod polkadot {} - -type RuntimeCall = polkadot::runtime_types::polkadot_runtime::RuntimeCall; - -type UncheckedExtrinsic = generic::UncheckedExtrinsic< - ::Address, - RuntimeCall, - ::Signature, - // Usually we are not interested in `SignedExtra`. - (), ->; - -type Header = generic::Header; -type Block = generic::Block; - -#[tokio::main] -async fn main() -> Result<(), Box> { - tracing_subscriber::fmt::init(); - - // Although we could build an online client, we do not have access to the full runtime API. For - // that, we would have to specify `runtime_types_only = false` (or just skipping it). - // - // let api = subxt::OnlineClient::::new().await?; - // let address = polkadot::constants().balances().existential_deposit(); <- this won't compile! - - let polkadot_header = Header::new( - 41, - H256::default(), - H256::default(), - H256::default(), - Digest::default(), - ); - - let polkadot_block = Block::new(polkadot_header, vec![]); - - println!("{polkadot_block:?}"); - - Ok(()) -} diff --git a/examples/examples/setup_client_custom_config.rs b/examples/examples/setup_client_custom_config.rs new file mode 100644 index 0000000000..0acf71ae4a --- /dev/null +++ b/examples/examples/setup_client_custom_config.rs @@ -0,0 +1,30 @@ +use subxt::{ + config::{substrate::SubstrateExtrinsicParams, Config, SubstrateConfig}, + OnlineClient, +}; + +/// Define a custom config type (see the `subxt::config::Config` docs for +/// more information about each type): +enum MyConfig {} +impl Config for MyConfig { + // This is different from the default `u32`: + type Index = u64; + // We can point to the default types if we don't need to change things: + type Hash = ::Hash; + type Hasher = ::Hasher; + type Header = ::Header; + type AccountId = ::AccountId; + type Address = ::Address; + type Signature = ::Signature; + // ExtrinsicParams makes use of the index type, so we need to tweak it + // too to align with our modified index type, above: + type ExtrinsicParams = SubstrateExtrinsicParams; +} + +#[tokio::main] +async fn main() -> Result<(), Box> { + // Create a client which uses the custom config: + let _api = OnlineClient::::new().await?; + + Ok(()) +} diff --git a/examples/examples/custom_rpc_client.rs b/examples/examples/setup_client_custom_rpc.rs similarity index 91% rename from examples/examples/custom_rpc_client.rs rename to examples/examples/setup_client_custom_rpc.rs index a5fe4e0d98..ed04f1f4fa 100644 --- a/examples/examples/custom_rpc_client.rs +++ b/examples/examples/setup_client_custom_rpc.rs @@ -1,7 +1,3 @@ -// Copyright 2019-2023 Parity Technologies (UK) Ltd. -// This file is dual-licensed as Apache-2.0 or GPL-3.0. -// see LICENSE for license details. - use std::{ fmt::Write, pin::Pin, @@ -64,13 +60,8 @@ impl RpcClientT for MyLoggingClient { } } -#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] -pub mod polkadot {} - #[tokio::main] async fn main() -> Result<(), Box> { - tracing_subscriber::fmt::init(); - // Instantiate our replacement RPC client. let log = Arc::default(); let rpc_client = MyLoggingClient { diff --git a/examples/examples/setup_client_offline.rs b/examples/examples/setup_client_offline.rs new file mode 100644 index 0000000000..ba5d9b31ab --- /dev/null +++ b/examples/examples/setup_client_offline.rs @@ -0,0 +1,37 @@ +use subxt::ext::codec::Decode; +use subxt::ext::frame_metadata::RuntimeMetadataPrefixed; +use subxt::metadata::Metadata; +use subxt::utils::H256; +use subxt::{config::PolkadotConfig, OfflineClient}; + +#[tokio::main] +async fn main() -> Result<(), Box> { + // We need to obtain the following details for an OfflineClient to be instantiated: + + // 1. Genesis hash (RPC call: chain_getBlockHash(0)): + let genesis_hash = { + let h = "91b171bb158e2d3848fa23a9f1c25182fb8e20313b2c1eb49219da7a70ce90c3"; + let bytes = hex::decode(h).unwrap(); + H256::from_slice(&bytes) + }; + + // 2. A runtime version (system_version constant on a Substrate node has these): + let runtime_version = subxt::rpc::types::RuntimeVersion { + spec_version: 9370, + transaction_version: 20, + other: Default::default(), + }; + + // 3. Metadata (I'll load it from the downloaded metadata, but you can use + // `subxt metadata > file.scale` to download it): + let metadata = { + let bytes = std::fs::read("./artifacts/polkadot_metadata.scale").unwrap(); + let metadata = RuntimeMetadataPrefixed::decode(&mut &*bytes).unwrap(); + Metadata::try_from(metadata).unwrap() + }; + + // Create an offline client using the details obtained above: + let _api = OfflineClient::::new(genesis_hash, runtime_version, metadata); + + Ok(()) +} diff --git a/examples/examples/storage_fetch.rs b/examples/examples/storage_fetch.rs new file mode 100644 index 0000000000..1a5b034be5 --- /dev/null +++ b/examples/examples/storage_fetch.rs @@ -0,0 +1,29 @@ +use sp_keyring::AccountKeyring; +use subxt::{OnlineClient, PolkadotConfig}; + +// Generate an interface that we can use from the node's metadata. +#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] +pub mod polkadot {} + +#[tokio::main] +async fn main() -> Result<(), Box> { + // Create a new API client, configured to talk to Polkadot nodes. + let api = OnlineClient::::new().await?; + + // Build a storage query to access account information. + let account = AccountKeyring::Alice.to_account_id().into(); + let storage_query = polkadot::storage().system().account(&account); + + // Use that query to `fetch` a result. This returns an `Option<_>`, which will be + // `None` if no value exists at the given address. You can also use `fetch_default` + // where applicable, which will return the default value if none exists. + let result = api + .storage() + .at_latest() + .await? + .fetch(&storage_query) + .await?; + + println!("Alice has free balance: {}", result.unwrap().data.free); + Ok(()) +} diff --git a/examples/examples/storage_fetch_dynamic.rs b/examples/examples/storage_fetch_dynamic.rs new file mode 100644 index 0000000000..43325770ea --- /dev/null +++ b/examples/examples/storage_fetch_dynamic.rs @@ -0,0 +1,27 @@ +use sp_keyring::AccountKeyring; +use subxt::dynamic::{At, Value}; +use subxt::{OnlineClient, PolkadotConfig}; + +#[tokio::main] +async fn main() -> Result<(), Box> { + // Create a new API client, configured to talk to Polkadot nodes. + let api = OnlineClient::::new().await?; + + // Build a dynamic storage query to access account information. + let account = AccountKeyring::Alice.to_account_id(); + let storage_query = + subxt::dynamic::storage("System", "Account", vec![Value::from_bytes(account)]); + + // Use that query to `fetch` a result. Because the query is dynamic, we don't know what the result + // type will be either, and so we get a type back that can be decoded into a dynamic Value type. + let result = api + .storage() + .at_latest() + .await? + .fetch(&storage_query) + .await?; + let value = result.unwrap().to_value()?; + + println!("Alice has free balance: {:?}", value.at("data").at("free")); + Ok(()) +} diff --git a/examples/examples/storage_iterating.rs b/examples/examples/storage_iterating.rs index ae439e0510..4a6a0159a6 100644 --- a/examples/examples/storage_iterating.rs +++ b/examples/examples/storage_iterating.rs @@ -1,108 +1,29 @@ -// Copyright 2019-2023 Parity Technologies (UK) Ltd. -// This file is dual-licensed as Apache-2.0 or GPL-3.0. -// see LICENSE for license details. - -//! To run this example, a local polkadot node should be running. Example verified against polkadot v0.9.28-9ffe6e9e3da. -//! -//! E.g. -//! ```bash -//! curl "https://github.com/paritytech/polkadot/releases/download/v0.9.28/polkadot" --output /usr/local/bin/polkadot --location -//! polkadot --dev --tmp -//! ``` - -use codec::{Decode, Encode}; use subxt::{OnlineClient, PolkadotConfig}; +// Generate an interface that we can use from the node's metadata. #[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] pub mod polkadot {} #[tokio::main] async fn main() -> Result<(), Box> { - tracing_subscriber::fmt::init(); - - // Create a client to use: + // Create a new API client, configured to talk to Polkadot nodes. let api = OnlineClient::::new().await?; - // Example 1. Iterate over (keys, value) using the storage client. - // This is the standard and most ergonomic approach. - { - let key_addr = polkadot::storage().xcm_pallet().version_notifiers_root(); + // Build a storage query to iterate over account information. + let storage_query = polkadot::storage().system().account_root(); - let mut iter = api.storage().at_latest().await?.iter(key_addr, 10).await?; + // Get back an iterator of results (here, we are fetching 10 items at + // a time from the node, but we always iterate over oen at a time). + let mut results = api + .storage() + .at_latest() + .await? + .iter(storage_query, 10) + .await?; - println!("\nExample 1. Obtained keys:"); - while let Some((key, value)) = iter.next().await? { - println!("Key: 0x{}", hex::encode(key)); - println!(" Value: {value}"); - } - } - - // Example 2. Iterate over fetched keys manually. Here, you forgo any static type - // safety and work directly with the bytes on either side. - { - let key_addr = polkadot::storage().xcm_pallet().version_notifiers_root(); - - // Fetch at most 10 keys from below the prefix XcmPallet' VersionNotifiers. - let keys = api - .storage() - .at_latest() - .await? - .fetch_keys(&key_addr.to_root_bytes(), 10, None) - .await?; - - println!("Example 2. Obtained keys:"); - for key in keys.iter() { - println!("Key: 0x{}", hex::encode(key)); - - if let Some(storage_data) = api.storage().at_latest().await?.fetch_raw(&key.0).await? { - // We know the return value to be `QueryId` (`u64`) from inspecting either: - // - polkadot code - // - polkadot.rs generated file under `version_notifiers()` fn - // - metadata in json format - let value = u64::decode(&mut &*storage_data)?; - println!(" Value: {value}"); - } - } - } - - // Example 3. Custom iteration over double maps. Here, we manually append one lookup - // key to the root and just iterate over the values underneath that. - { - let key_addr = polkadot::storage().xcm_pallet().version_notifiers_root(); - - // Obtain the root bytes (`twox_128("XcmPallet") ++ twox_128("VersionNotifiers")`). - let mut query_key = key_addr.to_root_bytes(); - - // We know that the first key is a u32 (the `XcmVersion`) and is hashed by twox64_concat. - // twox64_concat is just the result of running the twox_64 hasher on some value and concatenating - // the value itself after it: - query_key.extend(subxt::ext::sp_core::twox_64(&2u32.encode())); - query_key.extend(&2u32.encode()); - - // The final query key is essentially the result of: - // `twox_128("XcmPallet") ++ twox_128("VersionNotifiers") ++ twox_64(scale_encode(2u32)) ++ scale_encode(2u32)` - println!("\nExample 3\nQuery key: 0x{}", hex::encode(&query_key)); - - let keys = api - .storage() - .at_latest() - .await? - .fetch_keys(&query_key, 10, None) - .await?; - - println!("Obtained keys:"); - for key in keys.iter() { - println!("Key: 0x{}", hex::encode(key)); - - if let Some(storage_data) = api.storage().at_latest().await?.fetch_raw(&key.0).await? { - // We know the return value to be `QueryId` (`u64`) from inspecting either: - // - polkadot code - // - polkadot.rs generated file under `version_notifiers()` fn - // - metadata in json format - let value = u64::decode(&mut &storage_data[..])?; - println!(" Value: {value}"); - } - } + while let Some((key, value)) = results.next().await? { + println!("Key: 0x{}", hex::encode(&key)); + println!("Value: {:?}", value); } Ok(()) diff --git a/examples/examples/storage_iterating_dynamic.rs b/examples/examples/storage_iterating_dynamic.rs new file mode 100644 index 0000000000..9deca9ad8a --- /dev/null +++ b/examples/examples/storage_iterating_dynamic.rs @@ -0,0 +1,25 @@ +use subxt::{OnlineClient, PolkadotConfig}; + +#[tokio::main] +async fn main() -> Result<(), Box> { + // Create a new API client, configured to talk to Polkadot nodes. + let api = OnlineClient::::new().await?; + + // Build a dynamic storage query to iterate account information. + let storage_query = subxt::dynamic::storage_root("System", "Account"); + + // Use that query to return an iterator over the results. + let mut results = api + .storage() + .at_latest() + .await? + .iter(storage_query, 10) + .await?; + + while let Some((key, value)) = results.next().await? { + println!("Key: 0x{}", hex::encode(&key)); + println!("Value: {:?}", value.to_value()?); + } + + Ok(()) +} diff --git a/examples/examples/submit_and_watch.rs b/examples/examples/submit_and_watch.rs deleted file mode 100644 index d45d629604..0000000000 --- a/examples/examples/submit_and_watch.rs +++ /dev/null @@ -1,166 +0,0 @@ -// Copyright 2019-2023 Parity Technologies (UK) Ltd. -// This file is dual-licensed as Apache-2.0 or GPL-3.0. -// see LICENSE for license details. - -//! To run this example, a local polkadot node should be running. Example verified against polkadot v0.9.28-9ffe6e9e3da. -//! -//! E.g. -//! ```bash -//! curl "https://github.com/paritytech/polkadot/releases/download/v0.9.28/polkadot" --output /usr/local/bin/polkadot --location -//! polkadot --dev --tmp -//! ``` - -use futures::StreamExt; -use sp_keyring::AccountKeyring; -use subxt::{tx::PairSigner, OnlineClient, PolkadotConfig}; - -#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] -pub mod polkadot {} - -#[tokio::main] -async fn main() -> Result<(), Box> { - tracing_subscriber::fmt::init(); - - simple_transfer().await?; - simple_transfer_separate_events().await?; - handle_transfer_events().await?; - - Ok(()) -} - -/// This is the highest level approach to using this API. We use `wait_for_finalized_success` -/// to wait for the transaction to make it into a finalized block, and also ensure that the -/// transaction was successful according to the associated events. -async fn simple_transfer() -> Result<(), Box> { - let signer = PairSigner::new(AccountKeyring::Alice.pair()); - let dest = AccountKeyring::Bob.to_account_id().into(); - - let api = OnlineClient::::new().await?; - - let balance_transfer_tx = polkadot::tx().balances().transfer(dest, 10_000); - - let balance_transfer = api - .tx() - .sign_and_submit_then_watch_default(&balance_transfer_tx, &signer) - .await? - .wait_for_finalized_success() - .await?; - - let transfer_event = balance_transfer.find_first::()?; - - if let Some(event) = transfer_event { - println!("Balance transfer success: {event:?}"); - } else { - println!("Failed to find Balances::Transfer Event"); - } - Ok(()) -} - -/// This is very similar to `simple_transfer`, except to show that we can handle -/// waiting for the transaction to be finalized separately from obtaining and checking -/// for success on the events. -async fn simple_transfer_separate_events() -> Result<(), Box> { - let signer = PairSigner::new(AccountKeyring::Alice.pair()); - let dest = AccountKeyring::Bob.to_account_id().into(); - - let api = OnlineClient::::new().await?; - - let balance_transfer_tx = polkadot::tx().balances().transfer(dest, 10_000); - - let balance_transfer = api - .tx() - .sign_and_submit_then_watch_default(&balance_transfer_tx, &signer) - .await? - .wait_for_finalized() - .await?; - - // Now we know it's been finalized, we can get hold of a couple of - // details, including events. Calling `wait_for_finalized_success` is - // equivalent to calling `wait_for_finalized` and then `wait_for_success`: - let _events = balance_transfer.wait_for_success().await?; - - // Alternately, we could just `fetch_events`, which grabs all of the events like - // the above, but does not check for success, and leaves it up to you: - let events = balance_transfer.fetch_events().await?; - - let failed_event = events.find_first::()?; - - if let Some(_ev) = failed_event { - // We found a failed event; the transfer didn't succeed. - println!("Balance transfer failed"); - } else { - // We didn't find a failed event; the transfer succeeded. Find - // more details about it to report.. - let transfer_event = events.find_first::()?; - if let Some(event) = transfer_event { - println!("Balance transfer success: {event:?}"); - } else { - println!("Failed to find Balances::Transfer Event"); - } - } - - Ok(()) -} - -/// If we need more visibility into the state of the transaction, we can also ditch -/// `wait_for_finalized` entirely and stream the transaction progress events, handling -/// them more manually. -async fn handle_transfer_events() -> Result<(), Box> { - let signer = PairSigner::new(AccountKeyring::Alice.pair()); - let dest = AccountKeyring::Bob.to_account_id().into(); - - let api = OnlineClient::::new().await?; - - let balance_transfer_tx = polkadot::tx().balances().transfer(dest, 10_000); - - let mut balance_transfer_progress = api - .tx() - .sign_and_submit_then_watch_default(&balance_transfer_tx, &signer) - .await?; - - while let Some(ev) = balance_transfer_progress.next().await { - let ev = ev?; - use subxt::tx::TxStatus::*; - - // Made it into a block, but not finalized. - if let InBlock(details) = ev { - println!( - "Transaction {:?} made it into block {:?}", - details.extrinsic_hash(), - details.block_hash() - ); - - let events = details.wait_for_success().await?; - let transfer_event = events.find_first::()?; - - if let Some(event) = transfer_event { - println!("Balance transfer is now in block (but not finalized): {event:?}"); - } else { - println!("Failed to find Balances::Transfer Event"); - } - } - // Finalized! - else if let Finalized(details) = ev { - println!( - "Transaction {:?} is finalized in block {:?}", - details.extrinsic_hash(), - details.block_hash() - ); - - let events = details.wait_for_success().await?; - let transfer_event = events.find_first::()?; - - if let Some(event) = transfer_event { - println!("Balance transfer success: {event:?}"); - } else { - println!("Failed to find Balances::Transfer Event"); - } - } - // Report other statuses we see. - else { - println!("Current transaction status: {ev:?}"); - } - } - - Ok(()) -} diff --git a/examples/examples/subscribe_block_events.rs b/examples/examples/subscribe_block_events.rs deleted file mode 100644 index 02452cd4bc..0000000000 --- a/examples/examples/subscribe_block_events.rs +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright 2019-2023 Parity Technologies (UK) Ltd. -// This file is dual-licensed as Apache-2.0 or GPL-3.0. -// see LICENSE for license details. - -//! To run this example, a local polkadot node should be running. Example verified against polkadot v0.9.28-9ffe6e9e3da. -//! -//! E.g. -//! ```bash -//! curl "https://github.com/paritytech/polkadot/releases/download/v0.9.28/polkadot" --output /usr/local/bin/polkadot --location -//! polkadot --dev --tmp -//! ``` - -use futures::StreamExt; -use sp_keyring::AccountKeyring; -use std::time::Duration; -use subxt::{tx::PairSigner, OnlineClient, PolkadotConfig}; - -#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] -pub mod polkadot {} - -/// Subscribe to all events, and then manually look through them and -/// pluck out the events that we care about. -#[tokio::main] -async fn main() -> Result<(), Box> { - tracing_subscriber::fmt::init(); - - // Create a client to use: - let api = OnlineClient::::new().await?; - - // Subscribe to (in this case, finalized) blocks. - let mut block_sub = api.blocks().subscribe_finalized().await?; - - // While this subscription is active, balance transfers are made somewhere: - tokio::task::spawn({ - let api = api.clone(); - async move { - let signer = PairSigner::new(AccountKeyring::Alice.pair()); - let mut transfer_amount = 1_000_000_000; - - // Make small balance transfers from Alice to Bob in a loop: - loop { - let transfer_tx = polkadot::tx() - .balances() - .transfer(AccountKeyring::Bob.to_account_id().into(), transfer_amount); - api.tx() - .sign_and_submit_default(&transfer_tx, &signer) - .await - .unwrap(); - - tokio::time::sleep(Duration::from_secs(10)).await; - transfer_amount += 100_000_000; - } - } - }); - - // Get each finalized block as it arrives. - while let Some(block) = block_sub.next().await { - let block = block?; - - // Ask for the events for this block. - let events = block.events().await?; - - let block_hash = block.hash(); - - // We can dynamically decode events: - println!(" Dynamic event details: {block_hash:?}:"); - for event in events.iter() { - let event = event?; - let is_balance_transfer = event - .as_event::()? - .is_some(); - let pallet = event.pallet_name(); - let variant = event.variant_name(); - println!(" {pallet}::{variant} (is balance transfer? {is_balance_transfer})"); - } - - // Or we can find the first transfer event, ignoring any others: - let transfer_event = events.find_first::()?; - - if let Some(ev) = transfer_event { - println!(" - Balance transfer success: value: {:?}", ev.amount); - } else { - println!(" - No balance transfer event found in this block"); - } - } - - Ok(()) -} diff --git a/examples/examples/subscribe_runtime_updates.rs b/examples/examples/subscribe_runtime_updates.rs deleted file mode 100644 index 29145f0d8c..0000000000 --- a/examples/examples/subscribe_runtime_updates.rs +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2019-2023 Parity Technologies (UK) Ltd. -// This file is dual-licensed as Apache-2.0 or GPL-3.0. -// see LICENSE for license details. - -//! To run this example, a local polkadot node should be running. Example verified against polkadot v0.9.28-9ffe6e9e3da. -//! -//! E.g. -//! ```bash -//! curl "https://github.com/paritytech/polkadot/releases/download/v0.9.28/polkadot" --output /usr/local/bin/polkadot --location -//! polkadot --dev --tmp -//! ``` - -use std::time::Duration; -use subxt::{OnlineClient, PolkadotConfig}; - -#[tokio::main] -async fn main() -> Result<(), Box> { - tracing_subscriber::fmt::init(); - - // Create a client to use: - let api = OnlineClient::::new().await?; - - // Start a new tokio task to perform the runtime updates while - // utilizing the API for other use cases. - let update_client = api.updater(); - tokio::spawn(async move { - let result = update_client.perform_runtime_updates().await; - println!("Runtime update failed with result={result:?}"); - }); - - // If this client is kept in use a while, it'll update its metadata and such - // as needed when the node it's pointed at updates. - tokio::time::sleep(Duration::from_secs(10_000)).await; - - Ok(()) -} diff --git a/macro/src/lib.rs b/macro/src/lib.rs index f0621a1ec4..8954679305 100644 --- a/macro/src/lib.rs +++ b/macro/src/lib.rs @@ -2,113 +2,6 @@ // This file is dual-licensed as Apache-2.0 or GPL-3.0. // see LICENSE for license details. -//! Generate a strongly typed API for interacting with a Substrate runtime from its metadata. -//! -//! Usage: -//! -//! Download metadata from a running Substrate node using `subxt-cli`: -//! -//! ```bash -//! subxt metadata > polkadot_metadata.scale -//! ``` -//! -//! Annotate a Rust module with the `subxt` attribute referencing the aforementioned metadata file. -//! -//! ```ignore -//! #[subxt::subxt( -//! runtime_metadata_path = "polkadot_metadata.scale", -//! )] -//! pub mod polkadot {} -//! ``` -//! -//! The `subxt` macro will populate the annotated module with all of the methods and types required -//! for submitting extrinsics and reading from storage for the given runtime. -//! -//! ## Substituting types -//! -//! In order to replace a generated type by a user-defined type, use `substitute_type`: -//! -//! ```ignore -//! #[subxt::subxt( -//! runtime_metadata_path = "polkadot_metadata.scale", -//! substitute_type(path = "sp_arithmetic::per_things::Perbill", with = "sp_runtime::Perbill") -//! )] -//! pub mod polkadot {} -//! ``` -//! -//! This will replace the generated type and any usages with the specified type at the `use` import. -//! It is useful for using custom decoding for specific types, or to provide a type with foreign -//! trait implementations, or other specialized functionality. - -//! ## Custom Derives -//! -//! By default all generated types are annotated with `scale::Encode` and `scale::Decode` derives. -//! However when using the generated types in the client, they may require additional derives to be -//! useful. -//! -//! ### Adding derives for all types -//! -//! Add `derive_for_all_types` with a comma separated list of the derives to apply to *all* types -//! -//! ```ignore -//! #[subxt::subxt( -//! runtime_metadata_path = "polkadot_metadata.scale", -//! derive_for_all_types = "Eq, PartialEq" -//! )] -//! pub mod polkadot {} -//! ``` -//! -//! ### Adding derives for specific types -//! -//! Add `derive_for_type` for each specific type with a comma separated list of the derives to -//! apply for that type only. -//! -//! ```ignore -//! #[subxt::subxt( -//! runtime_metadata_path = "polkadot_metadata.scale", -//! derive_for_all_types = "Eq, PartialEq", -//! derive_for_type(path = "frame_support::PalletId", derive = "Ord, PartialOrd"), -//! derive_for_type(path = "sp_runtime::ModuleError", derive = "Hash"), -//! )] -//! pub mod polkadot {} -//! ``` -//! -//! ### Custom crate path -//! -//! In order to specify a custom crate path to be used for the code generation: -//! -//! ```ignore -//! #[subxt::subxt(crate = "crate::path::to::subxt")] -//! pub mod polkadot {} -//! ``` -//! -//! By default the path `::subxt` is used. -//! -//! ### Expose documentation -//! -//! In order to expose the documentation from the runtime metadata on the generated -//! code, users must specify the `generate_docs` flag: -//! -//! ```ignore -//! #[subxt::subxt(generate_docs)] -//! pub mod polkadot {} -//! ``` -//! -//! By default the documentation is not generated. -//! -//! ### Runtime types generation -//! -//! In some cases, you may be interested only in the runtime types, like `RuntimeCall` enum. You can -//! limit code generation to just `runtime_types` module with `runtime_types_only` flag: -//! -//! ```ignore -//! #[subxt::subxt(runtime_types_only)] -//! // or equivalently -//! #[subxt::subxt(runtime_types_only = true)] -//! ``` - -#![deny(unused_crate_dependencies)] - extern crate proc_macro; use std::str::FromStr; @@ -174,6 +67,7 @@ struct SubstituteType { with: syn::Path, } +// Note: docs for this are in the subxt library; don't add any here as they will be appended. #[proc_macro_attribute] #[proc_macro_error] pub fn subxt(args: TokenStream, input: TokenStream) -> TokenStream { diff --git a/subxt/src/blocks/mod.rs b/subxt/src/blocks/mod.rs index d60df23d99..9d6e62d8b3 100644 --- a/subxt/src/blocks/mod.rs +++ b/subxt/src/blocks/mod.rs @@ -7,5 +7,5 @@ mod block_types; mod blocks_client; -pub use block_types::{Block, Extrinsic, ExtrinsicEvents}; +pub use block_types::{Block, BlockBody, Extrinsic, ExtrinsicEvents}; pub use blocks_client::{subscribe_to_block_headers_filling_in_gaps, BlocksClient}; diff --git a/subxt/src/book/mod.rs b/subxt/src/book/mod.rs new file mode 100644 index 0000000000..47124df1ab --- /dev/null +++ b/subxt/src/book/mod.rs @@ -0,0 +1,96 @@ +// Copyright 2019-2023 Parity Technologies (UK) Ltd. +// This file is dual-licensed as Apache-2.0 or GPL-3.0. +// see LICENSE for license details. + +// Dev note; I used the following command to normalize and wrap comments: +// rustfmt +nightly --config wrap_comments=true,comment_width=100,normalize_comments=true subxt/src/book/mod.rs +// It messed up comments in code blocks though, so be prepared to go and fix those. + +//! # The Subxt Guide +//! +//! Subxt is a library for interacting with Substrate based nodes. It has a focus on **sub**mitting +//! e**xt**rinsics, hence the name, however it's also capable of reading blocks, storage, events and +//! constants from a node. The aim of this guide is to explain key concepts and get you started with +//! using Subxt. +//! +//! 1. [Features](#features-at-a-glance) +//! 2. [Limitations](#limitations) +//! 3. [Quick start](#quick-start) +//! 4. [Usage](#usage) +//! +//! ## Features at a glance +//! +//! Here's a quick overview of the features that Subxt has to offer: +//! +//! - Subxt allows you to generate a static, type safe interface to a node given some metadata; this +//! allows you to catch many errors at compile time rather than runtime. +//! - Subxt also makes heavy use of node metadata to encode/decode the data sent to/from it. This +//! allows it to target almost any node which can output the correct metadata, and allows it some +//! flexibility in encoding and decoding things to account for cross-node differences. +//! - Subxt has a pallet-oriented interface, meaning that code you write to talk to some pallet on +//! one node will often "Just Work" when pointed at different nodes that use the same pallet. +//! - Subxt can work offline; you can generate and sign transactions, access constants from node +//! metadata and more, without a network connection. This is all checked at compile time, so you +//! can be certain it won't try to establish a network connection if you don't want it to. +//! - Subxt can forego the statically generated interface and build transactions, storage queries +//! and constant queries using data provided at runtime, rather than queries constructed +//! statically. +//! - Subxt can be compiled to WASM to run in the browser, allowing it to back Rust based browser +//! apps, or even bind to JS apps. +//! +//! ## Limitations +//! +//! In various places, you can provide a block hash to access data at a particular block, for +//! instance: +//! +//! - [`crate::storage::StorageClient::at`] +//! - [`crate::events::EventsClient::at`] +//! - [`crate::blocks::BlocksClient::at`] +//! - [`crate::runtime_api::RuntimeApiClient::at`] +//! +//! However, Subxt is (by default) only capable of properly working with blocks that were produced +//! after the most recent runtime update. This is because it uses the most recent metadata given +//! back by a node to encode and decode things. It's possible to decode older blocks produced by a +//! runtime that emits compatible (currently, V14) metadata by manually setting the metadata used by +//! the client using [`crate::client::OnlineClient::set_metadata()`]. +//! +//! Subxt does not support working with blocks produced prior to the runtime update that introduces +//! V14 metadata. It may have some success decoding older blocks using newer metadata, but may also +//! completely fail to do so. +//! +//! ## Quick start +//! +//! Here is a simple but complete example of using Subxt to transfer some tokens from the example +//! accounts, Alice to Bob: +//! +//! ```rust,ignore +#![doc = include_str!("../../../examples/examples/balance_transfer_basic.rs")] +//! ``` +//! +//! This example assumes that a Polkadot node is running locally (Subxt endeavors to support all +//! recent releases). Typically, to use Subxt to talk to some custom Substrate node (for example a +//! parachain node), you'll want to: +//! +//! 1. [Generate an interface](setup::codegen). +//! 2. [Configure and instantiate the client](setup::client). +//! +//! Follow the above links to learn more about each step. +//! +//! ## Usage +//! +//! Once Subxt is configured, the next step is interacting with a node. Follow the links +//! below to learn more about how to use Subxt for each of the following things: +//! +//! - [Extrinsics](usage::extrinsics): Subxt can build and submit extrinsics, wait until they are in +//! blocks, and retrieve the associated events. +//! - [Storage](usage::storage): Subxt can query the node storage. +//! - [Events](usage::events): Subxt can read the events emitted for recent blocks. +//! - [Constants](usage::constants): Subxt can access the constant values stored in a node, which +//! remain the same for a given runtime version. +//! - [Blocks](usage::blocks): Subxt can load recent blocks or subscribe to new/finalized blocks, +//! reading the extrinsics, events and storage at these blocks. +//! - [Runtime APIs](usage::runtime_apis): Subxt can make calls into pallet runtime APIs to retrieve +//! data. +//! +pub mod setup; +pub mod usage; diff --git a/subxt/src/book/setup/client.rs b/subxt/src/book/setup/client.rs new file mode 100644 index 0000000000..92fd621769 --- /dev/null +++ b/subxt/src/book/setup/client.rs @@ -0,0 +1,54 @@ +// Copyright 2019-2023 Parity Technologies (UK) Ltd. +// This file is dual-licensed as Apache-2.0 or GPL-3.0. +// see LICENSE for license details. + +//! # Configuring the Subxt client +//! +//! Subxt ships with two clients, an [offline client](crate::client::OfflineClient) and an [online +//! client](crate::client::OnlineClient). These are backed by the traits +//! [`crate::client::OfflineClientT`] and [`crate::client::OnlineClientT`], so in theory it's +//! possible for users to implement their own clients, although this isn't generally expected. +//! +//! Both clients are generic over a [`crate::config::Config`] trait, which is the way that we give +//! the client certain information about how to interact with a node that isn't otherwise available +//! or possible to include in the node metadata. Subxt ships out of the box with two default +//! implementations: +//! +//! - [`crate::config::PolkadotConfig`] for talking to Polkadot nodes, and +//! - [`crate::config::SubstrateConfig`] for talking to generic nodes built with Substrate. +//! +//! The latter will generally work in many cases, but will need modifying if the chain you'd like to +//! connect to has altered any of the details mentioned in [the trait](`crate::config::Config`). +//! +//! In the case of the [`crate::OnlineClient`], we have a few options to instantiate it: +//! +//! - [`crate::OnlineClient::new()`] to connect to a node running locally. +//! - [`crate::OnlineClient::from_url()`] to connect to a node at a specific URL. +//! - [`crate::OnlineClient::from_rpc_client()`] to instantiate the client with a custom RPC +//! implementation. +//! +//! The latter accepts anything that implements the low level [`crate::rpc::RpcClientT`] trait; this +//! allows you to decide how Subxt will attempt to talk to a node if you'd prefer something other +//! than the provided interfaces. +//! +//! ## Examples +//! +//! Defining some custom config based off the default Substrate config: +//! +//! +//! ```rust,ignore +#![doc = include_str!("../../../../examples/examples/setup_client_custom_config.rs")] +//! ``` +//! Writing a custom [`crate::rpc::RpcClientT`] implementation: +//! +//! +//! ```rust,ignore +#![doc = include_str!("../../../../examples/examples/setup_client_custom_rpc.rs")] +//! ``` +//! Creating an [`crate::OfflineClient`]: +//! +//! +//! ```rust,ignore +#![doc = include_str!("../../../../examples/examples/setup_client_offline.rs")] +//! ``` +//! diff --git a/subxt/src/book/setup/codegen.rs b/subxt/src/book/setup/codegen.rs new file mode 100644 index 0000000000..5cf0d8032d --- /dev/null +++ b/subxt/src/book/setup/codegen.rs @@ -0,0 +1,66 @@ +// Copyright 2019-2023 Parity Technologies (UK) Ltd. +// This file is dual-licensed as Apache-2.0 or GPL-3.0. +// see LICENSE for license details. + +//! # Generating an interface +//! +//! The simplest way to use Subxt is to generate an interface to a chain that you'd like to interact +//! with. This generated interface allows you to build transactions and construct queries to access +//! data while leveraging the full type safety of the Rust compiler. +//! +//! ## The `#[subxt]` macro +//! +//! The most common way to generate the interface is to use the [`#[subxt]`](crate::subxt) macro. +//! Using this macro looks something like: +//! +//! ```rust,no_run +//! #[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] +//! pub mod polkadot {} +//! ``` +//! +//! The macro takes a path to some node metadata, and uses that to generate the interface you'll use +//! to talk to it. [Go here](crate::subxt) to learn more about the options available to the macro. +//! +//! To obtain this metadata you'll need for the above, you can use the `subxt` CLI tool to download it +//! from a node. The tool can be installed via `cargo`: +//! +//! ```shell +//! cargo install subxt-cli +//! ``` +//! +//! And then it can be used to fetch metadata and save it to a file: +//! +//! ```shell +//! # Download and save all of the metadata: +//! subxt metadata > metadata.scale +//! # Download and save only the pallets you want to generate an interface for: +//! subxt metadata --pallets Balances,System > metadata.scale +//! ``` +//! +//! Explicitly specifying pallets will cause the tool to strip out all unnecessary metadata and type +//! information, making the bundle much smaller in the event that you only need to generate an +//! interface for a subset of the available pallets on the node. +//! +//! ## The CLI tool +//! +//! Using the [`#[subxt]`](crate::subxt) macro carries some downsides: +//! +//! - Using it to generate an interface will have a small impact on compile times (though much less of +//! one if you only need a few pallets). +//! - IDE support for autocompletion and documentation when using the macro interface can be poor. +//! - It's impossible to manually look at the generated code to understand and debug things. +//! +//! If these are an issue, you can manually generate the same code that the macro generates under the hood +//! by using the `subxt codegen` command: +//! +//! ```shell +//! # Install the CLI tool if you haven't already: +//! cargo install subxt-cli +//! # Generate and format rust code, saving it to `interface.rs`: +//! subxt codegen | rustfmt > interface.rs +//! ``` +//! +//! Use `subxt codegen --help` for more options; many of the options available via the macro are +//! also available via the CLI tool, such as the ability to substitute generated types for others, +//! or strip out docs from the generated code. +//! diff --git a/subxt/src/book/setup/mod.rs b/subxt/src/book/setup/mod.rs new file mode 100644 index 0000000000..f3f3c8e109 --- /dev/null +++ b/subxt/src/book/setup/mod.rs @@ -0,0 +1,13 @@ +// Copyright 2019-2023 Parity Technologies (UK) Ltd. +// This file is dual-licensed as Apache-2.0 or GPL-3.0. +// see LICENSE for license details. + +//! This modules contains details on setting up Subxt: +//! +//! - [Codegen](codegen) +//! - [Client](client) +//! +//! Alternately, [go back](super). + +pub mod client; +pub mod codegen; diff --git a/subxt/src/book/usage/blocks.rs b/subxt/src/book/usage/blocks.rs new file mode 100644 index 0000000000..b991500f86 --- /dev/null +++ b/subxt/src/book/usage/blocks.rs @@ -0,0 +1,39 @@ +// Copyright 2019-2023 Parity Technologies (UK) Ltd. +// This file is dual-licensed as Apache-2.0 or GPL-3.0. +// see LICENSE for license details. + +//! # Blocks +//! +//! The [blocks API](crate::blocks::BlocksClient) in Subxt unifies many of the other interfaces, and +//! allows you to: +//! +//! - Access information about specific blocks (see [`crate::blocks::BlocksClient::at()`] and +//! [`crate::blocks::BlocksClient::at_latest()`]). +//! - Subscribe to [all](crate::blocks::BlocksClient::subscribe_all()), +//! [best](crate::blocks::BlocksClient::subscribe_best()) or +//! [finalized](crate::blocks::BlocksClient::subscribe_finalized()) blocks as they are produced. +//! Prefer to subscribe to finalized blocks unless you know what you're doing. +//! +//! In either case, you'll end up with [`crate::blocks::Block`]'s, from which you can access various +//! information about the block, such a the [header](crate::blocks::Block::header()), [block +//! number](crate::blocks::Block::number()) and [body](crate::blocks::Block::body()). +//! [`crate::blocks::Block`]'s also provide shortcuts to other Subxt APIs that will operate at the +//! given block: +//! +//! - [storage](crate::blocks::Block::storage()), +//! - [events](crate::blocks::Block::events()) +//! - [runtime APIs](crate::blocks::Block::runtime_api()) +//! +//! ## Example +//! +//! Given a block, you can [download the block body](crate::blocks::Block::body()) and iterate over +//! the extrinsics stored within it using [`crate::blocks::BlockBody::extrinsics()`]. +//! +//! Here's an example in which we subscribe to blocks and print a bunch of information about each +//! one: +//! +//! +//! ```rust,ignore +#![doc = include_str!("../../../../examples/examples/blocks_subscribing.rs")] +//! ``` +//! diff --git a/subxt/src/book/usage/constants.rs b/subxt/src/book/usage/constants.rs new file mode 100644 index 0000000000..94074113ee --- /dev/null +++ b/subxt/src/book/usage/constants.rs @@ -0,0 +1,61 @@ +// Copyright 2019-2023 Parity Technologies (UK) Ltd. +// This file is dual-licensed as Apache-2.0 or GPL-3.0. +// see LICENSE for license details. + +//! # Constants +//! +//! There are various constants stored in a node; the types and values of these are defined in a +//! runtime, and can only change when the runtime is updated. Much like [`super::storage`], we can +//! query these using Subxt by taking the following steps: +//! +//! 1. [Constructing a constant query](#constructing-a-query). +//! 2. [Submitting the query to get back the associated value](#submitting-it). +//! +//! ## Constructing a constant query +//! +//! We can use the statically generated interface to build constant queries: +//! +//! ```rust,no_run +//! use sp_keyring::AccountKeyring; +//! +//! #[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] +//! pub mod polkadot {} +//! +//! let constant_query = polkadot::constants().system().block_length(); +//! ``` +//! +//! Alternately, we can dynamically construct a constant query: +//! +//! ```rust,no_run +//! use sp_keyring::AccountKeyring; +//! use subxt::dynamic::Value; +//! +//! let account = AccountKeyring::Alice.to_account_id(); +//! let storage_query = subxt::dynamic::constant("System", "BlockLength"); +//! ``` +//! +//! Static queries also have a static return type, so the constant is decoded appropriately. In +//! addition, they are validated at runtime to ensure that they align with the current node state. +//! Dynamic queries must be decoded into some static type manually, or into the dynamic +//! [`crate::dynamic::Value`] type. +//! +//! ## Submitting it +//! +//! Constant queries are handed to Subxt via [`crate::constants::ConstantsClient::at()`]. It's worth +//! noting that constant values are pulled directly out of the node metadata which Subxt has +//! already acquired, and so this function requires no network access and is available from a +//! [`crate::OfflineClient`]. +//! +//! Here's an example using a static query: +//! +//! +//! ```rust,ignore +#![doc = include_str!("../../../../examples/examples/constants_static.rs")] +//! ``` +//! And here's one using a dynamic query: +//! +//! +//! ```rust,ignore +#![doc = include_str!("../../../../examples/examples/constants_dynamic.rs")] +//! ``` +//! diff --git a/subxt/src/book/usage/events.rs b/subxt/src/book/usage/events.rs new file mode 100644 index 0000000000..b64382731e --- /dev/null +++ b/subxt/src/book/usage/events.rs @@ -0,0 +1,50 @@ +// Copyright 2019-2023 Parity Technologies (UK) Ltd. +// This file is dual-licensed as Apache-2.0 or GPL-3.0. +// see LICENSE for license details. + +//! # Events +//! +//! In the process of adding extrinsics to a block, they are executed. When extrinsics are executed, +//! they normally produce events describing what's happening (at the very least, an event dictating whether +//! the extrinsic has succeeded or failed). The node may also emit some events of its own as the block is +//! processed. +//! +//! Events live in a single location in node storage which is overwritten at each block. Normal nodes tend to +//! keep a snapshot of the state at a small number of previous blocks, so you can sometimes access +//! older events by using [`crate::events::EventsClient::at()`] and providing an older block hash. +//! +//! When we submit extrinsics using Subxt, methods like [`crate::tx::TxProgress::wait_for_finalized_success()`] +//! return [`crate::blocks::ExtrinsicEvents`], which can be used to iterate and inspect the events produced +//! for a specific extrinsic. We can also access _all_ of the events produced in a single block using one of these +//! two interfaces: +//! +//! ```rust,no_run +//! # #[tokio::main] +//! # async fn main() -> Result<(), Box> { +//! use subxt::client::OnlineClient; +//! use subxt::config::PolkadotConfig; +//! +//! // Create client: +//! let client = OnlineClient::::new().await?; +//! +//! // Get events from the latest block (use .at() to specify a block hash): +//! let events = client.blocks().at_latest().await?.events().await?; +//! // We can use this shorthand too: +//! let events = client.events().at_latest().await?; +//! # Ok(()) +//! # } +//! ``` +//! +//! Once we've loaded our events, we can iterate all events or search for specific events via +//! methods like [`crate::events::Events::iter()`] and [`crate::events::Events::find()`]. See +//! [`crate::events::Events`] and [`crate::events::EventDetails`] for more information. +//! +//! ## Example +//! +//! Here's an example which puts this all together: +//! +//! +//! ```rust,ignore +#![doc = include_str!("../../../../examples/examples/events.rs")] +//! ``` +//! diff --git a/subxt/src/book/usage/extrinsics.rs b/subxt/src/book/usage/extrinsics.rs new file mode 100644 index 0000000000..3d409f5772 --- /dev/null +++ b/subxt/src/book/usage/extrinsics.rs @@ -0,0 +1,175 @@ +// Copyright 2019-2023 Parity Technologies (UK) Ltd. +// This file is dual-licensed as Apache-2.0 or GPL-3.0. +// see LICENSE for license details. + +//! # Extrinsics +//! +//! Extrinsics define function calls and their parameters, and are the only way that you can change +//! the state of the blockchain. Submitting extrinsics to a node is one of the core features of +//! Subxt, and generally consists of the following steps: +//! +//! 1. [Constructing an extrinsic payload to submit](#constructing-an-extrinsic-payload). +//! 2. [Signing it](#signing-it). +//! 3. [Submitting it (optionally with some additional parameters)](#submitting-it). +//! +//! We'll look at each of these steps in turn. +//! +//! > As a side note, an _extrinsic_ is anything that can be added to a block, and a _transaction_ +//! > is an extrinsic that is submitted from a particular user (and is therefore also signed). Subxt +//! > can construct unsigned extrinsics, but overwhelmingly you'll need to sign them, and so the +//! > documentation tends to use the terms _extrinsic_ and _transaction_ interchangeably. +//! +//! ## Constructing an extrinsic payload +//! +//! We can use the statically generated interface to build extrinsic payloads: +//! +//! ```rust,no_run +//! #[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] +//! pub mod polkadot {} +//! +//! let remark = "Hello there".as_bytes().to_vec(); +//! let extrinsic_payload = polkadot::tx().system().remark(remark); +//! ``` +//! +//! > If you're not sure what types to import and use to build a given payload, you can use the +//! > `subxt` CLI tool to generate the interface by using something like `subxt codegen | rustfmt > +//! > interface.rs`, to see what types and things are available (or even just to use directly +//! > instead of the [`#[subxt]`](crate::subxt) macro). +//! +//! Alternately, we can dynamically construct an extrinsic payload. This will not be type checked or +//! validated until it's submitted: +//! +//! ```rust,no_run +//! use subxt::dynamic::Value; +//! +//! let extrinsic_payload = subxt::dynamic::tx("System", "remark", vec![ +//! Value::from_bytes("Hello there") +//! ]); +//! ``` +//! +//! The [`crate::dynamic::Value`] type is a dynamic type much like a `serde_json::Value` but instead +//! represents any type of data that can be SCALE encoded or decoded. It can be serialized, +//! deserialized and parsed from/to strings. +//! +//! A valid extrinsic payload is just something that implements the [`crate::tx::TxPayload`] trait; +//! you can implement this trait on your own custom types if the built-in ones are not suitable for +//! your needs. +//! +//! ## Signing it +//! +//! You'll normally need to sign an extrinsic to prove that it originated from an account that you +//! control. To do this, you will typically first create an [`crate::tx::Signer`], which tells Subxt +//! who the extrinsic is from, and takes care of signing the relevant details to prove this. +//! +//! Subxt provides a [`crate::tx::PairSigner`] which implements this trait (if the +//! `substrate-compat` feature is enabled) which accepts any valid [`sp_core::Pair`] and uses that +//! to sign transactions: +//! +//! ```rust +//! use subxt::tx::PairSigner; +//! use sp_core::Pair; +//! use subxt::config::PolkadotConfig; +//! +//! // Get hold of a `Signer` given a test account: +//! let pair = sp_keyring::AccountKeyring::Alice.pair(); +//! let signer = PairSigner::::new(pair); +//! +//! // Or generate an `sr25519` keypair to use: +//! let (pair, _, _) = sp_core::sr25519::Pair::generate_with_phrase(Some("password")); +//! let signer = PairSigner::::new(pair); +//! ``` +//! +//! See the [`sp_core::Pair`] docs for more ways to generate them. +//! +//! If this isn't suitable/available, you can either implement [`crate::tx::Signer`] yourself to use +//! custom signing logic, or you can use some external signing logic, like so: +//! +//! ```rust,no_run +//! # #[tokio::main] +//! # async fn main() -> Result<(), Box> { +//! use subxt::client::OnlineClient; +//! use subxt::config::PolkadotConfig; +//! use subxt::dynamic::Value; +//! +//! // Create client: +//! let client = OnlineClient::::new().await?; +//! +//! // Create a dummy extrinsic payload to sign: +//! let payload = subxt::dynamic::tx("System", "remark", vec![ +//! Value::from_bytes("Hello there") +//! ]); +//! +//! // Construct the extrinsic but don't sign it. You need to provide the nonce +//! // here, or can use `create_partial_signed` to fetch the correct nonce. +//! let partial_extrinsic = client.tx().create_partial_signed_with_nonce( +//! &payload, +//! 0, +//! Default::default() +//! )?; +//! +//! // Fetch the payload that needs to be signed: +//! let signer_payload = partial_extrinsic.signer_payload(); +//! +//! // ... At this point, we can hand off the `signer_payload` to be signed externally. +//! // Ultimately we need to be given back a `signature` (or really, anything +//! // that can be SCALE encoded) and an `address`: +//! let signature; +//! let address; +//! # use subxt::tx::Signer; +//! # let pair = sp_keyring::AccountKeyring::Alice.pair(); +//! # let signer = subxt::tx::PairSigner::::new(pair); +//! # signature = signer.sign(&signer_payload); +//! # address = signer.address(); +//! +//! // Now we can build an extrinsic, which one can call `submit` or `submit_and_watch` +//! // on to submit to a node and optionally watch the status. +//! let extrinsic = partial_extrinsic.sign_with_address_and_signature( +//! &address, +//! &signature +//! ); +//! # Ok(()) +//! # } +//! ``` +//! +//! ## Submitting it +//! +//! Once we are able to sign the extrinsic, we need to submit it. +//! +//! ### The high level API +//! +//! The highest level approach to doing this is to call +//! [`crate::tx::TxClient::sign_and_submit_then_watch_default`]. This hands back a +//! [`crate::tx::TxProgress`] struct which will monitor the transaction status. We can then call +//! [`crate::tx::TxProgress::wait_for_finalized_success()`] to wait for this transaction to make it +//! into a finalized block, check for an `ExtrinsicSuccess` event, and then hand back the events for +//! inspection. This looks like: +//! +//! +//! ```rust,ignore +#![doc = include_str!("../../../../examples/examples/balance_transfer_basic.rs")] +//! ``` +//! ### Providing extrinsic parameters +//! +//! If you'd like to provide extrinsic parameters (such as mortality), you can use +//! [`crate::tx::TxClient::sign_and_submit_then_watch`] instead, and provide parameters for your +//! chain: +//! +//! +//! ```rust,ignore +#![doc = include_str!("../../../../examples/examples/balance_transfer_with_params.rs")] +//! ``` +//! This example doesn't wait for the extrinsic to be included in a block; it just submits it and +//! hopes for the best! +//! +//! ### Custom handling of transaction status updates +//! +//! If you'd like more control or visibility over exactly which status updates are being emitted for +//! the transaction, you can monitor them as they are emitted and react however you choose: +//! +//! +//! ```rust,ignore +#![doc = include_str!("../../../../examples/examples/balance_transfer_status_stream.rs")] +//! ``` +//! Take a look at the API docs for [`crate::tx::TxProgress`], [`crate::tx::TxStatus`] and +//! [`crate::tx::TxInBlock`] for more options. +//! diff --git a/subxt/src/book/usage/mod.rs b/subxt/src/book/usage/mod.rs new file mode 100644 index 0000000000..8243cf2ce2 --- /dev/null +++ b/subxt/src/book/usage/mod.rs @@ -0,0 +1,21 @@ +// Copyright 2019-2023 Parity Technologies (UK) Ltd. +// This file is dual-licensed as Apache-2.0 or GPL-3.0. +// see LICENSE for license details. + +//! This modules contains examples of using Subxt; follow the links for more: +//! +//! - [Extrinsics](extrinsics) +//! - [Storage](storage) +//! - [Events](events) +//! - [Constants](constants) +//! - [Blocks](blocks) +//! - [Runtime APIs](runtime_apis) +//! +//! Alternately, [go back](super). + +pub mod blocks; +pub mod constants; +pub mod events; +pub mod extrinsics; +pub mod runtime_apis; +pub mod storage; diff --git a/subxt/src/book/usage/runtime_apis.rs b/subxt/src/book/usage/runtime_apis.rs new file mode 100644 index 0000000000..f5b4dd0799 --- /dev/null +++ b/subxt/src/book/usage/runtime_apis.rs @@ -0,0 +1,81 @@ +// Copyright 2019-2023 Parity Technologies (UK) Ltd. +// This file is dual-licensed as Apache-2.0 or GPL-3.0. +// see LICENSE for license details. + +//! # Runtime API interface +//! +//! The Runtime API interface allows Subxt to call runtime APIs exposed by certain pallets in order +//! to obtain information. Much like [`super::storage`] and [`super::extrinsics`], Making a runtime +//! call to a node and getting the response back takes the following steps: +//! +//! 1. [Constructing a runtime call](#constructing-a-runtime-call) +//! 2. [Submitting it to get back the response](#submitting-it) +//! +//! **Note:** Runtime APIs are only available when using V15 metadata, which is currently unstable. +//! You'll need to use `subxt metadata --version unstable` command to download the unstable V15 metadata, +//! and activate the `unstable-metadata` feature in Subxt for it to also use this metadata from a node. The +//! metadata format is unstable because it may change and break compatibility with Subxt at any moment, so +//! use at your own risk. +//! +//! ## Constructing a runtime call +//! +//! We can use the statically generated interface to build runtime calls: +//! +//! ```rust,no_run +//! use sp_keyring::AccountKeyring; +//! +//! #[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] +//! pub mod polkadot {} +//! +//! let runtime_call = polkadot::apis().metadata().metadata_versions(); +//! ``` +//! +//! Alternately, we can dynamically construct a runtime call: +//! +//! ```rust,no_run +//! use sp_keyring::AccountKeyring; +//! use subxt::dynamic::Value; +//! +//! let account = AccountKeyring::Alice.to_account_id(); +//! let runtime_call = subxt::dynamic::runtime_api_call( +//! "Metadata_metadata_versions", +//! Vec::>::new() +//! ); +//! ``` +//! +//! All valid runtime calls implement [`crate::runtime_api::RuntimeApiPayload`], a trait which +//! describes how to encode the runtime call arguments and what return type to decode from the +//! response. +//! +//! ## Submitting it +//! +//! Runtime calls can be handed to [`crate::runtime_api::RuntimeApi::call()`], which will submit +//! them and hand back the associated response. +//! +//! ### Making a static Runtime API call +//! +//! The easiest way to make a runtime API call is to use the statically generated interface. +//! +//! ```rust,ignore +#![doc = include_str!("../../../../examples/examples/runtime_apis_static.rs")] +//! ``` +//! +//! ### Making a dynamic Runtime API call +//! +//! If you'd prefer to construct the call at runtime, you can do this using the +//! [`crate::dynamic::runtime_api_call`] method. +//! +//! ```rust,ignore +#![doc = include_str!("../../../../examples/examples/runtime_apis_dynamic.rs")] +//! ``` +//! +//! ### Making a raw call +//! +//! This is generally discouraged in favour of one of the above, but may be necessary (especially if +//! the node you're talking to does not yet serve V15 metadata). Here, you must manually encode +//! the argument bytes and manually provide a type for the response bytes to be decoded into. +//! +//! ```rust,ignore +#![doc = include_str!("../../../../examples/examples/runtime_apis_raw.rs")] +//! ``` +//! diff --git a/subxt/src/book/usage/storage.rs b/subxt/src/book/usage/storage.rs new file mode 100644 index 0000000000..92efb13890 --- /dev/null +++ b/subxt/src/book/usage/storage.rs @@ -0,0 +1,110 @@ +// Copyright 2019-2023 Parity Technologies (UK) Ltd. +// This file is dual-licensed as Apache-2.0 or GPL-3.0. +// see LICENSE for license details. + +//! # Storage +//! +//! A Substrate based chain has storage, whose values are determined by the extrinsics added to past +//! blocks. Subxt allows you to query the storage of a node, which consists of the following steps: +//! +//! 1. [Constructing a storage query](#constructing-a-storage-query). +//! 2. [Submitting the query to get back the associated values](#submitting-it). +//! +//! ## Constructing a storage query +//! +//! We can use the statically generated interface to build storage queries: +//! +//! ```rust,no_run +//! use sp_keyring::AccountKeyring; +//! +//! #[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] +//! pub mod polkadot {} +//! +//! let account = AccountKeyring::Alice.to_account_id().into(); +//! let storage_query = polkadot::storage().system().account(&account); +//! ``` +//! +//! Alternately, we can dynamically construct a storage query. This will not be type checked or +//! validated until it's submitted: +//! +//! ```rust,no_run +//! use sp_keyring::AccountKeyring; +//! use subxt::dynamic::Value; +//! +//! let account = AccountKeyring::Alice.to_account_id(); +//! let storage_query = subxt::dynamic::storage("System", "Account", vec![ +//! Value::from_bytes(account) +//! ]); +//! ``` +//! +//! As well as accessing specific entries, some storage locations can also be iterated over (such as +//! the map of account information). To do this, suffix `_root` onto the query constructor (this +//! will only be available on static constructors when iteration is actually possible): +//! +//! ```rust,no_run +//! use sp_keyring::AccountKeyring; +//! +//! #[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] +//! pub mod polkadot {} +//! +//! // A static query capable of iterating over accounts: +//! let storage_query = polkadot::storage().system().account_root(); +//! // A dynamic query to do the same: +//! let storage_query = subxt::dynamic::storage_root("System", "Account"); +//! ``` +//! +//! All valid storage queries implement [`crate::storage::StorageAddress`]. As well as describing +//! how to build a valid storage query, this trait also has some associated types that determine the +//! shape of the result you'll get back, and determine what you can do with it (ie, can you iterate +//! over storage entries using it). +//! +//! Static queries set appropriate values for these associated types, and can therefore only be used +//! where it makes sense. Dynamic queries don't know any better and can be used in more places, but +//! may fail at runtime instead if they are invalid in those places. +//! +//! ## Submitting it +//! +//! Storage queries can be handed to various functions in [`crate::storage::Storage`] in order to +//! obtain the associated values (also referred to as storage entries) back. +//! +//! ### Fetching storage entries +//! +//! The simplest way to access storage entries is to construct a query and then call either +//! [`crate::storage::Storage::fetch()`] or [`crate::storage::Storage::fetch_or_default()`] (the +//! latter will only work for storage queries that have a default value when empty): +//! +//! +//! ```rust,ignore +#![doc = include_str!("../../../../examples/examples/storage_fetch.rs")] +//! ``` +//! For completeness, below is an example using a dynamic query instead. The return type from a +//! dynamic query is a [`crate::dynamic::DecodedValueThunk`], which can be decoded into a +//! [`crate::dynamic::Value`], or else the raw bytes can be accessed instead. +//! +//! +//! ```rust,ignore +#![doc = include_str!("../../../../examples/examples/storage_fetch_dynamic.rs")] +//! ``` +//! ### Iterating storage entries +//! +//! Many storage entries are maps of values; as well as fetching individual values, it's possible to +//! iterate over all of the values stored at that location: +//! +//! +//! ```rust,ignore +#![doc = include_str!("../../../../examples/examples/storage_iterating.rs")] +//! ``` +//! Here's the same logic but using dynamically constructed values instead: +//! +//! +//! ```rust,ignore +#![doc = include_str!("../../../../examples/examples/storage_iterating_dynamic.rs")] +//! ``` +//! ### Advanced +//! +//! For more advanced use cases, have a look at [`crate::storage::Storage::fetch_raw`] and +//! [`crate::storage::Storage::fetch_keys`]. Both of these take raw bytes as arguments, which can be +//! obtained from a [`crate::storage::StorageAddress`] by using +//! [`crate::storage::StorageClient::address_bytes()`] or +//! [`crate::storage::StorageClient::address_root_bytes()`]. +//! diff --git a/subxt/src/config/mod.rs b/subxt/src/config/mod.rs index ba569efa39..702a90eb07 100644 --- a/subxt/src/config/mod.rs +++ b/subxt/src/config/mod.rs @@ -29,7 +29,7 @@ pub trait Config: 'static { /// transactions associated with a sender account. type Index: Debug + Copy + DeserializeOwned + Into; - /// The output of the `Hashing` function. + /// The output of the `Hasher` function. type Hash: Debug + Copy + Send @@ -95,7 +95,6 @@ pub trait Header: Sized + Encode { /// Take a type implementing [`Config`] (eg [`SubstrateConfig`]), and some type which describes the /// additional and extra parameters to pass to an extrinsic (see [`ExtrinsicParams`]), /// and returns a type implementing [`Config`] with those new [`ExtrinsicParams`]. -/// ``` pub struct WithExtrinsicParams> { _marker: std::marker::PhantomData<(T, E)>, } diff --git a/subxt/src/dynamic.rs b/subxt/src/dynamic.rs index df65cffb13..ec318da4c9 100644 --- a/subxt/src/dynamic.rs +++ b/subxt/src/dynamic.rs @@ -11,7 +11,7 @@ use crate::{ }; use scale_decode::DecodeAsType; -pub use scale_value::Value; +pub use scale_value::{At, Value}; /// A [`scale_value::Value`] type endowed with contextual information /// regarding what type was used to decode each part of it. This implements diff --git a/subxt/src/lib.rs b/subxt/src/lib.rs index 3b41f95963..f7eeca7bc3 100644 --- a/subxt/src/lib.rs +++ b/subxt/src/lib.rs @@ -2,112 +2,13 @@ // This file is dual-licensed as Apache-2.0 or GPL-3.0. // see LICENSE for license details. -//! Subxt is a library to **sub**mit e**xt**rinsics to a [substrate](https://github.com/paritytech/substrate) node via RPC. +//! Subxt is a library for interacting with Substrate based nodes. Using it looks something like this: //! -//! The generated Subxt API exposes the ability to: -//! - [Submit extrinsics](https://docs.substrate.io/v3/concepts/extrinsics/) (Calls) -//! - [Query storage](https://docs.substrate.io/v3/runtime/storage/) (Storage) -//! - [Query constants](https://docs.substrate.io/how-to-guides/v3/basics/configurable-constants/) (Constants) -//! - [Subscribe to events](https://docs.substrate.io/v3/runtime/events-and-errors/) (Events) -//! -//! # Initializing the API client -//! -//! To interact with a node, you'll need to construct a client. -//! -//! ```no_run -//! use subxt::{OnlineClient, PolkadotConfig}; -//! -//! # #[tokio::main] -//! # async fn main() { -//! let api = OnlineClient::::new().await.unwrap(); -//! # } +//! ```rust,ignore +#![doc = include_str!("../../examples/examples/balance_transfer_basic.rs")] //! ``` //! -//! This default client connects to a locally running node, but can be configured to point anywhere. -//! Additionally, an [`crate::OfflineClient`] is available to perform operations that don't require a -//! network connection to a node. -//! -//! The client takes a type parameter, here [`crate::PolkadotConfig`], which bakes in assumptions about -//! the structure of extrinsics and the underlying types used by the node for things like block numbers. -//! If the node you'd like to interact with deviates from Polkadot or the default Substrate node in these -//! areas, you'll need to configure them by implementing the [`crate::config::Config`] type yourself. -//! -//! # Generating runtime types -//! -//! Subxt can optionally generate types at compile time to help you interact with a node. These types are -//! generated using metadata which can be downloaded from a node using the [subxt-cli](https://crates.io/crates/subxt-cli) -//! tool. These generated types provide a degree of type safety when interacting with a node that is compatible with -//! the metadata that they were generated using. We also do runtime checks in case the node you're talking to has -//! deviated from the types you're using to communicate with it (see below). -//! -//! To generate the types, use the `subxt` macro and point it at the metadata you've downloaded, like so: -//! -//! ```ignore -//! #[subxt::subxt(runtime_metadata_path = "metadata.scale")] -//! pub mod node_runtime { } -//! ``` -//! -//! For more information, please visit the [subxt-codegen](https://docs.rs/subxt-codegen/latest/subxt_codegen/) -//! documentation. -//! -//! You can opt to skip this step and use dynamic queries to talk to nodes instead, which can be useful in some cases, -//! but doesn't provide any type safety. -//! -//! # Interacting with the API -//! -//! Once instantiated, a client exposes four core functions: -//! - `.tx()` for submitting extrinsics/transactions. See [`crate::tx::TxClient`] for more details, or see -//! the [balance_transfer](../examples/examples/balance_transfer.rs) example. -//! - `.storage()` for fetching and iterating over storage entries. See [`crate::storage::StorageClient`] for more details, or see -//! the [fetch_staking_details](../examples/examples/fetch_staking_details.rs) example. -//! - `.constants()` for getting hold of constants. See [`crate::constants::ConstantsClient`] for more details, or see -//! the [fetch_constants](../examples/examples/fetch_constants.rs) example. -//! - `.events()` for subscribing/obtaining events. See [`crate::events::EventsClient`] for more details, or see: -//! - [subscribe_all_events](../examples/examples/subscribe_all_events.rs): Subscribe to events emitted from blocks. -//! - [subscribe_one_event](../examples/examples/subscribe_one_event.rs): Subscribe and filter by one event. -//! - [subscribe_some_events](../examples/examples/subscribe_some_events.rs): Subscribe and filter event. -//! -//! # Static Metadata Validation -//! -//! If you use types generated by the [`crate::subxt`] macro, there is a chance that they will fall out of sync -//! with the actual state of the node you're trying to interact with. -//! -//! When you attempt to use any of these static types to interact with a node, Subxt will validate that they are -//! still compatible and issue an error if they have deviated. -//! -//! Additionally, you can validate that the entirety of the statically generated code aligns with a node like so: -//! -//! ```no_run -//! use subxt::{OnlineClient, PolkadotConfig}; -//! -//! #[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] -//! pub mod polkadot {} -//! -//! # #[tokio::main] -//! # async fn main() { -//! let api = OnlineClient::::new().await.unwrap(); -//! -//! if let Err(_e) = polkadot::validate_codegen(&api) { -//! println!("Generated code is not up to date with node we're connected to"); -//! } -//! # } -//! ``` -//! ## Opting out of static validation -//! -//! The static types that are used to query/access information are validated by default, to make sure that they are -//! compatible with the node being queried. You can generally call `.unvalidated()` on these static types to -//! disable this validation. -//! -//! # Runtime Updates -//! -//! The node you're connected to may occasionally perform runtime updates while you're connected, which would ordinarily -//! leave the runtime state of the node out of sync with the information Subxt requires to do things like submit -//! transactions. -//! -//! If this is a concern, you can use the `UpdateClient` API to keep the `RuntimeVersion` and `Metadata` of the client -//! synced with the target node. -//! -//! Please visit the [subscribe_runtime_updates](../examples/examples/subscribe_runtime_updates.rs) example for more details. +//! Take a look at [the Subxt guide](book) to learn more about how to use Subxt. #![deny( bad_style, @@ -132,13 +33,14 @@ )] #![allow(clippy::type_complexity)] +// The guide is here. +pub mod book; + // Suppress an unused dependency warning because tokio is // only used in example code snippets at the time of writing. #[cfg(test)] use tokio as _; -pub use subxt_macro::subxt; - // Used to enable the js feature for wasm. #[cfg(target_arch = "wasm32")] pub use getrandom as _; @@ -184,3 +86,203 @@ pub mod ext { #[cfg(feature = "substrate-compat")] pub use sp_runtime; } + +/// Generate a strongly typed API for interacting with a Substrate runtime from its metadata. +/// +/// # Metadata +/// +/// First, you'll need to get hold of some metadata for the node you'd like to interact with. One +/// way to do this is by using the `subxt` CLI tool: +/// +/// ```bash +/// # Install the CLI tool: +/// cargo install subxt-cli +/// # Use it to download metadata (in this case, from a node running locally) +/// subxt metadata > polkadot_metadata.scale +/// ``` +/// +/// Run `subxt metadata --help` for more options. +/// +/// # Basic usage +/// +/// Annotate a Rust module with the `subxt` attribute referencing the aforementioned metadata file. +/// +/// ```rust,no_run +/// #[subxt::subxt( +/// runtime_metadata_path = "../artifacts/polkadot_metadata.scale", +/// )] +/// mod polkadot {} +/// ``` +/// +/// The `subxt` macro will populate the annotated module with all of the methods and types required +/// for interacting with the runtime that the metadata came from via Subxt. +/// +/// # Configuration +/// +/// This macro supports a number of attributes to configure what is generated: +/// +/// ## `crate = "..."` +/// +/// Use this attribute to specify a custom path to the `subxt` crate: +/// +/// ```rust +/// # pub extern crate subxt; +/// # pub mod path { pub mod to { pub use subxt; } } +/// # fn main() {} +/// #[subxt::subxt( +/// runtime_metadata_path = "../artifacts/polkadot_metadata.scale", +/// crate = "crate::path::to::subxt" +/// )] +/// mod polkadot {} +/// ``` +/// +/// This is useful if you write a library which uses this macro, but don't want to force users to depend on `subxt` +/// at the top level too. By default the path `::subxt` is used. +/// +/// ## `substitute_type(path = "...", with = "...")` +/// +/// This attribute replaces any reference to the generated type at the path given by `path` with a +/// reference to the path given by `with`. +/// +/// ```rust +/// #[subxt::subxt( +/// runtime_metadata_path = "../artifacts/polkadot_metadata.scale", +/// substitute_type(path = "sp_arithmetic::per_things::Perbill", with = "crate::Foo") +/// )] +/// mod polkadot {} +/// +/// # #[derive( +/// # scale_encode::EncodeAsType, +/// # scale_decode::DecodeAsType, +/// # codec::Encode, +/// # codec::Decode, +/// # Clone, +/// # Debug, +/// # )] +/// // In reality this needs some traits implementing on +/// // it to allow it to be used in place of Perbill: +/// pub struct Foo(u32); +/// # impl codec::CompactAs for Foo { +/// # type As = u32; +/// # fn encode_as(&self) -> &Self::As { +/// # &self.0 +/// # } +/// # fn decode_from(x: Self::As) -> Result { +/// # Ok(Foo(x)) +/// # } +/// # } +/// # impl From> for Foo { +/// # fn from(v: codec::Compact) -> Foo { +/// # v.0 +/// # } +/// # } +/// # fn main() {} +/// ``` +/// +/// If the type you're substituting contains generic parameters, you can "pattern match" on those, and +/// make use of them in the substituted type, like so: +/// +/// ```rust,no_run +/// #[subxt::subxt( +/// runtime_metadata_path = "../artifacts/polkadot_metadata.scale", +/// substitute_type( +/// path = "sp_runtime::multiaddress::MultiAddress", +/// with = "::subxt::utils::Static<::sp_runtime::MultiAddress>" +/// ) +/// )] +/// mod polkadot {} +/// ``` +/// +/// The above is also an example of using the [`crate::utils::Static`] type to wrap some type which doesn't +/// on it's own implement [`scale_encode::EncodeAsType`] or [`scale_decode::DecodeAsType`], which are required traits +/// for any substitute type to implement by default. +/// +/// ## `derive_for_all_types = "..."` +/// +/// By default, all generated types derive a small set of traits. This attribute allows you to derive additional +/// traits on all generated types: +/// +/// ```rust,no_run +/// #[subxt::subxt( +/// runtime_metadata_path = "../artifacts/polkadot_metadata.scale", +/// derive_for_all_types = "Eq, PartialEq" +/// )] +/// mod polkadot {} +/// ``` +/// +/// Any substituted types (including the default substitutes) must also implement these traits in order to avoid errors +/// here. +/// +/// ## `derive_for_type(path = "...", derive = "...")` +/// +/// Unlike the above, which derives some trait on every generated type, this attribute allows you to derive traits only +/// for specific types. Note that any types which are used inside the specified type may also need to derive the same traits. +/// +/// ```rust,no_run +/// #[subxt::subxt( +/// runtime_metadata_path = "../artifacts/polkadot_metadata.scale", +/// derive_for_all_types = "Eq, PartialEq", +/// derive_for_type(path = "frame_support::PalletId", derive = "Ord, PartialOrd"), +/// derive_for_type(path = "sp_runtime::ModuleError", derive = "Hash"), +/// )] +/// mod polkadot {} +/// ``` +/// +/// ## `runtime_metadata_url = "..."` +/// +/// This attribute can be used instead of `runtime_metadata_path` and will tell the macro to download metadata from a node running +/// at the provided URL, rather than a node running locally. This can be useful in CI, but is **not recommended** in production code, +/// since it runs at compile time and will cause compilation to fail if the node at the given address is unavailable or unresponsive. +/// +/// ```rust,ignore +/// #[subxt::subxt( +/// runtime_metadata_url = "wss://rpc.polkadot.io:443" +/// )] +/// mod polkadot {} +/// ``` +/// +/// ## `generate_docs` +/// +/// By default, documentation is not generated via the macro, since IDEs do not typically make use of it. This attribute +/// forces documentation to be generated, too. +/// +/// ```rust,no_run +/// #[subxt::subxt( +/// runtime_metadata_path = "../artifacts/polkadot_metadata.scale", +/// generate_docs +/// )] +/// mod polkadot {} +/// ``` +/// +/// ## `runtime_types_only` +/// +/// By default, the macro will generate various interfaces to make using Subxt simpler in addition with any types that need +/// generating to make this possible. This attribute makes the codegen only generate the types and not the Subxt interface. +/// +/// ```rust,no_run +/// #[subxt::subxt( +/// runtime_metadata_path = "../artifacts/polkadot_metadata.scale", +/// runtime_types_only +/// )] +/// mod polkadot {} +/// ``` +/// ## `no_default_derives` +/// +/// By default, the macro will add all derives necessary for the generated code to play nicely with Subxt. Adding this attribute +/// removes all default derives. +/// +/// ```rust,no_run +/// #[subxt::subxt( +/// runtime_metadata_path = "../artifacts/polkadot_metadata.scale", +/// runtime_types_only, +/// no_default_derives, +/// derive_for_all_types="codec::Encode, codec::Decode" +/// )] +/// mod polkadot {} +/// ``` +/// +/// **Note**: At the moment, you must derive at least one of `codec::Encode` or `codec::Decode` or `scale_encode::EncodeAsType` or +/// `scale_decode::DecodeAsType` (because we add `#[codec(..)]` attributes on some fields/types during codegen), and you must use this +/// feature in conjunction with `runtime_types_only` (or manually specify a bunch of defaults to make codegen work properly when +/// generating the subxt interfaces). +pub use subxt_macro::subxt; diff --git a/subxt/src/metadata/mod.rs b/subxt/src/metadata/mod.rs index 2e80ac9c15..7ada3e62b7 100644 --- a/subxt/src/metadata/mod.rs +++ b/subxt/src/metadata/mod.rs @@ -13,6 +13,7 @@ pub use metadata_location::MetadataLocation; pub use metadata_type::{ ErrorMetadata, EventMetadata, InvalidMetadataError, Metadata, MetadataError, PalletMetadata, + RuntimeFnMetadata, }; pub use decode_encode_traits::{DecodeWithMetadata, EncodeWithMetadata}; From b632ce767353c79966817f4fb0985f6127744029 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 May 2023 11:03:45 +0200 Subject: [PATCH 14/15] Bump serde from 1.0.160 to 1.0.162 (#948) Bumps [serde](https://github.com/serde-rs/serde) from 1.0.160 to 1.0.162. - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](https://github.com/serde-rs/serde/compare/v1.0.160...1.0.162) --- updated-dependencies: - dependency-name: serde dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f1bbec594c..42af107e56 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2923,18 +2923,18 @@ checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" [[package]] name = "serde" -version = "1.0.160" +version = "1.0.162" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb2f3770c8bce3bcda7e149193a069a0f4365bda1fa5cd88e03bca26afc1216c" +checksum = "71b2f6e1ab5c2b98c05f0f35b236b22e8df7ead6ffbf51d7808da7f8817e7ab6" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.160" +version = "1.0.162" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291a097c63d8497e00160b166a967a4a79c64f3facdd01cbd7502231688d77df" +checksum = "a2a0814352fd64b58489904a44ea8d90cb1a91dcb6b4f5ebabc32c8318e93cb6" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 71c7eb4d4d..caf7c49579 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -59,7 +59,7 @@ scale-value = "0.7.0" scale-bits = "0.3" scale-decode = "0.5.0" scale-encode = "0.1.0" -serde = { version = "1.0.159" } +serde = { version = "1.0.162" } serde_json = { version = "1.0.96" } syn = { version = "2.0.15", features = ["full", "extra-traits"] } thiserror = "1.0.40" From 3f16bb8d521031c7e13749d41711f54f490bb84c Mon Sep 17 00:00:00 2001 From: Alexandru Vasile <60601340+lexnv@users.noreply.github.com> Date: Wed, 10 May 2023 13:18:39 +0300 Subject: [PATCH 15/15] extrinsics: Decode extrinsics from blocks (#929) * Update polkadot.scale Signed-off-by: Alexandru Vasile * extrinsics: Add extrinsics client Signed-off-by: Alexandru Vasile * extrinsics: Decode extrinsics Signed-off-by: Alexandru Vasile * subxt: Add extrinsic error Signed-off-by: Alexandru Vasile * blocks: Expose extrinsics Signed-off-by: Alexandru Vasile * examples: Fetch and decode block extrinsics Signed-off-by: Alexandru Vasile * Fix clippy Signed-off-by: Alexandru Vasile * extrinsics: Fetch pallet and variant index Signed-off-by: Alexandru Vasile * subxt: Move extrinsics on the subxt::blocks Signed-off-by: Alexandru Vasile * example: Adjust example Signed-off-by: Alexandru Vasile * metadata: Collect ExtrinsicMetadata Signed-off-by: Alexandru Vasile * subxt: Implement StaticExtrinsic for the calls Signed-off-by: Alexandru Vasile * Adjust examples Signed-off-by: Alexandru Vasile * codegen: Add root level Call enum Signed-off-by: Alexandru Vasile * Adjust testing Signed-off-by: Alexandru Vasile * subxt: Add new decode interface Signed-off-by: Alexandru Vasile * subxt: Merge ExtrinsicError with BlockError Signed-off-by: Alexandru Vasile * examples: Find first extrinsic Signed-off-by: Alexandru Vasile * Move code to extrinsic_types Signed-off-by: Alexandru Vasile * Add Extrinsic struct Signed-off-by: Alexandru Vasile * Adjust examples Signed-off-by: Alexandru Vasile * test: Decode extinsics Signed-off-by: Alexandru Vasile * extrinsics/test: Add fake metadata for static decoding Signed-off-by: Alexandru Vasile * extrinsics/test: Decode from insufficient bytes Signed-off-by: Alexandru Vasile * extrinsics/test: Check unsupported versions Signed-off-by: Alexandru Vasile * extrinsics/test: Statically decode to root and pallet enums Signed-off-by: Alexandru Vasile * extrinsics/tests: Remove clones Signed-off-by: Alexandru Vasile * blocks: Fetch block body inline Signed-off-by: Alexandru Vasile * blocks: Rename ExtrinsicIds to ExtrinsicPartTypeIds Signed-off-by: Alexandru Vasile * extrinsics/test: Check decode as_extrinsic Signed-off-by: Alexandru Vasile * blocks: Remove InsufficientData error Signed-off-by: Alexandru Vasile * blocks: Return error from extrinsic_metadata Signed-off-by: Alexandru Vasile * extrinsics: Postpone decoding of call bytes Signed-off-by: Alexandru Vasile * metadata_type: Rename variables Signed-off-by: Alexandru Vasile * Adjust calls path for example and tests Signed-off-by: Alexandru Vasile * examples: Remove traces Signed-off-by: Alexandru Vasile * book: Add extrinsics documentation Signed-off-by: Alexandru Vasile * book: Improve extrinsics docs Signed-off-by: Alexandru Vasile --------- Signed-off-by: Alexandru Vasile Co-authored-by: James Wilson --- Cargo.lock | 1 + codegen/src/api/calls.rs | 7 + codegen/src/api/mod.rs | 49 + codegen/src/error.rs | 5 + examples/examples/block_extrinsics.rs | 99 + examples/examples/blocks_subscribing.rs | 3 +- subxt/Cargo.toml | 1 + subxt/src/blocks/block_types.rs | 176 +- subxt/src/blocks/extrinsic_types.rs | 919 +++ subxt/src/blocks/mod.rs | 6 +- subxt/src/book/usage/extrinsics.rs | 49 + subxt/src/config/mod.rs | 2 +- subxt/src/error/mod.rs | 10 + subxt/src/events/events_type.rs | 26 +- subxt/src/metadata/metadata_type.rs | 133 +- subxt/src/metadata/mod.rs | 4 +- testing/integration-tests/src/blocks/mod.rs | 72 +- .../integration-tests/src/codegen/polkadot.rs | 5069 ++++++++++++++++- .../src/metadata/validation.rs | 26 +- 19 files changed, 6493 insertions(+), 164 deletions(-) create mode 100644 examples/examples/block_extrinsics.rs create mode 100644 subxt/src/blocks/extrinsic_types.rs diff --git a/Cargo.lock b/Cargo.lock index 42af107e56..4aebdc9e6e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3537,6 +3537,7 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" name = "subxt" version = "0.28.0" dependencies = [ + "assert_matches", "base58", "bitvec", "blake2", diff --git a/codegen/src/api/calls.rs b/codegen/src/api/calls.rs index 4df5ca637c..23b579ed89 100644 --- a/codegen/src/api/calls.rs +++ b/codegen/src/api/calls.rs @@ -83,6 +83,11 @@ pub fn generate_calls( // The call structure's documentation was stripped above. let call_struct = quote! { #struct_def + + impl #crate_path::blocks::StaticExtrinsic for #struct_name { + const PALLET: &'static str = #pallet_name; + const CALL: &'static str = #call_name; + } }; let client_fn = quote! { @@ -106,6 +111,7 @@ pub fn generate_calls( .into_iter() .unzip(); + let call_type = type_gen.resolve_type_path(call.ty.id); let call_ty = type_gen.resolve_type(call.ty.id); let docs = &call_ty.docs; let docs = should_gen_docs @@ -114,6 +120,7 @@ pub fn generate_calls( Ok(quote! { #docs + pub type Call = #call_type; pub mod calls { use super::root_mod; use super::#types_mod_ident; diff --git a/codegen/src/api/mod.rs b/codegen/src/api/mod.rs index 2421e711f1..9a0f395e71 100644 --- a/codegen/src/api/mod.rs +++ b/codegen/src/api/mod.rs @@ -367,6 +367,26 @@ impl RuntimeGenerator { } }; + let outer_extrinsic_variants = self.metadata.pallets.iter().filter_map(|p| { + let variant_name = format_ident!("{}", p.name); + let mod_name = format_ident!("{}", p.name.to_string().to_snake_case()); + let index = proc_macro2::Literal::u8_unsuffixed(p.index); + + p.calls.as_ref().map(|_| { + quote! { + #[codec(index = #index)] + #variant_name(#mod_name::Call), + } + }) + }); + + let outer_extrinsic = quote! { + #default_derives + pub enum Call { + #( #outer_extrinsic_variants )* + } + }; + let root_event_if_arms = self.metadata.pallets.iter().filter_map(|p| { let variant_name_str = &p.name; let variant_name = format_ident!("{}", variant_name_str); @@ -385,6 +405,24 @@ impl RuntimeGenerator { }) }); + let root_extrinsic_if_arms = self.metadata.pallets.iter().filter_map(|p| { + let variant_name_str = &p.name; + let variant_name = format_ident!("{}", variant_name_str); + let mod_name = format_ident!("{}", variant_name_str.to_string().to_snake_case()); + p.calls.as_ref().map(|_| { + // An 'if' arm for the RootExtrinsic impl to match this variant name: + quote! { + if pallet_name == #variant_name_str { + return Ok(Call::#variant_name(#mod_name::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata + )?)); + } + } + }) + }); + let outer_error_variants = self.metadata.pallets.iter().filter_map(|p| { let variant_name = format_ident!("{}", p.name); let mod_name = format_ident!("{}", p.name.to_string().to_snake_case()); @@ -483,7 +521,18 @@ impl RuntimeGenerator { } } + #outer_extrinsic + + impl #crate_path::blocks::RootExtrinsic for Call { + fn root_extrinsic(pallet_bytes: &[u8], pallet_name: &str, pallet_ty: u32, metadata: &#crate_path::Metadata) -> Result { + use #crate_path::metadata::DecodeWithMetadata; + #( #root_extrinsic_if_arms )* + Err(#crate_path::ext::scale_decode::Error::custom(format!("Pallet name '{}' not found in root Call enum", pallet_name)).into()) + } + } + #outer_error + impl #crate_path::error::RootError for Error { fn root_error(pallet_bytes: &[u8], pallet_name: &str, metadata: &#crate_path::Metadata) -> Result { use #crate_path::metadata::DecodeWithMetadata; diff --git a/codegen/src/error.rs b/codegen/src/error.rs index 43bb88c612..9a3d977332 100644 --- a/codegen/src/error.rs +++ b/codegen/src/error.rs @@ -53,6 +53,11 @@ pub enum CodegenError { "{0} type should be an variant/enum type. Make sure you are providing a valid substrate-based metadata" )] InvalidType(String), + /// Extrinsic call type could not be found. + #[error( + "Extrinsic call type could not be found. Make sure you are providing a valid substrate-based metadata" + )] + MissingCallType, } impl CodegenError { diff --git a/examples/examples/block_extrinsics.rs b/examples/examples/block_extrinsics.rs new file mode 100644 index 0000000000..e71182c421 --- /dev/null +++ b/examples/examples/block_extrinsics.rs @@ -0,0 +1,99 @@ +// Copyright 2019-2023 Parity Technologies (UK) Ltd. +// This file is dual-licensed as Apache-2.0 or GPL-3.0. +// see LICENSE for license details. + +//! To run this example, a local polkadot node should be running. Example verified against polkadot v0.9.28-9ffe6e9e3da. +//! +//! E.g. +//! ```bash +//! curl "https://github.com/paritytech/polkadot/releases/download/v0.9.28/polkadot" --output /usr/local/bin/polkadot --location +//! polkadot --dev --tmp +//! ``` + +use futures::StreamExt; +use sp_keyring::AccountKeyring; +use std::time::Duration; +use subxt::{tx::PairSigner, OnlineClient, PolkadotConfig}; + +#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] +pub mod polkadot {} + +/// Subscribe to all events, and then manually look through them and +/// pluck out the events that we care about. +#[tokio::main] +async fn main() -> Result<(), Box> { + // Create a client to use: + let api = OnlineClient::::new().await?; + + // Subscribe to (in this case, finalized) blocks. + let mut block_sub = api.blocks().subscribe_finalized().await?; + + // While this subscription is active, balance transfers are made somewhere: + tokio::task::spawn({ + let api = api.clone(); + async move { + let signer = PairSigner::new(AccountKeyring::Alice.pair()); + let mut transfer_amount = 1_000_000_000; + + // Make small balance transfers from Alice to Bob in a loop: + loop { + let transfer_tx = polkadot::tx() + .balances() + .transfer(AccountKeyring::Bob.to_account_id().into(), transfer_amount); + api.tx() + .sign_and_submit_default(&transfer_tx, &signer) + .await + .unwrap(); + + tokio::time::sleep(Duration::from_secs(10)).await; + transfer_amount += 100_000_000; + } + } + }); + + // Get each finalized block as it arrives. + while let Some(block) = block_sub.next().await { + let block = block?; + + let block_hash = block.hash(); + println!(" Block {:?}", block_hash); + + // Ask for the extrinsics for this block. + let extrinsics = block.body().await?.extrinsics(); + + let transfer_tx = extrinsics.find_first::(); + println!(" Transfer tx: {:?}", transfer_tx); + + // Ask for the extrinsics for this block. + for extrinsic in extrinsics.iter() { + let extrinsic = extrinsic?; + + println!( + " Extrinsic block index {:?}, pallet index {:?}, variant index {:?}", + extrinsic.index(), + extrinsic.pallet_index(), + extrinsic.variant_index() + ); + + let root_extrinsic = extrinsic.as_root_extrinsic::(); + println!(" As root extrinsic {:?}\n", root_extrinsic); + + let pallet_extrinsic = extrinsic + .as_pallet_extrinsic::(); + println!( + " Extrinsic as Balances Pallet call: {:?}\n", + pallet_extrinsic + ); + + let call = extrinsic.as_extrinsic::()?; + println!( + " Extrinsic as polkadot::balances::calls::Transfer: {:?}\n\n", + call + ); + } + + println!("\n"); + } + + Ok(()) +} diff --git a/examples/examples/blocks_subscribing.rs b/examples/examples/blocks_subscribing.rs index 4c8cdb6cff..a5b585e612 100644 --- a/examples/examples/blocks_subscribing.rs +++ b/examples/examples/blocks_subscribing.rs @@ -25,7 +25,8 @@ async fn main() -> Result<(), Box> { // Log each of the extrinsic with it's associated events: let body = block.body().await?; - for ext in body.extrinsics() { + for ext in body.extrinsics().iter() { + let ext = ext?; let idx = ext.index(); let events = ext.events().await?; let bytes_hex = format!("0x{}", hex::encode(ext.bytes())); diff --git a/subxt/Cargo.toml b/subxt/Cargo.toml index 1a0ebc7977..f32ce34947 100644 --- a/subxt/Cargo.toml +++ b/subxt/Cargo.toml @@ -90,3 +90,4 @@ sp-core = { workspace = true } sp-runtime = { workspace = true } sp-keyring = { workspace = true } sp-version = { workspace = true } +assert_matches = { workspace = true } diff --git a/subxt/src/blocks/block_types.rs b/subxt/src/blocks/block_types.rs index 3c98e40d39..37830973ee 100644 --- a/subxt/src/blocks/block_types.rs +++ b/subxt/src/blocks/block_types.rs @@ -3,15 +3,16 @@ // see LICENSE for license details. use crate::{ + blocks::{extrinsic_types::ExtrinsicPartTypeIds, Extrinsics}, client::{OfflineClientT, OnlineClientT}, - config::{Config, Hasher, Header}, + config::{Config, Header}, error::{BlockError, Error}, events, rpc::types::ChainBlockResponse, runtime_api::RuntimeApi, storage::Storage, }; -use derivative::Derivative; + use futures::lock::Mutex as AsyncMutex; use std::sync::Arc; @@ -26,7 +27,7 @@ pub struct Block { // A cache for our events so we don't fetch them more than once when // iterating over events for extrinsics. -type CachedEvents = Arc>>>; +pub(crate) type CachedEvents = Arc>>>; impl Block where @@ -69,16 +70,17 @@ where /// Fetch and return the block body. pub async fn body(&self) -> Result, Error> { + let ids = ExtrinsicPartTypeIds::new(self.client.metadata().runtime_metadata())?; let block_hash = self.header.hash(); - let block_details = match self.client.rpc().block(Some(block_hash)).await? { - Some(block) => block, - None => return Err(BlockError::not_found(block_hash).into()), + let Some(block_details) = self.client.rpc().block(Some(block_hash)).await? else { + return Err(BlockError::not_found(block_hash).into()); }; Ok(BlockBody::new( self.client.clone(), block_details, self.cached_events.clone(), + ids, )) } @@ -99,6 +101,7 @@ pub struct BlockBody { details: ChainBlockResponse, client: C, cached_events: CachedEvents, + ids: ExtrinsicPartTypeIds, } impl BlockBody @@ -110,167 +113,32 @@ where client: C, details: ChainBlockResponse, cached_events: CachedEvents, + ids: ExtrinsicPartTypeIds, ) -> Self { Self { details, client, cached_events, + ids, } } /// Returns an iterator over the extrinsics in the block body. - pub fn extrinsics(&self) -> impl Iterator> { - self.details - .block - .extrinsics - .iter() - .enumerate() - .map(|(idx, e)| Extrinsic { - index: idx as u32, - bytes: &e.0, - client: self.client.clone(), - block_hash: self.details.block.header.hash(), - cached_events: self.cached_events.clone(), - _marker: std::marker::PhantomData, - }) - } -} - -/// A single extrinsic in a block. -pub struct Extrinsic<'a, T: Config, C> { - index: u32, - bytes: &'a [u8], - client: C, - block_hash: T::Hash, - cached_events: CachedEvents, - _marker: std::marker::PhantomData, -} - -impl<'a, T, C> Extrinsic<'a, T, C> -where - T: Config, - C: OfflineClientT, -{ - /// The index of the extrinsic in the block. - pub fn index(&self) -> u32 { - self.index - } - - /// The bytes of the extrinsic. - pub fn bytes(&self) -> &'a [u8] { - self.bytes - } -} - -impl<'a, T, C> Extrinsic<'a, T, C> -where - T: Config, - C: OnlineClientT, -{ - /// The events associated with the extrinsic. - pub async fn events(&self) -> Result, Error> { - let events = get_events(&self.client, self.block_hash, &self.cached_events).await?; - let ext_hash = T::Hasher::hash_of(&self.bytes); - Ok(ExtrinsicEvents::new(ext_hash, self.index, events)) - } -} - -/// The events associated with a given extrinsic. -#[derive(Derivative)] -#[derivative(Debug(bound = ""))] -pub struct ExtrinsicEvents { - // The hash of the extrinsic (handy to expose here because - // this type is returned from TxProgress things in the most - // basic flows, so it's the only place people can access it - // without complicating things for themselves). - ext_hash: T::Hash, - // The index of the extrinsic: - idx: u32, - // All of the events in the block: - events: events::Events, -} - -impl ExtrinsicEvents { - pub(crate) fn new(ext_hash: T::Hash, idx: u32, events: events::Events) -> Self { - Self { - ext_hash, - idx, - events, - } - } - - /// Return the hash of the block that the extrinsic is in. - pub fn block_hash(&self) -> T::Hash { - self.events.block_hash() - } - - /// The index of the extrinsic that these events are produced from. - pub fn extrinsic_index(&self) -> u32 { - self.idx - } - - /// Return the hash of the extrinsic. - pub fn extrinsic_hash(&self) -> T::Hash { - self.ext_hash - } - - /// Return all of the events in the block that the extrinsic is in. - pub fn all_events_in_block(&self) -> &events::Events { - &self.events - } - - /// Iterate over all of the raw events associated with this transaction. - /// - /// This works in the same way that [`events::Events::iter()`] does, with the - /// exception that it filters out events not related to the submitted extrinsic. - pub fn iter(&self) -> impl Iterator> + '_ { - self.events.iter().filter(|ev| { - ev.as_ref() - .map(|ev| ev.phase() == events::Phase::ApplyExtrinsic(self.idx)) - .unwrap_or(true) // Keep any errors. - }) - } - - /// Find all of the transaction events matching the event type provided as a generic parameter. - /// - /// This works in the same way that [`events::Events::find()`] does, with the - /// exception that it filters out events not related to the submitted extrinsic. - pub fn find(&self) -> impl Iterator> + '_ { - self.iter().filter_map(|ev| { - ev.and_then(|ev| ev.as_event::().map_err(Into::into)) - .transpose() - }) - } - - /// Iterate through the transaction events using metadata to dynamically decode and skip - /// them, and return the first event found which decodes to the provided `Ev` type. - /// - /// This works in the same way that [`events::Events::find_first()`] does, with the - /// exception that it ignores events not related to the submitted extrinsic. - pub fn find_first(&self) -> Result, Error> { - self.find::().next().transpose() - } - - /// Iterate through the transaction events using metadata to dynamically decode and skip - /// them, and return the last event found which decodes to the provided `Ev` type. - /// - /// This works in the same way that [`events::Events::find_last()`] does, with the - /// exception that it ignores events not related to the submitted extrinsic. - pub fn find_last(&self) -> Result, Error> { - self.find::().last().transpose() - } - - /// Find an event in those associated with this transaction. Returns true if it was found. - /// - /// This works in the same way that [`events::Events::has()`] does, with the - /// exception that it ignores events not related to the submitted extrinsic. - pub fn has(&self) -> Result { - Ok(self.find::().next().transpose()?.is_some()) + // Dev note: The returned iterator is 'static + Send so that we can box it up and make + // use of it with our `FilterExtrinsic` stuff. + pub fn extrinsics(&self) -> Extrinsics { + Extrinsics::new( + self.client.clone(), + self.details.block.extrinsics.clone(), + self.cached_events.clone(), + self.ids, + self.details.block.header.hash(), + ) } } // Return Events from the cache, or fetch from the node if needed. -async fn get_events( +pub(crate) async fn get_events( client: &C, block_hash: T::Hash, cached_events: &AsyncMutex>>, diff --git a/subxt/src/blocks/extrinsic_types.rs b/subxt/src/blocks/extrinsic_types.rs new file mode 100644 index 0000000000..ac090c7092 --- /dev/null +++ b/subxt/src/blocks/extrinsic_types.rs @@ -0,0 +1,919 @@ +// Copyright 2019-2023 Parity Technologies (UK) Ltd. +// This file is dual-licensed as Apache-2.0 or GPL-3.0. +// see LICENSE for license details. + +use crate::{ + blocks::block_types::{get_events, CachedEvents}, + client::{OfflineClientT, OnlineClientT}, + config::{Config, Hasher}, + error::{BlockError, Error}, + events, + metadata::{DecodeWithMetadata, ExtrinsicMetadata}, + rpc::types::ChainBlockExtrinsic, + Metadata, +}; + +use codec::Decode; +use derivative::Derivative; +use frame_metadata::v15::RuntimeMetadataV15; +use scale_decode::DecodeAsFields; +use std::{collections::HashMap, sync::Arc}; + +/// Trait to uniquely identify the extrinsic's identity from the runtime metadata. +/// +/// Generated API structures that represent an extrinsic implement this trait. +/// +/// The trait is utilized to decode emitted extrinsics from a block, via obtaining the +/// form of the `Extrinsic` from the metadata. +pub trait StaticExtrinsic: DecodeAsFields { + /// Pallet name. + const PALLET: &'static str; + /// Call name. + const CALL: &'static str; + + /// Returns true if the given pallet and call names match this extrinsic. + fn is_extrinsic(pallet: &str, call: &str) -> bool { + Self::PALLET == pallet && Self::CALL == call + } +} + +/// This trait is implemented on the statically generated root extrinsic type, so that we're able +/// to decode it properly via a pallet that impls `DecodeAsMetadata`. This is necessary +/// because the "root extrinsic" type is generated using pallet info but doesn't actually exist in the +/// metadata types, so we have no easy way to decode things into it via type information and need a +/// little help via codegen. +#[doc(hidden)] +pub trait RootExtrinsic: Sized { + /// Given details of the pallet extrinsic we want to decode, and the name of the pallet, try to hand + /// back a "root extrinsic". + fn root_extrinsic( + pallet_bytes: &[u8], + pallet_name: &str, + pallet_extrinsic_ty: u32, + metadata: &Metadata, + ) -> Result; +} + +/// The body of a block. +pub struct Extrinsics { + client: C, + extrinsics: Vec, + cached_events: CachedEvents, + ids: ExtrinsicPartTypeIds, + hash: T::Hash, +} + +impl Extrinsics +where + T: Config, + C: OfflineClientT, +{ + pub(crate) fn new( + client: C, + extrinsics: Vec, + cached_events: CachedEvents, + ids: ExtrinsicPartTypeIds, + hash: T::Hash, + ) -> Self { + Self { + client, + extrinsics, + cached_events, + ids, + hash, + } + } + + /// The number of extrinsics. + pub fn len(&self) -> usize { + self.extrinsics.len() + } + + /// Are there no extrinsics in this block? + // Note: mainly here to satisfy clippy. + pub fn is_empty(&self) -> bool { + self.extrinsics.is_empty() + } + + /// Return the block hash that these extrinsics are from. + pub fn block_hash(&self) -> T::Hash { + self.hash + } + + /// Returns an iterator over the extrinsics in the block body. + // Dev note: The returned iterator is 'static + Send so that we can box it up and make + // use of it with our `FilterExtrinsic` stuff. + pub fn iter( + &self, + ) -> impl Iterator, Error>> + Send + Sync + 'static { + let extrinsics = self.extrinsics.clone(); + let num_extrinsics = self.extrinsics.len(); + let client = self.client.clone(); + let hash = self.hash; + let cached_events = self.cached_events.clone(); + let ids = self.ids; + let mut index = 0; + + std::iter::from_fn(move || { + if index == num_extrinsics { + None + } else { + match ExtrinsicDetails::decode_from( + index as u32, + extrinsics[index].0.clone().into(), + client.clone(), + hash, + cached_events.clone(), + ids, + ) { + Ok(extrinsic_details) => { + index += 1; + Some(Ok(extrinsic_details)) + } + Err(e) => { + index = num_extrinsics; + Some(Err(e)) + } + } + } + }) + } + + /// Iterate through the extrinsics using metadata to dynamically decode and skip + /// them, and return only those which should decode to the provided `E` type. + /// If an error occurs, all subsequent iterations return `None`. + pub fn find(&self) -> impl Iterator> + '_ { + self.iter().filter_map(|e| { + e.and_then(|e| e.as_extrinsic::().map_err(Into::into)) + .transpose() + }) + } + + /// Iterate through the extrinsics using metadata to dynamically decode and skip + /// them, and return the first extrinsic found which decodes to the provided `E` type. + pub fn find_first(&self) -> Result, Error> { + self.find::().next().transpose() + } + + /// Iterate through the extrinsics using metadata to dynamically decode and skip + /// them, and return the last extrinsic found which decodes to the provided `Ev` type. + pub fn find_last(&self) -> Result, Error> { + self.find::().last().transpose() + } + + /// Find an extrinsics that decodes to the type provided. Returns true if it was found. + pub fn has(&self) -> Result { + Ok(self.find::().next().transpose()?.is_some()) + } +} + +/// A single extrinsic in a block. +pub struct ExtrinsicDetails { + /// The index of the extrinsic in the block. + index: u32, + /// Extrinsic bytes. + bytes: Arc<[u8]>, + /// True if the extrinsic payload is signed. + is_signed: bool, + /// The start index in the `bytes` from which the address is encoded. + address_start_idx: usize, + /// The end index of the address in the encoded `bytes`. + address_end_idx: usize, + /// The start index in the `bytes` from which the call is encoded. + call_start_idx: usize, + /// The pallet index. + pallet_index: u8, + /// The variant index. + variant_index: u8, + /// The block hash of this extrinsic (needed to fetch events). + block_hash: T::Hash, + /// Subxt client. + client: C, + /// Cached events. + cached_events: CachedEvents, + /// Subxt metadata to fetch the extrinsic metadata. + metadata: Metadata, + _marker: std::marker::PhantomData, +} + +impl ExtrinsicDetails +where + T: Config, + C: OfflineClientT, +{ + // Attempt to dynamically decode a single extrinsic from the given input. + pub(crate) fn decode_from( + index: u32, + extrinsic_bytes: Arc<[u8]>, + client: C, + block_hash: T::Hash, + cached_events: CachedEvents, + ids: ExtrinsicPartTypeIds, + ) -> Result, Error> { + const SIGNATURE_MASK: u8 = 0b1000_0000; + const VERSION_MASK: u8 = 0b0111_1111; + const LATEST_EXTRINSIC_VERSION: u8 = 4; + + let metadata = client.metadata(); + + // Extrinsic are encoded in memory in the following way: + // - first byte: abbbbbbb (a = 0 for unsigned, 1 for signed, b = version) + // - signature: [unknown TBD with metadata]. + // - extrinsic data + let first_byte: u8 = Decode::decode(&mut &extrinsic_bytes[..])?; + + let version = first_byte & VERSION_MASK; + if version != LATEST_EXTRINSIC_VERSION { + return Err(BlockError::UnsupportedVersion(version).into()); + } + + let is_signed = first_byte & SIGNATURE_MASK != 0; + + // Skip over the first byte which denotes the version and signing. + let cursor = &mut &extrinsic_bytes[1..]; + + let mut address_start_idx = 0; + let mut address_end_idx = 0; + + if is_signed { + address_start_idx = extrinsic_bytes.len() - cursor.len(); + + // Skip over the address, signature and extra fields. + scale_decode::visitor::decode_with_visitor( + cursor, + ids.address, + &metadata.runtime_metadata().types, + scale_decode::visitor::IgnoreVisitor, + ) + .map_err(scale_decode::Error::from)?; + address_end_idx = extrinsic_bytes.len() - cursor.len(); + + scale_decode::visitor::decode_with_visitor( + cursor, + ids.signature, + &metadata.runtime_metadata().types, + scale_decode::visitor::IgnoreVisitor, + ) + .map_err(scale_decode::Error::from)?; + + scale_decode::visitor::decode_with_visitor( + cursor, + ids.extra, + &metadata.runtime_metadata().types, + scale_decode::visitor::IgnoreVisitor, + ) + .map_err(scale_decode::Error::from)?; + } + + let call_start_idx = extrinsic_bytes.len() - cursor.len(); + + // Decode the pallet index, then the call variant. + let cursor = &mut &extrinsic_bytes[call_start_idx..]; + + let pallet_index: u8 = Decode::decode(cursor)?; + let variant_index: u8 = Decode::decode(cursor)?; + + Ok(ExtrinsicDetails { + index, + bytes: extrinsic_bytes, + is_signed, + address_start_idx, + address_end_idx, + call_start_idx, + pallet_index, + variant_index, + block_hash, + client, + cached_events, + metadata, + _marker: std::marker::PhantomData, + }) + } + + /// Is the extrinsic signed? + pub fn is_signed(&self) -> bool { + self.is_signed + } + + /// The index of the extrinsic in the block. + pub fn index(&self) -> u32 { + self.index + } + + /// Return _all_ of the bytes representing this extrinsic, which include, in order: + /// - First byte: abbbbbbb (a = 0 for unsigned, 1 for signed, b = version) + /// - SignatureType (if the payload is signed) + /// - Address + /// - Signature + /// - Extra fields + /// - Extrinsic call bytes + pub fn bytes(&self) -> &[u8] { + &self.bytes + } + + /// Return only the bytes representing this extrinsic call: + /// - First byte is the pallet index + /// - Second byte is the variant (call) index + /// - Followed by field bytes. + /// + /// # Note + /// + /// Please use [`Self::bytes`] if you want to get all extrinsic bytes. + pub fn call_bytes(&self) -> &[u8] { + &self.bytes[self.call_start_idx..] + } + + /// Return the bytes representing the fields stored in this extrinsic. + /// + /// # Note + /// + /// This is a subset of [`Self::call_bytes`] that does not include the + /// first two bytes that denote the pallet index and the variant index. + pub fn field_bytes(&self) -> &[u8] { + // Note: this cannot panic because we checked the extrinsic bytes + // to contain at least two bytes. + &self.call_bytes()[2..] + } + + /// Return only the bytes of the address that signed this extrinsic. + /// + /// # Note + /// + /// Returns `None` if the extrinsic is not signed. + pub fn address_bytes(&self) -> Option<&[u8]> { + self.is_signed + .then(|| &self.bytes[self.address_start_idx..self.address_end_idx]) + } + + /// The index of the pallet that the extrinsic originated from. + pub fn pallet_index(&self) -> u8 { + self.pallet_index + } + + /// The index of the extrinsic variant that the extrinsic originated from. + pub fn variant_index(&self) -> u8 { + self.variant_index + } + + /// The name of the pallet from whence the extrinsic originated. + pub fn pallet_name(&self) -> Result<&str, Error> { + Ok(self.extrinsic_metadata()?.pallet()) + } + + /// The name of the call (ie the name of the variant that it corresponds to). + pub fn variant_name(&self) -> Result<&str, Error> { + Ok(self.extrinsic_metadata()?.call()) + } + + /// Fetch the metadata for this extrinsic. + pub fn extrinsic_metadata(&self) -> Result<&ExtrinsicMetadata, Error> { + Ok(self + .metadata + .extrinsic(self.pallet_index(), self.variant_index())?) + } + + /// Decode and provide the extrinsic fields back in the form of a [`scale_value::Composite`] + /// type which represents the named or unnamed fields that were + /// present in the extrinsic. + pub fn field_values( + &self, + ) -> Result, Error> { + let bytes = &mut self.field_bytes(); + let extrinsic_metadata = self.extrinsic_metadata()?; + + let decoded = >::decode_as_fields( + bytes, + extrinsic_metadata.fields(), + &self.metadata.runtime_metadata().types, + )?; + + Ok(decoded) + } + + /// Attempt to statically decode these [`ExtrinsicDetails`] into a type representing the extrinsic + /// fields. This leans directly on [`codec::Decode`]. You can also attempt to decode the entirety + /// of the extrinsic using [`Self::as_root_extrinsic()`], which is more lenient because it's able + /// to lean on [`scale_decode::DecodeAsType`]. + pub fn as_extrinsic(&self) -> Result, Error> { + let extrinsic_metadata = self.extrinsic_metadata()?; + if extrinsic_metadata.pallet() == E::PALLET && extrinsic_metadata.call() == E::CALL { + let decoded = E::decode_as_fields( + &mut self.field_bytes(), + extrinsic_metadata.fields(), + self.metadata.types(), + )?; + Ok(Some(decoded)) + } else { + Ok(None) + } + } + + /// Attempt to decode these [`ExtrinsicDetails`] into a pallet extrinsic type (which includes + /// the pallet enum variants as well as the extrinsic fields). These extrinsics can be found in + /// the static codegen under a path like `pallet_name::Call`. + pub fn as_pallet_extrinsic(&self) -> Result { + let pallet = self.metadata.pallet(self.pallet_name()?)?; + let extrinsic_ty = pallet.call_ty_id().ok_or_else(|| { + Error::Metadata(crate::metadata::MetadataError::ExtrinsicNotFound( + pallet.index(), + self.variant_index(), + )) + })?; + + // Ignore the root enum index, so start 1 byte after that: + let decoded = + E::decode_with_metadata(&mut &self.call_bytes()[1..], extrinsic_ty, &self.metadata)?; + Ok(decoded) + } + + /// Attempt to decode these [`ExtrinsicDetails`] into a root extrinsic type (which includes + /// the pallet and extrinsic enum variants as well as the extrinsic fields). A compatible + /// type for this is exposed via static codegen as a root level `Call` type. + pub fn as_root_extrinsic(&self) -> Result { + let pallet = self.metadata.pallet(self.pallet_name()?)?; + let pallet_extrinsic_ty = pallet.call_ty_id().ok_or_else(|| { + Error::Metadata(crate::metadata::MetadataError::ExtrinsicNotFound( + pallet.index(), + self.variant_index(), + )) + })?; + + // Ignore root enum index. + E::root_extrinsic( + &self.call_bytes()[1..], + self.pallet_name()?, + pallet_extrinsic_ty, + &self.metadata, + ) + } +} + +impl ExtrinsicDetails +where + T: Config, + C: OnlineClientT, +{ + /// The events associated with the extrinsic. + pub async fn events(&self) -> Result, Error> { + let events = get_events(&self.client, self.block_hash, &self.cached_events).await?; + let ext_hash = T::Hasher::hash_of(&self.bytes); + Ok(ExtrinsicEvents::new(ext_hash, self.index, events)) + } +} + +/// The type IDs extracted from the metadata that represent the +/// generic type parameters passed to the `UncheckedExtrinsic` from +/// the substrate-based chain. +#[derive(Debug, Copy, Clone)] +pub(crate) struct ExtrinsicPartTypeIds { + /// The address (source) of the extrinsic. + address: u32, + /// The extrinsic call type. + // Note: the call type can be used to skip over the extrinsic bytes to check + // they are in line with our metadata. This operation is currently postponed. + _call: u32, + /// The signature of the extrinsic. + signature: u32, + /// The extra parameters of the extrinsic. + extra: u32, +} + +impl ExtrinsicPartTypeIds { + /// Extract the generic type parameters IDs from the extrinsic type. + pub(crate) fn new(metadata: &RuntimeMetadataV15) -> Result { + const ADDRESS: &str = "Address"; + const CALL: &str = "Call"; + const SIGNATURE: &str = "Signature"; + const EXTRA: &str = "Extra"; + + let id = metadata.extrinsic.ty.id; + + let Some(ty) = metadata.types.resolve(id) else { + return Err(BlockError::MissingType); + }; + + let params: HashMap<_, _> = ty + .type_params + .iter() + .map(|ty_param| { + let Some(ty) = ty_param.ty else { + return Err(BlockError::MissingType); + }; + + Ok((ty_param.name.as_str(), ty.id)) + }) + .collect::>()?; + + let Some(address) = params.get(ADDRESS) else { + return Err(BlockError::MissingType); + }; + let Some(call) = params.get(CALL) else { + return Err(BlockError::MissingType); + }; + let Some(signature) = params.get(SIGNATURE) else { + return Err(BlockError::MissingType); + }; + let Some(extra) = params.get(EXTRA) else { + return Err(BlockError::MissingType); + }; + + Ok(ExtrinsicPartTypeIds { + address: *address, + _call: *call, + signature: *signature, + extra: *extra, + }) + } +} + +/// The events associated with a given extrinsic. +#[derive(Derivative)] +#[derivative(Debug(bound = ""))] +pub struct ExtrinsicEvents { + // The hash of the extrinsic (handy to expose here because + // this type is returned from TxProgress things in the most + // basic flows, so it's the only place people can access it + // without complicating things for themselves). + ext_hash: T::Hash, + // The index of the extrinsic: + idx: u32, + // All of the events in the block: + events: events::Events, +} + +impl ExtrinsicEvents { + pub(crate) fn new(ext_hash: T::Hash, idx: u32, events: events::Events) -> Self { + Self { + ext_hash, + idx, + events, + } + } + + /// Return the hash of the block that the extrinsic is in. + pub fn block_hash(&self) -> T::Hash { + self.events.block_hash() + } + + /// The index of the extrinsic that these events are produced from. + pub fn extrinsic_index(&self) -> u32 { + self.idx + } + + /// Return the hash of the extrinsic. + pub fn extrinsic_hash(&self) -> T::Hash { + self.ext_hash + } + + /// Return all of the events in the block that the extrinsic is in. + pub fn all_events_in_block(&self) -> &events::Events { + &self.events + } + + /// Iterate over all of the raw events associated with this transaction. + /// + /// This works in the same way that [`events::Events::iter()`] does, with the + /// exception that it filters out events not related to the submitted extrinsic. + pub fn iter(&self) -> impl Iterator> + '_ { + self.events.iter().filter(|ev| { + ev.as_ref() + .map(|ev| ev.phase() == events::Phase::ApplyExtrinsic(self.idx)) + .unwrap_or(true) // Keep any errors. + }) + } + + /// Find all of the transaction events matching the event type provided as a generic parameter. + /// + /// This works in the same way that [`events::Events::find()`] does, with the + /// exception that it filters out events not related to the submitted extrinsic. + pub fn find(&self) -> impl Iterator> + '_ { + self.iter().filter_map(|ev| { + ev.and_then(|ev| ev.as_event::().map_err(Into::into)) + .transpose() + }) + } + + /// Iterate through the transaction events using metadata to dynamically decode and skip + /// them, and return the first event found which decodes to the provided `Ev` type. + /// + /// This works in the same way that [`events::Events::find_first()`] does, with the + /// exception that it ignores events not related to the submitted extrinsic. + pub fn find_first(&self) -> Result, Error> { + self.find::().next().transpose() + } + + /// Iterate through the transaction events using metadata to dynamically decode and skip + /// them, and return the last event found which decodes to the provided `Ev` type. + /// + /// This works in the same way that [`events::Events::find_last()`] does, with the + /// exception that it ignores events not related to the submitted extrinsic. + pub fn find_last(&self) -> Result, Error> { + self.find::().last().transpose() + } + + /// Find an event in those associated with this transaction. Returns true if it was found. + /// + /// This works in the same way that [`events::Events::has()`] does, with the + /// exception that it ignores events not related to the submitted extrinsic. + pub fn has(&self) -> Result { + Ok(self.find::().next().transpose()?.is_some()) + } +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::{rpc::types::RuntimeVersion, OfflineClient, PolkadotConfig}; + use assert_matches::assert_matches; + use codec::{Decode, Encode}; + use frame_metadata::{ + v15::{ExtrinsicMetadata, PalletCallMetadata, PalletMetadata, RuntimeMetadataV15}, + RuntimeMetadataPrefixed, + }; + use primitive_types::H256; + use scale_info::{meta_type, TypeInfo}; + use scale_value::Value; + + // Extrinsic needs to contain at least the generic type parameter "Call" + // for the metadata to be valid. + // The "Call" type from the metadata is used to decode extrinsics. + #[allow(unused)] + #[derive(TypeInfo)] + struct ExtrinsicType { + pub signature: Option<(Address, Signature, Extra)>, + pub function: Call, + } + + // Because this type is used to decode extrinsics, we expect this to be a TypeDefVariant. + // Each pallet must contain one single variant. + #[allow(unused)] + #[derive( + Encode, + Decode, + TypeInfo, + Clone, + Debug, + PartialEq, + Eq, + scale_encode::EncodeAsType, + scale_decode::DecodeAsType, + )] + enum RuntimeCall { + Test(Pallet), + } + + // We need this in order to be able to decode into a root extrinsic type: + impl RootExtrinsic for RuntimeCall { + fn root_extrinsic( + mut pallet_bytes: &[u8], + pallet_name: &str, + pallet_extrinsic_ty: u32, + metadata: &Metadata, + ) -> Result { + if pallet_name == "Test" { + return Ok(RuntimeCall::Test(Pallet::decode_with_metadata( + &mut pallet_bytes, + pallet_extrinsic_ty, + metadata, + )?)); + } + panic!( + "Asked for pallet name '{pallet_name}', which isn't in our test RuntimeCall type" + ) + } + } + + // The calls of the pallet. + #[allow(unused)] + #[derive( + Encode, + Decode, + TypeInfo, + Clone, + Debug, + PartialEq, + Eq, + scale_encode::EncodeAsType, + scale_decode::DecodeAsType, + )] + enum Pallet { + #[allow(unused)] + #[codec(index = 2)] + TestCall { + value: u128, + signed: bool, + name: String, + }, + } + + #[allow(unused)] + #[derive( + Encode, + Decode, + TypeInfo, + Clone, + Debug, + PartialEq, + Eq, + scale_encode::EncodeAsType, + scale_decode::DecodeAsType, + )] + struct TestCallExtrinsic { + value: u128, + signed: bool, + name: String, + } + impl StaticExtrinsic for TestCallExtrinsic { + const PALLET: &'static str = "Test"; + const CALL: &'static str = "TestCall"; + } + + /// Build fake metadata consisting the types needed to represent an extrinsic. + fn metadata() -> Metadata { + let pallets = vec![PalletMetadata { + name: "Test", + storage: None, + calls: Some(PalletCallMetadata { + ty: meta_type::(), + }), + event: None, + constants: vec![], + error: None, + index: 0, + docs: vec![], + }]; + + let extrinsic = ExtrinsicMetadata { + ty: meta_type::>(), + version: 4, + signed_extensions: vec![], + }; + + let meta = RuntimeMetadataV15::new(pallets, extrinsic, meta_type::<()>(), vec![]); + let runtime_metadata: RuntimeMetadataPrefixed = meta.into(); + + Metadata::try_from(runtime_metadata).unwrap() + } + + /// Build an offline client to work with the test metadata. + fn client(metadata: Metadata) -> OfflineClient { + // Create the encoded extrinsic bytes. + let rt_version = RuntimeVersion { + spec_version: 1, + transaction_version: 4, + other: Default::default(), + }; + let block_hash = H256::random(); + OfflineClient::new(block_hash, rt_version, metadata) + } + + #[test] + fn extrinsic_metadata_consistency() { + let metadata = metadata(); + + // Except our metadata to contain the registered types. + let extrinsic = metadata + .extrinsic(0, 2) + .expect("metadata contains the RuntimeCall enum with this pallet"); + assert_eq!(extrinsic.pallet(), "Test"); + assert_eq!(extrinsic.call(), "TestCall"); + } + + #[test] + fn insufficient_extrinsic_bytes() { + let metadata = metadata(); + let client = client(metadata.clone()); + let ids = ExtrinsicPartTypeIds::new(metadata.runtime_metadata()).unwrap(); + + // Decode with empty bytes. + let result = ExtrinsicDetails::decode_from( + 1, + vec![].into(), + client, + H256::random(), + Default::default(), + ids, + ); + assert_matches!(result.err(), Some(crate::Error::Codec(_))); + } + + #[test] + fn unsupported_version_extrinsic() { + let metadata = metadata(); + let client = client(metadata.clone()); + let ids = ExtrinsicPartTypeIds::new(metadata.runtime_metadata()).unwrap(); + + // Decode with invalid version. + let result = ExtrinsicDetails::decode_from( + 1, + 3u8.encode().into(), + client, + H256::random(), + Default::default(), + ids, + ); + + assert_matches!( + result.err(), + Some(crate::Error::Block( + crate::error::BlockError::UnsupportedVersion(3) + )) + ); + } + + #[test] + fn statically_decode_extrinsic() { + let metadata = metadata(); + let client = client(metadata.clone()); + let ids = ExtrinsicPartTypeIds::new(metadata.runtime_metadata()).unwrap(); + + let tx = crate::tx::dynamic( + "Test", + "TestCall", + vec![ + Value::u128(10), + Value::bool(true), + Value::string("SomeValue"), + ], + ); + let tx_encoded = client + .tx() + .create_unsigned(&tx) + .expect("Valid dynamic parameters are provided"); + + // Note: `create_unsigned` produces the extrinsic bytes by prefixing the extrinsic length. + // The length is handled deserializing `ChainBlockExtrinsic`, therefore the first byte is not needed. + let extrinsic = ExtrinsicDetails::decode_from( + 1, + tx_encoded.encoded()[1..].into(), + client, + H256::random(), + Default::default(), + ids, + ) + .expect("Valid extrinsic"); + + assert!(!extrinsic.is_signed()); + + assert_eq!(extrinsic.index(), 1); + + assert_eq!(extrinsic.pallet_index(), 0); + assert_eq!( + extrinsic + .pallet_name() + .expect("Valid metadata contains pallet name"), + "Test" + ); + + assert_eq!(extrinsic.variant_index(), 2); + assert_eq!( + extrinsic + .variant_name() + .expect("Valid metadata contains variant name"), + "TestCall" + ); + + // Decode the extrinsic to the root enum. + let decoded_extrinsic = extrinsic + .as_root_extrinsic::() + .expect("can decode extrinsic to root enum"); + + assert_eq!( + decoded_extrinsic, + RuntimeCall::Test(Pallet::TestCall { + value: 10, + signed: true, + name: "SomeValue".into(), + }) + ); + + // Decode the extrinsic to the pallet enum. + let decoded_extrinsic = extrinsic + .as_pallet_extrinsic::() + .expect("can decode extrinsic to pallet enum"); + + assert_eq!( + decoded_extrinsic, + Pallet::TestCall { + value: 10, + signed: true, + name: "SomeValue".into(), + } + ); + + // Decode the extrinsic to the extrinsic variant. + let decoded_extrinsic = extrinsic + .as_extrinsic::() + .expect("can decode extrinsic to extrinsic variant") + .expect("value cannot be None"); + + assert_eq!( + decoded_extrinsic, + TestCallExtrinsic { + value: 10, + signed: true, + name: "SomeValue".into(), + } + ); + } +} diff --git a/subxt/src/blocks/mod.rs b/subxt/src/blocks/mod.rs index 9d6e62d8b3..3cb404a496 100644 --- a/subxt/src/blocks/mod.rs +++ b/subxt/src/blocks/mod.rs @@ -6,6 +6,10 @@ mod block_types; mod blocks_client; +mod extrinsic_types; -pub use block_types::{Block, BlockBody, Extrinsic, ExtrinsicEvents}; +pub use block_types::{Block, BlockBody}; pub use blocks_client::{subscribe_to_block_headers_filling_in_gaps, BlocksClient}; +pub use extrinsic_types::{ + ExtrinsicDetails, ExtrinsicEvents, Extrinsics, RootExtrinsic, StaticExtrinsic, +}; diff --git a/subxt/src/book/usage/extrinsics.rs b/subxt/src/book/usage/extrinsics.rs index 3d409f5772..314ee252dc 100644 --- a/subxt/src/book/usage/extrinsics.rs +++ b/subxt/src/book/usage/extrinsics.rs @@ -19,6 +19,8 @@ //! > can construct unsigned extrinsics, but overwhelmingly you'll need to sign them, and so the //! > documentation tends to use the terms _extrinsic_ and _transaction_ interchangeably. //! +//! Furthermore, Subxt is capable of decoding extrinsics included in blocks. +//! //! ## Constructing an extrinsic payload //! //! We can use the statically generated interface to build extrinsic payloads: @@ -173,3 +175,50 @@ //! Take a look at the API docs for [`crate::tx::TxProgress`], [`crate::tx::TxStatus`] and //! [`crate::tx::TxInBlock`] for more options. //! +//! ## Decoding Extrinsics +//! +//! The block body is made up of extrinsics representing the generalization of the concept of transactions. +//! Extrinsics can contain any external data the underlying chain wishes to validate and track. +//! +//! The process of decoding extrinsics generally involves the following steps: +//! +//! 1. Retrieve a block from the chain: This can be done directly by providing a specific hash using [crate::blocks::BlocksClient::at()] +//! and [crate::blocks::BlocksClient::at_latest()], or indirectly by subscribing to the latest produced blocks of the chain using +//! [crate::blocks::BlocksClient::subscribe_finalized()]. +//! +//! 2. Fetch the block's body using [crate::blocks::Block::body()]. +//! +//! 3. Obtain the extrinsics from the block's body using [crate::blocks::BlockBody::extrinsics()]. +//! +//! ```rust,no_run +//! # #[tokio::main] +//! # async fn main() -> Result<(), Box> { +//! use subxt::client::OnlineClient; +//! use subxt::config::PolkadotConfig; +//! +//! // Create client: +//! let client = OnlineClient::::new().await?; +//! +//! // Get the lastest block (or use .at() to specify a block hash): +//! let block = client.blocks().at_latest().await?; +//! +//! // Get the block's body which contains the extrinsics. +//! let body = block.body().await?; +//! +//! // Fetch the extrinsics of the block's body. +//! let extrinsics = block.body().await?.extrinsics(); +//! # Ok(()) +//! # } +//! ``` +//! +//! Once the extrinsics are loaded, similar to events, you can iterate through the extrinsics or search for specific extrinsics using methods +//! such as [crate::blocks::Extrinsics::iter()] and [crate::blocks::Extrinsics::find()]. For more information, refer to [crate::blocks::ExtrinsicDetails]. +//! +//! ### Example +//! +//! Here's an example that demonstrates the usage of these concepts: +//! +//! ```rust,ignore +#![doc = include_str!("../../../../examples/examples/block_extrinsics.rs")] +//! ``` +//! diff --git a/subxt/src/config/mod.rs b/subxt/src/config/mod.rs index 702a90eb07..b776689c3c 100644 --- a/subxt/src/config/mod.rs +++ b/subxt/src/config/mod.rs @@ -54,7 +54,7 @@ pub trait Config: 'static { type Hasher: Debug + Hasher; /// The block header. - type Header: Debug + Header + Send + DeserializeOwned; + type Header: Debug + Header + Sync + Send + DeserializeOwned; /// This type defines the extrinsic extra and additional parameters. type ExtrinsicParams: extrinsic_params::ExtrinsicParams; diff --git a/subxt/src/error/mod.rs b/subxt/src/error/mod.rs index 9884e4e1d3..96fb6dfad2 100644 --- a/subxt/src/error/mod.rs +++ b/subxt/src/error/mod.rs @@ -102,6 +102,16 @@ pub enum BlockError { /// An error containing the hash of the block that was not found. #[error("Could not find a block with hash {0} (perhaps it was on a non-finalized fork?)")] NotFound(String), + /// Extrinsic type ID cannot be resolved with the provided metadata. + #[error("Extrinsic type ID cannot be resolved with the provided metadata. Make sure this is a valid metadata")] + MissingType, + /// Unsupported signature. + #[error("Unsupported extrinsic version, only version 4 is supported currently")] + /// The extrinsic has an unsupported version. + UnsupportedVersion(u8), + /// Decoding error. + #[error("Cannot decode extrinsic: {0}")] + DecodingError(codec::Error), } impl BlockError { diff --git a/subxt/src/events/events_type.rs b/subxt/src/events/events_type.rs index 1de8b31917..cf43cea162 100644 --- a/subxt/src/events/events_type.rs +++ b/subxt/src/events/events_type.rs @@ -493,6 +493,30 @@ pub(crate) mod test_utils { /// Build fake metadata consisting of a single pallet that knows /// about the event type provided. pub fn metadata() -> Metadata { + // Extrinsic needs to contain at least the generic type parameter "Call" + // for the metadata to be valid. + // The "Call" type from the metadata is used to decode extrinsics. + // In reality, the extrinsic type has "Call", "Address", "Extra", "Signature" generic types. + #[allow(unused)] + #[derive(TypeInfo)] + struct ExtrinsicType { + call: Call, + } + // Because this type is used to decode extrinsics, we expect this to be a TypeDefVariant. + // Each pallet must contain one single variant. + #[allow(unused)] + #[derive(TypeInfo)] + enum RuntimeCall { + PalletName(Pallet), + } + // The calls of the pallet. + #[allow(unused)] + #[derive(TypeInfo)] + enum Pallet { + #[allow(unused)] + SomeCall, + } + let pallets = vec![PalletMetadata { name: "Test", storage: None, @@ -507,7 +531,7 @@ pub(crate) mod test_utils { }]; let extrinsic = ExtrinsicMetadata { - ty: meta_type::<()>(), + ty: meta_type::>(), version: 0, signed_extensions: vec![], }; diff --git a/subxt/src/metadata/metadata_type.rs b/subxt/src/metadata/metadata_type.rs index cc400310b0..c24065c1b6 100644 --- a/subxt/src/metadata/metadata_type.rs +++ b/subxt/src/metadata/metadata_type.rs @@ -27,6 +27,9 @@ pub enum MetadataError { /// Event is not in metadata. #[error("Pallet {0}, Event {0} not found")] EventNotFound(u8, u8), + /// Extrinsic is not in metadata. + #[error("Pallet {0}, Extrinsic {0} not found")] + ExtrinsicNotFound(u8, u8), /// Event is not in metadata. #[error("Pallet {0}, Error {0} not found")] ErrorNotFound(u8, u8), @@ -75,6 +78,8 @@ struct MetadataInner { // Events are hashed by pallet an error index (decode oriented) events: HashMap<(u8, u8), EventMetadata>, + // Extrinsics are hashed by pallet an error index (decode oriented) + extrinsics: HashMap<(u8, u8), ExtrinsicMetadata>, // Errors are hashed by pallet and error index (decode oriented) errors: HashMap<(u8, u8), ErrorMetadata>, @@ -135,6 +140,20 @@ impl Metadata { Ok(event) } + /// Returns the metadata for the extrinsic at the given pallet and call indices. + pub fn extrinsic( + &self, + pallet_index: u8, + call_index: u8, + ) -> Result<&ExtrinsicMetadata, MetadataError> { + let event = self + .inner + .extrinsics + .get(&(pallet_index, call_index)) + .ok_or(MetadataError::ExtrinsicNotFound(pallet_index, call_index))?; + Ok(event) + } + /// Returns the metadata for the error at the given pallet and error indices. pub fn error( &self, @@ -386,6 +405,39 @@ impl EventMetadata { } } +/// Metadata for specific extrinsics. +#[derive(Clone, Debug)] +pub struct ExtrinsicMetadata { + // The pallet name is shared across every extrinsic, so put it + // behind an Arc to avoid lots of needless clones of it existing. + pallet: Arc, + call: String, + fields: Vec>, + docs: Vec, +} + +impl ExtrinsicMetadata { + /// Get the name of the pallet from which the extrinsic was emitted. + pub fn pallet(&self) -> &str { + &self.pallet + } + + /// Get the name of the extrinsic call. + pub fn call(&self) -> &str { + &self.call + } + + /// The names, type names & types of each field in the extrinsic. + pub fn fields(&self) -> &[scale_info::Field] { + &self.fields + } + + /// Documentation for this extrinsic. + pub fn docs(&self) -> &[String] { + &self.docs + } +} + /// Details about a specific runtime error. #[derive(Clone, Debug)] pub struct ErrorMetadata { @@ -426,6 +478,12 @@ pub enum InvalidMetadataError { /// Type missing from type registry #[error("Type {0} missing from type registry")] MissingType(u32), + /// Type missing extrinsic "Call" type + #[error("Missing extrinsic Call type")] + MissingCallType, + /// The extrinsic variant expected to contain a single field. + #[error("Extrinsic variant at index {0} expected to contain a single field")] + InvalidExtrinsicVariant(u8), /// Type was not a variant/enum type #[error("Type {0} was not a variant/enum type")] TypeDefNotVariant(u32), @@ -596,11 +654,60 @@ impl TryFrom for Metadata { .find(|ty| ty.ty.path.segments == ["sp_runtime", "DispatchError"]) .map(|ty| ty.id); + let extrinsic_ty = metadata + .types + .resolve(metadata.extrinsic.ty.id) + .ok_or(InvalidMetadataError::MissingType(metadata.extrinsic.ty.id))?; + + let Some(call_id) = extrinsic_ty.type_params + .iter() + .find(|ty| ty.name == "Call") + .and_then(|ty| ty.ty) + .map(|ty| ty.id) else { + return Err(InvalidMetadataError::MissingCallType); + }; + + let call_type_variants = get_type_def_variant(call_id)?; + + let mut extrinsics = HashMap::<(u8, u8), ExtrinsicMetadata>::new(); + for variant in &call_type_variants.variants { + let pallet_name: Arc = variant.name.to_string().into(); + let pallet_index = variant.index; + + // Pallet variants must contain one single call variant. + // In the following form: + // + // enum RuntimeCall { + // Pallet(pallet_call) + // } + if variant.fields.len() != 1 { + return Err(InvalidMetadataError::InvalidExtrinsicVariant(pallet_index)); + } + let Some(ty) = variant.fields.first() else { + return Err(InvalidMetadataError::InvalidExtrinsicVariant(pallet_index)); + }; + + // Get the call variant. + let call_type_variant = get_type_def_variant(ty.ty.id)?; + for variant in &call_type_variant.variants { + extrinsics.insert( + (pallet_index, variant.index), + ExtrinsicMetadata { + pallet: pallet_name.clone(), + call: variant.name.to_string(), + fields: variant.fields.clone(), + docs: variant.docs.clone(), + }, + ); + } + } + Ok(Metadata { inner: Arc::new(MetadataInner { metadata, pallets, events, + extrinsics, errors, dispatch_error_ty, runtime_apis, @@ -624,6 +731,30 @@ mod tests { use scale_info::{meta_type, TypeInfo}; fn load_metadata() -> Metadata { + // Extrinsic needs to contain at least the generic type parameter "Call" + // for the metadata to be valid. + // The "Call" type from the metadata is used to decode extrinsics. + // In reality, the extrinsic type has "Call", "Address", "Extra", "Signature" generic types. + #[allow(unused)] + #[derive(TypeInfo)] + struct ExtrinsicType { + call: Call, + } + // Because this type is used to decode extrinsics, we expect this to be a TypeDefVariant. + // Each pallet must contain one single variant. + #[allow(unused)] + #[derive(TypeInfo)] + enum RuntimeCall { + PalletName(Pallet), + } + // The calls of the pallet. + #[allow(unused)] + #[derive(TypeInfo)] + enum Pallet { + #[allow(unused)] + SomeCall, + } + #[allow(dead_code)] #[allow(non_camel_case_types)] #[derive(TypeInfo)] @@ -662,7 +793,7 @@ mod tests { let metadata = RuntimeMetadataV15::new( vec![pallet], ExtrinsicMetadata { - ty: meta_type::<()>(), + ty: meta_type::>(), version: 0, signed_extensions: vec![], }, diff --git a/subxt/src/metadata/mod.rs b/subxt/src/metadata/mod.rs index 7ada3e62b7..d46793ee40 100644 --- a/subxt/src/metadata/mod.rs +++ b/subxt/src/metadata/mod.rs @@ -12,8 +12,8 @@ mod metadata_type; pub use metadata_location::MetadataLocation; pub use metadata_type::{ - ErrorMetadata, EventMetadata, InvalidMetadataError, Metadata, MetadataError, PalletMetadata, - RuntimeFnMetadata, + ErrorMetadata, EventMetadata, ExtrinsicMetadata, InvalidMetadataError, Metadata, MetadataError, + PalletMetadata, RuntimeFnMetadata, }; pub use decode_encode_traits::{DecodeWithMetadata, EncodeWithMetadata}; diff --git a/testing/integration-tests/src/blocks/mod.rs b/testing/integration-tests/src/blocks/mod.rs index ab14d2202a..bf9e707997 100644 --- a/testing/integration-tests/src/blocks/mod.rs +++ b/testing/integration-tests/src/blocks/mod.rs @@ -2,10 +2,12 @@ // This file is dual-licensed as Apache-2.0 or GPL-3.0. // see LICENSE for license details. -use crate::test_context; +use crate::{pair_signer, test_context, utils::node_runtime}; use codec::Compact; use frame_metadata::RuntimeMetadataPrefixed; use futures::StreamExt; +use sp_keyring::AccountKeyring; +use subxt::blocks::BlocksClient; // Check that we can subscribe to non-finalized blocks. #[tokio::test] @@ -118,3 +120,71 @@ async fn runtime_api_call() -> Result<(), subxt::Error> { assert_eq!(&metadata_call, metadata); Ok(()) } + +#[tokio::test] +async fn decode_extrinsics() { + let ctx = test_context().await; + let api = ctx.client(); + + let alice = pair_signer(AccountKeyring::Alice.pair()); + let bob = pair_signer(AccountKeyring::Bob.pair()); + + // Generate a block that has unsigned and signed transactions. + let tx = node_runtime::tx() + .balances() + .transfer(bob.account_id().clone().into(), 10_000); + + let signed_extrinsic = api + .tx() + .create_signed(&tx, &alice, Default::default()) + .await + .unwrap(); + + let in_block = signed_extrinsic + .submit_and_watch() + .await + .unwrap() + .wait_for_in_block() + .await + .unwrap(); + + let block_hash = in_block.block_hash(); + + let block = BlocksClient::new(api).at(block_hash).await.unwrap(); + let extrinsics = block.body().await.unwrap().extrinsics(); + assert_eq!(extrinsics.len(), 2); + assert_eq!(extrinsics.block_hash(), block_hash); + + assert!(extrinsics + .has::() + .unwrap()); + + assert!(extrinsics + .find_first::() + .unwrap() + .is_some()); + + let block_extrinsics = extrinsics + .iter() + .map(|res| res.unwrap()) + .collect::>(); + + assert_eq!(block_extrinsics.len(), 2); + let timestamp = block_extrinsics.get(0).unwrap(); + timestamp.as_root_extrinsic::().unwrap(); + timestamp + .as_pallet_extrinsic::() + .unwrap(); + timestamp + .as_extrinsic::() + .unwrap(); + assert!(!timestamp.is_signed()); + + let tx = block_extrinsics.get(1).unwrap(); + tx.as_root_extrinsic::().unwrap(); + tx.as_pallet_extrinsic::() + .unwrap(); + tx.as_extrinsic::() + .unwrap(); + assert!(tx.is_signed()); +} diff --git a/testing/integration-tests/src/codegen/polkadot.rs b/testing/integration-tests/src/codegen/polkadot.rs index 81b49af334..2a4335ec3b 100644 --- a/testing/integration-tests/src/codegen/polkadot.rs +++ b/testing/integration-tests/src/codegen/polkadot.rs @@ -511,6 +511,487 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Call { + #[codec(index = 0)] + System(system::Call), + #[codec(index = 1)] + Scheduler(scheduler::Call), + #[codec(index = 10)] + Preimage(preimage::Call), + #[codec(index = 2)] + Babe(babe::Call), + #[codec(index = 3)] + Timestamp(timestamp::Call), + #[codec(index = 4)] + Indices(indices::Call), + #[codec(index = 5)] + Balances(balances::Call), + #[codec(index = 7)] + Staking(staking::Call), + #[codec(index = 9)] + Session(session::Call), + #[codec(index = 11)] + Grandpa(grandpa::Call), + #[codec(index = 12)] + ImOnline(im_online::Call), + #[codec(index = 14)] + Democracy(democracy::Call), + #[codec(index = 15)] + Council(council::Call), + #[codec(index = 16)] + TechnicalCommittee(technical_committee::Call), + #[codec(index = 17)] + PhragmenElection(phragmen_election::Call), + #[codec(index = 18)] + TechnicalMembership(technical_membership::Call), + #[codec(index = 19)] + Treasury(treasury::Call), + #[codec(index = 20)] + ConvictionVoting(conviction_voting::Call), + #[codec(index = 21)] + Referenda(referenda::Call), + #[codec(index = 23)] + Whitelist(whitelist::Call), + #[codec(index = 24)] + Claims(claims::Call), + #[codec(index = 25)] + Vesting(vesting::Call), + #[codec(index = 26)] + Utility(utility::Call), + #[codec(index = 28)] + Identity(identity::Call), + #[codec(index = 29)] + Proxy(proxy::Call), + #[codec(index = 30)] + Multisig(multisig::Call), + #[codec(index = 34)] + Bounties(bounties::Call), + #[codec(index = 38)] + ChildBounties(child_bounties::Call), + #[codec(index = 35)] + Tips(tips::Call), + #[codec(index = 36)] + ElectionProviderMultiPhase(election_provider_multi_phase::Call), + #[codec(index = 37)] + VoterList(voter_list::Call), + #[codec(index = 39)] + NominationPools(nomination_pools::Call), + #[codec(index = 40)] + FastUnstake(fast_unstake::Call), + #[codec(index = 51)] + Configuration(configuration::Call), + #[codec(index = 52)] + ParasShared(paras_shared::Call), + #[codec(index = 53)] + ParaInclusion(para_inclusion::Call), + #[codec(index = 54)] + ParaInherent(para_inherent::Call), + #[codec(index = 56)] + Paras(paras::Call), + #[codec(index = 57)] + Initializer(initializer::Call), + #[codec(index = 58)] + Dmp(dmp::Call), + #[codec(index = 59)] + Ump(ump::Call), + #[codec(index = 60)] + Hrmp(hrmp::Call), + #[codec(index = 62)] + ParasDisputes(paras_disputes::Call), + #[codec(index = 70)] + Registrar(registrar::Call), + #[codec(index = 71)] + Slots(slots::Call), + #[codec(index = 72)] + Auctions(auctions::Call), + #[codec(index = 73)] + Crowdloan(crowdloan::Call), + #[codec(index = 99)] + XcmPallet(xcm_pallet::Call), + } + impl ::subxt::blocks::RootExtrinsic for Call { + fn root_extrinsic( + pallet_bytes: &[u8], + pallet_name: &str, + pallet_ty: u32, + metadata: &::subxt::Metadata, + ) -> Result { + use subxt::metadata::DecodeWithMetadata; + if pallet_name == "System" { + return Ok(Call::System(system::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Scheduler" { + return Ok(Call::Scheduler(scheduler::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Preimage" { + return Ok(Call::Preimage(preimage::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Babe" { + return Ok(Call::Babe(babe::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Timestamp" { + return Ok(Call::Timestamp(timestamp::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Indices" { + return Ok(Call::Indices(indices::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Balances" { + return Ok(Call::Balances(balances::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Staking" { + return Ok(Call::Staking(staking::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Session" { + return Ok(Call::Session(session::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Grandpa" { + return Ok(Call::Grandpa(grandpa::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "ImOnline" { + return Ok(Call::ImOnline(im_online::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Democracy" { + return Ok(Call::Democracy(democracy::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Council" { + return Ok(Call::Council(council::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "TechnicalCommittee" { + return Ok(Call::TechnicalCommittee( + technical_committee::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?, + )); + } + if pallet_name == "PhragmenElection" { + return Ok(Call::PhragmenElection( + phragmen_election::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?, + )); + } + if pallet_name == "TechnicalMembership" { + return Ok(Call::TechnicalMembership( + technical_membership::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?, + )); + } + if pallet_name == "Treasury" { + return Ok(Call::Treasury(treasury::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "ConvictionVoting" { + return Ok(Call::ConvictionVoting( + conviction_voting::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?, + )); + } + if pallet_name == "Referenda" { + return Ok(Call::Referenda(referenda::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Whitelist" { + return Ok(Call::Whitelist(whitelist::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Claims" { + return Ok(Call::Claims(claims::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Vesting" { + return Ok(Call::Vesting(vesting::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Utility" { + return Ok(Call::Utility(utility::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Identity" { + return Ok(Call::Identity(identity::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Proxy" { + return Ok(Call::Proxy(proxy::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Multisig" { + return Ok(Call::Multisig(multisig::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Bounties" { + return Ok(Call::Bounties(bounties::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "ChildBounties" { + return Ok(Call::ChildBounties( + child_bounties::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?, + )); + } + if pallet_name == "Tips" { + return Ok(Call::Tips(tips::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "ElectionProviderMultiPhase" { + return Ok(Call::ElectionProviderMultiPhase( + election_provider_multi_phase::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?, + )); + } + if pallet_name == "VoterList" { + return Ok(Call::VoterList(voter_list::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "NominationPools" { + return Ok(Call::NominationPools( + nomination_pools::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?, + )); + } + if pallet_name == "FastUnstake" { + return Ok(Call::FastUnstake(fast_unstake::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Configuration" { + return Ok(Call::Configuration( + configuration::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?, + )); + } + if pallet_name == "ParasShared" { + return Ok(Call::ParasShared(paras_shared::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "ParaInclusion" { + return Ok(Call::ParaInclusion( + para_inclusion::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?, + )); + } + if pallet_name == "ParaInherent" { + return Ok(Call::ParaInherent( + para_inherent::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?, + )); + } + if pallet_name == "Paras" { + return Ok(Call::Paras(paras::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Initializer" { + return Ok(Call::Initializer(initializer::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Dmp" { + return Ok(Call::Dmp(dmp::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Ump" { + return Ok(Call::Ump(ump::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Hrmp" { + return Ok(Call::Hrmp(hrmp::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "ParasDisputes" { + return Ok(Call::ParasDisputes( + paras_disputes::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?, + )); + } + if pallet_name == "Registrar" { + return Ok(Call::Registrar(registrar::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Slots" { + return Ok(Call::Slots(slots::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Auctions" { + return Ok(Call::Auctions(auctions::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "Crowdloan" { + return Ok(Call::Crowdloan(crowdloan::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + if pallet_name == "XcmPallet" { + return Ok(Call::XcmPallet(xcm_pallet::Call::decode_with_metadata( + &mut &*pallet_bytes, + pallet_ty, + metadata, + )?)); + } + Err(::subxt::ext::scale_decode::Error::custom(format!( + "Pallet name '{}' not found in root Call enum", + pallet_name + )) + .into()) + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Error { #[codec(index = 0)] System(system::Error), @@ -838,7 +1319,2609 @@ pub mod api { use super::runtime_types; use subxt::ext::codec::Encode; pub struct RuntimeApi; - impl RuntimeApi {} + impl RuntimeApi { + pub fn core(&self) -> core::Core { + core::Core + } + pub fn metadata(&self) -> metadata::Metadata { + metadata::Metadata + } + pub fn block_builder(&self) -> block_builder::BlockBuilder { + block_builder::BlockBuilder + } + pub fn nomination_pools_api(&self) -> nomination_pools_api::NominationPoolsApi { + nomination_pools_api::NominationPoolsApi + } + pub fn staking_api(&self) -> staking_api::StakingApi { + staking_api::StakingApi + } + pub fn tagged_transaction_queue( + &self, + ) -> tagged_transaction_queue::TaggedTransactionQueue { + tagged_transaction_queue::TaggedTransactionQueue + } + pub fn offchain_worker_api(&self) -> offchain_worker_api::OffchainWorkerApi { + offchain_worker_api::OffchainWorkerApi + } + pub fn parachain_host(&self) -> parachain_host::ParachainHost { + parachain_host::ParachainHost + } + pub fn beefy_api(&self) -> beefy_api::BeefyApi { + beefy_api::BeefyApi + } + pub fn mmr_api(&self) -> mmr_api::MmrApi { + mmr_api::MmrApi + } + pub fn grandpa_api(&self) -> grandpa_api::GrandpaApi { + grandpa_api::GrandpaApi + } + pub fn babe_api(&self) -> babe_api::BabeApi { + babe_api::BabeApi + } + pub fn authority_discovery_api( + &self, + ) -> authority_discovery_api::AuthorityDiscoveryApi { + authority_discovery_api::AuthorityDiscoveryApi + } + pub fn session_keys(&self) -> session_keys::SessionKeys { + session_keys::SessionKeys + } + pub fn account_nonce_api(&self) -> account_nonce_api::AccountNonceApi { + account_nonce_api::AccountNonceApi + } + pub fn transaction_payment_api( + &self, + ) -> transaction_payment_api::TransactionPaymentApi { + transaction_payment_api::TransactionPaymentApi + } + pub fn transaction_payment_call_api( + &self, + ) -> transaction_payment_call_api::TransactionPaymentCallApi { + transaction_payment_call_api::TransactionPaymentCallApi + } + } + pub mod core { + use super::root_mod; + use super::runtime_types; + #[doc = " The `Core` runtime api that every Substrate runtime needs to implement."] + pub struct Core; + impl Core { + #[doc = " Returns the version of the runtime."] + pub fn version( + &self, + ) -> ::subxt::runtime_api::Payload< + types::Version, + runtime_types::sp_version::RuntimeVersion, + > { + ::subxt::runtime_api::Payload::new_static( + "Core_version", + types::Version {}, + [ + 209u8, 59u8, 156u8, 128u8, 14u8, 210u8, 96u8, 63u8, 140u8, 0u8, 65u8, + 211u8, 118u8, 177u8, 9u8, 208u8, 105u8, 124u8, 132u8, 203u8, 157u8, + 207u8, 186u8, 177u8, 91u8, 170u8, 22u8, 224u8, 88u8, 56u8, 56u8, 13u8, + ], + ) + } + #[doc = " Execute the given block."] + pub fn execute_block( + &self, + block : runtime_types :: sp_runtime :: generic :: block :: Block < runtime_types :: sp_runtime :: generic :: header :: Header < :: core :: primitive :: u32 , runtime_types :: sp_runtime :: traits :: BlakeTwo256 > , runtime_types :: sp_runtime :: generic :: unchecked_extrinsic :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: polkadot_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: polkadot_runtime_common :: claims :: PrevalidateAttests ,) > >, + ) -> ::subxt::runtime_api::Payload { + ::subxt::runtime_api::Payload::new_static( + "Core_execute_block", + types::ExecuteBlock { block }, + [ + 199u8, 164u8, 96u8, 78u8, 188u8, 134u8, 19u8, 247u8, 63u8, 58u8, 93u8, + 227u8, 122u8, 157u8, 93u8, 196u8, 16u8, 7u8, 20u8, 17u8, 178u8, 152u8, + 211u8, 185u8, 56u8, 153u8, 118u8, 241u8, 118u8, 105u8, 85u8, 3u8, + ], + ) + } + #[doc = " Initialize a block with the given header."] + pub fn initialize_block( + &self, + header: runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + ) -> ::subxt::runtime_api::Payload { + ::subxt::runtime_api::Payload::new_static( + "Core_initialize_block", + types::InitializeBlock { header }, + [ + 45u8, 232u8, 143u8, 132u8, 33u8, 211u8, 71u8, 186u8, 169u8, 91u8, + 143u8, 156u8, 174u8, 156u8, 10u8, 25u8, 203u8, 16u8, 208u8, 226u8, + 12u8, 233u8, 145u8, 228u8, 63u8, 118u8, 66u8, 247u8, 71u8, 48u8, 44u8, + 243u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Version {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ExecuteBlock { pub block : runtime_types :: sp_runtime :: generic :: block :: Block < runtime_types :: sp_runtime :: generic :: header :: Header < :: core :: primitive :: u32 , runtime_types :: sp_runtime :: traits :: BlakeTwo256 > , runtime_types :: sp_runtime :: generic :: unchecked_extrinsic :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: polkadot_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: polkadot_runtime_common :: claims :: PrevalidateAttests ,) > > , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct InitializeBlock { + pub header: runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + } + } + } + pub mod metadata { + use super::root_mod; + use super::runtime_types; + #[doc = " The `Metadata` api trait that returns metadata for the runtime."] + pub struct Metadata; + impl Metadata { + #[doc = " Returns the metadata of a runtime."] + pub fn metadata( + &self, + ) -> ::subxt::runtime_api::Payload< + types::Metadata, + runtime_types::sp_core::OpaqueMetadata, + > { + ::subxt::runtime_api::Payload::new_static( + "Metadata_metadata", + types::Metadata {}, + [ + 158u8, 223u8, 229u8, 177u8, 228u8, 49u8, 24u8, 219u8, 143u8, 82u8, + 255u8, 132u8, 245u8, 210u8, 160u8, 197u8, 218u8, 10u8, 63u8, 165u8, + 115u8, 91u8, 70u8, 151u8, 246u8, 51u8, 18u8, 235u8, 91u8, 143u8, 27u8, + 127u8, + ], + ) + } + #[doc = " Returns the metadata at a given version."] + #[doc = ""] + #[doc = " If the given `version` isn't supported, this will return `None`."] + #[doc = " Use [`Self::metadata_versions`] to find out about supported metadata version of the runtime."] + pub fn metadata_at_version( + &self, + version: ::core::primitive::u32, + ) -> ::subxt::runtime_api::Payload< + types::MetadataAtVersion, + ::core::option::Option, + > { + ::subxt::runtime_api::Payload::new_static( + "Metadata_metadata_at_version", + types::MetadataAtVersion { version }, + [ + 50u8, 164u8, 234u8, 88u8, 65u8, 62u8, 176u8, 66u8, 188u8, 114u8, 205u8, + 29u8, 137u8, 173u8, 194u8, 54u8, 237u8, 48u8, 221u8, 46u8, 166u8, 44u8, + 220u8, 137u8, 97u8, 128u8, 204u8, 137u8, 29u8, 229u8, 31u8, 134u8, + ], + ) + } + #[doc = " Returns the supported metadata versions."] + #[doc = ""] + #[doc = " This can be used to call `metadata_at_version`."] + pub fn metadata_versions( + &self, + ) -> ::subxt::runtime_api::Payload< + types::MetadataVersions, + ::std::vec::Vec<::core::primitive::u32>, + > { + ::subxt::runtime_api::Payload::new_static( + "Metadata_metadata_versions", + types::MetadataVersions {}, + [ + 255u8, 234u8, 86u8, 244u8, 238u8, 175u8, 175u8, 54u8, 181u8, 181u8, + 23u8, 185u8, 231u8, 242u8, 153u8, 246u8, 205u8, 142u8, 184u8, 21u8, + 240u8, 217u8, 195u8, 231u8, 32u8, 163u8, 127u8, 3u8, 51u8, 130u8, 68u8, + 124u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Metadata {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MetadataAtVersion { + pub version: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MetadataVersions {} + } + } + pub mod block_builder { + use super::root_mod; + use super::runtime_types; + #[doc = " The `BlockBuilder` api trait that provides the required functionality for building a block."] + pub struct BlockBuilder; + impl BlockBuilder { + #[doc = " Apply the given extrinsic."] + #[doc = ""] + #[doc = " Returns an inclusion outcome which specifies if this extrinsic is included in"] + #[doc = " this block or not."] + pub fn apply_extrinsic( + &self, + extrinsic : runtime_types :: sp_runtime :: generic :: unchecked_extrinsic :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: polkadot_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: polkadot_runtime_common :: claims :: PrevalidateAttests ,) >, + ) -> ::subxt::runtime_api::Payload< + types::ApplyExtrinsic, + ::core::result::Result< + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + runtime_types::sp_runtime::transaction_validity::TransactionValidityError, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "BlockBuilder_apply_extrinsic", + types::ApplyExtrinsic { extrinsic }, + [ + 151u8, 89u8, 106u8, 151u8, 95u8, 29u8, 10u8, 68u8, 85u8, 149u8, 144u8, + 132u8, 47u8, 46u8, 164u8, 91u8, 225u8, 219u8, 85u8, 120u8, 101u8, + 105u8, 45u8, 79u8, 171u8, 133u8, 121u8, 170u8, 197u8, 248u8, 24u8, + 10u8, + ], + ) + } + #[doc = " Finish the current block."] + pub fn finalize_block( + &self, + ) -> ::subxt::runtime_api::Payload< + types::FinalizeBlock, + runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "BlockBuilder_finalize_block", + types::FinalizeBlock {}, + [ + 78u8, 179u8, 67u8, 170u8, 213u8, 230u8, 122u8, 98u8, 76u8, 244u8, + 225u8, 219u8, 83u8, 115u8, 94u8, 229u8, 93u8, 142u8, 120u8, 172u8, + 87u8, 99u8, 120u8, 41u8, 143u8, 184u8, 71u8, 49u8, 126u8, 55u8, 240u8, + 125u8, + ], + ) + } + #[doc = " Generate inherent extrinsics. The inherent data will vary from chain to chain."] pub fn inherent_extrinsics (& self , inherent : runtime_types :: sp_inherents :: InherentData ,) -> :: subxt :: runtime_api :: Payload < types :: InherentExtrinsics , :: std :: vec :: Vec < runtime_types :: sp_runtime :: generic :: unchecked_extrinsic :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: polkadot_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: polkadot_runtime_common :: claims :: PrevalidateAttests ,) > > >{ + ::subxt::runtime_api::Payload::new_static( + "BlockBuilder_inherent_extrinsics", + types::InherentExtrinsics { inherent }, + [ + 75u8, 86u8, 85u8, 104u8, 125u8, 169u8, 23u8, 92u8, 162u8, 73u8, 65u8, + 223u8, 100u8, 24u8, 201u8, 157u8, 145u8, 208u8, 238u8, 11u8, 255u8, + 98u8, 0u8, 211u8, 189u8, 94u8, 5u8, 123u8, 25u8, 1u8, 88u8, 234u8, + ], + ) + } + #[doc = " Check that the inherents are valid. The inherent data will vary from chain to chain."] + pub fn check_inherents( + &self, + block : runtime_types :: sp_runtime :: generic :: block :: Block < runtime_types :: sp_runtime :: generic :: header :: Header < :: core :: primitive :: u32 , runtime_types :: sp_runtime :: traits :: BlakeTwo256 > , runtime_types :: sp_runtime :: generic :: unchecked_extrinsic :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: polkadot_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: polkadot_runtime_common :: claims :: PrevalidateAttests ,) > >, + data: runtime_types::sp_inherents::InherentData, + ) -> ::subxt::runtime_api::Payload< + types::CheckInherents, + runtime_types::sp_inherents::CheckInherentsResult, + > { + ::subxt::runtime_api::Payload::new_static( + "BlockBuilder_check_inherents", + types::CheckInherents { block, data }, + [ + 162u8, 99u8, 46u8, 228u8, 124u8, 158u8, 224u8, 212u8, 90u8, 101u8, + 133u8, 173u8, 82u8, 61u8, 131u8, 131u8, 254u8, 209u8, 17u8, 181u8, + 87u8, 190u8, 80u8, 165u8, 172u8, 179u8, 121u8, 202u8, 126u8, 48u8, + 254u8, 112u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ApplyExtrinsic { pub extrinsic : runtime_types :: sp_runtime :: generic :: unchecked_extrinsic :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: polkadot_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: polkadot_runtime_common :: claims :: PrevalidateAttests ,) > , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct FinalizeBlock {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct InherentExtrinsics { + pub inherent: runtime_types::sp_inherents::InherentData, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CheckInherents { pub block : runtime_types :: sp_runtime :: generic :: block :: Block < runtime_types :: sp_runtime :: generic :: header :: Header < :: core :: primitive :: u32 , runtime_types :: sp_runtime :: traits :: BlakeTwo256 > , runtime_types :: sp_runtime :: generic :: unchecked_extrinsic :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: polkadot_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: polkadot_runtime_common :: claims :: PrevalidateAttests ,) > > , pub data : runtime_types :: sp_inherents :: InherentData , } + } + } + pub mod nomination_pools_api { + use super::root_mod; + use super::runtime_types; + #[doc = " Runtime api for accessing information about nomination pools."] + pub struct NominationPoolsApi; + impl NominationPoolsApi { + #[doc = " Returns the pending rewards for the member that the AccountId was given for."] + pub fn pending_rewards( + &self, + who: ::subxt::utils::AccountId32, + ) -> ::subxt::runtime_api::Payload + { + ::subxt::runtime_api::Payload::new_static( + "NominationPoolsApi_pending_rewards", + types::PendingRewards { who }, + [ + 235u8, 64u8, 57u8, 70u8, 111u8, 27u8, 62u8, 236u8, 36u8, 192u8, 103u8, + 89u8, 221u8, 194u8, 46u8, 223u8, 71u8, 249u8, 33u8, 135u8, 43u8, 42u8, + 147u8, 57u8, 130u8, 44u8, 35u8, 132u8, 163u8, 153u8, 201u8, 105u8, + ], + ) + } + #[doc = " Returns the equivalent balance of `points` for a given pool."] + pub fn points_to_balance( + &self, + pool_id: ::core::primitive::u32, + points: ::core::primitive::u128, + ) -> ::subxt::runtime_api::Payload + { + ::subxt::runtime_api::Payload::new_static( + "NominationPoolsApi_points_to_balance", + types::PointsToBalance { pool_id, points }, + [ + 30u8, 7u8, 5u8, 95u8, 146u8, 43u8, 110u8, 21u8, 148u8, 160u8, 74u8, + 92u8, 168u8, 188u8, 74u8, 41u8, 129u8, 172u8, 138u8, 30u8, 232u8, + 214u8, 154u8, 18u8, 52u8, 87u8, 71u8, 127u8, 141u8, 177u8, 216u8, + 158u8, + ], + ) + } + #[doc = " Returns the equivalent points of `new_funds` for a given pool."] + pub fn balance_to_points( + &self, + pool_id: ::core::primitive::u32, + new_funds: ::core::primitive::u128, + ) -> ::subxt::runtime_api::Payload + { + ::subxt::runtime_api::Payload::new_static( + "NominationPoolsApi_balance_to_points", + types::BalanceToPoints { pool_id, new_funds }, + [ + 152u8, 165u8, 227u8, 129u8, 31u8, 108u8, 224u8, 174u8, 74u8, 192u8, + 102u8, 139u8, 17u8, 119u8, 173u8, 220u8, 52u8, 157u8, 125u8, 107u8, + 110u8, 236u8, 9u8, 93u8, 239u8, 3u8, 18u8, 140u8, 203u8, 136u8, 183u8, + 215u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PendingRewards { + pub who: ::subxt::utils::AccountId32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PointsToBalance { + pub pool_id: ::core::primitive::u32, + pub points: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BalanceToPoints { + pub pool_id: ::core::primitive::u32, + pub new_funds: ::core::primitive::u128, + } + } + } + pub mod staking_api { + use super::root_mod; + use super::runtime_types; + pub struct StakingApi; + impl StakingApi { + #[doc = " Returns the nominations quota for a nominator with a given balance."] + pub fn nominations_quota( + &self, + balance: ::core::primitive::u128, + ) -> ::subxt::runtime_api::Payload + { + ::subxt::runtime_api::Payload::new_static( + "StakingApi_nominations_quota", + types::NominationsQuota { balance }, + [ + 181u8, 19u8, 6u8, 134u8, 234u8, 67u8, 127u8, 210u8, 53u8, 38u8, 175u8, + 160u8, 243u8, 71u8, 187u8, 206u8, 178u8, 91u8, 26u8, 115u8, 18u8, + 214u8, 50u8, 208u8, 161u8, 197u8, 81u8, 13u8, 98u8, 53u8, 124u8, 62u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct NominationsQuota { + pub balance: ::core::primitive::u128, + } + } + } + pub mod tagged_transaction_queue { + use super::root_mod; + use super::runtime_types; + #[doc = " The `TaggedTransactionQueue` api trait for interfering with the transaction queue."] + pub struct TaggedTransactionQueue; + impl TaggedTransactionQueue { + #[doc = " Validate the transaction."] + #[doc = ""] + #[doc = " This method is invoked by the transaction pool to learn details about given transaction."] + #[doc = " The implementation should make sure to verify the correctness of the transaction"] + #[doc = " against current state. The given `block_hash` corresponds to the hash of the block"] + #[doc = " that is used as current state."] + #[doc = ""] + #[doc = " Note that this call may be performed by the pool multiple times and transactions"] + #[doc = " might be verified in any possible order."] + pub fn validate_transaction( + &self, + source: runtime_types::sp_runtime::transaction_validity::TransactionSource, + tx : runtime_types :: sp_runtime :: generic :: unchecked_extrinsic :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: polkadot_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: polkadot_runtime_common :: claims :: PrevalidateAttests ,) >, + block_hash: ::subxt::utils::H256, + ) -> ::subxt::runtime_api::Payload< + types::ValidateTransaction, + ::core::result::Result< + runtime_types::sp_runtime::transaction_validity::ValidTransaction, + runtime_types::sp_runtime::transaction_validity::TransactionValidityError, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "TaggedTransactionQueue_validate_transaction", + types::ValidateTransaction { + source, + tx, + block_hash, + }, + [ + 93u8, 180u8, 253u8, 37u8, 212u8, 54u8, 180u8, 214u8, 33u8, 5u8, 113u8, + 181u8, 25u8, 48u8, 153u8, 221u8, 78u8, 6u8, 115u8, 191u8, 72u8, 75u8, + 203u8, 171u8, 129u8, 75u8, 56u8, 60u8, 243u8, 92u8, 173u8, 12u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ValidateTransaction { pub source : runtime_types :: sp_runtime :: transaction_validity :: TransactionSource , pub tx : runtime_types :: sp_runtime :: generic :: unchecked_extrinsic :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: polkadot_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: polkadot_runtime_common :: claims :: PrevalidateAttests ,) > , pub block_hash : :: subxt :: utils :: H256 , } + } + } + pub mod offchain_worker_api { + use super::root_mod; + use super::runtime_types; + #[doc = " The offchain worker api."] + pub struct OffchainWorkerApi; + impl OffchainWorkerApi { + #[doc = " Starts the off-chain task for given block header."] + pub fn offchain_worker( + &self, + header: runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + ) -> ::subxt::runtime_api::Payload { + ::subxt::runtime_api::Payload::new_static( + "OffchainWorkerApi_offchain_worker", + types::OffchainWorker { header }, + [ + 187u8, 145u8, 211u8, 0u8, 200u8, 151u8, 231u8, 42u8, 187u8, 128u8, + 157u8, 64u8, 191u8, 64u8, 31u8, 158u8, 13u8, 159u8, 227u8, 120u8, + 155u8, 215u8, 228u8, 215u8, 44u8, 8u8, 206u8, 116u8, 241u8, 133u8, 2u8, + 234u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct OffchainWorker { + pub header: runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + } + } + } + pub mod parachain_host { + use super::root_mod; + use super::runtime_types; + #[doc = " The API for querying the state of parachains on-chain."] + pub struct ParachainHost; + impl ParachainHost { + #[doc = " Get the current validators."] + pub fn validators( + &self, + ) -> ::subxt::runtime_api::Payload< + types::Validators, + ::std::vec::Vec, + > { + ::subxt::runtime_api::Payload::new_static( + "ParachainHost_validators", + types::Validators {}, + [ + 105u8, 23u8, 110u8, 209u8, 38u8, 112u8, 199u8, 134u8, 145u8, 131u8, + 38u8, 221u8, 254u8, 147u8, 242u8, 149u8, 94u8, 76u8, 197u8, 67u8, + 228u8, 113u8, 196u8, 50u8, 122u8, 1u8, 121u8, 225u8, 163u8, 210u8, + 66u8, 68u8, + ], + ) + } + #[doc = " Returns the validator groups and rotation info localized based on the hypothetical child"] + #[doc = " of a block whose state this is invoked on. Note that `now` in the `GroupRotationInfo`"] + #[doc = " should be the successor of the number of the block."] + pub fn validator_groups( + &self, + ) -> ::subxt::runtime_api::Payload< + types::ValidatorGroups, + ( + ::std::vec::Vec< + ::std::vec::Vec, + >, + runtime_types::polkadot_primitives::v4::GroupRotationInfo< + ::core::primitive::u32, + >, + ), + > { + ::subxt::runtime_api::Payload::new_static( + "ParachainHost_validator_groups", + types::ValidatorGroups {}, + [ + 185u8, 206u8, 229u8, 10u8, 93u8, 19u8, 23u8, 44u8, 159u8, 13u8, 235u8, + 236u8, 78u8, 153u8, 144u8, 82u8, 106u8, 248u8, 8u8, 92u8, 250u8, 54u8, + 153u8, 53u8, 183u8, 60u8, 67u8, 216u8, 201u8, 88u8, 217u8, 120u8, + ], + ) + } + #[doc = " Yields information on all availability cores as relevant to the child block."] + #[doc = " Cores are either free or occupied. Free cores can have paras assigned to them."] + pub fn availability_cores( + &self, + ) -> ::subxt::runtime_api::Payload< + types::AvailabilityCores, + ::std::vec::Vec< + runtime_types::polkadot_primitives::v4::CoreState< + ::subxt::utils::H256, + ::core::primitive::u32, + >, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "ParachainHost_availability_cores", + types::AvailabilityCores {}, + [ + 107u8, 20u8, 115u8, 26u8, 118u8, 211u8, 207u8, 122u8, 134u8, 174u8, + 98u8, 237u8, 216u8, 175u8, 39u8, 176u8, 211u8, 78u8, 142u8, 29u8, + 127u8, 56u8, 160u8, 249u8, 174u8, 244u8, 146u8, 181u8, 4u8, 166u8, + 93u8, 13u8, + ], + ) + } + #[doc = " Yields the persisted validation data for the given `ParaId` along with an assumption that"] + #[doc = " should be used if the para currently occupies a core."] + #[doc = ""] + #[doc = " Returns `None` if either the para is not registered or the assumption is `Freed`"] + #[doc = " and the para already occupies a core."] + pub fn persisted_validation_data( + &self, + para_id: runtime_types::polkadot_parachain::primitives::Id, + assumption: runtime_types::polkadot_primitives::v4::OccupiedCoreAssumption, + ) -> ::subxt::runtime_api::Payload< + types::PersistedValidationData, + ::core::option::Option< + runtime_types::polkadot_primitives::v4::PersistedValidationData< + ::subxt::utils::H256, + ::core::primitive::u32, + >, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "ParachainHost_persisted_validation_data", + types::PersistedValidationData { + para_id, + assumption, + }, + [ + 230u8, 186u8, 57u8, 116u8, 47u8, 20u8, 186u8, 89u8, 108u8, 211u8, 22u8, + 57u8, 124u8, 234u8, 140u8, 3u8, 104u8, 89u8, 89u8, 188u8, 156u8, 130u8, + 146u8, 77u8, 129u8, 66u8, 227u8, 157u8, 4u8, 134u8, 7u8, 237u8, + ], + ) + } + #[doc = " Returns the persisted validation data for the given `ParaId` along with the corresponding"] + #[doc = " validation code hash. Instead of accepting assumption about the para, matches the validation"] + #[doc = " data hash against an expected one and yields `None` if they're not equal."] + pub fn assumed_validation_data( + &self, + para_id: runtime_types::polkadot_parachain::primitives::Id, + expected_persisted_validation_data_hash: ::subxt::utils::H256, + ) -> ::subxt::runtime_api::Payload< + types::AssumedValidationData, + ::core::option::Option<( + runtime_types::polkadot_primitives::v4::PersistedValidationData< + ::subxt::utils::H256, + ::core::primitive::u32, + >, + runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + )>, + > { + ::subxt::runtime_api::Payload::new_static( + "ParachainHost_assumed_validation_data", + types::AssumedValidationData { + para_id, + expected_persisted_validation_data_hash, + }, + [ + 53u8, 137u8, 220u8, 72u8, 155u8, 9u8, 200u8, 207u8, 158u8, 108u8, + 204u8, 15u8, 188u8, 162u8, 129u8, 158u8, 62u8, 200u8, 13u8, 0u8, 217u8, + 195u8, 19u8, 151u8, 187u8, 231u8, 197u8, 235u8, 128u8, 244u8, 51u8, + 85u8, + ], + ) + } + #[doc = " Checks if the given validation outputs pass the acceptance criteria."] + pub fn check_validation_outputs( + &self, + para_id: runtime_types::polkadot_parachain::primitives::Id, + outputs: runtime_types::polkadot_primitives::v4::CandidateCommitments< + ::core::primitive::u32, + >, + ) -> ::subxt::runtime_api::Payload< + types::CheckValidationOutputs, + ::core::primitive::bool, + > { + ::subxt::runtime_api::Payload::new_static( + "ParachainHost_check_validation_outputs", + types::CheckValidationOutputs { para_id, outputs }, + [ + 99u8, 191u8, 194u8, 26u8, 245u8, 216u8, 224u8, 232u8, 26u8, 184u8, + 120u8, 64u8, 32u8, 134u8, 215u8, 138u8, 195u8, 30u8, 220u8, 111u8, + 119u8, 182u8, 62u8, 72u8, 5u8, 144u8, 87u8, 157u8, 125u8, 125u8, 237u8, + 34u8, + ], + ) + } + #[doc = " Returns the session index expected at a child of the block."] + #[doc = ""] + #[doc = " This can be used to instantiate a `SigningContext`."] + pub fn session_index_for_child( + &self, + ) -> ::subxt::runtime_api::Payload< + types::SessionIndexForChild, + ::core::primitive::u32, + > { + ::subxt::runtime_api::Payload::new_static( + "ParachainHost_session_index_for_child", + types::SessionIndexForChild {}, + [ + 224u8, 173u8, 95u8, 16u8, 57u8, 180u8, 35u8, 148u8, 243u8, 77u8, 123u8, + 242u8, 212u8, 122u8, 27u8, 32u8, 44u8, 166u8, 66u8, 124u8, 1u8, 190u8, + 93u8, 124u8, 57u8, 127u8, 249u8, 141u8, 173u8, 92u8, 137u8, 165u8, + ], + ) + } + #[doc = " Fetch the validation code used by a para, making the given `OccupiedCoreAssumption`."] + #[doc = ""] + #[doc = " Returns `None` if either the para is not registered or the assumption is `Freed`"] + #[doc = " and the para already occupies a core."] + pub fn validation_code( + &self, + para_id: runtime_types::polkadot_parachain::primitives::Id, + assumption: runtime_types::polkadot_primitives::v4::OccupiedCoreAssumption, + ) -> ::subxt::runtime_api::Payload< + types::ValidationCode, + ::core::option::Option< + runtime_types::polkadot_parachain::primitives::ValidationCode, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "ParachainHost_validation_code", + types::ValidationCode { + para_id, + assumption, + }, + [ + 231u8, 64u8, 145u8, 133u8, 197u8, 196u8, 177u8, 229u8, 152u8, 70u8, + 16u8, 159u8, 65u8, 66u8, 172u8, 58u8, 60u8, 50u8, 232u8, 28u8, 36u8, + 211u8, 161u8, 28u8, 192u8, 153u8, 89u8, 186u8, 9u8, 246u8, 228u8, 84u8, + ], + ) + } + #[doc = " Get the receipt of a candidate pending availability. This returns `Some` for any paras"] + #[doc = " assigned to occupied cores in `availability_cores` and `None` otherwise."] + pub fn candidate_pending_availability( + &self, + para_id: runtime_types::polkadot_parachain::primitives::Id, + ) -> ::subxt::runtime_api::Payload< + types::CandidatePendingAvailability, + ::core::option::Option< + runtime_types::polkadot_primitives::v4::CommittedCandidateReceipt< + ::subxt::utils::H256, + >, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "ParachainHost_candidate_pending_availability", + types::CandidatePendingAvailability { para_id }, + [ + 175u8, 68u8, 187u8, 74u8, 138u8, 129u8, 153u8, 251u8, 216u8, 70u8, + 251u8, 151u8, 169u8, 252u8, 31u8, 16u8, 61u8, 242u8, 169u8, 15u8, + 123u8, 58u8, 177u8, 131u8, 6u8, 79u8, 30u8, 105u8, 51u8, 67u8, 19u8, + 208u8, + ], + ) + } + #[doc = " Get a vector of events concerning candidates that occurred within a block."] + pub fn candidate_events( + &self, + ) -> ::subxt::runtime_api::Payload< + types::CandidateEvents, + ::std::vec::Vec< + runtime_types::polkadot_primitives::v4::CandidateEvent< + ::subxt::utils::H256, + >, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "ParachainHost_candidate_events", + types::CandidateEvents {}, + [ + 50u8, 177u8, 192u8, 138u8, 139u8, 179u8, 76u8, 167u8, 238u8, 92u8, + 255u8, 249u8, 223u8, 61u8, 112u8, 7u8, 0u8, 6u8, 43u8, 71u8, 209u8, + 21u8, 14u8, 184u8, 19u8, 68u8, 106u8, 193u8, 38u8, 251u8, 19u8, 208u8, + ], + ) + } + #[doc = " Get all the pending inbound messages in the downward message queue for a para."] + pub fn dmq_contents( + &self, + recipient: runtime_types::polkadot_parachain::primitives::Id, + ) -> ::subxt::runtime_api::Payload< + types::DmqContents, + ::std::vec::Vec< + runtime_types::polkadot_core_primitives::InboundDownwardMessage< + ::core::primitive::u32, + >, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "ParachainHost_dmq_contents", + types::DmqContents { recipient }, + [ + 34u8, 66u8, 1u8, 92u8, 223u8, 240u8, 222u8, 128u8, 190u8, 242u8, 160u8, + 140u8, 60u8, 57u8, 155u8, 105u8, 10u8, 162u8, 212u8, 72u8, 1u8, 192u8, + 36u8, 26u8, 127u8, 86u8, 8u8, 255u8, 57u8, 210u8, 148u8, 254u8, + ], + ) + } + #[doc = " Get the contents of all channels addressed to the given recipient. Channels that have no"] + #[doc = " messages in them are also included."] + pub fn inbound_hrmp_channels_contents( + &self, + recipient: runtime_types::polkadot_parachain::primitives::Id, + ) -> ::subxt::runtime_api::Payload< + types::InboundHrmpChannelsContents, + ::subxt::utils::KeyedVec< + runtime_types::polkadot_parachain::primitives::Id, + ::std::vec::Vec< + runtime_types::polkadot_core_primitives::InboundHrmpMessage< + ::core::primitive::u32, + >, + >, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "ParachainHost_inbound_hrmp_channels_contents", + types::InboundHrmpChannelsContents { recipient }, + [ + 209u8, 72u8, 244u8, 143u8, 167u8, 234u8, 8u8, 33u8, 80u8, 154u8, 132u8, + 22u8, 62u8, 174u8, 3u8, 89u8, 78u8, 115u8, 119u8, 77u8, 169u8, 80u8, + 98u8, 164u8, 8u8, 8u8, 50u8, 120u8, 58u8, 12u8, 114u8, 57u8, + ], + ) + } + #[doc = " Get the validation code from its hash."] + pub fn validation_code_by_hash( + &self, + hash: runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + ) -> ::subxt::runtime_api::Payload< + types::ValidationCodeByHash, + ::core::option::Option< + runtime_types::polkadot_parachain::primitives::ValidationCode, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "ParachainHost_validation_code_by_hash", + types::ValidationCodeByHash { hash }, + [ + 143u8, 146u8, 97u8, 197u8, 138u8, 122u8, 186u8, 0u8, 86u8, 105u8, + 207u8, 55u8, 53u8, 47u8, 131u8, 101u8, 24u8, 71u8, 204u8, 71u8, 96u8, + 100u8, 252u8, 127u8, 21u8, 248u8, 70u8, 187u8, 111u8, 112u8, 77u8, + 208u8, + ], + ) + } + #[doc = " Scrape dispute relevant from on-chain, backing votes and resolved disputes."] + pub fn on_chain_votes( + &self, + ) -> ::subxt::runtime_api::Payload< + types::OnChainVotes, + ::core::option::Option< + runtime_types::polkadot_primitives::v4::ScrapedOnChainVotes< + ::subxt::utils::H256, + >, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "ParachainHost_on_chain_votes", + types::OnChainVotes {}, + [ + 37u8, 2u8, 32u8, 215u8, 117u8, 137u8, 242u8, 168u8, 57u8, 175u8, 59u8, + 243u8, 132u8, 133u8, 246u8, 37u8, 154u8, 205u8, 191u8, 114u8, 114u8, + 167u8, 104u8, 27u8, 144u8, 56u8, 61u8, 159u8, 9u8, 79u8, 190u8, 239u8, + ], + ) + } + #[doc = " Get the session info for the given session, if stored."] + #[doc = ""] + #[doc = " NOTE: This function is only available since parachain host version 2."] + pub fn session_info( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::runtime_api::Payload< + types::SessionInfo, + ::core::option::Option, + > { + ::subxt::runtime_api::Payload::new_static( + "ParachainHost_session_info", + types::SessionInfo { index }, + [ + 107u8, 247u8, 186u8, 88u8, 134u8, 234u8, 251u8, 220u8, 134u8, 138u8, + 130u8, 168u8, 253u8, 101u8, 235u8, 126u8, 190u8, 37u8, 77u8, 182u8, + 195u8, 100u8, 63u8, 173u8, 147u8, 98u8, 217u8, 235u8, 220u8, 87u8, + 83u8, 198u8, + ], + ) + } + #[doc = " Submits a PVF pre-checking statement into the transaction pool."] + #[doc = ""] + #[doc = " NOTE: This function is only available since parachain host version 2."] + pub fn submit_pvf_check_statement( + &self, + stmt: runtime_types::polkadot_primitives::v4::PvfCheckStatement, + signature: runtime_types::polkadot_primitives::v4::validator_app::Signature, + ) -> ::subxt::runtime_api::Payload + { + ::subxt::runtime_api::Payload::new_static( + "ParachainHost_submit_pvf_check_statement", + types::SubmitPvfCheckStatement { stmt, signature }, + [ + 228u8, 45u8, 8u8, 229u8, 69u8, 35u8, 3u8, 231u8, 235u8, 184u8, 19u8, + 96u8, 72u8, 62u8, 15u8, 218u8, 27u8, 134u8, 19u8, 179u8, 239u8, 1u8, + 207u8, 39u8, 50u8, 171u8, 59u8, 204u8, 143u8, 247u8, 27u8, 179u8, + ], + ) + } + #[doc = " Returns code hashes of PVFs that require pre-checking by validators in the active set."] + #[doc = ""] + #[doc = " NOTE: This function is only available since parachain host version 2."] + pub fn pvfs_require_precheck( + &self, + ) -> ::subxt::runtime_api::Payload< + types::PvfsRequirePrecheck, + ::std::vec::Vec< + runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "ParachainHost_pvfs_require_precheck", + types::PvfsRequirePrecheck {}, + [ + 58u8, 208u8, 110u8, 249u8, 77u8, 56u8, 39u8, 46u8, 196u8, 209u8, 189u8, + 200u8, 147u8, 235u8, 247u8, 235u8, 125u8, 230u8, 11u8, 151u8, 137u8, + 118u8, 110u8, 179u8, 72u8, 53u8, 127u8, 149u8, 252u8, 20u8, 165u8, + 239u8, + ], + ) + } + #[doc = " Fetch the hash of the validation code used by a para, making the given `OccupiedCoreAssumption`."] + #[doc = ""] + #[doc = " NOTE: This function is only available since parachain host version 2."] + pub fn validation_code_hash( + &self, + para_id: runtime_types::polkadot_parachain::primitives::Id, + assumption: runtime_types::polkadot_primitives::v4::OccupiedCoreAssumption, + ) -> ::subxt::runtime_api::Payload< + types::ValidationCodeHash, + ::core::option::Option< + runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "ParachainHost_validation_code_hash", + types::ValidationCodeHash { + para_id, + assumption, + }, + [ + 232u8, 173u8, 117u8, 125u8, 245u8, 188u8, 20u8, 124u8, 255u8, 219u8, + 2u8, 95u8, 131u8, 3u8, 122u8, 190u8, 240u8, 184u8, 8u8, 239u8, 85u8, + 107u8, 59u8, 105u8, 206u8, 130u8, 65u8, 142u8, 130u8, 193u8, 143u8, + 199u8, + ], + ) + } + #[doc = " Returns all onchain disputes."] + pub fn disputes( + &self, + ) -> ::subxt::runtime_api::Payload< + types::Disputes, + ::std::vec::Vec<( + ::core::primitive::u32, + runtime_types::polkadot_core_primitives::CandidateHash, + runtime_types::polkadot_primitives::v4::DisputeState< + ::core::primitive::u32, + >, + )>, + > { + ::subxt::runtime_api::Payload::new_static( + "ParachainHost_disputes", + types::Disputes {}, + [ + 90u8, 171u8, 12u8, 104u8, 109u8, 92u8, 149u8, 72u8, 109u8, 39u8, 75u8, + 241u8, 239u8, 78u8, 46u8, 134u8, 139u8, 200u8, 144u8, 213u8, 218u8, + 64u8, 98u8, 102u8, 159u8, 211u8, 154u8, 178u8, 187u8, 146u8, 193u8, + 34u8, + ], + ) + } + #[doc = " Returns execution parameters for the session."] + pub fn session_executor_params( + &self, + session_index: ::core::primitive::u32, + ) -> ::subxt::runtime_api::Payload< + types::SessionExecutorParams, + ::core::option::Option< + runtime_types::polkadot_primitives::v4::executor_params::ExecutorParams, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "ParachainHost_session_executor_params", + types::SessionExecutorParams { session_index }, + [ + 129u8, 198u8, 157u8, 37u8, 138u8, 132u8, 5u8, 183u8, 233u8, 119u8, + 99u8, 173u8, 22u8, 240u8, 182u8, 246u8, 101u8, 3u8, 149u8, 130u8, + 107u8, 60u8, 152u8, 217u8, 86u8, 150u8, 253u8, 170u8, 10u8, 86u8, + 183u8, 33u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Validators {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ValidatorGroups {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AvailabilityCores {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PersistedValidationData { + pub para_id: runtime_types::polkadot_parachain::primitives::Id, + pub assumption: runtime_types::polkadot_primitives::v4::OccupiedCoreAssumption, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AssumedValidationData { + pub para_id: runtime_types::polkadot_parachain::primitives::Id, + pub expected_persisted_validation_data_hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CheckValidationOutputs { + pub para_id: runtime_types::polkadot_parachain::primitives::Id, + pub outputs: runtime_types::polkadot_primitives::v4::CandidateCommitments< + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SessionIndexForChild {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ValidationCode { + pub para_id: runtime_types::polkadot_parachain::primitives::Id, + pub assumption: runtime_types::polkadot_primitives::v4::OccupiedCoreAssumption, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CandidatePendingAvailability { + pub para_id: runtime_types::polkadot_parachain::primitives::Id, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CandidateEvents {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DmqContents { + pub recipient: runtime_types::polkadot_parachain::primitives::Id, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct InboundHrmpChannelsContents { + pub recipient: runtime_types::polkadot_parachain::primitives::Id, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ValidationCodeByHash { + pub hash: runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct OnChainVotes {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SessionInfo { + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SubmitPvfCheckStatement { + pub stmt: runtime_types::polkadot_primitives::v4::PvfCheckStatement, + pub signature: runtime_types::polkadot_primitives::v4::validator_app::Signature, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PvfsRequirePrecheck {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ValidationCodeHash { + pub para_id: runtime_types::polkadot_parachain::primitives::Id, + pub assumption: runtime_types::polkadot_primitives::v4::OccupiedCoreAssumption, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Disputes {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SessionExecutorParams { + pub session_index: ::core::primitive::u32, + } + } + } + pub mod beefy_api { + use super::root_mod; + use super::runtime_types; + #[doc = " API necessary for BEEFY voters."] + pub struct BeefyApi; + impl BeefyApi { + #[doc = " Return the block number where BEEFY consensus is enabled/started"] + pub fn beefy_genesis( + &self, + ) -> ::subxt::runtime_api::Payload< + types::BeefyGenesis, + ::core::option::Option<::core::primitive::u32>, + > { + ::subxt::runtime_api::Payload::new_static( + "BeefyApi_beefy_genesis", + types::BeefyGenesis {}, + [ + 80u8, 47u8, 5u8, 126u8, 16u8, 213u8, 203u8, 179u8, 124u8, 14u8, 227u8, + 61u8, 164u8, 158u8, 115u8, 127u8, 132u8, 90u8, 222u8, 87u8, 249u8, + 214u8, 100u8, 13u8, 201u8, 186u8, 229u8, 217u8, 21u8, 152u8, 197u8, + 60u8, + ], + ) + } + #[doc = " Return the current active BEEFY validator set"] + pub fn validator_set( + &self, + ) -> ::subxt::runtime_api::Payload< + types::ValidatorSet, + ::core::option::Option< + runtime_types::sp_consensus_beefy::ValidatorSet< + runtime_types::sp_consensus_beefy::crypto::Public, + >, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "BeefyApi_validator_set", + types::ValidatorSet {}, + [ + 49u8, 44u8, 188u8, 42u8, 35u8, 233u8, 181u8, 44u8, 232u8, 88u8, 1u8, + 100u8, 90u8, 42u8, 139u8, 239u8, 25u8, 44u8, 183u8, 164u8, 161u8, + 129u8, 12u8, 158u8, 41u8, 39u8, 218u8, 43u8, 78u8, 70u8, 156u8, 159u8, + ], + ) + } + #[doc = " Submits an unsigned extrinsic to report an equivocation. The caller"] + #[doc = " must provide the equivocation proof and a key ownership proof"] + #[doc = " (should be obtained using `generate_key_ownership_proof`). The"] + #[doc = " extrinsic will be unsigned and should only be accepted for local"] + #[doc = " authorship (not to be broadcast to the network). This method returns"] + #[doc = " `None` when creation of the extrinsic fails, e.g. if equivocation"] + #[doc = " reporting is disabled for the given runtime (i.e. this method is"] + #[doc = " hardcoded to return `None`). Only useful in an offchain context."] + pub fn submit_report_equivocation_unsigned_extrinsic( + &self, + equivocation_proof: runtime_types::sp_consensus_beefy::EquivocationProof< + ::core::primitive::u32, + runtime_types::sp_consensus_beefy::crypto::Public, + runtime_types::sp_consensus_beefy::crypto::Signature, + >, + key_owner_proof: runtime_types::sp_consensus_beefy::OpaqueKeyOwnershipProof, + ) -> ::subxt::runtime_api::Payload< + types::SubmitReportEquivocationUnsignedExtrinsic, + ::core::option::Option<()>, + > { + ::subxt::runtime_api::Payload::new_static( + "BeefyApi_submit_report_equivocation_unsigned_extrinsic", + types::SubmitReportEquivocationUnsignedExtrinsic { + equivocation_proof, + key_owner_proof, + }, + [ + 232u8, 114u8, 155u8, 57u8, 178u8, 76u8, 154u8, 140u8, 49u8, 60u8, 71u8, + 98u8, 167u8, 4u8, 248u8, 159u8, 0u8, 36u8, 119u8, 102u8, 188u8, 10u8, + 137u8, 252u8, 249u8, 124u8, 208u8, 173u8, 252u8, 185u8, 117u8, 35u8, + ], + ) + } + #[doc = " Generates a proof of key ownership for the given authority in the"] + #[doc = " given set. An example usage of this module is coupled with the"] + #[doc = " session historical module to prove that a given authority key is"] + #[doc = " tied to a given staking identity during a specific session. Proofs"] + #[doc = " of key ownership are necessary for submitting equivocation reports."] + #[doc = " NOTE: even though the API takes a `set_id` as parameter the current"] + #[doc = " implementations ignores this parameter and instead relies on this"] + #[doc = " method being called at the correct block height, i.e. any point at"] + #[doc = " which the given set id is live on-chain. Future implementations will"] + #[doc = " instead use indexed data through an offchain worker, not requiring"] + #[doc = " older states to be available."] + pub fn generate_key_ownership_proof( + &self, + set_id: ::core::primitive::u64, + authority_id: runtime_types::sp_consensus_beefy::crypto::Public, + ) -> ::subxt::runtime_api::Payload< + types::GenerateKeyOwnershipProof, + ::core::option::Option< + runtime_types::sp_consensus_beefy::OpaqueKeyOwnershipProof, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "BeefyApi_generate_key_ownership_proof", + types::GenerateKeyOwnershipProof { + set_id, + authority_id, + }, + [ + 219u8, 146u8, 168u8, 108u8, 180u8, 133u8, 182u8, 104u8, 153u8, 14u8, + 209u8, 207u8, 32u8, 226u8, 81u8, 196u8, 243u8, 208u8, 0u8, 94u8, 197u8, + 232u8, 181u8, 251u8, 182u8, 12u8, 245u8, 231u8, 198u8, 76u8, 59u8, + 53u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BeefyGenesis {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ValidatorSet {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SubmitReportEquivocationUnsignedExtrinsic { + pub equivocation_proof: runtime_types::sp_consensus_beefy::EquivocationProof< + ::core::primitive::u32, + runtime_types::sp_consensus_beefy::crypto::Public, + runtime_types::sp_consensus_beefy::crypto::Signature, + >, + pub key_owner_proof: runtime_types::sp_consensus_beefy::OpaqueKeyOwnershipProof, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct GenerateKeyOwnershipProof { + pub set_id: ::core::primitive::u64, + pub authority_id: runtime_types::sp_consensus_beefy::crypto::Public, + } + } + } + pub mod mmr_api { + use super::root_mod; + use super::runtime_types; + #[doc = " API to interact with MMR pallet."] + pub struct MmrApi; + impl MmrApi { + #[doc = " Return the on-chain MMR root hash."] + pub fn mmr_root( + &self, + ) -> ::subxt::runtime_api::Payload< + types::MmrRoot, + ::core::result::Result< + ::subxt::utils::H256, + runtime_types::sp_mmr_primitives::Error, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "MmrApi_mmr_root", + types::MmrRoot {}, + [ + 83u8, 202u8, 15u8, 77u8, 255u8, 136u8, 129u8, 210u8, 154u8, 178u8, + 197u8, 94u8, 231u8, 151u8, 68u8, 172u8, 112u8, 116u8, 30u8, 138u8, + 142u8, 166u8, 16u8, 4u8, 24u8, 204u8, 18u8, 48u8, 43u8, 103u8, 30u8, + 96u8, + ], + ) + } + #[doc = " Return the number of MMR blocks in the chain."] + pub fn mmr_leaf_count( + &self, + ) -> ::subxt::runtime_api::Payload< + types::MmrLeafCount, + ::core::result::Result< + ::core::primitive::u64, + runtime_types::sp_mmr_primitives::Error, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "MmrApi_mmr_leaf_count", + types::MmrLeafCount {}, + [ + 81u8, 145u8, 75u8, 170u8, 197u8, 235u8, 92u8, 81u8, 54u8, 16u8, 239u8, + 136u8, 174u8, 255u8, 90u8, 27u8, 24u8, 51u8, 152u8, 130u8, 249u8, + 247u8, 44u8, 173u8, 4u8, 21u8, 72u8, 44u8, 198u8, 145u8, 94u8, 77u8, + ], + ) + } + #[doc = " Generate MMR proof for a series of block numbers. If `best_known_block_number = Some(n)`,"] + #[doc = " use historical MMR state at given block height `n`. Else, use current MMR state."] + pub fn generate_proof( + &self, + block_numbers: ::std::vec::Vec<::core::primitive::u32>, + best_known_block_number: ::core::option::Option<::core::primitive::u32>, + ) -> ::subxt::runtime_api::Payload< + types::GenerateProof, + ::core::result::Result< + ( + ::std::vec::Vec, + runtime_types::sp_mmr_primitives::Proof<::subxt::utils::H256>, + ), + runtime_types::sp_mmr_primitives::Error, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "MmrApi_generate_proof", + types::GenerateProof { + block_numbers, + best_known_block_number, + }, + [ + 180u8, 123u8, 115u8, 227u8, 101u8, 119u8, 103u8, 230u8, 66u8, 255u8, + 15u8, 197u8, 60u8, 180u8, 27u8, 47u8, 73u8, 121u8, 179u8, 219u8, 161u8, + 37u8, 57u8, 131u8, 104u8, 106u8, 206u8, 230u8, 168u8, 185u8, 206u8, + 32u8, + ], + ) + } + #[doc = " Verify MMR proof against on-chain MMR for a batch of leaves."] + #[doc = ""] + #[doc = " Note this function will use on-chain MMR root hash and check if the proof matches the hash."] + #[doc = " Note, the leaves should be sorted such that corresponding leaves and leaf indices have the"] + #[doc = " same position in both the `leaves` vector and the `leaf_indices` vector contained in the [Proof]"] + pub fn verify_proof( + &self, + leaves: ::std::vec::Vec, + proof: runtime_types::sp_mmr_primitives::Proof<::subxt::utils::H256>, + ) -> ::subxt::runtime_api::Payload< + types::VerifyProof, + ::core::result::Result<(), runtime_types::sp_mmr_primitives::Error>, + > { + ::subxt::runtime_api::Payload::new_static( + "MmrApi_verify_proof", + types::VerifyProof { leaves, proof }, + [ + 118u8, 13u8, 68u8, 159u8, 27u8, 144u8, 229u8, 72u8, 88u8, 106u8, 193u8, + 86u8, 228u8, 243u8, 28u8, 243u8, 99u8, 241u8, 153u8, 169u8, 121u8, + 139u8, 60u8, 244u8, 153u8, 110u8, 239u8, 149u8, 122u8, 164u8, 53u8, + 9u8, + ], + ) + } + #[doc = " Verify MMR proof against given root hash for a batch of leaves."] + #[doc = ""] + #[doc = " Note this function does not require any on-chain storage - the"] + #[doc = " proof is verified against given MMR root hash."] + #[doc = ""] + #[doc = " Note, the leaves should be sorted such that corresponding leaves and leaf indices have the"] + #[doc = " same position in both the `leaves` vector and the `leaf_indices` vector contained in the [Proof]"] + pub fn verify_proof_stateless( + &self, + root: ::subxt::utils::H256, + leaves: ::std::vec::Vec, + proof: runtime_types::sp_mmr_primitives::Proof<::subxt::utils::H256>, + ) -> ::subxt::runtime_api::Payload< + types::VerifyProofStateless, + ::core::result::Result<(), runtime_types::sp_mmr_primitives::Error>, + > { + ::subxt::runtime_api::Payload::new_static( + "MmrApi_verify_proof_stateless", + types::VerifyProofStateless { + root, + leaves, + proof, + }, + [ + 152u8, 237u8, 225u8, 199u8, 238u8, 151u8, 87u8, 236u8, 210u8, 38u8, + 168u8, 160u8, 166u8, 27u8, 186u8, 227u8, 160u8, 154u8, 120u8, 127u8, + 98u8, 247u8, 111u8, 99u8, 211u8, 236u8, 39u8, 221u8, 250u8, 110u8, + 232u8, 0u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MmrRoot {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MmrLeafCount {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct GenerateProof { + pub block_numbers: ::std::vec::Vec<::core::primitive::u32>, + pub best_known_block_number: ::core::option::Option<::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct VerifyProof { + pub leaves: + ::std::vec::Vec, + pub proof: runtime_types::sp_mmr_primitives::Proof<::subxt::utils::H256>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct VerifyProofStateless { + pub root: ::subxt::utils::H256, + pub leaves: + ::std::vec::Vec, + pub proof: runtime_types::sp_mmr_primitives::Proof<::subxt::utils::H256>, + } + } + } + pub mod grandpa_api { + use super::root_mod; + use super::runtime_types; + #[doc = " APIs for integrating the GRANDPA finality gadget into runtimes."] + #[doc = " This should be implemented on the runtime side."] + #[doc = ""] + #[doc = " This is primarily used for negotiating authority-set changes for the"] + #[doc = " gadget. GRANDPA uses a signaling model of changing authority sets:"] + #[doc = " changes should be signaled with a delay of N blocks, and then automatically"] + #[doc = " applied in the runtime after those N blocks have passed."] + #[doc = ""] + #[doc = " The consensus protocol will coordinate the handoff externally."] + pub struct GrandpaApi; + impl GrandpaApi { + #[doc = " Get the current GRANDPA authorities and weights. This should not change except"] + #[doc = " for when changes are scheduled and the corresponding delay has passed."] + #[doc = ""] + #[doc = " When called at block B, it will return the set of authorities that should be"] + #[doc = " used to finalize descendants of this block (B+1, B+2, ...). The block B itself"] + #[doc = " is finalized by the authorities from block B-1."] + pub fn grandpa_authorities( + &self, + ) -> ::subxt::runtime_api::Payload< + types::GrandpaAuthorities, + ::std::vec::Vec<( + runtime_types::sp_consensus_grandpa::app::Public, + ::core::primitive::u64, + )>, + > { + ::subxt::runtime_api::Payload::new_static( + "GrandpaApi_grandpa_authorities", + types::GrandpaAuthorities {}, + [ + 78u8, 213u8, 85u8, 178u8, 49u8, 70u8, 10u8, 221u8, 93u8, 91u8, 250u8, + 59u8, 80u8, 141u8, 62u8, 126u8, 55u8, 235u8, 163u8, 12u8, 21u8, 199u8, + 240u8, 209u8, 95u8, 63u8, 65u8, 73u8, 141u8, 42u8, 78u8, 154u8, + ], + ) + } + #[doc = " Submits an unsigned extrinsic to report an equivocation. The caller"] + #[doc = " must provide the equivocation proof and a key ownership proof"] + #[doc = " (should be obtained using `generate_key_ownership_proof`). The"] + #[doc = " extrinsic will be unsigned and should only be accepted for local"] + #[doc = " authorship (not to be broadcast to the network). This method returns"] + #[doc = " `None` when creation of the extrinsic fails, e.g. if equivocation"] + #[doc = " reporting is disabled for the given runtime (i.e. this method is"] + #[doc = " hardcoded to return `None`). Only useful in an offchain context."] + pub fn submit_report_equivocation_unsigned_extrinsic( + &self, + equivocation_proof: runtime_types::sp_consensus_grandpa::EquivocationProof< + ::subxt::utils::H256, + ::core::primitive::u32, + >, + key_owner_proof: runtime_types::sp_consensus_grandpa::OpaqueKeyOwnershipProof, + ) -> ::subxt::runtime_api::Payload< + types::SubmitReportEquivocationUnsignedExtrinsic, + ::core::option::Option<()>, + > { + ::subxt::runtime_api::Payload::new_static( + "GrandpaApi_submit_report_equivocation_unsigned_extrinsic", + types::SubmitReportEquivocationUnsignedExtrinsic { + equivocation_proof, + key_owner_proof, + }, + [ + 226u8, 83u8, 137u8, 173u8, 45u8, 138u8, 210u8, 202u8, 113u8, 196u8, + 110u8, 68u8, 31u8, 192u8, 127u8, 100u8, 125u8, 225u8, 30u8, 252u8, + 160u8, 109u8, 251u8, 96u8, 52u8, 214u8, 38u8, 91u8, 158u8, 71u8, 125u8, + 220u8, + ], + ) + } + #[doc = " Generates a proof of key ownership for the given authority in the"] + #[doc = " given set. An example usage of this module is coupled with the"] + #[doc = " session historical module to prove that a given authority key is"] + #[doc = " tied to a given staking identity during a specific session. Proofs"] + #[doc = " of key ownership are necessary for submitting equivocation reports."] + #[doc = " NOTE: even though the API takes a `set_id` as parameter the current"] + #[doc = " implementations ignore this parameter and instead rely on this"] + #[doc = " method being called at the correct block height, i.e. any point at"] + #[doc = " which the given set id is live on-chain. Future implementations will"] + #[doc = " instead use indexed data through an offchain worker, not requiring"] + #[doc = " older states to be available."] + pub fn generate_key_ownership_proof( + &self, + set_id: ::core::primitive::u64, + authority_id: runtime_types::sp_consensus_grandpa::app::Public, + ) -> ::subxt::runtime_api::Payload< + types::GenerateKeyOwnershipProof, + ::core::option::Option< + runtime_types::sp_consensus_grandpa::OpaqueKeyOwnershipProof, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "GrandpaApi_generate_key_ownership_proof", + types::GenerateKeyOwnershipProof { + set_id, + authority_id, + }, + [ + 149u8, 80u8, 146u8, 102u8, 63u8, 184u8, 111u8, 153u8, 143u8, 71u8, + 109u8, 162u8, 117u8, 45u8, 139u8, 245u8, 154u8, 252u8, 117u8, 224u8, + 10u8, 6u8, 143u8, 137u8, 58u8, 213u8, 215u8, 110u8, 180u8, 142u8, + 234u8, 182u8, + ], + ) + } + #[doc = " Get current GRANDPA authority set id."] + pub fn current_set_id( + &self, + ) -> ::subxt::runtime_api::Payload + { + ::subxt::runtime_api::Payload::new_static( + "GrandpaApi_current_set_id", + types::CurrentSetId {}, + [ + 39u8, 245u8, 166u8, 229u8, 239u8, 200u8, 179u8, 64u8, 193u8, 93u8, + 41u8, 40u8, 208u8, 231u8, 75u8, 197u8, 45u8, 119u8, 131u8, 245u8, 84u8, + 249u8, 60u8, 7u8, 180u8, 176u8, 119u8, 130u8, 247u8, 134u8, 211u8, + 240u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct GrandpaAuthorities {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SubmitReportEquivocationUnsignedExtrinsic { + pub equivocation_proof: runtime_types::sp_consensus_grandpa::EquivocationProof< + ::subxt::utils::H256, + ::core::primitive::u32, + >, + pub key_owner_proof: + runtime_types::sp_consensus_grandpa::OpaqueKeyOwnershipProof, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct GenerateKeyOwnershipProof { + pub set_id: ::core::primitive::u64, + pub authority_id: runtime_types::sp_consensus_grandpa::app::Public, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CurrentSetId {} + } + } + pub mod babe_api { + use super::root_mod; + use super::runtime_types; + #[doc = " API necessary for block authorship with BABE."] + pub struct BabeApi; + impl BabeApi { + #[doc = " Return the configuration for BABE."] + pub fn configuration( + &self, + ) -> ::subxt::runtime_api::Payload< + types::Configuration, + runtime_types::sp_consensus_babe::BabeConfiguration, + > { + ::subxt::runtime_api::Payload::new_static( + "BabeApi_configuration", + types::Configuration {}, + [ + 101u8, 27u8, 68u8, 108u8, 36u8, 12u8, 205u8, 58u8, 238u8, 195u8, 171u8, + 167u8, 248u8, 76u8, 92u8, 226u8, 241u8, 192u8, 151u8, 31u8, 6u8, 200u8, + 69u8, 180u8, 107u8, 134u8, 221u8, 99u8, 237u8, 223u8, 50u8, 175u8, + ], + ) + } + #[doc = " Returns the slot that started the current epoch."] + pub fn current_epoch_start( + &self, + ) -> ::subxt::runtime_api::Payload< + types::CurrentEpochStart, + runtime_types::sp_consensus_slots::Slot, + > { + ::subxt::runtime_api::Payload::new_static( + "BabeApi_current_epoch_start", + types::CurrentEpochStart {}, + [ + 67u8, 178u8, 67u8, 242u8, 228u8, 74u8, 93u8, 166u8, 160u8, 9u8, 109u8, + 174u8, 12u8, 82u8, 239u8, 200u8, 96u8, 54u8, 235u8, 184u8, 159u8, + 221u8, 72u8, 244u8, 83u8, 24u8, 239u8, 24u8, 152u8, 177u8, 211u8, + 205u8, + ], + ) + } + #[doc = " Returns information regarding the current epoch."] + pub fn current_epoch( + &self, + ) -> ::subxt::runtime_api::Payload< + types::CurrentEpoch, + runtime_types::sp_consensus_babe::Epoch, + > { + ::subxt::runtime_api::Payload::new_static( + "BabeApi_current_epoch", + types::CurrentEpoch {}, + [ + 166u8, 104u8, 201u8, 148u8, 149u8, 137u8, 223u8, 165u8, 82u8, 4u8, + 130u8, 58u8, 52u8, 193u8, 201u8, 80u8, 120u8, 212u8, 76u8, 221u8, 11u8, + 131u8, 115u8, 8u8, 9u8, 59u8, 191u8, 165u8, 148u8, 24u8, 194u8, 162u8, + ], + ) + } + #[doc = " Returns information regarding the next epoch (which was already"] + #[doc = " previously announced)."] + pub fn next_epoch( + &self, + ) -> ::subxt::runtime_api::Payload< + types::NextEpoch, + runtime_types::sp_consensus_babe::Epoch, + > { + ::subxt::runtime_api::Payload::new_static( + "BabeApi_next_epoch", + types::NextEpoch {}, + [ + 251u8, 29u8, 230u8, 254u8, 174u8, 38u8, 55u8, 30u8, 93u8, 42u8, 254u8, + 172u8, 183u8, 250u8, 104u8, 211u8, 79u8, 211u8, 55u8, 98u8, 253u8, + 73u8, 137u8, 185u8, 116u8, 94u8, 20u8, 232u8, 224u8, 136u8, 86u8, + 182u8, + ], + ) + } + #[doc = " Generates a proof of key ownership for the given authority in the"] + #[doc = " current epoch. An example usage of this module is coupled with the"] + #[doc = " session historical module to prove that a given authority key is"] + #[doc = " tied to a given staking identity during a specific session. Proofs"] + #[doc = " of key ownership are necessary for submitting equivocation reports."] + #[doc = " NOTE: even though the API takes a `slot` as parameter the current"] + #[doc = " implementations ignores this parameter and instead relies on this"] + #[doc = " method being called at the correct block height, i.e. any point at"] + #[doc = " which the epoch for the given slot is live on-chain. Future"] + #[doc = " implementations will instead use indexed data through an offchain"] + #[doc = " worker, not requiring older states to be available."] + pub fn generate_key_ownership_proof( + &self, + slot: runtime_types::sp_consensus_slots::Slot, + authority_id: runtime_types::sp_consensus_babe::app::Public, + ) -> ::subxt::runtime_api::Payload< + types::GenerateKeyOwnershipProof, + ::core::option::Option< + runtime_types::sp_consensus_babe::OpaqueKeyOwnershipProof, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "BabeApi_generate_key_ownership_proof", + types::GenerateKeyOwnershipProof { slot, authority_id }, + [ + 16u8, 78u8, 1u8, 172u8, 172u8, 253u8, 240u8, 175u8, 90u8, 130u8, 90u8, + 69u8, 249u8, 12u8, 192u8, 134u8, 131u8, 248u8, 186u8, 166u8, 240u8, + 182u8, 177u8, 0u8, 107u8, 151u8, 200u8, 41u8, 157u8, 150u8, 162u8, + 244u8, + ], + ) + } + #[doc = " Submits an unsigned extrinsic to report an equivocation. The caller"] + #[doc = " must provide the equivocation proof and a key ownership proof"] + #[doc = " (should be obtained using `generate_key_ownership_proof`). The"] + #[doc = " extrinsic will be unsigned and should only be accepted for local"] + #[doc = " authorship (not to be broadcast to the network). This method returns"] + #[doc = " `None` when creation of the extrinsic fails, e.g. if equivocation"] + #[doc = " reporting is disabled for the given runtime (i.e. this method is"] + #[doc = " hardcoded to return `None`). Only useful in an offchain context."] + pub fn submit_report_equivocation_unsigned_extrinsic( + &self, + equivocation_proof: runtime_types::sp_consensus_slots::EquivocationProof< + runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + runtime_types::sp_consensus_babe::app::Public, + >, + key_owner_proof: runtime_types::sp_consensus_babe::OpaqueKeyOwnershipProof, + ) -> ::subxt::runtime_api::Payload< + types::SubmitReportEquivocationUnsignedExtrinsic, + ::core::option::Option<()>, + > { + ::subxt::runtime_api::Payload::new_static( + "BabeApi_submit_report_equivocation_unsigned_extrinsic", + types::SubmitReportEquivocationUnsignedExtrinsic { + equivocation_proof, + key_owner_proof, + }, + [ + 255u8, 136u8, 248u8, 244u8, 155u8, 51u8, 20u8, 157u8, 93u8, 19u8, 24u8, + 170u8, 72u8, 199u8, 222u8, 111u8, 164u8, 126u8, 159u8, 209u8, 198u8, + 37u8, 113u8, 12u8, 36u8, 117u8, 131u8, 7u8, 130u8, 85u8, 177u8, 109u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Configuration {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CurrentEpochStart {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CurrentEpoch {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct NextEpoch {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct GenerateKeyOwnershipProof { + pub slot: runtime_types::sp_consensus_slots::Slot, + pub authority_id: runtime_types::sp_consensus_babe::app::Public, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SubmitReportEquivocationUnsignedExtrinsic { + pub equivocation_proof: runtime_types::sp_consensus_slots::EquivocationProof< + runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + runtime_types::sp_consensus_babe::app::Public, + >, + pub key_owner_proof: runtime_types::sp_consensus_babe::OpaqueKeyOwnershipProof, + } + } + } + pub mod authority_discovery_api { + use super::root_mod; + use super::runtime_types; + #[doc = " The authority discovery api."] + #[doc = ""] + #[doc = " This api is used by the `client/authority-discovery` module to retrieve identifiers"] + #[doc = " of the current and next authority set."] + pub struct AuthorityDiscoveryApi; + impl AuthorityDiscoveryApi { + #[doc = " Retrieve authority identifiers of the current and next authority set."] + pub fn authorities( + &self, + ) -> ::subxt::runtime_api::Payload< + types::Authorities, + ::std::vec::Vec, + > { + ::subxt::runtime_api::Payload::new_static( + "AuthorityDiscoveryApi_authorities", + types::Authorities {}, + [ + 104u8, 50u8, 187u8, 116u8, 97u8, 112u8, 203u8, 212u8, 27u8, 108u8, + 253u8, 8u8, 103u8, 104u8, 63u8, 176u8, 178u8, 179u8, 154u8, 104u8, + 167u8, 241u8, 76u8, 136u8, 102u8, 130u8, 88u8, 115u8, 104u8, 64u8, + 224u8, 98u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Authorities {} + } + } + pub mod session_keys { + use super::root_mod; + use super::runtime_types; + #[doc = " Session keys runtime api."] + pub struct SessionKeys; + impl SessionKeys { + #[doc = " Generate a set of session keys with optionally using the given seed."] + #[doc = " The keys should be stored within the keystore exposed via runtime"] + #[doc = " externalities."] + #[doc = ""] + #[doc = " The seed needs to be a valid `utf8` string."] + #[doc = ""] + #[doc = " Returns the concatenated SCALE encoded public keys."] + pub fn generate_session_keys( + &self, + seed: ::core::option::Option<::std::vec::Vec<::core::primitive::u8>>, + ) -> ::subxt::runtime_api::Payload< + types::GenerateSessionKeys, + ::std::vec::Vec<::core::primitive::u8>, + > { + ::subxt::runtime_api::Payload::new_static( + "SessionKeys_generate_session_keys", + types::GenerateSessionKeys { seed }, + [ + 238u8, 35u8, 56u8, 56u8, 5u8, 183u8, 237u8, 233u8, 220u8, 77u8, 245u8, + 218u8, 120u8, 21u8, 3u8, 95u8, 106u8, 140u8, 212u8, 37u8, 14u8, 180u8, + 24u8, 11u8, 137u8, 193u8, 111u8, 91u8, 235u8, 127u8, 202u8, 230u8, + ], + ) + } + #[doc = " Decode the given public session keys."] + #[doc = ""] + #[doc = " Returns the list of public raw public keys + key type."] + pub fn decode_session_keys( + &self, + encoded: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::runtime_api::Payload< + types::DecodeSessionKeys, + ::core::option::Option< + ::std::vec::Vec<( + ::std::vec::Vec<::core::primitive::u8>, + runtime_types::sp_core::crypto::KeyTypeId, + )>, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "SessionKeys_decode_session_keys", + types::DecodeSessionKeys { encoded }, + [ + 134u8, 106u8, 224u8, 190u8, 133u8, 212u8, 253u8, 184u8, 222u8, 76u8, + 44u8, 75u8, 168u8, 18u8, 3u8, 169u8, 32u8, 8u8, 46u8, 5u8, 155u8, 45u8, + 149u8, 144u8, 41u8, 174u8, 130u8, 133u8, 22u8, 150u8, 89u8, 196u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct GenerateSessionKeys { + pub seed: ::core::option::Option<::std::vec::Vec<::core::primitive::u8>>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DecodeSessionKeys { + pub encoded: ::std::vec::Vec<::core::primitive::u8>, + } + } + } + pub mod account_nonce_api { + use super::root_mod; + use super::runtime_types; + #[doc = " The API to query account nonce (aka transaction index)."] + pub struct AccountNonceApi; + impl AccountNonceApi { + #[doc = " Get current account nonce of given `AccountId`."] + pub fn account_nonce( + &self, + account: ::subxt::utils::AccountId32, + ) -> ::subxt::runtime_api::Payload + { + ::subxt::runtime_api::Payload::new_static( + "AccountNonceApi_account_nonce", + types::AccountNonce { account }, + [ + 115u8, 50u8, 18u8, 201u8, 220u8, 171u8, 244u8, 16u8, 58u8, 183u8, + 173u8, 196u8, 253u8, 239u8, 241u8, 100u8, 246u8, 179u8, 50u8, 32u8, + 22u8, 245u8, 109u8, 191u8, 232u8, 76u8, 152u8, 87u8, 156u8, 187u8, + 175u8, 202u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AccountNonce { + pub account: ::subxt::utils::AccountId32, + } + } + } + pub mod transaction_payment_api { + use super::root_mod; + use super::runtime_types; + pub struct TransactionPaymentApi; + impl TransactionPaymentApi { + pub fn query_info( + &self, + uxt : runtime_types :: sp_runtime :: generic :: unchecked_extrinsic :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: polkadot_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: polkadot_runtime_common :: claims :: PrevalidateAttests ,) >, + len: ::core::primitive::u32, + ) -> ::subxt::runtime_api::Payload< + types::QueryInfo, + runtime_types::pallet_transaction_payment::types::RuntimeDispatchInfo< + ::core::primitive::u128, + runtime_types::sp_weights::weight_v2::Weight, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "TransactionPaymentApi_query_info", + types::QueryInfo { uxt, len }, + [ + 157u8, 139u8, 132u8, 17u8, 44u8, 153u8, 215u8, 139u8, 196u8, 107u8, + 225u8, 39u8, 78u8, 134u8, 147u8, 168u8, 134u8, 89u8, 51u8, 144u8, + 101u8, 117u8, 35u8, 131u8, 108u8, 17u8, 74u8, 1u8, 167u8, 7u8, 165u8, + 98u8, + ], + ) + } + pub fn query_fee_details( + &self, + uxt : runtime_types :: sp_runtime :: generic :: unchecked_extrinsic :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: polkadot_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: polkadot_runtime_common :: claims :: PrevalidateAttests ,) >, + len: ::core::primitive::u32, + ) -> ::subxt::runtime_api::Payload< + types::QueryFeeDetails, + runtime_types::pallet_transaction_payment::types::FeeDetails< + ::core::primitive::u128, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "TransactionPaymentApi_query_fee_details", + types::QueryFeeDetails { uxt, len }, + [ + 113u8, 100u8, 16u8, 128u8, 108u8, 95u8, 91u8, 255u8, 46u8, 255u8, 52u8, + 225u8, 92u8, 186u8, 175u8, 126u8, 96u8, 25u8, 206u8, 207u8, 16u8, 94u8, + 204u8, 138u8, 227u8, 38u8, 125u8, 14u8, 38u8, 58u8, 84u8, 71u8, + ], + ) + } + pub fn query_weight_to_fee( + &self, + weight: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::runtime_api::Payload + { + ::subxt::runtime_api::Payload::new_static( + "TransactionPaymentApi_query_weight_to_fee", + types::QueryWeightToFee { weight }, + [ + 179u8, 108u8, 155u8, 39u8, 134u8, 220u8, 72u8, 45u8, 230u8, 232u8, + 150u8, 146u8, 61u8, 198u8, 145u8, 250u8, 19u8, 157u8, 204u8, 217u8, + 111u8, 171u8, 197u8, 21u8, 75u8, 6u8, 16u8, 26u8, 244u8, 101u8, 134u8, + 95u8, + ], + ) + } + pub fn query_length_to_fee( + &self, + length: ::core::primitive::u32, + ) -> ::subxt::runtime_api::Payload + { + ::subxt::runtime_api::Payload::new_static( + "TransactionPaymentApi_query_length_to_fee", + types::QueryLengthToFee { length }, + [ + 228u8, 141u8, 164u8, 186u8, 169u8, 249u8, 75u8, 2u8, 160u8, 73u8, 73u8, + 214u8, 141u8, 76u8, 180u8, 222u8, 230u8, 161u8, 131u8, 88u8, 25u8, + 192u8, 77u8, 124u8, 158u8, 113u8, 72u8, 147u8, 13u8, 11u8, 42u8, 30u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct QueryInfo { pub uxt : runtime_types :: sp_runtime :: generic :: unchecked_extrinsic :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: polkadot_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: polkadot_runtime_common :: claims :: PrevalidateAttests ,) > , pub len : :: core :: primitive :: u32 , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct QueryFeeDetails { pub uxt : runtime_types :: sp_runtime :: generic :: unchecked_extrinsic :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: polkadot_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: polkadot_runtime_common :: claims :: PrevalidateAttests ,) > , pub len : :: core :: primitive :: u32 , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct QueryWeightToFee { + pub weight: runtime_types::sp_weights::weight_v2::Weight, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct QueryLengthToFee { + pub length: ::core::primitive::u32, + } + } + } + pub mod transaction_payment_call_api { + use super::root_mod; + use super::runtime_types; + pub struct TransactionPaymentCallApi; + impl TransactionPaymentCallApi { + #[doc = " Query information of a dispatch class, weight, and fee of a given encoded `Call`."] + pub fn query_call_info( + &self, + call: runtime_types::polkadot_runtime::RuntimeCall, + len: ::core::primitive::u32, + ) -> ::subxt::runtime_api::Payload< + types::QueryCallInfo, + runtime_types::pallet_transaction_payment::types::RuntimeDispatchInfo< + ::core::primitive::u128, + runtime_types::sp_weights::weight_v2::Weight, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "TransactionPaymentCallApi_query_call_info", + types::QueryCallInfo { call, len }, + [ + 151u8, 40u8, 199u8, 73u8, 193u8, 248u8, 30u8, 24u8, 71u8, 196u8, 235u8, + 10u8, 211u8, 120u8, 228u8, 29u8, 101u8, 175u8, 200u8, 196u8, 70u8, + 44u8, 112u8, 209u8, 175u8, 246u8, 148u8, 118u8, 84u8, 127u8, 185u8, + 163u8, + ], + ) + } + #[doc = " Query fee details of a given encoded `Call`."] + pub fn query_call_fee_details( + &self, + call: runtime_types::polkadot_runtime::RuntimeCall, + len: ::core::primitive::u32, + ) -> ::subxt::runtime_api::Payload< + types::QueryCallFeeDetails, + runtime_types::pallet_transaction_payment::types::FeeDetails< + ::core::primitive::u128, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "TransactionPaymentCallApi_query_call_fee_details", + types::QueryCallFeeDetails { call, len }, + [ + 56u8, 220u8, 173u8, 0u8, 48u8, 27u8, 228u8, 70u8, 139u8, 236u8, 142u8, + 142u8, 192u8, 147u8, 216u8, 185u8, 152u8, 219u8, 185u8, 189u8, 166u8, + 110u8, 224u8, 32u8, 94u8, 53u8, 248u8, 216u8, 90u8, 152u8, 63u8, 148u8, + ], + ) + } + #[doc = " Query the output of the current `WeightToFee` given some input."] + pub fn query_weight_to_fee( + &self, + weight: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::runtime_api::Payload + { + ::subxt::runtime_api::Payload::new_static( + "TransactionPaymentCallApi_query_weight_to_fee", + types::QueryWeightToFee { weight }, + [ + 235u8, 177u8, 255u8, 102u8, 0u8, 237u8, 63u8, 37u8, 144u8, 142u8, 86u8, + 43u8, 82u8, 41u8, 25u8, 149u8, 75u8, 238u8, 118u8, 216u8, 84u8, 241u8, + 54u8, 157u8, 81u8, 246u8, 140u8, 240u8, 210u8, 208u8, 235u8, 172u8, + ], + ) + } + #[doc = " Query the output of the current `LengthToFee` given some input."] + pub fn query_length_to_fee( + &self, + length: ::core::primitive::u32, + ) -> ::subxt::runtime_api::Payload + { + ::subxt::runtime_api::Payload::new_static( + "TransactionPaymentCallApi_query_length_to_fee", + types::QueryLengthToFee { length }, + [ + 188u8, 80u8, 192u8, 251u8, 47u8, 200u8, 60u8, 10u8, 214u8, 47u8, 137u8, + 111u8, 226u8, 163u8, 60u8, 177u8, 190u8, 210u8, 57u8, 89u8, 34u8, + 154u8, 190u8, 244u8, 132u8, 129u8, 212u8, 121u8, 43u8, 190u8, 71u8, + 237u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct QueryCallInfo { + pub call: runtime_types::polkadot_runtime::RuntimeCall, + pub len: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct QueryCallFeeDetails { + pub call: runtime_types::polkadot_runtime::RuntimeCall, + pub len: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct QueryWeightToFee { + pub weight: runtime_types::sp_weights::weight_v2::Weight, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct QueryLengthToFee { + pub length: ::core::primitive::u32, + } + } + } } pub struct ConstantsApi; impl ConstantsApi { @@ -1283,6 +4366,7 @@ pub mod api { #[doc = "Error for the System pallet"] pub type Error = runtime_types::frame_system::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::frame_system::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -1302,6 +4386,10 @@ pub mod api { pub struct Remark { pub remark: ::std::vec::Vec<::core::primitive::u8>, } + impl ::subxt::blocks::StaticExtrinsic for Remark { + const PALLET: &'static str = "System"; + const CALL: &'static str = "remark"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -1316,6 +4404,10 @@ pub mod api { pub struct SetHeapPages { pub pages: ::core::primitive::u64, } + impl ::subxt::blocks::StaticExtrinsic for SetHeapPages { + const PALLET: &'static str = "System"; + const CALL: &'static str = "set_heap_pages"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -1329,6 +4421,10 @@ pub mod api { pub struct SetCode { pub code: ::std::vec::Vec<::core::primitive::u8>, } + impl ::subxt::blocks::StaticExtrinsic for SetCode { + const PALLET: &'static str = "System"; + const CALL: &'static str = "set_code"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -1342,6 +4438,10 @@ pub mod api { pub struct SetCodeWithoutChecks { pub code: ::std::vec::Vec<::core::primitive::u8>, } + impl ::subxt::blocks::StaticExtrinsic for SetCodeWithoutChecks { + const PALLET: &'static str = "System"; + const CALL: &'static str = "set_code_without_checks"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -1358,6 +4458,10 @@ pub mod api { ::std::vec::Vec<::core::primitive::u8>, )>, } + impl ::subxt::blocks::StaticExtrinsic for SetStorage { + const PALLET: &'static str = "System"; + const CALL: &'static str = "set_storage"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -1371,6 +4475,10 @@ pub mod api { pub struct KillStorage { pub keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, } + impl ::subxt::blocks::StaticExtrinsic for KillStorage { + const PALLET: &'static str = "System"; + const CALL: &'static str = "kill_storage"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -1385,6 +4493,10 @@ pub mod api { pub prefix: ::std::vec::Vec<::core::primitive::u8>, pub subkeys: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for KillPrefix { + const PALLET: &'static str = "System"; + const CALL: &'static str = "kill_prefix"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -1398,6 +4510,10 @@ pub mod api { pub struct RemarkWithEvent { pub remark: ::std::vec::Vec<::core::primitive::u8>, } + impl ::subxt::blocks::StaticExtrinsic for RemarkWithEvent { + const PALLET: &'static str = "System"; + const CALL: &'static str = "remark_with_event"; + } } pub struct TransactionApi; impl TransactionApi { @@ -2259,6 +5375,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_scheduler::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_scheduler::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -2282,6 +5399,10 @@ pub mod api { pub priority: ::core::primitive::u8, pub call: ::std::boxed::Box, } + impl ::subxt::blocks::StaticExtrinsic for Schedule { + const PALLET: &'static str = "Scheduler"; + const CALL: &'static str = "schedule"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -2296,6 +5417,10 @@ pub mod api { pub when: ::core::primitive::u32, pub index: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for Cancel { + const PALLET: &'static str = "Scheduler"; + const CALL: &'static str = "cancel"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -2314,6 +5439,10 @@ pub mod api { pub priority: ::core::primitive::u8, pub call: ::std::boxed::Box, } + impl ::subxt::blocks::StaticExtrinsic for ScheduleNamed { + const PALLET: &'static str = "Scheduler"; + const CALL: &'static str = "schedule_named"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -2327,6 +5456,10 @@ pub mod api { pub struct CancelNamed { pub id: [::core::primitive::u8; 32usize], } + impl ::subxt::blocks::StaticExtrinsic for CancelNamed { + const PALLET: &'static str = "Scheduler"; + const CALL: &'static str = "cancel_named"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -2344,6 +5477,10 @@ pub mod api { pub priority: ::core::primitive::u8, pub call: ::std::boxed::Box, } + impl ::subxt::blocks::StaticExtrinsic for ScheduleAfter { + const PALLET: &'static str = "Scheduler"; + const CALL: &'static str = "schedule_after"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -2362,6 +5499,10 @@ pub mod api { pub priority: ::core::primitive::u8, pub call: ::std::boxed::Box, } + impl ::subxt::blocks::StaticExtrinsic for ScheduleNamedAfter { + const PALLET: &'static str = "Scheduler"; + const CALL: &'static str = "schedule_named_after"; + } } pub struct TransactionApi; impl TransactionApi { @@ -2834,6 +5975,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_preimage::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_preimage::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -2853,6 +5995,10 @@ pub mod api { pub struct NotePreimage { pub bytes: ::std::vec::Vec<::core::primitive::u8>, } + impl ::subxt::blocks::StaticExtrinsic for NotePreimage { + const PALLET: &'static str = "Preimage"; + const CALL: &'static str = "note_preimage"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -2866,6 +6012,10 @@ pub mod api { pub struct UnnotePreimage { pub hash: ::subxt::utils::H256, } + impl ::subxt::blocks::StaticExtrinsic for UnnotePreimage { + const PALLET: &'static str = "Preimage"; + const CALL: &'static str = "unnote_preimage"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -2879,6 +6029,10 @@ pub mod api { pub struct RequestPreimage { pub hash: ::subxt::utils::H256, } + impl ::subxt::blocks::StaticExtrinsic for RequestPreimage { + const PALLET: &'static str = "Preimage"; + const CALL: &'static str = "request_preimage"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -2892,6 +6046,10 @@ pub mod api { pub struct UnrequestPreimage { pub hash: ::subxt::utils::H256, } + impl ::subxt::blocks::StaticExtrinsic for UnrequestPreimage { + const PALLET: &'static str = "Preimage"; + const CALL: &'static str = "unrequest_preimage"; + } } pub struct TransactionApi; impl TransactionApi { @@ -3146,6 +6304,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_babe::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_babe::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -3174,6 +6333,10 @@ pub mod api { >, pub key_owner_proof: runtime_types::sp_session::MembershipProof, } + impl ::subxt::blocks::StaticExtrinsic for ReportEquivocation { + const PALLET: &'static str = "Babe"; + const CALL: &'static str = "report_equivocation"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -3196,6 +6359,10 @@ pub mod api { >, pub key_owner_proof: runtime_types::sp_session::MembershipProof, } + impl ::subxt::blocks::StaticExtrinsic for ReportEquivocationUnsigned { + const PALLET: &'static str = "Babe"; + const CALL: &'static str = "report_equivocation_unsigned"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -3209,6 +6376,10 @@ pub mod api { pub struct PlanConfigChange { pub config: runtime_types::sp_consensus_babe::digests::NextConfigDescriptor, } + impl ::subxt::blocks::StaticExtrinsic for PlanConfigChange { + const PALLET: &'static str = "Babe"; + const CALL: &'static str = "plan_config_change"; + } } pub struct TransactionApi; impl TransactionApi { @@ -3807,6 +6978,7 @@ pub mod api { use super::root_mod; use super::runtime_types; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_timestamp::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -3827,6 +6999,10 @@ pub mod api { #[codec(compact)] pub now: ::core::primitive::u64, } + impl ::subxt::blocks::StaticExtrinsic for Set { + const PALLET: &'static str = "Timestamp"; + const CALL: &'static str = "set"; + } } pub struct TransactionApi; impl TransactionApi { @@ -3938,6 +7114,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_indices::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_indices::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -3958,6 +7135,10 @@ pub mod api { pub struct Claim { pub index: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for Claim { + const PALLET: &'static str = "Indices"; + const CALL: &'static str = "claim"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -3972,6 +7153,10 @@ pub mod api { pub new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, pub index: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for Transfer { + const PALLET: &'static str = "Indices"; + const CALL: &'static str = "transfer"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -3986,6 +7171,10 @@ pub mod api { pub struct Free { pub index: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for Free { + const PALLET: &'static str = "Indices"; + const CALL: &'static str = "free"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -4001,6 +7190,10 @@ pub mod api { pub index: ::core::primitive::u32, pub freeze: ::core::primitive::bool, } + impl ::subxt::blocks::StaticExtrinsic for ForceTransfer { + const PALLET: &'static str = "Indices"; + const CALL: &'static str = "force_transfer"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -4015,6 +7208,10 @@ pub mod api { pub struct Freeze { pub index: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for Freeze { + const PALLET: &'static str = "Indices"; + const CALL: &'static str = "freeze"; + } } pub struct TransactionApi; impl TransactionApi { @@ -4309,6 +7506,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_balances::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_balances::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -4330,6 +7528,10 @@ pub mod api { #[codec(compact)] pub value: ::core::primitive::u128, } + impl ::subxt::blocks::StaticExtrinsic for TransferAllowDeath { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "transfer_allow_death"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -4347,6 +7549,10 @@ pub mod api { #[codec(compact)] pub old_reserved: ::core::primitive::u128, } + impl ::subxt::blocks::StaticExtrinsic for SetBalanceDeprecated { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "set_balance_deprecated"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -4363,6 +7569,10 @@ pub mod api { #[codec(compact)] pub value: ::core::primitive::u128, } + impl ::subxt::blocks::StaticExtrinsic for ForceTransfer { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "force_transfer"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -4378,6 +7588,10 @@ pub mod api { #[codec(compact)] pub value: ::core::primitive::u128, } + impl ::subxt::blocks::StaticExtrinsic for TransferKeepAlive { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "transfer_keep_alive"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -4392,6 +7606,10 @@ pub mod api { pub dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, pub keep_alive: ::core::primitive::bool, } + impl ::subxt::blocks::StaticExtrinsic for TransferAll { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "transfer_all"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -4406,6 +7624,10 @@ pub mod api { pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, pub amount: ::core::primitive::u128, } + impl ::subxt::blocks::StaticExtrinsic for ForceUnreserve { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "force_unreserve"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -4419,6 +7641,10 @@ pub mod api { pub struct UpgradeAccounts { pub who: ::std::vec::Vec<::subxt::utils::AccountId32>, } + impl ::subxt::blocks::StaticExtrinsic for UpgradeAccounts { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "upgrade_accounts"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -4434,6 +7660,10 @@ pub mod api { #[codec(compact)] pub value: ::core::primitive::u128, } + impl ::subxt::blocks::StaticExtrinsic for Transfer { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "transfer"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -4449,6 +7679,10 @@ pub mod api { #[codec(compact)] pub new_free: ::core::primitive::u128, } + impl ::subxt::blocks::StaticExtrinsic for ForceSetBalance { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "force_set_balance"; + } } pub struct TransactionApi; impl TransactionApi { @@ -5632,6 +8866,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_staking::pallet::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_staking::pallet::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -5656,6 +8891,10 @@ pub mod api { ::subxt::utils::AccountId32, >, } + impl ::subxt::blocks::StaticExtrinsic for Bond { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "bond"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -5670,6 +8909,10 @@ pub mod api { #[codec(compact)] pub max_additional: ::core::primitive::u128, } + impl ::subxt::blocks::StaticExtrinsic for BondExtra { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "bond_extra"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -5684,6 +8927,10 @@ pub mod api { #[codec(compact)] pub value: ::core::primitive::u128, } + impl ::subxt::blocks::StaticExtrinsic for Unbond { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "unbond"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -5698,6 +8945,10 @@ pub mod api { pub struct WithdrawUnbonded { pub num_slashing_spans: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for WithdrawUnbonded { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "withdraw_unbonded"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -5711,6 +8962,10 @@ pub mod api { pub struct Validate { pub prefs: runtime_types::pallet_staking::ValidatorPrefs, } + impl ::subxt::blocks::StaticExtrinsic for Validate { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "validate"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -5726,6 +8981,10 @@ pub mod api { ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, >, } + impl ::subxt::blocks::StaticExtrinsic for Nominate { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "nominate"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -5737,6 +8996,10 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Chill; + impl ::subxt::blocks::StaticExtrinsic for Chill { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "chill"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -5752,6 +9015,10 @@ pub mod api { ::subxt::utils::AccountId32, >, } + impl ::subxt::blocks::StaticExtrinsic for SetPayee { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "set_payee"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -5765,6 +9032,10 @@ pub mod api { pub struct SetController { pub controller: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, } + impl ::subxt::blocks::StaticExtrinsic for SetController { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "set_controller"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -5779,6 +9050,10 @@ pub mod api { #[codec(compact)] pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetValidatorCount { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "set_validator_count"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -5793,6 +9068,10 @@ pub mod api { #[codec(compact)] pub additional: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for IncreaseValidatorCount { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "increase_validator_count"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -5806,6 +9085,10 @@ pub mod api { pub struct ScaleValidatorCount { pub factor: runtime_types::sp_arithmetic::per_things::Percent, } + impl ::subxt::blocks::StaticExtrinsic for ScaleValidatorCount { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "scale_validator_count"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -5817,6 +9100,10 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceNoEras; + impl ::subxt::blocks::StaticExtrinsic for ForceNoEras { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "force_no_eras"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -5828,6 +9115,10 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceNewEra; + impl ::subxt::blocks::StaticExtrinsic for ForceNewEra { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "force_new_era"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -5841,6 +9132,10 @@ pub mod api { pub struct SetInvulnerables { pub invulnerables: ::std::vec::Vec<::subxt::utils::AccountId32>, } + impl ::subxt::blocks::StaticExtrinsic for SetInvulnerables { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "set_invulnerables"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -5855,6 +9150,10 @@ pub mod api { pub stash: ::subxt::utils::AccountId32, pub num_slashing_spans: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for ForceUnstake { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "force_unstake"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -5866,6 +9165,10 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceNewEraAlways; + impl ::subxt::blocks::StaticExtrinsic for ForceNewEraAlways { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "force_new_era_always"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -5880,6 +9183,10 @@ pub mod api { pub era: ::core::primitive::u32, pub slash_indices: ::std::vec::Vec<::core::primitive::u32>, } + impl ::subxt::blocks::StaticExtrinsic for CancelDeferredSlash { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "cancel_deferred_slash"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -5894,6 +9201,10 @@ pub mod api { pub validator_stash: ::subxt::utils::AccountId32, pub era: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for PayoutStakers { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "payout_stakers"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -5908,6 +9219,10 @@ pub mod api { #[codec(compact)] pub value: ::core::primitive::u128, } + impl ::subxt::blocks::StaticExtrinsic for Rebond { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "rebond"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -5922,6 +9237,10 @@ pub mod api { pub stash: ::subxt::utils::AccountId32, pub num_slashing_spans: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for ReapStash { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "reap_stash"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -5937,6 +9256,10 @@ pub mod api { ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, >, } + impl ::subxt::blocks::StaticExtrinsic for Kick { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "kick"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -5969,6 +9292,10 @@ pub mod api { runtime_types::sp_arithmetic::per_things::Perbill, >, } + impl ::subxt::blocks::StaticExtrinsic for SetStakingConfigs { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "set_staking_configs"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -5982,6 +9309,10 @@ pub mod api { pub struct ChillOther { pub controller: ::subxt::utils::AccountId32, } + impl ::subxt::blocks::StaticExtrinsic for ChillOther { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "chill_other"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -5995,6 +9326,10 @@ pub mod api { pub struct ForceApplyMinCommission { pub validator_stash: ::subxt::utils::AccountId32, } + impl ::subxt::blocks::StaticExtrinsic for ForceApplyMinCommission { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "force_apply_min_commission"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -6008,6 +9343,10 @@ pub mod api { pub struct SetMinCommission { pub new: runtime_types::sp_arithmetic::per_things::Perbill, } + impl ::subxt::blocks::StaticExtrinsic for SetMinCommission { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "set_min_commission"; + } } pub struct TransactionApi; impl TransactionApi { @@ -8760,6 +12099,7 @@ pub mod api { #[doc = "Error for the session pallet."] pub type Error = runtime_types::pallet_session::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_session::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -8780,6 +12120,10 @@ pub mod api { pub keys: runtime_types::polkadot_runtime::SessionKeys, pub proof: ::std::vec::Vec<::core::primitive::u8>, } + impl ::subxt::blocks::StaticExtrinsic for SetKeys { + const PALLET: &'static str = "Session"; + const CALL: &'static str = "set_keys"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -8791,6 +12135,10 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct PurgeKeys; + impl ::subxt::blocks::StaticExtrinsic for PurgeKeys { + const PALLET: &'static str = "Session"; + const CALL: &'static str = "purge_keys"; + } } pub struct TransactionApi; impl TransactionApi { @@ -9095,6 +12443,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_grandpa::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_grandpa::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -9120,6 +12469,10 @@ pub mod api { >, pub key_owner_proof: runtime_types::sp_session::MembershipProof, } + impl ::subxt::blocks::StaticExtrinsic for ReportEquivocation { + const PALLET: &'static str = "Grandpa"; + const CALL: &'static str = "report_equivocation"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -9139,6 +12492,10 @@ pub mod api { >, pub key_owner_proof: runtime_types::sp_session::MembershipProof, } + impl ::subxt::blocks::StaticExtrinsic for ReportEquivocationUnsigned { + const PALLET: &'static str = "Grandpa"; + const CALL: &'static str = "report_equivocation_unsigned"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -9153,6 +12510,10 @@ pub mod api { pub delay: ::core::primitive::u32, pub best_finalized_block_number: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for NoteStalled { + const PALLET: &'static str = "Grandpa"; + const CALL: &'static str = "note_stalled"; + } } pub struct TransactionApi; impl TransactionApi { @@ -9534,6 +12895,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_im_online::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_im_online::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -9555,6 +12917,10 @@ pub mod api { runtime_types::pallet_im_online::Heartbeat<::core::primitive::u32>, pub signature: runtime_types::pallet_im_online::sr25519::app_sr25519::Signature, } + impl ::subxt::blocks::StaticExtrinsic for Heartbeat { + const PALLET: &'static str = "ImOnline"; + const CALL: &'static str = "heartbeat"; + } } pub struct TransactionApi; impl TransactionApi { @@ -9851,6 +13217,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_democracy::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_democracy::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -9874,6 +13241,10 @@ pub mod api { #[codec(compact)] pub value: ::core::primitive::u128, } + impl ::subxt::blocks::StaticExtrinsic for Propose { + const PALLET: &'static str = "Democracy"; + const CALL: &'static str = "propose"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -9888,6 +13259,10 @@ pub mod api { #[codec(compact)] pub proposal: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for Second { + const PALLET: &'static str = "Democracy"; + const CALL: &'static str = "second"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -9904,6 +13279,10 @@ pub mod api { pub vote: runtime_types::pallet_democracy::vote::AccountVote<::core::primitive::u128>, } + impl ::subxt::blocks::StaticExtrinsic for Vote { + const PALLET: &'static str = "Democracy"; + const CALL: &'static str = "vote"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -9918,6 +13297,10 @@ pub mod api { pub struct EmergencyCancel { pub ref_index: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for EmergencyCancel { + const PALLET: &'static str = "Democracy"; + const CALL: &'static str = "emergency_cancel"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -9933,6 +13316,10 @@ pub mod api { runtime_types::polkadot_runtime::RuntimeCall, >, } + impl ::subxt::blocks::StaticExtrinsic for ExternalPropose { + const PALLET: &'static str = "Democracy"; + const CALL: &'static str = "external_propose"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -9948,6 +13335,10 @@ pub mod api { runtime_types::polkadot_runtime::RuntimeCall, >, } + impl ::subxt::blocks::StaticExtrinsic for ExternalProposeMajority { + const PALLET: &'static str = "Democracy"; + const CALL: &'static str = "external_propose_majority"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -9963,6 +13354,10 @@ pub mod api { runtime_types::polkadot_runtime::RuntimeCall, >, } + impl ::subxt::blocks::StaticExtrinsic for ExternalProposeDefault { + const PALLET: &'static str = "Democracy"; + const CALL: &'static str = "external_propose_default"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -9978,6 +13373,10 @@ pub mod api { pub voting_period: ::core::primitive::u32, pub delay: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for FastTrack { + const PALLET: &'static str = "Democracy"; + const CALL: &'static str = "fast_track"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -9991,6 +13390,10 @@ pub mod api { pub struct VetoExternal { pub proposal_hash: ::subxt::utils::H256, } + impl ::subxt::blocks::StaticExtrinsic for VetoExternal { + const PALLET: &'static str = "Democracy"; + const CALL: &'static str = "veto_external"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -10005,6 +13408,10 @@ pub mod api { #[codec(compact)] pub ref_index: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for CancelReferendum { + const PALLET: &'static str = "Democracy"; + const CALL: &'static str = "cancel_referendum"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -10020,6 +13427,10 @@ pub mod api { pub conviction: runtime_types::pallet_democracy::conviction::Conviction, pub balance: ::core::primitive::u128, } + impl ::subxt::blocks::StaticExtrinsic for Delegate { + const PALLET: &'static str = "Democracy"; + const CALL: &'static str = "delegate"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -10031,6 +13442,10 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Undelegate; + impl ::subxt::blocks::StaticExtrinsic for Undelegate { + const PALLET: &'static str = "Democracy"; + const CALL: &'static str = "undelegate"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -10042,6 +13457,10 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ClearPublicProposals; + impl ::subxt::blocks::StaticExtrinsic for ClearPublicProposals { + const PALLET: &'static str = "Democracy"; + const CALL: &'static str = "clear_public_proposals"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -10055,6 +13474,10 @@ pub mod api { pub struct Unlock { pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, } + impl ::subxt::blocks::StaticExtrinsic for Unlock { + const PALLET: &'static str = "Democracy"; + const CALL: &'static str = "unlock"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -10069,6 +13492,10 @@ pub mod api { pub struct RemoveVote { pub index: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for RemoveVote { + const PALLET: &'static str = "Democracy"; + const CALL: &'static str = "remove_vote"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -10083,6 +13510,10 @@ pub mod api { pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, pub index: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for RemoveOtherVote { + const PALLET: &'static str = "Democracy"; + const CALL: &'static str = "remove_other_vote"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -10097,6 +13528,10 @@ pub mod api { pub proposal_hash: ::subxt::utils::H256, pub maybe_ref_index: ::core::option::Option<::core::primitive::u32>, } + impl ::subxt::blocks::StaticExtrinsic for Blacklist { + const PALLET: &'static str = "Democracy"; + const CALL: &'static str = "blacklist"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -10111,6 +13546,10 @@ pub mod api { #[codec(compact)] pub prop_index: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for CancelProposal { + const PALLET: &'static str = "Democracy"; + const CALL: &'static str = "cancel_proposal"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -10125,6 +13564,10 @@ pub mod api { pub owner: runtime_types::pallet_democracy::types::MetadataOwner, pub maybe_hash: ::core::option::Option<::subxt::utils::H256>, } + impl ::subxt::blocks::StaticExtrinsic for SetMetadata { + const PALLET: &'static str = "Democracy"; + const CALL: &'static str = "set_metadata"; + } } pub struct TransactionApi; impl TransactionApi { @@ -11682,6 +15125,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_collective::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_collective::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -11703,6 +15147,10 @@ pub mod api { pub prime: ::core::option::Option<::subxt::utils::AccountId32>, pub old_count: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetMembers { + const PALLET: &'static str = "Council"; + const CALL: &'static str = "set_members"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -11718,6 +15166,10 @@ pub mod api { #[codec(compact)] pub length_bound: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for Execute { + const PALLET: &'static str = "Council"; + const CALL: &'static str = "execute"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -11735,6 +15187,10 @@ pub mod api { #[codec(compact)] pub length_bound: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for Propose { + const PALLET: &'static str = "Council"; + const CALL: &'static str = "propose"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -11751,6 +15207,10 @@ pub mod api { pub index: ::core::primitive::u32, pub approve: ::core::primitive::bool, } + impl ::subxt::blocks::StaticExtrinsic for Vote { + const PALLET: &'static str = "Council"; + const CALL: &'static str = "vote"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -11764,6 +15224,10 @@ pub mod api { pub struct DisapproveProposal { pub proposal_hash: ::subxt::utils::H256, } + impl ::subxt::blocks::StaticExtrinsic for DisapproveProposal { + const PALLET: &'static str = "Council"; + const CALL: &'static str = "disapprove_proposal"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -11782,6 +15246,10 @@ pub mod api { #[codec(compact)] pub length_bound: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for Close { + const PALLET: &'static str = "Council"; + const CALL: &'static str = "close"; + } } pub struct TransactionApi; impl TransactionApi { @@ -12366,6 +15834,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_collective::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_collective::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -12387,6 +15856,10 @@ pub mod api { pub prime: ::core::option::Option<::subxt::utils::AccountId32>, pub old_count: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetMembers { + const PALLET: &'static str = "TechnicalCommittee"; + const CALL: &'static str = "set_members"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -12402,6 +15875,10 @@ pub mod api { #[codec(compact)] pub length_bound: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for Execute { + const PALLET: &'static str = "TechnicalCommittee"; + const CALL: &'static str = "execute"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -12419,6 +15896,10 @@ pub mod api { #[codec(compact)] pub length_bound: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for Propose { + const PALLET: &'static str = "TechnicalCommittee"; + const CALL: &'static str = "propose"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -12435,6 +15916,10 @@ pub mod api { pub index: ::core::primitive::u32, pub approve: ::core::primitive::bool, } + impl ::subxt::blocks::StaticExtrinsic for Vote { + const PALLET: &'static str = "TechnicalCommittee"; + const CALL: &'static str = "vote"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -12448,6 +15933,10 @@ pub mod api { pub struct DisapproveProposal { pub proposal_hash: ::subxt::utils::H256, } + impl ::subxt::blocks::StaticExtrinsic for DisapproveProposal { + const PALLET: &'static str = "TechnicalCommittee"; + const CALL: &'static str = "disapprove_proposal"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -12466,6 +15955,10 @@ pub mod api { #[codec(compact)] pub length_bound: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for Close { + const PALLET: &'static str = "TechnicalCommittee"; + const CALL: &'static str = "close"; + } } pub struct TransactionApi; impl TransactionApi { @@ -13050,6 +16543,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_elections_phragmen::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_elections_phragmen::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -13071,6 +16565,10 @@ pub mod api { #[codec(compact)] pub value: ::core::primitive::u128, } + impl ::subxt::blocks::StaticExtrinsic for Vote { + const PALLET: &'static str = "PhragmenElection"; + const CALL: &'static str = "vote"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -13082,6 +16580,10 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RemoveVoter; + impl ::subxt::blocks::StaticExtrinsic for RemoveVoter { + const PALLET: &'static str = "PhragmenElection"; + const CALL: &'static str = "remove_voter"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -13096,6 +16598,10 @@ pub mod api { #[codec(compact)] pub candidate_count: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SubmitCandidacy { + const PALLET: &'static str = "PhragmenElection"; + const CALL: &'static str = "submit_candidacy"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -13109,6 +16615,10 @@ pub mod api { pub struct RenounceCandidacy { pub renouncing: runtime_types::pallet_elections_phragmen::Renouncing, } + impl ::subxt::blocks::StaticExtrinsic for RenounceCandidacy { + const PALLET: &'static str = "PhragmenElection"; + const CALL: &'static str = "renounce_candidacy"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -13124,6 +16634,10 @@ pub mod api { pub slash_bond: ::core::primitive::bool, pub rerun_election: ::core::primitive::bool, } + impl ::subxt::blocks::StaticExtrinsic for RemoveMember { + const PALLET: &'static str = "PhragmenElection"; + const CALL: &'static str = "remove_member"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -13138,6 +16652,10 @@ pub mod api { pub num_voters: ::core::primitive::u32, pub num_defunct: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for CleanDefunctVoters { + const PALLET: &'static str = "PhragmenElection"; + const CALL: &'static str = "clean_defunct_voters"; + } } pub struct TransactionApi; impl TransactionApi { @@ -13809,6 +17327,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_membership::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_membership::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -13828,6 +17347,10 @@ pub mod api { pub struct AddMember { pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, } + impl ::subxt::blocks::StaticExtrinsic for AddMember { + const PALLET: &'static str = "TechnicalMembership"; + const CALL: &'static str = "add_member"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -13841,6 +17364,10 @@ pub mod api { pub struct RemoveMember { pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, } + impl ::subxt::blocks::StaticExtrinsic for RemoveMember { + const PALLET: &'static str = "TechnicalMembership"; + const CALL: &'static str = "remove_member"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -13855,6 +17382,10 @@ pub mod api { pub remove: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, pub add: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, } + impl ::subxt::blocks::StaticExtrinsic for SwapMember { + const PALLET: &'static str = "TechnicalMembership"; + const CALL: &'static str = "swap_member"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -13868,6 +17399,10 @@ pub mod api { pub struct ResetMembers { pub members: ::std::vec::Vec<::subxt::utils::AccountId32>, } + impl ::subxt::blocks::StaticExtrinsic for ResetMembers { + const PALLET: &'static str = "TechnicalMembership"; + const CALL: &'static str = "reset_members"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -13881,6 +17416,10 @@ pub mod api { pub struct ChangeKey { pub new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, } + impl ::subxt::blocks::StaticExtrinsic for ChangeKey { + const PALLET: &'static str = "TechnicalMembership"; + const CALL: &'static str = "change_key"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -13894,6 +17433,10 @@ pub mod api { pub struct SetPrime { pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, } + impl ::subxt::blocks::StaticExtrinsic for SetPrime { + const PALLET: &'static str = "TechnicalMembership"; + const CALL: &'static str = "set_prime"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -13905,6 +17448,10 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ClearPrime; + impl ::subxt::blocks::StaticExtrinsic for ClearPrime { + const PALLET: &'static str = "TechnicalMembership"; + const CALL: &'static str = "clear_prime"; + } } pub struct TransactionApi; impl TransactionApi { @@ -14201,6 +17748,7 @@ pub mod api { #[doc = "Error for the treasury pallet."] pub type Error = runtime_types::pallet_treasury::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_treasury::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -14222,6 +17770,10 @@ pub mod api { pub value: ::core::primitive::u128, pub beneficiary: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, } + impl ::subxt::blocks::StaticExtrinsic for ProposeSpend { + const PALLET: &'static str = "Treasury"; + const CALL: &'static str = "propose_spend"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -14236,6 +17788,10 @@ pub mod api { #[codec(compact)] pub proposal_id: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for RejectProposal { + const PALLET: &'static str = "Treasury"; + const CALL: &'static str = "reject_proposal"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -14250,6 +17806,10 @@ pub mod api { #[codec(compact)] pub proposal_id: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for ApproveProposal { + const PALLET: &'static str = "Treasury"; + const CALL: &'static str = "approve_proposal"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -14265,6 +17825,10 @@ pub mod api { pub amount: ::core::primitive::u128, pub beneficiary: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, } + impl ::subxt::blocks::StaticExtrinsic for Spend { + const PALLET: &'static str = "Treasury"; + const CALL: &'static str = "spend"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -14279,6 +17843,10 @@ pub mod api { #[codec(compact)] pub proposal_id: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for RemoveApproval { + const PALLET: &'static str = "Treasury"; + const CALL: &'static str = "remove_approval"; + } } pub struct TransactionApi; impl TransactionApi { @@ -14824,6 +18392,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_conviction_voting::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_conviction_voting::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -14847,6 +18416,10 @@ pub mod api { ::core::primitive::u128, >, } + impl ::subxt::blocks::StaticExtrinsic for Vote { + const PALLET: &'static str = "ConvictionVoting"; + const CALL: &'static str = "vote"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -14863,6 +18436,10 @@ pub mod api { pub conviction: runtime_types::pallet_conviction_voting::conviction::Conviction, pub balance: ::core::primitive::u128, } + impl ::subxt::blocks::StaticExtrinsic for Delegate { + const PALLET: &'static str = "ConvictionVoting"; + const CALL: &'static str = "delegate"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -14877,6 +18454,10 @@ pub mod api { pub struct Undelegate { pub class: ::core::primitive::u16, } + impl ::subxt::blocks::StaticExtrinsic for Undelegate { + const PALLET: &'static str = "ConvictionVoting"; + const CALL: &'static str = "undelegate"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -14891,6 +18472,10 @@ pub mod api { pub class: ::core::primitive::u16, pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, } + impl ::subxt::blocks::StaticExtrinsic for Unlock { + const PALLET: &'static str = "ConvictionVoting"; + const CALL: &'static str = "unlock"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -14905,6 +18490,10 @@ pub mod api { pub class: ::core::option::Option<::core::primitive::u16>, pub index: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for RemoveVote { + const PALLET: &'static str = "ConvictionVoting"; + const CALL: &'static str = "remove_vote"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -14920,6 +18509,10 @@ pub mod api { pub class: ::core::primitive::u16, pub index: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for RemoveOtherVote { + const PALLET: &'static str = "ConvictionVoting"; + const CALL: &'static str = "remove_other_vote"; + } } pub struct TransactionApi; impl TransactionApi { @@ -15344,6 +18937,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_referenda::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_referenda::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -15371,6 +18965,10 @@ pub mod api { ::core::primitive::u32, >, } + impl ::subxt::blocks::StaticExtrinsic for Submit { + const PALLET: &'static str = "Referenda"; + const CALL: &'static str = "submit"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -15385,6 +18983,10 @@ pub mod api { pub struct PlaceDecisionDeposit { pub index: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for PlaceDecisionDeposit { + const PALLET: &'static str = "Referenda"; + const CALL: &'static str = "place_decision_deposit"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -15399,6 +19001,10 @@ pub mod api { pub struct RefundDecisionDeposit { pub index: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for RefundDecisionDeposit { + const PALLET: &'static str = "Referenda"; + const CALL: &'static str = "refund_decision_deposit"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -15413,6 +19019,10 @@ pub mod api { pub struct Cancel { pub index: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for Cancel { + const PALLET: &'static str = "Referenda"; + const CALL: &'static str = "cancel"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -15427,6 +19037,10 @@ pub mod api { pub struct Kill { pub index: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for Kill { + const PALLET: &'static str = "Referenda"; + const CALL: &'static str = "kill"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -15441,6 +19055,10 @@ pub mod api { pub struct NudgeReferendum { pub index: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for NudgeReferendum { + const PALLET: &'static str = "Referenda"; + const CALL: &'static str = "nudge_referendum"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -15455,6 +19073,10 @@ pub mod api { pub struct OneFewerDeciding { pub track: ::core::primitive::u16, } + impl ::subxt::blocks::StaticExtrinsic for OneFewerDeciding { + const PALLET: &'static str = "Referenda"; + const CALL: &'static str = "one_fewer_deciding"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -15469,6 +19091,10 @@ pub mod api { pub struct RefundSubmissionDeposit { pub index: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for RefundSubmissionDeposit { + const PALLET: &'static str = "Referenda"; + const CALL: &'static str = "refund_submission_deposit"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -15483,6 +19109,10 @@ pub mod api { pub index: ::core::primitive::u32, pub maybe_hash: ::core::option::Option<::subxt::utils::H256>, } + impl ::subxt::blocks::StaticExtrinsic for SetMetadata { + const PALLET: &'static str = "Referenda"; + const CALL: &'static str = "set_metadata"; + } } pub struct TransactionApi; impl TransactionApi { @@ -16381,6 +20011,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_whitelist::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_whitelist::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -16400,6 +20031,10 @@ pub mod api { pub struct WhitelistCall { pub call_hash: ::subxt::utils::H256, } + impl ::subxt::blocks::StaticExtrinsic for WhitelistCall { + const PALLET: &'static str = "Whitelist"; + const CALL: &'static str = "whitelist_call"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -16413,6 +20048,10 @@ pub mod api { pub struct RemoveWhitelistedCall { pub call_hash: ::subxt::utils::H256, } + impl ::subxt::blocks::StaticExtrinsic for RemoveWhitelistedCall { + const PALLET: &'static str = "Whitelist"; + const CALL: &'static str = "remove_whitelisted_call"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -16428,6 +20067,10 @@ pub mod api { pub call_encoded_len: ::core::primitive::u32, pub call_weight_witness: runtime_types::sp_weights::weight_v2::Weight, } + impl ::subxt::blocks::StaticExtrinsic for DispatchWhitelistedCall { + const PALLET: &'static str = "Whitelist"; + const CALL: &'static str = "dispatch_whitelisted_call"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -16441,6 +20084,10 @@ pub mod api { pub struct DispatchWhitelistedCallWithPreimage { pub call: ::std::boxed::Box, } + impl ::subxt::blocks::StaticExtrinsic for DispatchWhitelistedCallWithPreimage { + const PALLET: &'static str = "Whitelist"; + const CALL: &'static str = "dispatch_whitelisted_call_with_preimage"; + } } pub struct TransactionApi; impl TransactionApi { @@ -16635,6 +20282,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::polkadot_runtime_common::claims::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_common::claims::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -16656,6 +20304,10 @@ pub mod api { pub ethereum_signature: runtime_types::polkadot_runtime_common::claims::EcdsaSignature, } + impl ::subxt::blocks::StaticExtrinsic for Claim { + const PALLET: &'static str = "Claims"; + const CALL: &'static str = "claim"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -16678,6 +20330,10 @@ pub mod api { runtime_types::polkadot_runtime_common::claims::StatementKind, >, } + impl ::subxt::blocks::StaticExtrinsic for MintClaim { + const PALLET: &'static str = "Claims"; + const CALL: &'static str = "mint_claim"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -16694,6 +20350,10 @@ pub mod api { runtime_types::polkadot_runtime_common::claims::EcdsaSignature, pub statement: ::std::vec::Vec<::core::primitive::u8>, } + impl ::subxt::blocks::StaticExtrinsic for ClaimAttest { + const PALLET: &'static str = "Claims"; + const CALL: &'static str = "claim_attest"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -16707,6 +20367,10 @@ pub mod api { pub struct Attest { pub statement: ::std::vec::Vec<::core::primitive::u8>, } + impl ::subxt::blocks::StaticExtrinsic for Attest { + const PALLET: &'static str = "Claims"; + const CALL: &'static str = "attest"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -16722,6 +20386,10 @@ pub mod api { pub new: runtime_types::polkadot_runtime_common::claims::EthereumAddress, pub maybe_preclaim: ::core::option::Option<::subxt::utils::AccountId32>, } + impl ::subxt::blocks::StaticExtrinsic for MoveClaim { + const PALLET: &'static str = "Claims"; + const CALL: &'static str = "move_claim"; + } } pub struct TransactionApi; impl TransactionApi { @@ -17197,6 +20865,7 @@ pub mod api { #[doc = "Error for the vesting pallet."] pub type Error = runtime_types::pallet_vesting::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_vesting::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -17214,6 +20883,10 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Vest; + impl ::subxt::blocks::StaticExtrinsic for Vest { + const PALLET: &'static str = "Vesting"; + const CALL: &'static str = "vest"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -17227,6 +20900,10 @@ pub mod api { pub struct VestOther { pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, } + impl ::subxt::blocks::StaticExtrinsic for VestOther { + const PALLET: &'static str = "Vesting"; + const CALL: &'static str = "vest_other"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -17244,6 +20921,10 @@ pub mod api { ::core::primitive::u32, >, } + impl ::subxt::blocks::StaticExtrinsic for VestedTransfer { + const PALLET: &'static str = "Vesting"; + const CALL: &'static str = "vested_transfer"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -17262,6 +20943,10 @@ pub mod api { ::core::primitive::u32, >, } + impl ::subxt::blocks::StaticExtrinsic for ForceVestedTransfer { + const PALLET: &'static str = "Vesting"; + const CALL: &'static str = "force_vested_transfer"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -17276,6 +20961,10 @@ pub mod api { pub schedule1_index: ::core::primitive::u32, pub schedule2_index: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for MergeSchedules { + const PALLET: &'static str = "Vesting"; + const CALL: &'static str = "merge_schedules"; + } } pub struct TransactionApi; impl TransactionApi { @@ -17608,6 +21297,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_utility::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_utility::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -17627,6 +21317,10 @@ pub mod api { pub struct Batch { pub calls: ::std::vec::Vec, } + impl ::subxt::blocks::StaticExtrinsic for Batch { + const PALLET: &'static str = "Utility"; + const CALL: &'static str = "batch"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -17641,6 +21335,10 @@ pub mod api { pub index: ::core::primitive::u16, pub call: ::std::boxed::Box, } + impl ::subxt::blocks::StaticExtrinsic for AsDerivative { + const PALLET: &'static str = "Utility"; + const CALL: &'static str = "as_derivative"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -17654,6 +21352,10 @@ pub mod api { pub struct BatchAll { pub calls: ::std::vec::Vec, } + impl ::subxt::blocks::StaticExtrinsic for BatchAll { + const PALLET: &'static str = "Utility"; + const CALL: &'static str = "batch_all"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -17668,6 +21370,10 @@ pub mod api { pub as_origin: ::std::boxed::Box, pub call: ::std::boxed::Box, } + impl ::subxt::blocks::StaticExtrinsic for DispatchAs { + const PALLET: &'static str = "Utility"; + const CALL: &'static str = "dispatch_as"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -17681,6 +21387,10 @@ pub mod api { pub struct ForceBatch { pub calls: ::std::vec::Vec, } + impl ::subxt::blocks::StaticExtrinsic for ForceBatch { + const PALLET: &'static str = "Utility"; + const CALL: &'static str = "force_batch"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -17695,6 +21405,10 @@ pub mod api { pub call: ::std::boxed::Box, pub weight: runtime_types::sp_weights::weight_v2::Weight, } + impl ::subxt::blocks::StaticExtrinsic for WithWeight { + const PALLET: &'static str = "Utility"; + const CALL: &'static str = "with_weight"; + } } pub struct TransactionApi; impl TransactionApi { @@ -18008,6 +21722,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_identity::pallet::Error; #[doc = "Identity pallet declaration."] + pub type Call = runtime_types::pallet_identity::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -18027,6 +21742,10 @@ pub mod api { pub struct AddRegistrar { pub account: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, } + impl ::subxt::blocks::StaticExtrinsic for AddRegistrar { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "add_registrar"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -18041,6 +21760,10 @@ pub mod api { pub info: ::std::boxed::Box, } + impl ::subxt::blocks::StaticExtrinsic for SetIdentity { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "set_identity"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -18057,6 +21780,10 @@ pub mod api { runtime_types::pallet_identity::types::Data, )>, } + impl ::subxt::blocks::StaticExtrinsic for SetSubs { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "set_subs"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -18068,6 +21795,10 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ClearIdentity; + impl ::subxt::blocks::StaticExtrinsic for ClearIdentity { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "clear_identity"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -18084,6 +21815,10 @@ pub mod api { #[codec(compact)] pub max_fee: ::core::primitive::u128, } + impl ::subxt::blocks::StaticExtrinsic for RequestJudgement { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "request_judgement"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -18098,6 +21833,10 @@ pub mod api { pub struct CancelRequest { pub reg_index: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for CancelRequest { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "cancel_request"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -18114,6 +21853,10 @@ pub mod api { #[codec(compact)] pub fee: ::core::primitive::u128, } + impl ::subxt::blocks::StaticExtrinsic for SetFee { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "set_fee"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -18129,6 +21872,10 @@ pub mod api { pub index: ::core::primitive::u32, pub new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, } + impl ::subxt::blocks::StaticExtrinsic for SetAccountId { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "set_account_id"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -18146,6 +21893,10 @@ pub mod api { runtime_types::pallet_identity::types::IdentityField, >, } + impl ::subxt::blocks::StaticExtrinsic for SetFields { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "set_fields"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -18164,6 +21915,10 @@ pub mod api { runtime_types::pallet_identity::types::Judgement<::core::primitive::u128>, pub identity: ::subxt::utils::H256, } + impl ::subxt::blocks::StaticExtrinsic for ProvideJudgement { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "provide_judgement"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -18177,6 +21932,10 @@ pub mod api { pub struct KillIdentity { pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, } + impl ::subxt::blocks::StaticExtrinsic for KillIdentity { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "kill_identity"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -18191,6 +21950,10 @@ pub mod api { pub sub: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, pub data: runtime_types::pallet_identity::types::Data, } + impl ::subxt::blocks::StaticExtrinsic for AddSub { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "add_sub"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -18205,6 +21968,10 @@ pub mod api { pub sub: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, pub data: runtime_types::pallet_identity::types::Data, } + impl ::subxt::blocks::StaticExtrinsic for RenameSub { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "rename_sub"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -18218,6 +21985,10 @@ pub mod api { pub struct RemoveSub { pub sub: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, } + impl ::subxt::blocks::StaticExtrinsic for RemoveSub { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "remove_sub"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -18229,6 +22000,10 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct QuitSub; + impl ::subxt::blocks::StaticExtrinsic for QuitSub { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "quit_sub"; + } } pub struct TransactionApi; impl TransactionApi { @@ -19175,6 +22950,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_proxy::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_proxy::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -19197,6 +22973,10 @@ pub mod api { ::core::option::Option, pub call: ::std::boxed::Box, } + impl ::subxt::blocks::StaticExtrinsic for Proxy { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "proxy"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -19212,6 +22992,10 @@ pub mod api { pub proxy_type: runtime_types::polkadot_runtime::ProxyType, pub delay: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for AddProxy { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "add_proxy"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -19227,6 +23011,10 @@ pub mod api { pub proxy_type: runtime_types::polkadot_runtime::ProxyType, pub delay: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for RemoveProxy { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "remove_proxy"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -19238,6 +23026,10 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RemoveProxies; + impl ::subxt::blocks::StaticExtrinsic for RemoveProxies { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "remove_proxies"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -19253,6 +23045,10 @@ pub mod api { pub delay: ::core::primitive::u32, pub index: ::core::primitive::u16, } + impl ::subxt::blocks::StaticExtrinsic for CreatePure { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "create_pure"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -19272,6 +23068,10 @@ pub mod api { #[codec(compact)] pub ext_index: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for KillPure { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "kill_pure"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -19286,6 +23086,10 @@ pub mod api { pub real: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, pub call_hash: ::subxt::utils::H256, } + impl ::subxt::blocks::StaticExtrinsic for Announce { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "announce"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -19300,6 +23104,10 @@ pub mod api { pub real: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, pub call_hash: ::subxt::utils::H256, } + impl ::subxt::blocks::StaticExtrinsic for RemoveAnnouncement { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "remove_announcement"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -19314,6 +23122,10 @@ pub mod api { pub delegate: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, pub call_hash: ::subxt::utils::H256, } + impl ::subxt::blocks::StaticExtrinsic for RejectAnnouncement { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "reject_announcement"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -19331,6 +23143,10 @@ pub mod api { ::core::option::Option, pub call: ::std::boxed::Box, } + impl ::subxt::blocks::StaticExtrinsic for ProxyAnnounced { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "proxy_announced"; + } } pub struct TransactionApi; impl TransactionApi { @@ -20002,6 +23818,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_multisig::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_multisig::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -20022,6 +23839,10 @@ pub mod api { pub other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, pub call: ::std::boxed::Box, } + impl ::subxt::blocks::StaticExtrinsic for AsMultiThreshold1 { + const PALLET: &'static str = "Multisig"; + const CALL: &'static str = "as_multi_threshold_1"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -20041,6 +23862,10 @@ pub mod api { pub call: ::std::boxed::Box, pub max_weight: runtime_types::sp_weights::weight_v2::Weight, } + impl ::subxt::blocks::StaticExtrinsic for AsMulti { + const PALLET: &'static str = "Multisig"; + const CALL: &'static str = "as_multi"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -20060,6 +23885,10 @@ pub mod api { pub call_hash: [::core::primitive::u8; 32usize], pub max_weight: runtime_types::sp_weights::weight_v2::Weight, } + impl ::subxt::blocks::StaticExtrinsic for ApproveAsMulti { + const PALLET: &'static str = "Multisig"; + const CALL: &'static str = "approve_as_multi"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -20077,6 +23906,10 @@ pub mod api { runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, pub call_hash: [::core::primitive::u8; 32usize], } + impl ::subxt::blocks::StaticExtrinsic for CancelAsMulti { + const PALLET: &'static str = "Multisig"; + const CALL: &'static str = "cancel_as_multi"; + } } pub struct TransactionApi; impl TransactionApi { @@ -20493,6 +24326,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_bounties::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_bounties::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -20514,6 +24348,10 @@ pub mod api { pub value: ::core::primitive::u128, pub description: ::std::vec::Vec<::core::primitive::u8>, } + impl ::subxt::blocks::StaticExtrinsic for ProposeBounty { + const PALLET: &'static str = "Bounties"; + const CALL: &'static str = "propose_bounty"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -20528,6 +24366,10 @@ pub mod api { #[codec(compact)] pub bounty_id: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for ApproveBounty { + const PALLET: &'static str = "Bounties"; + const CALL: &'static str = "approve_bounty"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -20545,6 +24387,10 @@ pub mod api { #[codec(compact)] pub fee: ::core::primitive::u128, } + impl ::subxt::blocks::StaticExtrinsic for ProposeCurator { + const PALLET: &'static str = "Bounties"; + const CALL: &'static str = "propose_curator"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -20559,6 +24405,10 @@ pub mod api { #[codec(compact)] pub bounty_id: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for UnassignCurator { + const PALLET: &'static str = "Bounties"; + const CALL: &'static str = "unassign_curator"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -20573,6 +24423,10 @@ pub mod api { #[codec(compact)] pub bounty_id: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for AcceptCurator { + const PALLET: &'static str = "Bounties"; + const CALL: &'static str = "accept_curator"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -20588,6 +24442,10 @@ pub mod api { pub bounty_id: ::core::primitive::u32, pub beneficiary: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, } + impl ::subxt::blocks::StaticExtrinsic for AwardBounty { + const PALLET: &'static str = "Bounties"; + const CALL: &'static str = "award_bounty"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -20602,6 +24460,10 @@ pub mod api { #[codec(compact)] pub bounty_id: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for ClaimBounty { + const PALLET: &'static str = "Bounties"; + const CALL: &'static str = "claim_bounty"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -20616,6 +24478,10 @@ pub mod api { #[codec(compact)] pub bounty_id: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for CloseBounty { + const PALLET: &'static str = "Bounties"; + const CALL: &'static str = "close_bounty"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -20631,6 +24497,10 @@ pub mod api { pub bounty_id: ::core::primitive::u32, pub remark: ::std::vec::Vec<::core::primitive::u8>, } + impl ::subxt::blocks::StaticExtrinsic for ExtendBountyExpiry { + const PALLET: &'static str = "Bounties"; + const CALL: &'static str = "extend_bounty_expiry"; + } } pub struct TransactionApi; impl TransactionApi { @@ -21318,6 +25188,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_child_bounties::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_child_bounties::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -21341,6 +25212,10 @@ pub mod api { pub value: ::core::primitive::u128, pub description: ::std::vec::Vec<::core::primitive::u8>, } + impl ::subxt::blocks::StaticExtrinsic for AddChildBounty { + const PALLET: &'static str = "ChildBounties"; + const CALL: &'static str = "add_child_bounty"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -21360,6 +25235,10 @@ pub mod api { #[codec(compact)] pub fee: ::core::primitive::u128, } + impl ::subxt::blocks::StaticExtrinsic for ProposeCurator { + const PALLET: &'static str = "ChildBounties"; + const CALL: &'static str = "propose_curator"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -21376,6 +25255,10 @@ pub mod api { #[codec(compact)] pub child_bounty_id: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for AcceptCurator { + const PALLET: &'static str = "ChildBounties"; + const CALL: &'static str = "accept_curator"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -21392,6 +25275,10 @@ pub mod api { #[codec(compact)] pub child_bounty_id: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for UnassignCurator { + const PALLET: &'static str = "ChildBounties"; + const CALL: &'static str = "unassign_curator"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -21409,6 +25296,10 @@ pub mod api { pub child_bounty_id: ::core::primitive::u32, pub beneficiary: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, } + impl ::subxt::blocks::StaticExtrinsic for AwardChildBounty { + const PALLET: &'static str = "ChildBounties"; + const CALL: &'static str = "award_child_bounty"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -21425,6 +25316,10 @@ pub mod api { #[codec(compact)] pub child_bounty_id: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for ClaimChildBounty { + const PALLET: &'static str = "ChildBounties"; + const CALL: &'static str = "claim_child_bounty"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -21441,6 +25336,10 @@ pub mod api { #[codec(compact)] pub child_bounty_id: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for CloseChildBounty { + const PALLET: &'static str = "ChildBounties"; + const CALL: &'static str = "close_child_bounty"; + } } pub struct TransactionApi; impl TransactionApi { @@ -22088,6 +25987,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_tips::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_tips::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -22108,6 +26008,10 @@ pub mod api { pub reason: ::std::vec::Vec<::core::primitive::u8>, pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, } + impl ::subxt::blocks::StaticExtrinsic for ReportAwesome { + const PALLET: &'static str = "Tips"; + const CALL: &'static str = "report_awesome"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -22121,6 +26025,10 @@ pub mod api { pub struct RetractTip { pub hash: ::subxt::utils::H256, } + impl ::subxt::blocks::StaticExtrinsic for RetractTip { + const PALLET: &'static str = "Tips"; + const CALL: &'static str = "retract_tip"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -22137,6 +26045,10 @@ pub mod api { #[codec(compact)] pub tip_value: ::core::primitive::u128, } + impl ::subxt::blocks::StaticExtrinsic for TipNew { + const PALLET: &'static str = "Tips"; + const CALL: &'static str = "tip_new"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -22152,6 +26064,10 @@ pub mod api { #[codec(compact)] pub tip_value: ::core::primitive::u128, } + impl ::subxt::blocks::StaticExtrinsic for Tip { + const PALLET: &'static str = "Tips"; + const CALL: &'static str = "tip"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -22165,6 +26081,10 @@ pub mod api { pub struct CloseTip { pub hash: ::subxt::utils::H256, } + impl ::subxt::blocks::StaticExtrinsic for CloseTip { + const PALLET: &'static str = "Tips"; + const CALL: &'static str = "close_tip"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -22178,6 +26098,10 @@ pub mod api { pub struct SlashTip { pub hash: ::subxt::utils::H256, } + impl ::subxt::blocks::StaticExtrinsic for SlashTip { + const PALLET: &'static str = "Tips"; + const CALL: &'static str = "slash_tip"; + } } pub struct TransactionApi; impl TransactionApi { @@ -22676,6 +26600,7 @@ pub mod api { #[doc = "Error of the pallet that can be returned in response to dispatches."] pub type Error = runtime_types::pallet_election_provider_multi_phase::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_election_provider_multi_phase::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -22701,6 +26626,10 @@ pub mod api { pub witness: runtime_types::pallet_election_provider_multi_phase::SolutionOrSnapshotSize, } + impl ::subxt::blocks::StaticExtrinsic for SubmitUnsigned { + const PALLET: &'static str = "ElectionProviderMultiPhase"; + const CALL: &'static str = "submit_unsigned"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -22715,6 +26644,10 @@ pub mod api { pub maybe_next_score: ::core::option::Option, } + impl ::subxt::blocks::StaticExtrinsic for SetMinimumUntrustedScore { + const PALLET: &'static str = "ElectionProviderMultiPhase"; + const CALL: &'static str = "set_minimum_untrusted_score"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -22731,6 +26664,10 @@ pub mod api { runtime_types::sp_npos_elections::Support<::subxt::utils::AccountId32>, )>, } + impl ::subxt::blocks::StaticExtrinsic for SetEmergencyElectionResult { + const PALLET: &'static str = "ElectionProviderMultiPhase"; + const CALL: &'static str = "set_emergency_election_result"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -22748,6 +26685,10 @@ pub mod api { >, >, } + impl ::subxt::blocks::StaticExtrinsic for Submit { + const PALLET: &'static str = "ElectionProviderMultiPhase"; + const CALL: &'static str = "submit"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -22762,6 +26703,10 @@ pub mod api { pub maybe_max_voters: ::core::option::Option<::core::primitive::u32>, pub maybe_max_targets: ::core::option::Option<::core::primitive::u32>, } + impl ::subxt::blocks::StaticExtrinsic for GovernanceFallback { + const PALLET: &'static str = "ElectionProviderMultiPhase"; + const CALL: &'static str = "governance_fallback"; + } } pub struct TransactionApi; impl TransactionApi { @@ -23661,6 +27606,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_bags_list::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_bags_list::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -23680,6 +27626,10 @@ pub mod api { pub struct Rebag { pub dislocated: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, } + impl ::subxt::blocks::StaticExtrinsic for Rebag { + const PALLET: &'static str = "VoterList"; + const CALL: &'static str = "rebag"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -23693,6 +27643,10 @@ pub mod api { pub struct PutInFrontOf { pub lighter: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, } + impl ::subxt::blocks::StaticExtrinsic for PutInFrontOf { + const PALLET: &'static str = "VoterList"; + const CALL: &'static str = "put_in_front_of"; + } } pub struct TransactionApi; impl TransactionApi { @@ -23987,6 +27941,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_nomination_pools::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_nomination_pools::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -24008,6 +27963,10 @@ pub mod api { pub amount: ::core::primitive::u128, pub pool_id: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for Join { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "join"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -24022,6 +27981,10 @@ pub mod api { pub extra: runtime_types::pallet_nomination_pools::BondExtra<::core::primitive::u128>, } + impl ::subxt::blocks::StaticExtrinsic for BondExtra { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "bond_extra"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -24033,6 +27996,10 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ClaimPayout; + impl ::subxt::blocks::StaticExtrinsic for ClaimPayout { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "claim_payout"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -24049,6 +28016,10 @@ pub mod api { #[codec(compact)] pub unbonding_points: ::core::primitive::u128, } + impl ::subxt::blocks::StaticExtrinsic for Unbond { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "unbond"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -24063,6 +28034,10 @@ pub mod api { pub pool_id: ::core::primitive::u32, pub num_slashing_spans: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for PoolWithdrawUnbonded { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "pool_withdraw_unbonded"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -24078,6 +28053,10 @@ pub mod api { ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, pub num_slashing_spans: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for WithdrawUnbonded { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "withdraw_unbonded"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -24095,6 +28074,10 @@ pub mod api { pub nominator: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, pub bouncer: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, } + impl ::subxt::blocks::StaticExtrinsic for Create { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "create"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -24113,6 +28096,10 @@ pub mod api { pub bouncer: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, pub pool_id: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for CreateWithPoolId { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "create_with_pool_id"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -24127,6 +28114,10 @@ pub mod api { pub pool_id: ::core::primitive::u32, pub validators: ::std::vec::Vec<::subxt::utils::AccountId32>, } + impl ::subxt::blocks::StaticExtrinsic for Nominate { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "nominate"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -24141,6 +28132,10 @@ pub mod api { pub pool_id: ::core::primitive::u32, pub state: runtime_types::pallet_nomination_pools::PoolState, } + impl ::subxt::blocks::StaticExtrinsic for SetState { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "set_state"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -24155,6 +28150,10 @@ pub mod api { pub pool_id: ::core::primitive::u32, pub metadata: ::std::vec::Vec<::core::primitive::u8>, } + impl ::subxt::blocks::StaticExtrinsic for SetMetadata { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "set_metadata"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -24180,6 +28179,10 @@ pub mod api { runtime_types::sp_arithmetic::per_things::Perbill, >, } + impl ::subxt::blocks::StaticExtrinsic for SetConfigs { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "set_configs"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -24202,6 +28205,10 @@ pub mod api { ::subxt::utils::AccountId32, >, } + impl ::subxt::blocks::StaticExtrinsic for UpdateRoles { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "update_roles"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -24216,6 +28223,10 @@ pub mod api { pub struct Chill { pub pool_id: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for Chill { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "chill"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -24231,6 +28242,10 @@ pub mod api { pub extra: runtime_types::pallet_nomination_pools::BondExtra<::core::primitive::u128>, } + impl ::subxt::blocks::StaticExtrinsic for BondExtraOther { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "bond_extra_other"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -24244,6 +28259,10 @@ pub mod api { pub struct SetClaimPermission { pub permission: runtime_types::pallet_nomination_pools::ClaimPermission, } + impl ::subxt::blocks::StaticExtrinsic for SetClaimPermission { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "set_claim_permission"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -24257,6 +28276,10 @@ pub mod api { pub struct ClaimPayoutOther { pub other: ::subxt::utils::AccountId32, } + impl ::subxt::blocks::StaticExtrinsic for ClaimPayoutOther { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "claim_payout_other"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -24274,6 +28297,10 @@ pub mod api { ::subxt::utils::AccountId32, )>, } + impl ::subxt::blocks::StaticExtrinsic for SetCommission { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "set_commission"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -24288,6 +28315,10 @@ pub mod api { pub pool_id: ::core::primitive::u32, pub max_commission: runtime_types::sp_arithmetic::per_things::Perbill, } + impl ::subxt::blocks::StaticExtrinsic for SetCommissionMax { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "set_commission_max"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -24304,6 +28335,10 @@ pub mod api { ::core::primitive::u32, >, } + impl ::subxt::blocks::StaticExtrinsic for SetCommissionChangeRate { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "set_commission_change_rate"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -24318,6 +28353,10 @@ pub mod api { pub struct ClaimCommission { pub pool_id: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for ClaimCommission { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "claim_commission"; + } } pub struct TransactionApi; impl TransactionApi { @@ -25956,6 +29995,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_fast_unstake::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_fast_unstake::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -25973,6 +30013,10 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct RegisterFastUnstake; + impl ::subxt::blocks::StaticExtrinsic for RegisterFastUnstake { + const PALLET: &'static str = "FastUnstake"; + const CALL: &'static str = "register_fast_unstake"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -25984,6 +30028,10 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Deregister; + impl ::subxt::blocks::StaticExtrinsic for Deregister { + const PALLET: &'static str = "FastUnstake"; + const CALL: &'static str = "deregister"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -25998,6 +30046,10 @@ pub mod api { pub struct Control { pub eras_to_check: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for Control { + const PALLET: &'static str = "FastUnstake"; + const CALL: &'static str = "control"; + } } pub struct TransactionApi; impl TransactionApi { @@ -26330,6 +30382,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::polkadot_runtime_parachains::configuration::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_parachains::configuration::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -26350,6 +30403,10 @@ pub mod api { pub struct SetValidationUpgradeCooldown { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetValidationUpgradeCooldown { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_validation_upgrade_cooldown"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26364,6 +30421,10 @@ pub mod api { pub struct SetValidationUpgradeDelay { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetValidationUpgradeDelay { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_validation_upgrade_delay"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26378,6 +30439,10 @@ pub mod api { pub struct SetCodeRetentionPeriod { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetCodeRetentionPeriod { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_code_retention_period"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26392,6 +30457,10 @@ pub mod api { pub struct SetMaxCodeSize { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetMaxCodeSize { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_max_code_size"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26406,6 +30475,10 @@ pub mod api { pub struct SetMaxPovSize { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetMaxPovSize { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_max_pov_size"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26420,6 +30493,10 @@ pub mod api { pub struct SetMaxHeadDataSize { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetMaxHeadDataSize { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_max_head_data_size"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26434,6 +30511,10 @@ pub mod api { pub struct SetParathreadCores { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetParathreadCores { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_parathread_cores"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26448,6 +30529,10 @@ pub mod api { pub struct SetParathreadRetries { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetParathreadRetries { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_parathread_retries"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26462,6 +30547,10 @@ pub mod api { pub struct SetGroupRotationFrequency { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetGroupRotationFrequency { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_group_rotation_frequency"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26476,6 +30565,10 @@ pub mod api { pub struct SetChainAvailabilityPeriod { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetChainAvailabilityPeriod { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_chain_availability_period"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26490,6 +30583,10 @@ pub mod api { pub struct SetThreadAvailabilityPeriod { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetThreadAvailabilityPeriod { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_thread_availability_period"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26504,6 +30601,10 @@ pub mod api { pub struct SetSchedulingLookahead { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetSchedulingLookahead { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_scheduling_lookahead"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -26517,6 +30618,10 @@ pub mod api { pub struct SetMaxValidatorsPerCore { pub new: ::core::option::Option<::core::primitive::u32>, } + impl ::subxt::blocks::StaticExtrinsic for SetMaxValidatorsPerCore { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_max_validators_per_core"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -26530,6 +30635,10 @@ pub mod api { pub struct SetMaxValidators { pub new: ::core::option::Option<::core::primitive::u32>, } + impl ::subxt::blocks::StaticExtrinsic for SetMaxValidators { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_max_validators"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26544,6 +30653,10 @@ pub mod api { pub struct SetDisputePeriod { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetDisputePeriod { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_dispute_period"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26558,6 +30671,10 @@ pub mod api { pub struct SetDisputePostConclusionAcceptancePeriod { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetDisputePostConclusionAcceptancePeriod { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_dispute_post_conclusion_acceptance_period"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26572,6 +30689,10 @@ pub mod api { pub struct SetNoShowSlots { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetNoShowSlots { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_no_show_slots"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26586,6 +30707,10 @@ pub mod api { pub struct SetNDelayTranches { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetNDelayTranches { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_n_delay_tranches"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26600,6 +30725,10 @@ pub mod api { pub struct SetZerothDelayTrancheWidth { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetZerothDelayTrancheWidth { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_zeroth_delay_tranche_width"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26614,6 +30743,10 @@ pub mod api { pub struct SetNeededApprovals { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetNeededApprovals { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_needed_approvals"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26628,6 +30761,10 @@ pub mod api { pub struct SetRelayVrfModuloSamples { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetRelayVrfModuloSamples { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_relay_vrf_modulo_samples"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26642,6 +30779,10 @@ pub mod api { pub struct SetMaxUpwardQueueCount { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetMaxUpwardQueueCount { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_max_upward_queue_count"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26656,6 +30797,10 @@ pub mod api { pub struct SetMaxUpwardQueueSize { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetMaxUpwardQueueSize { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_max_upward_queue_size"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26670,6 +30815,10 @@ pub mod api { pub struct SetMaxDownwardMessageSize { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetMaxDownwardMessageSize { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_max_downward_message_size"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -26683,6 +30832,10 @@ pub mod api { pub struct SetUmpServiceTotalWeight { pub new: runtime_types::sp_weights::weight_v2::Weight, } + impl ::subxt::blocks::StaticExtrinsic for SetUmpServiceTotalWeight { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_ump_service_total_weight"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26697,6 +30850,10 @@ pub mod api { pub struct SetMaxUpwardMessageSize { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetMaxUpwardMessageSize { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_max_upward_message_size"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26711,6 +30868,10 @@ pub mod api { pub struct SetMaxUpwardMessageNumPerCandidate { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetMaxUpwardMessageNumPerCandidate { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_max_upward_message_num_per_candidate"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26725,6 +30886,10 @@ pub mod api { pub struct SetHrmpOpenRequestTtl { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetHrmpOpenRequestTtl { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_hrmp_open_request_ttl"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26739,6 +30904,10 @@ pub mod api { pub struct SetHrmpSenderDeposit { pub new: ::core::primitive::u128, } + impl ::subxt::blocks::StaticExtrinsic for SetHrmpSenderDeposit { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_hrmp_sender_deposit"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26753,6 +30922,10 @@ pub mod api { pub struct SetHrmpRecipientDeposit { pub new: ::core::primitive::u128, } + impl ::subxt::blocks::StaticExtrinsic for SetHrmpRecipientDeposit { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_hrmp_recipient_deposit"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26767,6 +30940,10 @@ pub mod api { pub struct SetHrmpChannelMaxCapacity { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetHrmpChannelMaxCapacity { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_hrmp_channel_max_capacity"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26781,6 +30958,10 @@ pub mod api { pub struct SetHrmpChannelMaxTotalSize { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetHrmpChannelMaxTotalSize { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_hrmp_channel_max_total_size"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26795,6 +30976,10 @@ pub mod api { pub struct SetHrmpMaxParachainInboundChannels { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetHrmpMaxParachainInboundChannels { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_hrmp_max_parachain_inbound_channels"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26809,6 +30994,10 @@ pub mod api { pub struct SetHrmpMaxParathreadInboundChannels { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetHrmpMaxParathreadInboundChannels { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_hrmp_max_parathread_inbound_channels"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26823,6 +31012,10 @@ pub mod api { pub struct SetHrmpChannelMaxMessageSize { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetHrmpChannelMaxMessageSize { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_hrmp_channel_max_message_size"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26837,6 +31030,10 @@ pub mod api { pub struct SetHrmpMaxParachainOutboundChannels { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetHrmpMaxParachainOutboundChannels { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_hrmp_max_parachain_outbound_channels"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26851,6 +31048,10 @@ pub mod api { pub struct SetHrmpMaxParathreadOutboundChannels { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetHrmpMaxParathreadOutboundChannels { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_hrmp_max_parathread_outbound_channels"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26865,6 +31066,10 @@ pub mod api { pub struct SetHrmpMaxMessageNumPerCandidate { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetHrmpMaxMessageNumPerCandidate { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_hrmp_max_message_num_per_candidate"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -26878,6 +31083,10 @@ pub mod api { pub struct SetUmpMaxIndividualWeight { pub new: runtime_types::sp_weights::weight_v2::Weight, } + impl ::subxt::blocks::StaticExtrinsic for SetUmpMaxIndividualWeight { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_ump_max_individual_weight"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -26891,6 +31100,10 @@ pub mod api { pub struct SetPvfCheckingEnabled { pub new: ::core::primitive::bool, } + impl ::subxt::blocks::StaticExtrinsic for SetPvfCheckingEnabled { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_pvf_checking_enabled"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26905,6 +31118,10 @@ pub mod api { pub struct SetPvfVotingTtl { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetPvfVotingTtl { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_pvf_voting_ttl"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -26919,6 +31136,10 @@ pub mod api { pub struct SetMinimumValidationUpgradeDelay { pub new: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for SetMinimumValidationUpgradeDelay { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_minimum_validation_upgrade_delay"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -26932,6 +31153,10 @@ pub mod api { pub struct SetBypassConsistencyCheck { pub new: ::core::primitive::bool, } + impl ::subxt::blocks::StaticExtrinsic for SetBypassConsistencyCheck { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_bypass_consistency_check"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -26945,6 +31170,10 @@ pub mod api { pub struct SetAsyncBackingParams { pub new: runtime_types::polkadot_primitives::vstaging::AsyncBackingParams, } + impl ::subxt::blocks::StaticExtrinsic for SetAsyncBackingParams { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_async_backing_params"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -26959,6 +31188,10 @@ pub mod api { pub new: runtime_types::polkadot_primitives::v4::executor_params::ExecutorParams, } + impl ::subxt::blocks::StaticExtrinsic for SetExecutorParams { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_executor_params"; + } } pub struct TransactionApi; impl TransactionApi { @@ -27794,6 +32027,7 @@ pub mod api { use super::root_mod; use super::runtime_types; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_parachains::shared::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -27883,6 +32117,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::polkadot_runtime_parachains::inclusion::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_parachains::inclusion::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -28076,6 +32311,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::polkadot_runtime_parachains::paras_inherent::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_parachains::paras_inherent::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -28100,6 +32336,10 @@ pub mod api { >, >, } + impl ::subxt::blocks::StaticExtrinsic for Enter { + const PALLET: &'static str = "ParaInherent"; + const CALL: &'static str = "enter"; + } } pub struct TransactionApi; impl TransactionApi { @@ -28365,6 +32605,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::polkadot_runtime_parachains::paras::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_parachains::paras::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -28385,6 +32626,10 @@ pub mod api { pub para: runtime_types::polkadot_parachain::primitives::Id, pub new_code: runtime_types::polkadot_parachain::primitives::ValidationCode, } + impl ::subxt::blocks::StaticExtrinsic for ForceSetCurrentCode { + const PALLET: &'static str = "Paras"; + const CALL: &'static str = "force_set_current_code"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -28399,6 +32644,10 @@ pub mod api { pub para: runtime_types::polkadot_parachain::primitives::Id, pub new_head: runtime_types::polkadot_parachain::primitives::HeadData, } + impl ::subxt::blocks::StaticExtrinsic for ForceSetCurrentHead { + const PALLET: &'static str = "Paras"; + const CALL: &'static str = "force_set_current_head"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -28414,6 +32663,10 @@ pub mod api { pub new_code: runtime_types::polkadot_parachain::primitives::ValidationCode, pub relay_parent_number: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for ForceScheduleCodeUpgrade { + const PALLET: &'static str = "Paras"; + const CALL: &'static str = "force_schedule_code_upgrade"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -28428,6 +32681,10 @@ pub mod api { pub para: runtime_types::polkadot_parachain::primitives::Id, pub new_head: runtime_types::polkadot_parachain::primitives::HeadData, } + impl ::subxt::blocks::StaticExtrinsic for ForceNoteNewHead { + const PALLET: &'static str = "Paras"; + const CALL: &'static str = "force_note_new_head"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -28441,6 +32698,10 @@ pub mod api { pub struct ForceQueueAction { pub para: runtime_types::polkadot_parachain::primitives::Id, } + impl ::subxt::blocks::StaticExtrinsic for ForceQueueAction { + const PALLET: &'static str = "Paras"; + const CALL: &'static str = "force_queue_action"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -28455,6 +32716,10 @@ pub mod api { pub validation_code: runtime_types::polkadot_parachain::primitives::ValidationCode, } + impl ::subxt::blocks::StaticExtrinsic for AddTrustedValidationCode { + const PALLET: &'static str = "Paras"; + const CALL: &'static str = "add_trusted_validation_code"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -28469,6 +32734,10 @@ pub mod api { pub validation_code_hash: runtime_types::polkadot_parachain::primitives::ValidationCodeHash, } + impl ::subxt::blocks::StaticExtrinsic for PokeUnusedValidationCode { + const PALLET: &'static str = "Paras"; + const CALL: &'static str = "poke_unused_validation_code"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -28483,6 +32752,10 @@ pub mod api { pub stmt: runtime_types::polkadot_primitives::v4::PvfCheckStatement, pub signature: runtime_types::polkadot_primitives::v4::validator_app::Signature, } + impl ::subxt::blocks::StaticExtrinsic for IncludePvfCheckStatement { + const PALLET: &'static str = "Paras"; + const CALL: &'static str = "include_pvf_check_statement"; + } } pub struct TransactionApi; impl TransactionApi { @@ -29694,6 +33967,7 @@ pub mod api { use super::root_mod; use super::runtime_types; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_parachains::initializer::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -29714,6 +33988,10 @@ pub mod api { pub struct ForceApprove { pub up_to: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for ForceApprove { + const PALLET: &'static str = "Initializer"; + const CALL: &'static str = "force_approve"; + } } pub struct TransactionApi; impl TransactionApi { @@ -29796,6 +34074,7 @@ pub mod api { use super::root_mod; use super::runtime_types; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_parachains::dmp::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -29931,6 +34210,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::polkadot_runtime_parachains::ump::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_parachains::ump::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -29951,6 +34231,10 @@ pub mod api { pub index: ::core::primitive::u64, pub weight_limit: runtime_types::sp_weights::weight_v2::Weight, } + impl ::subxt::blocks::StaticExtrinsic for ServiceOverweight { + const PALLET: &'static str = "Ump"; + const CALL: &'static str = "service_overweight"; + } } pub struct TransactionApi; impl TransactionApi { @@ -30421,6 +34705,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::polkadot_runtime_parachains::hrmp::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_parachains::hrmp::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -30442,6 +34727,10 @@ pub mod api { pub proposed_max_capacity: ::core::primitive::u32, pub proposed_max_message_size: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for HrmpInitOpenChannel { + const PALLET: &'static str = "Hrmp"; + const CALL: &'static str = "hrmp_init_open_channel"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -30455,6 +34744,10 @@ pub mod api { pub struct HrmpAcceptOpenChannel { pub sender: runtime_types::polkadot_parachain::primitives::Id, } + impl ::subxt::blocks::StaticExtrinsic for HrmpAcceptOpenChannel { + const PALLET: &'static str = "Hrmp"; + const CALL: &'static str = "hrmp_accept_open_channel"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -30468,6 +34761,10 @@ pub mod api { pub struct HrmpCloseChannel { pub channel_id: runtime_types::polkadot_parachain::primitives::HrmpChannelId, } + impl ::subxt::blocks::StaticExtrinsic for HrmpCloseChannel { + const PALLET: &'static str = "Hrmp"; + const CALL: &'static str = "hrmp_close_channel"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -30483,6 +34780,10 @@ pub mod api { pub inbound: ::core::primitive::u32, pub outbound: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for ForceCleanHrmp { + const PALLET: &'static str = "Hrmp"; + const CALL: &'static str = "force_clean_hrmp"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -30497,6 +34798,10 @@ pub mod api { pub struct ForceProcessHrmpOpen { pub channels: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for ForceProcessHrmpOpen { + const PALLET: &'static str = "Hrmp"; + const CALL: &'static str = "force_process_hrmp_open"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -30511,6 +34816,10 @@ pub mod api { pub struct ForceProcessHrmpClose { pub channels: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for ForceProcessHrmpClose { + const PALLET: &'static str = "Hrmp"; + const CALL: &'static str = "force_process_hrmp_close"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -30525,6 +34834,10 @@ pub mod api { pub channel_id: runtime_types::polkadot_parachain::primitives::HrmpChannelId, pub open_requests: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for HrmpCancelOpenRequest { + const PALLET: &'static str = "Hrmp"; + const CALL: &'static str = "hrmp_cancel_open_request"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -30541,6 +34854,10 @@ pub mod api { pub max_capacity: ::core::primitive::u32, pub max_message_size: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for ForceOpenHrmpChannel { + const PALLET: &'static str = "Hrmp"; + const CALL: &'static str = "force_open_hrmp_channel"; + } } pub struct TransactionApi; impl TransactionApi { @@ -31655,6 +35972,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::polkadot_runtime_parachains::disputes::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_parachains::disputes::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -31672,6 +35990,10 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ForceUnfreeze; + impl ::subxt::blocks::StaticExtrinsic for ForceUnfreeze { + const PALLET: &'static str = "ParasDisputes"; + const CALL: &'static str = "force_unfreeze"; + } } pub struct TransactionApi; impl TransactionApi { @@ -31969,6 +36291,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::polkadot_runtime_common::paras_registrar::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_common::paras_registrar::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -31991,6 +36314,10 @@ pub mod api { pub validation_code: runtime_types::polkadot_parachain::primitives::ValidationCode, } + impl ::subxt::blocks::StaticExtrinsic for Register { + const PALLET: &'static str = "Registrar"; + const CALL: &'static str = "register"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -32009,6 +36336,10 @@ pub mod api { pub validation_code: runtime_types::polkadot_parachain::primitives::ValidationCode, } + impl ::subxt::blocks::StaticExtrinsic for ForceRegister { + const PALLET: &'static str = "Registrar"; + const CALL: &'static str = "force_register"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -32022,6 +36353,10 @@ pub mod api { pub struct Deregister { pub id: runtime_types::polkadot_parachain::primitives::Id, } + impl ::subxt::blocks::StaticExtrinsic for Deregister { + const PALLET: &'static str = "Registrar"; + const CALL: &'static str = "deregister"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -32036,6 +36371,10 @@ pub mod api { pub id: runtime_types::polkadot_parachain::primitives::Id, pub other: runtime_types::polkadot_parachain::primitives::Id, } + impl ::subxt::blocks::StaticExtrinsic for Swap { + const PALLET: &'static str = "Registrar"; + const CALL: &'static str = "swap"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -32049,6 +36388,10 @@ pub mod api { pub struct RemoveLock { pub para: runtime_types::polkadot_parachain::primitives::Id, } + impl ::subxt::blocks::StaticExtrinsic for RemoveLock { + const PALLET: &'static str = "Registrar"; + const CALL: &'static str = "remove_lock"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -32060,6 +36403,10 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Reserve; + impl ::subxt::blocks::StaticExtrinsic for Reserve { + const PALLET: &'static str = "Registrar"; + const CALL: &'static str = "reserve"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -32073,6 +36420,10 @@ pub mod api { pub struct AddLock { pub para: runtime_types::polkadot_parachain::primitives::Id, } + impl ::subxt::blocks::StaticExtrinsic for AddLock { + const PALLET: &'static str = "Registrar"; + const CALL: &'static str = "add_lock"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -32087,6 +36438,10 @@ pub mod api { pub para: runtime_types::polkadot_parachain::primitives::Id, pub new_code: runtime_types::polkadot_parachain::primitives::ValidationCode, } + impl ::subxt::blocks::StaticExtrinsic for ScheduleCodeUpgrade { + const PALLET: &'static str = "Registrar"; + const CALL: &'static str = "schedule_code_upgrade"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -32101,6 +36456,10 @@ pub mod api { pub para: runtime_types::polkadot_parachain::primitives::Id, pub new_head: runtime_types::polkadot_parachain::primitives::HeadData, } + impl ::subxt::blocks::StaticExtrinsic for SetCurrentHead { + const PALLET: &'static str = "Registrar"; + const CALL: &'static str = "set_current_head"; + } } pub struct TransactionApi; impl TransactionApi { @@ -32550,6 +36909,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::polkadot_runtime_common::slots::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_common::slots::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -32573,6 +36933,10 @@ pub mod api { pub period_begin: ::core::primitive::u32, pub period_count: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for ForceLease { + const PALLET: &'static str = "Slots"; + const CALL: &'static str = "force_lease"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -32586,6 +36950,10 @@ pub mod api { pub struct ClearAllLeases { pub para: runtime_types::polkadot_parachain::primitives::Id, } + impl ::subxt::blocks::StaticExtrinsic for ClearAllLeases { + const PALLET: &'static str = "Slots"; + const CALL: &'static str = "clear_all_leases"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -32599,6 +36967,10 @@ pub mod api { pub struct TriggerOnboard { pub para: runtime_types::polkadot_parachain::primitives::Id, } + impl ::subxt::blocks::StaticExtrinsic for TriggerOnboard { + const PALLET: &'static str = "Slots"; + const CALL: &'static str = "trigger_onboard"; + } } pub struct TransactionApi; impl TransactionApi { @@ -32852,6 +37224,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::polkadot_runtime_common::auctions::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_common::auctions::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -32874,6 +37247,10 @@ pub mod api { #[codec(compact)] pub lease_period_index: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for NewAuction { + const PALLET: &'static str = "Auctions"; + const CALL: &'static str = "new_auction"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -32896,6 +37273,10 @@ pub mod api { #[codec(compact)] pub amount: ::core::primitive::u128, } + impl ::subxt::blocks::StaticExtrinsic for Bid { + const PALLET: &'static str = "Auctions"; + const CALL: &'static str = "bid"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -32907,6 +37288,10 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CancelAuction; + impl ::subxt::blocks::StaticExtrinsic for CancelAuction { + const PALLET: &'static str = "Auctions"; + const CALL: &'static str = "cancel_auction"; + } } pub struct TransactionApi; impl TransactionApi { @@ -33370,6 +37755,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::polkadot_runtime_common::crowdloan::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_common::crowdloan::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -33399,6 +37785,10 @@ pub mod api { pub end: ::core::primitive::u32, pub verifier: ::core::option::Option, } + impl ::subxt::blocks::StaticExtrinsic for Create { + const PALLET: &'static str = "Crowdloan"; + const CALL: &'static str = "create"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -33417,6 +37807,10 @@ pub mod api { pub signature: ::core::option::Option, } + impl ::subxt::blocks::StaticExtrinsic for Contribute { + const PALLET: &'static str = "Crowdloan"; + const CALL: &'static str = "contribute"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -33432,6 +37826,10 @@ pub mod api { #[codec(compact)] pub index: runtime_types::polkadot_parachain::primitives::Id, } + impl ::subxt::blocks::StaticExtrinsic for Withdraw { + const PALLET: &'static str = "Crowdloan"; + const CALL: &'static str = "withdraw"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -33446,6 +37844,10 @@ pub mod api { #[codec(compact)] pub index: runtime_types::polkadot_parachain::primitives::Id, } + impl ::subxt::blocks::StaticExtrinsic for Refund { + const PALLET: &'static str = "Crowdloan"; + const CALL: &'static str = "refund"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -33460,6 +37862,10 @@ pub mod api { #[codec(compact)] pub index: runtime_types::polkadot_parachain::primitives::Id, } + impl ::subxt::blocks::StaticExtrinsic for Dissolve { + const PALLET: &'static str = "Crowdloan"; + const CALL: &'static str = "dissolve"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -33483,6 +37889,10 @@ pub mod api { pub end: ::core::primitive::u32, pub verifier: ::core::option::Option, } + impl ::subxt::blocks::StaticExtrinsic for Edit { + const PALLET: &'static str = "Crowdloan"; + const CALL: &'static str = "edit"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -33497,6 +37907,10 @@ pub mod api { pub index: runtime_types::polkadot_parachain::primitives::Id, pub memo: ::std::vec::Vec<::core::primitive::u8>, } + impl ::subxt::blocks::StaticExtrinsic for AddMemo { + const PALLET: &'static str = "Crowdloan"; + const CALL: &'static str = "add_memo"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -33510,6 +37924,10 @@ pub mod api { pub struct Poke { pub index: runtime_types::polkadot_parachain::primitives::Id, } + impl ::subxt::blocks::StaticExtrinsic for Poke { + const PALLET: &'static str = "Crowdloan"; + const CALL: &'static str = "poke"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -33526,6 +37944,10 @@ pub mod api { pub signature: ::core::option::Option, } + impl ::subxt::blocks::StaticExtrinsic for ContributeAll { + const PALLET: &'static str = "Crowdloan"; + const CALL: &'static str = "contribute_all"; + } } pub struct TransactionApi; impl TransactionApi { @@ -34121,6 +38543,7 @@ pub mod api { #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] pub type Error = runtime_types::pallet_xcm::pallet::Error; #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_xcm::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -34141,6 +38564,10 @@ pub mod api { pub dest: ::std::boxed::Box, pub message: ::std::boxed::Box, } + impl ::subxt::blocks::StaticExtrinsic for Send { + const PALLET: &'static str = "XcmPallet"; + const CALL: &'static str = "send"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -34157,6 +38584,10 @@ pub mod api { pub assets: ::std::boxed::Box, pub fee_asset_item: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for TeleportAssets { + const PALLET: &'static str = "XcmPallet"; + const CALL: &'static str = "teleport_assets"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -34173,6 +38604,10 @@ pub mod api { pub assets: ::std::boxed::Box, pub fee_asset_item: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for ReserveTransferAssets { + const PALLET: &'static str = "XcmPallet"; + const CALL: &'static str = "reserve_transfer_assets"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -34187,6 +38622,10 @@ pub mod api { pub message: ::std::boxed::Box, pub max_weight: runtime_types::sp_weights::weight_v2::Weight, } + impl ::subxt::blocks::StaticExtrinsic for Execute { + const PALLET: &'static str = "XcmPallet"; + const CALL: &'static str = "execute"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -34202,6 +38641,10 @@ pub mod api { ::std::boxed::Box, pub xcm_version: ::core::primitive::u32, } + impl ::subxt::blocks::StaticExtrinsic for ForceXcmVersion { + const PALLET: &'static str = "XcmPallet"; + const CALL: &'static str = "force_xcm_version"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -34215,6 +38658,10 @@ pub mod api { pub struct ForceDefaultXcmVersion { pub maybe_xcm_version: ::core::option::Option<::core::primitive::u32>, } + impl ::subxt::blocks::StaticExtrinsic for ForceDefaultXcmVersion { + const PALLET: &'static str = "XcmPallet"; + const CALL: &'static str = "force_default_xcm_version"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -34228,6 +38675,10 @@ pub mod api { pub struct ForceSubscribeVersionNotify { pub location: ::std::boxed::Box, } + impl ::subxt::blocks::StaticExtrinsic for ForceSubscribeVersionNotify { + const PALLET: &'static str = "XcmPallet"; + const CALL: &'static str = "force_subscribe_version_notify"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -34241,6 +38692,10 @@ pub mod api { pub struct ForceUnsubscribeVersionNotify { pub location: ::std::boxed::Box, } + impl ::subxt::blocks::StaticExtrinsic for ForceUnsubscribeVersionNotify { + const PALLET: &'static str = "XcmPallet"; + const CALL: &'static str = "force_unsubscribe_version_notify"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -34258,6 +38713,10 @@ pub mod api { pub fee_asset_item: ::core::primitive::u32, pub weight_limit: runtime_types::xcm::v3::WeightLimit, } + impl ::subxt::blocks::StaticExtrinsic for LimitedReserveTransferAssets { + const PALLET: &'static str = "XcmPallet"; + const CALL: &'static str = "limited_reserve_transfer_assets"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -34275,6 +38734,10 @@ pub mod api { pub fee_asset_item: ::core::primitive::u32, pub weight_limit: runtime_types::xcm::v3::WeightLimit, } + impl ::subxt::blocks::StaticExtrinsic for LimitedTeleportAssets { + const PALLET: &'static str = "XcmPallet"; + const CALL: &'static str = "limited_teleport_assets"; + } } pub struct TransactionApi; impl TransactionApi { @@ -44250,6 +48713,55 @@ pub mod api { }, } } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct FeeDetails<_0> { + pub inclusion_fee: ::core::option::Option< + runtime_types::pallet_transaction_payment::types::InclusionFee<_0>, + >, + pub tip: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct InclusionFee<_0> { + pub base_fee: _0, + pub len_fee: _0, + pub adjusted_weight_fee: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RuntimeDispatchInfo<_0, _1> { + pub weight: _1, + pub class: runtime_types::frame_support::dispatch::DispatchClass, + pub partial_fee: _0, + } + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -45863,6 +50375,38 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum CandidateEvent<_0> { + #[codec(index = 0)] + CandidateBacked( + runtime_types::polkadot_primitives::v4::CandidateReceipt<_0>, + runtime_types::polkadot_parachain::primitives::HeadData, + runtime_types::polkadot_primitives::v4::CoreIndex, + runtime_types::polkadot_primitives::v4::GroupIndex, + ), + #[codec(index = 1)] + CandidateIncluded( + runtime_types::polkadot_primitives::v4::CandidateReceipt<_0>, + runtime_types::polkadot_parachain::primitives::HeadData, + runtime_types::polkadot_primitives::v4::CoreIndex, + runtime_types::polkadot_primitives::v4::GroupIndex, + ), + #[codec(index = 2)] + CandidateTimedOut( + runtime_types::polkadot_primitives::v4::CandidateReceipt<_0>, + runtime_types::polkadot_parachain::primitives::HeadData, + runtime_types::polkadot_primitives::v4::CoreIndex, + ), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CandidateReceipt<_0> { pub descriptor: runtime_types::polkadot_primitives::v4::CandidateDescriptor<_0>, pub commitments_hash: _0, @@ -45921,6 +50465,24 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum CoreState<_0, _1> { + #[codec(index = 0)] + Occupied(runtime_types::polkadot_primitives::v4::OccupiedCore<_0, _1>), + #[codec(index = 1)] + Scheduled(runtime_types::polkadot_primitives::v4::ScheduledCore), + #[codec(index = 2)] + Free, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct DisputeState<_0> { pub validators_for: ::subxt::utils::bits::DecodedBits< ::core::primitive::u8, @@ -45990,6 +50552,21 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct GroupRotationInfo<_0> { + pub session_start_block: _0, + pub group_rotation_frequency: _0, + pub now: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct IndexedVec<_0, _1>( pub ::std::vec::Vec<_1>, #[codec(skip)] pub ::core::marker::PhantomData<_0>, @@ -46045,6 +50622,52 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct OccupiedCore<_0, _1> { + pub next_up_on_available: ::core::option::Option< + runtime_types::polkadot_primitives::v4::ScheduledCore, + >, + pub occupied_since: _1, + pub time_out_at: _1, + pub next_up_on_time_out: ::core::option::Option< + runtime_types::polkadot_primitives::v4::ScheduledCore, + >, + pub availability: ::subxt::utils::bits::DecodedBits< + ::core::primitive::u8, + ::subxt::utils::bits::Lsb0, + >, + pub group_responsible: runtime_types::polkadot_primitives::v4::GroupIndex, + pub candidate_hash: runtime_types::polkadot_core_primitives::CandidateHash, + pub candidate_descriptor: + runtime_types::polkadot_primitives::v4::CandidateDescriptor<_0>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum OccupiedCoreAssumption { + #[codec(index = 0)] + Included, + #[codec(index = 1)] + TimedOut, + #[codec(index = 2)] + Free, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ParathreadClaim( pub runtime_types::polkadot_parachain::primitives::Id, pub runtime_types::polkadot_primitives::v4::collator_app::Public, @@ -46073,6 +50696,22 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PersistedValidationData<_0, _1> { + pub parent_head: runtime_types::polkadot_parachain::primitives::HeadData, + pub relay_parent_number: _1, + pub relay_parent_storage_root: _0, + pub max_pov_size: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct PvfCheckStatement { pub accept: ::core::primitive::bool, pub subject: runtime_types::polkadot_parachain::primitives::ValidationCodeHash, @@ -46121,6 +50760,22 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ScheduledCore { + pub para_id: runtime_types::polkadot_parachain::primitives::Id, + pub collator: ::core::option::Option< + runtime_types::polkadot_primitives::v4::collator_app::Public, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ScrapedOnChainVotes<_0> { pub session: ::core::primitive::u32, pub backing_validators_per_candidate: ::std::vec::Vec<( @@ -49410,10 +54065,182 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BabeConfiguration { + pub slot_duration: ::core::primitive::u64, + pub epoch_length: ::core::primitive::u64, + pub c: (::core::primitive::u64, ::core::primitive::u64), + pub authorities: ::std::vec::Vec<( + runtime_types::sp_consensus_babe::app::Public, + ::core::primitive::u64, + )>, + pub randomness: [::core::primitive::u8; 32usize], + pub allowed_slots: runtime_types::sp_consensus_babe::AllowedSlots, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct BabeEpochConfiguration { pub c: (::core::primitive::u64, ::core::primitive::u64), pub allowed_slots: runtime_types::sp_consensus_babe::AllowedSlots, } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Epoch { + pub epoch_index: ::core::primitive::u64, + pub start_slot: runtime_types::sp_consensus_slots::Slot, + pub duration: ::core::primitive::u64, + pub authorities: ::std::vec::Vec<( + runtime_types::sp_consensus_babe::app::Public, + ::core::primitive::u64, + )>, + pub randomness: [::core::primitive::u8; 32usize], + pub config: runtime_types::sp_consensus_babe::BabeEpochConfiguration, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct OpaqueKeyOwnershipProof(pub ::std::vec::Vec<::core::primitive::u8>); + } + pub mod sp_consensus_beefy { + use super::runtime_types; + pub mod commitment { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Commitment<_0> { + pub payload: runtime_types::sp_consensus_beefy::payload::Payload, + pub block_number: _0, + pub validator_set_id: ::core::primitive::u64, + } + } + pub mod crypto { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Public(pub runtime_types::sp_core::ecdsa::Public); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Signature(pub runtime_types::sp_core::ecdsa::Signature); + } + pub mod payload { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Payload( + pub ::std::vec::Vec<( + [::core::primitive::u8; 2usize], + ::std::vec::Vec<::core::primitive::u8>, + )>, + ); + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct EquivocationProof<_0, _1, _2> { + pub first: runtime_types::sp_consensus_beefy::VoteMessage<_0, _1, _2>, + pub second: runtime_types::sp_consensus_beefy::VoteMessage<_0, _1, _2>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct OpaqueKeyOwnershipProof(pub ::std::vec::Vec<::core::primitive::u8>); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ValidatorSet<_0> { + pub validators: ::std::vec::Vec<_0>, + pub id: ::core::primitive::u64, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct VoteMessage<_0, _1, _2> { + pub commitment: runtime_types::sp_consensus_beefy::commitment::Commitment<_0>, + pub id: _1, + pub signature: _2, + } } pub mod sp_consensus_grandpa { use super::runtime_types; @@ -49484,6 +54311,17 @@ pub mod api { pub set_id: ::core::primitive::u64, pub equivocation: runtime_types::sp_consensus_grandpa::Equivocation<_0, _1>, } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct OpaqueKeyOwnershipProof(pub ::std::vec::Vec<::core::primitive::u8>); } pub mod sp_consensus_slots { use super::runtime_types; @@ -49663,6 +54501,17 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct OpaqueMetadata(pub ::std::vec::Vec<::core::primitive::u8>); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct OpaquePeerId(pub ::std::vec::Vec<::core::primitive::u8>); #[derive( :: subxt :: ext :: codec :: Decode, @@ -49676,6 +54525,101 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Void {} } + pub mod sp_inherents { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CheckInherentsResult { + pub okay: ::core::primitive::bool, + pub fatal_error: ::core::primitive::bool, + pub errors: runtime_types::sp_inherents::InherentData, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct InherentData { + pub data: ::subxt::utils::KeyedVec< + [::core::primitive::u8; 8usize], + ::std::vec::Vec<::core::primitive::u8>, + >, + } + } + pub mod sp_mmr_primitives { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct EncodableOpaqueLeaf(pub ::std::vec::Vec<::core::primitive::u8>); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Error { + #[codec(index = 0)] + InvalidNumericOp, + #[codec(index = 1)] + Push, + #[codec(index = 2)] + GetRoot, + #[codec(index = 3)] + Commit, + #[codec(index = 4)] + GenerateProof, + #[codec(index = 5)] + Verify, + #[codec(index = 6)] + LeafNotFound, + #[codec(index = 7)] + PalletNotIncluded, + #[codec(index = 8)] + InvalidLeafIndex, + #[codec(index = 9)] + InvalidBestKnownBlock, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Proof<_0> { + pub leaf_indices: ::std::vec::Vec<::core::primitive::u64>, + pub leaf_count: ::core::primitive::u64, + pub items: ::std::vec::Vec<_0>, + } + } pub mod sp_npos_elections { use super::runtime_types; #[derive( @@ -49712,6 +54656,23 @@ pub mod api { use super::runtime_types; pub mod generic { use super::runtime_types; + pub mod block { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Block<_0, _1> { + pub header: _0, + pub extrinsics: ::std::vec::Vec<_1>, + } + } pub mod digest { use super::runtime_types; #[derive( @@ -50342,6 +55303,112 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct BlakeTwo256; } + pub mod transaction_validity { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum InvalidTransaction { + #[codec(index = 0)] + Call, + #[codec(index = 1)] + Payment, + #[codec(index = 2)] + Future, + #[codec(index = 3)] + Stale, + #[codec(index = 4)] + BadProof, + #[codec(index = 5)] + AncientBirthBlock, + #[codec(index = 6)] + ExhaustsResources, + #[codec(index = 7)] + Custom(::core::primitive::u8), + #[codec(index = 8)] + BadMandatory, + #[codec(index = 9)] + MandatoryValidation, + #[codec(index = 10)] + BadSigner, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum TransactionSource { + #[codec(index = 0)] + InBlock, + #[codec(index = 1)] + Local, + #[codec(index = 2)] + External, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum TransactionValidityError { + #[codec(index = 0)] + Invalid(runtime_types::sp_runtime::transaction_validity::InvalidTransaction), + #[codec(index = 1)] + Unknown(runtime_types::sp_runtime::transaction_validity::UnknownTransaction), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum UnknownTransaction { + #[codec(index = 0)] + CannotLookup, + #[codec(index = 1)] + NoUnsignedValidator, + #[codec(index = 2)] + Custom(::core::primitive::u8), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ValidTransaction { + pub priority: ::core::primitive::u64, + pub requires: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + pub provides: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + pub longevity: ::core::primitive::u64, + pub propagate: ::core::primitive::bool, + } + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, diff --git a/testing/integration-tests/src/metadata/validation.rs b/testing/integration-tests/src/metadata/validation.rs index c8d30d6418..d5a8642bc9 100644 --- a/testing/integration-tests/src/metadata/validation.rs +++ b/testing/integration-tests/src/metadata/validation.rs @@ -96,10 +96,34 @@ fn default_pallet() -> PalletMetadata { } fn pallets_to_metadata(pallets: Vec) -> RuntimeMetadataV15 { + // Extrinsic needs to contain at least the generic type parameter "Call" + // for the metadata to be valid. + // The "Call" type from the metadata is used to decode extrinsics. + // In reality, the extrinsic type has "Call", "Address", "Extra", "Signature" generic types. + #[allow(unused)] + #[derive(TypeInfo)] + struct ExtrinsicType { + call: Call, + } + // Because this type is used to decode extrinsics, we expect this to be a TypeDefVariant. + // Each pallet must contain one single variant. + #[allow(unused)] + #[derive(TypeInfo)] + enum RuntimeCall { + PalletName(Pallet), + } + // The calls of the pallet. + #[allow(unused)] + #[derive(TypeInfo)] + enum Pallet { + #[allow(unused)] + SomeCall, + } + RuntimeMetadataV15::new( pallets, ExtrinsicMetadata { - ty: meta_type::<()>(), + ty: meta_type::>(), version: 0, signed_extensions: vec![], },