diff --git a/bridges/relays/bin-substrate/Cargo.toml b/bridges/relays/bin-substrate/Cargo.toml
deleted file mode 100644
index 6c0ac1da6fc580cf0f47b32367be44017478edc5..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/Cargo.toml
+++ /dev/null
@@ -1,66 +0,0 @@
-[package]
-name = "substrate-relay"
-version = "1.2.0"
-authors = ["Parity Technologies <admin@parity.io>"]
-edition = "2021"
-license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
-
-[lints]
-workspace = true
-
-[dependencies]
-anyhow = "1.0"
-async-std = "1.9.0"
-async-trait = "0.1.79"
-codec = { package = "parity-scale-codec", version = "3.1.5" }
-env_logger = "0.11"
-futures = "0.3.30"
-hex = "0.4"
-log = { workspace = true }
-num-format = "0.4"
-num-traits = "0.2"
-rbtag = "0.3"
-structopt = "0.3"
-signal-hook = "0.3.15"
-signal-hook-async-std = "0.2.2"
-strum = { version = "0.26.2", features = ["derive"] }
-
-# Bridge dependencies
-bp-bridge-hub-polkadot = { path = "../../chains/chain-bridge-hub-polkadot" }
-bp-bridge-hub-rococo = { path = "../../chains/chain-bridge-hub-rococo" }
-bp-header-chain = { path = "../../primitives/header-chain" }
-bp-messages = { path = "../../primitives/messages" }
-bp-parachains = { path = "../../primitives/parachains" }
-bp-polkadot-bulletin = { path = "../../chains/chain-polkadot-bulletin" }
-bp-polkadot = { path = "../../chains/chain-polkadot" }
-bp-polkadot-core = { path = "../../primitives/polkadot-core" }
-bp-rococo = { path = "../../chains/chain-rococo" }
-bp-runtime = { path = "../../primitives/runtime" }
-bridge-runtime-common = { path = "../../bin/runtime-common" }
-pallet-bridge-parachains = { path = "../../modules/parachains" }
-parachains-relay = { path = "../parachains" }
-relay-bridge-hub-kusama-client = { path = "../client-bridge-hub-kusama" }
-relay-bridge-hub-polkadot-client = { path = "../client-bridge-hub-polkadot" }
-relay-bridge-hub-rococo-client = { path = "../client-bridge-hub-rococo" }
-relay-bridge-hub-westend-client = { path = "../client-bridge-hub-westend" }
-relay-kusama-client = { path = "../client-kusama" }
-relay-polkadot-client = { path = "../client-polkadot" }
-relay-polkadot-bulletin-client = { path = "../client-polkadot-bulletin" }
-relay-rococo-client = { path = "../client-rococo" }
-relay-substrate-client = { path = "../client-substrate" }
-relay-utils = { path = "../utils" }
-relay-westend-client = { path = "../client-westend" }
-substrate-relay-helper = { path = "../lib-substrate-relay" }
-
-# Substrate Dependencies
-
-frame-support = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-
-[dev-dependencies]
-bp-test-utils = { path = "../../primitives/test-utils" }
-hex-literal = "0.4"
-sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-tempfile = "3.10"
-finality-grandpa = { version = "0.16.2" }
diff --git a/bridges/relays/bin-substrate/src/bridges/kusama_polkadot/bridge_hub_kusama_messages_to_bridge_hub_polkadot.rs b/bridges/relays/bin-substrate/src/bridges/kusama_polkadot/bridge_hub_kusama_messages_to_bridge_hub_polkadot.rs
deleted file mode 100644
index fc239ca1ed387a89ffcc9915a32c8ab264fcd861..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/kusama_polkadot/bridge_hub_kusama_messages_to_bridge_hub_polkadot.rs
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright 2022 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! BridgeHubKusama-to-BridgeHubPolkadot messages sync entrypoint.
-
-use relay_bridge_hub_kusama_client::BridgeHubKusama;
-use relay_bridge_hub_polkadot_client::BridgeHubPolkadot;
-use substrate_relay_helper::{
-	cli::bridge::{CliBridgeBase, MessagesCliBridge},
-	messages_lane::SubstrateMessageLane,
-	UtilityPalletBatchCallBuilder,
-};
-
-/// BridgeHubKusama-to-BridgeHubPolkadot messages bridge.
-pub struct BridgeHubKusamaToBridgeHubPolkadotMessagesCliBridge {}
-
-impl CliBridgeBase for BridgeHubKusamaToBridgeHubPolkadotMessagesCliBridge {
-	type Source = BridgeHubKusama;
-	type Target = BridgeHubPolkadot;
-}
-
-impl MessagesCliBridge for BridgeHubKusamaToBridgeHubPolkadotMessagesCliBridge {
-	type MessagesLane = BridgeHubKusamaMessagesToBridgeHubPolkadotMessageLane;
-}
-
-substrate_relay_helper::generate_receive_message_proof_call_builder!(
-	BridgeHubKusamaMessagesToBridgeHubPolkadotMessageLane,
-	BridgeHubKusamaMessagesToBridgeHubPolkadotMessageLaneReceiveMessagesProofCallBuilder,
-	relay_bridge_hub_polkadot_client::RuntimeCall::BridgeKusamaMessages,
-	relay_bridge_hub_polkadot_client::BridgeKusamaMessagesCall::receive_messages_proof
-);
-
-substrate_relay_helper::generate_receive_message_delivery_proof_call_builder!(
-	BridgeHubKusamaMessagesToBridgeHubPolkadotMessageLane,
-	BridgeHubKusamaMessagesToBridgeHubPolkadotMessageLaneReceiveMessagesDeliveryProofCallBuilder,
-	relay_bridge_hub_kusama_client::RuntimeCall::BridgePolkadotMessages,
-	relay_bridge_hub_kusama_client::BridgeMessagesCall::receive_messages_delivery_proof
-);
-
-/// BridgeHubKusama-to-BridgeHubPolkadot messages lane.
-#[derive(Clone, Debug)]
-pub struct BridgeHubKusamaMessagesToBridgeHubPolkadotMessageLane;
-
-impl SubstrateMessageLane for BridgeHubKusamaMessagesToBridgeHubPolkadotMessageLane {
-	type SourceChain = BridgeHubKusama;
-	type TargetChain = BridgeHubPolkadot;
-
-	type ReceiveMessagesProofCallBuilder =
-		BridgeHubKusamaMessagesToBridgeHubPolkadotMessageLaneReceiveMessagesProofCallBuilder;
-	type ReceiveMessagesDeliveryProofCallBuilder =
-		BridgeHubKusamaMessagesToBridgeHubPolkadotMessageLaneReceiveMessagesDeliveryProofCallBuilder;
-
-	type SourceBatchCallBuilder = UtilityPalletBatchCallBuilder<BridgeHubKusama>;
-	type TargetBatchCallBuilder = UtilityPalletBatchCallBuilder<BridgeHubPolkadot>;
-}
diff --git a/bridges/relays/bin-substrate/src/bridges/kusama_polkadot/bridge_hub_polkadot_messages_to_bridge_hub_kusama.rs b/bridges/relays/bin-substrate/src/bridges/kusama_polkadot/bridge_hub_polkadot_messages_to_bridge_hub_kusama.rs
deleted file mode 100644
index 8d8e5e0c35e56dbcc5edbd2991ebd605e9f5150a..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/kusama_polkadot/bridge_hub_polkadot_messages_to_bridge_hub_kusama.rs
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright 2022 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! BridgeHubPolkadot-to-BridgeHubKusama messages sync entrypoint.
-
-use relay_bridge_hub_kusama_client::BridgeHubKusama;
-use relay_bridge_hub_polkadot_client::BridgeHubPolkadot;
-use substrate_relay_helper::{
-	cli::bridge::{CliBridgeBase, MessagesCliBridge},
-	messages_lane::SubstrateMessageLane,
-	UtilityPalletBatchCallBuilder,
-};
-
-/// BridgeHubPolkadot-to-BridgeHubKusama messages bridge.
-pub struct BridgeHubPolkadotToBridgeHubKusamaMessagesCliBridge {}
-
-impl CliBridgeBase for BridgeHubPolkadotToBridgeHubKusamaMessagesCliBridge {
-	type Source = BridgeHubPolkadot;
-	type Target = BridgeHubKusama;
-}
-
-impl MessagesCliBridge for BridgeHubPolkadotToBridgeHubKusamaMessagesCliBridge {
-	type MessagesLane = BridgeHubPolkadotMessagesToBridgeHubKusamaMessageLane;
-}
-
-substrate_relay_helper::generate_receive_message_proof_call_builder!(
-	BridgeHubPolkadotMessagesToBridgeHubKusamaMessageLane,
-	BridgeHubPolkadotMessagesToBridgeHubKusamaMessageLaneReceiveMessagesProofCallBuilder,
-	relay_bridge_hub_kusama_client::RuntimeCall::BridgePolkadotMessages,
-	relay_bridge_hub_kusama_client::BridgeMessagesCall::receive_messages_proof
-);
-
-substrate_relay_helper::generate_receive_message_delivery_proof_call_builder!(
-	BridgeHubPolkadotMessagesToBridgeHubKusamaMessageLane,
-	BridgeHubPolkadotMessagesToBridgeHubKusamaMessageLaneReceiveMessagesDeliveryProofCallBuilder,
-	relay_bridge_hub_polkadot_client::RuntimeCall::BridgeKusamaMessages,
-	relay_bridge_hub_polkadot_client::BridgeKusamaMessagesCall::receive_messages_delivery_proof
-);
-
-/// BridgeHubPolkadot-to-BridgeHubKusama messages lane.
-#[derive(Clone, Debug)]
-pub struct BridgeHubPolkadotMessagesToBridgeHubKusamaMessageLane;
-
-impl SubstrateMessageLane for BridgeHubPolkadotMessagesToBridgeHubKusamaMessageLane {
-	type SourceChain = BridgeHubPolkadot;
-	type TargetChain = BridgeHubKusama;
-
-	type ReceiveMessagesProofCallBuilder =
-		BridgeHubPolkadotMessagesToBridgeHubKusamaMessageLaneReceiveMessagesProofCallBuilder;
-	type ReceiveMessagesDeliveryProofCallBuilder =
-		BridgeHubPolkadotMessagesToBridgeHubKusamaMessageLaneReceiveMessagesDeliveryProofCallBuilder;
-
-	type SourceBatchCallBuilder = UtilityPalletBatchCallBuilder<BridgeHubPolkadot>;
-	type TargetBatchCallBuilder = UtilityPalletBatchCallBuilder<BridgeHubKusama>;
-}
diff --git a/bridges/relays/bin-substrate/src/bridges/kusama_polkadot/kusama_headers_to_bridge_hub_polkadot.rs b/bridges/relays/bin-substrate/src/bridges/kusama_polkadot/kusama_headers_to_bridge_hub_polkadot.rs
deleted file mode 100644
index 196a22cd70d79564720339aa1c3e0d2a81cbf68c..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/kusama_polkadot/kusama_headers_to_bridge_hub_polkadot.rs
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright 2022 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Kusama-to-BridgeHubPolkadot headers sync entrypoint.
-
-use substrate_relay_helper::cli::bridge::{
-	CliBridgeBase, RelayToRelayEquivocationDetectionCliBridge, RelayToRelayHeadersCliBridge,
-};
-
-use async_trait::async_trait;
-use substrate_relay_helper::{
-	equivocation::SubstrateEquivocationDetectionPipeline,
-	finality::SubstrateFinalitySyncPipeline,
-	finality_base::{engine::Grandpa as GrandpaFinalityEngine, SubstrateFinalityPipeline},
-};
-
-/// Description of Kusama -> PolkadotBridgeHub finalized headers bridge.
-#[derive(Clone, Debug)]
-pub struct KusamaFinalityToBridgeHubPolkadot;
-
-substrate_relay_helper::generate_submit_finality_proof_call_builder!(
-	KusamaFinalityToBridgeHubPolkadot,
-	SubmitFinalityProofCallBuilder,
-	relay_bridge_hub_polkadot_client::RuntimeCall::BridgeKusamaGrandpa,
-	relay_bridge_hub_polkadot_client::BridgeKusamaGrandpaCall::submit_finality_proof
-);
-
-substrate_relay_helper::generate_report_equivocation_call_builder!(
-	KusamaFinalityToBridgeHubPolkadot,
-	ReportEquivocationCallBuilder,
-	relay_kusama_client::RuntimeCall::Grandpa,
-	relay_kusama_client::GrandpaCall::report_equivocation
-);
-
-#[async_trait]
-impl SubstrateFinalityPipeline for KusamaFinalityToBridgeHubPolkadot {
-	type SourceChain = relay_kusama_client::Kusama;
-	type TargetChain = relay_bridge_hub_polkadot_client::BridgeHubPolkadot;
-
-	type FinalityEngine = GrandpaFinalityEngine<Self::SourceChain>;
-}
-
-#[async_trait]
-impl SubstrateFinalitySyncPipeline for KusamaFinalityToBridgeHubPolkadot {
-	type SubmitFinalityProofCallBuilder = SubmitFinalityProofCallBuilder;
-}
-
-#[async_trait]
-impl SubstrateEquivocationDetectionPipeline for KusamaFinalityToBridgeHubPolkadot {
-	type ReportEquivocationCallBuilder = ReportEquivocationCallBuilder;
-}
-
-/// `Kusama` to BridgeHub `Polkadot` bridge definition.
-pub struct KusamaToBridgeHubPolkadotCliBridge {}
-
-impl CliBridgeBase for KusamaToBridgeHubPolkadotCliBridge {
-	type Source = relay_kusama_client::Kusama;
-	type Target = relay_bridge_hub_polkadot_client::BridgeHubPolkadot;
-}
-
-impl RelayToRelayHeadersCliBridge for KusamaToBridgeHubPolkadotCliBridge {
-	type Finality = KusamaFinalityToBridgeHubPolkadot;
-}
-
-impl RelayToRelayEquivocationDetectionCliBridge for KusamaToBridgeHubPolkadotCliBridge {
-	type Equivocation = KusamaFinalityToBridgeHubPolkadot;
-}
diff --git a/bridges/relays/bin-substrate/src/bridges/kusama_polkadot/kusama_parachains_to_bridge_hub_polkadot.rs b/bridges/relays/bin-substrate/src/bridges/kusama_polkadot/kusama_parachains_to_bridge_hub_polkadot.rs
deleted file mode 100644
index b39b9700805340703de63be23a80e34643529d37..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/kusama_polkadot/kusama_parachains_to_bridge_hub_polkadot.rs
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright 2019-2021 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Kusama-to-BridgeHubPolkadot parachains sync entrypoint.
-
-use bp_polkadot_core::parachains::{ParaHash, ParaHeadsProof, ParaId};
-use relay_substrate_client::{CallOf, HeaderIdOf};
-use substrate_relay_helper::{
-	cli::bridge::{CliBridgeBase, MessagesCliBridge, ParachainToRelayHeadersCliBridge},
-	parachains::{SubmitParachainHeadsCallBuilder, SubstrateParachainsPipeline},
-};
-
-/// Kusama-to-BridgeHubPolkadot parachain sync description.
-#[derive(Clone, Debug)]
-pub struct BridgeHubKusamaToBridgeHubPolkadot;
-
-impl SubstrateParachainsPipeline for BridgeHubKusamaToBridgeHubPolkadot {
-	type SourceParachain = relay_bridge_hub_kusama_client::BridgeHubKusama;
-	type SourceRelayChain = relay_kusama_client::Kusama;
-	type TargetChain = relay_bridge_hub_polkadot_client::BridgeHubPolkadot;
-
-	type SubmitParachainHeadsCallBuilder = BridgeHubKusamaToBridgeHubPolkadotCallBuilder;
-}
-
-pub struct BridgeHubKusamaToBridgeHubPolkadotCallBuilder;
-impl SubmitParachainHeadsCallBuilder<BridgeHubKusamaToBridgeHubPolkadot>
-	for BridgeHubKusamaToBridgeHubPolkadotCallBuilder
-{
-	fn build_submit_parachain_heads_call(
-		at_relay_block: HeaderIdOf<relay_kusama_client::Kusama>,
-		parachains: Vec<(ParaId, ParaHash)>,
-		parachain_heads_proof: ParaHeadsProof,
-	) -> CallOf<relay_bridge_hub_polkadot_client::BridgeHubPolkadot> {
-		relay_bridge_hub_polkadot_client::RuntimeCall::BridgeKusamaParachains(
-			relay_bridge_hub_polkadot_client::BridgeParachainCall::submit_parachain_heads {
-				at_relay_block: (at_relay_block.0, at_relay_block.1),
-				parachains,
-				parachain_heads_proof,
-			},
-		)
-	}
-}
-
-/// Kusama-to-BridgeHubPolkadot parachain sync description for the CLI.
-pub struct BridgeHubKusamaToBridgeHubPolkadotCliBridge {}
-
-impl ParachainToRelayHeadersCliBridge for BridgeHubKusamaToBridgeHubPolkadotCliBridge {
-	type SourceRelay = relay_kusama_client::Kusama;
-	type ParachainFinality = BridgeHubKusamaToBridgeHubPolkadot;
-	type RelayFinality =
-		crate::bridges::kusama_polkadot::kusama_headers_to_bridge_hub_polkadot::KusamaFinalityToBridgeHubPolkadot;
-}
-
-impl CliBridgeBase for BridgeHubKusamaToBridgeHubPolkadotCliBridge {
-	type Source = relay_bridge_hub_kusama_client::BridgeHubKusama;
-	type Target = relay_bridge_hub_polkadot_client::BridgeHubPolkadot;
-}
-
-impl MessagesCliBridge for BridgeHubKusamaToBridgeHubPolkadotCliBridge {
-	type MessagesLane =
-	crate::bridges::kusama_polkadot::bridge_hub_kusama_messages_to_bridge_hub_polkadot::BridgeHubKusamaMessagesToBridgeHubPolkadotMessageLane;
-}
diff --git a/bridges/relays/bin-substrate/src/bridges/kusama_polkadot/mod.rs b/bridges/relays/bin-substrate/src/bridges/kusama_polkadot/mod.rs
deleted file mode 100644
index 65cd8d9ded6cde97cf4954bbf2274be38534bd0a..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/kusama_polkadot/mod.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright 2019-2021 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Declaration of all bridges between Kusama Bridge Hub and Polkadot Bridge Hub.
-
-pub mod bridge_hub_kusama_messages_to_bridge_hub_polkadot;
-pub mod bridge_hub_polkadot_messages_to_bridge_hub_kusama;
-pub mod kusama_headers_to_bridge_hub_polkadot;
-pub mod kusama_parachains_to_bridge_hub_polkadot;
-pub mod polkadot_headers_to_bridge_hub_kusama;
-pub mod polkadot_parachains_to_bridge_hub_kusama;
diff --git a/bridges/relays/bin-substrate/src/bridges/kusama_polkadot/polkadot_headers_to_bridge_hub_kusama.rs b/bridges/relays/bin-substrate/src/bridges/kusama_polkadot/polkadot_headers_to_bridge_hub_kusama.rs
deleted file mode 100644
index d96326a288de9bb3bf536bb5de42af792b49f419..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/kusama_polkadot/polkadot_headers_to_bridge_hub_kusama.rs
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright 2022 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Polkadot-to-KusamaBridgeHub headers sync entrypoint.
-
-use substrate_relay_helper::cli::bridge::{
-	CliBridgeBase, RelayToRelayEquivocationDetectionCliBridge, RelayToRelayHeadersCliBridge,
-};
-
-use async_trait::async_trait;
-use substrate_relay_helper::{
-	equivocation::SubstrateEquivocationDetectionPipeline,
-	finality::SubstrateFinalitySyncPipeline,
-	finality_base::{engine::Grandpa as GrandpaFinalityEngine, SubstrateFinalityPipeline},
-};
-
-/// Description of Polkadot -> KusamaBridgeHub finalized headers bridge.
-#[derive(Clone, Debug)]
-pub struct PolkadotFinalityToBridgeHubKusama;
-
-substrate_relay_helper::generate_submit_finality_proof_call_builder!(
-	PolkadotFinalityToBridgeHubKusama,
-	SubmitFinalityProofCallBuilder,
-	relay_bridge_hub_kusama_client::RuntimeCall::BridgePolkadotGrandpa,
-	relay_bridge_hub_kusama_client::BridgeGrandpaCall::submit_finality_proof
-);
-
-substrate_relay_helper::generate_report_equivocation_call_builder!(
-	PolkadotFinalityToBridgeHubKusama,
-	ReportEquivocationCallBuilder,
-	relay_polkadot_client::RuntimeCall::Grandpa,
-	relay_polkadot_client::GrandpaCall::report_equivocation
-);
-
-#[async_trait]
-impl SubstrateFinalityPipeline for PolkadotFinalityToBridgeHubKusama {
-	type SourceChain = relay_polkadot_client::Polkadot;
-	type TargetChain = relay_bridge_hub_kusama_client::BridgeHubKusama;
-
-	type FinalityEngine = GrandpaFinalityEngine<Self::SourceChain>;
-}
-
-#[async_trait]
-impl SubstrateFinalitySyncPipeline for PolkadotFinalityToBridgeHubKusama {
-	type SubmitFinalityProofCallBuilder = SubmitFinalityProofCallBuilder;
-}
-
-#[async_trait]
-impl SubstrateEquivocationDetectionPipeline for PolkadotFinalityToBridgeHubKusama {
-	type ReportEquivocationCallBuilder = ReportEquivocationCallBuilder;
-}
-
-/// `Polkadot` to BridgeHub `Kusama` bridge definition.
-pub struct PolkadotToBridgeHubKusamaCliBridge {}
-
-impl CliBridgeBase for PolkadotToBridgeHubKusamaCliBridge {
-	type Source = relay_polkadot_client::Polkadot;
-	type Target = relay_bridge_hub_kusama_client::BridgeHubKusama;
-}
-
-impl RelayToRelayHeadersCliBridge for PolkadotToBridgeHubKusamaCliBridge {
-	type Finality = PolkadotFinalityToBridgeHubKusama;
-}
-
-impl RelayToRelayEquivocationDetectionCliBridge for PolkadotToBridgeHubKusamaCliBridge {
-	type Equivocation = PolkadotFinalityToBridgeHubKusama;
-}
diff --git a/bridges/relays/bin-substrate/src/bridges/kusama_polkadot/polkadot_parachains_to_bridge_hub_kusama.rs b/bridges/relays/bin-substrate/src/bridges/kusama_polkadot/polkadot_parachains_to_bridge_hub_kusama.rs
deleted file mode 100644
index 25ce53cb5990dc9fc9ac7e69c6ddc2f69b6facb0..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/kusama_polkadot/polkadot_parachains_to_bridge_hub_kusama.rs
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright 2019-2021 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Polkadot-to-BridgeHubKusama parachains sync entrypoint.
-
-use bp_polkadot_core::parachains::{ParaHash, ParaHeadsProof, ParaId};
-use relay_substrate_client::{CallOf, HeaderIdOf};
-use substrate_relay_helper::{
-	cli::bridge::{CliBridgeBase, MessagesCliBridge, ParachainToRelayHeadersCliBridge},
-	parachains::{SubmitParachainHeadsCallBuilder, SubstrateParachainsPipeline},
-};
-
-/// Polkadot-to-BridgeHubKusama parachain sync description.
-#[derive(Clone, Debug)]
-pub struct BridgeHubPolkadotToBridgeHubKusama;
-
-impl SubstrateParachainsPipeline for BridgeHubPolkadotToBridgeHubKusama {
-	type SourceParachain = relay_bridge_hub_polkadot_client::BridgeHubPolkadot;
-	type SourceRelayChain = relay_polkadot_client::Polkadot;
-	type TargetChain = relay_bridge_hub_kusama_client::BridgeHubKusama;
-
-	type SubmitParachainHeadsCallBuilder = BridgeHubPolkadotToBridgeHubKusamaCallBuilder;
-}
-
-pub struct BridgeHubPolkadotToBridgeHubKusamaCallBuilder;
-impl SubmitParachainHeadsCallBuilder<BridgeHubPolkadotToBridgeHubKusama>
-	for BridgeHubPolkadotToBridgeHubKusamaCallBuilder
-{
-	fn build_submit_parachain_heads_call(
-		at_relay_block: HeaderIdOf<relay_polkadot_client::Polkadot>,
-		parachains: Vec<(ParaId, ParaHash)>,
-		parachain_heads_proof: ParaHeadsProof,
-	) -> CallOf<relay_bridge_hub_kusama_client::BridgeHubKusama> {
-		relay_bridge_hub_kusama_client::RuntimeCall::BridgePolkadotParachains(
-			relay_bridge_hub_kusama_client::BridgeParachainCall::submit_parachain_heads {
-				at_relay_block: (at_relay_block.0, at_relay_block.1),
-				parachains,
-				parachain_heads_proof,
-			},
-		)
-	}
-}
-
-/// Polkadot-to-BridgeHubKusama parachain sync description for the CLI.
-pub struct BridgeHubPolkadotToBridgeHubKusamaCliBridge {}
-
-impl ParachainToRelayHeadersCliBridge for BridgeHubPolkadotToBridgeHubKusamaCliBridge {
-	type SourceRelay = relay_polkadot_client::Polkadot;
-	type ParachainFinality = BridgeHubPolkadotToBridgeHubKusama;
-	type RelayFinality =
-		crate::bridges::kusama_polkadot::polkadot_headers_to_bridge_hub_kusama::PolkadotFinalityToBridgeHubKusama;
-}
-
-impl CliBridgeBase for BridgeHubPolkadotToBridgeHubKusamaCliBridge {
-	type Source = relay_bridge_hub_polkadot_client::BridgeHubPolkadot;
-	type Target = relay_bridge_hub_kusama_client::BridgeHubKusama;
-}
-
-impl MessagesCliBridge for BridgeHubPolkadotToBridgeHubKusamaCliBridge {
-	type MessagesLane =
-	crate::bridges::kusama_polkadot::bridge_hub_polkadot_messages_to_bridge_hub_kusama::BridgeHubPolkadotMessagesToBridgeHubKusamaMessageLane;
-}
diff --git a/bridges/relays/bin-substrate/src/bridges/mod.rs b/bridges/relays/bin-substrate/src/bridges/mod.rs
deleted file mode 100644
index cfe59c87567dad4f3e1a3c9609d2c45f68d2b477..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/mod.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2019-2021 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Declaration of all bridges that the relay is able to serve.
-
-pub mod kusama_polkadot;
-pub mod polkadot_bulletin;
-pub mod rococo_bulletin;
-pub mod rococo_westend;
diff --git a/bridges/relays/bin-substrate/src/bridges/polkadot_bulletin/bridge_hub_polkadot_messages_to_polkadot_bulletin.rs b/bridges/relays/bin-substrate/src/bridges/polkadot_bulletin/bridge_hub_polkadot_messages_to_polkadot_bulletin.rs
deleted file mode 100644
index 8114d23296f0c47c852d7fe883de9deb49603e40..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/polkadot_bulletin/bridge_hub_polkadot_messages_to_polkadot_bulletin.rs
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2022 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! BridgeHubPolkadot-to-PolkadotBulletin messages sync entrypoint.
-
-use relay_bridge_hub_polkadot_client::BridgeHubPolkadot;
-use relay_polkadot_bulletin_client::PolkadotBulletin;
-use substrate_relay_helper::{
-	cli::bridge::{CliBridgeBase, MessagesCliBridge},
-	messages_lane::SubstrateMessageLane,
-	UtilityPalletBatchCallBuilder,
-};
-
-/// BridgeHubPolkadot-to-PolkadotBulletin messages bridge.
-pub struct BridgeHubPolkadotToPolkadotBulletinMessagesCliBridge {}
-
-impl CliBridgeBase for BridgeHubPolkadotToPolkadotBulletinMessagesCliBridge {
-	type Source = BridgeHubPolkadot;
-	type Target = PolkadotBulletin;
-}
-
-impl MessagesCliBridge for BridgeHubPolkadotToPolkadotBulletinMessagesCliBridge {
-	type MessagesLane = BridgeHubPolkadotMessagesToPolkadotBulletinMessageLane;
-}
-
-substrate_relay_helper::generate_receive_message_proof_call_builder!(
-	BridgeHubPolkadotMessagesToPolkadotBulletinMessageLane,
-	BridgeHubPolkadotMessagesToPolkadotBulletinMessageLaneReceiveMessagesProofCallBuilder,
-	relay_polkadot_bulletin_client::RuntimeCall::BridgePolkadotMessages,
-	relay_polkadot_bulletin_client::BridgePolkadotMessagesCall::receive_messages_proof
-);
-
-substrate_relay_helper::generate_receive_message_delivery_proof_call_builder!(
-	BridgeHubPolkadotMessagesToPolkadotBulletinMessageLane,
-	BridgeHubPolkadotMessagesToPolkadotBulletinMessageLaneReceiveMessagesDeliveryProofCallBuilder,
-	// TODO: https://github.com/paritytech/parity-bridges-common/issues/2547 - use BridgePolkadotBulletinMessages
-	relay_bridge_hub_polkadot_client::RuntimeCall::BridgeKusamaMessages,
-	relay_bridge_hub_polkadot_client::BridgePolkadotBulletinMessagesCall::receive_messages_delivery_proof
-);
-
-/// BridgeHubPolkadot-to-PolkadotBulletin messages lane.
-#[derive(Clone, Debug)]
-pub struct BridgeHubPolkadotMessagesToPolkadotBulletinMessageLane;
-
-impl SubstrateMessageLane for BridgeHubPolkadotMessagesToPolkadotBulletinMessageLane {
-	type SourceChain = BridgeHubPolkadot;
-	type TargetChain = PolkadotBulletin;
-
-	type ReceiveMessagesProofCallBuilder =
-		BridgeHubPolkadotMessagesToPolkadotBulletinMessageLaneReceiveMessagesProofCallBuilder;
-	type ReceiveMessagesDeliveryProofCallBuilder =
-		BridgeHubPolkadotMessagesToPolkadotBulletinMessageLaneReceiveMessagesDeliveryProofCallBuilder;
-
-	type SourceBatchCallBuilder = UtilityPalletBatchCallBuilder<BridgeHubPolkadot>;
-	type TargetBatchCallBuilder = ();
-}
diff --git a/bridges/relays/bin-substrate/src/bridges/polkadot_bulletin/mod.rs b/bridges/relays/bin-substrate/src/bridges/polkadot_bulletin/mod.rs
deleted file mode 100644
index d7c740f601abcb886fe4937172e18759dbcdab2f..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/polkadot_bulletin/mod.rs
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2019-2021 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Declaration of all bridges between Polkadot Bulletin Chain and Polkadot Bridge Hub.
-
-pub mod bridge_hub_polkadot_messages_to_polkadot_bulletin;
-pub mod polkadot_bulletin_headers_to_bridge_hub_polkadot;
-pub mod polkadot_bulletin_messages_to_bridge_hub_polkadot;
-pub mod polkadot_headers_to_polkadot_bulletin;
-pub mod polkadot_parachains_to_polkadot_bulletin;
diff --git a/bridges/relays/bin-substrate/src/bridges/polkadot_bulletin/polkadot_bulletin_headers_to_bridge_hub_polkadot.rs b/bridges/relays/bin-substrate/src/bridges/polkadot_bulletin/polkadot_bulletin_headers_to_bridge_hub_polkadot.rs
deleted file mode 100644
index eb63785d3bb3942f48e203d6afbe0ea9b931f1ff..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/polkadot_bulletin/polkadot_bulletin_headers_to_bridge_hub_polkadot.rs
+++ /dev/null
@@ -1,86 +0,0 @@
-// Copyright 2022 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! PolkadotBulletin-to-BridgeHubPolkadot headers sync entrypoint.
-
-use async_trait::async_trait;
-use substrate_relay_helper::{
-	equivocation::SubstrateEquivocationDetectionPipeline,
-	finality::SubstrateFinalitySyncPipeline,
-	finality_base::{engine::Grandpa as GrandpaFinalityEngine, SubstrateFinalityPipeline},
-};
-
-use substrate_relay_helper::cli::bridge::{
-	CliBridgeBase, MessagesCliBridge, RelayToRelayEquivocationDetectionCliBridge,
-	RelayToRelayHeadersCliBridge,
-};
-
-/// Description of `PolkadotBulletin` -> `PolkadotBridgeHub` finalized headers bridge.
-#[derive(Clone, Debug)]
-pub struct PolkadotBulletinFinalityToBridgeHubPolkadot;
-
-substrate_relay_helper::generate_submit_finality_proof_call_builder!(
-	PolkadotBulletinFinalityToBridgeHubPolkadot,
-	SubmitFinalityProofCallBuilder,
-	// TODO: https://github.com/paritytech/parity-bridges-common/issues/2547 - use BridgePolkadotBulletinGrandpa
-	relay_bridge_hub_polkadot_client::RuntimeCall::BridgeKusamaGrandpa,
-	relay_bridge_hub_polkadot_client::BridgePolkadotBulletinGrandpaCall::submit_finality_proof
-);
-
-substrate_relay_helper::generate_report_equivocation_call_builder!(
-	PolkadotBulletinFinalityToBridgeHubPolkadot,
-	ReportEquivocationCallBuilder,
-	relay_polkadot_bulletin_client::RuntimeCall::Grandpa,
-	relay_polkadot_bulletin_client::GrandpaCall::report_equivocation
-);
-
-#[async_trait]
-impl SubstrateFinalityPipeline for PolkadotBulletinFinalityToBridgeHubPolkadot {
-	type SourceChain = relay_polkadot_bulletin_client::PolkadotBulletin;
-	type TargetChain = relay_bridge_hub_polkadot_client::BridgeHubPolkadot;
-
-	type FinalityEngine = GrandpaFinalityEngine<Self::SourceChain>;
-}
-
-#[async_trait]
-impl SubstrateFinalitySyncPipeline for PolkadotBulletinFinalityToBridgeHubPolkadot {
-	type SubmitFinalityProofCallBuilder = SubmitFinalityProofCallBuilder;
-}
-
-#[async_trait]
-impl SubstrateEquivocationDetectionPipeline for PolkadotBulletinFinalityToBridgeHubPolkadot {
-	type ReportEquivocationCallBuilder = ReportEquivocationCallBuilder;
-}
-
-/// `PolkadotBulletin` to BridgeHub `Polkadot` bridge definition.
-pub struct PolkadotBulletinToBridgeHubPolkadotCliBridge {}
-
-impl CliBridgeBase for PolkadotBulletinToBridgeHubPolkadotCliBridge {
-	type Source = relay_polkadot_bulletin_client::PolkadotBulletin;
-	type Target = relay_bridge_hub_polkadot_client::BridgeHubPolkadot;
-}
-
-impl RelayToRelayHeadersCliBridge for PolkadotBulletinToBridgeHubPolkadotCliBridge {
-	type Finality = PolkadotBulletinFinalityToBridgeHubPolkadot;
-}
-
-impl RelayToRelayEquivocationDetectionCliBridge for PolkadotBulletinToBridgeHubPolkadotCliBridge {
-	type Equivocation = PolkadotBulletinFinalityToBridgeHubPolkadot;
-}
-
-impl MessagesCliBridge for PolkadotBulletinToBridgeHubPolkadotCliBridge {
-	type MessagesLane = crate::bridges::polkadot_bulletin::polkadot_bulletin_messages_to_bridge_hub_polkadot::PolkadotBulletinMessagesToBridgeHubPolkadotMessageLane;
-}
diff --git a/bridges/relays/bin-substrate/src/bridges/polkadot_bulletin/polkadot_bulletin_messages_to_bridge_hub_polkadot.rs b/bridges/relays/bin-substrate/src/bridges/polkadot_bulletin/polkadot_bulletin_messages_to_bridge_hub_polkadot.rs
deleted file mode 100644
index 1c04f8788101670237ceaf5df7ce885b89fe2e00..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/polkadot_bulletin/polkadot_bulletin_messages_to_bridge_hub_polkadot.rs
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2022 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! PolkadotBulletin-to-BridgeHubPolkadot messages sync entrypoint.
-
-use relay_bridge_hub_polkadot_client::BridgeHubPolkadot;
-use relay_polkadot_bulletin_client::PolkadotBulletin;
-use substrate_relay_helper::{
-	cli::bridge::{CliBridgeBase, MessagesCliBridge},
-	messages_lane::SubstrateMessageLane,
-	UtilityPalletBatchCallBuilder,
-};
-
-/// PolkadotBulletin-to-BridgeHubPolkadot messages bridge.
-pub struct PolkadotBulletinToBridgeHubPolkadotMessagesCliBridge {}
-
-impl CliBridgeBase for PolkadotBulletinToBridgeHubPolkadotMessagesCliBridge {
-	type Source = PolkadotBulletin;
-	type Target = BridgeHubPolkadot;
-}
-
-impl MessagesCliBridge for PolkadotBulletinToBridgeHubPolkadotMessagesCliBridge {
-	type MessagesLane = PolkadotBulletinMessagesToBridgeHubPolkadotMessageLane;
-}
-
-substrate_relay_helper::generate_receive_message_proof_call_builder!(
-	PolkadotBulletinMessagesToBridgeHubPolkadotMessageLane,
-	PolkadotBulletinMessagesToBridgeHubPolkadotMessageLaneReceiveMessagesProofCallBuilder,
-	// TODO: https://github.com/paritytech/parity-bridges-common/issues/2547 - use BridgePolkadotBulletinMessages
-	relay_bridge_hub_polkadot_client::RuntimeCall::BridgeKusamaMessages,
-	relay_bridge_hub_polkadot_client::BridgePolkadotBulletinMessagesCall::receive_messages_proof
-);
-
-substrate_relay_helper::generate_receive_message_delivery_proof_call_builder!(
-	PolkadotBulletinMessagesToBridgeHubPolkadotMessageLane,
-	PolkadotBulletinMessagesToBridgeHubPolkadotMessageLaneReceiveMessagesDeliveryProofCallBuilder,
-	relay_polkadot_bulletin_client::RuntimeCall::BridgePolkadotMessages,
-	relay_polkadot_bulletin_client::BridgePolkadotMessagesCall::receive_messages_delivery_proof
-);
-
-/// PolkadotBulletin-to-BridgeHubPolkadot messages lane.
-#[derive(Clone, Debug)]
-pub struct PolkadotBulletinMessagesToBridgeHubPolkadotMessageLane;
-
-impl SubstrateMessageLane for PolkadotBulletinMessagesToBridgeHubPolkadotMessageLane {
-	type SourceChain = PolkadotBulletin;
-	type TargetChain = BridgeHubPolkadot;
-
-	type ReceiveMessagesProofCallBuilder =
-		PolkadotBulletinMessagesToBridgeHubPolkadotMessageLaneReceiveMessagesProofCallBuilder;
-	type ReceiveMessagesDeliveryProofCallBuilder =
-		PolkadotBulletinMessagesToBridgeHubPolkadotMessageLaneReceiveMessagesDeliveryProofCallBuilder;
-
-	type SourceBatchCallBuilder = ();
-	type TargetBatchCallBuilder = UtilityPalletBatchCallBuilder<BridgeHubPolkadot>;
-}
diff --git a/bridges/relays/bin-substrate/src/bridges/polkadot_bulletin/polkadot_headers_to_polkadot_bulletin.rs b/bridges/relays/bin-substrate/src/bridges/polkadot_bulletin/polkadot_headers_to_polkadot_bulletin.rs
deleted file mode 100644
index 7996d1613c8dd31390c1bc2667410d920d60f7f2..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/polkadot_bulletin/polkadot_headers_to_polkadot_bulletin.rs
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright 2022 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Polkadot-to-PolkadotBulletin headers sync entrypoint.
-
-use async_trait::async_trait;
-use substrate_relay_helper::{
-	equivocation::SubstrateEquivocationDetectionPipeline,
-	finality::SubstrateFinalitySyncPipeline,
-	finality_base::{engine::Grandpa as GrandpaFinalityEngine, SubstrateFinalityPipeline},
-};
-
-use substrate_relay_helper::cli::bridge::{
-	CliBridgeBase, RelayToRelayEquivocationDetectionCliBridge, RelayToRelayHeadersCliBridge,
-};
-
-/// Description of Polkadot -> `PolkadotBulletin` finalized headers bridge.
-#[derive(Clone, Debug)]
-pub struct PolkadotFinalityToPolkadotBulletin;
-
-substrate_relay_helper::generate_submit_finality_proof_call_builder!(
-	PolkadotFinalityToPolkadotBulletin,
-	SubmitFinalityProofCallBuilder,
-	relay_polkadot_bulletin_client::RuntimeCall::BridgePolkadotGrandpa,
-	relay_polkadot_bulletin_client::BridgePolkadotGrandpaCall::submit_finality_proof
-);
-
-substrate_relay_helper::generate_report_equivocation_call_builder!(
-	PolkadotFinalityToPolkadotBulletin,
-	ReportEquivocationCallBuilder,
-	relay_polkadot_client::RuntimeCall::Grandpa,
-	relay_polkadot_client::GrandpaCall::report_equivocation
-);
-
-#[async_trait]
-impl SubstrateFinalityPipeline for PolkadotFinalityToPolkadotBulletin {
-	type SourceChain = relay_polkadot_client::Polkadot;
-	type TargetChain = relay_polkadot_bulletin_client::PolkadotBulletin;
-
-	type FinalityEngine = GrandpaFinalityEngine<Self::SourceChain>;
-}
-
-#[async_trait]
-impl SubstrateFinalitySyncPipeline for PolkadotFinalityToPolkadotBulletin {
-	type SubmitFinalityProofCallBuilder = SubmitFinalityProofCallBuilder;
-}
-
-#[async_trait]
-impl SubstrateEquivocationDetectionPipeline for PolkadotFinalityToPolkadotBulletin {
-	type ReportEquivocationCallBuilder = ReportEquivocationCallBuilder;
-}
-
-/// `Polkadot` to BridgeHub `PolkadotBulletin` bridge definition.
-pub struct PolkadotToPolkadotBulletinCliBridge {}
-
-impl CliBridgeBase for PolkadotToPolkadotBulletinCliBridge {
-	type Source = relay_polkadot_client::Polkadot;
-	type Target = relay_polkadot_bulletin_client::PolkadotBulletin;
-}
-
-impl RelayToRelayHeadersCliBridge for PolkadotToPolkadotBulletinCliBridge {
-	type Finality = PolkadotFinalityToPolkadotBulletin;
-}
-
-impl RelayToRelayEquivocationDetectionCliBridge for PolkadotToPolkadotBulletinCliBridge {
-	type Equivocation = PolkadotFinalityToPolkadotBulletin;
-}
diff --git a/bridges/relays/bin-substrate/src/bridges/polkadot_bulletin/polkadot_parachains_to_polkadot_bulletin.rs b/bridges/relays/bin-substrate/src/bridges/polkadot_bulletin/polkadot_parachains_to_polkadot_bulletin.rs
deleted file mode 100644
index 0bfce11ba710edecc9af5bf49154ab841df8b522..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/polkadot_bulletin/polkadot_parachains_to_polkadot_bulletin.rs
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright 2019-2021 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Polkadot-to-PolkadotBulletin parachains sync entrypoint.
-
-use substrate_relay_helper::cli::bridge::{
-	CliBridgeBase, MessagesCliBridge, ParachainToRelayHeadersCliBridge,
-};
-
-use bp_polkadot_core::parachains::{ParaHash, ParaHeadsProof, ParaId};
-use bp_runtime::Chain;
-use relay_substrate_client::{CallOf, HeaderIdOf};
-use substrate_relay_helper::{
-	messages_lane::MessagesRelayLimits,
-	parachains::{SubmitParachainHeadsCallBuilder, SubstrateParachainsPipeline},
-};
-
-/// Polkadot-to-PolkadotBulletin parachain sync description.
-#[derive(Clone, Debug)]
-pub struct PolkadotToPolkadotBulletin;
-
-impl SubstrateParachainsPipeline for PolkadotToPolkadotBulletin {
-	type SourceParachain = relay_bridge_hub_polkadot_client::BridgeHubPolkadot;
-	type SourceRelayChain = relay_polkadot_client::Polkadot;
-	type TargetChain = relay_polkadot_bulletin_client::PolkadotBulletin;
-
-	type SubmitParachainHeadsCallBuilder = PolkadotToPolkadotBulletinCallBuilder;
-}
-
-pub struct PolkadotToPolkadotBulletinCallBuilder;
-impl SubmitParachainHeadsCallBuilder<PolkadotToPolkadotBulletin>
-	for PolkadotToPolkadotBulletinCallBuilder
-{
-	fn build_submit_parachain_heads_call(
-		at_relay_block: HeaderIdOf<relay_polkadot_client::Polkadot>,
-		parachains: Vec<(ParaId, ParaHash)>,
-		parachain_heads_proof: ParaHeadsProof,
-	) -> CallOf<relay_polkadot_bulletin_client::PolkadotBulletin> {
-		relay_polkadot_bulletin_client::RuntimeCall::BridgePolkadotParachains(
-			relay_polkadot_bulletin_client::BridgePolkadotParachainsCall::submit_parachain_heads {
-				at_relay_block: (at_relay_block.0, at_relay_block.1),
-				parachains,
-				parachain_heads_proof,
-			},
-		)
-	}
-}
-
-/// Polkadot-to-PolkadotBulletin parachain sync description for the CLI.
-pub struct PolkadotToPolkadotBulletinCliBridge {}
-
-impl ParachainToRelayHeadersCliBridge for PolkadotToPolkadotBulletinCliBridge {
-	type SourceRelay = relay_polkadot_client::Polkadot;
-	type ParachainFinality = PolkadotToPolkadotBulletin;
-	type RelayFinality =
-		crate::bridges::polkadot_bulletin::polkadot_headers_to_polkadot_bulletin::PolkadotFinalityToPolkadotBulletin;
-}
-
-impl CliBridgeBase for PolkadotToPolkadotBulletinCliBridge {
-	type Source = relay_bridge_hub_polkadot_client::BridgeHubPolkadot;
-	type Target = relay_polkadot_bulletin_client::PolkadotBulletin;
-}
-
-impl MessagesCliBridge for PolkadotToPolkadotBulletinCliBridge {
-	type MessagesLane =
-		crate::bridges::polkadot_bulletin::bridge_hub_polkadot_messages_to_polkadot_bulletin::BridgeHubPolkadotMessagesToPolkadotBulletinMessageLane;
-
-	fn maybe_messages_limits() -> Option<MessagesRelayLimits> {
-		// Polkadot Bulletin chain is missing the `TransactionPayment` runtime API (as well as the
-		// transaction payment pallet itself), so we can't estimate limits using runtime calls.
-		// Let's do it here.
-		//
-		// Folloiung constants are just safe **underestimations**. Normally, we are able to deliver
-		// and dispatch thousands of messages in the same transaction.
-		Some(MessagesRelayLimits {
-			max_messages_in_single_batch: 128,
-			max_messages_weight_in_single_batch:
-				bp_polkadot_bulletin::PolkadotBulletin::max_extrinsic_weight() / 20,
-		})
-	}
-}
diff --git a/bridges/relays/bin-substrate/src/bridges/rococo_bulletin/bridge_hub_rococo_messages_to_rococo_bulletin.rs b/bridges/relays/bin-substrate/src/bridges/rococo_bulletin/bridge_hub_rococo_messages_to_rococo_bulletin.rs
deleted file mode 100644
index b8e95556bff112de7279fe0eee53ae57db2ec10e..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/rococo_bulletin/bridge_hub_rococo_messages_to_rococo_bulletin.rs
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright 2022 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! BridgeHubRococo-to-RococoBulletin messages sync entrypoint.
-
-use super::BridgeHubRococoAsBridgeHubPolkadot;
-use relay_polkadot_bulletin_client::PolkadotBulletin as RococoBulletin;
-use substrate_relay_helper::{
-	cli::bridge::{CliBridgeBase, MessagesCliBridge},
-	messages_lane::SubstrateMessageLane,
-	UtilityPalletBatchCallBuilder,
-};
-
-/// BridgeHubRococo-to-RococoBulletin messages bridge.
-pub struct BridgeHubRococoToRococoBulletinMessagesCliBridge {}
-
-impl CliBridgeBase for BridgeHubRococoToRococoBulletinMessagesCliBridge {
-	type Source = BridgeHubRococoAsBridgeHubPolkadot;
-	type Target = RococoBulletin;
-}
-
-impl MessagesCliBridge for BridgeHubRococoToRococoBulletinMessagesCliBridge {
-	type MessagesLane = BridgeHubRococoMessagesToRococoBulletinMessageLane;
-}
-
-substrate_relay_helper::generate_receive_message_proof_call_builder!(
-	BridgeHubRococoMessagesToRococoBulletinMessageLane,
-	BridgeHubRococoMessagesToRococoBulletinMessageLaneReceiveMessagesProofCallBuilder,
-	relay_polkadot_bulletin_client::RuntimeCall::BridgePolkadotMessages,
-	relay_polkadot_bulletin_client::BridgePolkadotMessagesCall::receive_messages_proof
-);
-
-substrate_relay_helper::generate_receive_message_delivery_proof_call_builder!(
-	BridgeHubRococoMessagesToRococoBulletinMessageLane,
-	BridgeHubRococoMessagesToRococoBulletinMessageLaneReceiveMessagesDeliveryProofCallBuilder,
-	relay_bridge_hub_rococo_client::RuntimeCall::BridgePolkadotBulletinMessages,
-	relay_bridge_hub_rococo_client::BridgeBulletinMessagesCall::receive_messages_delivery_proof
-);
-
-/// BridgeHubRococo-to-RococoBulletin messages lane.
-#[derive(Clone, Debug)]
-pub struct BridgeHubRococoMessagesToRococoBulletinMessageLane;
-
-impl SubstrateMessageLane for BridgeHubRococoMessagesToRococoBulletinMessageLane {
-	type SourceChain = BridgeHubRococoAsBridgeHubPolkadot;
-	type TargetChain = RococoBulletin;
-
-	type ReceiveMessagesProofCallBuilder =
-		BridgeHubRococoMessagesToRococoBulletinMessageLaneReceiveMessagesProofCallBuilder;
-	type ReceiveMessagesDeliveryProofCallBuilder =
-		BridgeHubRococoMessagesToRococoBulletinMessageLaneReceiveMessagesDeliveryProofCallBuilder;
-
-	type SourceBatchCallBuilder = UtilityPalletBatchCallBuilder<BridgeHubRococoAsBridgeHubPolkadot>;
-	type TargetBatchCallBuilder = ();
-}
diff --git a/bridges/relays/bin-substrate/src/bridges/rococo_bulletin/mod.rs b/bridges/relays/bin-substrate/src/bridges/rococo_bulletin/mod.rs
deleted file mode 100644
index 738fea8c5281e7c459af0557c03fd68fa748edc1..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/rococo_bulletin/mod.rs
+++ /dev/null
@@ -1,237 +0,0 @@
-// Copyright 2019-2021 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Declaration of all bridges between Rococo Bulletin Chain and Rococo Bridge Hub.
-
-use bp_messages::MessageNonce;
-use bp_runtime::{
-	AccountIdOf, BalanceOf, BlockNumberOf, ChainId, HashOf, HasherOf, HeaderOf, NonceOf,
-	SignatureOf,
-};
-use frame_support::pallet_prelude::Weight;
-use relay_substrate_client::{
-	ChainWithRuntimeVersion, Error as SubstrateError, SignParam, SimpleRuntimeVersion,
-	UnsignedTransaction,
-};
-use sp_core::storage::StorageKey;
-use std::time::Duration;
-
-pub mod bridge_hub_rococo_messages_to_rococo_bulletin;
-pub mod rococo_bulletin_headers_to_bridge_hub_rococo;
-pub mod rococo_bulletin_messages_to_bridge_hub_rococo;
-pub mod rococo_headers_to_rococo_bulletin;
-pub mod rococo_parachains_to_rococo_bulletin;
-
-/// Base `Chain` implementation of Rococo, pretending to be Polkadot.
-pub struct RococoBaseAsPolkadot;
-
-impl bp_runtime::Chain for RococoBaseAsPolkadot {
-	const ID: ChainId = relay_rococo_client::Rococo::ID;
-
-	type BlockNumber = BlockNumberOf<bp_rococo::Rococo>;
-	type Hash = HashOf<bp_rococo::Rococo>;
-	type Hasher = HasherOf<bp_rococo::Rococo>;
-	type Header = HeaderOf<bp_rococo::Rococo>;
-
-	type AccountId = AccountIdOf<bp_rococo::Rococo>;
-	type Balance = BalanceOf<bp_rococo::Rococo>;
-	type Nonce = NonceOf<bp_rococo::Rococo>;
-	type Signature = SignatureOf<bp_rococo::Rococo>;
-
-	fn max_extrinsic_size() -> u32 {
-		bp_rococo::Rococo::max_extrinsic_size()
-	}
-
-	fn max_extrinsic_weight() -> Weight {
-		bp_rococo::Rococo::max_extrinsic_weight()
-	}
-}
-
-impl bp_header_chain::ChainWithGrandpa for RococoBaseAsPolkadot {
-	const WITH_CHAIN_GRANDPA_PALLET_NAME: &'static str =
-		bp_polkadot::Polkadot::WITH_CHAIN_GRANDPA_PALLET_NAME;
-	const MAX_AUTHORITIES_COUNT: u32 = bp_rococo::Rococo::MAX_AUTHORITIES_COUNT;
-	const REASONABLE_HEADERS_IN_JUSTIFICATON_ANCESTRY: u32 =
-		bp_rococo::Rococo::REASONABLE_HEADERS_IN_JUSTIFICATON_ANCESTRY;
-	const MAX_MANDATORY_HEADER_SIZE: u32 = bp_rococo::Rococo::MAX_MANDATORY_HEADER_SIZE;
-	const AVERAGE_HEADER_SIZE: u32 = bp_rococo::Rococo::AVERAGE_HEADER_SIZE;
-}
-
-/// Relay `Chain` implementation of Rococo, pretending to be Polkadot.
-#[derive(Debug, Clone, Copy)]
-pub struct RococoAsPolkadot;
-
-impl bp_runtime::UnderlyingChainProvider for RococoAsPolkadot {
-	type Chain = RococoBaseAsPolkadot;
-}
-
-impl relay_substrate_client::Chain for RococoAsPolkadot {
-	const NAME: &'static str = relay_rococo_client::Rococo::NAME;
-	const BEST_FINALIZED_HEADER_ID_METHOD: &'static str =
-		relay_polkadot_client::Polkadot::BEST_FINALIZED_HEADER_ID_METHOD;
-	const AVERAGE_BLOCK_INTERVAL: Duration = relay_rococo_client::Rococo::AVERAGE_BLOCK_INTERVAL;
-
-	type SignedBlock = <relay_rococo_client::Rococo as relay_substrate_client::Chain>::SignedBlock;
-	type Call = <relay_rococo_client::Rococo as relay_substrate_client::Chain>::Call;
-}
-
-impl relay_substrate_client::ChainWithGrandpa for RococoAsPolkadot {
-	const SYNCED_HEADERS_GRANDPA_INFO_METHOD: &'static str =
-		relay_polkadot_client::Polkadot::SYNCED_HEADERS_GRANDPA_INFO_METHOD;
-
-	type KeyOwnerProof =
-		<relay_rococo_client::Rococo as relay_substrate_client::ChainWithGrandpa>::KeyOwnerProof;
-}
-
-impl relay_substrate_client::ChainWithBalances for RococoAsPolkadot {
-	fn account_info_storage_key(account_id: &Self::AccountId) -> StorageKey {
-		relay_rococo_client::Rococo::account_info_storage_key(account_id)
-	}
-}
-
-impl relay_substrate_client::RelayChain for RococoAsPolkadot {
-	const PARAS_PALLET_NAME: &'static str = relay_rococo_client::Rococo::PARAS_PALLET_NAME;
-}
-
-impl relay_substrate_client::ChainWithTransactions for RococoAsPolkadot {
-	type AccountKeyPair = <relay_rococo_client::Rococo as relay_substrate_client::ChainWithTransactions>::AccountKeyPair;
-	type SignedTransaction = <relay_rococo_client::Rococo as relay_substrate_client::ChainWithTransactions>::SignedTransaction;
-
-	fn sign_transaction(
-		param: SignParam<Self>,
-		unsigned: UnsignedTransaction<Self>,
-	) -> Result<Self::SignedTransaction, SubstrateError> {
-		relay_rococo_client::Rococo::sign_transaction(
-			SignParam {
-				spec_version: param.spec_version,
-				transaction_version: param.transaction_version,
-				genesis_hash: param.genesis_hash,
-				signer: param.signer,
-			},
-			unsigned.switch_chain(),
-		)
-	}
-}
-
-impl ChainWithRuntimeVersion for RococoAsPolkadot {
-	const RUNTIME_VERSION: Option<SimpleRuntimeVersion> = None;
-}
-
-/// Base `Chain` implementation of Rococo Bridge Hub, pretending to be a Polkadot Bridge Hub.
-pub struct BaseBridgeHubRococoAsBridgeHubPolkadot;
-
-impl bp_runtime::Chain for BaseBridgeHubRococoAsBridgeHubPolkadot {
-	const ID: ChainId = relay_bridge_hub_rococo_client::BridgeHubRococo::ID;
-
-	type BlockNumber = BlockNumberOf<bp_bridge_hub_rococo::BridgeHubRococo>;
-	type Hash = HashOf<bp_bridge_hub_rococo::BridgeHubRococo>;
-	type Hasher = HasherOf<bp_bridge_hub_rococo::BridgeHubRococo>;
-	type Header = HeaderOf<bp_bridge_hub_rococo::BridgeHubRococo>;
-
-	type AccountId = AccountIdOf<bp_bridge_hub_rococo::BridgeHubRococo>;
-	type Balance = BalanceOf<bp_bridge_hub_rococo::BridgeHubRococo>;
-	type Nonce = NonceOf<bp_bridge_hub_rococo::BridgeHubRococo>;
-	type Signature = SignatureOf<bp_bridge_hub_rococo::BridgeHubRococo>;
-
-	fn max_extrinsic_size() -> u32 {
-		bp_bridge_hub_rococo::BridgeHubRococo::max_extrinsic_size()
-	}
-
-	fn max_extrinsic_weight() -> Weight {
-		bp_bridge_hub_rococo::BridgeHubRococo::max_extrinsic_weight()
-	}
-}
-
-impl bp_runtime::Parachain for BaseBridgeHubRococoAsBridgeHubPolkadot {
-	const PARACHAIN_ID: u32 = bp_bridge_hub_rococo::BridgeHubRococo::PARACHAIN_ID;
-}
-
-impl bp_messages::ChainWithMessages for BaseBridgeHubRococoAsBridgeHubPolkadot {
-	const WITH_CHAIN_MESSAGES_PALLET_NAME: &'static str =
-		relay_bridge_hub_polkadot_client::BridgeHubPolkadot::WITH_CHAIN_MESSAGES_PALLET_NAME;
-
-	const MAX_UNREWARDED_RELAYERS_IN_CONFIRMATION_TX: MessageNonce =
-		relay_bridge_hub_rococo_client::BridgeHubRococo::MAX_UNREWARDED_RELAYERS_IN_CONFIRMATION_TX;
-	const MAX_UNCONFIRMED_MESSAGES_IN_CONFIRMATION_TX: MessageNonce =
-		relay_bridge_hub_rococo_client::BridgeHubRococo::MAX_UNCONFIRMED_MESSAGES_IN_CONFIRMATION_TX;
-}
-
-/// Relay `Chain` implementation of Rococo Bridge Hub, pretending to be a Polkadot Bridge Hub.
-#[derive(Debug, Clone, Copy, PartialEq, Eq)]
-pub struct BridgeHubRococoAsBridgeHubPolkadot;
-
-impl bp_runtime::UnderlyingChainProvider for BridgeHubRococoAsBridgeHubPolkadot {
-	type Chain = BaseBridgeHubRococoAsBridgeHubPolkadot;
-}
-
-impl relay_substrate_client::Chain for BridgeHubRococoAsBridgeHubPolkadot {
-	const NAME: &'static str = relay_bridge_hub_rococo_client::BridgeHubRococo::NAME;
-	const BEST_FINALIZED_HEADER_ID_METHOD: &'static str =
-		relay_bridge_hub_polkadot_client::BridgeHubPolkadot::BEST_FINALIZED_HEADER_ID_METHOD;
-	const AVERAGE_BLOCK_INTERVAL: Duration =
-		relay_bridge_hub_rococo_client::BridgeHubRococo::AVERAGE_BLOCK_INTERVAL;
-
-	type SignedBlock = <relay_bridge_hub_rococo_client::BridgeHubRococo as relay_substrate_client::Chain>::SignedBlock;
-	type Call =
-		<relay_bridge_hub_rococo_client::BridgeHubRococo as relay_substrate_client::Chain>::Call;
-}
-
-impl relay_substrate_client::ChainWithBalances for BridgeHubRococoAsBridgeHubPolkadot {
-	fn account_info_storage_key(account_id: &Self::AccountId) -> StorageKey {
-		relay_bridge_hub_rococo_client::BridgeHubRococo::account_info_storage_key(account_id)
-	}
-}
-
-impl relay_substrate_client::ChainWithUtilityPallet for BridgeHubRococoAsBridgeHubPolkadot {
-	type UtilityPallet = relay_substrate_client::MockedRuntimeUtilityPallet<
-		relay_bridge_hub_rococo_client::RuntimeCall,
-	>;
-}
-
-impl relay_substrate_client::ChainWithTransactions for BridgeHubRococoAsBridgeHubPolkadot {
-	type AccountKeyPair = <relay_bridge_hub_rococo_client::BridgeHubRococo as relay_substrate_client::ChainWithTransactions>::AccountKeyPair;
-	type SignedTransaction = <relay_bridge_hub_rococo_client::BridgeHubRococo as relay_substrate_client::ChainWithTransactions>::SignedTransaction;
-
-	fn sign_transaction(
-		param: SignParam<Self>,
-		unsigned: UnsignedTransaction<Self>,
-	) -> Result<Self::SignedTransaction, SubstrateError> {
-		relay_bridge_hub_rococo_client::BridgeHubRococo::sign_transaction(
-			SignParam {
-				spec_version: param.spec_version,
-				transaction_version: param.transaction_version,
-				genesis_hash: param.genesis_hash,
-				signer: param.signer,
-			},
-			unsigned.switch_chain(),
-		)
-	}
-}
-
-impl relay_substrate_client::ChainWithMessages for BridgeHubRococoAsBridgeHubPolkadot {
-	const WITH_CHAIN_RELAYERS_PALLET_NAME: Option<&'static str> =
-		relay_bridge_hub_polkadot_client::BridgeHubPolkadot::WITH_CHAIN_RELAYERS_PALLET_NAME;
-
-	const TO_CHAIN_MESSAGE_DETAILS_METHOD: &'static str =
-		relay_bridge_hub_polkadot_client::BridgeHubPolkadot::TO_CHAIN_MESSAGE_DETAILS_METHOD;
-	const FROM_CHAIN_MESSAGE_DETAILS_METHOD: &'static str =
-		relay_bridge_hub_polkadot_client::BridgeHubPolkadot::FROM_CHAIN_MESSAGE_DETAILS_METHOD;
-}
-
-impl ChainWithRuntimeVersion for BridgeHubRococoAsBridgeHubPolkadot {
-	const RUNTIME_VERSION: Option<SimpleRuntimeVersion> =
-		Some(SimpleRuntimeVersion { spec_version: 1_003_000, transaction_version: 3 });
-}
diff --git a/bridges/relays/bin-substrate/src/bridges/rococo_bulletin/rococo_bulletin_headers_to_bridge_hub_rococo.rs b/bridges/relays/bin-substrate/src/bridges/rococo_bulletin/rococo_bulletin_headers_to_bridge_hub_rococo.rs
deleted file mode 100644
index 0d54fd21018d168ed1e7dd7d62381b4f558a32e5..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/rococo_bulletin/rococo_bulletin_headers_to_bridge_hub_rococo.rs
+++ /dev/null
@@ -1,87 +0,0 @@
-// Copyright 2022 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! RococoBulletin-to-BridgeHubRococo headers sync entrypoint.
-
-use super::BridgeHubRococoAsBridgeHubPolkadot;
-
-use async_trait::async_trait;
-use substrate_relay_helper::{
-	equivocation::SubstrateEquivocationDetectionPipeline,
-	finality::SubstrateFinalitySyncPipeline,
-	finality_base::{engine::Grandpa as GrandpaFinalityEngine, SubstrateFinalityPipeline},
-};
-
-use substrate_relay_helper::cli::bridge::{
-	CliBridgeBase, MessagesCliBridge, RelayToRelayEquivocationDetectionCliBridge,
-	RelayToRelayHeadersCliBridge,
-};
-
-/// Description of `RococoBulletin` -> `RococoBridgeHub` finalized headers bridge.
-#[derive(Clone, Debug)]
-pub struct RococoBulletinFinalityToBridgeHubRococo;
-
-substrate_relay_helper::generate_submit_finality_proof_call_builder!(
-	RococoBulletinFinalityToBridgeHubRococo,
-	SubmitFinalityProofCallBuilder,
-	relay_bridge_hub_rococo_client::RuntimeCall::BridgePolkadotBulletinGrandpa,
-	relay_bridge_hub_rococo_client::BridgeBulletinGrandpaCall::submit_finality_proof
-);
-
-substrate_relay_helper::generate_report_equivocation_call_builder!(
-	RococoBulletinFinalityToBridgeHubRococo,
-	ReportEquivocationCallBuilder,
-	relay_polkadot_bulletin_client::RuntimeCall::Grandpa,
-	relay_polkadot_bulletin_client::GrandpaCall::report_equivocation
-);
-
-#[async_trait]
-impl SubstrateFinalityPipeline for RococoBulletinFinalityToBridgeHubRococo {
-	type SourceChain = relay_polkadot_bulletin_client::PolkadotBulletin;
-	type TargetChain = BridgeHubRococoAsBridgeHubPolkadot;
-
-	type FinalityEngine = GrandpaFinalityEngine<Self::SourceChain>;
-}
-
-#[async_trait]
-impl SubstrateFinalitySyncPipeline for RococoBulletinFinalityToBridgeHubRococo {
-	type SubmitFinalityProofCallBuilder = SubmitFinalityProofCallBuilder;
-}
-
-#[async_trait]
-impl SubstrateEquivocationDetectionPipeline for RococoBulletinFinalityToBridgeHubRococo {
-	type ReportEquivocationCallBuilder = ReportEquivocationCallBuilder;
-}
-
-/// `RococoBulletin` to BridgeHub `Rococo` bridge definition.
-pub struct RococoBulletinToBridgeHubRococoCliBridge {}
-
-impl CliBridgeBase for RococoBulletinToBridgeHubRococoCliBridge {
-	type Source = relay_polkadot_bulletin_client::PolkadotBulletin;
-	type Target = BridgeHubRococoAsBridgeHubPolkadot;
-}
-
-impl RelayToRelayHeadersCliBridge for RococoBulletinToBridgeHubRococoCliBridge {
-	type Finality = RococoBulletinFinalityToBridgeHubRococo;
-}
-
-impl RelayToRelayEquivocationDetectionCliBridge for RococoBulletinToBridgeHubRococoCliBridge {
-	type Equivocation = RococoBulletinFinalityToBridgeHubRococo;
-}
-
-impl MessagesCliBridge for RococoBulletinToBridgeHubRococoCliBridge {
-	type MessagesLane = crate::bridges::rococo_bulletin::rococo_bulletin_messages_to_bridge_hub_rococo::RococoBulletinMessagesToBridgeHubRococoMessageLane;
-}
diff --git a/bridges/relays/bin-substrate/src/bridges/rococo_bulletin/rococo_bulletin_messages_to_bridge_hub_rococo.rs b/bridges/relays/bin-substrate/src/bridges/rococo_bulletin/rococo_bulletin_messages_to_bridge_hub_rococo.rs
deleted file mode 100644
index d192ec0381e58c80eb0108652b6066612166971d..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/rococo_bulletin/rococo_bulletin_messages_to_bridge_hub_rococo.rs
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright 2022 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! RococoBulletin-to-BridgeHubRococo messages sync entrypoint.
-
-use super::BridgeHubRococoAsBridgeHubPolkadot;
-use relay_polkadot_bulletin_client::PolkadotBulletin as RococoBulletin;
-use substrate_relay_helper::{
-	cli::bridge::{CliBridgeBase, MessagesCliBridge},
-	messages_lane::SubstrateMessageLane,
-	UtilityPalletBatchCallBuilder,
-};
-
-/// RococoBulletin-to-BridgeHubRococo messages bridge.
-pub struct RococoBulletinToBridgeHubRococoMessagesCliBridge {}
-
-impl CliBridgeBase for RococoBulletinToBridgeHubRococoMessagesCliBridge {
-	type Source = RococoBulletin;
-	type Target = BridgeHubRococoAsBridgeHubPolkadot;
-}
-
-impl MessagesCliBridge for RococoBulletinToBridgeHubRococoMessagesCliBridge {
-	type MessagesLane = RococoBulletinMessagesToBridgeHubRococoMessageLane;
-}
-
-substrate_relay_helper::generate_receive_message_proof_call_builder!(
-	RococoBulletinMessagesToBridgeHubRococoMessageLane,
-	RococoBulletinMessagesToBridgeHubRococoMessageLaneReceiveMessagesProofCallBuilder,
-	relay_bridge_hub_rococo_client::RuntimeCall::BridgePolkadotBulletinMessages,
-	relay_bridge_hub_rococo_client::BridgeBulletinMessagesCall::receive_messages_proof
-);
-
-substrate_relay_helper::generate_receive_message_delivery_proof_call_builder!(
-	RococoBulletinMessagesToBridgeHubRococoMessageLane,
-	RococoBulletinMessagesToBridgeHubRococoMessageLaneReceiveMessagesDeliveryProofCallBuilder,
-	relay_polkadot_bulletin_client::RuntimeCall::BridgePolkadotMessages,
-	relay_polkadot_bulletin_client::BridgePolkadotMessagesCall::receive_messages_delivery_proof
-);
-
-/// RococoBulletin-to-BridgeHubRococo messages lane.
-#[derive(Clone, Debug)]
-pub struct RococoBulletinMessagesToBridgeHubRococoMessageLane;
-
-impl SubstrateMessageLane for RococoBulletinMessagesToBridgeHubRococoMessageLane {
-	type SourceChain = RococoBulletin;
-	type TargetChain = BridgeHubRococoAsBridgeHubPolkadot;
-
-	type ReceiveMessagesProofCallBuilder =
-		RococoBulletinMessagesToBridgeHubRococoMessageLaneReceiveMessagesProofCallBuilder;
-	type ReceiveMessagesDeliveryProofCallBuilder =
-		RococoBulletinMessagesToBridgeHubRococoMessageLaneReceiveMessagesDeliveryProofCallBuilder;
-
-	type SourceBatchCallBuilder = ();
-	type TargetBatchCallBuilder = UtilityPalletBatchCallBuilder<BridgeHubRococoAsBridgeHubPolkadot>;
-}
diff --git a/bridges/relays/bin-substrate/src/bridges/rococo_bulletin/rococo_headers_to_rococo_bulletin.rs b/bridges/relays/bin-substrate/src/bridges/rococo_bulletin/rococo_headers_to_rococo_bulletin.rs
deleted file mode 100644
index 45c890267ffbaea037ffcc2ced78bd245d6905a2..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/rococo_bulletin/rococo_headers_to_rococo_bulletin.rs
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright 2022 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Rococo-to-RococoBulletin headers sync entrypoint.
-
-use super::RococoAsPolkadot;
-
-use async_trait::async_trait;
-use substrate_relay_helper::{
-	equivocation::SubstrateEquivocationDetectionPipeline,
-	finality::SubstrateFinalitySyncPipeline,
-	finality_base::{engine::Grandpa as GrandpaFinalityEngine, SubstrateFinalityPipeline},
-};
-
-use substrate_relay_helper::cli::bridge::{
-	CliBridgeBase, RelayToRelayEquivocationDetectionCliBridge, RelayToRelayHeadersCliBridge,
-};
-
-/// Description of Rococo -> `RococoBulletin` finalized headers bridge.
-#[derive(Clone, Debug)]
-pub struct RococoFinalityToRococoBulletin;
-
-substrate_relay_helper::generate_submit_finality_proof_call_builder!(
-	RococoFinalityToRococoBulletin,
-	SubmitFinalityProofCallBuilder,
-	relay_polkadot_bulletin_client::RuntimeCall::BridgePolkadotGrandpa,
-	relay_polkadot_bulletin_client::BridgePolkadotGrandpaCall::submit_finality_proof
-);
-
-substrate_relay_helper::generate_report_equivocation_call_builder!(
-	RococoFinalityToRococoBulletin,
-	ReportEquivocationCallBuilder,
-	relay_rococo_client::RuntimeCall::Grandpa,
-	relay_rococo_client::GrandpaCall::report_equivocation
-);
-
-#[async_trait]
-impl SubstrateFinalityPipeline for RococoFinalityToRococoBulletin {
-	type SourceChain = RococoAsPolkadot;
-	type TargetChain = relay_polkadot_bulletin_client::PolkadotBulletin;
-
-	type FinalityEngine = GrandpaFinalityEngine<Self::SourceChain>;
-}
-
-#[async_trait]
-impl SubstrateFinalitySyncPipeline for RococoFinalityToRococoBulletin {
-	type SubmitFinalityProofCallBuilder = SubmitFinalityProofCallBuilder;
-}
-
-#[async_trait]
-impl SubstrateEquivocationDetectionPipeline for RococoFinalityToRococoBulletin {
-	type ReportEquivocationCallBuilder = ReportEquivocationCallBuilder;
-}
-
-/// `Rococo` to BridgeHub `RococoBulletin` bridge definition.
-pub struct RococoToRococoBulletinCliBridge {}
-
-impl CliBridgeBase for RococoToRococoBulletinCliBridge {
-	type Source = RococoAsPolkadot;
-	type Target = relay_polkadot_bulletin_client::PolkadotBulletin;
-}
-
-impl RelayToRelayHeadersCliBridge for RococoToRococoBulletinCliBridge {
-	type Finality = RococoFinalityToRococoBulletin;
-}
-
-impl RelayToRelayEquivocationDetectionCliBridge for RococoToRococoBulletinCliBridge {
-	type Equivocation = RococoFinalityToRococoBulletin;
-}
diff --git a/bridges/relays/bin-substrate/src/bridges/rococo_bulletin/rococo_parachains_to_rococo_bulletin.rs b/bridges/relays/bin-substrate/src/bridges/rococo_bulletin/rococo_parachains_to_rococo_bulletin.rs
deleted file mode 100644
index d14a133d23c4389dcd0438f80431d56a70819806..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/rococo_bulletin/rococo_parachains_to_rococo_bulletin.rs
+++ /dev/null
@@ -1,91 +0,0 @@
-// Copyright 2019-2021 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Rococo-to-RococoBulletin parachains sync entrypoint.
-
-use super::{BridgeHubRococoAsBridgeHubPolkadot, RococoAsPolkadot};
-
-use bp_polkadot_core::parachains::{ParaHash, ParaHeadsProof, ParaId};
-use bp_runtime::Chain;
-use relay_substrate_client::{CallOf, HeaderIdOf};
-use substrate_relay_helper::{
-	cli::bridge::{CliBridgeBase, MessagesCliBridge, ParachainToRelayHeadersCliBridge},
-	messages_lane::MessagesRelayLimits,
-	parachains::{SubmitParachainHeadsCallBuilder, SubstrateParachainsPipeline},
-};
-
-/// Rococo-to-RococoBulletin parachain sync description.
-#[derive(Clone, Debug)]
-pub struct RococoToRococoBulletin;
-
-impl SubstrateParachainsPipeline for RococoToRococoBulletin {
-	type SourceParachain = BridgeHubRococoAsBridgeHubPolkadot;
-	type SourceRelayChain = RococoAsPolkadot;
-	type TargetChain = relay_polkadot_bulletin_client::PolkadotBulletin;
-
-	type SubmitParachainHeadsCallBuilder = RococoToRococoBulletinCallBuilder;
-}
-
-pub struct RococoToRococoBulletinCallBuilder;
-impl SubmitParachainHeadsCallBuilder<RococoToRococoBulletin> for RococoToRococoBulletinCallBuilder {
-	fn build_submit_parachain_heads_call(
-		at_relay_block: HeaderIdOf<relay_rococo_client::Rococo>,
-		parachains: Vec<(ParaId, ParaHash)>,
-		parachain_heads_proof: ParaHeadsProof,
-	) -> CallOf<relay_polkadot_bulletin_client::PolkadotBulletin> {
-		relay_polkadot_bulletin_client::RuntimeCall::BridgePolkadotParachains(
-			relay_polkadot_bulletin_client::BridgePolkadotParachainsCall::submit_parachain_heads {
-				at_relay_block: (at_relay_block.0, at_relay_block.1),
-				parachains,
-				parachain_heads_proof,
-			},
-		)
-	}
-}
-
-/// Rococo-to-RococoBulletin parachain sync description for the CLI.
-pub struct RococoToRococoBulletinCliBridge {}
-
-impl ParachainToRelayHeadersCliBridge for RococoToRococoBulletinCliBridge {
-	type SourceRelay = RococoAsPolkadot;
-	type ParachainFinality = RococoToRococoBulletin;
-	type RelayFinality =
-		crate::bridges::rococo_bulletin::rococo_headers_to_rococo_bulletin::RococoFinalityToRococoBulletin;
-}
-
-impl CliBridgeBase for RococoToRococoBulletinCliBridge {
-	type Source = BridgeHubRococoAsBridgeHubPolkadot;
-	type Target = relay_polkadot_bulletin_client::PolkadotBulletin;
-}
-
-impl MessagesCliBridge for RococoToRococoBulletinCliBridge {
-	type MessagesLane =
-		crate::bridges::rococo_bulletin::bridge_hub_rococo_messages_to_rococo_bulletin::BridgeHubRococoMessagesToRococoBulletinMessageLane;
-
-	fn maybe_messages_limits() -> Option<MessagesRelayLimits> {
-		// Rococo Bulletin chain is missing the `TransactionPayment` runtime API (as well as the
-		// transaction payment pallet itself), so we can't estimate limits using runtime calls.
-		// Let's do it here.
-		//
-		// Folloiung constants are just safe **underestimations**. Normally, we are able to deliver
-		// and dispatch thousands of messages in the same transaction.
-		Some(MessagesRelayLimits {
-			max_messages_in_single_batch: 128,
-			max_messages_weight_in_single_batch:
-				bp_polkadot_bulletin::PolkadotBulletin::max_extrinsic_weight() / 20,
-		})
-	}
-}
diff --git a/bridges/relays/bin-substrate/src/bridges/rococo_westend/bridge_hub_rococo_messages_to_bridge_hub_westend.rs b/bridges/relays/bin-substrate/src/bridges/rococo_westend/bridge_hub_rococo_messages_to_bridge_hub_westend.rs
deleted file mode 100644
index ec6b07d982afe18b011013af7ead8348ccbbbafe..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/rococo_westend/bridge_hub_rococo_messages_to_bridge_hub_westend.rs
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright 2022 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! BridgeHubRococo-to-BridgeHubWestend messages sync entrypoint.
-
-use relay_bridge_hub_rococo_client::BridgeHubRococo;
-use relay_bridge_hub_westend_client::BridgeHubWestend;
-use substrate_relay_helper::{
-	cli::bridge::{CliBridgeBase, MessagesCliBridge},
-	messages_lane::SubstrateMessageLane,
-	UtilityPalletBatchCallBuilder,
-};
-
-pub struct BridgeHubRococoToBridgeHubWestendMessagesCliBridge {}
-
-impl CliBridgeBase for BridgeHubRococoToBridgeHubWestendMessagesCliBridge {
-	type Source = BridgeHubRococo;
-	type Target = BridgeHubWestend;
-}
-
-impl MessagesCliBridge for BridgeHubRococoToBridgeHubWestendMessagesCliBridge {
-	type MessagesLane = BridgeHubRococoMessagesToBridgeHubWestendMessageLane;
-}
-
-substrate_relay_helper::generate_receive_message_proof_call_builder!(
-	BridgeHubRococoMessagesToBridgeHubWestendMessageLane,
-	BridgeHubRococoMessagesToBridgeHubWestendMessageLaneReceiveMessagesProofCallBuilder,
-	relay_bridge_hub_westend_client::RuntimeCall::BridgeRococoMessages,
-	relay_bridge_hub_westend_client::BridgeMessagesCall::receive_messages_proof
-);
-
-substrate_relay_helper::generate_receive_message_delivery_proof_call_builder!(
-	BridgeHubRococoMessagesToBridgeHubWestendMessageLane,
-	BridgeHubRococoMessagesToBridgeHubWestendMessageLaneReceiveMessagesDeliveryProofCallBuilder,
-	relay_bridge_hub_rococo_client::RuntimeCall::BridgeWestendMessages,
-	relay_bridge_hub_rococo_client::BridgeMessagesCall::receive_messages_delivery_proof
-);
-
-/// Description of BridgeHubRococo -> BridgeHubWestendWestend messages bridge.
-#[derive(Clone, Debug)]
-pub struct BridgeHubRococoMessagesToBridgeHubWestendMessageLane;
-
-impl SubstrateMessageLane for BridgeHubRococoMessagesToBridgeHubWestendMessageLane {
-	type SourceChain = BridgeHubRococo;
-	type TargetChain = BridgeHubWestend;
-
-	type ReceiveMessagesProofCallBuilder =
-		BridgeHubRococoMessagesToBridgeHubWestendMessageLaneReceiveMessagesProofCallBuilder;
-	type ReceiveMessagesDeliveryProofCallBuilder =
-		BridgeHubRococoMessagesToBridgeHubWestendMessageLaneReceiveMessagesDeliveryProofCallBuilder;
-
-	type SourceBatchCallBuilder = UtilityPalletBatchCallBuilder<BridgeHubRococo>;
-	type TargetBatchCallBuilder = UtilityPalletBatchCallBuilder<BridgeHubWestend>;
-}
diff --git a/bridges/relays/bin-substrate/src/bridges/rococo_westend/bridge_hub_westend_messages_to_bridge_hub_rococo.rs b/bridges/relays/bin-substrate/src/bridges/rococo_westend/bridge_hub_westend_messages_to_bridge_hub_rococo.rs
deleted file mode 100644
index 4e978cd8356cf0dd99d8a330a81c14eba6106bd1..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/rococo_westend/bridge_hub_westend_messages_to_bridge_hub_rococo.rs
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright 2022 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! BridgeHubWestend-to-BridgeHubRococo messages sync entrypoint.
-
-use relay_bridge_hub_rococo_client::BridgeHubRococo;
-use relay_bridge_hub_westend_client::BridgeHubWestend;
-use substrate_relay_helper::{
-	cli::bridge::{CliBridgeBase, MessagesCliBridge},
-	messages_lane::SubstrateMessageLane,
-	UtilityPalletBatchCallBuilder,
-};
-
-pub struct BridgeHubWestendToBridgeHubRococoMessagesCliBridge {}
-
-impl CliBridgeBase for BridgeHubWestendToBridgeHubRococoMessagesCliBridge {
-	type Source = BridgeHubWestend;
-	type Target = BridgeHubRococo;
-}
-
-impl MessagesCliBridge for BridgeHubWestendToBridgeHubRococoMessagesCliBridge {
-	type MessagesLane = BridgeHubWestendMessagesToBridgeHubRococoMessageLane;
-}
-
-substrate_relay_helper::generate_receive_message_proof_call_builder!(
-	BridgeHubWestendMessagesToBridgeHubRococoMessageLane,
-	BridgeHubWestendMessagesToBridgeHubRococoMessageLaneReceiveMessagesProofCallBuilder,
-	relay_bridge_hub_rococo_client::RuntimeCall::BridgeWestendMessages,
-	relay_bridge_hub_rococo_client::BridgeMessagesCall::receive_messages_proof
-);
-
-substrate_relay_helper::generate_receive_message_delivery_proof_call_builder!(
-	BridgeHubWestendMessagesToBridgeHubRococoMessageLane,
-	BridgeHubWestendMessagesToBridgeHubRococoMessageLaneReceiveMessagesDeliveryProofCallBuilder,
-	relay_bridge_hub_westend_client::RuntimeCall::BridgeRococoMessages,
-	relay_bridge_hub_westend_client::BridgeMessagesCall::receive_messages_delivery_proof
-);
-
-/// Description of BridgeHubWestend -> BridgeHubRococo messages bridge.
-#[derive(Clone, Debug)]
-pub struct BridgeHubWestendMessagesToBridgeHubRococoMessageLane;
-
-impl SubstrateMessageLane for BridgeHubWestendMessagesToBridgeHubRococoMessageLane {
-	type SourceChain = BridgeHubWestend;
-	type TargetChain = BridgeHubRococo;
-
-	type ReceiveMessagesProofCallBuilder =
-		BridgeHubWestendMessagesToBridgeHubRococoMessageLaneReceiveMessagesProofCallBuilder;
-	type ReceiveMessagesDeliveryProofCallBuilder =
-		BridgeHubWestendMessagesToBridgeHubRococoMessageLaneReceiveMessagesDeliveryProofCallBuilder;
-
-	type SourceBatchCallBuilder = UtilityPalletBatchCallBuilder<BridgeHubWestend>;
-	type TargetBatchCallBuilder = UtilityPalletBatchCallBuilder<BridgeHubRococo>;
-}
diff --git a/bridges/relays/bin-substrate/src/bridges/rococo_westend/mod.rs b/bridges/relays/bin-substrate/src/bridges/rococo_westend/mod.rs
deleted file mode 100644
index 965d3e0561f99fdc4cc20246fb4e44db9a270169..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/rococo_westend/mod.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright 2019-2021 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Declaration of all bridges between Rococo Bridge Hub and Westend Bridge Hub.
-
-pub mod bridge_hub_rococo_messages_to_bridge_hub_westend;
-pub mod bridge_hub_westend_messages_to_bridge_hub_rococo;
-pub mod rococo_headers_to_bridge_hub_westend;
-pub mod rococo_parachains_to_bridge_hub_westend;
-pub mod westend_headers_to_bridge_hub_rococo;
-pub mod westend_parachains_to_bridge_hub_rococo;
diff --git a/bridges/relays/bin-substrate/src/bridges/rococo_westend/rococo_headers_to_bridge_hub_westend.rs b/bridges/relays/bin-substrate/src/bridges/rococo_westend/rococo_headers_to_bridge_hub_westend.rs
deleted file mode 100644
index bf30a87bf2d4871b96e909d3c6a009301d77e58b..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/rococo_westend/rococo_headers_to_bridge_hub_westend.rs
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright 2022 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Rococo-to-Westend bridge hubs headers sync entrypoint.
-
-use async_trait::async_trait;
-use substrate_relay_helper::{
-	equivocation::SubstrateEquivocationDetectionPipeline,
-	finality::SubstrateFinalitySyncPipeline,
-	finality_base::{engine::Grandpa as GrandpaFinalityEngine, SubstrateFinalityPipeline},
-};
-
-use substrate_relay_helper::cli::bridge::{
-	CliBridgeBase, RelayToRelayEquivocationDetectionCliBridge, RelayToRelayHeadersCliBridge,
-};
-
-/// Description of Rococo -> Westend finalized headers bridge.
-#[derive(Clone, Debug)]
-pub struct RococoFinalityToBridgeHubWestend;
-
-substrate_relay_helper::generate_submit_finality_proof_ex_call_builder!(
-	RococoFinalityToBridgeHubWestend,
-	SubmitFinalityProofCallBuilder,
-	relay_bridge_hub_westend_client::RuntimeCall::BridgeRococoGrandpa,
-	relay_bridge_hub_westend_client::BridgeGrandpaCall::submit_finality_proof_ex
-);
-
-substrate_relay_helper::generate_report_equivocation_call_builder!(
-	RococoFinalityToBridgeHubWestend,
-	ReportEquivocationCallBuilder,
-	relay_rococo_client::RuntimeCall::Grandpa,
-	relay_rococo_client::GrandpaCall::report_equivocation
-);
-
-#[async_trait]
-impl SubstrateFinalityPipeline for RococoFinalityToBridgeHubWestend {
-	type SourceChain = relay_rococo_client::Rococo;
-	type TargetChain = relay_bridge_hub_westend_client::BridgeHubWestend;
-
-	type FinalityEngine = GrandpaFinalityEngine<Self::SourceChain>;
-}
-
-#[async_trait]
-impl SubstrateFinalitySyncPipeline for RococoFinalityToBridgeHubWestend {
-	type SubmitFinalityProofCallBuilder = SubmitFinalityProofCallBuilder;
-}
-
-#[async_trait]
-impl SubstrateEquivocationDetectionPipeline for RococoFinalityToBridgeHubWestend {
-	type ReportEquivocationCallBuilder = ReportEquivocationCallBuilder;
-}
-
-/// `Rococo` to BridgeHub `Westend` bridge definition.
-pub struct RococoToBridgeHubWestendCliBridge {}
-
-impl CliBridgeBase for RococoToBridgeHubWestendCliBridge {
-	type Source = relay_rococo_client::Rococo;
-	type Target = relay_bridge_hub_westend_client::BridgeHubWestend;
-}
-
-impl RelayToRelayHeadersCliBridge for RococoToBridgeHubWestendCliBridge {
-	type Finality = RococoFinalityToBridgeHubWestend;
-}
-
-impl RelayToRelayEquivocationDetectionCliBridge for RococoToBridgeHubWestendCliBridge {
-	type Equivocation = RococoFinalityToBridgeHubWestend;
-}
diff --git a/bridges/relays/bin-substrate/src/bridges/rococo_westend/rococo_parachains_to_bridge_hub_westend.rs b/bridges/relays/bin-substrate/src/bridges/rococo_westend/rococo_parachains_to_bridge_hub_westend.rs
deleted file mode 100644
index 31de8c4d1d1c50a418014dbfb8c211d31188be74..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/rococo_westend/rococo_parachains_to_bridge_hub_westend.rs
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright 2019-2021 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Westend-to-Rococo parachains sync entrypoint.
-
-use bp_polkadot_core::parachains::{ParaHash, ParaHeadsProof, ParaId};
-use relay_substrate_client::{CallOf, HeaderIdOf};
-use substrate_relay_helper::{
-	cli::bridge::{CliBridgeBase, MessagesCliBridge, ParachainToRelayHeadersCliBridge},
-	parachains::{SubmitParachainHeadsCallBuilder, SubstrateParachainsPipeline},
-};
-
-/// BridgeHub-to-BridgeHub parachain sync description.
-#[derive(Clone, Debug)]
-pub struct BridgeHubRococoToBridgeHubWestend;
-
-impl SubstrateParachainsPipeline for BridgeHubRococoToBridgeHubWestend {
-	type SourceParachain = relay_bridge_hub_rococo_client::BridgeHubRococo;
-	type SourceRelayChain = relay_rococo_client::Rococo;
-	type TargetChain = relay_bridge_hub_westend_client::BridgeHubWestend;
-
-	type SubmitParachainHeadsCallBuilder = BridgeHubRococoToBridgeHubWestendCallBuilder;
-}
-
-pub struct BridgeHubRococoToBridgeHubWestendCallBuilder;
-impl SubmitParachainHeadsCallBuilder<BridgeHubRococoToBridgeHubWestend>
-	for BridgeHubRococoToBridgeHubWestendCallBuilder
-{
-	fn build_submit_parachain_heads_call(
-		at_relay_block: HeaderIdOf<relay_rococo_client::Rococo>,
-		parachains: Vec<(ParaId, ParaHash)>,
-		parachain_heads_proof: ParaHeadsProof,
-	) -> CallOf<relay_bridge_hub_westend_client::BridgeHubWestend> {
-		relay_bridge_hub_westend_client::RuntimeCall::BridgeRococoParachains(
-			relay_bridge_hub_westend_client::BridgeParachainCall::submit_parachain_heads {
-				at_relay_block: (at_relay_block.0, at_relay_block.1),
-				parachains,
-				parachain_heads_proof,
-			},
-		)
-	}
-}
-
-/// `BridgeHubParachain` to `BridgeHubParachain` bridge definition.
-pub struct BridgeHubRococoToBridgeHubWestendCliBridge {}
-
-impl ParachainToRelayHeadersCliBridge for BridgeHubRococoToBridgeHubWestendCliBridge {
-	type SourceRelay = relay_rococo_client::Rococo;
-	type ParachainFinality = BridgeHubRococoToBridgeHubWestend;
-	type RelayFinality =
-		crate::bridges::rococo_westend::rococo_headers_to_bridge_hub_westend::RococoFinalityToBridgeHubWestend;
-}
-
-impl CliBridgeBase for BridgeHubRococoToBridgeHubWestendCliBridge {
-	type Source = relay_bridge_hub_rococo_client::BridgeHubRococo;
-	type Target = relay_bridge_hub_westend_client::BridgeHubWestend;
-}
-
-impl MessagesCliBridge for BridgeHubRococoToBridgeHubWestendCliBridge {
-	type MessagesLane =
-	crate::bridges::rococo_westend::bridge_hub_rococo_messages_to_bridge_hub_westend::BridgeHubRococoMessagesToBridgeHubWestendMessageLane;
-}
diff --git a/bridges/relays/bin-substrate/src/bridges/rococo_westend/westend_headers_to_bridge_hub_rococo.rs b/bridges/relays/bin-substrate/src/bridges/rococo_westend/westend_headers_to_bridge_hub_rococo.rs
deleted file mode 100644
index 4a1419f06dcdff8a22198b70d66144b82b9db4d6..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/rococo_westend/westend_headers_to_bridge_hub_rococo.rs
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright 2022 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Westend-to-Rococo bridge hubs headers sync entrypoint.
-
-use async_trait::async_trait;
-use substrate_relay_helper::{
-	equivocation::SubstrateEquivocationDetectionPipeline,
-	finality::SubstrateFinalitySyncPipeline,
-	finality_base::{engine::Grandpa as GrandpaFinalityEngine, SubstrateFinalityPipeline},
-};
-
-use substrate_relay_helper::cli::bridge::{
-	CliBridgeBase, RelayToRelayEquivocationDetectionCliBridge, RelayToRelayHeadersCliBridge,
-};
-
-/// Description of Westend -> Rococo finalized headers bridge.
-#[derive(Clone, Debug)]
-pub struct WestendFinalityToBridgeHubRococo;
-
-substrate_relay_helper::generate_submit_finality_proof_ex_call_builder!(
-	WestendFinalityToBridgeHubRococo,
-	SubmitFinalityProofCallBuilder,
-	relay_bridge_hub_rococo_client::RuntimeCall::BridgeWestendGrandpa,
-	relay_bridge_hub_rococo_client::BridgeGrandpaCall::submit_finality_proof_ex
-);
-
-substrate_relay_helper::generate_report_equivocation_call_builder!(
-	WestendFinalityToBridgeHubRococo,
-	ReportEquivocationCallBuilder,
-	relay_westend_client::RuntimeCall::Grandpa,
-	relay_westend_client::GrandpaCall::report_equivocation
-);
-
-#[async_trait]
-impl SubstrateFinalityPipeline for WestendFinalityToBridgeHubRococo {
-	type SourceChain = relay_westend_client::Westend;
-	type TargetChain = relay_bridge_hub_rococo_client::BridgeHubRococo;
-
-	type FinalityEngine = GrandpaFinalityEngine<Self::SourceChain>;
-}
-
-#[async_trait]
-impl SubstrateFinalitySyncPipeline for WestendFinalityToBridgeHubRococo {
-	type SubmitFinalityProofCallBuilder = SubmitFinalityProofCallBuilder;
-}
-
-#[async_trait]
-impl SubstrateEquivocationDetectionPipeline for WestendFinalityToBridgeHubRococo {
-	type ReportEquivocationCallBuilder = ReportEquivocationCallBuilder;
-}
-
-/// `Westend` to BridgeHub `Rococo` bridge definition.
-pub struct WestendToBridgeHubRococoCliBridge {}
-
-impl CliBridgeBase for WestendToBridgeHubRococoCliBridge {
-	type Source = relay_westend_client::Westend;
-	type Target = relay_bridge_hub_rococo_client::BridgeHubRococo;
-}
-
-impl RelayToRelayHeadersCliBridge for WestendToBridgeHubRococoCliBridge {
-	type Finality = WestendFinalityToBridgeHubRococo;
-}
-
-impl RelayToRelayEquivocationDetectionCliBridge for WestendToBridgeHubRococoCliBridge {
-	type Equivocation = WestendFinalityToBridgeHubRococo;
-}
diff --git a/bridges/relays/bin-substrate/src/bridges/rococo_westend/westend_parachains_to_bridge_hub_rococo.rs b/bridges/relays/bin-substrate/src/bridges/rococo_westend/westend_parachains_to_bridge_hub_rococo.rs
deleted file mode 100644
index fc6f6532836fd6440e68903e20a431240e50ff12..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/bridges/rococo_westend/westend_parachains_to_bridge_hub_rococo.rs
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright 2019-2021 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Rococo-to-Westend parachains sync entrypoint.
-
-use bp_polkadot_core::parachains::{ParaHash, ParaHeadsProof, ParaId};
-use relay_substrate_client::{CallOf, HeaderIdOf};
-use substrate_relay_helper::{
-	cli::bridge::{CliBridgeBase, MessagesCliBridge, ParachainToRelayHeadersCliBridge},
-	parachains::{SubmitParachainHeadsCallBuilder, SubstrateParachainsPipeline},
-};
-
-/// BridgeHub-to-BridgeHub parachain sync description.
-#[derive(Clone, Debug)]
-pub struct BridgeHubWestendToBridgeHubRococo;
-
-impl SubstrateParachainsPipeline for BridgeHubWestendToBridgeHubRococo {
-	type SourceParachain = relay_bridge_hub_westend_client::BridgeHubWestend;
-	type SourceRelayChain = relay_westend_client::Westend;
-	type TargetChain = relay_bridge_hub_rococo_client::BridgeHubRococo;
-
-	type SubmitParachainHeadsCallBuilder = BridgeHubWestendToBridgeHubRococoCallBuilder;
-}
-
-pub struct BridgeHubWestendToBridgeHubRococoCallBuilder;
-impl SubmitParachainHeadsCallBuilder<BridgeHubWestendToBridgeHubRococo>
-	for BridgeHubWestendToBridgeHubRococoCallBuilder
-{
-	fn build_submit_parachain_heads_call(
-		at_relay_block: HeaderIdOf<relay_westend_client::Westend>,
-		parachains: Vec<(ParaId, ParaHash)>,
-		parachain_heads_proof: ParaHeadsProof,
-	) -> CallOf<relay_bridge_hub_rococo_client::BridgeHubRococo> {
-		relay_bridge_hub_rococo_client::RuntimeCall::BridgeWestendParachains(
-			relay_bridge_hub_rococo_client::BridgeParachainCall::submit_parachain_heads {
-				at_relay_block: (at_relay_block.0, at_relay_block.1),
-				parachains,
-				parachain_heads_proof,
-			},
-		)
-	}
-}
-
-/// `BridgeHubParachain` to `BridgeHubParachain` bridge definition.
-pub struct BridgeHubWestendToBridgeHubRococoCliBridge {}
-
-impl ParachainToRelayHeadersCliBridge for BridgeHubWestendToBridgeHubRococoCliBridge {
-	type SourceRelay = relay_westend_client::Westend;
-	type ParachainFinality = BridgeHubWestendToBridgeHubRococo;
-	type RelayFinality =
-		crate::bridges::rococo_westend::westend_headers_to_bridge_hub_rococo::WestendFinalityToBridgeHubRococo;
-}
-
-impl CliBridgeBase for BridgeHubWestendToBridgeHubRococoCliBridge {
-	type Source = relay_bridge_hub_westend_client::BridgeHubWestend;
-	type Target = relay_bridge_hub_rococo_client::BridgeHubRococo;
-}
-
-impl MessagesCliBridge for BridgeHubWestendToBridgeHubRococoCliBridge {
-	type MessagesLane =
-	crate::bridges::rococo_westend::bridge_hub_westend_messages_to_bridge_hub_rococo::BridgeHubWestendMessagesToBridgeHubRococoMessageLane;
-}
diff --git a/bridges/relays/bin-substrate/src/cli/chain_schema.rs b/bridges/relays/bin-substrate/src/cli/chain_schema.rs
deleted file mode 100644
index 4422332a593249478e2782a97ac148b1f345c593..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/cli/chain_schema.rs
+++ /dev/null
@@ -1,110 +0,0 @@
-// Copyright 2019-2022 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-#[cfg(test)]
-mod tests {
-	use sp_core::Pair;
-	use substrate_relay_helper::cli::chain_schema::TargetSigningParams;
-
-	#[test]
-	fn reads_suri_from_file() {
-		const ALICE: &str = "//Alice";
-		const BOB: &str = "//Bob";
-		const ALICE_PASSWORD: &str = "alice_password";
-		const BOB_PASSWORD: &str = "bob_password";
-
-		let alice: sp_core::sr25519::Pair = Pair::from_string(ALICE, Some(ALICE_PASSWORD)).unwrap();
-		let bob: sp_core::sr25519::Pair = Pair::from_string(BOB, Some(BOB_PASSWORD)).unwrap();
-		let bob_with_alice_password =
-			sp_core::sr25519::Pair::from_string(BOB, Some(ALICE_PASSWORD)).unwrap();
-
-		let temp_dir = tempfile::tempdir().unwrap();
-		let mut suri_file_path = temp_dir.path().to_path_buf();
-		let mut password_file_path = temp_dir.path().to_path_buf();
-		suri_file_path.push("suri");
-		password_file_path.push("password");
-		std::fs::write(&suri_file_path, BOB.as_bytes()).unwrap();
-		std::fs::write(&password_file_path, BOB_PASSWORD.as_bytes()).unwrap();
-
-		// when both seed and password are read from file
-		assert_eq!(
-			TargetSigningParams {
-				target_signer: Some(ALICE.into()),
-				target_signer_password: Some(ALICE_PASSWORD.into()),
-
-				target_signer_file: None,
-				target_signer_password_file: None,
-
-				target_transactions_mortality: None,
-			}
-			.to_keypair::<relay_polkadot_client::Polkadot>()
-			.map(|p| p.public())
-			.map_err(drop),
-			Ok(alice.public()),
-		);
-
-		// when both seed and password are read from file
-		assert_eq!(
-			TargetSigningParams {
-				target_signer: None,
-				target_signer_password: None,
-
-				target_signer_file: Some(suri_file_path.clone()),
-				target_signer_password_file: Some(password_file_path.clone()),
-
-				target_transactions_mortality: None,
-			}
-			.to_keypair::<relay_polkadot_client::Polkadot>()
-			.map(|p| p.public())
-			.map_err(drop),
-			Ok(bob.public()),
-		);
-
-		// when password are is overriden by cli option
-		assert_eq!(
-			TargetSigningParams {
-				target_signer: None,
-				target_signer_password: Some(ALICE_PASSWORD.into()),
-
-				target_signer_file: Some(suri_file_path.clone()),
-				target_signer_password_file: Some(password_file_path.clone()),
-
-				target_transactions_mortality: None,
-			}
-			.to_keypair::<relay_polkadot_client::Polkadot>()
-			.map(|p| p.public())
-			.map_err(drop),
-			Ok(bob_with_alice_password.public()),
-		);
-
-		// when both seed and password are overriden by cli options
-		assert_eq!(
-			TargetSigningParams {
-				target_signer: Some(ALICE.into()),
-				target_signer_password: Some(ALICE_PASSWORD.into()),
-
-				target_signer_file: Some(suri_file_path),
-				target_signer_password_file: Some(password_file_path),
-
-				target_transactions_mortality: None,
-			}
-			.to_keypair::<relay_polkadot_client::Polkadot>()
-			.map(|p| p.public())
-			.map_err(drop),
-			Ok(alice.public()),
-		);
-	}
-}
diff --git a/bridges/relays/bin-substrate/src/cli/detect_equivocations.rs b/bridges/relays/bin-substrate/src/cli/detect_equivocations.rs
deleted file mode 100644
index 7717b501537543680614714fd4414a4482950f82..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/cli/detect_equivocations.rs
+++ /dev/null
@@ -1,74 +0,0 @@
-// Copyright 2019-2023 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-use crate::bridges::{
-	kusama_polkadot::{
-		kusama_headers_to_bridge_hub_polkadot::KusamaToBridgeHubPolkadotCliBridge,
-		polkadot_headers_to_bridge_hub_kusama::PolkadotToBridgeHubKusamaCliBridge,
-	},
-	rococo_westend::{
-		rococo_headers_to_bridge_hub_westend::RococoToBridgeHubWestendCliBridge,
-		westend_headers_to_bridge_hub_rococo::WestendToBridgeHubRococoCliBridge,
-	},
-};
-
-use structopt::StructOpt;
-use strum::{EnumString, VariantNames};
-
-use substrate_relay_helper::cli::detect_equivocations::{
-	DetectEquivocationsParams, EquivocationsDetector,
-};
-
-/// Start equivocation detection loop.
-#[derive(StructOpt)]
-pub struct DetectEquivocations {
-	#[structopt(possible_values = DetectEquivocationsBridge::VARIANTS, case_insensitive = true)]
-	bridge: DetectEquivocationsBridge,
-	#[structopt(flatten)]
-	params: DetectEquivocationsParams,
-}
-
-#[derive(Debug, EnumString, VariantNames)]
-#[strum(serialize_all = "kebab_case")]
-/// Equivocations detection bridge.
-pub enum DetectEquivocationsBridge {
-	KusamaToBridgeHubPolkadot,
-	PolkadotToBridgeHubKusama,
-	RococoToBridgeHubWestend,
-	WestendToBridgeHubRococo,
-}
-
-impl EquivocationsDetector for KusamaToBridgeHubPolkadotCliBridge {}
-impl EquivocationsDetector for PolkadotToBridgeHubKusamaCliBridge {}
-impl EquivocationsDetector for RococoToBridgeHubWestendCliBridge {}
-impl EquivocationsDetector for WestendToBridgeHubRococoCliBridge {}
-
-impl DetectEquivocations {
-	/// Run the command.
-	pub async fn run(self) -> anyhow::Result<()> {
-		match self.bridge {
-			DetectEquivocationsBridge::KusamaToBridgeHubPolkadot =>
-				KusamaToBridgeHubPolkadotCliBridge::start(self.params),
-			DetectEquivocationsBridge::PolkadotToBridgeHubKusama =>
-				PolkadotToBridgeHubKusamaCliBridge::start(self.params),
-			DetectEquivocationsBridge::RococoToBridgeHubWestend =>
-				RococoToBridgeHubWestendCliBridge::start(self.params),
-			DetectEquivocationsBridge::WestendToBridgeHubRococo =>
-				WestendToBridgeHubRococoCliBridge::start(self.params),
-		}
-		.await
-	}
-}
diff --git a/bridges/relays/bin-substrate/src/cli/init_bridge.rs b/bridges/relays/bin-substrate/src/cli/init_bridge.rs
deleted file mode 100644
index 441487b35a9667bbd0811b37a4bb40c8e7cda9b6..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/cli/init_bridge.rs
+++ /dev/null
@@ -1,199 +0,0 @@
-// Copyright 2019-2021 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-use crate::bridges::{
-	kusama_polkadot::{
-		kusama_headers_to_bridge_hub_polkadot::KusamaToBridgeHubPolkadotCliBridge,
-		polkadot_headers_to_bridge_hub_kusama::PolkadotToBridgeHubKusamaCliBridge,
-	},
-	polkadot_bulletin::{
-		polkadot_bulletin_headers_to_bridge_hub_polkadot::PolkadotBulletinToBridgeHubPolkadotCliBridge,
-		polkadot_headers_to_polkadot_bulletin::PolkadotToPolkadotBulletinCliBridge,
-	},
-	rococo_bulletin::{
-		rococo_bulletin_headers_to_bridge_hub_rococo::RococoBulletinToBridgeHubRococoCliBridge,
-		rococo_headers_to_rococo_bulletin::RococoToRococoBulletinCliBridge,
-	},
-	rococo_westend::{
-		rococo_headers_to_bridge_hub_westend::RococoToBridgeHubWestendCliBridge,
-		westend_headers_to_bridge_hub_rococo::WestendToBridgeHubRococoCliBridge,
-	},
-};
-use relay_substrate_client::Chain;
-use structopt::StructOpt;
-use strum::{EnumString, VariantNames};
-use substrate_relay_helper::{
-	cli::init_bridge::{BridgeInitializer, InitBridgeParams},
-	finality_base::engine::{Engine, Grandpa as GrandpaFinalityEngine},
-};
-
-impl BridgeInitializer for RococoToBridgeHubWestendCliBridge {
-	type Engine = GrandpaFinalityEngine<Self::Source>;
-
-	fn encode_init_bridge(
-		init_data: <Self::Engine as Engine<Self::Source>>::InitializationData,
-	) -> <Self::Target as Chain>::Call {
-		relay_bridge_hub_westend_client::RuntimeCall::BridgeRococoGrandpa(
-			relay_bridge_hub_westend_client::BridgeGrandpaCall::initialize { init_data },
-		)
-	}
-}
-
-impl BridgeInitializer for WestendToBridgeHubRococoCliBridge {
-	type Engine = GrandpaFinalityEngine<Self::Source>;
-
-	fn encode_init_bridge(
-		init_data: <Self::Engine as Engine<Self::Source>>::InitializationData,
-	) -> <Self::Target as Chain>::Call {
-		relay_bridge_hub_rococo_client::RuntimeCall::BridgeWestendGrandpa(
-			relay_bridge_hub_rococo_client::BridgeGrandpaCall::initialize { init_data },
-		)
-	}
-}
-
-impl BridgeInitializer for KusamaToBridgeHubPolkadotCliBridge {
-	type Engine = GrandpaFinalityEngine<Self::Source>;
-
-	fn encode_init_bridge(
-		init_data: <Self::Engine as Engine<Self::Source>>::InitializationData,
-	) -> <Self::Target as Chain>::Call {
-		relay_bridge_hub_polkadot_client::RuntimeCall::BridgeKusamaGrandpa(
-			relay_bridge_hub_polkadot_client::BridgeKusamaGrandpaCall::initialize { init_data },
-		)
-	}
-}
-
-impl BridgeInitializer for PolkadotToBridgeHubKusamaCliBridge {
-	type Engine = GrandpaFinalityEngine<Self::Source>;
-
-	fn encode_init_bridge(
-		init_data: <Self::Engine as Engine<Self::Source>>::InitializationData,
-	) -> <Self::Target as Chain>::Call {
-		relay_bridge_hub_kusama_client::RuntimeCall::BridgePolkadotGrandpa(
-			relay_bridge_hub_kusama_client::BridgeGrandpaCall::initialize { init_data },
-		)
-	}
-}
-
-impl BridgeInitializer for PolkadotToPolkadotBulletinCliBridge {
-	type Engine = GrandpaFinalityEngine<Self::Source>;
-
-	fn encode_init_bridge(
-		init_data: <Self::Engine as Engine<Self::Source>>::InitializationData,
-	) -> <Self::Target as Chain>::Call {
-		type RuntimeCall = relay_polkadot_bulletin_client::RuntimeCall;
-		type BridgePolkadotGrandpaCall = relay_polkadot_bulletin_client::BridgePolkadotGrandpaCall;
-		type SudoCall = relay_polkadot_bulletin_client::SudoCall;
-
-		let initialize_call =
-			RuntimeCall::BridgePolkadotGrandpa(BridgePolkadotGrandpaCall::initialize { init_data });
-
-		RuntimeCall::Sudo(SudoCall::sudo { call: Box::new(initialize_call) })
-	}
-}
-
-impl BridgeInitializer for PolkadotBulletinToBridgeHubPolkadotCliBridge {
-	type Engine = GrandpaFinalityEngine<Self::Source>;
-
-	fn encode_init_bridge(
-		init_data: <Self::Engine as Engine<Self::Source>>::InitializationData,
-	) -> <Self::Target as Chain>::Call {
-		// TODO: https://github.com/paritytech/parity-bridges-common/issues/2547 - use BridgePolkadotBulletinGrandpa
-		relay_bridge_hub_polkadot_client::RuntimeCall::BridgeKusamaGrandpa(
-			relay_bridge_hub_polkadot_client::BridgePolkadotBulletinGrandpaCall::initialize {
-				init_data,
-			},
-		)
-	}
-}
-
-impl BridgeInitializer for RococoToRococoBulletinCliBridge {
-	type Engine = GrandpaFinalityEngine<Self::Source>;
-
-	fn encode_init_bridge(
-		init_data: <Self::Engine as Engine<Self::Source>>::InitializationData,
-	) -> <Self::Target as Chain>::Call {
-		type RuntimeCall = relay_polkadot_bulletin_client::RuntimeCall;
-		type BridgePolkadotGrandpaCall = relay_polkadot_bulletin_client::BridgePolkadotGrandpaCall;
-		type SudoCall = relay_polkadot_bulletin_client::SudoCall;
-
-		let initialize_call =
-			RuntimeCall::BridgePolkadotGrandpa(BridgePolkadotGrandpaCall::initialize { init_data });
-
-		RuntimeCall::Sudo(SudoCall::sudo { call: Box::new(initialize_call) })
-	}
-}
-
-impl BridgeInitializer for RococoBulletinToBridgeHubRococoCliBridge {
-	type Engine = GrandpaFinalityEngine<Self::Source>;
-
-	fn encode_init_bridge(
-		init_data: <Self::Engine as Engine<Self::Source>>::InitializationData,
-	) -> <Self::Target as Chain>::Call {
-		relay_bridge_hub_rococo_client::RuntimeCall::BridgePolkadotBulletinGrandpa(
-			relay_bridge_hub_rococo_client::BridgeBulletinGrandpaCall::initialize { init_data },
-		)
-	}
-}
-
-/// Initialize bridge pallet.
-#[derive(StructOpt)]
-pub struct InitBridge {
-	/// A bridge instance to initialize.
-	#[structopt(possible_values = InitBridgeName::VARIANTS, case_insensitive = true)]
-	bridge: InitBridgeName,
-	#[structopt(flatten)]
-	params: InitBridgeParams,
-}
-
-#[derive(Debug, EnumString, VariantNames)]
-#[strum(serialize_all = "kebab_case")]
-/// Bridge to initialize.
-pub enum InitBridgeName {
-	KusamaToBridgeHubPolkadot,
-	PolkadotToBridgeHubKusama,
-	PolkadotToPolkadotBulletin,
-	PolkadotBulletinToBridgeHubPolkadot,
-	RococoToRococoBulletin,
-	RococoBulletinToBridgeHubRococo,
-	RococoToBridgeHubWestend,
-	WestendToBridgeHubRococo,
-}
-
-impl InitBridge {
-	/// Run the command.
-	pub async fn run(self) -> anyhow::Result<()> {
-		match self.bridge {
-			InitBridgeName::KusamaToBridgeHubPolkadot =>
-				KusamaToBridgeHubPolkadotCliBridge::init_bridge(self.params),
-			InitBridgeName::PolkadotToBridgeHubKusama =>
-				PolkadotToBridgeHubKusamaCliBridge::init_bridge(self.params),
-			InitBridgeName::PolkadotToPolkadotBulletin =>
-				PolkadotToPolkadotBulletinCliBridge::init_bridge(self.params),
-			InitBridgeName::PolkadotBulletinToBridgeHubPolkadot =>
-				PolkadotBulletinToBridgeHubPolkadotCliBridge::init_bridge(self.params),
-			InitBridgeName::RococoToRococoBulletin =>
-				RococoToRococoBulletinCliBridge::init_bridge(self.params),
-			InitBridgeName::RococoBulletinToBridgeHubRococo =>
-				RococoBulletinToBridgeHubRococoCliBridge::init_bridge(self.params),
-			InitBridgeName::RococoToBridgeHubWestend =>
-				RococoToBridgeHubWestendCliBridge::init_bridge(self.params),
-			InitBridgeName::WestendToBridgeHubRococo =>
-				WestendToBridgeHubRococoCliBridge::init_bridge(self.params),
-		}
-		.await
-	}
-}
diff --git a/bridges/relays/bin-substrate/src/cli/mod.rs b/bridges/relays/bin-substrate/src/cli/mod.rs
deleted file mode 100644
index 504058894c21f570c7c3a25a4a4de35d9d7408af..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/cli/mod.rs
+++ /dev/null
@@ -1,131 +0,0 @@
-// Copyright 2019-2021 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Deal with CLI args of substrate-to-substrate relay.
-
-use async_std::prelude::*;
-use futures::{select, FutureExt};
-use signal_hook::consts::*;
-use signal_hook_async_std::Signals;
-use structopt::StructOpt;
-
-mod chain_schema;
-mod detect_equivocations;
-mod init_bridge;
-mod relay_headers;
-mod relay_headers_and_messages;
-mod relay_messages;
-mod relay_parachains;
-
-/// The target that will be used when publishing logs related to this pallet.
-pub const LOG_TARGET: &str = "bridge";
-
-/// Parse relay CLI args.
-pub fn parse_args() -> Command {
-	Command::from_args()
-}
-
-/// Substrate-to-Substrate bridge utilities.
-#[derive(StructOpt)]
-#[structopt(about = "Substrate-to-Substrate relay")]
-pub enum Command {
-	/// Initialize on-chain bridge pallet with current header data.
-	///
-	/// Sends initialization transaction to bootstrap the bridge with current finalized block data.
-	InitBridge(init_bridge::InitBridge),
-	/// Start headers relay between two chains.
-	///
-	/// The on-chain bridge component should have been already initialized with
-	/// `init-bridge` sub-command.
-	RelayHeaders(relay_headers::RelayHeaders),
-	/// Relay parachain heads.
-	RelayParachains(relay_parachains::RelayParachains),
-	/// Start messages relay between two chains.
-	///
-	/// Ties up to `Messages` pallets on both chains and starts relaying messages.
-	/// Requires the header relay to be already running.
-	RelayMessages(relay_messages::RelayMessages),
-	/// Start headers and messages relay between two Substrate chains.
-	///
-	/// This high-level relay internally starts four low-level relays: two `RelayHeaders`
-	/// and two `RelayMessages` relays. Headers are only relayed when they are required by
-	/// the message relays - i.e. when there are messages or confirmations that needs to be
-	/// relayed between chains.
-	RelayHeadersAndMessages(Box<relay_headers_and_messages::RelayHeadersAndMessages>),
-	/// Detect and report equivocations.
-	///
-	/// Parses the source chain headers that were synchronized with the target chain looking for
-	/// equivocations. If any equivocation is found, it is reported to the source chain.
-	DetectEquivocations(detect_equivocations::DetectEquivocations),
-}
-
-impl Command {
-	// Initialize logger depending on the command.
-	fn init_logger(&self) {
-		use relay_utils::initialize::{initialize_logger, initialize_relay};
-
-		match self {
-			Self::InitBridge(_) |
-			Self::RelayHeaders(_) |
-			Self::RelayMessages(_) |
-			Self::RelayHeadersAndMessages(_) => {
-				initialize_relay();
-			},
-			_ => {
-				initialize_logger(false);
-			},
-		}
-	}
-
-	/// Run the command.
-	async fn do_run(self) -> anyhow::Result<()> {
-		match self {
-			Self::InitBridge(arg) => arg.run().await?,
-			Self::RelayHeaders(arg) => arg.run().await?,
-			Self::RelayParachains(arg) => arg.run().await?,
-			Self::RelayMessages(arg) => arg.run().await?,
-			Self::RelayHeadersAndMessages(arg) => arg.run().await?,
-			Self::DetectEquivocations(arg) => arg.run().await?,
-		}
-		Ok(())
-	}
-
-	/// Run the command.
-	pub async fn run(self) {
-		self.init_logger();
-
-		let exit_signals = match Signals::new([SIGINT, SIGTERM]) {
-			Ok(signals) => signals,
-			Err(e) => {
-				log::error!(target: LOG_TARGET, "Could not register exit signals: {}", e);
-				return
-			},
-		};
-		let run = self.do_run().fuse();
-		futures::pin_mut!(exit_signals, run);
-
-		select! {
-			signal = exit_signals.next().fuse() => {
-				log::info!(target: LOG_TARGET, "Received exit signal {:?}", signal);
-			},
-			result = run => {
-				if let Err(e) = result {
-					log::error!(target: LOG_TARGET, "substrate-relay: {}", e);
-				}
-			},
-		}
-	}
-}
diff --git a/bridges/relays/bin-substrate/src/cli/relay_headers.rs b/bridges/relays/bin-substrate/src/cli/relay_headers.rs
deleted file mode 100644
index e244d0e9a248f20d99149dafa3a6e4aaec8f38d0..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/cli/relay_headers.rs
+++ /dev/null
@@ -1,85 +0,0 @@
-// Copyright 2019-2021 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-use structopt::StructOpt;
-use strum::{EnumString, VariantNames};
-
-use crate::bridges::{
-	kusama_polkadot::{
-		kusama_headers_to_bridge_hub_polkadot::KusamaToBridgeHubPolkadotCliBridge,
-		polkadot_headers_to_bridge_hub_kusama::PolkadotToBridgeHubKusamaCliBridge,
-	},
-	polkadot_bulletin::{
-		polkadot_bulletin_headers_to_bridge_hub_polkadot::PolkadotBulletinToBridgeHubPolkadotCliBridge,
-		polkadot_headers_to_polkadot_bulletin::PolkadotToPolkadotBulletinCliBridge,
-	},
-	rococo_bulletin::{
-		rococo_bulletin_headers_to_bridge_hub_rococo::RococoBulletinToBridgeHubRococoCliBridge,
-		rococo_headers_to_rococo_bulletin::RococoToRococoBulletinCliBridge,
-	},
-};
-
-use substrate_relay_helper::cli::relay_headers::{HeadersRelayer, RelayHeadersParams};
-
-/// Start headers relayer process.
-#[derive(StructOpt)]
-pub struct RelayHeaders {
-	/// A bridge instance to relay headers for.
-	#[structopt(possible_values = RelayHeadersBridge::VARIANTS, case_insensitive = true)]
-	bridge: RelayHeadersBridge,
-	#[structopt(flatten)]
-	params: RelayHeadersParams,
-}
-
-#[derive(Debug, EnumString, VariantNames)]
-#[strum(serialize_all = "kebab_case")]
-/// Headers relay bridge.
-pub enum RelayHeadersBridge {
-	KusamaToBridgeHubPolkadot,
-	PolkadotToBridgeHubKusama,
-	PolkadotToPolkadotBulletin,
-	PolkadotBulletinToBridgeHubPolkadot,
-	RococoToRococoBulletin,
-	RococoBulletinToBridgeHubRococo,
-}
-
-impl HeadersRelayer for KusamaToBridgeHubPolkadotCliBridge {}
-impl HeadersRelayer for PolkadotToBridgeHubKusamaCliBridge {}
-impl HeadersRelayer for PolkadotToPolkadotBulletinCliBridge {}
-impl HeadersRelayer for PolkadotBulletinToBridgeHubPolkadotCliBridge {}
-impl HeadersRelayer for RococoToRococoBulletinCliBridge {}
-impl HeadersRelayer for RococoBulletinToBridgeHubRococoCliBridge {}
-
-impl RelayHeaders {
-	/// Run the command.
-	pub async fn run(self) -> anyhow::Result<()> {
-		match self.bridge {
-			RelayHeadersBridge::KusamaToBridgeHubPolkadot =>
-				KusamaToBridgeHubPolkadotCliBridge::relay_headers(self.params),
-			RelayHeadersBridge::PolkadotToBridgeHubKusama =>
-				PolkadotToBridgeHubKusamaCliBridge::relay_headers(self.params),
-			RelayHeadersBridge::PolkadotToPolkadotBulletin =>
-				PolkadotToPolkadotBulletinCliBridge::relay_headers(self.params),
-			RelayHeadersBridge::PolkadotBulletinToBridgeHubPolkadot =>
-				PolkadotBulletinToBridgeHubPolkadotCliBridge::relay_headers(self.params),
-			RelayHeadersBridge::RococoToRococoBulletin =>
-				RococoToRococoBulletinCliBridge::relay_headers(self.params),
-			RelayHeadersBridge::RococoBulletinToBridgeHubRococo =>
-				RococoBulletinToBridgeHubRococoCliBridge::relay_headers(self.params),
-		}
-		.await
-	}
-}
diff --git a/bridges/relays/bin-substrate/src/cli/relay_headers_and_messages.rs b/bridges/relays/bin-substrate/src/cli/relay_headers_and_messages.rs
deleted file mode 100644
index 229661748ed6be242f9e8182bf2ec94f09039e98..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/cli/relay_headers_and_messages.rs
+++ /dev/null
@@ -1,377 +0,0 @@
-// Copyright 2019-2022 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Complex 2-ways headers+messages relays support.
-//!
-//! To add new complex relay between `ChainA` and `ChainB`, you must:
-//!
-//! 1) ensure that there's a `declare_chain_cli_schema!(...)` for both chains.
-//! 2) add `declare_chain_to_chain_bridge_schema!(...)` or
-//!    `declare_chain_to_parachain_bridge_schema` for the bridge.
-//! 3) declare a new struct for the added bridge and implement the `Full2WayBridge` trait for it.
-
-use async_trait::async_trait;
-use structopt::StructOpt;
-
-use crate::bridges::{
-	kusama_polkadot::{
-		kusama_parachains_to_bridge_hub_polkadot::BridgeHubKusamaToBridgeHubPolkadotCliBridge,
-		polkadot_parachains_to_bridge_hub_kusama::BridgeHubPolkadotToBridgeHubKusamaCliBridge,
-	},
-	polkadot_bulletin::{
-		polkadot_bulletin_headers_to_bridge_hub_polkadot::PolkadotBulletinToBridgeHubPolkadotCliBridge,
-		polkadot_parachains_to_polkadot_bulletin::PolkadotToPolkadotBulletinCliBridge,
-	},
-	rococo_bulletin::{
-		rococo_bulletin_headers_to_bridge_hub_rococo::RococoBulletinToBridgeHubRococoCliBridge,
-		rococo_parachains_to_rococo_bulletin::RococoToRococoBulletinCliBridge,
-		BridgeHubRococoAsBridgeHubPolkadot,
-	},
-	rococo_westend::{
-		rococo_parachains_to_bridge_hub_westend::BridgeHubRococoToBridgeHubWestendCliBridge,
-		westend_parachains_to_bridge_hub_rococo::BridgeHubWestendToBridgeHubRococoCliBridge,
-	},
-};
-use relay_substrate_client::{
-	AccountKeyPairOf, ChainRuntimeVersion, ChainWithRuntimeVersion, ChainWithTransactions,
-	Parachain, SimpleRuntimeVersion,
-};
-use substrate_relay_helper::{
-	cli::{
-		bridge::{
-			CliBridgeBase, MessagesCliBridge, ParachainToRelayHeadersCliBridge,
-			RelayToRelayHeadersCliBridge,
-		},
-		chain_schema::*,
-		relay_headers_and_messages::{
-			parachain_to_parachain::ParachainToParachainBridge, relay_to_parachain::*,
-			BridgeEndCommonParams, Full2WayBridge, Full2WayBridgeCommonParams,
-			HeadersAndMessagesSharedParams,
-		},
-	},
-	declare_chain_cli_schema, declare_parachain_to_parachain_bridge_schema,
-	declare_relay_to_parachain_bridge_schema, TransactionParams,
-};
-
-// All supported chains.
-declare_chain_cli_schema!(Rococo, rococo);
-declare_chain_cli_schema!(BridgeHubRococo, bridge_hub_rococo);
-declare_chain_cli_schema!(Westend, westend);
-declare_chain_cli_schema!(BridgeHubWestend, bridge_hub_westend);
-declare_chain_cli_schema!(Kusama, kusama);
-declare_chain_cli_schema!(BridgeHubKusama, bridge_hub_kusama);
-declare_chain_cli_schema!(Polkadot, polkadot);
-declare_chain_cli_schema!(BridgeHubPolkadot, bridge_hub_polkadot);
-declare_chain_cli_schema!(PolkadotBulletin, polkadot_bulletin);
-declare_chain_cli_schema!(RococoBulletin, rococo_bulletin);
-// Means to override signers of different layer transactions.
-declare_chain_cli_schema!(RococoHeadersToBridgeHubWestend, rococo_headers_to_bridge_hub_westend);
-declare_chain_cli_schema!(
-	RococoParachainsToBridgeHubWestend,
-	rococo_parachains_to_bridge_hub_westend
-);
-declare_chain_cli_schema!(WestendHeadersToBridgeHubRococo, westend_headers_to_bridge_hub_rococo);
-declare_chain_cli_schema!(
-	WestendParachainsToBridgeHubRococo,
-	westend_parachains_to_bridge_hub_rococo
-);
-declare_chain_cli_schema!(KusamaHeadersToBridgeHubPolkadot, kusama_headers_to_bridge_hub_polkadot);
-declare_chain_cli_schema!(
-	KusamaParachainsToBridgeHubPolkadot,
-	kusama_parachains_to_bridge_hub_polkadot
-);
-declare_chain_cli_schema!(PolkadotHeadersToBridgeHubKusama, polkadot_headers_to_bridge_hub_kusama);
-declare_chain_cli_schema!(
-	PolkadotParachainsToBridgeHubKusama,
-	polkadot_parachains_to_bridge_hub_kusama
-);
-declare_chain_cli_schema!(
-	PolkadotBulletinHeadersToBridgeHubPolkadot,
-	polkadot_bulletin_headers_to_bridge_hub_polkadot
-);
-declare_chain_cli_schema!(
-	RococoBulletinHeadersToBridgeHubRococo,
-	rococo_bulletin_headers_to_bridge_hub_rococo
-);
-declare_chain_cli_schema!(PolkadotHeadersToPolkadotBulletin, polkadot_headers_to_polkadot_bulletin);
-declare_chain_cli_schema!(RococoHeadersToRococoBulletin, rococo_headers_to_rococo_bulletin);
-declare_chain_cli_schema!(
-	PolkadotParachainsToPolkadotBulletin,
-	polkadot_parachains_to_polkadot_bulletin
-);
-declare_chain_cli_schema!(RococoParachainsToRococoBulletin, rococo_parachains_to_rococo_bulletin);
-// All supported bridges.
-declare_parachain_to_parachain_bridge_schema!(BridgeHubRococo, Rococo, BridgeHubWestend, Westend);
-declare_parachain_to_parachain_bridge_schema!(BridgeHubKusama, Kusama, BridgeHubPolkadot, Polkadot);
-declare_relay_to_parachain_bridge_schema!(PolkadotBulletin, BridgeHubPolkadot, Polkadot);
-declare_relay_to_parachain_bridge_schema!(RococoBulletin, BridgeHubRococo, Rococo);
-
-/// BridgeHubRococo <> BridgeHubWestend complex relay.
-pub struct BridgeHubRococoBridgeHubWestendFull2WayBridge {
-	base: <Self as Full2WayBridge>::Base,
-}
-
-#[async_trait]
-impl Full2WayBridge for BridgeHubRococoBridgeHubWestendFull2WayBridge {
-	type Base = ParachainToParachainBridge<Self::L2R, Self::R2L>;
-	type Left = relay_bridge_hub_rococo_client::BridgeHubRococo;
-	type Right = relay_bridge_hub_westend_client::BridgeHubWestend;
-	type L2R = BridgeHubRococoToBridgeHubWestendCliBridge;
-	type R2L = BridgeHubWestendToBridgeHubRococoCliBridge;
-
-	fn new(base: Self::Base) -> anyhow::Result<Self> {
-		Ok(Self { base })
-	}
-
-	fn base(&self) -> &Self::Base {
-		&self.base
-	}
-
-	fn mut_base(&mut self) -> &mut Self::Base {
-		&mut self.base
-	}
-}
-
-/// BridgeHubKusama <> BridgeHubPolkadot complex relay.
-pub struct BridgeHubKusamaBridgeHubPolkadotFull2WayBridge {
-	base: <Self as Full2WayBridge>::Base,
-}
-
-#[async_trait]
-impl Full2WayBridge for BridgeHubKusamaBridgeHubPolkadotFull2WayBridge {
-	type Base = ParachainToParachainBridge<Self::L2R, Self::R2L>;
-	type Left = relay_bridge_hub_kusama_client::BridgeHubKusama;
-	type Right = relay_bridge_hub_polkadot_client::BridgeHubPolkadot;
-	type L2R = BridgeHubKusamaToBridgeHubPolkadotCliBridge;
-	type R2L = BridgeHubPolkadotToBridgeHubKusamaCliBridge;
-
-	fn new(base: Self::Base) -> anyhow::Result<Self> {
-		Ok(Self { base })
-	}
-
-	fn base(&self) -> &Self::Base {
-		&self.base
-	}
-
-	fn mut_base(&mut self) -> &mut Self::Base {
-		&mut self.base
-	}
-}
-
-/// `PolkadotBulletin` <> `BridgeHubPolkadot` complex relay.
-pub struct PolkadotBulletinBridgeHubPolkadotFull2WayBridge {
-	base: <Self as Full2WayBridge>::Base,
-}
-
-#[async_trait]
-impl Full2WayBridge for PolkadotBulletinBridgeHubPolkadotFull2WayBridge {
-	type Base = RelayToParachainBridge<Self::L2R, Self::R2L>;
-	type Left = relay_polkadot_bulletin_client::PolkadotBulletin;
-	type Right = relay_bridge_hub_polkadot_client::BridgeHubPolkadot;
-	type L2R = PolkadotBulletinToBridgeHubPolkadotCliBridge;
-	type R2L = PolkadotToPolkadotBulletinCliBridge;
-
-	fn new(base: Self::Base) -> anyhow::Result<Self> {
-		Ok(Self { base })
-	}
-
-	fn base(&self) -> &Self::Base {
-		&self.base
-	}
-
-	fn mut_base(&mut self) -> &mut Self::Base {
-		&mut self.base
-	}
-}
-
-/// `RococoBulletin` <> `BridgeHubRococo` complex relay.
-pub struct RococoBulletinBridgeHubRococoFull2WayBridge {
-	base: <Self as Full2WayBridge>::Base,
-}
-
-#[async_trait]
-impl Full2WayBridge for RococoBulletinBridgeHubRococoFull2WayBridge {
-	type Base = RelayToParachainBridge<Self::L2R, Self::R2L>;
-	type Left = relay_polkadot_bulletin_client::PolkadotBulletin;
-	type Right = BridgeHubRococoAsBridgeHubPolkadot;
-	type L2R = RococoBulletinToBridgeHubRococoCliBridge;
-	type R2L = RococoToRococoBulletinCliBridge;
-
-	fn new(base: Self::Base) -> anyhow::Result<Self> {
-		Ok(Self { base })
-	}
-
-	fn base(&self) -> &Self::Base {
-		&self.base
-	}
-
-	fn mut_base(&mut self) -> &mut Self::Base {
-		&mut self.base
-	}
-}
-
-/// Complex headers+messages relay.
-#[derive(Debug, PartialEq, StructOpt)]
-pub enum RelayHeadersAndMessages {
-	/// BridgeHubKusama <> BridgeHubPolkadot relay.
-	BridgeHubKusamaBridgeHubPolkadot(BridgeHubKusamaBridgeHubPolkadotHeadersAndMessages),
-	/// `PolkadotBulletin` <> `BridgeHubPolkadot` relay.
-	PolkadotBulletinBridgeHubPolkadot(PolkadotBulletinBridgeHubPolkadotHeadersAndMessages),
-	/// `RococoBulletin` <> `BridgeHubRococo` relay.
-	RococoBulletinBridgeHubRococo(RococoBulletinBridgeHubRococoHeadersAndMessages),
-	/// BridgeHubRococo <> BridgeHubWestend relay.
-	BridgeHubRococoBridgeHubWestend(BridgeHubRococoBridgeHubWestendHeadersAndMessages),
-}
-
-impl RelayHeadersAndMessages {
-	/// Run the command.
-	pub async fn run(self) -> anyhow::Result<()> {
-		match self {
-			RelayHeadersAndMessages::BridgeHubRococoBridgeHubWestend(params) =>
-				BridgeHubRococoBridgeHubWestendFull2WayBridge::new(params.into_bridge().await?)?
-					.run()
-					.await,
-			RelayHeadersAndMessages::BridgeHubKusamaBridgeHubPolkadot(params) =>
-				BridgeHubKusamaBridgeHubPolkadotFull2WayBridge::new(params.into_bridge().await?)?
-					.run()
-					.await,
-			RelayHeadersAndMessages::PolkadotBulletinBridgeHubPolkadot(params) =>
-				PolkadotBulletinBridgeHubPolkadotFull2WayBridge::new(params.into_bridge().await?)?
-					.run()
-					.await,
-			RelayHeadersAndMessages::RococoBulletinBridgeHubRococo(params) =>
-				RococoBulletinBridgeHubRococoFull2WayBridge::new(params.into_bridge().await?)?
-					.run()
-					.await,
-		}
-	}
-}
-
-#[cfg(test)]
-mod tests {
-	use super::*;
-	use substrate_relay_helper::cli::{HexLaneId, PrometheusParams};
-
-	#[test]
-	fn should_parse_parachain_to_parachain_options() {
-		// when
-		let res = RelayHeadersAndMessages::from_iter(vec![
-			"relay-headers-and-messages",
-			"bridge-hub-kusama-bridge-hub-polkadot",
-			"--bridge-hub-kusama-host",
-			"bridge-hub-kusama-node-collator1",
-			"--bridge-hub-kusama-port",
-			"9944",
-			"--bridge-hub-kusama-signer",
-			"//Iden",
-			"--bridge-hub-kusama-transactions-mortality",
-			"64",
-			"--kusama-host",
-			"kusama-alice",
-			"--kusama-port",
-			"9944",
-			"--bridge-hub-polkadot-host",
-			"bridge-hub-polkadot-collator1",
-			"--bridge-hub-polkadot-port",
-			"9944",
-			"--bridge-hub-polkadot-signer",
-			"//George",
-			"--bridge-hub-polkadot-transactions-mortality",
-			"64",
-			"--polkadot-host",
-			"polkadot-alice",
-			"--polkadot-port",
-			"9944",
-			"--lane",
-			"00000000",
-			"--prometheus-host",
-			"0.0.0.0",
-		]);
-
-		// then
-		assert_eq!(
-			res,
-			RelayHeadersAndMessages::BridgeHubKusamaBridgeHubPolkadot(
-				BridgeHubKusamaBridgeHubPolkadotHeadersAndMessages {
-					shared: HeadersAndMessagesSharedParams {
-						lane: vec![HexLaneId([0x00, 0x00, 0x00, 0x00])],
-						only_mandatory_headers: false,
-						prometheus_params: PrometheusParams {
-							no_prometheus: false,
-							prometheus_host: "0.0.0.0".into(),
-							prometheus_port: 9616,
-						},
-					},
-					left_relay: KusamaConnectionParams {
-						kusama_host: "kusama-alice".into(),
-						kusama_port: 9944,
-						kusama_secure: false,
-						kusama_runtime_version: KusamaRuntimeVersionParams {
-							kusama_version_mode: RuntimeVersionType::Bundle,
-							kusama_spec_version: None,
-							kusama_transaction_version: None,
-						},
-					},
-					left: BridgeHubKusamaConnectionParams {
-						bridge_hub_kusama_host: "bridge-hub-kusama-node-collator1".into(),
-						bridge_hub_kusama_port: 9944,
-						bridge_hub_kusama_secure: false,
-						bridge_hub_kusama_runtime_version: BridgeHubKusamaRuntimeVersionParams {
-							bridge_hub_kusama_version_mode: RuntimeVersionType::Bundle,
-							bridge_hub_kusama_spec_version: None,
-							bridge_hub_kusama_transaction_version: None,
-						},
-					},
-					left_sign: BridgeHubKusamaSigningParams {
-						bridge_hub_kusama_signer: Some("//Iden".into()),
-						bridge_hub_kusama_signer_password: None,
-						bridge_hub_kusama_signer_file: None,
-						bridge_hub_kusama_signer_password_file: None,
-						bridge_hub_kusama_transactions_mortality: Some(64),
-					},
-					right: BridgeHubPolkadotConnectionParams {
-						bridge_hub_polkadot_host: "bridge-hub-polkadot-collator1".into(),
-						bridge_hub_polkadot_port: 9944,
-						bridge_hub_polkadot_secure: false,
-						bridge_hub_polkadot_runtime_version:
-							BridgeHubPolkadotRuntimeVersionParams {
-								bridge_hub_polkadot_version_mode: RuntimeVersionType::Bundle,
-								bridge_hub_polkadot_spec_version: None,
-								bridge_hub_polkadot_transaction_version: None,
-							},
-					},
-					right_sign: BridgeHubPolkadotSigningParams {
-						bridge_hub_polkadot_signer: Some("//George".into()),
-						bridge_hub_polkadot_signer_password: None,
-						bridge_hub_polkadot_signer_file: None,
-						bridge_hub_polkadot_signer_password_file: None,
-						bridge_hub_polkadot_transactions_mortality: Some(64),
-					},
-					right_relay: PolkadotConnectionParams {
-						polkadot_host: "polkadot-alice".into(),
-						polkadot_port: 9944,
-						polkadot_secure: false,
-						polkadot_runtime_version: PolkadotRuntimeVersionParams {
-							polkadot_version_mode: RuntimeVersionType::Bundle,
-							polkadot_spec_version: None,
-							polkadot_transaction_version: None,
-						},
-					},
-				}
-			),
-		);
-	}
-}
diff --git a/bridges/relays/bin-substrate/src/cli/relay_messages.rs b/bridges/relays/bin-substrate/src/cli/relay_messages.rs
deleted file mode 100644
index 92b98f4d983a33a9b6278fb398ec7cee0da56b12..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/cli/relay_messages.rs
+++ /dev/null
@@ -1,96 +0,0 @@
-// Copyright 2019-2021 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-use structopt::StructOpt;
-use strum::{EnumString, VariantNames};
-
-use crate::bridges::{
-	kusama_polkadot::{
-		bridge_hub_kusama_messages_to_bridge_hub_polkadot::BridgeHubKusamaToBridgeHubPolkadotMessagesCliBridge,
-		bridge_hub_polkadot_messages_to_bridge_hub_kusama::BridgeHubPolkadotToBridgeHubKusamaMessagesCliBridge,
-	},
-	polkadot_bulletin::{
-		bridge_hub_polkadot_messages_to_polkadot_bulletin::BridgeHubPolkadotToPolkadotBulletinMessagesCliBridge,
-		polkadot_bulletin_messages_to_bridge_hub_polkadot::PolkadotBulletinToBridgeHubPolkadotMessagesCliBridge,
-	},
-	rococo_bulletin::{
-		bridge_hub_rococo_messages_to_rococo_bulletin::BridgeHubRococoToRococoBulletinMessagesCliBridge,
-		rococo_bulletin_messages_to_bridge_hub_rococo::RococoBulletinToBridgeHubRococoMessagesCliBridge,
-	},
-	rococo_westend::{
-		bridge_hub_rococo_messages_to_bridge_hub_westend::BridgeHubRococoToBridgeHubWestendMessagesCliBridge,
-		bridge_hub_westend_messages_to_bridge_hub_rococo::BridgeHubWestendToBridgeHubRococoMessagesCliBridge,
-	},
-};
-use substrate_relay_helper::cli::relay_messages::{MessagesRelayer, RelayMessagesParams};
-
-#[derive(Debug, PartialEq, Eq, EnumString, VariantNames)]
-#[strum(serialize_all = "kebab_case")]
-/// Supported full bridges (headers + messages).
-pub enum FullBridge {
-	BridgeHubRococoToBridgeHubWestend,
-	BridgeHubWestendToBridgeHubRococo,
-	BridgeHubKusamaToBridgeHubPolkadot,
-	BridgeHubPolkadotToBridgeHubKusama,
-	PolkadotBulletinToBridgeHubPolkadot,
-	BridgeHubPolkadotToPolkadotBulletin,
-	RococoBulletinToBridgeHubRococo,
-	BridgeHubRococoToRococoBulletin,
-}
-
-/// Start messages relayer process.
-#[derive(StructOpt)]
-pub struct RelayMessages {
-	/// A bridge instance to relay messages for.
-	#[structopt(possible_values = FullBridge::VARIANTS, case_insensitive = true)]
-	bridge: FullBridge,
-	#[structopt(flatten)]
-	params: RelayMessagesParams,
-}
-
-impl MessagesRelayer for BridgeHubRococoToBridgeHubWestendMessagesCliBridge {}
-impl MessagesRelayer for BridgeHubWestendToBridgeHubRococoMessagesCliBridge {}
-impl MessagesRelayer for BridgeHubKusamaToBridgeHubPolkadotMessagesCliBridge {}
-impl MessagesRelayer for BridgeHubPolkadotToBridgeHubKusamaMessagesCliBridge {}
-impl MessagesRelayer for PolkadotBulletinToBridgeHubPolkadotMessagesCliBridge {}
-impl MessagesRelayer for BridgeHubPolkadotToPolkadotBulletinMessagesCliBridge {}
-impl MessagesRelayer for RococoBulletinToBridgeHubRococoMessagesCliBridge {}
-impl MessagesRelayer for BridgeHubRococoToRococoBulletinMessagesCliBridge {}
-
-impl RelayMessages {
-	/// Run the command.
-	pub async fn run(self) -> anyhow::Result<()> {
-		match self.bridge {
-			FullBridge::BridgeHubRococoToBridgeHubWestend =>
-				BridgeHubRococoToBridgeHubWestendMessagesCliBridge::relay_messages(self.params),
-			FullBridge::BridgeHubWestendToBridgeHubRococo =>
-				BridgeHubWestendToBridgeHubRococoMessagesCliBridge::relay_messages(self.params),
-			FullBridge::BridgeHubKusamaToBridgeHubPolkadot =>
-				BridgeHubKusamaToBridgeHubPolkadotMessagesCliBridge::relay_messages(self.params),
-			FullBridge::BridgeHubPolkadotToBridgeHubKusama =>
-				BridgeHubPolkadotToBridgeHubKusamaMessagesCliBridge::relay_messages(self.params),
-			FullBridge::PolkadotBulletinToBridgeHubPolkadot =>
-				PolkadotBulletinToBridgeHubPolkadotMessagesCliBridge::relay_messages(self.params),
-			FullBridge::BridgeHubPolkadotToPolkadotBulletin =>
-				BridgeHubPolkadotToPolkadotBulletinMessagesCliBridge::relay_messages(self.params),
-			FullBridge::RococoBulletinToBridgeHubRococo =>
-				RococoBulletinToBridgeHubRococoMessagesCliBridge::relay_messages(self.params),
-			FullBridge::BridgeHubRococoToRococoBulletin =>
-				BridgeHubRococoToRococoBulletinMessagesCliBridge::relay_messages(self.params),
-		}
-		.await
-	}
-}
diff --git a/bridges/relays/bin-substrate/src/cli/relay_parachains.rs b/bridges/relays/bin-substrate/src/cli/relay_parachains.rs
deleted file mode 100644
index 65382d1ca11b9cb68472615f15c15af9b5756b79..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/cli/relay_parachains.rs
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright 2019-2021 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-use crate::bridges::{
-	kusama_polkadot::{
-		kusama_parachains_to_bridge_hub_polkadot::BridgeHubKusamaToBridgeHubPolkadotCliBridge,
-		polkadot_parachains_to_bridge_hub_kusama::BridgeHubPolkadotToBridgeHubKusamaCliBridge,
-	},
-	polkadot_bulletin::polkadot_parachains_to_polkadot_bulletin::PolkadotToPolkadotBulletinCliBridge,
-	rococo_bulletin::rococo_parachains_to_rococo_bulletin::RococoToRococoBulletinCliBridge,
-	rococo_westend::{
-		rococo_parachains_to_bridge_hub_westend::BridgeHubRococoToBridgeHubWestendCliBridge,
-		westend_parachains_to_bridge_hub_rococo::BridgeHubWestendToBridgeHubRococoCliBridge,
-	},
-};
-use structopt::StructOpt;
-use strum::{EnumString, VariantNames};
-use substrate_relay_helper::cli::relay_parachains::{ParachainsRelayer, RelayParachainsParams};
-
-/// Start parachain heads relayer process.
-#[derive(StructOpt)]
-pub struct RelayParachains {
-	/// A bridge instance to relay parachains heads for.
-	#[structopt(possible_values = RelayParachainsBridge::VARIANTS, case_insensitive = true)]
-	bridge: RelayParachainsBridge,
-	#[structopt(flatten)]
-	params: RelayParachainsParams,
-}
-
-/// Parachain heads relay bridge.
-#[derive(Debug, EnumString, VariantNames)]
-#[strum(serialize_all = "kebab_case")]
-pub enum RelayParachainsBridge {
-	KusamaToBridgeHubPolkadot,
-	PolkadotToBridgeHubKusama,
-	PolkadotToPolkadotBulletin,
-	RococoToRococoBulletin,
-	RococoToBridgeHubWestend,
-	WestendToBridgeHubRococo,
-}
-
-impl ParachainsRelayer for BridgeHubRococoToBridgeHubWestendCliBridge {}
-impl ParachainsRelayer for BridgeHubWestendToBridgeHubRococoCliBridge {}
-impl ParachainsRelayer for BridgeHubKusamaToBridgeHubPolkadotCliBridge {}
-impl ParachainsRelayer for BridgeHubPolkadotToBridgeHubKusamaCliBridge {}
-impl ParachainsRelayer for PolkadotToPolkadotBulletinCliBridge {}
-impl ParachainsRelayer for RococoToRococoBulletinCliBridge {}
-
-impl RelayParachains {
-	/// Run the command.
-	pub async fn run(self) -> anyhow::Result<()> {
-		match self.bridge {
-			RelayParachainsBridge::RococoToBridgeHubWestend =>
-				BridgeHubRococoToBridgeHubWestendCliBridge::relay_parachains(self.params),
-			RelayParachainsBridge::WestendToBridgeHubRococo =>
-				BridgeHubWestendToBridgeHubRococoCliBridge::relay_parachains(self.params),
-			RelayParachainsBridge::KusamaToBridgeHubPolkadot =>
-				BridgeHubKusamaToBridgeHubPolkadotCliBridge::relay_parachains(self.params),
-			RelayParachainsBridge::PolkadotToBridgeHubKusama =>
-				BridgeHubPolkadotToBridgeHubKusamaCliBridge::relay_parachains(self.params),
-			RelayParachainsBridge::PolkadotToPolkadotBulletin =>
-				PolkadotToPolkadotBulletinCliBridge::relay_parachains(self.params),
-			RelayParachainsBridge::RococoToRococoBulletin =>
-				RococoToRococoBulletinCliBridge::relay_parachains(self.params),
-		}
-		.await
-	}
-}
diff --git a/bridges/relays/bin-substrate/src/main.rs b/bridges/relays/bin-substrate/src/main.rs
deleted file mode 100644
index 214bfa60e24a4c06b3277476a383f756570b8c5b..0000000000000000000000000000000000000000
--- a/bridges/relays/bin-substrate/src/main.rs
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright 2019-2021 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Substrate-to-substrate relay entrypoint.
-
-#![warn(missing_docs)]
-
-mod bridges;
-mod cli;
-
-fn main() {
-	let command = cli::parse_args();
-	let run = command.run();
-	async_std::task::block_on(run);
-}
diff --git a/bridges/relays/client-bridge-hub-kusama/Cargo.toml b/bridges/relays/client-bridge-hub-kusama/Cargo.toml
deleted file mode 100644
index a02dc26a0a8d314da92199d6a8ac7d40222f0ef9..0000000000000000000000000000000000000000
--- a/bridges/relays/client-bridge-hub-kusama/Cargo.toml
+++ /dev/null
@@ -1,32 +0,0 @@
-[package]
-name = "relay-bridge-hub-kusama-client"
-version = "0.1.0"
-authors = ["Parity Technologies <admin@parity.io>"]
-edition = "2021"
-license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
-
-[lints]
-workspace = true
-
-[dependencies]
-codec = { package = "parity-scale-codec", version = "3.1.5", features = ["derive"] }
-scale-info = { version = "2.11.0", default-features = false, features = ["derive"] }
-#relay-substrate-client = { path = "../client-substrate" }
-subxt = { version = "0.32.1", default-features = false, features = ["native"] }
-
-# Bridge dependencies
-
-bp-bridge-hub-kusama = { path = "../../chains/chain-bridge-hub-kusama" }
-bp-header-chain = { path = "../../primitives/header-chain" }
-bp-messages = { path = "../../primitives/messages" }
-bp-parachains = { path = "../../primitives/parachains" }
-bp-polkadot = { path = "../../chains/chain-polkadot" }
-bp-polkadot-core = { path = "../../primitives/polkadot-core" }
-bridge-runtime-common = { path = "../../bin/runtime-common" }
-relay-substrate-client = { path = "../client-substrate" }
-
-# Substrate Dependencies
-
-sp-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-weights = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
diff --git a/bridges/relays/client-bridge-hub-kusama/src/codegen_runtime.rs b/bridges/relays/client-bridge-hub-kusama/src/codegen_runtime.rs
deleted file mode 100644
index 2da4c3014b254920bb596476e751598c2c885ed5..0000000000000000000000000000000000000000
--- a/bridges/relays/client-bridge-hub-kusama/src/codegen_runtime.rs
+++ /dev/null
@@ -1,4053 +0,0 @@
-// Copyright 2019-2023 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated runtime API
-//! THIS FILE WAS AUTOGENERATED USING parity-bridges-common::runtime-codegen
-//! EXECUTED COMMAND: target/debug/runtime-codegen --from-node-url
-//! wss://kusama-bridge-hub-rpc.polkadot.io
-
-#[allow(dead_code, unused_imports, non_camel_case_types)]
-#[allow(clippy::all)]
-#[allow(rustdoc::broken_intra_doc_links)]
-pub mod api {
-	#[allow(unused_imports)]
-	mod root_mod {
-		pub use super::*;
-	}
-	pub mod runtime_types {
-		use super::runtime_types;
-		pub mod bounded_collections {
-			use super::runtime_types;
-			pub mod bounded_vec {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BoundedVec<_0>(pub ::std::vec::Vec<_0>);
-			}
-			pub mod weak_bounded_vec {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct WeakBoundedVec<_0>(pub ::std::vec::Vec<_0>);
-			}
-		}
-		pub mod bp_header_chain {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct AuthoritySet {
-				pub authorities: ::std::vec::Vec<(
-					runtime_types::sp_consensus_grandpa::app::Public,
-					::core::primitive::u64,
-				)>,
-				pub set_id: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum HeaderChainError {
-				#[codec(index = 0)]
-				UnknownHeader,
-				#[codec(index = 1)]
-				StorageProof(runtime_types::bp_runtime::storage_proof::Error),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct HeaderFinalityInfo<_0, _1> {
-				pub finality_proof: _0,
-				pub new_verification_context: ::core::option::Option<_1>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct StoredHeaderData<_0, _1> {
-				pub number: _0,
-				pub state_root: _1,
-			}
-		}
-		pub mod bp_messages {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct DeliveredMessages {
-				pub begin: ::core::primitive::u64,
-				pub end: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundLaneData<_0> {
-				pub relayers: ::std::vec::Vec<runtime_types::bp_messages::UnrewardedRelayer<_0>>,
-				pub last_confirmed_nonce: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundMessageDetails {
-				pub dispatch_weight: ::sp_weights::Weight,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct LaneId(pub [::core::primitive::u8; 4usize]);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct MessageKey {
-				pub lane_id: runtime_types::bp_messages::LaneId,
-				pub nonce: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum MessagesOperatingMode {
-				#[codec(index = 0)]
-				Basic(runtime_types::bp_runtime::BasicOperatingMode),
-				#[codec(index = 1)]
-				RejectingOutboundMessages,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OutboundLaneData {
-				pub oldest_unpruned_nonce: ::core::primitive::u64,
-				pub latest_received_nonce: ::core::primitive::u64,
-				pub latest_generated_nonce: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OutboundMessageDetails {
-				pub nonce: ::core::primitive::u64,
-				pub dispatch_weight: ::sp_weights::Weight,
-				pub size: ::core::primitive::u32,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ReceivalResult<_0> {
-				#[codec(index = 0)]
-				Dispatched(runtime_types::bp_runtime::messages::MessageDispatchResult<_0>),
-				#[codec(index = 1)]
-				InvalidNonce,
-				#[codec(index = 2)]
-				TooManyUnrewardedRelayers,
-				#[codec(index = 3)]
-				TooManyUnconfirmedMessages,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ReceivedMessages<_0> {
-				pub lane: runtime_types::bp_messages::LaneId,
-				pub receive_results: ::std::vec::Vec<(
-					::core::primitive::u64,
-					runtime_types::bp_messages::ReceivalResult<_0>,
-				)>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct UnrewardedRelayer<_0> {
-				pub relayer: _0,
-				pub messages: runtime_types::bp_messages::DeliveredMessages,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VerificationError {
-				#[codec(index = 0)]
-				EmptyMessageProof,
-				#[codec(index = 1)]
-				HeaderChain(runtime_types::bp_header_chain::HeaderChainError),
-				#[codec(index = 2)]
-				InboundLaneStorage(runtime_types::bp_runtime::storage_proof::Error),
-				#[codec(index = 3)]
-				InvalidMessageWeight,
-				#[codec(index = 4)]
-				MessagesCountMismatch,
-				#[codec(index = 5)]
-				MessageStorage(runtime_types::bp_runtime::storage_proof::Error),
-				#[codec(index = 6)]
-				MessageTooLarge,
-				#[codec(index = 7)]
-				OutboundLaneStorage(runtime_types::bp_runtime::storage_proof::Error),
-				#[codec(index = 8)]
-				StorageProof(runtime_types::bp_runtime::storage_proof::Error),
-				#[codec(index = 9)]
-				Other,
-			}
-		}
-		pub mod bp_parachains {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BestParaHeadHash {
-				pub at_relay_block_number: ::core::primitive::u32,
-				pub head_hash: ::subxt::utils::H256,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ParaInfo {
-				pub best_head_hash: runtime_types::bp_parachains::BestParaHeadHash,
-				pub next_imported_hash_position: ::core::primitive::u32,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ParaStoredHeaderData(pub ::std::vec::Vec<::core::primitive::u8>);
-		}
-		pub mod bp_relayers {
-			use super::runtime_types;
-			pub mod registration {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Registration<_0, _1> {
-					pub valid_till: _0,
-					pub stake: _1,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RewardsAccountOwner {
-				#[codec(index = 0)]
-				ThisChain,
-				#[codec(index = 1)]
-				BridgedChain,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RewardsAccountParams {
-				pub lane_id: runtime_types::bp_messages::LaneId,
-				pub bridged_chain_id: [::core::primitive::u8; 4usize],
-				pub owner: runtime_types::bp_relayers::RewardsAccountOwner,
-			}
-		}
-		pub mod bp_runtime {
-			use super::runtime_types;
-			pub mod messages {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct MessageDispatchResult<_0> {
-					pub unspent_weight: ::sp_weights::Weight,
-					pub dispatch_level_result: _0,
-				}
-			}
-			pub mod storage_proof {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					DuplicateNodesInProof,
-					#[codec(index = 1)]
-					UnusedNodesInTheProof,
-					#[codec(index = 2)]
-					StorageRootMismatch,
-					#[codec(index = 3)]
-					StorageValueUnavailable,
-					#[codec(index = 4)]
-					StorageValueEmpty,
-					#[codec(index = 5)]
-					StorageValueDecodeFailed(runtime_types::bp_runtime::StrippableError),
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum BasicOperatingMode {
-				#[codec(index = 0)]
-				Normal,
-				#[codec(index = 1)]
-				Halted,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct HeaderId<_0, _1>(pub _1, pub _0);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum OwnedBridgeModuleError {
-				#[codec(index = 0)]
-				Halted,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct StrippableError;
-		}
-		pub mod bridge_hub_kusama_runtime {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BridgeRejectObsoleteHeadersAndMessages;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum OriginCaller {
-				#[codec(index = 0)]
-				system(
-					runtime_types::frame_support::dispatch::RawOrigin<
-						::sp_core::crypto::AccountId32,
-					>,
-				),
-				#[codec(index = 31)]
-				PolkadotXcm(runtime_types::pallet_xcm::pallet::Origin),
-				#[codec(index = 32)]
-				CumulusXcm(runtime_types::cumulus_pallet_xcm::pallet::Origin),
-				#[codec(index = 3)]
-				Void(runtime_types::sp_core::Void),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Runtime;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeCall {
-				#[codec(index = 0)]
-				System(runtime_types::frame_system::pallet::Call),
-				#[codec(index = 1)]
-				ParachainSystem(runtime_types::cumulus_pallet_parachain_system::pallet::Call),
-				#[codec(index = 2)]
-				Timestamp(runtime_types::pallet_timestamp::pallet::Call),
-				#[codec(index = 10)]
-				Balances(runtime_types::pallet_balances::pallet::Call),
-				#[codec(index = 21)]
-				CollatorSelection(runtime_types::pallet_collator_selection::pallet::Call),
-				#[codec(index = 22)]
-				Session(runtime_types::pallet_session::pallet::Call),
-				#[codec(index = 30)]
-				XcmpQueue(runtime_types::cumulus_pallet_xcmp_queue::pallet::Call),
-				#[codec(index = 31)]
-				PolkadotXcm(runtime_types::pallet_xcm::pallet::Call),
-				#[codec(index = 33)]
-				DmpQueue(runtime_types::cumulus_pallet_dmp_queue::pallet::Call),
-				#[codec(index = 40)]
-				Utility(runtime_types::pallet_utility::pallet::Call),
-				#[codec(index = 41)]
-				Multisig(runtime_types::pallet_multisig::pallet::Call),
-				#[codec(index = 50)]
-				BridgeRelayers(runtime_types::pallet_bridge_relayers::pallet::Call),
-				#[codec(index = 51)]
-				BridgePolkadotGrandpa(runtime_types::pallet_bridge_grandpa::pallet::Call),
-				#[codec(index = 52)]
-				BridgePolkadotParachains(runtime_types::pallet_bridge_parachains::pallet::Call),
-				#[codec(index = 53)]
-				BridgePolkadotMessages(runtime_types::pallet_bridge_messages::pallet::Call),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeError {
-				#[codec(index = 0)]
-				System(runtime_types::frame_system::pallet::Error),
-				#[codec(index = 1)]
-				ParachainSystem(runtime_types::cumulus_pallet_parachain_system::pallet::Error),
-				#[codec(index = 10)]
-				Balances(runtime_types::pallet_balances::pallet::Error),
-				#[codec(index = 21)]
-				CollatorSelection(runtime_types::pallet_collator_selection::pallet::Error),
-				#[codec(index = 22)]
-				Session(runtime_types::pallet_session::pallet::Error),
-				#[codec(index = 30)]
-				XcmpQueue(runtime_types::cumulus_pallet_xcmp_queue::pallet::Error),
-				#[codec(index = 31)]
-				PolkadotXcm(runtime_types::pallet_xcm::pallet::Error),
-				#[codec(index = 32)]
-				CumulusXcm(runtime_types::cumulus_pallet_xcm::pallet::Error),
-				#[codec(index = 33)]
-				DmpQueue(runtime_types::cumulus_pallet_dmp_queue::pallet::Error),
-				#[codec(index = 40)]
-				Utility(runtime_types::pallet_utility::pallet::Error),
-				#[codec(index = 41)]
-				Multisig(runtime_types::pallet_multisig::pallet::Error),
-				#[codec(index = 50)]
-				BridgeRelayers(runtime_types::pallet_bridge_relayers::pallet::Error),
-				#[codec(index = 51)]
-				BridgePolkadotGrandpa(runtime_types::pallet_bridge_grandpa::pallet::Error),
-				#[codec(index = 52)]
-				BridgePolkadotParachains(runtime_types::pallet_bridge_parachains::pallet::Error),
-				#[codec(index = 53)]
-				BridgePolkadotMessages(runtime_types::pallet_bridge_messages::pallet::Error),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeEvent {
-				#[codec(index = 0)]
-				System(runtime_types::frame_system::pallet::Event),
-				#[codec(index = 1)]
-				ParachainSystem(runtime_types::cumulus_pallet_parachain_system::pallet::Event),
-				#[codec(index = 10)]
-				Balances(runtime_types::pallet_balances::pallet::Event),
-				#[codec(index = 11)]
-				TransactionPayment(runtime_types::pallet_transaction_payment::pallet::Event),
-				#[codec(index = 21)]
-				CollatorSelection(runtime_types::pallet_collator_selection::pallet::Event),
-				#[codec(index = 22)]
-				Session(runtime_types::pallet_session::pallet::Event),
-				#[codec(index = 30)]
-				XcmpQueue(runtime_types::cumulus_pallet_xcmp_queue::pallet::Event),
-				#[codec(index = 31)]
-				PolkadotXcm(runtime_types::pallet_xcm::pallet::Event),
-				#[codec(index = 32)]
-				CumulusXcm(runtime_types::cumulus_pallet_xcm::pallet::Event),
-				#[codec(index = 33)]
-				DmpQueue(runtime_types::cumulus_pallet_dmp_queue::pallet::Event),
-				#[codec(index = 40)]
-				Utility(runtime_types::pallet_utility::pallet::Event),
-				#[codec(index = 41)]
-				Multisig(runtime_types::pallet_multisig::pallet::Event),
-				#[codec(index = 50)]
-				BridgeRelayers(runtime_types::pallet_bridge_relayers::pallet::Event),
-				#[codec(index = 51)]
-				BridgePolkadotGrandpa(runtime_types::pallet_bridge_grandpa::pallet::Event),
-				#[codec(index = 52)]
-				BridgePolkadotParachains(runtime_types::pallet_bridge_parachains::pallet::Event),
-				#[codec(index = 53)]
-				BridgePolkadotMessages(runtime_types::pallet_bridge_messages::pallet::Event),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeHoldReason {}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct SessionKeys {
-				pub aura: runtime_types::sp_consensus_aura::sr25519::app_sr25519::Public,
-			}
-		}
-		pub mod bridge_runtime_common {
-			use super::runtime_types;
-			pub mod messages_xcm_extension {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum XcmBlobMessageDispatchResult {
-					#[codec(index = 0)]
-					InvalidPayload,
-					#[codec(index = 1)]
-					Dispatched,
-					#[codec(index = 2)]
-					NotDispatched,
-				}
-			}
-			pub mod refund_relayer_extension {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RefundBridgedParachainMessages;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RefundTransactionExtensionAdapter<_0>(pub _0);
-			}
-		}
-		pub mod cumulus_pallet_dmp_queue {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					service_overweight {
-						index: ::core::primitive::u64,
-						weight_limit: ::sp_weights::Weight,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					Unknown,
-					#[codec(index = 1)]
-					OverLimit,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					InvalidFormat { message_hash: [::core::primitive::u8; 32usize] },
-					#[codec(index = 1)]
-					UnsupportedVersion { message_hash: [::core::primitive::u8; 32usize] },
-					#[codec(index = 2)]
-					ExecutedDownward {
-						message_hash: [::core::primitive::u8; 32usize],
-						message_id: [::core::primitive::u8; 32usize],
-						outcome: runtime_types::xcm::v3::traits::Outcome,
-					},
-					#[codec(index = 3)]
-					WeightExhausted {
-						message_hash: [::core::primitive::u8; 32usize],
-						message_id: [::core::primitive::u8; 32usize],
-						remaining_weight: ::sp_weights::Weight,
-						required_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 4)]
-					OverweightEnqueued {
-						message_hash: [::core::primitive::u8; 32usize],
-						message_id: [::core::primitive::u8; 32usize],
-						overweight_index: ::core::primitive::u64,
-						required_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 5)]
-					OverweightServiced {
-						overweight_index: ::core::primitive::u64,
-						weight_used: ::sp_weights::Weight,
-					},
-					#[codec(index = 6)]
-					MaxMessagesExhausted { message_hash: [::core::primitive::u8; 32usize] },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ConfigData {
-				pub max_individual: ::sp_weights::Weight,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct PageIndexData {
-				pub begin_used: ::core::primitive::u32,
-				pub end_used: ::core::primitive::u32,
-				pub overweight_count: ::core::primitive::u64,
-			}
-		}
-		pub mod cumulus_pallet_parachain_system {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					# [codec (index = 0)] set_validation_data { data : runtime_types :: cumulus_primitives_parachain_inherent :: ParachainInherentData , } , # [codec (index = 1)] sudo_send_upward_message { message : :: std :: vec :: Vec < :: core :: primitive :: u8 > , } , # [codec (index = 2)] authorize_upgrade { code_hash : :: subxt :: utils :: H256 , check_version : :: core :: primitive :: bool , } , # [codec (index = 3)] enact_authorized_upgrade { code : :: std :: vec :: Vec < :: core :: primitive :: u8 > , } , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					OverlappingUpgrades,
-					#[codec(index = 1)]
-					ProhibitedByPolkadot,
-					#[codec(index = 2)]
-					TooBig,
-					#[codec(index = 3)]
-					ValidationDataNotAvailable,
-					#[codec(index = 4)]
-					HostConfigurationNotAvailable,
-					#[codec(index = 5)]
-					NotScheduled,
-					#[codec(index = 6)]
-					NothingAuthorized,
-					#[codec(index = 7)]
-					Unauthorized,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					ValidationFunctionStored,
-					#[codec(index = 1)]
-					ValidationFunctionApplied { relay_chain_block_num: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					ValidationFunctionDiscarded,
-					#[codec(index = 3)]
-					UpgradeAuthorized { code_hash: ::subxt::utils::H256 },
-					#[codec(index = 4)]
-					DownwardMessagesReceived { count: ::core::primitive::u32 },
-					#[codec(index = 5)]
-					DownwardMessagesProcessed {
-						weight_used: ::sp_weights::Weight,
-						dmq_head: ::subxt::utils::H256,
-					},
-					#[codec(index = 6)]
-					UpwardMessageSent {
-						message_hash: ::core::option::Option<[::core::primitive::u8; 32usize]>,
-					},
-				}
-			}
-			pub mod relay_state_snapshot {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct MessagingStateSnapshot { pub dmq_mqc_head : :: subxt :: utils :: H256 , pub relay_dispatch_queue_remaining_capacity : runtime_types :: cumulus_pallet_parachain_system :: relay_state_snapshot :: RelayDispatchQueueRemainingCapacity , pub ingress_channels : :: std :: vec :: Vec < (runtime_types :: polkadot_parachain_primitives :: primitives :: Id , runtime_types :: polkadot_primitives :: v6 :: AbridgedHrmpChannel ,) > , pub egress_channels : :: std :: vec :: Vec < (runtime_types :: polkadot_parachain_primitives :: primitives :: Id , runtime_types :: polkadot_primitives :: v6 :: AbridgedHrmpChannel ,) > , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RelayDispatchQueueRemainingCapacity {
-					pub remaining_count: ::core::primitive::u32,
-					pub remaining_size: ::core::primitive::u32,
-				}
-			}
-			pub mod unincluded_segment {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Ancestor < _0 > { pub used_bandwidth : runtime_types :: cumulus_pallet_parachain_system :: unincluded_segment :: UsedBandwidth , pub para_head_hash : :: core :: option :: Option < _0 > , pub consumed_go_ahead_signal : :: core :: option :: Option < runtime_types :: polkadot_primitives :: v6 :: UpgradeGoAhead > , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HrmpChannelUpdate {
-					pub msg_count: ::core::primitive::u32,
-					pub total_bytes: ::core::primitive::u32,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SegmentTracker < _0 > { pub used_bandwidth : runtime_types :: cumulus_pallet_parachain_system :: unincluded_segment :: UsedBandwidth , pub hrmp_watermark : :: core :: option :: Option < :: core :: primitive :: u32 > , pub consumed_go_ahead_signal : :: core :: option :: Option < runtime_types :: polkadot_primitives :: v6 :: UpgradeGoAhead > , # [codec (skip)] pub __subxt_unused_type_params : :: core :: marker :: PhantomData < _0 > }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct UsedBandwidth { pub ump_msg_count : :: core :: primitive :: u32 , pub ump_total_bytes : :: core :: primitive :: u32 , pub hrmp_outgoing : :: subxt :: utils :: KeyedVec < runtime_types :: polkadot_parachain_primitives :: primitives :: Id , runtime_types :: cumulus_pallet_parachain_system :: unincluded_segment :: HrmpChannelUpdate > , }
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct CodeUpgradeAuthorization {
-				pub code_hash: ::subxt::utils::H256,
-				pub check_version: ::core::primitive::bool,
-			}
-		}
-		pub mod cumulus_pallet_xcm {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					InvalidFormat([::core::primitive::u8; 32usize]),
-					#[codec(index = 1)]
-					UnsupportedVersion([::core::primitive::u8; 32usize]),
-					#[codec(index = 2)]
-					ExecutedDownward(
-						[::core::primitive::u8; 32usize],
-						runtime_types::xcm::v3::traits::Outcome,
-					),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Origin {
-					#[codec(index = 0)]
-					Relay,
-					#[codec(index = 1)]
-					SiblingParachain(runtime_types::polkadot_parachain_primitives::primitives::Id),
-				}
-			}
-		}
-		pub mod cumulus_pallet_xcmp_queue {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					service_overweight {
-						index: ::core::primitive::u64,
-						weight_limit: ::sp_weights::Weight,
-					},
-					#[codec(index = 1)]
-					suspend_xcm_execution,
-					#[codec(index = 2)]
-					resume_xcm_execution,
-					#[codec(index = 3)]
-					update_suspend_threshold { new: ::core::primitive::u32 },
-					#[codec(index = 4)]
-					update_drop_threshold { new: ::core::primitive::u32 },
-					#[codec(index = 5)]
-					update_resume_threshold { new: ::core::primitive::u32 },
-					#[codec(index = 6)]
-					update_threshold_weight { new: ::sp_weights::Weight },
-					#[codec(index = 7)]
-					update_weight_restrict_decay { new: ::sp_weights::Weight },
-					#[codec(index = 8)]
-					update_xcmp_max_individual_weight { new: ::sp_weights::Weight },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					FailedToSend,
-					#[codec(index = 1)]
-					BadXcmOrigin,
-					#[codec(index = 2)]
-					BadXcm,
-					#[codec(index = 3)]
-					BadOverweightIndex,
-					#[codec(index = 4)]
-					WeightOverLimit,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Success {
-						message_hash: [::core::primitive::u8; 32usize],
-						message_id: [::core::primitive::u8; 32usize],
-						weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 1)]
-					Fail {
-						message_hash: [::core::primitive::u8; 32usize],
-						message_id: [::core::primitive::u8; 32usize],
-						error: runtime_types::xcm::v3::traits::Error,
-						weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 2)]
-					BadVersion { message_hash: [::core::primitive::u8; 32usize] },
-					#[codec(index = 3)]
-					BadFormat { message_hash: [::core::primitive::u8; 32usize] },
-					#[codec(index = 4)]
-					XcmpMessageSent { message_hash: [::core::primitive::u8; 32usize] },
-					#[codec(index = 5)]
-					OverweightEnqueued {
-						sender: runtime_types::polkadot_parachain_primitives::primitives::Id,
-						sent_at: ::core::primitive::u32,
-						index: ::core::primitive::u64,
-						required: ::sp_weights::Weight,
-					},
-					#[codec(index = 6)]
-					OverweightServiced { index: ::core::primitive::u64, used: ::sp_weights::Weight },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundChannelDetails {
-				pub sender: runtime_types::polkadot_parachain_primitives::primitives::Id,
-				pub state: runtime_types::cumulus_pallet_xcmp_queue::InboundState,
-				pub message_metadata: ::std::vec::Vec<(
-					::core::primitive::u32,
-					runtime_types::polkadot_parachain_primitives::primitives::XcmpMessageFormat,
-				)>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum InboundState {
-				#[codec(index = 0)]
-				Ok,
-				#[codec(index = 1)]
-				Suspended,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OutboundChannelDetails {
-				pub recipient: runtime_types::polkadot_parachain_primitives::primitives::Id,
-				pub state: runtime_types::cumulus_pallet_xcmp_queue::OutboundState,
-				pub signals_exist: ::core::primitive::bool,
-				pub first_index: ::core::primitive::u16,
-				pub last_index: ::core::primitive::u16,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum OutboundState {
-				#[codec(index = 0)]
-				Ok,
-				#[codec(index = 1)]
-				Suspended,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct QueueConfigData {
-				pub suspend_threshold: ::core::primitive::u32,
-				pub drop_threshold: ::core::primitive::u32,
-				pub resume_threshold: ::core::primitive::u32,
-				pub threshold_weight: ::sp_weights::Weight,
-				pub weight_restrict_decay: ::sp_weights::Weight,
-				pub xcmp_max_individual_weight: ::sp_weights::Weight,
-			}
-		}
-		pub mod cumulus_primitives_core {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct CollationInfo {
-				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::primitives::Id,
-					>,
-				>,
-				pub new_validation_code: ::core::option::Option<
-					runtime_types::polkadot_parachain_primitives::primitives::ValidationCode,
-				>,
-				pub processed_downward_messages: ::core::primitive::u32,
-				pub hrmp_watermark: ::core::primitive::u32,
-				pub head_data: runtime_types::polkadot_parachain_primitives::primitives::HeadData,
-			}
-		}
-		pub mod cumulus_primitives_parachain_inherent {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct MessageQueueChain(pub ::subxt::utils::H256);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ParachainInherentData {
-				pub validation_data:
-					runtime_types::polkadot_primitives::v6::PersistedValidationData<
-						::subxt::utils::H256,
-						::core::primitive::u32,
-					>,
-				pub relay_chain_state: runtime_types::sp_trie::storage_proof::StorageProof,
-				pub downward_messages: ::std::vec::Vec<
-					runtime_types::polkadot_core_primitives::InboundDownwardMessage<
-						::core::primitive::u32,
-					>,
-				>,
-				pub horizontal_messages: ::subxt::utils::KeyedVec<
-					runtime_types::polkadot_parachain_primitives::primitives::Id,
-					::std::vec::Vec<
-						runtime_types::polkadot_core_primitives::InboundHrmpMessage<
-							::core::primitive::u32,
-						>,
-					>,
-				>,
-			}
-		}
-		pub mod finality_grandpa {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Commit<_0, _1, _2, _3> {
-				pub target_hash: _0,
-				pub target_number: _1,
-				pub precommits: ::std::vec::Vec<
-					runtime_types::finality_grandpa::SignedPrecommit<_0, _1, _2, _3>,
-				>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Precommit<_0, _1> {
-				pub target_hash: _0,
-				pub target_number: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct SignedPrecommit<_0, _1, _2, _3> {
-				pub precommit: runtime_types::finality_grandpa::Precommit<_0, _1>,
-				pub signature: _2,
-				pub id: _3,
-			}
-		}
-		pub mod frame_support {
-			use super::runtime_types;
-			pub mod dispatch {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum DispatchClass {
-					#[codec(index = 0)]
-					Normal,
-					#[codec(index = 1)]
-					Operational,
-					#[codec(index = 2)]
-					Mandatory,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DispatchInfo {
-					pub weight: ::sp_weights::Weight,
-					pub class: runtime_types::frame_support::dispatch::DispatchClass,
-					pub pays_fee: runtime_types::frame_support::dispatch::Pays,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Pays {
-					#[codec(index = 0)]
-					Yes,
-					#[codec(index = 1)]
-					No,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PerDispatchClass<_0> {
-					pub normal: _0,
-					pub operational: _0,
-					pub mandatory: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum RawOrigin<_0> {
-					#[codec(index = 0)]
-					Root,
-					#[codec(index = 1)]
-					Signed(_0),
-					#[codec(index = 2)]
-					None,
-				}
-			}
-			pub mod traits {
-				use super::runtime_types;
-				pub mod tokens {
-					use super::runtime_types;
-					pub mod misc {
-						use super::runtime_types;
-						#[derive(
-							:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq,
-						)]
-						pub enum BalanceStatus {
-							#[codec(index = 0)]
-							Free,
-							#[codec(index = 1)]
-							Reserved,
-						}
-					}
-				}
-			}
-		}
-		pub mod frame_system {
-			use super::runtime_types;
-			pub mod extensions {
-				use super::runtime_types;
-				pub mod check_genesis {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckGenesis;
-				}
-				pub mod check_mortality {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckMortality(pub ::sp_runtime::generic::Era);
-				}
-				pub mod check_non_zero_sender {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckNonZeroSender;
-				}
-				pub mod check_nonce {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckNonce(#[codec(compact)] pub ::core::primitive::u32);
-				}
-				pub mod check_spec_version {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckSpecVersion;
-				}
-				pub mod check_tx_version {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckTxVersion;
-				}
-				pub mod check_weight {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckWeight;
-				}
-			}
-			pub mod limits {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BlockLength {
-					pub max: runtime_types::frame_support::dispatch::PerDispatchClass<
-						::core::primitive::u32,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BlockWeights {
-					pub base_block: ::sp_weights::Weight,
-					pub max_block: ::sp_weights::Weight,
-					pub per_class: runtime_types::frame_support::dispatch::PerDispatchClass<
-						runtime_types::frame_system::limits::WeightsPerClass,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct WeightsPerClass {
-					pub base_extrinsic: ::sp_weights::Weight,
-					pub max_extrinsic: ::core::option::Option<::sp_weights::Weight>,
-					pub max_total: ::core::option::Option<::sp_weights::Weight>,
-					pub reserved: ::core::option::Option<::sp_weights::Weight>,
-				}
-			}
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					remark { remark: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 1)]
-					set_heap_pages { pages: ::core::primitive::u64 },
-					#[codec(index = 2)]
-					set_code { code: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 3)]
-					set_code_without_checks { code: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 4)]
-					set_storage {
-						items: ::std::vec::Vec<(
-							::std::vec::Vec<::core::primitive::u8>,
-							::std::vec::Vec<::core::primitive::u8>,
-						)>,
-					},
-					#[codec(index = 5)]
-					kill_storage { keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>> },
-					#[codec(index = 6)]
-					kill_prefix {
-						prefix: ::std::vec::Vec<::core::primitive::u8>,
-						subkeys: ::core::primitive::u32,
-					},
-					#[codec(index = 7)]
-					remark_with_event { remark: ::std::vec::Vec<::core::primitive::u8> },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidSpecName,
-					#[codec(index = 1)]
-					SpecVersionNeedsToIncrease,
-					#[codec(index = 2)]
-					FailedToExtractRuntimeVersion,
-					#[codec(index = 3)]
-					NonDefaultComposite,
-					#[codec(index = 4)]
-					NonZeroRefCount,
-					#[codec(index = 5)]
-					CallFiltered,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					ExtrinsicSuccess {
-						dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo,
-					},
-					#[codec(index = 1)]
-					ExtrinsicFailed {
-						dispatch_error: runtime_types::sp_runtime::DispatchError,
-						dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo,
-					},
-					#[codec(index = 2)]
-					CodeUpdated,
-					#[codec(index = 3)]
-					NewAccount { account: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 4)]
-					KilledAccount { account: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 5)]
-					Remarked { sender: ::sp_core::crypto::AccountId32, hash: ::subxt::utils::H256 },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct AccountInfo<_0, _1> {
-				pub nonce: _0,
-				pub consumers: ::core::primitive::u32,
-				pub providers: ::core::primitive::u32,
-				pub sufficients: ::core::primitive::u32,
-				pub data: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct EventRecord<_0, _1> {
-				pub phase: runtime_types::frame_system::Phase,
-				pub event: _0,
-				pub topics: ::std::vec::Vec<_1>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct LastRuntimeUpgradeInfo {
-				#[codec(compact)]
-				pub spec_version: ::core::primitive::u32,
-				pub spec_name: ::std::string::String,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Phase {
-				#[codec(index = 0)]
-				ApplyExtrinsic(::core::primitive::u32),
-				#[codec(index = 1)]
-				Finalization,
-				#[codec(index = 2)]
-				Initialization,
-			}
-		}
-		pub mod pallet_balances {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					transfer_allow_death {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					force_transfer {
-						source: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					transfer_keep_alive {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					transfer_all {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						keep_alive: ::core::primitive::bool,
-					},
-					#[codec(index = 5)]
-					force_unreserve {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 6)]
-					upgrade_accounts { who: ::std::vec::Vec<::sp_core::crypto::AccountId32> },
-					#[codec(index = 8)]
-					force_set_balance {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						new_free: ::core::primitive::u128,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					VestingBalance,
-					#[codec(index = 1)]
-					LiquidityRestrictions,
-					#[codec(index = 2)]
-					InsufficientBalance,
-					#[codec(index = 3)]
-					ExistentialDeposit,
-					#[codec(index = 4)]
-					Expendability,
-					#[codec(index = 5)]
-					ExistingVestingSchedule,
-					#[codec(index = 6)]
-					DeadAccount,
-					#[codec(index = 7)]
-					TooManyReserves,
-					#[codec(index = 8)]
-					TooManyHolds,
-					#[codec(index = 9)]
-					TooManyFreezes,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Endowed {
-						account: ::sp_core::crypto::AccountId32,
-						free_balance: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					DustLost {
-						account: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					Transfer {
-						from: ::sp_core::crypto::AccountId32,
-						to: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					BalanceSet {
-						who: ::sp_core::crypto::AccountId32,
-						free: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					Reserved {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 5)]
-					Unreserved {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 6)]
-					ReserveRepatriated {
-						from: ::sp_core::crypto::AccountId32,
-						to: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-						destination_status:
-							runtime_types::frame_support::traits::tokens::misc::BalanceStatus,
-					},
-					#[codec(index = 7)]
-					Deposit { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 8)]
-					Withdraw {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 9)]
-					Slashed { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 10)]
-					Minted { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 11)]
-					Burned { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 12)]
-					Suspended {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 13)]
-					Restored {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 14)]
-					Upgraded { who: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 15)]
-					Issued { amount: ::core::primitive::u128 },
-					#[codec(index = 16)]
-					Rescinded { amount: ::core::primitive::u128 },
-					#[codec(index = 17)]
-					Locked { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 18)]
-					Unlocked {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 19)]
-					Frozen { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 20)]
-					Thawed { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-				}
-			}
-			pub mod types {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AccountData<_0> {
-					pub free: _0,
-					pub reserved: _0,
-					pub frozen: _0,
-					pub flags: runtime_types::pallet_balances::types::ExtraFlags,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BalanceLock<_0> {
-					pub id: [::core::primitive::u8; 8usize],
-					pub amount: _0,
-					pub reasons: runtime_types::pallet_balances::types::Reasons,
-				}
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct ExtraFlags(pub ::core::primitive::u128);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct IdAmount<_0, _1> {
-					pub id: _0,
-					pub amount: _1,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Reasons {
-					#[codec(index = 0)]
-					Fee,
-					#[codec(index = 1)]
-					Misc,
-					#[codec(index = 2)]
-					All,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ReserveData<_0, _1> {
-					pub id: _0,
-					pub amount: _1,
-				}
-			}
-		}
-		pub mod pallet_bridge_grandpa {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					submit_finality_proof {
-						finality_target: ::std::boxed::Box<
-							::sp_runtime::generic::Header<
-								::core::primitive::u32,
-								::sp_runtime::traits::BlakeTwo256,
-							>,
-						>,
-						justification: ::bp_header_chain::justification::GrandpaJustification<
-							::sp_runtime::generic::Header<
-								::core::primitive::u32,
-								::sp_runtime::traits::BlakeTwo256,
-							>,
-						>,
-					},
-					#[codec(index = 1)]
-					initialize {
-						init_data: ::bp_header_chain::InitializationData<
-							::sp_runtime::generic::Header<
-								::core::primitive::u32,
-								::sp_runtime::traits::BlakeTwo256,
-							>,
-						>,
-					},
-					#[codec(index = 2)]
-					set_owner { new_owner: ::core::option::Option<::sp_core::crypto::AccountId32> },
-					#[codec(index = 3)]
-					set_operating_mode {
-						operating_mode: runtime_types::bp_runtime::BasicOperatingMode,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidJustification,
-					#[codec(index = 1)]
-					InvalidAuthoritySet,
-					#[codec(index = 2)]
-					OldHeader,
-					#[codec(index = 3)]
-					UnsupportedScheduledChange,
-					#[codec(index = 4)]
-					NotInitialized,
-					#[codec(index = 5)]
-					AlreadyInitialized,
-					#[codec(index = 6)]
-					TooManyAuthoritiesInSet,
-					#[codec(index = 7)]
-					BridgeModule(runtime_types::bp_runtime::OwnedBridgeModuleError),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					UpdatedBestFinalizedHeader {
-						number: ::core::primitive::u32,
-						hash: ::subxt::utils::H256,
-						grandpa_info: runtime_types::bp_header_chain::HeaderFinalityInfo<
-							::bp_header_chain::justification::GrandpaJustification<
-								::sp_runtime::generic::Header<
-									::core::primitive::u32,
-									::sp_runtime::traits::BlakeTwo256,
-								>,
-							>,
-							runtime_types::bp_header_chain::AuthoritySet,
-						>,
-					},
-				}
-			}
-			pub mod storage_types {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct StoredAuthoritySet {
-					pub authorities: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-						runtime_types::sp_consensus_grandpa::app::Public,
-						::core::primitive::u64,
-					)>,
-					pub set_id: ::core::primitive::u64,
-				}
-			}
-		}
-		pub mod pallet_bridge_messages {
-			use super::runtime_types;
-			pub mod outbound_lane {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum ReceivalConfirmationError {
-					#[codec(index = 0)]
-					FailedToConfirmFutureMessages,
-					#[codec(index = 1)]
-					EmptyUnrewardedRelayerEntry,
-					#[codec(index = 2)]
-					NonConsecutiveUnrewardedRelayerEntries,
-					#[codec(index = 3)]
-					TryingToConfirmMoreMessagesThanExpected,
-				}
-			}
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					# [codec (index = 0)] set_owner { new_owner : :: core :: option :: Option < :: sp_core :: crypto :: AccountId32 > , } , # [codec (index = 1)] set_operating_mode { operating_mode : runtime_types :: bp_messages :: MessagesOperatingMode , } , # [codec (index = 2)] receive_messages_proof { relayer_id_at_bridged_chain : :: sp_core :: crypto :: AccountId32 , proof : :: bridge_runtime_common :: messages :: target :: FromBridgedChainMessagesProof < :: subxt :: utils :: H256 > , messages_count : :: core :: primitive :: u32 , dispatch_weight : :: sp_weights :: Weight , } , # [codec (index = 3)] receive_messages_delivery_proof { proof : :: bridge_runtime_common :: messages :: source :: FromBridgedChainMessagesDeliveryProof < :: subxt :: utils :: H256 > , relayers_state : :: bp_messages :: UnrewardedRelayersState , } , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					# [codec (index = 0)] NotOperatingNormally , # [codec (index = 1)] InactiveOutboundLane , # [codec (index = 2)] MessageDispatchInactive , # [codec (index = 3)] MessageRejectedByChainVerifier (runtime_types :: bp_messages :: VerificationError ,) , # [codec (index = 4)] MessageRejectedByLaneVerifier (runtime_types :: bp_messages :: VerificationError ,) , # [codec (index = 5)] MessageRejectedByPallet (runtime_types :: bp_messages :: VerificationError ,) , # [codec (index = 6)] FailedToWithdrawMessageFee , # [codec (index = 7)] TooManyMessagesInTheProof , # [codec (index = 8)] InvalidMessagesProof , # [codec (index = 9)] InvalidMessagesDeliveryProof , # [codec (index = 10)] InvalidUnrewardedRelayersState , # [codec (index = 11)] InsufficientDispatchWeight , # [codec (index = 12)] MessageIsNotYetSent , # [codec (index = 13)] ReceivalConfirmation (runtime_types :: pallet_bridge_messages :: outbound_lane :: ReceivalConfirmationError ,) , # [codec (index = 14)] BridgeModule (runtime_types :: bp_runtime :: OwnedBridgeModuleError ,) , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					# [codec (index = 0)] MessageAccepted { lane_id : runtime_types :: bp_messages :: LaneId , nonce : :: core :: primitive :: u64 , } , # [codec (index = 1)] MessagesReceived (:: std :: vec :: Vec < runtime_types :: bp_messages :: ReceivedMessages < runtime_types :: bridge_runtime_common :: messages_xcm_extension :: XcmBlobMessageDispatchResult > > ,) , # [codec (index = 2)] MessagesDelivered { lane_id : runtime_types :: bp_messages :: LaneId , messages : runtime_types :: bp_messages :: DeliveredMessages , } , }
-			}
-		}
-		pub mod pallet_bridge_parachains {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					submit_parachain_heads {
-						at_relay_block: (::core::primitive::u32, ::subxt::utils::H256),
-						parachains: ::std::vec::Vec<(
-							::bp_polkadot_core::parachains::ParaId,
-							::subxt::utils::H256,
-						)>,
-						parachain_heads_proof: ::bp_polkadot_core::parachains::ParaHeadsProof,
-					},
-					#[codec(index = 1)]
-					set_owner { new_owner: ::core::option::Option<::sp_core::crypto::AccountId32> },
-					#[codec(index = 2)]
-					set_operating_mode {
-						operating_mode: runtime_types::bp_runtime::BasicOperatingMode,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					UnknownRelayChainBlock,
-					#[codec(index = 1)]
-					InvalidRelayChainBlockNumber,
-					#[codec(index = 2)]
-					HeaderChainStorageProof(runtime_types::bp_header_chain::HeaderChainError),
-					#[codec(index = 3)]
-					BridgeModule(runtime_types::bp_runtime::OwnedBridgeModuleError),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					UntrackedParachainRejected { parachain: ::bp_polkadot_core::parachains::ParaId },
-					#[codec(index = 1)]
-					MissingParachainHead { parachain: ::bp_polkadot_core::parachains::ParaId },
-					#[codec(index = 2)]
-					IncorrectParachainHeadHash {
-						parachain: ::bp_polkadot_core::parachains::ParaId,
-						parachain_head_hash: ::subxt::utils::H256,
-						actual_parachain_head_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 3)]
-					RejectedObsoleteParachainHead {
-						parachain: ::bp_polkadot_core::parachains::ParaId,
-						parachain_head_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 4)]
-					RejectedLargeParachainHead {
-						parachain: ::bp_polkadot_core::parachains::ParaId,
-						parachain_head_hash: ::subxt::utils::H256,
-						parachain_head_size: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					UpdatedParachainHead {
-						parachain: ::bp_polkadot_core::parachains::ParaId,
-						parachain_head_hash: ::subxt::utils::H256,
-					},
-				}
-			}
-		}
-		pub mod pallet_bridge_relayers {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					claim_rewards {
-						rewards_account_params: runtime_types::bp_relayers::RewardsAccountParams,
-					},
-					#[codec(index = 1)]
-					register { valid_till: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					deregister,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NoRewardForRelayer,
-					#[codec(index = 1)]
-					FailedToPayReward,
-					#[codec(index = 2)]
-					InvalidRegistrationLease,
-					#[codec(index = 3)]
-					CannotReduceRegistrationLease,
-					#[codec(index = 4)]
-					FailedToReserve,
-					#[codec(index = 5)]
-					FailedToUnreserve,
-					#[codec(index = 6)]
-					NotRegistered,
-					#[codec(index = 7)]
-					RegistrationIsStillActive,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					RewardPaid {
-						relayer: ::sp_core::crypto::AccountId32,
-						rewards_account_params: runtime_types::bp_relayers::RewardsAccountParams,
-						reward: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					RegistrationUpdated {
-						relayer: ::sp_core::crypto::AccountId32,
-						registration: runtime_types::bp_relayers::registration::Registration<
-							::core::primitive::u32,
-							::core::primitive::u128,
-						>,
-					},
-					#[codec(index = 2)]
-					Deregistered { relayer: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 3)]
-					SlashedAndDeregistered {
-						relayer: ::sp_core::crypto::AccountId32,
-						registration: runtime_types::bp_relayers::registration::Registration<
-							::core::primitive::u32,
-							::core::primitive::u128,
-						>,
-					},
-				}
-			}
-		}
-		pub mod pallet_collator_selection {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					set_invulnerables { new: ::std::vec::Vec<::sp_core::crypto::AccountId32> },
-					#[codec(index = 1)]
-					set_desired_candidates { max: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					set_candidacy_bond { bond: ::core::primitive::u128 },
-					#[codec(index = 3)]
-					register_as_candidate,
-					#[codec(index = 4)]
-					leave_intent,
-					#[codec(index = 5)]
-					add_invulnerable { who: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 6)]
-					remove_invulnerable { who: ::sp_core::crypto::AccountId32 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CandidateInfo<_0, _1> {
-					pub who: _0,
-					pub deposit: _1,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					TooManyCandidates,
-					#[codec(index = 1)]
-					TooFewEligibleCollators,
-					#[codec(index = 2)]
-					AlreadyCandidate,
-					#[codec(index = 3)]
-					NotCandidate,
-					#[codec(index = 4)]
-					TooManyInvulnerables,
-					#[codec(index = 5)]
-					AlreadyInvulnerable,
-					#[codec(index = 6)]
-					NotInvulnerable,
-					#[codec(index = 7)]
-					NoAssociatedValidatorId,
-					#[codec(index = 8)]
-					ValidatorNotRegistered,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewInvulnerables {
-						invulnerables: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-					},
-					#[codec(index = 1)]
-					InvulnerableAdded { account_id: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 2)]
-					InvulnerableRemoved { account_id: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 3)]
-					NewDesiredCandidates { desired_candidates: ::core::primitive::u32 },
-					#[codec(index = 4)]
-					NewCandidacyBond { bond_amount: ::core::primitive::u128 },
-					#[codec(index = 5)]
-					CandidateAdded {
-						account_id: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 6)]
-					CandidateRemoved { account_id: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 7)]
-					InvalidInvulnerableSkipped { account_id: ::sp_core::crypto::AccountId32 },
-				}
-			}
-		}
-		pub mod pallet_multisig {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					as_multi_threshold_1 {
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						call: ::std::boxed::Box<
-							runtime_types::bridge_hub_kusama_runtime::RuntimeCall,
-						>,
-					},
-					#[codec(index = 1)]
-					as_multi {
-						threshold: ::core::primitive::u16,
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						maybe_timepoint: ::core::option::Option<
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						>,
-						call: ::std::boxed::Box<
-							runtime_types::bridge_hub_kusama_runtime::RuntimeCall,
-						>,
-						max_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 2)]
-					approve_as_multi {
-						threshold: ::core::primitive::u16,
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						maybe_timepoint: ::core::option::Option<
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						>,
-						call_hash: [::core::primitive::u8; 32usize],
-						max_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 3)]
-					cancel_as_multi {
-						threshold: ::core::primitive::u16,
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					MinimumThreshold,
-					#[codec(index = 1)]
-					AlreadyApproved,
-					#[codec(index = 2)]
-					NoApprovalsNeeded,
-					#[codec(index = 3)]
-					TooFewSignatories,
-					#[codec(index = 4)]
-					TooManySignatories,
-					#[codec(index = 5)]
-					SignatoriesOutOfOrder,
-					#[codec(index = 6)]
-					SenderInSignatories,
-					#[codec(index = 7)]
-					NotFound,
-					#[codec(index = 8)]
-					NotOwner,
-					#[codec(index = 9)]
-					NoTimepoint,
-					#[codec(index = 10)]
-					WrongTimepoint,
-					#[codec(index = 11)]
-					UnexpectedTimepoint,
-					#[codec(index = 12)]
-					MaxWeightTooLow,
-					#[codec(index = 13)]
-					AlreadyStored,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewMultisig {
-						approving: ::sp_core::crypto::AccountId32,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 1)]
-					MultisigApproval {
-						approving: ::sp_core::crypto::AccountId32,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 2)]
-					MultisigExecuted {
-						approving: ::sp_core::crypto::AccountId32,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 3)]
-					MultisigCancelled {
-						cancelling: ::sp_core::crypto::AccountId32,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Multisig<_0, _1, _2> {
-				pub when: runtime_types::pallet_multisig::Timepoint<_0>,
-				pub deposit: _1,
-				pub depositor: _2,
-				pub approvals: runtime_types::bounded_collections::bounded_vec::BoundedVec<_2>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Timepoint<_0> {
-				pub height: _0,
-				pub index: ::core::primitive::u32,
-			}
-		}
-		pub mod pallet_session {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					set_keys {
-						keys: runtime_types::bridge_hub_kusama_runtime::SessionKeys,
-						proof: ::std::vec::Vec<::core::primitive::u8>,
-					},
-					#[codec(index = 1)]
-					purge_keys,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidProof,
-					#[codec(index = 1)]
-					NoAssociatedValidatorId,
-					#[codec(index = 2)]
-					DuplicatedKey,
-					#[codec(index = 3)]
-					NoKeys,
-					#[codec(index = 4)]
-					NoAccount,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewSession { session_index: ::core::primitive::u32 },
-				}
-			}
-		}
-		pub mod pallet_timestamp {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					set {
-						#[codec(compact)]
-						now: ::core::primitive::u64,
-					},
-				}
-			}
-		}
-		pub mod pallet_transaction_payment {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					TransactionFeePaid {
-						who: ::sp_core::crypto::AccountId32,
-						actual_fee: ::core::primitive::u128,
-						tip: ::core::primitive::u128,
-					},
-				}
-			}
-			pub mod types {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct FeeDetails<_0> {
-					pub inclusion_fee: ::core::option::Option<
-						runtime_types::pallet_transaction_payment::types::InclusionFee<_0>,
-					>,
-					pub tip: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct InclusionFee<_0> {
-					pub base_fee: _0,
-					pub len_fee: _0,
-					pub adjusted_weight_fee: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RuntimeDispatchInfo<_0, _1> {
-					pub weight: _1,
-					pub class: runtime_types::frame_support::dispatch::DispatchClass,
-					pub partial_fee: _0,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ChargeTransactionPayment(#[codec(compact)] pub ::core::primitive::u128);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Releases {
-				#[codec(index = 0)]
-				V1Ancient,
-				#[codec(index = 1)]
-				V2,
-			}
-		}
-		pub mod pallet_utility {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					batch {
-						calls:
-							::std::vec::Vec<runtime_types::bridge_hub_kusama_runtime::RuntimeCall>,
-					},
-					#[codec(index = 1)]
-					as_derivative {
-						index: ::core::primitive::u16,
-						call: ::std::boxed::Box<
-							runtime_types::bridge_hub_kusama_runtime::RuntimeCall,
-						>,
-					},
-					#[codec(index = 2)]
-					batch_all {
-						calls:
-							::std::vec::Vec<runtime_types::bridge_hub_kusama_runtime::RuntimeCall>,
-					},
-					#[codec(index = 3)]
-					dispatch_as {
-						as_origin: ::std::boxed::Box<
-							runtime_types::bridge_hub_kusama_runtime::OriginCaller,
-						>,
-						call: ::std::boxed::Box<
-							runtime_types::bridge_hub_kusama_runtime::RuntimeCall,
-						>,
-					},
-					#[codec(index = 4)]
-					force_batch {
-						calls:
-							::std::vec::Vec<runtime_types::bridge_hub_kusama_runtime::RuntimeCall>,
-					},
-					#[codec(index = 5)]
-					with_weight {
-						call: ::std::boxed::Box<
-							runtime_types::bridge_hub_kusama_runtime::RuntimeCall,
-						>,
-						weight: ::sp_weights::Weight,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					TooManyCalls,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					BatchInterrupted {
-						index: ::core::primitive::u32,
-						error: runtime_types::sp_runtime::DispatchError,
-					},
-					#[codec(index = 1)]
-					BatchCompleted,
-					#[codec(index = 2)]
-					BatchCompletedWithErrors,
-					#[codec(index = 3)]
-					ItemCompleted,
-					#[codec(index = 4)]
-					ItemFailed { error: runtime_types::sp_runtime::DispatchError },
-					#[codec(index = 5)]
-					DispatchedAs {
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-				}
-			}
-		}
-		pub mod pallet_xcm {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					send {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						message: ::std::boxed::Box<runtime_types::xcm::VersionedXcm>,
-					},
-					#[codec(index = 1)]
-					teleport_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedMultiAssets>,
-						fee_asset_item: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					reserve_transfer_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedMultiAssets>,
-						fee_asset_item: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					execute {
-						message: ::std::boxed::Box<runtime_types::xcm::VersionedXcm2>,
-						max_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 4)]
-					force_xcm_version {
-						location: ::std::boxed::Box<
-							runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						>,
-						version: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					force_default_xcm_version {
-						maybe_xcm_version: ::core::option::Option<::core::primitive::u32>,
-					},
-					#[codec(index = 6)]
-					force_subscribe_version_notify {
-						location: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-					},
-					#[codec(index = 7)]
-					force_unsubscribe_version_notify {
-						location: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-					},
-					#[codec(index = 8)]
-					limited_reserve_transfer_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedMultiAssets>,
-						fee_asset_item: ::core::primitive::u32,
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-					},
-					#[codec(index = 9)]
-					limited_teleport_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedMultiAssets>,
-						fee_asset_item: ::core::primitive::u32,
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-					},
-					#[codec(index = 10)]
-					force_suspension { suspended: ::core::primitive::bool },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					Unreachable,
-					#[codec(index = 1)]
-					SendFailure,
-					#[codec(index = 2)]
-					Filtered,
-					#[codec(index = 3)]
-					UnweighableMessage,
-					#[codec(index = 4)]
-					DestinationNotInvertible,
-					#[codec(index = 5)]
-					Empty,
-					#[codec(index = 6)]
-					CannotReanchor,
-					#[codec(index = 7)]
-					TooManyAssets,
-					#[codec(index = 8)]
-					InvalidOrigin,
-					#[codec(index = 9)]
-					BadVersion,
-					#[codec(index = 10)]
-					BadLocation,
-					#[codec(index = 11)]
-					NoSubscription,
-					#[codec(index = 12)]
-					AlreadySubscribed,
-					#[codec(index = 13)]
-					InvalidAsset,
-					#[codec(index = 14)]
-					LowBalance,
-					#[codec(index = 15)]
-					TooManyLocks,
-					#[codec(index = 16)]
-					AccountNotSovereign,
-					#[codec(index = 17)]
-					FeesNotMet,
-					#[codec(index = 18)]
-					LockNotFound,
-					#[codec(index = 19)]
-					InUse,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Attempted { outcome: runtime_types::xcm::v3::traits::Outcome },
-					#[codec(index = 1)]
-					Sent {
-						origin: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						destination: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						message: runtime_types::xcm::v3::Xcm,
-						message_id: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 2)]
-					UnexpectedResponse {
-						origin: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						query_id: ::core::primitive::u64,
-					},
-					#[codec(index = 3)]
-					ResponseReady {
-						query_id: ::core::primitive::u64,
-						response: runtime_types::xcm::v3::Response,
-					},
-					#[codec(index = 4)]
-					Notified {
-						query_id: ::core::primitive::u64,
-						pallet_index: ::core::primitive::u8,
-						call_index: ::core::primitive::u8,
-					},
-					#[codec(index = 5)]
-					NotifyOverweight {
-						query_id: ::core::primitive::u64,
-						pallet_index: ::core::primitive::u8,
-						call_index: ::core::primitive::u8,
-						actual_weight: ::sp_weights::Weight,
-						max_budgeted_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 6)]
-					NotifyDispatchError {
-						query_id: ::core::primitive::u64,
-						pallet_index: ::core::primitive::u8,
-						call_index: ::core::primitive::u8,
-					},
-					#[codec(index = 7)]
-					NotifyDecodeFailed {
-						query_id: ::core::primitive::u64,
-						pallet_index: ::core::primitive::u8,
-						call_index: ::core::primitive::u8,
-					},
-					#[codec(index = 8)]
-					InvalidResponder {
-						origin: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						query_id: ::core::primitive::u64,
-						expected_location: ::core::option::Option<
-							runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						>,
-					},
-					#[codec(index = 9)]
-					InvalidResponderVersion {
-						origin: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						query_id: ::core::primitive::u64,
-					},
-					#[codec(index = 10)]
-					ResponseTaken { query_id: ::core::primitive::u64 },
-					#[codec(index = 11)]
-					AssetsTrapped {
-						hash: ::subxt::utils::H256,
-						origin: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						assets: runtime_types::xcm::VersionedMultiAssets,
-					},
-					#[codec(index = 12)]
-					VersionChangeNotified {
-						destination: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						result: ::core::primitive::u32,
-						cost: runtime_types::xcm::v3::multiasset::MultiAssets,
-						message_id: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 13)]
-					SupportedVersionChanged {
-						location: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						version: ::core::primitive::u32,
-					},
-					#[codec(index = 14)]
-					NotifyTargetSendFail {
-						location: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						query_id: ::core::primitive::u64,
-						error: runtime_types::xcm::v3::traits::Error,
-					},
-					#[codec(index = 15)]
-					NotifyTargetMigrationFail {
-						location: runtime_types::xcm::VersionedMultiLocation,
-						query_id: ::core::primitive::u64,
-					},
-					#[codec(index = 16)]
-					InvalidQuerierVersion {
-						origin: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						query_id: ::core::primitive::u64,
-					},
-					#[codec(index = 17)]
-					InvalidQuerier {
-						origin: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						query_id: ::core::primitive::u64,
-						expected_querier:
-							runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						maybe_actual_querier: ::core::option::Option<
-							runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						>,
-					},
-					#[codec(index = 18)]
-					VersionNotifyStarted {
-						destination: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						cost: runtime_types::xcm::v3::multiasset::MultiAssets,
-						message_id: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 19)]
-					VersionNotifyRequested {
-						destination: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						cost: runtime_types::xcm::v3::multiasset::MultiAssets,
-						message_id: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 20)]
-					VersionNotifyUnrequested {
-						destination: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						cost: runtime_types::xcm::v3::multiasset::MultiAssets,
-						message_id: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 21)]
-					FeesPaid {
-						paying: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						fees: runtime_types::xcm::v3::multiasset::MultiAssets,
-					},
-					#[codec(index = 22)]
-					AssetsClaimed {
-						hash: ::subxt::utils::H256,
-						origin: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						assets: runtime_types::xcm::VersionedMultiAssets,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Origin {
-					#[codec(index = 0)]
-					Xcm(runtime_types::staging_xcm::v3::multilocation::MultiLocation),
-					#[codec(index = 1)]
-					Response(runtime_types::staging_xcm::v3::multilocation::MultiLocation),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum QueryStatus<_0> {
-					#[codec(index = 0)]
-					Pending {
-						responder: runtime_types::xcm::VersionedMultiLocation,
-						maybe_match_querier:
-							::core::option::Option<runtime_types::xcm::VersionedMultiLocation>,
-						maybe_notify:
-							::core::option::Option<(::core::primitive::u8, ::core::primitive::u8)>,
-						timeout: _0,
-					},
-					#[codec(index = 1)]
-					VersionNotifier {
-						origin: runtime_types::xcm::VersionedMultiLocation,
-						is_active: ::core::primitive::bool,
-					},
-					#[codec(index = 2)]
-					Ready { response: runtime_types::xcm::VersionedResponse, at: _0 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RemoteLockedFungibleRecord<_0> {
-					pub amount: ::core::primitive::u128,
-					pub owner: runtime_types::xcm::VersionedMultiLocation,
-					pub locker: runtime_types::xcm::VersionedMultiLocation,
-					pub consumers: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-						_0,
-						::core::primitive::u128,
-					)>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum VersionMigrationStage {
-					#[codec(index = 0)]
-					MigrateSupportedVersion,
-					#[codec(index = 1)]
-					MigrateVersionNotifiers,
-					#[codec(index = 2)]
-					NotifyCurrentTargets(
-						::core::option::Option<::std::vec::Vec<::core::primitive::u8>>,
-					),
-					#[codec(index = 3)]
-					MigrateAndNotifyOldTargets,
-				}
-			}
-		}
-		pub mod polkadot_core_primitives {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundDownwardMessage<_0> {
-				pub sent_at: _0,
-				pub msg: ::std::vec::Vec<::core::primitive::u8>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundHrmpMessage<_0> {
-				pub sent_at: _0,
-				pub data: ::std::vec::Vec<::core::primitive::u8>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OutboundHrmpMessage<_0> {
-				pub recipient: _0,
-				pub data: ::std::vec::Vec<::core::primitive::u8>,
-			}
-		}
-		pub mod polkadot_parachain_primitives {
-			use super::runtime_types;
-			pub mod primitives {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HeadData(pub ::std::vec::Vec<::core::primitive::u8>);
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct Id(pub ::core::primitive::u32);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ValidationCode(pub ::std::vec::Vec<::core::primitive::u8>);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum XcmpMessageFormat {
-					#[codec(index = 0)]
-					ConcatenatedVersionedXcm,
-					#[codec(index = 1)]
-					ConcatenatedEncodedBlob,
-					#[codec(index = 2)]
-					Signals,
-				}
-			}
-		}
-		pub mod polkadot_primitives {
-			use super::runtime_types;
-			pub mod v6 {
-				use super::runtime_types;
-				pub mod async_backing {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct AsyncBackingParams {
-						pub max_candidate_depth: ::core::primitive::u32,
-						pub allowed_ancestry_len: ::core::primitive::u32,
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AbridgedHostConfiguration {
-					pub max_code_size: ::core::primitive::u32,
-					pub max_head_data_size: ::core::primitive::u32,
-					pub max_upward_queue_count: ::core::primitive::u32,
-					pub max_upward_queue_size: ::core::primitive::u32,
-					pub max_upward_message_size: ::core::primitive::u32,
-					pub max_upward_message_num_per_candidate: ::core::primitive::u32,
-					pub hrmp_max_message_num_per_candidate: ::core::primitive::u32,
-					pub validation_upgrade_cooldown: ::core::primitive::u32,
-					pub validation_upgrade_delay: ::core::primitive::u32,
-					pub async_backing_params:
-						runtime_types::polkadot_primitives::v6::async_backing::AsyncBackingParams,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AbridgedHrmpChannel {
-					pub max_capacity: ::core::primitive::u32,
-					pub max_total_size: ::core::primitive::u32,
-					pub max_message_size: ::core::primitive::u32,
-					pub msg_count: ::core::primitive::u32,
-					pub total_size: ::core::primitive::u32,
-					pub mqc_head: ::core::option::Option<::subxt::utils::H256>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PersistedValidationData<_0, _1> {
-					pub parent_head:
-						runtime_types::polkadot_parachain_primitives::primitives::HeadData,
-					pub relay_parent_number: _1,
-					pub relay_parent_storage_root: _0,
-					pub max_pov_size: ::core::primitive::u32,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum UpgradeGoAhead {
-					#[codec(index = 0)]
-					Abort,
-					#[codec(index = 1)]
-					GoAhead,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum UpgradeRestriction {
-					#[codec(index = 0)]
-					Present,
-				}
-			}
-		}
-		pub mod sp_arithmetic {
-			use super::runtime_types;
-			pub mod fixed_point {
-				use super::runtime_types;
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct FixedU128(pub ::core::primitive::u128);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ArithmeticError {
-				#[codec(index = 0)]
-				Underflow,
-				#[codec(index = 1)]
-				Overflow,
-				#[codec(index = 2)]
-				DivisionByZero,
-			}
-		}
-		pub mod sp_consensus_aura {
-			use super::runtime_types;
-			pub mod sr25519 {
-				use super::runtime_types;
-				pub mod app_sr25519 {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-				}
-			}
-		}
-		pub mod sp_consensus_grandpa {
-			use super::runtime_types;
-			pub mod app {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub runtime_types::sp_core::ed25519::Public);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub runtime_types::sp_core::ed25519::Signature);
-			}
-		}
-		pub mod sp_consensus_slots {
-			use super::runtime_types;
-			#[derive(
-				:: codec :: Decode,
-				:: codec :: Encode,
-				:: subxt :: ext :: codec :: CompactAs,
-				Clone,
-				Debug,
-				PartialEq,
-			)]
-			pub struct Slot(pub ::core::primitive::u64);
-			#[derive(
-				:: codec :: Decode,
-				:: codec :: Encode,
-				:: subxt :: ext :: codec :: CompactAs,
-				Clone,
-				Debug,
-				PartialEq,
-			)]
-			pub struct SlotDuration(pub ::core::primitive::u64);
-		}
-		pub mod sp_core {
-			use super::runtime_types;
-			pub mod crypto {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct KeyTypeId(pub [::core::primitive::u8; 4usize]);
-			}
-			pub mod ecdsa {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 65usize]);
-			}
-			pub mod ed25519 {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub [::core::primitive::u8; 32usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 64usize]);
-			}
-			pub mod sr25519 {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub [::core::primitive::u8; 32usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 64usize]);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OpaqueMetadata(pub ::std::vec::Vec<::core::primitive::u8>);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Void {}
-		}
-		pub mod sp_inherents {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct CheckInherentsResult {
-				pub okay: ::core::primitive::bool,
-				pub fatal_error: ::core::primitive::bool,
-				pub errors: runtime_types::sp_inherents::InherentData,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InherentData {
-				pub data: ::subxt::utils::KeyedVec<
-					[::core::primitive::u8; 8usize],
-					::std::vec::Vec<::core::primitive::u8>,
-				>,
-			}
-		}
-		pub mod sp_runtime {
-			use super::runtime_types;
-			pub mod generic {
-				use super::runtime_types;
-				pub mod block {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Block<_0, _1> {
-						pub header: _0,
-						pub extrinsics: ::std::vec::Vec<_1>,
-					}
-				}
-				pub mod digest {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum DigestItem {
-						#[codec(index = 6)]
-						PreRuntime(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 4)]
-						Consensus(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 5)]
-						Seal(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 0)]
-						Other(::std::vec::Vec<::core::primitive::u8>),
-						#[codec(index = 8)]
-						RuntimeEnvironmentUpdated,
-					}
-				}
-			}
-			pub mod transaction_validity {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum TransactionSource {
-					#[codec(index = 0)]
-					InBlock,
-					#[codec(index = 1)]
-					Local,
-					#[codec(index = 2)]
-					External,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum UnknownTransaction {
-					#[codec(index = 0)]
-					CannotLookup,
-					#[codec(index = 1)]
-					NoUnsignedValidator,
-					#[codec(index = 2)]
-					Custom(::core::primitive::u8),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum DispatchError {
-				#[codec(index = 0)]
-				Other,
-				#[codec(index = 1)]
-				CannotLookup,
-				#[codec(index = 2)]
-				BadOrigin,
-				#[codec(index = 3)]
-				Module(runtime_types::sp_runtime::ModuleError),
-				#[codec(index = 4)]
-				ConsumerRemaining,
-				#[codec(index = 5)]
-				NoProviders,
-				#[codec(index = 6)]
-				TooManyConsumers,
-				#[codec(index = 7)]
-				Token(runtime_types::sp_runtime::TokenError),
-				#[codec(index = 8)]
-				Arithmetic(runtime_types::sp_arithmetic::ArithmeticError),
-				#[codec(index = 9)]
-				Transactional(runtime_types::sp_runtime::TransactionalError),
-				#[codec(index = 10)]
-				Exhausted,
-				#[codec(index = 11)]
-				Corruption,
-				#[codec(index = 12)]
-				Unavailable,
-				#[codec(index = 13)]
-				RootNotAllowed,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ModuleError {
-				pub index: ::core::primitive::u8,
-				pub error: [::core::primitive::u8; 4usize],
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum MultiSignature {
-				#[codec(index = 0)]
-				Ed25519(runtime_types::sp_core::ed25519::Signature),
-				#[codec(index = 1)]
-				Sr25519(runtime_types::sp_core::sr25519::Signature),
-				#[codec(index = 2)]
-				Ecdsa(runtime_types::sp_core::ecdsa::Signature),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum TokenError {
-				#[codec(index = 0)]
-				FundsUnavailable,
-				#[codec(index = 1)]
-				OnlyProvider,
-				#[codec(index = 2)]
-				BelowMinimum,
-				#[codec(index = 3)]
-				CannotCreate,
-				#[codec(index = 4)]
-				UnknownAsset,
-				#[codec(index = 5)]
-				Frozen,
-				#[codec(index = 6)]
-				Unsupported,
-				#[codec(index = 7)]
-				CannotCreateHold,
-				#[codec(index = 8)]
-				NotExpendable,
-				#[codec(index = 9)]
-				Blocked,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum TransactionalError {
-				#[codec(index = 0)]
-				LimitReached,
-				#[codec(index = 1)]
-				NoLayer,
-			}
-		}
-		pub mod sp_trie {
-			use super::runtime_types;
-			pub mod storage_proof {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct StorageProof {
-					pub trie_nodes: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>,
-				}
-			}
-		}
-		pub mod sp_version {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RuntimeVersion {
-				pub spec_name: ::std::string::String,
-				pub impl_name: ::std::string::String,
-				pub authoring_version: ::core::primitive::u32,
-				pub spec_version: ::core::primitive::u32,
-				pub impl_version: ::core::primitive::u32,
-				pub apis:
-					::std::vec::Vec<([::core::primitive::u8; 8usize], ::core::primitive::u32)>,
-				pub transaction_version: ::core::primitive::u32,
-				pub state_version: ::core::primitive::u8,
-			}
-		}
-		pub mod sp_weights {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RuntimeDbWeight {
-				pub read: ::core::primitive::u64,
-				pub write: ::core::primitive::u64,
-			}
-		}
-		pub mod staging_xcm {
-			use super::runtime_types;
-			pub mod v3 {
-				use super::runtime_types;
-				pub mod multilocation {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiLocation {
-						pub parents: ::core::primitive::u8,
-						pub interior: runtime_types::xcm::v3::junctions::Junctions,
-					}
-				}
-			}
-		}
-		pub mod xcm {
-			use super::runtime_types;
-			pub mod double_encoded {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DoubleEncoded {
-					pub encoded: ::std::vec::Vec<::core::primitive::u8>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DoubleEncoded2 {
-					pub encoded: ::std::vec::Vec<::core::primitive::u8>,
-				}
-			}
-			pub mod v2 {
-				use super::runtime_types;
-				pub mod junction {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junction {
-						#[codec(index = 0)]
-						Parachain(#[codec(compact)] ::core::primitive::u32),
-						#[codec(index = 1)]
-						AccountId32 {
-							network: runtime_types::xcm::v2::NetworkId,
-							id: [::core::primitive::u8; 32usize],
-						},
-						#[codec(index = 2)]
-						AccountIndex64 {
-							network: runtime_types::xcm::v2::NetworkId,
-							#[codec(compact)]
-							index: ::core::primitive::u64,
-						},
-						#[codec(index = 3)]
-						AccountKey20 {
-							network: runtime_types::xcm::v2::NetworkId,
-							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(
-							runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<
-								::core::primitive::u8,
-							>,
-						),
-						#[codec(index = 7)]
-						OnlyChild,
-						#[codec(index = 8)]
-						Plurality {
-							id: runtime_types::xcm::v2::BodyId,
-							part: runtime_types::xcm::v2::BodyPart,
-						},
-					}
-				}
-				pub mod multiasset {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum AssetId {
-						#[codec(index = 0)]
-						Concrete(runtime_types::xcm::v2::multilocation::MultiLocation),
-						#[codec(index = 1)]
-						Abstract(::std::vec::Vec<::core::primitive::u8>),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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]),
-						#[codec(index = 6)]
-						Blob(::std::vec::Vec<::core::primitive::u8>),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Fungibility {
-						#[codec(index = 0)]
-						Fungible(#[codec(compact)] ::core::primitive::u128),
-						#[codec(index = 1)]
-						NonFungible(runtime_types::xcm::v2::multiasset::AssetInstance),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAsset {
-						pub id: runtime_types::xcm::v2::multiasset::AssetId,
-						pub fun: runtime_types::xcm::v2::multiasset::Fungibility,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum MultiAssetFilter {
-						#[codec(index = 0)]
-						Definite(runtime_types::xcm::v2::multiasset::MultiAssets),
-						#[codec(index = 1)]
-						Wild(runtime_types::xcm::v2::multiasset::WildMultiAsset),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAssets(
-						pub ::std::vec::Vec<runtime_types::xcm::v2::multiasset::MultiAsset>,
-					);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildFungibility {
-						#[codec(index = 0)]
-						Fungible,
-						#[codec(index = 1)]
-						NonFungible,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildMultiAsset {
-						#[codec(index = 0)]
-						All,
-						#[codec(index = 1)]
-						AllOf {
-							id: runtime_types::xcm::v2::multiasset::AssetId,
-							fun: runtime_types::xcm::v2::multiasset::WildFungibility,
-						},
-					}
-				}
-				pub mod multilocation {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junctions {
-						#[codec(index = 0)]
-						Here,
-						#[codec(index = 1)]
-						X1(runtime_types::xcm::v2::junction::Junction),
-						#[codec(index = 2)]
-						X2(
-							runtime_types::xcm::v2::junction::Junction,
-							runtime_types::xcm::v2::junction::Junction,
-						),
-						#[codec(index = 3)]
-						X3(
-							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::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::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::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::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::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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiLocation {
-						pub parents: ::core::primitive::u8,
-						pub interior: runtime_types::xcm::v2::multilocation::Junctions,
-					}
-				}
-				pub mod traits {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						Overflow,
-						#[codec(index = 1)]
-						Unimplemented,
-						#[codec(index = 2)]
-						UntrustedReserveLocation,
-						#[codec(index = 3)]
-						UntrustedTeleportLocation,
-						#[codec(index = 4)]
-						MultiLocationFull,
-						#[codec(index = 5)]
-						MultiLocationNotInvertible,
-						#[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)]
-						UnhandledXcmVersion,
-						#[codec(index = 23)]
-						WeightLimitReached(::core::primitive::u64),
-						#[codec(index = 24)]
-						Barrier,
-						#[codec(index = 25)]
-						WeightNotComputable,
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Instruction {
-					#[codec(index = 0)]
-					WithdrawAsset(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 1)]
-					ReserveAssetDeposited(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 2)]
-					ReceiveTeleportedAsset(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 3)]
-					QueryResponse {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						response: runtime_types::xcm::v2::Response,
-						#[codec(compact)]
-						max_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 4)]
-					TransferAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssets,
-						beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 5)]
-					TransferReserveAsset {
-						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::v2::OriginKind,
-						#[codec(compact)]
-						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)]
-					ClearOrigin,
-					#[codec(index = 11)]
-					DescendOrigin(runtime_types::xcm::v2::multilocation::Junctions),
-					#[codec(index = 12)]
-					ReportError {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						dest: runtime_types::xcm::v2::multilocation::MultiLocation,
-						#[codec(compact)]
-						max_response_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 13)]
-					DepositAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						#[codec(compact)]
-						max_assets: ::core::primitive::u32,
-						beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 14)]
-					DepositReserveAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						#[codec(compact)]
-						max_assets: ::core::primitive::u32,
-						dest: runtime_types::xcm::v2::multilocation::MultiLocation,
-						xcm: runtime_types::xcm::v2::Xcm,
-					},
-					#[codec(index = 15)]
-					ExchangeAsset {
-						give: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						receive: runtime_types::xcm::v2::multiasset::MultiAssets,
-					},
-					#[codec(index = 16)]
-					InitiateReserveWithdraw {
-						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::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::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::v2::multiasset::MultiAsset,
-						weight_limit: runtime_types::xcm::v2::WeightLimit,
-					},
-					#[codec(index = 20)]
-					RefundSurplus,
-					#[codec(index = 21)]
-					SetErrorHandler(runtime_types::xcm::v2::Xcm),
-					#[codec(index = 22)]
-					SetAppendix(runtime_types::xcm::v2::Xcm),
-					#[codec(index = 23)]
-					ClearError,
-					#[codec(index = 24)]
-					ClaimAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssets,
-						ticket: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 25)]
-					Trap(#[codec(compact)] ::core::primitive::u64),
-					#[codec(index = 26)]
-					SubscribeVersion {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						#[codec(compact)]
-						max_response_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 27)]
-					UnsubscribeVersion,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Instruction2 {
-					#[codec(index = 0)]
-					WithdrawAsset(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 1)]
-					ReserveAssetDeposited(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 2)]
-					ReceiveTeleportedAsset(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 3)]
-					QueryResponse {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						response: runtime_types::xcm::v2::Response,
-						#[codec(compact)]
-						max_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 4)]
-					TransferAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssets,
-						beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 5)]
-					TransferReserveAsset {
-						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::v2::OriginKind,
-						#[codec(compact)]
-						require_weight_at_most: ::core::primitive::u64,
-						call: runtime_types::xcm::double_encoded::DoubleEncoded2,
-					},
-					#[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::v2::multilocation::Junctions),
-					#[codec(index = 12)]
-					ReportError {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						dest: runtime_types::xcm::v2::multilocation::MultiLocation,
-						#[codec(compact)]
-						max_response_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 13)]
-					DepositAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						#[codec(compact)]
-						max_assets: ::core::primitive::u32,
-						beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 14)]
-					DepositReserveAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						#[codec(compact)]
-						max_assets: ::core::primitive::u32,
-						dest: runtime_types::xcm::v2::multilocation::MultiLocation,
-						xcm: runtime_types::xcm::v2::Xcm,
-					},
-					#[codec(index = 15)]
-					ExchangeAsset {
-						give: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						receive: runtime_types::xcm::v2::multiasset::MultiAssets,
-					},
-					#[codec(index = 16)]
-					InitiateReserveWithdraw {
-						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::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::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::v2::multiasset::MultiAsset,
-						weight_limit: runtime_types::xcm::v2::WeightLimit,
-					},
-					#[codec(index = 20)]
-					RefundSurplus,
-					#[codec(index = 21)]
-					SetErrorHandler(runtime_types::xcm::v2::Xcm2),
-					#[codec(index = 22)]
-					SetAppendix(runtime_types::xcm::v2::Xcm2),
-					#[codec(index = 23)]
-					ClearError,
-					#[codec(index = 24)]
-					ClaimAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssets,
-						ticket: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 25)]
-					Trap(#[codec(compact)] ::core::primitive::u64),
-					#[codec(index = 26)]
-					SubscribeVersion {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						#[codec(compact)]
-						max_response_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 27)]
-					UnsubscribeVersion,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum OriginKind {
-					#[codec(index = 0)]
-					Native,
-					#[codec(index = 1)]
-					SovereignAccount,
-					#[codec(index = 2)]
-					Superuser,
-					#[codec(index = 3)]
-					Xcm,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Response {
-					#[codec(index = 0)]
-					Null,
-					#[codec(index = 1)]
-					Assets(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 2)]
-					ExecutionResult(
-						::core::option::Option<(
-							::core::primitive::u32,
-							runtime_types::xcm::v2::traits::Error,
-						)>,
-					),
-					#[codec(index = 3)]
-					Version(::core::primitive::u32),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum WeightLimit {
-					#[codec(index = 0)]
-					Unlimited,
-					#[codec(index = 1)]
-					Limited(#[codec(compact)] ::core::primitive::u64),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm(pub ::std::vec::Vec<runtime_types::xcm::v2::Instruction>);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm2(pub ::std::vec::Vec<runtime_types::xcm::v2::Instruction2>);
-			}
-			pub mod v3 {
-				use super::runtime_types;
-				pub mod junction {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junction {
-						#[codec(index = 0)]
-						Parachain(#[codec(compact)] ::core::primitive::u32),
-						#[codec(index = 1)]
-						AccountId32 {
-							network:
-								::core::option::Option<runtime_types::xcm::v3::junction::NetworkId>,
-							id: [::core::primitive::u8; 32usize],
-						},
-						#[codec(index = 2)]
-						AccountIndex64 {
-							network:
-								::core::option::Option<runtime_types::xcm::v3::junction::NetworkId>,
-							#[codec(compact)]
-							index: ::core::primitive::u64,
-						},
-						#[codec(index = 3)]
-						AccountKey20 {
-							network:
-								::core::option::Option<runtime_types::xcm::v3::junction::NetworkId>,
-							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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum AssetId {
-						#[codec(index = 0)]
-						Concrete(runtime_types::staging_xcm::v3::multilocation::MultiLocation),
-						#[codec(index = 1)]
-						Abstract([::core::primitive::u8; 32usize]),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Fungibility {
-						#[codec(index = 0)]
-						Fungible(#[codec(compact)] ::core::primitive::u128),
-						#[codec(index = 1)]
-						NonFungible(runtime_types::xcm::v3::multiasset::AssetInstance),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAsset {
-						pub id: runtime_types::xcm::v3::multiasset::AssetId,
-						pub fun: runtime_types::xcm::v3::multiasset::Fungibility,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum MultiAssetFilter {
-						#[codec(index = 0)]
-						Definite(runtime_types::xcm::v3::multiasset::MultiAssets),
-						#[codec(index = 1)]
-						Wild(runtime_types::xcm::v3::multiasset::WildMultiAsset),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAssets(
-						pub ::std::vec::Vec<runtime_types::xcm::v3::multiasset::MultiAsset>,
-					);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildFungibility {
-						#[codec(index = 0)]
-						Fungible,
-						#[codec(index = 1)]
-						NonFungible,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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 traits {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(::sp_weights::Weight),
-						#[codec(index = 37)]
-						Barrier,
-						#[codec(index = 38)]
-						WeightNotComputable,
-						#[codec(index = 39)]
-						ExceedsStackLimit,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Outcome {
-						#[codec(index = 0)]
-						Complete(::sp_weights::Weight),
-						#[codec(index = 1)]
-						Incomplete(::sp_weights::Weight, runtime_types::xcm::v3::traits::Error),
-						#[codec(index = 2)]
-						Error(runtime_types::xcm::v3::traits::Error),
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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: ::sp_weights::Weight,
-						querier: ::core::option::Option<
-							runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						>,
-					},
-					#[codec(index = 4)]
-					TransferAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssets,
-						beneficiary: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 5)]
-					TransferReserveAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssets,
-						dest: runtime_types::staging_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: ::sp_weights::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::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 14)]
-					DepositReserveAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter,
-						dest: runtime_types::staging_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::staging_xcm::v3::multilocation::MultiLocation,
-						xcm: runtime_types::xcm::v3::Xcm,
-					},
-					#[codec(index = 17)]
-					InitiateTeleport {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter,
-						dest: runtime_types::staging_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::staging_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: ::sp_weights::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::staging_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::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 40)]
-					UnlockAsset {
-						asset: runtime_types::xcm::v3::multiasset::MultiAsset,
-						target: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 41)]
-					NoteUnlockable {
-						asset: runtime_types::xcm::v3::multiasset::MultiAsset,
-						owner: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 42)]
-					RequestUnlock {
-						asset: runtime_types::xcm::v3::multiasset::MultiAsset,
-						locker: runtime_types::staging_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::staging_xcm::v3::multilocation::MultiLocation),
-					#[codec(index = 47)]
-					UnpaidExecution {
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-						check_origin: ::core::option::Option<
-							runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Instruction2 {
-					#[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: ::sp_weights::Weight,
-						querier: ::core::option::Option<
-							runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						>,
-					},
-					#[codec(index = 4)]
-					TransferAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssets,
-						beneficiary: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 5)]
-					TransferReserveAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssets,
-						dest: runtime_types::staging_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: ::sp_weights::Weight,
-						call: runtime_types::xcm::double_encoded::DoubleEncoded2,
-					},
-					#[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::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 14)]
-					DepositReserveAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter,
-						dest: runtime_types::staging_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::staging_xcm::v3::multilocation::MultiLocation,
-						xcm: runtime_types::xcm::v3::Xcm,
-					},
-					#[codec(index = 17)]
-					InitiateTeleport {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter,
-						dest: runtime_types::staging_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::Xcm2),
-					#[codec(index = 22)]
-					SetAppendix(runtime_types::xcm::v3::Xcm2),
-					#[codec(index = 23)]
-					ClearError,
-					#[codec(index = 24)]
-					ClaimAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssets,
-						ticket: runtime_types::staging_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: ::sp_weights::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::staging_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::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 40)]
-					UnlockAsset {
-						asset: runtime_types::xcm::v3::multiasset::MultiAsset,
-						target: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 41)]
-					NoteUnlockable {
-						asset: runtime_types::xcm::v3::multiasset::MultiAsset,
-						owner: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 42)]
-					RequestUnlock {
-						asset: runtime_types::xcm::v3::multiasset::MultiAsset,
-						locker: runtime_types::staging_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::staging_xcm::v3::multilocation::MultiLocation),
-					#[codec(index = 47)]
-					UnpaidExecution {
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-						check_origin: ::core::option::Option<
-							runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct QueryResponseInfo {
-					pub destination: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					#[codec(compact)]
-					pub query_id: ::core::primitive::u64,
-					pub max_weight: ::sp_weights::Weight,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum WeightLimit {
-					#[codec(index = 0)]
-					Unlimited,
-					#[codec(index = 1)]
-					Limited(::sp_weights::Weight),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm(pub ::std::vec::Vec<runtime_types::xcm::v3::Instruction>);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm2(pub ::std::vec::Vec<runtime_types::xcm::v3::Instruction2>);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedAssetId {
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::multiasset::AssetId),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedMultiAssets {
-				#[codec(index = 1)]
-				V2(runtime_types::xcm::v2::multiasset::MultiAssets),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::multiasset::MultiAssets),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedMultiLocation {
-				#[codec(index = 1)]
-				V2(runtime_types::xcm::v2::multilocation::MultiLocation),
-				#[codec(index = 3)]
-				V3(runtime_types::staging_xcm::v3::multilocation::MultiLocation),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedResponse {
-				#[codec(index = 2)]
-				V2(runtime_types::xcm::v2::Response),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::Response),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedXcm {
-				#[codec(index = 2)]
-				V2(runtime_types::xcm::v2::Xcm),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::Xcm),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedXcm2 {
-				#[codec(index = 2)]
-				V2(runtime_types::xcm::v2::Xcm2),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::Xcm2),
-			}
-		}
-	}
-}
diff --git a/bridges/relays/client-bridge-hub-kusama/src/lib.rs b/bridges/relays/client-bridge-hub-kusama/src/lib.rs
deleted file mode 100644
index 43dd53d2d83a2d0324ac987b37f4dc7ad41056da..0000000000000000000000000000000000000000
--- a/bridges/relays/client-bridge-hub-kusama/src/lib.rs
+++ /dev/null
@@ -1,127 +0,0 @@
-// Copyright 2022 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Types used to connect to the BridgeHub-Kusama-Substrate parachain.
-
-pub mod codegen_runtime;
-
-use bp_bridge_hub_kusama::{SignedExtension, AVERAGE_BLOCK_INTERVAL};
-use bp_polkadot::SuffixedCommonSignedExtensionExt;
-use codec::Encode;
-use relay_substrate_client::{
-	calls::UtilityCall as MockUtilityCall, Chain, ChainWithBalances, ChainWithMessages,
-	ChainWithRuntimeVersion, ChainWithTransactions, ChainWithUtilityPallet,
-	Error as SubstrateError, MockedRuntimeUtilityPallet, SignParam, SimpleRuntimeVersion,
-	UnderlyingChainProvider, UnsignedTransaction,
-};
-use sp_core::{storage::StorageKey, Pair};
-use sp_runtime::{generic::SignedPayload, traits::IdentifyAccount};
-use std::time::Duration;
-
-pub use codegen_runtime::api::runtime_types;
-
-pub type RuntimeCall = runtime_types::bridge_hub_kusama_runtime::RuntimeCall;
-pub type BridgeMessagesCall = runtime_types::pallet_bridge_messages::pallet::Call;
-pub type BridgeGrandpaCall = runtime_types::pallet_bridge_grandpa::pallet::Call;
-pub type BridgeParachainCall = runtime_types::pallet_bridge_parachains::pallet::Call;
-type UncheckedExtrinsic = bp_bridge_hub_kusama::UncheckedExtrinsic<RuntimeCall, SignedExtension>;
-type UtilityCall = runtime_types::pallet_utility::pallet::Call;
-
-/// Kusama chain definition
-#[derive(Debug, Clone, Copy, PartialEq, Eq)]
-pub struct BridgeHubKusama;
-
-impl UnderlyingChainProvider for BridgeHubKusama {
-	type Chain = bp_bridge_hub_kusama::BridgeHubKusama;
-}
-
-impl Chain for BridgeHubKusama {
-	const NAME: &'static str = "BridgeHubKusama";
-	const BEST_FINALIZED_HEADER_ID_METHOD: &'static str =
-		bp_bridge_hub_kusama::BEST_FINALIZED_BRIDGE_HUB_KUSAMA_HEADER_METHOD;
-	const AVERAGE_BLOCK_INTERVAL: Duration = AVERAGE_BLOCK_INTERVAL;
-
-	type SignedBlock = bp_bridge_hub_kusama::SignedBlock;
-	type Call = RuntimeCall;
-}
-
-impl ChainWithBalances for BridgeHubKusama {
-	fn account_info_storage_key(account_id: &Self::AccountId) -> StorageKey {
-		bp_bridge_hub_kusama::AccountInfoStorageMapKeyProvider::final_key(account_id)
-	}
-}
-
-impl From<MockUtilityCall<RuntimeCall>> for RuntimeCall {
-	fn from(value: MockUtilityCall<RuntimeCall>) -> RuntimeCall {
-		match value {
-			MockUtilityCall::batch_all(calls) =>
-				RuntimeCall::Utility(UtilityCall::batch_all { calls }),
-		}
-	}
-}
-
-impl ChainWithUtilityPallet for BridgeHubKusama {
-	type UtilityPallet = MockedRuntimeUtilityPallet<RuntimeCall>;
-}
-
-impl ChainWithTransactions for BridgeHubKusama {
-	type AccountKeyPair = sp_core::sr25519::Pair;
-	type SignedTransaction = UncheckedExtrinsic;
-
-	fn sign_transaction(
-		param: SignParam<Self>,
-		unsigned: UnsignedTransaction<Self>,
-	) -> Result<Self::SignedTransaction, SubstrateError> {
-		let raw_payload = SignedPayload::new(
-			unsigned.call,
-			SignedExtension::from_params(
-				param.spec_version,
-				param.transaction_version,
-				unsigned.era,
-				param.genesis_hash,
-				unsigned.nonce,
-				unsigned.tip,
-				(((), ()), ((), ())),
-			),
-		)?;
-
-		let signature = raw_payload.using_encoded(|payload| param.signer.sign(payload));
-		let signer: sp_runtime::MultiSigner = param.signer.public().into();
-		let (call, extra, _) = raw_payload.deconstruct();
-
-		Ok(UncheckedExtrinsic::new_signed(
-			call,
-			signer.into_account().into(),
-			signature.into(),
-			extra,
-		))
-	}
-}
-
-impl ChainWithMessages for BridgeHubKusama {
-	const WITH_CHAIN_RELAYERS_PALLET_NAME: Option<&'static str> =
-		Some(bp_bridge_hub_kusama::WITH_BRIDGE_HUB_KUSAMA_RELAYERS_PALLET_NAME);
-
-	const TO_CHAIN_MESSAGE_DETAILS_METHOD: &'static str =
-		bp_bridge_hub_kusama::TO_BRIDGE_HUB_KUSAMA_MESSAGE_DETAILS_METHOD;
-	const FROM_CHAIN_MESSAGE_DETAILS_METHOD: &'static str =
-		bp_bridge_hub_kusama::FROM_BRIDGE_HUB_KUSAMA_MESSAGE_DETAILS_METHOD;
-}
-
-impl ChainWithRuntimeVersion for BridgeHubKusama {
-	const RUNTIME_VERSION: Option<SimpleRuntimeVersion> =
-		Some(SimpleRuntimeVersion { spec_version: 1_001_000, transaction_version: 4 });
-}
diff --git a/bridges/relays/client-bridge-hub-kusama/src/runtime_wrapper.rs b/bridges/relays/client-bridge-hub-kusama/src/runtime_wrapper.rs
deleted file mode 100644
index 176cb173e5334d28c9c8c4163ddb1037a3faf403..0000000000000000000000000000000000000000
--- a/bridges/relays/client-bridge-hub-kusama/src/runtime_wrapper.rs
+++ /dev/null
@@ -1,71 +0,0 @@
-// Copyright 2019-2021 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Types that are specific to the BridgeHubKusama runtime.
-// TODO: regenerate me using `runtime-codegen` tool? (https://github.com/paritytech/parity-bridges-common/issues/1945)
-
-use codec::{Decode, Encode};
-use scale_info::TypeInfo;
-
-pub use bp_bridge_hub_kusama::TransactionExtension;
-pub use bp_header_chain::BridgeGrandpaCallOf;
-pub use bp_parachains::BridgeParachainCall;
-pub use bridge_runtime_common::messages::BridgeMessagesCallOf;
-pub use relay_substrate_client::calls::{SystemCall, UtilityCall};
-
-/// Unchecked BridgeHubKusama extrinsic.
-pub type UncheckedExtrinsic = bp_bridge_hub_kusama::UncheckedExtrinsic<Call, TransactionExtension>;
-
-// The indirect pallet call used to sync `Polkadot` GRANDPA finality to `BHKusama`.
-pub type BridgePolkadotGrandpaCall = BridgeGrandpaCallOf<bp_polkadot::Polkadot>;
-// The indirect pallet call used to sync `BridgeHubPolkadot` messages to `BHKusama`.
-pub type BridgePolkadotMessagesCall =
-	BridgeMessagesCallOf<bp_bridge_hub_polkadot::BridgeHubPolkadot>;
-
-/// `BridgeHubKusama` Runtime `Call` enum.
-///
-/// The enum represents a subset of possible `Call`s we can send to `BridgeHubKusama` chain.
-/// Ideally this code would be auto-generated from metadata, because we want to
-/// avoid depending directly on the ENTIRE runtime just to get the encoding of `Dispatchable`s.
-///
-/// All entries here (like pretty much in the entire file) must be kept in sync with
-/// `BridgeHubKusama` `construct_runtime`, so that we maintain SCALE-compatibility.
-#[allow(clippy::large_enum_variant)]
-#[derive(Encode, Decode, Debug, PartialEq, Eq, Clone, TypeInfo)]
-pub enum Call {
-	#[cfg(test)]
-	#[codec(index = 0)]
-	System(SystemCall),
-	/// Utility pallet.
-	#[codec(index = 40)]
-	Utility(UtilityCall<Call>),
-
-	/// Polkadot bridge pallet.
-	#[codec(index = 51)]
-	BridgePolkadotGrandpa(BridgePolkadotGrandpaCall),
-	/// Polkadot parachain bridge pallet.
-	#[codec(index = 52)]
-	BridgePolkadotParachain(BridgeParachainCall),
-	/// Polkadot messages bridge pallet.
-	#[codec(index = 53)]
-	BridgePolkadotMessages(BridgePolkadotMessagesCall),
-}
-
-impl From<UtilityCall<Call>> for Call {
-	fn from(call: UtilityCall<Call>) -> Call {
-		Call::Utility(call)
-	}
-}
diff --git a/bridges/relays/client-bridge-hub-polkadot/Cargo.toml b/bridges/relays/client-bridge-hub-polkadot/Cargo.toml
deleted file mode 100644
index abfd5bae4f025ee880e8987ff3f9d9ac897fc026..0000000000000000000000000000000000000000
--- a/bridges/relays/client-bridge-hub-polkadot/Cargo.toml
+++ /dev/null
@@ -1,33 +0,0 @@
-[package]
-name = "relay-bridge-hub-polkadot-client"
-version = "0.1.0"
-authors = ["Parity Technologies <admin@parity.io>"]
-edition = "2021"
-license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
-
-[lints]
-workspace = true
-
-[dependencies]
-codec = { package = "parity-scale-codec", version = "3.1.5", features = ["derive"] }
-scale-info = { version = "2.11.0", default-features = false, features = ["derive"] }
-subxt = { version = "0.32.1", default-features = false, features = ["native"] }
-
-# Bridge dependencies
-
-bp-bridge-hub-polkadot = { path = "../../chains/chain-bridge-hub-polkadot" }
-bp-header-chain = { path = "../../primitives/header-chain" }
-bp-messages = { path = "../../primitives/messages" }
-bp-parachains = { path = "../../primitives/parachains" }
-bp-polkadot = { path = "../../chains/chain-polkadot" }
-bp-polkadot-core = { path = "../../primitives/polkadot-core" }
-bp-kusama = { path = "../../chains/chain-kusama" }
-bp-runtime = { path = "../../primitives/runtime" }
-bridge-runtime-common = { path = "../../bin/runtime-common" }
-relay-substrate-client = { path = "../client-substrate" }
-
-# Substrate Dependencies
-
-sp-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-weights = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
diff --git a/bridges/relays/client-bridge-hub-polkadot/src/codegen_runtime.rs b/bridges/relays/client-bridge-hub-polkadot/src/codegen_runtime.rs
deleted file mode 100644
index 1ce9d0588024a9ab231670ea4391a63dabe87fbc..0000000000000000000000000000000000000000
--- a/bridges/relays/client-bridge-hub-polkadot/src/codegen_runtime.rs
+++ /dev/null
@@ -1,4056 +0,0 @@
-// Copyright 2019-2023 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated runtime API
-//! THIS FILE WAS AUTOGENERATED USING parity-bridges-common::runtime-codegen
-//! EXECUTED COMMAND: target/debug/runtime-codegen --from-node-url
-//! wss://polkadot-bridge-hub-rpc.polkadot.io
-
-#[allow(dead_code, unused_imports, non_camel_case_types)]
-#[allow(clippy::all)]
-#[allow(rustdoc::broken_intra_doc_links)]
-pub mod api {
-	#[allow(unused_imports)]
-	mod root_mod {
-		pub use super::*;
-	}
-	pub mod runtime_types {
-		use super::runtime_types;
-		pub mod bounded_collections {
-			use super::runtime_types;
-			pub mod bounded_vec {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BoundedVec<_0>(pub ::std::vec::Vec<_0>);
-			}
-			pub mod weak_bounded_vec {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct WeakBoundedVec<_0>(pub ::std::vec::Vec<_0>);
-			}
-		}
-		pub mod bp_header_chain {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct AuthoritySet {
-				pub authorities: ::std::vec::Vec<(
-					runtime_types::sp_consensus_grandpa::app::Public,
-					::core::primitive::u64,
-				)>,
-				pub set_id: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum HeaderChainError {
-				#[codec(index = 0)]
-				UnknownHeader,
-				#[codec(index = 1)]
-				StorageProof(runtime_types::bp_runtime::storage_proof::Error),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct HeaderFinalityInfo<_0, _1> {
-				pub finality_proof: _0,
-				pub new_verification_context: ::core::option::Option<_1>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct StoredHeaderData<_0, _1> {
-				pub number: _0,
-				pub state_root: _1,
-			}
-		}
-		pub mod bp_messages {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct DeliveredMessages {
-				pub begin: ::core::primitive::u64,
-				pub end: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundLaneData<_0> {
-				pub relayers: ::std::vec::Vec<runtime_types::bp_messages::UnrewardedRelayer<_0>>,
-				pub last_confirmed_nonce: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundMessageDetails {
-				pub dispatch_weight: ::sp_weights::Weight,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct LaneId(pub [::core::primitive::u8; 4usize]);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct MessageKey {
-				pub lane_id: runtime_types::bp_messages::LaneId,
-				pub nonce: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum MessagesOperatingMode {
-				#[codec(index = 0)]
-				Basic(runtime_types::bp_runtime::BasicOperatingMode),
-				#[codec(index = 1)]
-				RejectingOutboundMessages,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OutboundLaneData {
-				pub oldest_unpruned_nonce: ::core::primitive::u64,
-				pub latest_received_nonce: ::core::primitive::u64,
-				pub latest_generated_nonce: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OutboundMessageDetails {
-				pub nonce: ::core::primitive::u64,
-				pub dispatch_weight: ::sp_weights::Weight,
-				pub size: ::core::primitive::u32,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ReceivalResult<_0> {
-				#[codec(index = 0)]
-				Dispatched(runtime_types::bp_runtime::messages::MessageDispatchResult<_0>),
-				#[codec(index = 1)]
-				InvalidNonce,
-				#[codec(index = 2)]
-				TooManyUnrewardedRelayers,
-				#[codec(index = 3)]
-				TooManyUnconfirmedMessages,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ReceivedMessages<_0> {
-				pub lane: runtime_types::bp_messages::LaneId,
-				pub receive_results: ::std::vec::Vec<(
-					::core::primitive::u64,
-					runtime_types::bp_messages::ReceivalResult<_0>,
-				)>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct UnrewardedRelayer<_0> {
-				pub relayer: _0,
-				pub messages: runtime_types::bp_messages::DeliveredMessages,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VerificationError {
-				#[codec(index = 0)]
-				EmptyMessageProof,
-				#[codec(index = 1)]
-				HeaderChain(runtime_types::bp_header_chain::HeaderChainError),
-				#[codec(index = 2)]
-				InboundLaneStorage(runtime_types::bp_runtime::storage_proof::Error),
-				#[codec(index = 3)]
-				InvalidMessageWeight,
-				#[codec(index = 4)]
-				MessagesCountMismatch,
-				#[codec(index = 5)]
-				MessageStorage(runtime_types::bp_runtime::storage_proof::Error),
-				#[codec(index = 6)]
-				MessageTooLarge,
-				#[codec(index = 7)]
-				OutboundLaneStorage(runtime_types::bp_runtime::storage_proof::Error),
-				#[codec(index = 8)]
-				StorageProof(runtime_types::bp_runtime::storage_proof::Error),
-				#[codec(index = 9)]
-				Other,
-			}
-		}
-		pub mod bp_parachains {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BestParaHeadHash {
-				pub at_relay_block_number: ::core::primitive::u32,
-				pub head_hash: ::subxt::utils::H256,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ParaInfo {
-				pub best_head_hash: runtime_types::bp_parachains::BestParaHeadHash,
-				pub next_imported_hash_position: ::core::primitive::u32,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ParaStoredHeaderData(pub ::std::vec::Vec<::core::primitive::u8>);
-		}
-		pub mod bp_relayers {
-			use super::runtime_types;
-			pub mod registration {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Registration<_0, _1> {
-					pub valid_till: _0,
-					pub stake: _1,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RewardsAccountOwner {
-				#[codec(index = 0)]
-				ThisChain,
-				#[codec(index = 1)]
-				BridgedChain,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RewardsAccountParams {
-				pub lane_id: runtime_types::bp_messages::LaneId,
-				pub bridged_chain_id: [::core::primitive::u8; 4usize],
-				pub owner: runtime_types::bp_relayers::RewardsAccountOwner,
-			}
-		}
-		pub mod bp_runtime {
-			use super::runtime_types;
-			pub mod messages {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct MessageDispatchResult<_0> {
-					pub unspent_weight: ::sp_weights::Weight,
-					pub dispatch_level_result: _0,
-				}
-			}
-			pub mod storage_proof {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					DuplicateNodesInProof,
-					#[codec(index = 1)]
-					UnusedNodesInTheProof,
-					#[codec(index = 2)]
-					StorageRootMismatch,
-					#[codec(index = 3)]
-					StorageValueUnavailable,
-					#[codec(index = 4)]
-					StorageValueEmpty,
-					#[codec(index = 5)]
-					StorageValueDecodeFailed(runtime_types::bp_runtime::StrippableError),
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum BasicOperatingMode {
-				#[codec(index = 0)]
-				Normal,
-				#[codec(index = 1)]
-				Halted,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct HeaderId<_0, _1>(pub _1, pub _0);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum OwnedBridgeModuleError {
-				#[codec(index = 0)]
-				Halted,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct StrippableError;
-		}
-		pub mod bridge_hub_polkadot_runtime {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BridgeRejectObsoleteHeadersAndMessages;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum OriginCaller {
-				#[codec(index = 0)]
-				system(
-					runtime_types::frame_support::dispatch::RawOrigin<
-						::sp_core::crypto::AccountId32,
-					>,
-				),
-				#[codec(index = 31)]
-				PolkadotXcm(runtime_types::pallet_xcm::pallet::Origin),
-				#[codec(index = 32)]
-				CumulusXcm(runtime_types::cumulus_pallet_xcm::pallet::Origin),
-				#[codec(index = 3)]
-				Void(runtime_types::sp_core::Void),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Runtime;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeCall {
-				#[codec(index = 0)]
-				System(runtime_types::frame_system::pallet::Call),
-				#[codec(index = 1)]
-				ParachainSystem(runtime_types::cumulus_pallet_parachain_system::pallet::Call),
-				#[codec(index = 2)]
-				Timestamp(runtime_types::pallet_timestamp::pallet::Call),
-				#[codec(index = 10)]
-				Balances(runtime_types::pallet_balances::pallet::Call),
-				#[codec(index = 21)]
-				CollatorSelection(runtime_types::pallet_collator_selection::pallet::Call),
-				#[codec(index = 22)]
-				Session(runtime_types::pallet_session::pallet::Call),
-				#[codec(index = 30)]
-				XcmpQueue(runtime_types::cumulus_pallet_xcmp_queue::pallet::Call),
-				#[codec(index = 31)]
-				PolkadotXcm(runtime_types::pallet_xcm::pallet::Call),
-				#[codec(index = 33)]
-				DmpQueue(runtime_types::cumulus_pallet_dmp_queue::pallet::Call),
-				#[codec(index = 40)]
-				Utility(runtime_types::pallet_utility::pallet::Call),
-				#[codec(index = 41)]
-				Multisig(runtime_types::pallet_multisig::pallet::Call),
-				#[codec(index = 50)]
-				BridgeRelayers(runtime_types::pallet_bridge_relayers::pallet::Call),
-				#[codec(index = 51)]
-				BridgeKusamaGrandpa(runtime_types::pallet_bridge_grandpa::pallet::Call),
-				#[codec(index = 52)]
-				BridgeKusamaParachains(runtime_types::pallet_bridge_parachains::pallet::Call),
-				#[codec(index = 53)]
-				BridgeKusamaMessages(runtime_types::pallet_bridge_messages::pallet::Call),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeError {
-				#[codec(index = 0)]
-				System(runtime_types::frame_system::pallet::Error),
-				#[codec(index = 1)]
-				ParachainSystem(runtime_types::cumulus_pallet_parachain_system::pallet::Error),
-				#[codec(index = 10)]
-				Balances(runtime_types::pallet_balances::pallet::Error),
-				#[codec(index = 21)]
-				CollatorSelection(runtime_types::pallet_collator_selection::pallet::Error),
-				#[codec(index = 22)]
-				Session(runtime_types::pallet_session::pallet::Error),
-				#[codec(index = 30)]
-				XcmpQueue(runtime_types::cumulus_pallet_xcmp_queue::pallet::Error),
-				#[codec(index = 31)]
-				PolkadotXcm(runtime_types::pallet_xcm::pallet::Error),
-				#[codec(index = 32)]
-				CumulusXcm(runtime_types::cumulus_pallet_xcm::pallet::Error),
-				#[codec(index = 33)]
-				DmpQueue(runtime_types::cumulus_pallet_dmp_queue::pallet::Error),
-				#[codec(index = 40)]
-				Utility(runtime_types::pallet_utility::pallet::Error),
-				#[codec(index = 41)]
-				Multisig(runtime_types::pallet_multisig::pallet::Error),
-				#[codec(index = 50)]
-				BridgeRelayers(runtime_types::pallet_bridge_relayers::pallet::Error),
-				#[codec(index = 51)]
-				BridgeKusamaGrandpa(runtime_types::pallet_bridge_grandpa::pallet::Error),
-				#[codec(index = 52)]
-				BridgeKusamaParachains(runtime_types::pallet_bridge_parachains::pallet::Error),
-				#[codec(index = 53)]
-				BridgeKusamaMessages(runtime_types::pallet_bridge_messages::pallet::Error),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeEvent {
-				#[codec(index = 0)]
-				System(runtime_types::frame_system::pallet::Event),
-				#[codec(index = 1)]
-				ParachainSystem(runtime_types::cumulus_pallet_parachain_system::pallet::Event),
-				#[codec(index = 10)]
-				Balances(runtime_types::pallet_balances::pallet::Event),
-				#[codec(index = 11)]
-				TransactionPayment(runtime_types::pallet_transaction_payment::pallet::Event),
-				#[codec(index = 21)]
-				CollatorSelection(runtime_types::pallet_collator_selection::pallet::Event),
-				#[codec(index = 22)]
-				Session(runtime_types::pallet_session::pallet::Event),
-				#[codec(index = 30)]
-				XcmpQueue(runtime_types::cumulus_pallet_xcmp_queue::pallet::Event),
-				#[codec(index = 31)]
-				PolkadotXcm(runtime_types::pallet_xcm::pallet::Event),
-				#[codec(index = 32)]
-				CumulusXcm(runtime_types::cumulus_pallet_xcm::pallet::Event),
-				#[codec(index = 33)]
-				DmpQueue(runtime_types::cumulus_pallet_dmp_queue::pallet::Event),
-				#[codec(index = 40)]
-				Utility(runtime_types::pallet_utility::pallet::Event),
-				#[codec(index = 41)]
-				Multisig(runtime_types::pallet_multisig::pallet::Event),
-				#[codec(index = 50)]
-				BridgeRelayers(runtime_types::pallet_bridge_relayers::pallet::Event),
-				#[codec(index = 51)]
-				BridgeKusamaGrandpa(runtime_types::pallet_bridge_grandpa::pallet::Event),
-				#[codec(index = 52)]
-				BridgeKusamaParachains(runtime_types::pallet_bridge_parachains::pallet::Event),
-				#[codec(index = 53)]
-				BridgeKusamaMessages(runtime_types::pallet_bridge_messages::pallet::Event),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeHoldReason {}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct SessionKeys {
-				pub aura: runtime_types::sp_consensus_aura::sr25519::app_sr25519::Public,
-			}
-		}
-		pub mod bridge_runtime_common {
-			use super::runtime_types;
-			pub mod messages_xcm_extension {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum XcmBlobMessageDispatchResult {
-					#[codec(index = 0)]
-					InvalidPayload,
-					#[codec(index = 1)]
-					Dispatched,
-					#[codec(index = 2)]
-					NotDispatched,
-				}
-			}
-			pub mod refund_relayer_extension {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RefundBridgedParachainMessages;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RefundTransactionExtensionAdapter<_0>(pub _0);
-			}
-		}
-		pub mod cumulus_pallet_dmp_queue {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					service_overweight {
-						index: ::core::primitive::u64,
-						weight_limit: ::sp_weights::Weight,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					Unknown,
-					#[codec(index = 1)]
-					OverLimit,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					InvalidFormat { message_hash: [::core::primitive::u8; 32usize] },
-					#[codec(index = 1)]
-					UnsupportedVersion { message_hash: [::core::primitive::u8; 32usize] },
-					#[codec(index = 2)]
-					ExecutedDownward {
-						message_hash: [::core::primitive::u8; 32usize],
-						message_id: [::core::primitive::u8; 32usize],
-						outcome: runtime_types::xcm::v3::traits::Outcome,
-					},
-					#[codec(index = 3)]
-					WeightExhausted {
-						message_hash: [::core::primitive::u8; 32usize],
-						message_id: [::core::primitive::u8; 32usize],
-						remaining_weight: ::sp_weights::Weight,
-						required_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 4)]
-					OverweightEnqueued {
-						message_hash: [::core::primitive::u8; 32usize],
-						message_id: [::core::primitive::u8; 32usize],
-						overweight_index: ::core::primitive::u64,
-						required_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 5)]
-					OverweightServiced {
-						overweight_index: ::core::primitive::u64,
-						weight_used: ::sp_weights::Weight,
-					},
-					#[codec(index = 6)]
-					MaxMessagesExhausted { message_hash: [::core::primitive::u8; 32usize] },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ConfigData {
-				pub max_individual: ::sp_weights::Weight,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct PageIndexData {
-				pub begin_used: ::core::primitive::u32,
-				pub end_used: ::core::primitive::u32,
-				pub overweight_count: ::core::primitive::u64,
-			}
-		}
-		pub mod cumulus_pallet_parachain_system {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					# [codec (index = 0)] set_validation_data { data : runtime_types :: cumulus_primitives_parachain_inherent :: ParachainInherentData , } , # [codec (index = 1)] sudo_send_upward_message { message : :: std :: vec :: Vec < :: core :: primitive :: u8 > , } , # [codec (index = 2)] authorize_upgrade { code_hash : :: subxt :: utils :: H256 , check_version : :: core :: primitive :: bool , } , # [codec (index = 3)] enact_authorized_upgrade { code : :: std :: vec :: Vec < :: core :: primitive :: u8 > , } , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					OverlappingUpgrades,
-					#[codec(index = 1)]
-					ProhibitedByPolkadot,
-					#[codec(index = 2)]
-					TooBig,
-					#[codec(index = 3)]
-					ValidationDataNotAvailable,
-					#[codec(index = 4)]
-					HostConfigurationNotAvailable,
-					#[codec(index = 5)]
-					NotScheduled,
-					#[codec(index = 6)]
-					NothingAuthorized,
-					#[codec(index = 7)]
-					Unauthorized,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					ValidationFunctionStored,
-					#[codec(index = 1)]
-					ValidationFunctionApplied { relay_chain_block_num: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					ValidationFunctionDiscarded,
-					#[codec(index = 3)]
-					UpgradeAuthorized { code_hash: ::subxt::utils::H256 },
-					#[codec(index = 4)]
-					DownwardMessagesReceived { count: ::core::primitive::u32 },
-					#[codec(index = 5)]
-					DownwardMessagesProcessed {
-						weight_used: ::sp_weights::Weight,
-						dmq_head: ::subxt::utils::H256,
-					},
-					#[codec(index = 6)]
-					UpwardMessageSent {
-						message_hash: ::core::option::Option<[::core::primitive::u8; 32usize]>,
-					},
-				}
-			}
-			pub mod relay_state_snapshot {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct MessagingStateSnapshot { pub dmq_mqc_head : :: subxt :: utils :: H256 , pub relay_dispatch_queue_remaining_capacity : runtime_types :: cumulus_pallet_parachain_system :: relay_state_snapshot :: RelayDispatchQueueRemainingCapacity , pub ingress_channels : :: std :: vec :: Vec < (runtime_types :: polkadot_parachain_primitives :: primitives :: Id , runtime_types :: polkadot_primitives :: v6 :: AbridgedHrmpChannel ,) > , pub egress_channels : :: std :: vec :: Vec < (runtime_types :: polkadot_parachain_primitives :: primitives :: Id , runtime_types :: polkadot_primitives :: v6 :: AbridgedHrmpChannel ,) > , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RelayDispatchQueueRemainingCapacity {
-					pub remaining_count: ::core::primitive::u32,
-					pub remaining_size: ::core::primitive::u32,
-				}
-			}
-			pub mod unincluded_segment {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Ancestor < _0 > { pub used_bandwidth : runtime_types :: cumulus_pallet_parachain_system :: unincluded_segment :: UsedBandwidth , pub para_head_hash : :: core :: option :: Option < _0 > , pub consumed_go_ahead_signal : :: core :: option :: Option < runtime_types :: polkadot_primitives :: v6 :: UpgradeGoAhead > , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HrmpChannelUpdate {
-					pub msg_count: ::core::primitive::u32,
-					pub total_bytes: ::core::primitive::u32,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SegmentTracker < _0 > { pub used_bandwidth : runtime_types :: cumulus_pallet_parachain_system :: unincluded_segment :: UsedBandwidth , pub hrmp_watermark : :: core :: option :: Option < :: core :: primitive :: u32 > , pub consumed_go_ahead_signal : :: core :: option :: Option < runtime_types :: polkadot_primitives :: v6 :: UpgradeGoAhead > , # [codec (skip)] pub __subxt_unused_type_params : :: core :: marker :: PhantomData < _0 > }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct UsedBandwidth { pub ump_msg_count : :: core :: primitive :: u32 , pub ump_total_bytes : :: core :: primitive :: u32 , pub hrmp_outgoing : :: subxt :: utils :: KeyedVec < runtime_types :: polkadot_parachain_primitives :: primitives :: Id , runtime_types :: cumulus_pallet_parachain_system :: unincluded_segment :: HrmpChannelUpdate > , }
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct CodeUpgradeAuthorization {
-				pub code_hash: ::subxt::utils::H256,
-				pub check_version: ::core::primitive::bool,
-			}
-		}
-		pub mod cumulus_pallet_xcm {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					InvalidFormat([::core::primitive::u8; 32usize]),
-					#[codec(index = 1)]
-					UnsupportedVersion([::core::primitive::u8; 32usize]),
-					#[codec(index = 2)]
-					ExecutedDownward(
-						[::core::primitive::u8; 32usize],
-						runtime_types::xcm::v3::traits::Outcome,
-					),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Origin {
-					#[codec(index = 0)]
-					Relay,
-					#[codec(index = 1)]
-					SiblingParachain(runtime_types::polkadot_parachain_primitives::primitives::Id),
-				}
-			}
-		}
-		pub mod cumulus_pallet_xcmp_queue {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					service_overweight {
-						index: ::core::primitive::u64,
-						weight_limit: ::sp_weights::Weight,
-					},
-					#[codec(index = 1)]
-					suspend_xcm_execution,
-					#[codec(index = 2)]
-					resume_xcm_execution,
-					#[codec(index = 3)]
-					update_suspend_threshold { new: ::core::primitive::u32 },
-					#[codec(index = 4)]
-					update_drop_threshold { new: ::core::primitive::u32 },
-					#[codec(index = 5)]
-					update_resume_threshold { new: ::core::primitive::u32 },
-					#[codec(index = 6)]
-					update_threshold_weight { new: ::sp_weights::Weight },
-					#[codec(index = 7)]
-					update_weight_restrict_decay { new: ::sp_weights::Weight },
-					#[codec(index = 8)]
-					update_xcmp_max_individual_weight { new: ::sp_weights::Weight },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					FailedToSend,
-					#[codec(index = 1)]
-					BadXcmOrigin,
-					#[codec(index = 2)]
-					BadXcm,
-					#[codec(index = 3)]
-					BadOverweightIndex,
-					#[codec(index = 4)]
-					WeightOverLimit,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Success {
-						message_hash: [::core::primitive::u8; 32usize],
-						message_id: [::core::primitive::u8; 32usize],
-						weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 1)]
-					Fail {
-						message_hash: [::core::primitive::u8; 32usize],
-						message_id: [::core::primitive::u8; 32usize],
-						error: runtime_types::xcm::v3::traits::Error,
-						weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 2)]
-					BadVersion { message_hash: [::core::primitive::u8; 32usize] },
-					#[codec(index = 3)]
-					BadFormat { message_hash: [::core::primitive::u8; 32usize] },
-					#[codec(index = 4)]
-					XcmpMessageSent { message_hash: [::core::primitive::u8; 32usize] },
-					#[codec(index = 5)]
-					OverweightEnqueued {
-						sender: runtime_types::polkadot_parachain_primitives::primitives::Id,
-						sent_at: ::core::primitive::u32,
-						index: ::core::primitive::u64,
-						required: ::sp_weights::Weight,
-					},
-					#[codec(index = 6)]
-					OverweightServiced { index: ::core::primitive::u64, used: ::sp_weights::Weight },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundChannelDetails {
-				pub sender: runtime_types::polkadot_parachain_primitives::primitives::Id,
-				pub state: runtime_types::cumulus_pallet_xcmp_queue::InboundState,
-				pub message_metadata: ::std::vec::Vec<(
-					::core::primitive::u32,
-					runtime_types::polkadot_parachain_primitives::primitives::XcmpMessageFormat,
-				)>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum InboundState {
-				#[codec(index = 0)]
-				Ok,
-				#[codec(index = 1)]
-				Suspended,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OutboundChannelDetails {
-				pub recipient: runtime_types::polkadot_parachain_primitives::primitives::Id,
-				pub state: runtime_types::cumulus_pallet_xcmp_queue::OutboundState,
-				pub signals_exist: ::core::primitive::bool,
-				pub first_index: ::core::primitive::u16,
-				pub last_index: ::core::primitive::u16,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum OutboundState {
-				#[codec(index = 0)]
-				Ok,
-				#[codec(index = 1)]
-				Suspended,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct QueueConfigData {
-				pub suspend_threshold: ::core::primitive::u32,
-				pub drop_threshold: ::core::primitive::u32,
-				pub resume_threshold: ::core::primitive::u32,
-				pub threshold_weight: ::sp_weights::Weight,
-				pub weight_restrict_decay: ::sp_weights::Weight,
-				pub xcmp_max_individual_weight: ::sp_weights::Weight,
-			}
-		}
-		pub mod cumulus_primitives_core {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct CollationInfo {
-				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::primitives::Id,
-					>,
-				>,
-				pub new_validation_code: ::core::option::Option<
-					runtime_types::polkadot_parachain_primitives::primitives::ValidationCode,
-				>,
-				pub processed_downward_messages: ::core::primitive::u32,
-				pub hrmp_watermark: ::core::primitive::u32,
-				pub head_data: runtime_types::polkadot_parachain_primitives::primitives::HeadData,
-			}
-		}
-		pub mod cumulus_primitives_parachain_inherent {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct MessageQueueChain(pub ::subxt::utils::H256);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ParachainInherentData {
-				pub validation_data:
-					runtime_types::polkadot_primitives::v6::PersistedValidationData<
-						::subxt::utils::H256,
-						::core::primitive::u32,
-					>,
-				pub relay_chain_state: runtime_types::sp_trie::storage_proof::StorageProof,
-				pub downward_messages: ::std::vec::Vec<
-					runtime_types::polkadot_core_primitives::InboundDownwardMessage<
-						::core::primitive::u32,
-					>,
-				>,
-				pub horizontal_messages: ::subxt::utils::KeyedVec<
-					runtime_types::polkadot_parachain_primitives::primitives::Id,
-					::std::vec::Vec<
-						runtime_types::polkadot_core_primitives::InboundHrmpMessage<
-							::core::primitive::u32,
-						>,
-					>,
-				>,
-			}
-		}
-		pub mod finality_grandpa {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Commit<_0, _1, _2, _3> {
-				pub target_hash: _0,
-				pub target_number: _1,
-				pub precommits: ::std::vec::Vec<
-					runtime_types::finality_grandpa::SignedPrecommit<_0, _1, _2, _3>,
-				>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Precommit<_0, _1> {
-				pub target_hash: _0,
-				pub target_number: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct SignedPrecommit<_0, _1, _2, _3> {
-				pub precommit: runtime_types::finality_grandpa::Precommit<_0, _1>,
-				pub signature: _2,
-				pub id: _3,
-			}
-		}
-		pub mod frame_support {
-			use super::runtime_types;
-			pub mod dispatch {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum DispatchClass {
-					#[codec(index = 0)]
-					Normal,
-					#[codec(index = 1)]
-					Operational,
-					#[codec(index = 2)]
-					Mandatory,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DispatchInfo {
-					pub weight: ::sp_weights::Weight,
-					pub class: runtime_types::frame_support::dispatch::DispatchClass,
-					pub pays_fee: runtime_types::frame_support::dispatch::Pays,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Pays {
-					#[codec(index = 0)]
-					Yes,
-					#[codec(index = 1)]
-					No,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PerDispatchClass<_0> {
-					pub normal: _0,
-					pub operational: _0,
-					pub mandatory: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum RawOrigin<_0> {
-					#[codec(index = 0)]
-					Root,
-					#[codec(index = 1)]
-					Signed(_0),
-					#[codec(index = 2)]
-					None,
-				}
-			}
-			pub mod traits {
-				use super::runtime_types;
-				pub mod tokens {
-					use super::runtime_types;
-					pub mod misc {
-						use super::runtime_types;
-						#[derive(
-							:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq,
-						)]
-						pub enum BalanceStatus {
-							#[codec(index = 0)]
-							Free,
-							#[codec(index = 1)]
-							Reserved,
-						}
-					}
-				}
-			}
-		}
-		pub mod frame_system {
-			use super::runtime_types;
-			pub mod extensions {
-				use super::runtime_types;
-				pub mod check_genesis {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckGenesis;
-				}
-				pub mod check_mortality {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckMortality(pub ::sp_runtime::generic::Era);
-				}
-				pub mod check_non_zero_sender {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckNonZeroSender;
-				}
-				pub mod check_nonce {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckNonce(#[codec(compact)] pub ::core::primitive::u32);
-				}
-				pub mod check_spec_version {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckSpecVersion;
-				}
-				pub mod check_tx_version {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckTxVersion;
-				}
-				pub mod check_weight {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckWeight;
-				}
-			}
-			pub mod limits {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BlockLength {
-					pub max: runtime_types::frame_support::dispatch::PerDispatchClass<
-						::core::primitive::u32,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BlockWeights {
-					pub base_block: ::sp_weights::Weight,
-					pub max_block: ::sp_weights::Weight,
-					pub per_class: runtime_types::frame_support::dispatch::PerDispatchClass<
-						runtime_types::frame_system::limits::WeightsPerClass,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct WeightsPerClass {
-					pub base_extrinsic: ::sp_weights::Weight,
-					pub max_extrinsic: ::core::option::Option<::sp_weights::Weight>,
-					pub max_total: ::core::option::Option<::sp_weights::Weight>,
-					pub reserved: ::core::option::Option<::sp_weights::Weight>,
-				}
-			}
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					remark { remark: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 1)]
-					set_heap_pages { pages: ::core::primitive::u64 },
-					#[codec(index = 2)]
-					set_code { code: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 3)]
-					set_code_without_checks { code: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 4)]
-					set_storage {
-						items: ::std::vec::Vec<(
-							::std::vec::Vec<::core::primitive::u8>,
-							::std::vec::Vec<::core::primitive::u8>,
-						)>,
-					},
-					#[codec(index = 5)]
-					kill_storage { keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>> },
-					#[codec(index = 6)]
-					kill_prefix {
-						prefix: ::std::vec::Vec<::core::primitive::u8>,
-						subkeys: ::core::primitive::u32,
-					},
-					#[codec(index = 7)]
-					remark_with_event { remark: ::std::vec::Vec<::core::primitive::u8> },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidSpecName,
-					#[codec(index = 1)]
-					SpecVersionNeedsToIncrease,
-					#[codec(index = 2)]
-					FailedToExtractRuntimeVersion,
-					#[codec(index = 3)]
-					NonDefaultComposite,
-					#[codec(index = 4)]
-					NonZeroRefCount,
-					#[codec(index = 5)]
-					CallFiltered,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					ExtrinsicSuccess {
-						dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo,
-					},
-					#[codec(index = 1)]
-					ExtrinsicFailed {
-						dispatch_error: runtime_types::sp_runtime::DispatchError,
-						dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo,
-					},
-					#[codec(index = 2)]
-					CodeUpdated,
-					#[codec(index = 3)]
-					NewAccount { account: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 4)]
-					KilledAccount { account: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 5)]
-					Remarked { sender: ::sp_core::crypto::AccountId32, hash: ::subxt::utils::H256 },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct AccountInfo<_0, _1> {
-				pub nonce: _0,
-				pub consumers: ::core::primitive::u32,
-				pub providers: ::core::primitive::u32,
-				pub sufficients: ::core::primitive::u32,
-				pub data: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct EventRecord<_0, _1> {
-				pub phase: runtime_types::frame_system::Phase,
-				pub event: _0,
-				pub topics: ::std::vec::Vec<_1>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct LastRuntimeUpgradeInfo {
-				#[codec(compact)]
-				pub spec_version: ::core::primitive::u32,
-				pub spec_name: ::std::string::String,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Phase {
-				#[codec(index = 0)]
-				ApplyExtrinsic(::core::primitive::u32),
-				#[codec(index = 1)]
-				Finalization,
-				#[codec(index = 2)]
-				Initialization,
-			}
-		}
-		pub mod pallet_balances {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					transfer_allow_death {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					force_transfer {
-						source: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					transfer_keep_alive {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					transfer_all {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						keep_alive: ::core::primitive::bool,
-					},
-					#[codec(index = 5)]
-					force_unreserve {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 6)]
-					upgrade_accounts { who: ::std::vec::Vec<::sp_core::crypto::AccountId32> },
-					#[codec(index = 8)]
-					force_set_balance {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						new_free: ::core::primitive::u128,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					VestingBalance,
-					#[codec(index = 1)]
-					LiquidityRestrictions,
-					#[codec(index = 2)]
-					InsufficientBalance,
-					#[codec(index = 3)]
-					ExistentialDeposit,
-					#[codec(index = 4)]
-					Expendability,
-					#[codec(index = 5)]
-					ExistingVestingSchedule,
-					#[codec(index = 6)]
-					DeadAccount,
-					#[codec(index = 7)]
-					TooManyReserves,
-					#[codec(index = 8)]
-					TooManyHolds,
-					#[codec(index = 9)]
-					TooManyFreezes,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Endowed {
-						account: ::sp_core::crypto::AccountId32,
-						free_balance: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					DustLost {
-						account: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					Transfer {
-						from: ::sp_core::crypto::AccountId32,
-						to: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					BalanceSet {
-						who: ::sp_core::crypto::AccountId32,
-						free: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					Reserved {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 5)]
-					Unreserved {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 6)]
-					ReserveRepatriated {
-						from: ::sp_core::crypto::AccountId32,
-						to: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-						destination_status:
-							runtime_types::frame_support::traits::tokens::misc::BalanceStatus,
-					},
-					#[codec(index = 7)]
-					Deposit { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 8)]
-					Withdraw {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 9)]
-					Slashed { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 10)]
-					Minted { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 11)]
-					Burned { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 12)]
-					Suspended {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 13)]
-					Restored {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 14)]
-					Upgraded { who: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 15)]
-					Issued { amount: ::core::primitive::u128 },
-					#[codec(index = 16)]
-					Rescinded { amount: ::core::primitive::u128 },
-					#[codec(index = 17)]
-					Locked { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 18)]
-					Unlocked {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 19)]
-					Frozen { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 20)]
-					Thawed { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-				}
-			}
-			pub mod types {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AccountData<_0> {
-					pub free: _0,
-					pub reserved: _0,
-					pub frozen: _0,
-					pub flags: runtime_types::pallet_balances::types::ExtraFlags,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BalanceLock<_0> {
-					pub id: [::core::primitive::u8; 8usize],
-					pub amount: _0,
-					pub reasons: runtime_types::pallet_balances::types::Reasons,
-				}
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct ExtraFlags(pub ::core::primitive::u128);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct IdAmount<_0, _1> {
-					pub id: _0,
-					pub amount: _1,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Reasons {
-					#[codec(index = 0)]
-					Fee,
-					#[codec(index = 1)]
-					Misc,
-					#[codec(index = 2)]
-					All,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ReserveData<_0, _1> {
-					pub id: _0,
-					pub amount: _1,
-				}
-			}
-		}
-		pub mod pallet_bridge_grandpa {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					submit_finality_proof {
-						finality_target: ::std::boxed::Box<
-							::sp_runtime::generic::Header<
-								::core::primitive::u32,
-								::sp_runtime::traits::BlakeTwo256,
-							>,
-						>,
-						justification: ::bp_header_chain::justification::GrandpaJustification<
-							::sp_runtime::generic::Header<
-								::core::primitive::u32,
-								::sp_runtime::traits::BlakeTwo256,
-							>,
-						>,
-					},
-					#[codec(index = 1)]
-					initialize {
-						init_data: ::bp_header_chain::InitializationData<
-							::sp_runtime::generic::Header<
-								::core::primitive::u32,
-								::sp_runtime::traits::BlakeTwo256,
-							>,
-						>,
-					},
-					#[codec(index = 2)]
-					set_owner { new_owner: ::core::option::Option<::sp_core::crypto::AccountId32> },
-					#[codec(index = 3)]
-					set_operating_mode {
-						operating_mode: runtime_types::bp_runtime::BasicOperatingMode,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidJustification,
-					#[codec(index = 1)]
-					InvalidAuthoritySet,
-					#[codec(index = 2)]
-					OldHeader,
-					#[codec(index = 3)]
-					UnsupportedScheduledChange,
-					#[codec(index = 4)]
-					NotInitialized,
-					#[codec(index = 5)]
-					AlreadyInitialized,
-					#[codec(index = 6)]
-					TooManyAuthoritiesInSet,
-					#[codec(index = 7)]
-					BridgeModule(runtime_types::bp_runtime::OwnedBridgeModuleError),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					UpdatedBestFinalizedHeader {
-						number: ::core::primitive::u32,
-						hash: ::subxt::utils::H256,
-						grandpa_info: runtime_types::bp_header_chain::HeaderFinalityInfo<
-							::bp_header_chain::justification::GrandpaJustification<
-								::sp_runtime::generic::Header<
-									::core::primitive::u32,
-									::sp_runtime::traits::BlakeTwo256,
-								>,
-							>,
-							runtime_types::bp_header_chain::AuthoritySet,
-						>,
-					},
-				}
-			}
-			pub mod storage_types {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct StoredAuthoritySet {
-					pub authorities: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-						runtime_types::sp_consensus_grandpa::app::Public,
-						::core::primitive::u64,
-					)>,
-					pub set_id: ::core::primitive::u64,
-				}
-			}
-		}
-		pub mod pallet_bridge_messages {
-			use super::runtime_types;
-			pub mod outbound_lane {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum ReceivalConfirmationError {
-					#[codec(index = 0)]
-					FailedToConfirmFutureMessages,
-					#[codec(index = 1)]
-					EmptyUnrewardedRelayerEntry,
-					#[codec(index = 2)]
-					NonConsecutiveUnrewardedRelayerEntries,
-					#[codec(index = 3)]
-					TryingToConfirmMoreMessagesThanExpected,
-				}
-			}
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					# [codec (index = 0)] set_owner { new_owner : :: core :: option :: Option < :: sp_core :: crypto :: AccountId32 > , } , # [codec (index = 1)] set_operating_mode { operating_mode : runtime_types :: bp_messages :: MessagesOperatingMode , } , # [codec (index = 2)] receive_messages_proof { relayer_id_at_bridged_chain : :: sp_core :: crypto :: AccountId32 , proof : :: bridge_runtime_common :: messages :: target :: FromBridgedChainMessagesProof < :: subxt :: utils :: H256 > , messages_count : :: core :: primitive :: u32 , dispatch_weight : :: sp_weights :: Weight , } , # [codec (index = 3)] receive_messages_delivery_proof { proof : :: bridge_runtime_common :: messages :: source :: FromBridgedChainMessagesDeliveryProof < :: subxt :: utils :: H256 > , relayers_state : :: bp_messages :: UnrewardedRelayersState , } , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					# [codec (index = 0)] NotOperatingNormally , # [codec (index = 1)] InactiveOutboundLane , # [codec (index = 2)] MessageDispatchInactive , # [codec (index = 3)] MessageRejectedByChainVerifier (runtime_types :: bp_messages :: VerificationError ,) , # [codec (index = 4)] MessageRejectedByLaneVerifier (runtime_types :: bp_messages :: VerificationError ,) , # [codec (index = 5)] MessageRejectedByPallet (runtime_types :: bp_messages :: VerificationError ,) , # [codec (index = 6)] FailedToWithdrawMessageFee , # [codec (index = 7)] TooManyMessagesInTheProof , # [codec (index = 8)] InvalidMessagesProof , # [codec (index = 9)] InvalidMessagesDeliveryProof , # [codec (index = 10)] InvalidUnrewardedRelayersState , # [codec (index = 11)] InsufficientDispatchWeight , # [codec (index = 12)] MessageIsNotYetSent , # [codec (index = 13)] ReceivalConfirmation (runtime_types :: pallet_bridge_messages :: outbound_lane :: ReceivalConfirmationError ,) , # [codec (index = 14)] BridgeModule (runtime_types :: bp_runtime :: OwnedBridgeModuleError ,) , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					# [codec (index = 0)] MessageAccepted { lane_id : runtime_types :: bp_messages :: LaneId , nonce : :: core :: primitive :: u64 , } , # [codec (index = 1)] MessagesReceived (:: std :: vec :: Vec < runtime_types :: bp_messages :: ReceivedMessages < runtime_types :: bridge_runtime_common :: messages_xcm_extension :: XcmBlobMessageDispatchResult > > ,) , # [codec (index = 2)] MessagesDelivered { lane_id : runtime_types :: bp_messages :: LaneId , messages : runtime_types :: bp_messages :: DeliveredMessages , } , }
-			}
-		}
-		pub mod pallet_bridge_parachains {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					submit_parachain_heads {
-						at_relay_block: (::core::primitive::u32, ::subxt::utils::H256),
-						parachains: ::std::vec::Vec<(
-							::bp_polkadot_core::parachains::ParaId,
-							::subxt::utils::H256,
-						)>,
-						parachain_heads_proof: ::bp_polkadot_core::parachains::ParaHeadsProof,
-					},
-					#[codec(index = 1)]
-					set_owner { new_owner: ::core::option::Option<::sp_core::crypto::AccountId32> },
-					#[codec(index = 2)]
-					set_operating_mode {
-						operating_mode: runtime_types::bp_runtime::BasicOperatingMode,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					UnknownRelayChainBlock,
-					#[codec(index = 1)]
-					InvalidRelayChainBlockNumber,
-					#[codec(index = 2)]
-					HeaderChainStorageProof(runtime_types::bp_header_chain::HeaderChainError),
-					#[codec(index = 3)]
-					BridgeModule(runtime_types::bp_runtime::OwnedBridgeModuleError),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					UntrackedParachainRejected { parachain: ::bp_polkadot_core::parachains::ParaId },
-					#[codec(index = 1)]
-					MissingParachainHead { parachain: ::bp_polkadot_core::parachains::ParaId },
-					#[codec(index = 2)]
-					IncorrectParachainHeadHash {
-						parachain: ::bp_polkadot_core::parachains::ParaId,
-						parachain_head_hash: ::subxt::utils::H256,
-						actual_parachain_head_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 3)]
-					RejectedObsoleteParachainHead {
-						parachain: ::bp_polkadot_core::parachains::ParaId,
-						parachain_head_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 4)]
-					RejectedLargeParachainHead {
-						parachain: ::bp_polkadot_core::parachains::ParaId,
-						parachain_head_hash: ::subxt::utils::H256,
-						parachain_head_size: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					UpdatedParachainHead {
-						parachain: ::bp_polkadot_core::parachains::ParaId,
-						parachain_head_hash: ::subxt::utils::H256,
-					},
-				}
-			}
-		}
-		pub mod pallet_bridge_relayers {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					claim_rewards {
-						rewards_account_params: runtime_types::bp_relayers::RewardsAccountParams,
-					},
-					#[codec(index = 1)]
-					register { valid_till: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					deregister,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NoRewardForRelayer,
-					#[codec(index = 1)]
-					FailedToPayReward,
-					#[codec(index = 2)]
-					InvalidRegistrationLease,
-					#[codec(index = 3)]
-					CannotReduceRegistrationLease,
-					#[codec(index = 4)]
-					FailedToReserve,
-					#[codec(index = 5)]
-					FailedToUnreserve,
-					#[codec(index = 6)]
-					NotRegistered,
-					#[codec(index = 7)]
-					RegistrationIsStillActive,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					RewardPaid {
-						relayer: ::sp_core::crypto::AccountId32,
-						rewards_account_params: runtime_types::bp_relayers::RewardsAccountParams,
-						reward: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					RegistrationUpdated {
-						relayer: ::sp_core::crypto::AccountId32,
-						registration: runtime_types::bp_relayers::registration::Registration<
-							::core::primitive::u32,
-							::core::primitive::u128,
-						>,
-					},
-					#[codec(index = 2)]
-					Deregistered { relayer: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 3)]
-					SlashedAndDeregistered {
-						relayer: ::sp_core::crypto::AccountId32,
-						registration: runtime_types::bp_relayers::registration::Registration<
-							::core::primitive::u32,
-							::core::primitive::u128,
-						>,
-					},
-				}
-			}
-		}
-		pub mod pallet_collator_selection {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					set_invulnerables { new: ::std::vec::Vec<::sp_core::crypto::AccountId32> },
-					#[codec(index = 1)]
-					set_desired_candidates { max: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					set_candidacy_bond { bond: ::core::primitive::u128 },
-					#[codec(index = 3)]
-					register_as_candidate,
-					#[codec(index = 4)]
-					leave_intent,
-					#[codec(index = 5)]
-					add_invulnerable { who: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 6)]
-					remove_invulnerable { who: ::sp_core::crypto::AccountId32 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CandidateInfo<_0, _1> {
-					pub who: _0,
-					pub deposit: _1,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					TooManyCandidates,
-					#[codec(index = 1)]
-					TooFewEligibleCollators,
-					#[codec(index = 2)]
-					AlreadyCandidate,
-					#[codec(index = 3)]
-					NotCandidate,
-					#[codec(index = 4)]
-					TooManyInvulnerables,
-					#[codec(index = 5)]
-					AlreadyInvulnerable,
-					#[codec(index = 6)]
-					NotInvulnerable,
-					#[codec(index = 7)]
-					NoAssociatedValidatorId,
-					#[codec(index = 8)]
-					ValidatorNotRegistered,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewInvulnerables {
-						invulnerables: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-					},
-					#[codec(index = 1)]
-					InvulnerableAdded { account_id: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 2)]
-					InvulnerableRemoved { account_id: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 3)]
-					NewDesiredCandidates { desired_candidates: ::core::primitive::u32 },
-					#[codec(index = 4)]
-					NewCandidacyBond { bond_amount: ::core::primitive::u128 },
-					#[codec(index = 5)]
-					CandidateAdded {
-						account_id: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 6)]
-					CandidateRemoved { account_id: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 7)]
-					InvalidInvulnerableSkipped { account_id: ::sp_core::crypto::AccountId32 },
-				}
-			}
-		}
-		pub mod pallet_multisig {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					as_multi_threshold_1 {
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						call: ::std::boxed::Box<
-							runtime_types::bridge_hub_polkadot_runtime::RuntimeCall,
-						>,
-					},
-					#[codec(index = 1)]
-					as_multi {
-						threshold: ::core::primitive::u16,
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						maybe_timepoint: ::core::option::Option<
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						>,
-						call: ::std::boxed::Box<
-							runtime_types::bridge_hub_polkadot_runtime::RuntimeCall,
-						>,
-						max_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 2)]
-					approve_as_multi {
-						threshold: ::core::primitive::u16,
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						maybe_timepoint: ::core::option::Option<
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						>,
-						call_hash: [::core::primitive::u8; 32usize],
-						max_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 3)]
-					cancel_as_multi {
-						threshold: ::core::primitive::u16,
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					MinimumThreshold,
-					#[codec(index = 1)]
-					AlreadyApproved,
-					#[codec(index = 2)]
-					NoApprovalsNeeded,
-					#[codec(index = 3)]
-					TooFewSignatories,
-					#[codec(index = 4)]
-					TooManySignatories,
-					#[codec(index = 5)]
-					SignatoriesOutOfOrder,
-					#[codec(index = 6)]
-					SenderInSignatories,
-					#[codec(index = 7)]
-					NotFound,
-					#[codec(index = 8)]
-					NotOwner,
-					#[codec(index = 9)]
-					NoTimepoint,
-					#[codec(index = 10)]
-					WrongTimepoint,
-					#[codec(index = 11)]
-					UnexpectedTimepoint,
-					#[codec(index = 12)]
-					MaxWeightTooLow,
-					#[codec(index = 13)]
-					AlreadyStored,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewMultisig {
-						approving: ::sp_core::crypto::AccountId32,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 1)]
-					MultisigApproval {
-						approving: ::sp_core::crypto::AccountId32,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 2)]
-					MultisigExecuted {
-						approving: ::sp_core::crypto::AccountId32,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 3)]
-					MultisigCancelled {
-						cancelling: ::sp_core::crypto::AccountId32,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Multisig<_0, _1, _2> {
-				pub when: runtime_types::pallet_multisig::Timepoint<_0>,
-				pub deposit: _1,
-				pub depositor: _2,
-				pub approvals: runtime_types::bounded_collections::bounded_vec::BoundedVec<_2>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Timepoint<_0> {
-				pub height: _0,
-				pub index: ::core::primitive::u32,
-			}
-		}
-		pub mod pallet_session {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					set_keys {
-						keys: runtime_types::bridge_hub_polkadot_runtime::SessionKeys,
-						proof: ::std::vec::Vec<::core::primitive::u8>,
-					},
-					#[codec(index = 1)]
-					purge_keys,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidProof,
-					#[codec(index = 1)]
-					NoAssociatedValidatorId,
-					#[codec(index = 2)]
-					DuplicatedKey,
-					#[codec(index = 3)]
-					NoKeys,
-					#[codec(index = 4)]
-					NoAccount,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewSession { session_index: ::core::primitive::u32 },
-				}
-			}
-		}
-		pub mod pallet_timestamp {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					set {
-						#[codec(compact)]
-						now: ::core::primitive::u64,
-					},
-				}
-			}
-		}
-		pub mod pallet_transaction_payment {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					TransactionFeePaid {
-						who: ::sp_core::crypto::AccountId32,
-						actual_fee: ::core::primitive::u128,
-						tip: ::core::primitive::u128,
-					},
-				}
-			}
-			pub mod types {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct FeeDetails<_0> {
-					pub inclusion_fee: ::core::option::Option<
-						runtime_types::pallet_transaction_payment::types::InclusionFee<_0>,
-					>,
-					pub tip: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct InclusionFee<_0> {
-					pub base_fee: _0,
-					pub len_fee: _0,
-					pub adjusted_weight_fee: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RuntimeDispatchInfo<_0, _1> {
-					pub weight: _1,
-					pub class: runtime_types::frame_support::dispatch::DispatchClass,
-					pub partial_fee: _0,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ChargeTransactionPayment(#[codec(compact)] pub ::core::primitive::u128);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Releases {
-				#[codec(index = 0)]
-				V1Ancient,
-				#[codec(index = 1)]
-				V2,
-			}
-		}
-		pub mod pallet_utility {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					batch {
-						calls: ::std::vec::Vec<
-							runtime_types::bridge_hub_polkadot_runtime::RuntimeCall,
-						>,
-					},
-					#[codec(index = 1)]
-					as_derivative {
-						index: ::core::primitive::u16,
-						call: ::std::boxed::Box<
-							runtime_types::bridge_hub_polkadot_runtime::RuntimeCall,
-						>,
-					},
-					#[codec(index = 2)]
-					batch_all {
-						calls: ::std::vec::Vec<
-							runtime_types::bridge_hub_polkadot_runtime::RuntimeCall,
-						>,
-					},
-					#[codec(index = 3)]
-					dispatch_as {
-						as_origin: ::std::boxed::Box<
-							runtime_types::bridge_hub_polkadot_runtime::OriginCaller,
-						>,
-						call: ::std::boxed::Box<
-							runtime_types::bridge_hub_polkadot_runtime::RuntimeCall,
-						>,
-					},
-					#[codec(index = 4)]
-					force_batch {
-						calls: ::std::vec::Vec<
-							runtime_types::bridge_hub_polkadot_runtime::RuntimeCall,
-						>,
-					},
-					#[codec(index = 5)]
-					with_weight {
-						call: ::std::boxed::Box<
-							runtime_types::bridge_hub_polkadot_runtime::RuntimeCall,
-						>,
-						weight: ::sp_weights::Weight,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					TooManyCalls,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					BatchInterrupted {
-						index: ::core::primitive::u32,
-						error: runtime_types::sp_runtime::DispatchError,
-					},
-					#[codec(index = 1)]
-					BatchCompleted,
-					#[codec(index = 2)]
-					BatchCompletedWithErrors,
-					#[codec(index = 3)]
-					ItemCompleted,
-					#[codec(index = 4)]
-					ItemFailed { error: runtime_types::sp_runtime::DispatchError },
-					#[codec(index = 5)]
-					DispatchedAs {
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-				}
-			}
-		}
-		pub mod pallet_xcm {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					send {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						message: ::std::boxed::Box<runtime_types::xcm::VersionedXcm>,
-					},
-					#[codec(index = 1)]
-					teleport_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedMultiAssets>,
-						fee_asset_item: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					reserve_transfer_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedMultiAssets>,
-						fee_asset_item: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					execute {
-						message: ::std::boxed::Box<runtime_types::xcm::VersionedXcm2>,
-						max_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 4)]
-					force_xcm_version {
-						location: ::std::boxed::Box<
-							runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						>,
-						version: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					force_default_xcm_version {
-						maybe_xcm_version: ::core::option::Option<::core::primitive::u32>,
-					},
-					#[codec(index = 6)]
-					force_subscribe_version_notify {
-						location: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-					},
-					#[codec(index = 7)]
-					force_unsubscribe_version_notify {
-						location: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-					},
-					#[codec(index = 8)]
-					limited_reserve_transfer_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedMultiAssets>,
-						fee_asset_item: ::core::primitive::u32,
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-					},
-					#[codec(index = 9)]
-					limited_teleport_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedMultiAssets>,
-						fee_asset_item: ::core::primitive::u32,
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-					},
-					#[codec(index = 10)]
-					force_suspension { suspended: ::core::primitive::bool },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					Unreachable,
-					#[codec(index = 1)]
-					SendFailure,
-					#[codec(index = 2)]
-					Filtered,
-					#[codec(index = 3)]
-					UnweighableMessage,
-					#[codec(index = 4)]
-					DestinationNotInvertible,
-					#[codec(index = 5)]
-					Empty,
-					#[codec(index = 6)]
-					CannotReanchor,
-					#[codec(index = 7)]
-					TooManyAssets,
-					#[codec(index = 8)]
-					InvalidOrigin,
-					#[codec(index = 9)]
-					BadVersion,
-					#[codec(index = 10)]
-					BadLocation,
-					#[codec(index = 11)]
-					NoSubscription,
-					#[codec(index = 12)]
-					AlreadySubscribed,
-					#[codec(index = 13)]
-					InvalidAsset,
-					#[codec(index = 14)]
-					LowBalance,
-					#[codec(index = 15)]
-					TooManyLocks,
-					#[codec(index = 16)]
-					AccountNotSovereign,
-					#[codec(index = 17)]
-					FeesNotMet,
-					#[codec(index = 18)]
-					LockNotFound,
-					#[codec(index = 19)]
-					InUse,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Attempted { outcome: runtime_types::xcm::v3::traits::Outcome },
-					#[codec(index = 1)]
-					Sent {
-						origin: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						destination: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						message: runtime_types::xcm::v3::Xcm,
-						message_id: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 2)]
-					UnexpectedResponse {
-						origin: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						query_id: ::core::primitive::u64,
-					},
-					#[codec(index = 3)]
-					ResponseReady {
-						query_id: ::core::primitive::u64,
-						response: runtime_types::xcm::v3::Response,
-					},
-					#[codec(index = 4)]
-					Notified {
-						query_id: ::core::primitive::u64,
-						pallet_index: ::core::primitive::u8,
-						call_index: ::core::primitive::u8,
-					},
-					#[codec(index = 5)]
-					NotifyOverweight {
-						query_id: ::core::primitive::u64,
-						pallet_index: ::core::primitive::u8,
-						call_index: ::core::primitive::u8,
-						actual_weight: ::sp_weights::Weight,
-						max_budgeted_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 6)]
-					NotifyDispatchError {
-						query_id: ::core::primitive::u64,
-						pallet_index: ::core::primitive::u8,
-						call_index: ::core::primitive::u8,
-					},
-					#[codec(index = 7)]
-					NotifyDecodeFailed {
-						query_id: ::core::primitive::u64,
-						pallet_index: ::core::primitive::u8,
-						call_index: ::core::primitive::u8,
-					},
-					#[codec(index = 8)]
-					InvalidResponder {
-						origin: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						query_id: ::core::primitive::u64,
-						expected_location: ::core::option::Option<
-							runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						>,
-					},
-					#[codec(index = 9)]
-					InvalidResponderVersion {
-						origin: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						query_id: ::core::primitive::u64,
-					},
-					#[codec(index = 10)]
-					ResponseTaken { query_id: ::core::primitive::u64 },
-					#[codec(index = 11)]
-					AssetsTrapped {
-						hash: ::subxt::utils::H256,
-						origin: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						assets: runtime_types::xcm::VersionedMultiAssets,
-					},
-					#[codec(index = 12)]
-					VersionChangeNotified {
-						destination: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						result: ::core::primitive::u32,
-						cost: runtime_types::xcm::v3::multiasset::MultiAssets,
-						message_id: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 13)]
-					SupportedVersionChanged {
-						location: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						version: ::core::primitive::u32,
-					},
-					#[codec(index = 14)]
-					NotifyTargetSendFail {
-						location: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						query_id: ::core::primitive::u64,
-						error: runtime_types::xcm::v3::traits::Error,
-					},
-					#[codec(index = 15)]
-					NotifyTargetMigrationFail {
-						location: runtime_types::xcm::VersionedMultiLocation,
-						query_id: ::core::primitive::u64,
-					},
-					#[codec(index = 16)]
-					InvalidQuerierVersion {
-						origin: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						query_id: ::core::primitive::u64,
-					},
-					#[codec(index = 17)]
-					InvalidQuerier {
-						origin: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						query_id: ::core::primitive::u64,
-						expected_querier:
-							runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						maybe_actual_querier: ::core::option::Option<
-							runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						>,
-					},
-					#[codec(index = 18)]
-					VersionNotifyStarted {
-						destination: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						cost: runtime_types::xcm::v3::multiasset::MultiAssets,
-						message_id: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 19)]
-					VersionNotifyRequested {
-						destination: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						cost: runtime_types::xcm::v3::multiasset::MultiAssets,
-						message_id: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 20)]
-					VersionNotifyUnrequested {
-						destination: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						cost: runtime_types::xcm::v3::multiasset::MultiAssets,
-						message_id: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 21)]
-					FeesPaid {
-						paying: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						fees: runtime_types::xcm::v3::multiasset::MultiAssets,
-					},
-					#[codec(index = 22)]
-					AssetsClaimed {
-						hash: ::subxt::utils::H256,
-						origin: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						assets: runtime_types::xcm::VersionedMultiAssets,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Origin {
-					#[codec(index = 0)]
-					Xcm(runtime_types::staging_xcm::v3::multilocation::MultiLocation),
-					#[codec(index = 1)]
-					Response(runtime_types::staging_xcm::v3::multilocation::MultiLocation),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum QueryStatus<_0> {
-					#[codec(index = 0)]
-					Pending {
-						responder: runtime_types::xcm::VersionedMultiLocation,
-						maybe_match_querier:
-							::core::option::Option<runtime_types::xcm::VersionedMultiLocation>,
-						maybe_notify:
-							::core::option::Option<(::core::primitive::u8, ::core::primitive::u8)>,
-						timeout: _0,
-					},
-					#[codec(index = 1)]
-					VersionNotifier {
-						origin: runtime_types::xcm::VersionedMultiLocation,
-						is_active: ::core::primitive::bool,
-					},
-					#[codec(index = 2)]
-					Ready { response: runtime_types::xcm::VersionedResponse, at: _0 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RemoteLockedFungibleRecord<_0> {
-					pub amount: ::core::primitive::u128,
-					pub owner: runtime_types::xcm::VersionedMultiLocation,
-					pub locker: runtime_types::xcm::VersionedMultiLocation,
-					pub consumers: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-						_0,
-						::core::primitive::u128,
-					)>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum VersionMigrationStage {
-					#[codec(index = 0)]
-					MigrateSupportedVersion,
-					#[codec(index = 1)]
-					MigrateVersionNotifiers,
-					#[codec(index = 2)]
-					NotifyCurrentTargets(
-						::core::option::Option<::std::vec::Vec<::core::primitive::u8>>,
-					),
-					#[codec(index = 3)]
-					MigrateAndNotifyOldTargets,
-				}
-			}
-		}
-		pub mod polkadot_core_primitives {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundDownwardMessage<_0> {
-				pub sent_at: _0,
-				pub msg: ::std::vec::Vec<::core::primitive::u8>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundHrmpMessage<_0> {
-				pub sent_at: _0,
-				pub data: ::std::vec::Vec<::core::primitive::u8>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OutboundHrmpMessage<_0> {
-				pub recipient: _0,
-				pub data: ::std::vec::Vec<::core::primitive::u8>,
-			}
-		}
-		pub mod polkadot_parachain_primitives {
-			use super::runtime_types;
-			pub mod primitives {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HeadData(pub ::std::vec::Vec<::core::primitive::u8>);
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct Id(pub ::core::primitive::u32);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ValidationCode(pub ::std::vec::Vec<::core::primitive::u8>);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum XcmpMessageFormat {
-					#[codec(index = 0)]
-					ConcatenatedVersionedXcm,
-					#[codec(index = 1)]
-					ConcatenatedEncodedBlob,
-					#[codec(index = 2)]
-					Signals,
-				}
-			}
-		}
-		pub mod polkadot_primitives {
-			use super::runtime_types;
-			pub mod v6 {
-				use super::runtime_types;
-				pub mod async_backing {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct AsyncBackingParams {
-						pub max_candidate_depth: ::core::primitive::u32,
-						pub allowed_ancestry_len: ::core::primitive::u32,
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AbridgedHostConfiguration {
-					pub max_code_size: ::core::primitive::u32,
-					pub max_head_data_size: ::core::primitive::u32,
-					pub max_upward_queue_count: ::core::primitive::u32,
-					pub max_upward_queue_size: ::core::primitive::u32,
-					pub max_upward_message_size: ::core::primitive::u32,
-					pub max_upward_message_num_per_candidate: ::core::primitive::u32,
-					pub hrmp_max_message_num_per_candidate: ::core::primitive::u32,
-					pub validation_upgrade_cooldown: ::core::primitive::u32,
-					pub validation_upgrade_delay: ::core::primitive::u32,
-					pub async_backing_params:
-						runtime_types::polkadot_primitives::v6::async_backing::AsyncBackingParams,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AbridgedHrmpChannel {
-					pub max_capacity: ::core::primitive::u32,
-					pub max_total_size: ::core::primitive::u32,
-					pub max_message_size: ::core::primitive::u32,
-					pub msg_count: ::core::primitive::u32,
-					pub total_size: ::core::primitive::u32,
-					pub mqc_head: ::core::option::Option<::subxt::utils::H256>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PersistedValidationData<_0, _1> {
-					pub parent_head:
-						runtime_types::polkadot_parachain_primitives::primitives::HeadData,
-					pub relay_parent_number: _1,
-					pub relay_parent_storage_root: _0,
-					pub max_pov_size: ::core::primitive::u32,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum UpgradeGoAhead {
-					#[codec(index = 0)]
-					Abort,
-					#[codec(index = 1)]
-					GoAhead,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum UpgradeRestriction {
-					#[codec(index = 0)]
-					Present,
-				}
-			}
-		}
-		pub mod sp_arithmetic {
-			use super::runtime_types;
-			pub mod fixed_point {
-				use super::runtime_types;
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct FixedU128(pub ::core::primitive::u128);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ArithmeticError {
-				#[codec(index = 0)]
-				Underflow,
-				#[codec(index = 1)]
-				Overflow,
-				#[codec(index = 2)]
-				DivisionByZero,
-			}
-		}
-		pub mod sp_consensus_aura {
-			use super::runtime_types;
-			pub mod sr25519 {
-				use super::runtime_types;
-				pub mod app_sr25519 {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-				}
-			}
-		}
-		pub mod sp_consensus_grandpa {
-			use super::runtime_types;
-			pub mod app {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub runtime_types::sp_core::ed25519::Public);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub runtime_types::sp_core::ed25519::Signature);
-			}
-		}
-		pub mod sp_consensus_slots {
-			use super::runtime_types;
-			#[derive(
-				:: codec :: Decode,
-				:: codec :: Encode,
-				:: subxt :: ext :: codec :: CompactAs,
-				Clone,
-				Debug,
-				PartialEq,
-			)]
-			pub struct Slot(pub ::core::primitive::u64);
-			#[derive(
-				:: codec :: Decode,
-				:: codec :: Encode,
-				:: subxt :: ext :: codec :: CompactAs,
-				Clone,
-				Debug,
-				PartialEq,
-			)]
-			pub struct SlotDuration(pub ::core::primitive::u64);
-		}
-		pub mod sp_core {
-			use super::runtime_types;
-			pub mod crypto {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct KeyTypeId(pub [::core::primitive::u8; 4usize]);
-			}
-			pub mod ecdsa {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 65usize]);
-			}
-			pub mod ed25519 {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub [::core::primitive::u8; 32usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 64usize]);
-			}
-			pub mod sr25519 {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub [::core::primitive::u8; 32usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 64usize]);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OpaqueMetadata(pub ::std::vec::Vec<::core::primitive::u8>);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Void {}
-		}
-		pub mod sp_inherents {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct CheckInherentsResult {
-				pub okay: ::core::primitive::bool,
-				pub fatal_error: ::core::primitive::bool,
-				pub errors: runtime_types::sp_inherents::InherentData,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InherentData {
-				pub data: ::subxt::utils::KeyedVec<
-					[::core::primitive::u8; 8usize],
-					::std::vec::Vec<::core::primitive::u8>,
-				>,
-			}
-		}
-		pub mod sp_runtime {
-			use super::runtime_types;
-			pub mod generic {
-				use super::runtime_types;
-				pub mod block {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Block<_0, _1> {
-						pub header: _0,
-						pub extrinsics: ::std::vec::Vec<_1>,
-					}
-				}
-				pub mod digest {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum DigestItem {
-						#[codec(index = 6)]
-						PreRuntime(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 4)]
-						Consensus(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 5)]
-						Seal(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 0)]
-						Other(::std::vec::Vec<::core::primitive::u8>),
-						#[codec(index = 8)]
-						RuntimeEnvironmentUpdated,
-					}
-				}
-			}
-			pub mod transaction_validity {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum TransactionSource {
-					#[codec(index = 0)]
-					InBlock,
-					#[codec(index = 1)]
-					Local,
-					#[codec(index = 2)]
-					External,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum UnknownTransaction {
-					#[codec(index = 0)]
-					CannotLookup,
-					#[codec(index = 1)]
-					NoUnsignedValidator,
-					#[codec(index = 2)]
-					Custom(::core::primitive::u8),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum DispatchError {
-				#[codec(index = 0)]
-				Other,
-				#[codec(index = 1)]
-				CannotLookup,
-				#[codec(index = 2)]
-				BadOrigin,
-				#[codec(index = 3)]
-				Module(runtime_types::sp_runtime::ModuleError),
-				#[codec(index = 4)]
-				ConsumerRemaining,
-				#[codec(index = 5)]
-				NoProviders,
-				#[codec(index = 6)]
-				TooManyConsumers,
-				#[codec(index = 7)]
-				Token(runtime_types::sp_runtime::TokenError),
-				#[codec(index = 8)]
-				Arithmetic(runtime_types::sp_arithmetic::ArithmeticError),
-				#[codec(index = 9)]
-				Transactional(runtime_types::sp_runtime::TransactionalError),
-				#[codec(index = 10)]
-				Exhausted,
-				#[codec(index = 11)]
-				Corruption,
-				#[codec(index = 12)]
-				Unavailable,
-				#[codec(index = 13)]
-				RootNotAllowed,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ModuleError {
-				pub index: ::core::primitive::u8,
-				pub error: [::core::primitive::u8; 4usize],
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum MultiSignature {
-				#[codec(index = 0)]
-				Ed25519(runtime_types::sp_core::ed25519::Signature),
-				#[codec(index = 1)]
-				Sr25519(runtime_types::sp_core::sr25519::Signature),
-				#[codec(index = 2)]
-				Ecdsa(runtime_types::sp_core::ecdsa::Signature),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum TokenError {
-				#[codec(index = 0)]
-				FundsUnavailable,
-				#[codec(index = 1)]
-				OnlyProvider,
-				#[codec(index = 2)]
-				BelowMinimum,
-				#[codec(index = 3)]
-				CannotCreate,
-				#[codec(index = 4)]
-				UnknownAsset,
-				#[codec(index = 5)]
-				Frozen,
-				#[codec(index = 6)]
-				Unsupported,
-				#[codec(index = 7)]
-				CannotCreateHold,
-				#[codec(index = 8)]
-				NotExpendable,
-				#[codec(index = 9)]
-				Blocked,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum TransactionalError {
-				#[codec(index = 0)]
-				LimitReached,
-				#[codec(index = 1)]
-				NoLayer,
-			}
-		}
-		pub mod sp_trie {
-			use super::runtime_types;
-			pub mod storage_proof {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct StorageProof {
-					pub trie_nodes: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>,
-				}
-			}
-		}
-		pub mod sp_version {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RuntimeVersion {
-				pub spec_name: ::std::string::String,
-				pub impl_name: ::std::string::String,
-				pub authoring_version: ::core::primitive::u32,
-				pub spec_version: ::core::primitive::u32,
-				pub impl_version: ::core::primitive::u32,
-				pub apis:
-					::std::vec::Vec<([::core::primitive::u8; 8usize], ::core::primitive::u32)>,
-				pub transaction_version: ::core::primitive::u32,
-				pub state_version: ::core::primitive::u8,
-			}
-		}
-		pub mod sp_weights {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RuntimeDbWeight {
-				pub read: ::core::primitive::u64,
-				pub write: ::core::primitive::u64,
-			}
-		}
-		pub mod staging_xcm {
-			use super::runtime_types;
-			pub mod v3 {
-				use super::runtime_types;
-				pub mod multilocation {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiLocation {
-						pub parents: ::core::primitive::u8,
-						pub interior: runtime_types::xcm::v3::junctions::Junctions,
-					}
-				}
-			}
-		}
-		pub mod xcm {
-			use super::runtime_types;
-			pub mod double_encoded {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DoubleEncoded {
-					pub encoded: ::std::vec::Vec<::core::primitive::u8>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DoubleEncoded2 {
-					pub encoded: ::std::vec::Vec<::core::primitive::u8>,
-				}
-			}
-			pub mod v2 {
-				use super::runtime_types;
-				pub mod junction {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junction {
-						#[codec(index = 0)]
-						Parachain(#[codec(compact)] ::core::primitive::u32),
-						#[codec(index = 1)]
-						AccountId32 {
-							network: runtime_types::xcm::v2::NetworkId,
-							id: [::core::primitive::u8; 32usize],
-						},
-						#[codec(index = 2)]
-						AccountIndex64 {
-							network: runtime_types::xcm::v2::NetworkId,
-							#[codec(compact)]
-							index: ::core::primitive::u64,
-						},
-						#[codec(index = 3)]
-						AccountKey20 {
-							network: runtime_types::xcm::v2::NetworkId,
-							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(
-							runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<
-								::core::primitive::u8,
-							>,
-						),
-						#[codec(index = 7)]
-						OnlyChild,
-						#[codec(index = 8)]
-						Plurality {
-							id: runtime_types::xcm::v2::BodyId,
-							part: runtime_types::xcm::v2::BodyPart,
-						},
-					}
-				}
-				pub mod multiasset {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum AssetId {
-						#[codec(index = 0)]
-						Concrete(runtime_types::xcm::v2::multilocation::MultiLocation),
-						#[codec(index = 1)]
-						Abstract(::std::vec::Vec<::core::primitive::u8>),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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]),
-						#[codec(index = 6)]
-						Blob(::std::vec::Vec<::core::primitive::u8>),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Fungibility {
-						#[codec(index = 0)]
-						Fungible(#[codec(compact)] ::core::primitive::u128),
-						#[codec(index = 1)]
-						NonFungible(runtime_types::xcm::v2::multiasset::AssetInstance),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAsset {
-						pub id: runtime_types::xcm::v2::multiasset::AssetId,
-						pub fun: runtime_types::xcm::v2::multiasset::Fungibility,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum MultiAssetFilter {
-						#[codec(index = 0)]
-						Definite(runtime_types::xcm::v2::multiasset::MultiAssets),
-						#[codec(index = 1)]
-						Wild(runtime_types::xcm::v2::multiasset::WildMultiAsset),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAssets(
-						pub ::std::vec::Vec<runtime_types::xcm::v2::multiasset::MultiAsset>,
-					);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildFungibility {
-						#[codec(index = 0)]
-						Fungible,
-						#[codec(index = 1)]
-						NonFungible,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildMultiAsset {
-						#[codec(index = 0)]
-						All,
-						#[codec(index = 1)]
-						AllOf {
-							id: runtime_types::xcm::v2::multiasset::AssetId,
-							fun: runtime_types::xcm::v2::multiasset::WildFungibility,
-						},
-					}
-				}
-				pub mod multilocation {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junctions {
-						#[codec(index = 0)]
-						Here,
-						#[codec(index = 1)]
-						X1(runtime_types::xcm::v2::junction::Junction),
-						#[codec(index = 2)]
-						X2(
-							runtime_types::xcm::v2::junction::Junction,
-							runtime_types::xcm::v2::junction::Junction,
-						),
-						#[codec(index = 3)]
-						X3(
-							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::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::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::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::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::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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiLocation {
-						pub parents: ::core::primitive::u8,
-						pub interior: runtime_types::xcm::v2::multilocation::Junctions,
-					}
-				}
-				pub mod traits {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						Overflow,
-						#[codec(index = 1)]
-						Unimplemented,
-						#[codec(index = 2)]
-						UntrustedReserveLocation,
-						#[codec(index = 3)]
-						UntrustedTeleportLocation,
-						#[codec(index = 4)]
-						MultiLocationFull,
-						#[codec(index = 5)]
-						MultiLocationNotInvertible,
-						#[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)]
-						UnhandledXcmVersion,
-						#[codec(index = 23)]
-						WeightLimitReached(::core::primitive::u64),
-						#[codec(index = 24)]
-						Barrier,
-						#[codec(index = 25)]
-						WeightNotComputable,
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Instruction {
-					#[codec(index = 0)]
-					WithdrawAsset(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 1)]
-					ReserveAssetDeposited(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 2)]
-					ReceiveTeleportedAsset(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 3)]
-					QueryResponse {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						response: runtime_types::xcm::v2::Response,
-						#[codec(compact)]
-						max_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 4)]
-					TransferAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssets,
-						beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 5)]
-					TransferReserveAsset {
-						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::v2::OriginKind,
-						#[codec(compact)]
-						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)]
-					ClearOrigin,
-					#[codec(index = 11)]
-					DescendOrigin(runtime_types::xcm::v2::multilocation::Junctions),
-					#[codec(index = 12)]
-					ReportError {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						dest: runtime_types::xcm::v2::multilocation::MultiLocation,
-						#[codec(compact)]
-						max_response_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 13)]
-					DepositAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						#[codec(compact)]
-						max_assets: ::core::primitive::u32,
-						beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 14)]
-					DepositReserveAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						#[codec(compact)]
-						max_assets: ::core::primitive::u32,
-						dest: runtime_types::xcm::v2::multilocation::MultiLocation,
-						xcm: runtime_types::xcm::v2::Xcm,
-					},
-					#[codec(index = 15)]
-					ExchangeAsset {
-						give: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						receive: runtime_types::xcm::v2::multiasset::MultiAssets,
-					},
-					#[codec(index = 16)]
-					InitiateReserveWithdraw {
-						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::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::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::v2::multiasset::MultiAsset,
-						weight_limit: runtime_types::xcm::v2::WeightLimit,
-					},
-					#[codec(index = 20)]
-					RefundSurplus,
-					#[codec(index = 21)]
-					SetErrorHandler(runtime_types::xcm::v2::Xcm),
-					#[codec(index = 22)]
-					SetAppendix(runtime_types::xcm::v2::Xcm),
-					#[codec(index = 23)]
-					ClearError,
-					#[codec(index = 24)]
-					ClaimAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssets,
-						ticket: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 25)]
-					Trap(#[codec(compact)] ::core::primitive::u64),
-					#[codec(index = 26)]
-					SubscribeVersion {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						#[codec(compact)]
-						max_response_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 27)]
-					UnsubscribeVersion,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Instruction2 {
-					#[codec(index = 0)]
-					WithdrawAsset(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 1)]
-					ReserveAssetDeposited(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 2)]
-					ReceiveTeleportedAsset(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 3)]
-					QueryResponse {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						response: runtime_types::xcm::v2::Response,
-						#[codec(compact)]
-						max_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 4)]
-					TransferAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssets,
-						beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 5)]
-					TransferReserveAsset {
-						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::v2::OriginKind,
-						#[codec(compact)]
-						require_weight_at_most: ::core::primitive::u64,
-						call: runtime_types::xcm::double_encoded::DoubleEncoded2,
-					},
-					#[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::v2::multilocation::Junctions),
-					#[codec(index = 12)]
-					ReportError {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						dest: runtime_types::xcm::v2::multilocation::MultiLocation,
-						#[codec(compact)]
-						max_response_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 13)]
-					DepositAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						#[codec(compact)]
-						max_assets: ::core::primitive::u32,
-						beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 14)]
-					DepositReserveAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						#[codec(compact)]
-						max_assets: ::core::primitive::u32,
-						dest: runtime_types::xcm::v2::multilocation::MultiLocation,
-						xcm: runtime_types::xcm::v2::Xcm,
-					},
-					#[codec(index = 15)]
-					ExchangeAsset {
-						give: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						receive: runtime_types::xcm::v2::multiasset::MultiAssets,
-					},
-					#[codec(index = 16)]
-					InitiateReserveWithdraw {
-						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::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::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::v2::multiasset::MultiAsset,
-						weight_limit: runtime_types::xcm::v2::WeightLimit,
-					},
-					#[codec(index = 20)]
-					RefundSurplus,
-					#[codec(index = 21)]
-					SetErrorHandler(runtime_types::xcm::v2::Xcm2),
-					#[codec(index = 22)]
-					SetAppendix(runtime_types::xcm::v2::Xcm2),
-					#[codec(index = 23)]
-					ClearError,
-					#[codec(index = 24)]
-					ClaimAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssets,
-						ticket: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 25)]
-					Trap(#[codec(compact)] ::core::primitive::u64),
-					#[codec(index = 26)]
-					SubscribeVersion {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						#[codec(compact)]
-						max_response_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 27)]
-					UnsubscribeVersion,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum OriginKind {
-					#[codec(index = 0)]
-					Native,
-					#[codec(index = 1)]
-					SovereignAccount,
-					#[codec(index = 2)]
-					Superuser,
-					#[codec(index = 3)]
-					Xcm,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Response {
-					#[codec(index = 0)]
-					Null,
-					#[codec(index = 1)]
-					Assets(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 2)]
-					ExecutionResult(
-						::core::option::Option<(
-							::core::primitive::u32,
-							runtime_types::xcm::v2::traits::Error,
-						)>,
-					),
-					#[codec(index = 3)]
-					Version(::core::primitive::u32),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum WeightLimit {
-					#[codec(index = 0)]
-					Unlimited,
-					#[codec(index = 1)]
-					Limited(#[codec(compact)] ::core::primitive::u64),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm(pub ::std::vec::Vec<runtime_types::xcm::v2::Instruction>);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm2(pub ::std::vec::Vec<runtime_types::xcm::v2::Instruction2>);
-			}
-			pub mod v3 {
-				use super::runtime_types;
-				pub mod junction {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junction {
-						#[codec(index = 0)]
-						Parachain(#[codec(compact)] ::core::primitive::u32),
-						#[codec(index = 1)]
-						AccountId32 {
-							network:
-								::core::option::Option<runtime_types::xcm::v3::junction::NetworkId>,
-							id: [::core::primitive::u8; 32usize],
-						},
-						#[codec(index = 2)]
-						AccountIndex64 {
-							network:
-								::core::option::Option<runtime_types::xcm::v3::junction::NetworkId>,
-							#[codec(compact)]
-							index: ::core::primitive::u64,
-						},
-						#[codec(index = 3)]
-						AccountKey20 {
-							network:
-								::core::option::Option<runtime_types::xcm::v3::junction::NetworkId>,
-							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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum AssetId {
-						#[codec(index = 0)]
-						Concrete(runtime_types::staging_xcm::v3::multilocation::MultiLocation),
-						#[codec(index = 1)]
-						Abstract([::core::primitive::u8; 32usize]),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Fungibility {
-						#[codec(index = 0)]
-						Fungible(#[codec(compact)] ::core::primitive::u128),
-						#[codec(index = 1)]
-						NonFungible(runtime_types::xcm::v3::multiasset::AssetInstance),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAsset {
-						pub id: runtime_types::xcm::v3::multiasset::AssetId,
-						pub fun: runtime_types::xcm::v3::multiasset::Fungibility,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum MultiAssetFilter {
-						#[codec(index = 0)]
-						Definite(runtime_types::xcm::v3::multiasset::MultiAssets),
-						#[codec(index = 1)]
-						Wild(runtime_types::xcm::v3::multiasset::WildMultiAsset),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAssets(
-						pub ::std::vec::Vec<runtime_types::xcm::v3::multiasset::MultiAsset>,
-					);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildFungibility {
-						#[codec(index = 0)]
-						Fungible,
-						#[codec(index = 1)]
-						NonFungible,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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 traits {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(::sp_weights::Weight),
-						#[codec(index = 37)]
-						Barrier,
-						#[codec(index = 38)]
-						WeightNotComputable,
-						#[codec(index = 39)]
-						ExceedsStackLimit,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Outcome {
-						#[codec(index = 0)]
-						Complete(::sp_weights::Weight),
-						#[codec(index = 1)]
-						Incomplete(::sp_weights::Weight, runtime_types::xcm::v3::traits::Error),
-						#[codec(index = 2)]
-						Error(runtime_types::xcm::v3::traits::Error),
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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: ::sp_weights::Weight,
-						querier: ::core::option::Option<
-							runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						>,
-					},
-					#[codec(index = 4)]
-					TransferAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssets,
-						beneficiary: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 5)]
-					TransferReserveAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssets,
-						dest: runtime_types::staging_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: ::sp_weights::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::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 14)]
-					DepositReserveAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter,
-						dest: runtime_types::staging_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::staging_xcm::v3::multilocation::MultiLocation,
-						xcm: runtime_types::xcm::v3::Xcm,
-					},
-					#[codec(index = 17)]
-					InitiateTeleport {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter,
-						dest: runtime_types::staging_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::staging_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: ::sp_weights::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::staging_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::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 40)]
-					UnlockAsset {
-						asset: runtime_types::xcm::v3::multiasset::MultiAsset,
-						target: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 41)]
-					NoteUnlockable {
-						asset: runtime_types::xcm::v3::multiasset::MultiAsset,
-						owner: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 42)]
-					RequestUnlock {
-						asset: runtime_types::xcm::v3::multiasset::MultiAsset,
-						locker: runtime_types::staging_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::staging_xcm::v3::multilocation::MultiLocation),
-					#[codec(index = 47)]
-					UnpaidExecution {
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-						check_origin: ::core::option::Option<
-							runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Instruction2 {
-					#[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: ::sp_weights::Weight,
-						querier: ::core::option::Option<
-							runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						>,
-					},
-					#[codec(index = 4)]
-					TransferAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssets,
-						beneficiary: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 5)]
-					TransferReserveAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssets,
-						dest: runtime_types::staging_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: ::sp_weights::Weight,
-						call: runtime_types::xcm::double_encoded::DoubleEncoded2,
-					},
-					#[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::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 14)]
-					DepositReserveAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter,
-						dest: runtime_types::staging_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::staging_xcm::v3::multilocation::MultiLocation,
-						xcm: runtime_types::xcm::v3::Xcm,
-					},
-					#[codec(index = 17)]
-					InitiateTeleport {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter,
-						dest: runtime_types::staging_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::Xcm2),
-					#[codec(index = 22)]
-					SetAppendix(runtime_types::xcm::v3::Xcm2),
-					#[codec(index = 23)]
-					ClearError,
-					#[codec(index = 24)]
-					ClaimAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssets,
-						ticket: runtime_types::staging_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: ::sp_weights::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::staging_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::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 40)]
-					UnlockAsset {
-						asset: runtime_types::xcm::v3::multiasset::MultiAsset,
-						target: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 41)]
-					NoteUnlockable {
-						asset: runtime_types::xcm::v3::multiasset::MultiAsset,
-						owner: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 42)]
-					RequestUnlock {
-						asset: runtime_types::xcm::v3::multiasset::MultiAsset,
-						locker: runtime_types::staging_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::staging_xcm::v3::multilocation::MultiLocation),
-					#[codec(index = 47)]
-					UnpaidExecution {
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-						check_origin: ::core::option::Option<
-							runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct QueryResponseInfo {
-					pub destination: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					#[codec(compact)]
-					pub query_id: ::core::primitive::u64,
-					pub max_weight: ::sp_weights::Weight,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum WeightLimit {
-					#[codec(index = 0)]
-					Unlimited,
-					#[codec(index = 1)]
-					Limited(::sp_weights::Weight),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm(pub ::std::vec::Vec<runtime_types::xcm::v3::Instruction>);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm2(pub ::std::vec::Vec<runtime_types::xcm::v3::Instruction2>);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedAssetId {
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::multiasset::AssetId),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedMultiAssets {
-				#[codec(index = 1)]
-				V2(runtime_types::xcm::v2::multiasset::MultiAssets),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::multiasset::MultiAssets),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedMultiLocation {
-				#[codec(index = 1)]
-				V2(runtime_types::xcm::v2::multilocation::MultiLocation),
-				#[codec(index = 3)]
-				V3(runtime_types::staging_xcm::v3::multilocation::MultiLocation),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedResponse {
-				#[codec(index = 2)]
-				V2(runtime_types::xcm::v2::Response),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::Response),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedXcm {
-				#[codec(index = 2)]
-				V2(runtime_types::xcm::v2::Xcm),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::Xcm),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedXcm2 {
-				#[codec(index = 2)]
-				V2(runtime_types::xcm::v2::Xcm2),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::Xcm2),
-			}
-		}
-	}
-}
diff --git a/bridges/relays/client-bridge-hub-polkadot/src/lib.rs b/bridges/relays/client-bridge-hub-polkadot/src/lib.rs
deleted file mode 100644
index 88b69065f84217c0b08db88e3b47131c4076a075..0000000000000000000000000000000000000000
--- a/bridges/relays/client-bridge-hub-polkadot/src/lib.rs
+++ /dev/null
@@ -1,131 +0,0 @@
-// Copyright 2022 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Types used to connect to the BridgeHub-Polkadot-Substrate parachain.
-
-pub mod codegen_runtime;
-
-use bp_bridge_hub_polkadot::{SignedExtension, AVERAGE_BLOCK_INTERVAL};
-use bp_polkadot_core::SuffixedCommonSignedExtensionExt;
-use codec::Encode;
-use relay_substrate_client::{
-	calls::UtilityCall as MockUtilityCall, Chain, ChainWithBalances, ChainWithMessages,
-	ChainWithRuntimeVersion, ChainWithTransactions, ChainWithUtilityPallet,
-	Error as SubstrateError, MockedRuntimeUtilityPallet, SignParam, SimpleRuntimeVersion,
-	UnderlyingChainProvider, UnsignedTransaction,
-};
-use sp_core::{storage::StorageKey, Pair};
-use sp_runtime::{generic::SignedPayload, traits::IdentifyAccount};
-use std::time::Duration;
-
-pub use codegen_runtime::api::runtime_types;
-
-pub type RuntimeCall = runtime_types::bridge_hub_polkadot_runtime::RuntimeCall;
-// TODO: https://github.com/paritytech/parity-bridges-common/issues/2547 - regenerate when ready
-pub type BridgePolkadotBulletinMessagesCall = runtime_types::pallet_bridge_messages::pallet::Call;
-pub type BridgeKusamaMessagesCall = runtime_types::pallet_bridge_messages::pallet::Call;
-// TODO: https://github.com/paritytech/parity-bridges-common/issues/2547 - regenerate when ready
-pub type BridgePolkadotBulletinGrandpaCall = runtime_types::pallet_bridge_grandpa::pallet::Call;
-pub type BridgeKusamaGrandpaCall = runtime_types::pallet_bridge_grandpa::pallet::Call;
-pub type BridgeParachainCall = runtime_types::pallet_bridge_parachains::pallet::Call;
-type UncheckedExtrinsic = bp_bridge_hub_polkadot::UncheckedExtrinsic<RuntimeCall, SignedExtension>;
-type UtilityCall = runtime_types::pallet_utility::pallet::Call;
-
-/// Polkadot chain definition
-#[derive(Debug, Clone, Copy, PartialEq, Eq)]
-pub struct BridgeHubPolkadot;
-
-impl UnderlyingChainProvider for BridgeHubPolkadot {
-	type Chain = bp_bridge_hub_polkadot::BridgeHubPolkadot;
-}
-
-impl Chain for BridgeHubPolkadot {
-	const NAME: &'static str = "BridgeHubPolkadot";
-	const BEST_FINALIZED_HEADER_ID_METHOD: &'static str =
-		bp_bridge_hub_polkadot::BEST_FINALIZED_BRIDGE_HUB_POLKADOT_HEADER_METHOD;
-	const AVERAGE_BLOCK_INTERVAL: Duration = AVERAGE_BLOCK_INTERVAL;
-
-	type SignedBlock = bp_bridge_hub_polkadot::SignedBlock;
-	type Call = RuntimeCall;
-}
-
-impl ChainWithBalances for BridgeHubPolkadot {
-	fn account_info_storage_key(account_id: &Self::AccountId) -> StorageKey {
-		bp_bridge_hub_polkadot::AccountInfoStorageMapKeyProvider::final_key(account_id)
-	}
-}
-
-impl From<MockUtilityCall<RuntimeCall>> for RuntimeCall {
-	fn from(value: MockUtilityCall<RuntimeCall>) -> RuntimeCall {
-		match value {
-			MockUtilityCall::batch_all(calls) =>
-				RuntimeCall::Utility(UtilityCall::batch_all { calls }),
-		}
-	}
-}
-
-impl ChainWithUtilityPallet for BridgeHubPolkadot {
-	type UtilityPallet = MockedRuntimeUtilityPallet<RuntimeCall>;
-}
-
-impl ChainWithTransactions for BridgeHubPolkadot {
-	type AccountKeyPair = sp_core::sr25519::Pair;
-	type SignedTransaction = UncheckedExtrinsic;
-
-	fn sign_transaction(
-		param: SignParam<Self>,
-		unsigned: UnsignedTransaction<Self>,
-	) -> Result<Self::SignedTransaction, SubstrateError> {
-		let raw_payload = SignedPayload::new(
-			unsigned.call,
-			SignedExtension::from_params(
-				param.spec_version,
-				param.transaction_version,
-				unsigned.era,
-				param.genesis_hash,
-				unsigned.nonce,
-				unsigned.tip,
-				(((), ()), ((), ())),
-			),
-		)?;
-
-		let signature = raw_payload.using_encoded(|payload| param.signer.sign(payload));
-		let signer: sp_runtime::MultiSigner = param.signer.public().into();
-		let (call, extra, _) = raw_payload.deconstruct();
-
-		Ok(UncheckedExtrinsic::new_signed(
-			call,
-			signer.into_account().into(),
-			signature.into(),
-			extra,
-		))
-	}
-}
-
-impl ChainWithMessages for BridgeHubPolkadot {
-	const WITH_CHAIN_RELAYERS_PALLET_NAME: Option<&'static str> =
-		Some(bp_bridge_hub_polkadot::WITH_BRIDGE_HUB_POLKADOT_RELAYERS_PALLET_NAME);
-
-	const TO_CHAIN_MESSAGE_DETAILS_METHOD: &'static str =
-		bp_bridge_hub_polkadot::TO_BRIDGE_HUB_POLKADOT_MESSAGE_DETAILS_METHOD;
-	const FROM_CHAIN_MESSAGE_DETAILS_METHOD: &'static str =
-		bp_bridge_hub_polkadot::FROM_BRIDGE_HUB_POLKADOT_MESSAGE_DETAILS_METHOD;
-}
-
-impl ChainWithRuntimeVersion for BridgeHubPolkadot {
-	const RUNTIME_VERSION: Option<SimpleRuntimeVersion> =
-		Some(SimpleRuntimeVersion { spec_version: 1_001_000, transaction_version: 3 });
-}
diff --git a/bridges/relays/client-bridge-hub-polkadot/src/runtime_wrapper.rs b/bridges/relays/client-bridge-hub-polkadot/src/runtime_wrapper.rs
deleted file mode 100644
index f59b35253b1ba8b56e82fcac4bcc1a4f6ffc30ad..0000000000000000000000000000000000000000
--- a/bridges/relays/client-bridge-hub-polkadot/src/runtime_wrapper.rs
+++ /dev/null
@@ -1,130 +0,0 @@
-// Copyright 2019-2021 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Types that are specific to the BridgeHubPolkadot runtime.
-// TODO: regenerate me using `runtime-codegen` tool? (https://github.com/paritytech/parity-bridges-common/issues/1945)
-
-use codec::{Decode, Encode};
-use scale_info::TypeInfo;
-
-pub use bp_bridge_hub_polkadot::TransactionExtension;
-pub use bp_header_chain::BridgeGrandpaCallOf;
-pub use bp_parachains::BridgeParachainCall;
-pub use bridge_runtime_common::messages::BridgeMessagesCallOf;
-pub use relay_substrate_client::calls::{SystemCall, UtilityCall};
-
-/// Unchecked BridgeHubPolkadot extrinsic.
-pub type UncheckedExtrinsic = bp_bridge_hub_polkadot::UncheckedExtrinsic<Call, TransactionExtension>;
-
-/// The indirect pallet call used to sync `Kusama` GRANDPA finality to `BHPolkadot`.
-pub type BridgeKusamaGrandpaCall = BridgeGrandpaCallOf<bp_kusama::Kusama>;
-/// The indirect pallet call used to sync `BridgeHubKusama` messages to `BridgeHubPolkadot`.
-pub type BridgeKusamaMessagesCall = BridgeMessagesCallOf<bp_bridge_hub_kusama::BridgeHubKusama>;
-
-/// The indirect pallet call used to sync `PolkadotBulletin` GRANDPA finality to `BHPolkadot`.
-pub type BridgePolkadotBulletinGrandpaCall =
-	BridgeGrandpaCallOf<bp_polkadot_bulletin::PolkadotBulletin>;
-/// The indirect pallet call used to sync `PolkadotBulletin` messages to `BridgeHubPolkadot`.
-pub type BridgePolkadotBulletinMessagesCall =
-	BridgeMessagesCallOf<bp_polkadot_bulletin::PolkadotBulletin>;
-
-/// `BridgeHubPolkadot` Runtime `Call` enum.
-///
-/// The enum represents a subset of possible `Call`s we can send to `BridgeHubPolkadot` chain.
-/// Ideally this code would be auto-generated from metadata, because we want to
-/// avoid depending directly on the ENTIRE runtime just to get the encoding of `Dispatchable`s.
-///
-/// All entries here (like pretty much in the entire file) must be kept in sync with
-/// `BridgeHubPolkadot` `construct_runtime`, so that we maintain SCALE-compatibility.
-#[allow(clippy::large_enum_variant)]
-#[derive(Encode, Decode, Debug, PartialEq, Eq, Clone, TypeInfo)]
-pub enum Call {
-	#[cfg(test)]
-	#[codec(index = 0)]
-	System(SystemCall),
-	/// Utility pallet.
-	#[codec(index = 40)]
-	Utility(UtilityCall<Call>),
-
-	/// Kusama grandpa bridge pallet.
-	#[codec(index = 51)]
-	BridgeKusamaGrandpa(BridgeKusamaGrandpaCall),
-	/// Kusama parachains bridge pallet.
-	#[codec(index = 52)]
-	BridgeKusamaParachain(BridgeParachainCall),
-	/// Kusama messages bridge pallet.
-	#[codec(index = 53)]
-	BridgeKusamaMessages(BridgeKusamaMessagesCall),
-
-	/// Polkadot Bulletin grandpa bridge pallet.
-	#[codec(index = 55)]
-	BridgePolkadotBulletinGrandpa(BridgePolkadotBulletinGrandpaCall),
-	/// Polkadot Bulletin messages bridge pallet.
-	#[codec(index = 56)]
-	BridgePolkadotBulletinMessages(BridgePolkadotBulletinMessagesCall),
-}
-
-impl From<UtilityCall<Call>> for Call {
-	fn from(call: UtilityCall<Call>) -> Call {
-		Call::Utility(call)
-	}
-}
-
-#[cfg(test)]
-mod tests {
-	use super::*;
-	use bp_runtime::BasicOperatingMode;
-	use sp_consensus_grandpa::AuthorityList;
-	use sp_core::hexdisplay::HexDisplay;
-	use sp_runtime::traits::Header;
-	use std::str::FromStr;
-
-	pub type RelayBlockNumber = bp_polkadot_core::BlockNumber;
-	pub type RelayBlockHasher = bp_polkadot_core::Hasher;
-	pub type RelayBlockHeader = sp_runtime::generic::Header<RelayBlockNumber, RelayBlockHasher>;
-
-	#[test]
-	fn encode_decode_calls() {
-		let header = RelayBlockHeader::new(
-			75,
-			bp_polkadot_core::Hash::from_str(
-				"0xd2c0afaab32de0cb8f7f0d89217e37c5ea302c1ffb5a7a83e10d20f12c32874d",
-			)
-			.expect("invalid value"),
-			bp_polkadot_core::Hash::from_str(
-				"0x92b965f0656a4e0e5fc0167da2d4b5ee72b3be2c1583c4c1e5236c8c12aa141b",
-			)
-			.expect("invalid value"),
-			bp_polkadot_core::Hash::from_str(
-				"0xae4a25acf250d72ed02c149ecc7dd3c9ee976d41a2888fc551de8064521dc01d",
-			)
-			.expect("invalid value"),
-			Default::default(),
-		);
-		let init_data = bp_header_chain::InitializationData {
-			header: Box::new(header),
-			authority_list: AuthorityList::default(),
-			set_id: 6,
-			operating_mode: BasicOperatingMode::Normal,
-		};
-		let call = BridgeKusamaGrandpaCall::initialize { init_data };
-		let tx = Call::BridgeKusamaGrandpa(call);
-
-		// encode call as hex string
-		let hex_encoded_call = format!("0x{:?}", HexDisplay::from(&Encode::encode(&tx)));
-		assert_eq!(hex_encoded_call, "0x3301ae4a25acf250d72ed02c149ecc7dd3c9ee976d41a2888fc551de8064521dc01d2d0192b965f0656a4e0e5fc0167da2d4b5ee72b3be2c1583c4c1e5236c8c12aa141bd2c0afaab32de0cb8f7f0d89217e37c5ea302c1ffb5a7a83e10d20f12c32874d0000060000000000000000");
-	}
-}
diff --git a/bridges/relays/client-bridge-hub-rococo/Cargo.toml b/bridges/relays/client-bridge-hub-rococo/Cargo.toml
deleted file mode 100644
index 70d65ac19453c45d1781da83c48ae74df218a41e..0000000000000000000000000000000000000000
--- a/bridges/relays/client-bridge-hub-rococo/Cargo.toml
+++ /dev/null
@@ -1,32 +0,0 @@
-[package]
-name = "relay-bridge-hub-rococo-client"
-version = "0.1.0"
-authors = ["Parity Technologies <admin@parity.io>"]
-edition = "2021"
-license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
-
-[lints]
-workspace = true
-
-[dependencies]
-codec = { package = "parity-scale-codec", version = "3.1.5", features = ["derive"] }
-scale-info = { version = "2.11.0", default-features = false, features = ["derive"] }
-subxt = { version = "0.32.1", default-features = false, features = ["native"] }
-
-# Bridge dependencies
-
-bp-bridge-hub-rococo = { path = "../../chains/chain-bridge-hub-rococo" }
-bp-header-chain = { path = "../../primitives/header-chain" }
-bp-messages = { path = "../../primitives/messages" }
-bp-parachains = { path = "../../primitives/parachains" }
-bp-polkadot-core = { path = "../../primitives/polkadot-core" }
-bp-runtime = { path = "../../primitives/runtime" }
-
-bridge-runtime-common = { path = "../../bin/runtime-common" }
-relay-substrate-client = { path = "../client-substrate" }
-
-# Substrate Dependencies
-
-sp-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-weights = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
diff --git a/bridges/relays/client-bridge-hub-rococo/src/codegen_runtime.rs b/bridges/relays/client-bridge-hub-rococo/src/codegen_runtime.rs
deleted file mode 100644
index e5c7c8b3e767967dd9276dbcbc74b29bee9ad200..0000000000000000000000000000000000000000
--- a/bridges/relays/client-bridge-hub-rococo/src/codegen_runtime.rs
+++ /dev/null
@@ -1,5506 +0,0 @@
-// Copyright 2019-2023 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated runtime API
-//! THIS FILE WAS AUTOGENERATED USING parity-bridges-common::runtime-codegen
-//! EXECUTED COMMAND: target/debug/runtime-codegen --from-wasm-file
-//! ../../../polkadot-sdk/target/release/wbuild/bridge-hub-rococo-runtime/bridge_hub_rococo_runtime.
-//! compact.compressed.wasm
-
-#[allow(dead_code, unused_imports, non_camel_case_types)]
-#[allow(clippy::all)]
-#[allow(rustdoc::broken_intra_doc_links)]
-pub mod api {
-	#[allow(unused_imports)]
-	mod root_mod {
-		pub use super::*;
-	}
-	pub mod runtime_types {
-		use super::runtime_types;
-		pub mod bounded_collections {
-			use super::runtime_types;
-			pub mod bounded_btree_set {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BoundedBTreeSet<_0>(pub ::std::vec::Vec<_0>);
-			}
-			pub mod bounded_vec {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BoundedVec<_0>(pub ::std::vec::Vec<_0>);
-			}
-			pub mod weak_bounded_vec {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct WeakBoundedVec<_0>(pub ::std::vec::Vec<_0>);
-			}
-		}
-		pub mod bp_header_chain {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct AuthoritySet {
-				pub authorities: ::std::vec::Vec<(
-					runtime_types::sp_consensus_grandpa::app::Public,
-					::core::primitive::u64,
-				)>,
-				pub set_id: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum HeaderChainError {
-				#[codec(index = 0)]
-				UnknownHeader,
-				#[codec(index = 1)]
-				StorageProof(runtime_types::bp_runtime::storage_proof::Error),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct HeaderFinalityInfo<_0, _1> {
-				pub finality_proof: _0,
-				pub new_verification_context: ::core::option::Option<_1>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct StoredHeaderData<_0, _1> {
-				pub number: _0,
-				pub state_root: _1,
-			}
-		}
-		pub mod bp_messages {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct DeliveredMessages {
-				pub begin: ::core::primitive::u64,
-				pub end: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundLaneData<_0> {
-				pub relayers: ::std::vec::Vec<runtime_types::bp_messages::UnrewardedRelayer<_0>>,
-				pub last_confirmed_nonce: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct LaneId(pub [::core::primitive::u8; 4usize]);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct MessageKey {
-				pub lane_id: runtime_types::bp_messages::LaneId,
-				pub nonce: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum MessagesOperatingMode {
-				#[codec(index = 0)]
-				Basic(runtime_types::bp_runtime::BasicOperatingMode),
-				#[codec(index = 1)]
-				RejectingOutboundMessages,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OutboundLaneData {
-				pub oldest_unpruned_nonce: ::core::primitive::u64,
-				pub latest_received_nonce: ::core::primitive::u64,
-				pub latest_generated_nonce: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ReceivalResult<_0> {
-				#[codec(index = 0)]
-				Dispatched(runtime_types::bp_runtime::messages::MessageDispatchResult<_0>),
-				#[codec(index = 1)]
-				InvalidNonce,
-				#[codec(index = 2)]
-				TooManyUnrewardedRelayers,
-				#[codec(index = 3)]
-				TooManyUnconfirmedMessages,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ReceivedMessages<_0> {
-				pub lane: runtime_types::bp_messages::LaneId,
-				pub receive_results: ::std::vec::Vec<(
-					::core::primitive::u64,
-					runtime_types::bp_messages::ReceivalResult<_0>,
-				)>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct UnrewardedRelayer<_0> {
-				pub relayer: _0,
-				pub messages: runtime_types::bp_messages::DeliveredMessages,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VerificationError {
-				#[codec(index = 0)]
-				EmptyMessageProof,
-				#[codec(index = 1)]
-				HeaderChain(runtime_types::bp_header_chain::HeaderChainError),
-				#[codec(index = 2)]
-				InboundLaneStorage(runtime_types::bp_runtime::storage_proof::Error),
-				#[codec(index = 3)]
-				InvalidMessageWeight,
-				#[codec(index = 4)]
-				MessagesCountMismatch,
-				#[codec(index = 5)]
-				MessageStorage(runtime_types::bp_runtime::storage_proof::Error),
-				#[codec(index = 6)]
-				MessageTooLarge,
-				#[codec(index = 7)]
-				OutboundLaneStorage(runtime_types::bp_runtime::storage_proof::Error),
-				#[codec(index = 8)]
-				StorageProof(runtime_types::bp_runtime::storage_proof::Error),
-				#[codec(index = 9)]
-				Other,
-			}
-		}
-		pub mod bp_parachains {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BestParaHeadHash {
-				pub at_relay_block_number: ::core::primitive::u32,
-				pub head_hash: ::subxt::utils::H256,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ParaInfo {
-				pub best_head_hash: runtime_types::bp_parachains::BestParaHeadHash,
-				pub next_imported_hash_position: ::core::primitive::u32,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ParaStoredHeaderData(pub ::std::vec::Vec<::core::primitive::u8>);
-		}
-		pub mod bp_relayers {
-			use super::runtime_types;
-			pub mod registration {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Registration<_0, _1> {
-					pub valid_till: _0,
-					pub stake: _1,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RewardsAccountOwner {
-				#[codec(index = 0)]
-				ThisChain,
-				#[codec(index = 1)]
-				BridgedChain,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RewardsAccountParams {
-				pub lane_id: runtime_types::bp_messages::LaneId,
-				pub bridged_chain_id: [::core::primitive::u8; 4usize],
-				pub owner: runtime_types::bp_relayers::RewardsAccountOwner,
-			}
-		}
-		pub mod bp_runtime {
-			use super::runtime_types;
-			pub mod messages {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct MessageDispatchResult<_0> {
-					pub unspent_weight: ::sp_weights::Weight,
-					pub dispatch_level_result: _0,
-				}
-			}
-			pub mod storage_proof {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					DuplicateNodesInProof,
-					#[codec(index = 1)]
-					UnusedNodesInTheProof,
-					#[codec(index = 2)]
-					StorageRootMismatch,
-					#[codec(index = 3)]
-					StorageValueUnavailable,
-					#[codec(index = 4)]
-					StorageValueEmpty,
-					#[codec(index = 5)]
-					StorageValueDecodeFailed(runtime_types::bp_runtime::StrippableError),
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum BasicOperatingMode {
-				#[codec(index = 0)]
-				Normal,
-				#[codec(index = 1)]
-				Halted,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct HeaderId<_0, _1>(pub _1, pub _0);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum OwnedBridgeModuleError {
-				#[codec(index = 0)]
-				Halted,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct StrippableError;
-		}
-		pub mod bridge_hub_common {
-			use super::runtime_types;
-			pub mod message_queue {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum AggregateMessageOrigin {
-					#[codec(index = 0)]
-					Here,
-					#[codec(index = 1)]
-					Parent,
-					#[codec(index = 2)]
-					Sibling(runtime_types::polkadot_parachain_primitives::primitives::Id),
-					#[codec(index = 3)]
-					Snowbridge(runtime_types::snowbridge_core::ChannelId),
-				}
-			}
-		}
-		pub mod bridge_hub_rococo_runtime {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BridgeRejectObsoleteHeadersAndMessages;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum OriginCaller {
-				#[codec(index = 0)]
-				system(
-					runtime_types::frame_support::dispatch::RawOrigin<
-						::sp_core::crypto::AccountId32,
-					>,
-				),
-				#[codec(index = 31)]
-				PolkadotXcm(runtime_types::pallet_xcm::pallet::Origin),
-				#[codec(index = 32)]
-				CumulusXcm(runtime_types::cumulus_pallet_xcm::pallet::Origin),
-				#[codec(index = 3)]
-				Void(runtime_types::sp_core::Void),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Runtime;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeCall {
-				#[codec(index = 0)]
-				System(runtime_types::frame_system::pallet::Call),
-				#[codec(index = 1)]
-				ParachainSystem(runtime_types::cumulus_pallet_parachain_system::pallet::Call),
-				#[codec(index = 2)]
-				Timestamp(runtime_types::pallet_timestamp::pallet::Call),
-				#[codec(index = 3)]
-				ParachainInfo(runtime_types::staging_parachain_info::pallet::Call),
-				#[codec(index = 10)]
-				Balances(runtime_types::pallet_balances::pallet::Call),
-				#[codec(index = 21)]
-				CollatorSelection(runtime_types::pallet_collator_selection::pallet::Call),
-				#[codec(index = 22)]
-				Session(runtime_types::pallet_session::pallet::Call),
-				#[codec(index = 30)]
-				XcmpQueue(runtime_types::cumulus_pallet_xcmp_queue::pallet::Call),
-				#[codec(index = 31)]
-				PolkadotXcm(runtime_types::pallet_xcm::pallet::Call),
-				#[codec(index = 32)]
-				CumulusXcm(runtime_types::cumulus_pallet_xcm::pallet::Call),
-				#[codec(index = 40)]
-				Utility(runtime_types::pallet_utility::pallet::Call),
-				#[codec(index = 36)]
-				Multisig(runtime_types::pallet_multisig::pallet::Call),
-				#[codec(index = 47)]
-				BridgeRelayers(runtime_types::pallet_bridge_relayers::pallet::Call),
-				#[codec(index = 48)]
-				BridgeWestendGrandpa(runtime_types::pallet_bridge_grandpa::pallet::Call),
-				#[codec(index = 49)]
-				BridgeWestendParachains(runtime_types::pallet_bridge_parachains::pallet::Call),
-				#[codec(index = 51)]
-				BridgeWestendMessages(runtime_types::pallet_bridge_messages::pallet::Call),
-				#[codec(index = 60)]
-				BridgePolkadotBulletinGrandpa(runtime_types::pallet_bridge_grandpa::pallet::Call2),
-				#[codec(index = 61)]
-				BridgePolkadotBulletinMessages(
-					runtime_types::pallet_bridge_messages::pallet::Call2,
-				),
-				#[codec(index = 80)]
-				EthereumInboundQueue(runtime_types::snowbridge_pallet_inbound_queue::pallet::Call),
-				#[codec(index = 81)]
-				EthereumOutboundQueue(
-					runtime_types::snowbridge_pallet_outbound_queue::pallet::Call,
-				),
-				#[codec(index = 82)]
-				EthereumBeaconClient(
-					runtime_types::snowbridge_pallet_ethereum_client::pallet::Call,
-				),
-				#[codec(index = 83)]
-				EthereumSystem(runtime_types::snowbridge_pallet_system::pallet::Call),
-				#[codec(index = 250)]
-				MessageQueue(runtime_types::pallet_message_queue::pallet::Call),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeError {
-				#[codec(index = 0)]
-				System(runtime_types::frame_system::pallet::Error),
-				#[codec(index = 1)]
-				ParachainSystem(runtime_types::cumulus_pallet_parachain_system::pallet::Error),
-				#[codec(index = 10)]
-				Balances(runtime_types::pallet_balances::pallet::Error),
-				#[codec(index = 21)]
-				CollatorSelection(runtime_types::pallet_collator_selection::pallet::Error),
-				#[codec(index = 22)]
-				Session(runtime_types::pallet_session::pallet::Error),
-				#[codec(index = 30)]
-				XcmpQueue(runtime_types::cumulus_pallet_xcmp_queue::pallet::Error),
-				#[codec(index = 31)]
-				PolkadotXcm(runtime_types::pallet_xcm::pallet::Error),
-				#[codec(index = 40)]
-				Utility(runtime_types::pallet_utility::pallet::Error),
-				#[codec(index = 36)]
-				Multisig(runtime_types::pallet_multisig::pallet::Error),
-				#[codec(index = 47)]
-				BridgeRelayers(runtime_types::pallet_bridge_relayers::pallet::Error),
-				#[codec(index = 48)]
-				BridgeWestendGrandpa(runtime_types::pallet_bridge_grandpa::pallet::Error),
-				#[codec(index = 49)]
-				BridgeWestendParachains(runtime_types::pallet_bridge_parachains::pallet::Error),
-				#[codec(index = 51)]
-				BridgeWestendMessages(runtime_types::pallet_bridge_messages::pallet::Error),
-				#[codec(index = 60)]
-				BridgePolkadotBulletinGrandpa(runtime_types::pallet_bridge_grandpa::pallet::Error2),
-				#[codec(index = 61)]
-				BridgePolkadotBulletinMessages(
-					runtime_types::pallet_bridge_messages::pallet::Error2,
-				),
-				#[codec(index = 80)]
-				EthereumInboundQueue(runtime_types::snowbridge_pallet_inbound_queue::pallet::Error),
-				#[codec(index = 81)]
-				EthereumOutboundQueue(
-					runtime_types::snowbridge_pallet_outbound_queue::pallet::Error,
-				),
-				#[codec(index = 82)]
-				EthereumBeaconClient(
-					runtime_types::snowbridge_pallet_ethereum_client::pallet::Error,
-				),
-				#[codec(index = 83)]
-				EthereumSystem(runtime_types::snowbridge_pallet_system::pallet::Error),
-				#[codec(index = 250)]
-				MessageQueue(runtime_types::pallet_message_queue::pallet::Error),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeEvent {
-				#[codec(index = 0)]
-				System(runtime_types::frame_system::pallet::Event),
-				#[codec(index = 1)]
-				ParachainSystem(runtime_types::cumulus_pallet_parachain_system::pallet::Event),
-				#[codec(index = 10)]
-				Balances(runtime_types::pallet_balances::pallet::Event),
-				#[codec(index = 11)]
-				TransactionPayment(runtime_types::pallet_transaction_payment::pallet::Event),
-				#[codec(index = 21)]
-				CollatorSelection(runtime_types::pallet_collator_selection::pallet::Event),
-				#[codec(index = 22)]
-				Session(runtime_types::pallet_session::pallet::Event),
-				#[codec(index = 30)]
-				XcmpQueue(runtime_types::cumulus_pallet_xcmp_queue::pallet::Event),
-				#[codec(index = 31)]
-				PolkadotXcm(runtime_types::pallet_xcm::pallet::Event),
-				#[codec(index = 32)]
-				CumulusXcm(runtime_types::cumulus_pallet_xcm::pallet::Event),
-				#[codec(index = 40)]
-				Utility(runtime_types::pallet_utility::pallet::Event),
-				#[codec(index = 36)]
-				Multisig(runtime_types::pallet_multisig::pallet::Event),
-				#[codec(index = 47)]
-				BridgeRelayers(runtime_types::pallet_bridge_relayers::pallet::Event),
-				#[codec(index = 48)]
-				BridgeWestendGrandpa(runtime_types::pallet_bridge_grandpa::pallet::Event),
-				#[codec(index = 49)]
-				BridgeWestendParachains(runtime_types::pallet_bridge_parachains::pallet::Event),
-				#[codec(index = 51)]
-				BridgeWestendMessages(runtime_types::pallet_bridge_messages::pallet::Event),
-				#[codec(index = 60)]
-				BridgePolkadotBulletinGrandpa(runtime_types::pallet_bridge_grandpa::pallet::Event2),
-				#[codec(index = 61)]
-				BridgePolkadotBulletinMessages(
-					runtime_types::pallet_bridge_messages::pallet::Event2,
-				),
-				#[codec(index = 80)]
-				EthereumInboundQueue(runtime_types::snowbridge_pallet_inbound_queue::pallet::Event),
-				#[codec(index = 81)]
-				EthereumOutboundQueue(
-					runtime_types::snowbridge_pallet_outbound_queue::pallet::Event,
-				),
-				#[codec(index = 82)]
-				EthereumBeaconClient(
-					runtime_types::snowbridge_pallet_ethereum_client::pallet::Event,
-				),
-				#[codec(index = 83)]
-				EthereumSystem(runtime_types::snowbridge_pallet_system::pallet::Event),
-				#[codec(index = 250)]
-				MessageQueue(runtime_types::pallet_message_queue::pallet::Event),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeHoldReason {}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct SessionKeys {
-				pub aura: runtime_types::sp_consensus_aura::sr25519::app_sr25519::Public,
-			}
-		}
-		pub mod bridge_runtime_common {
-			use super::runtime_types;
-			pub mod messages_xcm_extension {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum XcmBlobMessageDispatchResult {
-					#[codec(index = 0)]
-					InvalidPayload,
-					#[codec(index = 1)]
-					Dispatched,
-					#[codec(index = 2)]
-					NotDispatched,
-				}
-			}
-			pub mod refund_relayer_extension {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RefundBridgedGrandpaMessages;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RefundBridgedParachainMessages;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RefundTransactionExtensionAdapter<_0>(pub _0);
-			}
-		}
-		pub mod cumulus_pallet_parachain_system {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					# [codec (index = 0)] set_validation_data { data : runtime_types :: cumulus_primitives_parachain_inherent :: ParachainInherentData , } , # [codec (index = 1)] sudo_send_upward_message { message : :: std :: vec :: Vec < :: core :: primitive :: u8 > , } , # [codec (index = 2)] authorize_upgrade { code_hash : :: subxt :: utils :: H256 , check_version : :: core :: primitive :: bool , } , # [codec (index = 3)] enact_authorized_upgrade { code : :: std :: vec :: Vec < :: core :: primitive :: u8 > , } , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					OverlappingUpgrades,
-					#[codec(index = 1)]
-					ProhibitedByPolkadot,
-					#[codec(index = 2)]
-					TooBig,
-					#[codec(index = 3)]
-					ValidationDataNotAvailable,
-					#[codec(index = 4)]
-					HostConfigurationNotAvailable,
-					#[codec(index = 5)]
-					NotScheduled,
-					#[codec(index = 6)]
-					NothingAuthorized,
-					#[codec(index = 7)]
-					Unauthorized,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					ValidationFunctionStored,
-					#[codec(index = 1)]
-					ValidationFunctionApplied { relay_chain_block_num: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					ValidationFunctionDiscarded,
-					#[codec(index = 3)]
-					DownwardMessagesReceived { count: ::core::primitive::u32 },
-					#[codec(index = 4)]
-					DownwardMessagesProcessed {
-						weight_used: ::sp_weights::Weight,
-						dmq_head: ::subxt::utils::H256,
-					},
-					#[codec(index = 5)]
-					UpwardMessageSent {
-						message_hash: ::core::option::Option<[::core::primitive::u8; 32usize]>,
-					},
-				}
-			}
-			pub mod relay_state_snapshot {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct MessagingStateSnapshot { pub dmq_mqc_head : :: subxt :: utils :: H256 , pub relay_dispatch_queue_remaining_capacity : runtime_types :: cumulus_pallet_parachain_system :: relay_state_snapshot :: RelayDispatchQueueRemainingCapacity , pub ingress_channels : :: std :: vec :: Vec < (runtime_types :: polkadot_parachain_primitives :: primitives :: Id , runtime_types :: polkadot_primitives :: v6 :: AbridgedHrmpChannel ,) > , pub egress_channels : :: std :: vec :: Vec < (runtime_types :: polkadot_parachain_primitives :: primitives :: Id , runtime_types :: polkadot_primitives :: v6 :: AbridgedHrmpChannel ,) > , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RelayDispatchQueueRemainingCapacity {
-					pub remaining_count: ::core::primitive::u32,
-					pub remaining_size: ::core::primitive::u32,
-				}
-			}
-			pub mod unincluded_segment {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Ancestor < _0 > { pub used_bandwidth : runtime_types :: cumulus_pallet_parachain_system :: unincluded_segment :: UsedBandwidth , pub para_head_hash : :: core :: option :: Option < _0 > , pub consumed_go_ahead_signal : :: core :: option :: Option < runtime_types :: polkadot_primitives :: v6 :: UpgradeGoAhead > , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HrmpChannelUpdate {
-					pub msg_count: ::core::primitive::u32,
-					pub total_bytes: ::core::primitive::u32,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SegmentTracker < _0 > { pub used_bandwidth : runtime_types :: cumulus_pallet_parachain_system :: unincluded_segment :: UsedBandwidth , pub hrmp_watermark : :: core :: option :: Option < :: core :: primitive :: u32 > , pub consumed_go_ahead_signal : :: core :: option :: Option < runtime_types :: polkadot_primitives :: v6 :: UpgradeGoAhead > , # [codec (skip)] pub __subxt_unused_type_params : :: core :: marker :: PhantomData < _0 > }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct UsedBandwidth { pub ump_msg_count : :: core :: primitive :: u32 , pub ump_total_bytes : :: core :: primitive :: u32 , pub hrmp_outgoing : :: subxt :: utils :: KeyedVec < runtime_types :: polkadot_parachain_primitives :: primitives :: Id , runtime_types :: cumulus_pallet_parachain_system :: unincluded_segment :: HrmpChannelUpdate > , }
-			}
-		}
-		pub mod cumulus_pallet_xcm {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					InvalidFormat([::core::primitive::u8; 32usize]),
-					#[codec(index = 1)]
-					UnsupportedVersion([::core::primitive::u8; 32usize]),
-					#[codec(index = 2)]
-					ExecutedDownward(
-						[::core::primitive::u8; 32usize],
-						runtime_types::staging_xcm::v4::traits::Outcome,
-					),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Origin {
-					#[codec(index = 0)]
-					Relay,
-					#[codec(index = 1)]
-					SiblingParachain(runtime_types::polkadot_parachain_primitives::primitives::Id),
-				}
-			}
-		}
-		pub mod cumulus_pallet_xcmp_queue {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 1)]
-					suspend_xcm_execution,
-					#[codec(index = 2)]
-					resume_xcm_execution,
-					#[codec(index = 3)]
-					update_suspend_threshold { new: ::core::primitive::u32 },
-					#[codec(index = 4)]
-					update_drop_threshold { new: ::core::primitive::u32 },
-					#[codec(index = 5)]
-					update_resume_threshold { new: ::core::primitive::u32 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					BadQueueConfig,
-					#[codec(index = 1)]
-					AlreadySuspended,
-					#[codec(index = 2)]
-					AlreadyResumed,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					XcmpMessageSent { message_hash: [::core::primitive::u8; 32usize] },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OutboundChannelDetails {
-				pub recipient: runtime_types::polkadot_parachain_primitives::primitives::Id,
-				pub state: runtime_types::cumulus_pallet_xcmp_queue::OutboundState,
-				pub signals_exist: ::core::primitive::bool,
-				pub first_index: ::core::primitive::u16,
-				pub last_index: ::core::primitive::u16,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum OutboundState {
-				#[codec(index = 0)]
-				Ok,
-				#[codec(index = 1)]
-				Suspended,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct QueueConfigData {
-				pub suspend_threshold: ::core::primitive::u32,
-				pub drop_threshold: ::core::primitive::u32,
-				pub resume_threshold: ::core::primitive::u32,
-			}
-		}
-		pub mod cumulus_primitives_parachain_inherent {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct MessageQueueChain(pub ::subxt::utils::H256);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ParachainInherentData {
-				pub validation_data:
-					runtime_types::polkadot_primitives::v6::PersistedValidationData<
-						::subxt::utils::H256,
-						::core::primitive::u32,
-					>,
-				pub relay_chain_state: runtime_types::sp_trie::storage_proof::StorageProof,
-				pub downward_messages: ::std::vec::Vec<
-					runtime_types::polkadot_core_primitives::InboundDownwardMessage<
-						::core::primitive::u32,
-					>,
-				>,
-				pub horizontal_messages: ::subxt::utils::KeyedVec<
-					runtime_types::polkadot_parachain_primitives::primitives::Id,
-					::std::vec::Vec<
-						runtime_types::polkadot_core_primitives::InboundHrmpMessage<
-							::core::primitive::u32,
-						>,
-					>,
-				>,
-			}
-		}
-		pub mod finality_grandpa {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Commit<_0, _1, _2, _3> {
-				pub target_hash: _0,
-				pub target_number: _1,
-				pub precommits: ::std::vec::Vec<
-					runtime_types::finality_grandpa::SignedPrecommit<_0, _1, _2, _3>,
-				>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Precommit<_0, _1> {
-				pub target_hash: _0,
-				pub target_number: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct SignedPrecommit<_0, _1, _2, _3> {
-				pub precommit: runtime_types::finality_grandpa::Precommit<_0, _1>,
-				pub signature: _2,
-				pub id: _3,
-			}
-		}
-		pub mod frame_support {
-			use super::runtime_types;
-			pub mod dispatch {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum DispatchClass {
-					#[codec(index = 0)]
-					Normal,
-					#[codec(index = 1)]
-					Operational,
-					#[codec(index = 2)]
-					Mandatory,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DispatchInfo {
-					pub weight: ::sp_weights::Weight,
-					pub class: runtime_types::frame_support::dispatch::DispatchClass,
-					pub pays_fee: runtime_types::frame_support::dispatch::Pays,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Pays {
-					#[codec(index = 0)]
-					Yes,
-					#[codec(index = 1)]
-					No,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PerDispatchClass<_0> {
-					pub normal: _0,
-					pub operational: _0,
-					pub mandatory: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum RawOrigin<_0> {
-					#[codec(index = 0)]
-					Root,
-					#[codec(index = 1)]
-					Signed(_0),
-					#[codec(index = 2)]
-					None,
-				}
-			}
-			pub mod traits {
-				use super::runtime_types;
-				pub mod messages {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum ProcessMessageError {
-						#[codec(index = 0)]
-						BadFormat,
-						#[codec(index = 1)]
-						Corrupt,
-						#[codec(index = 2)]
-						Unsupported,
-						#[codec(index = 3)]
-						Overweight(::sp_weights::Weight),
-						#[codec(index = 4)]
-						Yield,
-					}
-				}
-				pub mod tokens {
-					use super::runtime_types;
-					pub mod misc {
-						use super::runtime_types;
-						#[derive(
-							:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq,
-						)]
-						pub enum BalanceStatus {
-							#[codec(index = 0)]
-							Free,
-							#[codec(index = 1)]
-							Reserved,
-						}
-					}
-				}
-			}
-		}
-		pub mod frame_system {
-			use super::runtime_types;
-			pub mod extensions {
-				use super::runtime_types;
-				pub mod check_genesis {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckGenesis;
-				}
-				pub mod check_mortality {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckMortality(pub ::sp_runtime::generic::Era);
-				}
-				pub mod check_non_zero_sender {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckNonZeroSender;
-				}
-				pub mod check_nonce {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckNonce(#[codec(compact)] pub ::core::primitive::u32);
-				}
-				pub mod check_spec_version {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckSpecVersion;
-				}
-				pub mod check_tx_version {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckTxVersion;
-				}
-				pub mod check_weight {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckWeight;
-				}
-			}
-			pub mod limits {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BlockLength {
-					pub max: runtime_types::frame_support::dispatch::PerDispatchClass<
-						::core::primitive::u32,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BlockWeights {
-					pub base_block: ::sp_weights::Weight,
-					pub max_block: ::sp_weights::Weight,
-					pub per_class: runtime_types::frame_support::dispatch::PerDispatchClass<
-						runtime_types::frame_system::limits::WeightsPerClass,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct WeightsPerClass {
-					pub base_extrinsic: ::sp_weights::Weight,
-					pub max_extrinsic: ::core::option::Option<::sp_weights::Weight>,
-					pub max_total: ::core::option::Option<::sp_weights::Weight>,
-					pub reserved: ::core::option::Option<::sp_weights::Weight>,
-				}
-			}
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					remark { remark: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 1)]
-					set_heap_pages { pages: ::core::primitive::u64 },
-					#[codec(index = 2)]
-					set_code { code: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 3)]
-					set_code_without_checks { code: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 4)]
-					set_storage {
-						items: ::std::vec::Vec<(
-							::std::vec::Vec<::core::primitive::u8>,
-							::std::vec::Vec<::core::primitive::u8>,
-						)>,
-					},
-					#[codec(index = 5)]
-					kill_storage { keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>> },
-					#[codec(index = 6)]
-					kill_prefix {
-						prefix: ::std::vec::Vec<::core::primitive::u8>,
-						subkeys: ::core::primitive::u32,
-					},
-					#[codec(index = 7)]
-					remark_with_event { remark: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 9)]
-					authorize_upgrade { code_hash: ::subxt::utils::H256 },
-					#[codec(index = 10)]
-					authorize_upgrade_without_checks { code_hash: ::subxt::utils::H256 },
-					#[codec(index = 11)]
-					apply_authorized_upgrade { code: ::std::vec::Vec<::core::primitive::u8> },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidSpecName,
-					#[codec(index = 1)]
-					SpecVersionNeedsToIncrease,
-					#[codec(index = 2)]
-					FailedToExtractRuntimeVersion,
-					#[codec(index = 3)]
-					NonDefaultComposite,
-					#[codec(index = 4)]
-					NonZeroRefCount,
-					#[codec(index = 5)]
-					CallFiltered,
-					#[codec(index = 6)]
-					NothingAuthorized,
-					#[codec(index = 7)]
-					Unauthorized,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					ExtrinsicSuccess {
-						dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo,
-					},
-					#[codec(index = 1)]
-					ExtrinsicFailed {
-						dispatch_error: runtime_types::sp_runtime::DispatchError,
-						dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo,
-					},
-					#[codec(index = 2)]
-					CodeUpdated,
-					#[codec(index = 3)]
-					NewAccount { account: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 4)]
-					KilledAccount { account: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 5)]
-					Remarked { sender: ::sp_core::crypto::AccountId32, hash: ::subxt::utils::H256 },
-					#[codec(index = 6)]
-					UpgradeAuthorized {
-						code_hash: ::subxt::utils::H256,
-						check_version: ::core::primitive::bool,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct AccountInfo<_0, _1> {
-				pub nonce: _0,
-				pub consumers: ::core::primitive::u32,
-				pub providers: ::core::primitive::u32,
-				pub sufficients: ::core::primitive::u32,
-				pub data: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct CodeUpgradeAuthorization {
-				pub code_hash: ::subxt::utils::H256,
-				pub check_version: ::core::primitive::bool,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct EventRecord<_0, _1> {
-				pub phase: runtime_types::frame_system::Phase,
-				pub event: _0,
-				pub topics: ::std::vec::Vec<_1>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct LastRuntimeUpgradeInfo {
-				#[codec(compact)]
-				pub spec_version: ::core::primitive::u32,
-				pub spec_name: ::std::string::String,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Phase {
-				#[codec(index = 0)]
-				ApplyExtrinsic(::core::primitive::u32),
-				#[codec(index = 1)]
-				Finalization,
-				#[codec(index = 2)]
-				Initialization,
-			}
-		}
-		pub mod pallet_balances {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					transfer_allow_death {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					force_transfer {
-						source: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					transfer_keep_alive {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					transfer_all {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						keep_alive: ::core::primitive::bool,
-					},
-					#[codec(index = 5)]
-					force_unreserve {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 6)]
-					upgrade_accounts { who: ::std::vec::Vec<::sp_core::crypto::AccountId32> },
-					#[codec(index = 8)]
-					force_set_balance {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						new_free: ::core::primitive::u128,
-					},
-					#[codec(index = 9)]
-					force_adjust_total_issuance {
-						direction: runtime_types::pallet_balances::types::AdjustmentDirection,
-						#[codec(compact)]
-						delta: ::core::primitive::u128,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					VestingBalance,
-					#[codec(index = 1)]
-					LiquidityRestrictions,
-					#[codec(index = 2)]
-					InsufficientBalance,
-					#[codec(index = 3)]
-					ExistentialDeposit,
-					#[codec(index = 4)]
-					Expendability,
-					#[codec(index = 5)]
-					ExistingVestingSchedule,
-					#[codec(index = 6)]
-					DeadAccount,
-					#[codec(index = 7)]
-					TooManyReserves,
-					#[codec(index = 8)]
-					TooManyHolds,
-					#[codec(index = 9)]
-					TooManyFreezes,
-					#[codec(index = 10)]
-					IssuanceDeactivated,
-					#[codec(index = 11)]
-					DeltaZero,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Endowed {
-						account: ::sp_core::crypto::AccountId32,
-						free_balance: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					DustLost {
-						account: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					Transfer {
-						from: ::sp_core::crypto::AccountId32,
-						to: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					BalanceSet {
-						who: ::sp_core::crypto::AccountId32,
-						free: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					Reserved {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 5)]
-					Unreserved {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 6)]
-					ReserveRepatriated {
-						from: ::sp_core::crypto::AccountId32,
-						to: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-						destination_status:
-							runtime_types::frame_support::traits::tokens::misc::BalanceStatus,
-					},
-					#[codec(index = 7)]
-					Deposit { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 8)]
-					Withdraw {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 9)]
-					Slashed { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 10)]
-					Minted { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 11)]
-					Burned { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 12)]
-					Suspended {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 13)]
-					Restored {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 14)]
-					Upgraded { who: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 15)]
-					Issued { amount: ::core::primitive::u128 },
-					#[codec(index = 16)]
-					Rescinded { amount: ::core::primitive::u128 },
-					#[codec(index = 17)]
-					Locked { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 18)]
-					Unlocked {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 19)]
-					Frozen { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 20)]
-					Thawed { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 21)]
-					TotalIssuanceForced {
-						old: ::core::primitive::u128,
-						new: ::core::primitive::u128,
-					},
-				}
-			}
-			pub mod types {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AccountData<_0> {
-					pub free: _0,
-					pub reserved: _0,
-					pub frozen: _0,
-					pub flags: runtime_types::pallet_balances::types::ExtraFlags,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum AdjustmentDirection {
-					#[codec(index = 0)]
-					Increase,
-					#[codec(index = 1)]
-					Decrease,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BalanceLock<_0> {
-					pub id: [::core::primitive::u8; 8usize],
-					pub amount: _0,
-					pub reasons: runtime_types::pallet_balances::types::Reasons,
-				}
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct ExtraFlags(pub ::core::primitive::u128);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct IdAmount<_0, _1> {
-					pub id: _0,
-					pub amount: _1,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Reasons {
-					#[codec(index = 0)]
-					Fee,
-					#[codec(index = 1)]
-					Misc,
-					#[codec(index = 2)]
-					All,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ReserveData<_0, _1> {
-					pub id: _0,
-					pub amount: _1,
-				}
-			}
-		}
-		pub mod pallet_bridge_grandpa {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					submit_finality_proof {
-						finality_target: ::std::boxed::Box<
-							::sp_runtime::generic::Header<
-								::core::primitive::u32,
-								::sp_runtime::traits::BlakeTwo256,
-							>,
-						>,
-						justification: ::bp_header_chain::justification::GrandpaJustification<
-							::sp_runtime::generic::Header<
-								::core::primitive::u32,
-								::sp_runtime::traits::BlakeTwo256,
-							>,
-						>,
-					},
-					#[codec(index = 1)]
-					initialize {
-						init_data: ::bp_header_chain::InitializationData<
-							::sp_runtime::generic::Header<
-								::core::primitive::u32,
-								::sp_runtime::traits::BlakeTwo256,
-							>,
-						>,
-					},
-					#[codec(index = 2)]
-					set_owner { new_owner: ::core::option::Option<::sp_core::crypto::AccountId32> },
-					#[codec(index = 3)]
-					set_operating_mode {
-						operating_mode: runtime_types::bp_runtime::BasicOperatingMode,
-					},
-					#[codec(index = 4)]
-					submit_finality_proof_ex {
-						finality_target: ::std::boxed::Box<
-							::sp_runtime::generic::Header<
-								::core::primitive::u32,
-								::sp_runtime::traits::BlakeTwo256,
-							>,
-						>,
-						justification: ::bp_header_chain::justification::GrandpaJustification<
-							::sp_runtime::generic::Header<
-								::core::primitive::u32,
-								::sp_runtime::traits::BlakeTwo256,
-							>,
-						>,
-						current_set_id: ::core::primitive::u64,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call2 {
-					#[codec(index = 0)]
-					submit_finality_proof {
-						finality_target: ::std::boxed::Box<
-							::sp_runtime::generic::Header<
-								::core::primitive::u32,
-								::sp_runtime::traits::BlakeTwo256,
-							>,
-						>,
-						justification: ::bp_header_chain::justification::GrandpaJustification<
-							::sp_runtime::generic::Header<
-								::core::primitive::u32,
-								::sp_runtime::traits::BlakeTwo256,
-							>,
-						>,
-					},
-					#[codec(index = 1)]
-					initialize {
-						init_data: ::bp_header_chain::InitializationData<
-							::sp_runtime::generic::Header<
-								::core::primitive::u32,
-								::sp_runtime::traits::BlakeTwo256,
-							>,
-						>,
-					},
-					#[codec(index = 2)]
-					set_owner { new_owner: ::core::option::Option<::sp_core::crypto::AccountId32> },
-					#[codec(index = 3)]
-					set_operating_mode {
-						operating_mode: runtime_types::bp_runtime::BasicOperatingMode,
-					},
-					#[codec(index = 4)]
-					submit_finality_proof_ex {
-						finality_target: ::std::boxed::Box<
-							::sp_runtime::generic::Header<
-								::core::primitive::u32,
-								::sp_runtime::traits::BlakeTwo256,
-							>,
-						>,
-						justification: ::bp_header_chain::justification::GrandpaJustification<
-							::sp_runtime::generic::Header<
-								::core::primitive::u32,
-								::sp_runtime::traits::BlakeTwo256,
-							>,
-						>,
-						current_set_id: ::core::primitive::u64,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidJustification,
-					#[codec(index = 1)]
-					InvalidAuthoritySet,
-					#[codec(index = 2)]
-					OldHeader,
-					#[codec(index = 3)]
-					UnsupportedScheduledChange,
-					#[codec(index = 4)]
-					NotInitialized,
-					#[codec(index = 5)]
-					AlreadyInitialized,
-					#[codec(index = 6)]
-					TooManyAuthoritiesInSet,
-					#[codec(index = 7)]
-					BridgeModule(runtime_types::bp_runtime::OwnedBridgeModuleError),
-					#[codec(index = 8)]
-					InvalidAuthoritySetId,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error2 {
-					#[codec(index = 0)]
-					InvalidJustification,
-					#[codec(index = 1)]
-					InvalidAuthoritySet,
-					#[codec(index = 2)]
-					OldHeader,
-					#[codec(index = 3)]
-					UnsupportedScheduledChange,
-					#[codec(index = 4)]
-					NotInitialized,
-					#[codec(index = 5)]
-					AlreadyInitialized,
-					#[codec(index = 6)]
-					TooManyAuthoritiesInSet,
-					#[codec(index = 7)]
-					BridgeModule(runtime_types::bp_runtime::OwnedBridgeModuleError),
-					#[codec(index = 8)]
-					InvalidAuthoritySetId,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					UpdatedBestFinalizedHeader {
-						number: ::core::primitive::u32,
-						hash: ::subxt::utils::H256,
-						grandpa_info: runtime_types::bp_header_chain::HeaderFinalityInfo<
-							::bp_header_chain::justification::GrandpaJustification<
-								::sp_runtime::generic::Header<
-									::core::primitive::u32,
-									::sp_runtime::traits::BlakeTwo256,
-								>,
-							>,
-							runtime_types::bp_header_chain::AuthoritySet,
-						>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event2 {
-					#[codec(index = 0)]
-					UpdatedBestFinalizedHeader {
-						number: ::core::primitive::u32,
-						hash: ::subxt::utils::H256,
-						grandpa_info: runtime_types::bp_header_chain::HeaderFinalityInfo<
-							::bp_header_chain::justification::GrandpaJustification<
-								::sp_runtime::generic::Header<
-									::core::primitive::u32,
-									::sp_runtime::traits::BlakeTwo256,
-								>,
-							>,
-							runtime_types::bp_header_chain::AuthoritySet,
-						>,
-					},
-				}
-			}
-			pub mod storage_types {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct StoredAuthoritySet {
-					pub authorities: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-						runtime_types::sp_consensus_grandpa::app::Public,
-						::core::primitive::u64,
-					)>,
-					pub set_id: ::core::primitive::u64,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct StoredAuthoritySet2 {
-					pub authorities: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-						runtime_types::sp_consensus_grandpa::app::Public,
-						::core::primitive::u64,
-					)>,
-					pub set_id: ::core::primitive::u64,
-				}
-			}
-		}
-		pub mod pallet_bridge_messages {
-			use super::runtime_types;
-			pub mod outbound_lane {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum ReceivalConfirmationError {
-					#[codec(index = 0)]
-					FailedToConfirmFutureMessages,
-					#[codec(index = 1)]
-					EmptyUnrewardedRelayerEntry,
-					#[codec(index = 2)]
-					NonConsecutiveUnrewardedRelayerEntries,
-					#[codec(index = 3)]
-					TryingToConfirmMoreMessagesThanExpected,
-				}
-			}
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					# [codec (index = 0)] set_owner { new_owner : :: core :: option :: Option < :: sp_core :: crypto :: AccountId32 > , } , # [codec (index = 1)] set_operating_mode { operating_mode : runtime_types :: bp_messages :: MessagesOperatingMode , } , # [codec (index = 2)] receive_messages_proof { relayer_id_at_bridged_chain : :: sp_core :: crypto :: AccountId32 , proof : :: bridge_runtime_common :: messages :: target :: FromBridgedChainMessagesProof < :: subxt :: utils :: H256 > , messages_count : :: core :: primitive :: u32 , dispatch_weight : :: sp_weights :: Weight , } , # [codec (index = 3)] receive_messages_delivery_proof { proof : :: bridge_runtime_common :: messages :: source :: FromBridgedChainMessagesDeliveryProof < :: subxt :: utils :: H256 > , relayers_state : :: bp_messages :: UnrewardedRelayersState , } , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call2 {
-					# [codec (index = 0)] set_owner { new_owner : :: core :: option :: Option < :: sp_core :: crypto :: AccountId32 > , } , # [codec (index = 1)] set_operating_mode { operating_mode : runtime_types :: bp_messages :: MessagesOperatingMode , } , # [codec (index = 2)] receive_messages_proof { relayer_id_at_bridged_chain : :: sp_core :: crypto :: AccountId32 , proof : :: bridge_runtime_common :: messages :: target :: FromBridgedChainMessagesProof < :: subxt :: utils :: H256 > , messages_count : :: core :: primitive :: u32 , dispatch_weight : :: sp_weights :: Weight , } , # [codec (index = 3)] receive_messages_delivery_proof { proof : :: bridge_runtime_common :: messages :: source :: FromBridgedChainMessagesDeliveryProof < :: subxt :: utils :: H256 > , relayers_state : :: bp_messages :: UnrewardedRelayersState , } , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					# [codec (index = 0)] NotOperatingNormally , # [codec (index = 1)] InactiveOutboundLane , # [codec (index = 2)] MessageDispatchInactive , # [codec (index = 3)] MessageRejectedByChainVerifier (runtime_types :: bp_messages :: VerificationError ,) , # [codec (index = 4)] MessageRejectedByPallet (runtime_types :: bp_messages :: VerificationError ,) , # [codec (index = 5)] FailedToWithdrawMessageFee , # [codec (index = 6)] TooManyMessagesInTheProof , # [codec (index = 7)] InvalidMessagesProof , # [codec (index = 8)] InvalidMessagesDeliveryProof , # [codec (index = 9)] InvalidUnrewardedRelayersState , # [codec (index = 10)] InsufficientDispatchWeight , # [codec (index = 11)] MessageIsNotYetSent , # [codec (index = 12)] ReceivalConfirmation (runtime_types :: pallet_bridge_messages :: outbound_lane :: ReceivalConfirmationError ,) , # [codec (index = 13)] BridgeModule (runtime_types :: bp_runtime :: OwnedBridgeModuleError ,) , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error2 {
-					# [codec (index = 0)] NotOperatingNormally , # [codec (index = 1)] InactiveOutboundLane , # [codec (index = 2)] MessageDispatchInactive , # [codec (index = 3)] MessageRejectedByChainVerifier (runtime_types :: bp_messages :: VerificationError ,) , # [codec (index = 4)] MessageRejectedByPallet (runtime_types :: bp_messages :: VerificationError ,) , # [codec (index = 5)] FailedToWithdrawMessageFee , # [codec (index = 6)] TooManyMessagesInTheProof , # [codec (index = 7)] InvalidMessagesProof , # [codec (index = 8)] InvalidMessagesDeliveryProof , # [codec (index = 9)] InvalidUnrewardedRelayersState , # [codec (index = 10)] InsufficientDispatchWeight , # [codec (index = 11)] MessageIsNotYetSent , # [codec (index = 12)] ReceivalConfirmation (runtime_types :: pallet_bridge_messages :: outbound_lane :: ReceivalConfirmationError ,) , # [codec (index = 13)] BridgeModule (runtime_types :: bp_runtime :: OwnedBridgeModuleError ,) , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					# [codec (index = 0)] MessageAccepted { lane_id : runtime_types :: bp_messages :: LaneId , nonce : :: core :: primitive :: u64 , } , # [codec (index = 1)] MessagesReceived (:: std :: vec :: Vec < runtime_types :: bp_messages :: ReceivedMessages < runtime_types :: bridge_runtime_common :: messages_xcm_extension :: XcmBlobMessageDispatchResult > > ,) , # [codec (index = 2)] MessagesDelivered { lane_id : runtime_types :: bp_messages :: LaneId , messages : runtime_types :: bp_messages :: DeliveredMessages , } , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event2 {
-					# [codec (index = 0)] MessageAccepted { lane_id : runtime_types :: bp_messages :: LaneId , nonce : :: core :: primitive :: u64 , } , # [codec (index = 1)] MessagesReceived (:: std :: vec :: Vec < runtime_types :: bp_messages :: ReceivedMessages < runtime_types :: bridge_runtime_common :: messages_xcm_extension :: XcmBlobMessageDispatchResult > > ,) , # [codec (index = 2)] MessagesDelivered { lane_id : runtime_types :: bp_messages :: LaneId , messages : runtime_types :: bp_messages :: DeliveredMessages , } , }
-			}
-		}
-		pub mod pallet_bridge_parachains {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					submit_parachain_heads {
-						at_relay_block: (::core::primitive::u32, ::subxt::utils::H256),
-						parachains: ::std::vec::Vec<(
-							::bp_polkadot_core::parachains::ParaId,
-							::subxt::utils::H256,
-						)>,
-						parachain_heads_proof: ::bp_polkadot_core::parachains::ParaHeadsProof,
-					},
-					#[codec(index = 1)]
-					set_owner { new_owner: ::core::option::Option<::sp_core::crypto::AccountId32> },
-					#[codec(index = 2)]
-					set_operating_mode {
-						operating_mode: runtime_types::bp_runtime::BasicOperatingMode,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					UnknownRelayChainBlock,
-					#[codec(index = 1)]
-					InvalidRelayChainBlockNumber,
-					#[codec(index = 2)]
-					HeaderChainStorageProof(runtime_types::bp_header_chain::HeaderChainError),
-					#[codec(index = 3)]
-					BridgeModule(runtime_types::bp_runtime::OwnedBridgeModuleError),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					UntrackedParachainRejected { parachain: ::bp_polkadot_core::parachains::ParaId },
-					#[codec(index = 1)]
-					MissingParachainHead { parachain: ::bp_polkadot_core::parachains::ParaId },
-					#[codec(index = 2)]
-					IncorrectParachainHeadHash {
-						parachain: ::bp_polkadot_core::parachains::ParaId,
-						parachain_head_hash: ::subxt::utils::H256,
-						actual_parachain_head_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 3)]
-					RejectedObsoleteParachainHead {
-						parachain: ::bp_polkadot_core::parachains::ParaId,
-						parachain_head_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 4)]
-					RejectedLargeParachainHead {
-						parachain: ::bp_polkadot_core::parachains::ParaId,
-						parachain_head_hash: ::subxt::utils::H256,
-						parachain_head_size: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					UpdatedParachainHead {
-						parachain: ::bp_polkadot_core::parachains::ParaId,
-						parachain_head_hash: ::subxt::utils::H256,
-					},
-				}
-			}
-		}
-		pub mod pallet_bridge_relayers {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					claim_rewards {
-						rewards_account_params: runtime_types::bp_relayers::RewardsAccountParams,
-					},
-					#[codec(index = 1)]
-					register { valid_till: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					deregister,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NoRewardForRelayer,
-					#[codec(index = 1)]
-					FailedToPayReward,
-					#[codec(index = 2)]
-					InvalidRegistrationLease,
-					#[codec(index = 3)]
-					CannotReduceRegistrationLease,
-					#[codec(index = 4)]
-					FailedToReserve,
-					#[codec(index = 5)]
-					FailedToUnreserve,
-					#[codec(index = 6)]
-					NotRegistered,
-					#[codec(index = 7)]
-					RegistrationIsStillActive,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					RewardRegistered {
-						relayer: ::sp_core::crypto::AccountId32,
-						rewards_account_params: runtime_types::bp_relayers::RewardsAccountParams,
-						reward: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					RewardPaid {
-						relayer: ::sp_core::crypto::AccountId32,
-						rewards_account_params: runtime_types::bp_relayers::RewardsAccountParams,
-						reward: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					RegistrationUpdated {
-						relayer: ::sp_core::crypto::AccountId32,
-						registration: runtime_types::bp_relayers::registration::Registration<
-							::core::primitive::u32,
-							::core::primitive::u128,
-						>,
-					},
-					#[codec(index = 3)]
-					Deregistered { relayer: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 4)]
-					SlashedAndDeregistered {
-						relayer: ::sp_core::crypto::AccountId32,
-						registration: runtime_types::bp_relayers::registration::Registration<
-							::core::primitive::u32,
-							::core::primitive::u128,
-						>,
-					},
-				}
-			}
-		}
-		pub mod pallet_collator_selection {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					set_invulnerables { new: ::std::vec::Vec<::sp_core::crypto::AccountId32> },
-					#[codec(index = 1)]
-					set_desired_candidates { max: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					set_candidacy_bond { bond: ::core::primitive::u128 },
-					#[codec(index = 3)]
-					register_as_candidate,
-					#[codec(index = 4)]
-					leave_intent,
-					#[codec(index = 5)]
-					add_invulnerable { who: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 6)]
-					remove_invulnerable { who: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 7)]
-					update_bond { new_deposit: ::core::primitive::u128 },
-					#[codec(index = 8)]
-					take_candidate_slot {
-						deposit: ::core::primitive::u128,
-						target: ::sp_core::crypto::AccountId32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CandidateInfo<_0, _1> {
-					pub who: _0,
-					pub deposit: _1,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					TooManyCandidates,
-					#[codec(index = 1)]
-					TooFewEligibleCollators,
-					#[codec(index = 2)]
-					AlreadyCandidate,
-					#[codec(index = 3)]
-					NotCandidate,
-					#[codec(index = 4)]
-					TooManyInvulnerables,
-					#[codec(index = 5)]
-					AlreadyInvulnerable,
-					#[codec(index = 6)]
-					NotInvulnerable,
-					#[codec(index = 7)]
-					NoAssociatedValidatorId,
-					#[codec(index = 8)]
-					ValidatorNotRegistered,
-					#[codec(index = 9)]
-					InsertToCandidateListFailed,
-					#[codec(index = 10)]
-					RemoveFromCandidateListFailed,
-					#[codec(index = 11)]
-					DepositTooLow,
-					#[codec(index = 12)]
-					UpdateCandidateListFailed,
-					#[codec(index = 13)]
-					InsufficientBond,
-					#[codec(index = 14)]
-					TargetIsNotCandidate,
-					#[codec(index = 15)]
-					IdenticalDeposit,
-					#[codec(index = 16)]
-					InvalidUnreserve,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewInvulnerables {
-						invulnerables: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-					},
-					#[codec(index = 1)]
-					InvulnerableAdded { account_id: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 2)]
-					InvulnerableRemoved { account_id: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 3)]
-					NewDesiredCandidates { desired_candidates: ::core::primitive::u32 },
-					#[codec(index = 4)]
-					NewCandidacyBond { bond_amount: ::core::primitive::u128 },
-					#[codec(index = 5)]
-					CandidateAdded {
-						account_id: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 6)]
-					CandidateBondUpdated {
-						account_id: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 7)]
-					CandidateRemoved { account_id: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 8)]
-					CandidateReplaced {
-						old: ::sp_core::crypto::AccountId32,
-						new: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 9)]
-					InvalidInvulnerableSkipped { account_id: ::sp_core::crypto::AccountId32 },
-				}
-			}
-		}
-		pub mod pallet_message_queue {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					reap_page {
-						message_origin:
-							runtime_types::bridge_hub_common::message_queue::AggregateMessageOrigin,
-						page_index: ::core::primitive::u32,
-					},
-					#[codec(index = 1)]
-					execute_overweight {
-						message_origin:
-							runtime_types::bridge_hub_common::message_queue::AggregateMessageOrigin,
-						page: ::core::primitive::u32,
-						index: ::core::primitive::u32,
-						weight_limit: ::sp_weights::Weight,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotReapable,
-					#[codec(index = 1)]
-					NoPage,
-					#[codec(index = 2)]
-					NoMessage,
-					#[codec(index = 3)]
-					AlreadyProcessed,
-					#[codec(index = 4)]
-					Queued,
-					#[codec(index = 5)]
-					InsufficientWeight,
-					#[codec(index = 6)]
-					TemporarilyUnprocessable,
-					#[codec(index = 7)]
-					QueuePaused,
-					#[codec(index = 8)]
-					RecursiveDisallowed,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					ProcessingFailed {
-						id: ::subxt::utils::H256,
-						origin:
-							runtime_types::bridge_hub_common::message_queue::AggregateMessageOrigin,
-						error: runtime_types::frame_support::traits::messages::ProcessMessageError,
-					},
-					#[codec(index = 1)]
-					Processed {
-						id: ::subxt::utils::H256,
-						origin:
-							runtime_types::bridge_hub_common::message_queue::AggregateMessageOrigin,
-						weight_used: ::sp_weights::Weight,
-						success: ::core::primitive::bool,
-					},
-					#[codec(index = 2)]
-					OverweightEnqueued {
-						id: [::core::primitive::u8; 32usize],
-						origin:
-							runtime_types::bridge_hub_common::message_queue::AggregateMessageOrigin,
-						page_index: ::core::primitive::u32,
-						message_index: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					PageReaped {
-						origin:
-							runtime_types::bridge_hub_common::message_queue::AggregateMessageOrigin,
-						index: ::core::primitive::u32,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BookState<_0> {
-				pub begin: ::core::primitive::u32,
-				pub end: ::core::primitive::u32,
-				pub count: ::core::primitive::u32,
-				pub ready_neighbours:
-					::core::option::Option<runtime_types::pallet_message_queue::Neighbours<_0>>,
-				pub message_count: ::core::primitive::u64,
-				pub size: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Neighbours<_0> {
-				pub prev: _0,
-				pub next: _0,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Page<_0> {
-				pub remaining: _0,
-				pub remaining_size: _0,
-				pub first_index: _0,
-				pub first: _0,
-				pub last: _0,
-				pub heap: runtime_types::bounded_collections::bounded_vec::BoundedVec<
-					::core::primitive::u8,
-				>,
-			}
-		}
-		pub mod pallet_multisig {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					as_multi_threshold_1 {
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						call: ::std::boxed::Box<
-							runtime_types::bridge_hub_rococo_runtime::RuntimeCall,
-						>,
-					},
-					#[codec(index = 1)]
-					as_multi {
-						threshold: ::core::primitive::u16,
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						maybe_timepoint: ::core::option::Option<
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						>,
-						call: ::std::boxed::Box<
-							runtime_types::bridge_hub_rococo_runtime::RuntimeCall,
-						>,
-						max_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 2)]
-					approve_as_multi {
-						threshold: ::core::primitive::u16,
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						maybe_timepoint: ::core::option::Option<
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						>,
-						call_hash: [::core::primitive::u8; 32usize],
-						max_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 3)]
-					cancel_as_multi {
-						threshold: ::core::primitive::u16,
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					MinimumThreshold,
-					#[codec(index = 1)]
-					AlreadyApproved,
-					#[codec(index = 2)]
-					NoApprovalsNeeded,
-					#[codec(index = 3)]
-					TooFewSignatories,
-					#[codec(index = 4)]
-					TooManySignatories,
-					#[codec(index = 5)]
-					SignatoriesOutOfOrder,
-					#[codec(index = 6)]
-					SenderInSignatories,
-					#[codec(index = 7)]
-					NotFound,
-					#[codec(index = 8)]
-					NotOwner,
-					#[codec(index = 9)]
-					NoTimepoint,
-					#[codec(index = 10)]
-					WrongTimepoint,
-					#[codec(index = 11)]
-					UnexpectedTimepoint,
-					#[codec(index = 12)]
-					MaxWeightTooLow,
-					#[codec(index = 13)]
-					AlreadyStored,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewMultisig {
-						approving: ::sp_core::crypto::AccountId32,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 1)]
-					MultisigApproval {
-						approving: ::sp_core::crypto::AccountId32,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 2)]
-					MultisigExecuted {
-						approving: ::sp_core::crypto::AccountId32,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 3)]
-					MultisigCancelled {
-						cancelling: ::sp_core::crypto::AccountId32,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Multisig<_0, _1, _2> {
-				pub when: runtime_types::pallet_multisig::Timepoint<_0>,
-				pub deposit: _1,
-				pub depositor: _2,
-				pub approvals: runtime_types::bounded_collections::bounded_vec::BoundedVec<_2>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Timepoint<_0> {
-				pub height: _0,
-				pub index: ::core::primitive::u32,
-			}
-		}
-		pub mod pallet_session {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					set_keys {
-						keys: runtime_types::bridge_hub_rococo_runtime::SessionKeys,
-						proof: ::std::vec::Vec<::core::primitive::u8>,
-					},
-					#[codec(index = 1)]
-					purge_keys,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidProof,
-					#[codec(index = 1)]
-					NoAssociatedValidatorId,
-					#[codec(index = 2)]
-					DuplicatedKey,
-					#[codec(index = 3)]
-					NoKeys,
-					#[codec(index = 4)]
-					NoAccount,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewSession { session_index: ::core::primitive::u32 },
-				}
-			}
-		}
-		pub mod pallet_timestamp {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					set {
-						#[codec(compact)]
-						now: ::core::primitive::u64,
-					},
-				}
-			}
-		}
-		pub mod pallet_transaction_payment {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					TransactionFeePaid {
-						who: ::sp_core::crypto::AccountId32,
-						actual_fee: ::core::primitive::u128,
-						tip: ::core::primitive::u128,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ChargeTransactionPayment(#[codec(compact)] pub ::core::primitive::u128);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Releases {
-				#[codec(index = 0)]
-				V1Ancient,
-				#[codec(index = 1)]
-				V2,
-			}
-		}
-		pub mod pallet_utility {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					batch {
-						calls:
-							::std::vec::Vec<runtime_types::bridge_hub_rococo_runtime::RuntimeCall>,
-					},
-					#[codec(index = 1)]
-					as_derivative {
-						index: ::core::primitive::u16,
-						call: ::std::boxed::Box<
-							runtime_types::bridge_hub_rococo_runtime::RuntimeCall,
-						>,
-					},
-					#[codec(index = 2)]
-					batch_all {
-						calls:
-							::std::vec::Vec<runtime_types::bridge_hub_rococo_runtime::RuntimeCall>,
-					},
-					#[codec(index = 3)]
-					dispatch_as {
-						as_origin: ::std::boxed::Box<
-							runtime_types::bridge_hub_rococo_runtime::OriginCaller,
-						>,
-						call: ::std::boxed::Box<
-							runtime_types::bridge_hub_rococo_runtime::RuntimeCall,
-						>,
-					},
-					#[codec(index = 4)]
-					force_batch {
-						calls:
-							::std::vec::Vec<runtime_types::bridge_hub_rococo_runtime::RuntimeCall>,
-					},
-					#[codec(index = 5)]
-					with_weight {
-						call: ::std::boxed::Box<
-							runtime_types::bridge_hub_rococo_runtime::RuntimeCall,
-						>,
-						weight: ::sp_weights::Weight,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					TooManyCalls,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					BatchInterrupted {
-						index: ::core::primitive::u32,
-						error: runtime_types::sp_runtime::DispatchError,
-					},
-					#[codec(index = 1)]
-					BatchCompleted,
-					#[codec(index = 2)]
-					BatchCompletedWithErrors,
-					#[codec(index = 3)]
-					ItemCompleted,
-					#[codec(index = 4)]
-					ItemFailed { error: runtime_types::sp_runtime::DispatchError },
-					#[codec(index = 5)]
-					DispatchedAs {
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-				}
-			}
-		}
-		pub mod pallet_xcm {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					send {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-						message: ::std::boxed::Box<runtime_types::xcm::VersionedXcm>,
-					},
-					#[codec(index = 1)]
-					teleport_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedAssets>,
-						fee_asset_item: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					reserve_transfer_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedAssets>,
-						fee_asset_item: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					execute {
-						message: ::std::boxed::Box<runtime_types::xcm::VersionedXcm2>,
-						max_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 4)]
-					force_xcm_version {
-						location:
-							::std::boxed::Box<runtime_types::staging_xcm::v4::location::Location>,
-						version: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					force_default_xcm_version {
-						maybe_xcm_version: ::core::option::Option<::core::primitive::u32>,
-					},
-					#[codec(index = 6)]
-					force_subscribe_version_notify {
-						location: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-					},
-					#[codec(index = 7)]
-					force_unsubscribe_version_notify {
-						location: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-					},
-					#[codec(index = 8)]
-					limited_reserve_transfer_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedAssets>,
-						fee_asset_item: ::core::primitive::u32,
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-					},
-					#[codec(index = 9)]
-					limited_teleport_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedAssets>,
-						fee_asset_item: ::core::primitive::u32,
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-					},
-					#[codec(index = 10)]
-					force_suspension { suspended: ::core::primitive::bool },
-					#[codec(index = 11)]
-					transfer_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedAssets>,
-						fee_asset_item: ::core::primitive::u32,
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					Unreachable,
-					#[codec(index = 1)]
-					SendFailure,
-					#[codec(index = 2)]
-					Filtered,
-					#[codec(index = 3)]
-					UnweighableMessage,
-					#[codec(index = 4)]
-					DestinationNotInvertible,
-					#[codec(index = 5)]
-					Empty,
-					#[codec(index = 6)]
-					CannotReanchor,
-					#[codec(index = 7)]
-					TooManyAssets,
-					#[codec(index = 8)]
-					InvalidOrigin,
-					#[codec(index = 9)]
-					BadVersion,
-					#[codec(index = 10)]
-					BadLocation,
-					#[codec(index = 11)]
-					NoSubscription,
-					#[codec(index = 12)]
-					AlreadySubscribed,
-					#[codec(index = 13)]
-					CannotCheckOutTeleport,
-					#[codec(index = 14)]
-					LowBalance,
-					#[codec(index = 15)]
-					TooManyLocks,
-					#[codec(index = 16)]
-					AccountNotSovereign,
-					#[codec(index = 17)]
-					FeesNotMet,
-					#[codec(index = 18)]
-					LockNotFound,
-					#[codec(index = 19)]
-					InUse,
-					#[codec(index = 20)]
-					InvalidAssetNotConcrete,
-					#[codec(index = 21)]
-					InvalidAssetUnknownReserve,
-					#[codec(index = 22)]
-					InvalidAssetUnsupportedReserve,
-					#[codec(index = 23)]
-					TooManyReserves,
-					#[codec(index = 24)]
-					LocalExecutionIncomplete,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Attempted { outcome: runtime_types::staging_xcm::v4::traits::Outcome },
-					#[codec(index = 1)]
-					Sent {
-						origin: runtime_types::staging_xcm::v4::location::Location,
-						destination: runtime_types::staging_xcm::v4::location::Location,
-						message: runtime_types::staging_xcm::v4::Xcm,
-						message_id: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 2)]
-					UnexpectedResponse {
-						origin: runtime_types::staging_xcm::v4::location::Location,
-						query_id: ::core::primitive::u64,
-					},
-					#[codec(index = 3)]
-					ResponseReady {
-						query_id: ::core::primitive::u64,
-						response: runtime_types::staging_xcm::v4::Response,
-					},
-					#[codec(index = 4)]
-					Notified {
-						query_id: ::core::primitive::u64,
-						pallet_index: ::core::primitive::u8,
-						call_index: ::core::primitive::u8,
-					},
-					#[codec(index = 5)]
-					NotifyOverweight {
-						query_id: ::core::primitive::u64,
-						pallet_index: ::core::primitive::u8,
-						call_index: ::core::primitive::u8,
-						actual_weight: ::sp_weights::Weight,
-						max_budgeted_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 6)]
-					NotifyDispatchError {
-						query_id: ::core::primitive::u64,
-						pallet_index: ::core::primitive::u8,
-						call_index: ::core::primitive::u8,
-					},
-					#[codec(index = 7)]
-					NotifyDecodeFailed {
-						query_id: ::core::primitive::u64,
-						pallet_index: ::core::primitive::u8,
-						call_index: ::core::primitive::u8,
-					},
-					#[codec(index = 8)]
-					InvalidResponder {
-						origin: runtime_types::staging_xcm::v4::location::Location,
-						query_id: ::core::primitive::u64,
-						expected_location: ::core::option::Option<
-							runtime_types::staging_xcm::v4::location::Location,
-						>,
-					},
-					#[codec(index = 9)]
-					InvalidResponderVersion {
-						origin: runtime_types::staging_xcm::v4::location::Location,
-						query_id: ::core::primitive::u64,
-					},
-					#[codec(index = 10)]
-					ResponseTaken { query_id: ::core::primitive::u64 },
-					#[codec(index = 11)]
-					AssetsTrapped {
-						hash: ::subxt::utils::H256,
-						origin: runtime_types::staging_xcm::v4::location::Location,
-						assets: runtime_types::xcm::VersionedAssets,
-					},
-					#[codec(index = 12)]
-					VersionChangeNotified {
-						destination: runtime_types::staging_xcm::v4::location::Location,
-						result: ::core::primitive::u32,
-						cost: runtime_types::staging_xcm::v4::asset::Assets,
-						message_id: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 13)]
-					SupportedVersionChanged {
-						location: runtime_types::staging_xcm::v4::location::Location,
-						version: ::core::primitive::u32,
-					},
-					#[codec(index = 14)]
-					NotifyTargetSendFail {
-						location: runtime_types::staging_xcm::v4::location::Location,
-						query_id: ::core::primitive::u64,
-						error: runtime_types::xcm::v3::traits::Error,
-					},
-					#[codec(index = 15)]
-					NotifyTargetMigrationFail {
-						location: runtime_types::xcm::VersionedLocation,
-						query_id: ::core::primitive::u64,
-					},
-					#[codec(index = 16)]
-					InvalidQuerierVersion {
-						origin: runtime_types::staging_xcm::v4::location::Location,
-						query_id: ::core::primitive::u64,
-					},
-					#[codec(index = 17)]
-					InvalidQuerier {
-						origin: runtime_types::staging_xcm::v4::location::Location,
-						query_id: ::core::primitive::u64,
-						expected_querier: runtime_types::staging_xcm::v4::location::Location,
-						maybe_actual_querier: ::core::option::Option<
-							runtime_types::staging_xcm::v4::location::Location,
-						>,
-					},
-					#[codec(index = 18)]
-					VersionNotifyStarted {
-						destination: runtime_types::staging_xcm::v4::location::Location,
-						cost: runtime_types::staging_xcm::v4::asset::Assets,
-						message_id: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 19)]
-					VersionNotifyRequested {
-						destination: runtime_types::staging_xcm::v4::location::Location,
-						cost: runtime_types::staging_xcm::v4::asset::Assets,
-						message_id: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 20)]
-					VersionNotifyUnrequested {
-						destination: runtime_types::staging_xcm::v4::location::Location,
-						cost: runtime_types::staging_xcm::v4::asset::Assets,
-						message_id: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 21)]
-					FeesPaid {
-						paying: runtime_types::staging_xcm::v4::location::Location,
-						fees: runtime_types::staging_xcm::v4::asset::Assets,
-					},
-					#[codec(index = 22)]
-					AssetsClaimed {
-						hash: ::subxt::utils::H256,
-						origin: runtime_types::staging_xcm::v4::location::Location,
-						assets: runtime_types::xcm::VersionedAssets,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Origin {
-					#[codec(index = 0)]
-					Xcm(runtime_types::staging_xcm::v4::location::Location),
-					#[codec(index = 1)]
-					Response(runtime_types::staging_xcm::v4::location::Location),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum QueryStatus<_0> {
-					#[codec(index = 0)]
-					Pending {
-						responder: runtime_types::xcm::VersionedLocation,
-						maybe_match_querier:
-							::core::option::Option<runtime_types::xcm::VersionedLocation>,
-						maybe_notify:
-							::core::option::Option<(::core::primitive::u8, ::core::primitive::u8)>,
-						timeout: _0,
-					},
-					#[codec(index = 1)]
-					VersionNotifier {
-						origin: runtime_types::xcm::VersionedLocation,
-						is_active: ::core::primitive::bool,
-					},
-					#[codec(index = 2)]
-					Ready { response: runtime_types::xcm::VersionedResponse, at: _0 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RemoteLockedFungibleRecord<_0> {
-					pub amount: ::core::primitive::u128,
-					pub owner: runtime_types::xcm::VersionedLocation,
-					pub locker: runtime_types::xcm::VersionedLocation,
-					pub consumers: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-						_0,
-						::core::primitive::u128,
-					)>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum VersionMigrationStage {
-					#[codec(index = 0)]
-					MigrateSupportedVersion,
-					#[codec(index = 1)]
-					MigrateVersionNotifiers,
-					#[codec(index = 2)]
-					NotifyCurrentTargets(
-						::core::option::Option<::std::vec::Vec<::core::primitive::u8>>,
-					),
-					#[codec(index = 3)]
-					MigrateAndNotifyOldTargets,
-				}
-			}
-		}
-		pub mod polkadot_core_primitives {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundDownwardMessage<_0> {
-				pub sent_at: _0,
-				pub msg: ::std::vec::Vec<::core::primitive::u8>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundHrmpMessage<_0> {
-				pub sent_at: _0,
-				pub data: ::std::vec::Vec<::core::primitive::u8>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OutboundHrmpMessage<_0> {
-				pub recipient: _0,
-				pub data: ::std::vec::Vec<::core::primitive::u8>,
-			}
-		}
-		pub mod polkadot_parachain_primitives {
-			use super::runtime_types;
-			pub mod primitives {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HeadData(pub ::std::vec::Vec<::core::primitive::u8>);
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct Id(pub ::core::primitive::u32);
-			}
-		}
-		pub mod polkadot_primitives {
-			use super::runtime_types;
-			pub mod v6 {
-				use super::runtime_types;
-				pub mod async_backing {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct AsyncBackingParams {
-						pub max_candidate_depth: ::core::primitive::u32,
-						pub allowed_ancestry_len: ::core::primitive::u32,
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AbridgedHostConfiguration {
-					pub max_code_size: ::core::primitive::u32,
-					pub max_head_data_size: ::core::primitive::u32,
-					pub max_upward_queue_count: ::core::primitive::u32,
-					pub max_upward_queue_size: ::core::primitive::u32,
-					pub max_upward_message_size: ::core::primitive::u32,
-					pub max_upward_message_num_per_candidate: ::core::primitive::u32,
-					pub hrmp_max_message_num_per_candidate: ::core::primitive::u32,
-					pub validation_upgrade_cooldown: ::core::primitive::u32,
-					pub validation_upgrade_delay: ::core::primitive::u32,
-					pub async_backing_params:
-						runtime_types::polkadot_primitives::v6::async_backing::AsyncBackingParams,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AbridgedHrmpChannel {
-					pub max_capacity: ::core::primitive::u32,
-					pub max_total_size: ::core::primitive::u32,
-					pub max_message_size: ::core::primitive::u32,
-					pub msg_count: ::core::primitive::u32,
-					pub total_size: ::core::primitive::u32,
-					pub mqc_head: ::core::option::Option<::subxt::utils::H256>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PersistedValidationData<_0, _1> {
-					pub parent_head:
-						runtime_types::polkadot_parachain_primitives::primitives::HeadData,
-					pub relay_parent_number: _1,
-					pub relay_parent_storage_root: _0,
-					pub max_pov_size: ::core::primitive::u32,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum UpgradeGoAhead {
-					#[codec(index = 0)]
-					Abort,
-					#[codec(index = 1)]
-					GoAhead,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum UpgradeRestriction {
-					#[codec(index = 0)]
-					Present,
-				}
-			}
-		}
-		pub mod primitive_types {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct U256(pub [::core::primitive::u64; 4usize]);
-		}
-		pub mod snowbridge_amcl {
-			use super::runtime_types;
-			pub mod bls381 {
-				use super::runtime_types;
-				pub mod big {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Big {
-						pub w: [::core::primitive::i32; 14usize],
-					}
-				}
-				pub mod ecp {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct ECP {
-						pub x: runtime_types::snowbridge_amcl::bls381::fp::FP,
-						pub y: runtime_types::snowbridge_amcl::bls381::fp::FP,
-						pub z: runtime_types::snowbridge_amcl::bls381::fp::FP,
-					}
-				}
-				pub mod fp {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct FP {
-						pub x: runtime_types::snowbridge_amcl::bls381::big::Big,
-						pub xes: ::core::primitive::i32,
-					}
-				}
-			}
-		}
-		pub mod snowbridge_beacon_primitives {
-			use super::runtime_types;
-			pub mod bls {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum BlsError {
-					#[codec(index = 0)]
-					InvalidSignature,
-					#[codec(index = 1)]
-					InvalidPublicKey,
-					#[codec(index = 2)]
-					InvalidAggregatePublicKeys,
-					#[codec(index = 3)]
-					SignatureVerificationFailed,
-				}
-			}
-			pub mod types {
-				use super::runtime_types;
-				pub mod deneb {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct ExecutionPayloadHeader {
-						pub parent_hash: ::subxt::utils::H256,
-						pub fee_recipient: ::subxt::utils::H160,
-						pub state_root: ::subxt::utils::H256,
-						pub receipts_root: ::subxt::utils::H256,
-						pub logs_bloom: ::std::vec::Vec<::core::primitive::u8>,
-						pub prev_randao: ::subxt::utils::H256,
-						pub block_number: ::core::primitive::u64,
-						pub gas_limit: ::core::primitive::u64,
-						pub gas_used: ::core::primitive::u64,
-						pub timestamp: ::core::primitive::u64,
-						pub extra_data: ::std::vec::Vec<::core::primitive::u8>,
-						pub base_fee_per_gas: runtime_types::primitive_types::U256,
-						pub block_hash: ::subxt::utils::H256,
-						pub transactions_root: ::subxt::utils::H256,
-						pub withdrawals_root: ::subxt::utils::H256,
-						pub blob_gas_used: ::core::primitive::u64,
-						pub excess_blob_gas: ::core::primitive::u64,
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BeaconHeader {
-					pub slot: ::core::primitive::u64,
-					pub proposer_index: ::core::primitive::u64,
-					pub parent_root: ::subxt::utils::H256,
-					pub state_root: ::subxt::utils::H256,
-					pub body_root: ::subxt::utils::H256,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CompactBeaconState {
-					#[codec(compact)]
-					pub slot: ::core::primitive::u64,
-					pub block_roots_root: ::subxt::utils::H256,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CompactExecutionHeader {
-					pub parent_hash: ::subxt::utils::H256,
-					#[codec(compact)]
-					pub block_number: ::core::primitive::u64,
-					pub state_root: ::subxt::utils::H256,
-					pub receipts_root: ::subxt::utils::H256,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ExecutionHeaderState {
-					pub beacon_block_root: ::subxt::utils::H256,
-					pub beacon_slot: ::core::primitive::u64,
-					pub block_hash: ::subxt::utils::H256,
-					pub block_number: ::core::primitive::u64,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ExecutionPayloadHeader {
-					pub parent_hash: ::subxt::utils::H256,
-					pub fee_recipient: ::subxt::utils::H160,
-					pub state_root: ::subxt::utils::H256,
-					pub receipts_root: ::subxt::utils::H256,
-					pub logs_bloom: ::std::vec::Vec<::core::primitive::u8>,
-					pub prev_randao: ::subxt::utils::H256,
-					pub block_number: ::core::primitive::u64,
-					pub gas_limit: ::core::primitive::u64,
-					pub gas_used: ::core::primitive::u64,
-					pub timestamp: ::core::primitive::u64,
-					pub extra_data: ::std::vec::Vec<::core::primitive::u8>,
-					pub base_fee_per_gas: runtime_types::primitive_types::U256,
-					pub block_hash: ::subxt::utils::H256,
-					pub transactions_root: ::subxt::utils::H256,
-					pub withdrawals_root: ::subxt::utils::H256,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Fork {
-					pub version: [::core::primitive::u8; 4usize],
-					pub epoch: ::core::primitive::u64,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ForkVersions {
-					pub genesis: runtime_types::snowbridge_beacon_primitives::types::Fork,
-					pub altair: runtime_types::snowbridge_beacon_primitives::types::Fork,
-					pub bellatrix: runtime_types::snowbridge_beacon_primitives::types::Fork,
-					pub capella: runtime_types::snowbridge_beacon_primitives::types::Fork,
-					pub deneb: runtime_types::snowbridge_beacon_primitives::types::Fork,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PublicKey(pub [::core::primitive::u8; 48usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 96usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SyncAggregate {
-					pub sync_committee_bits: [::core::primitive::u8; 64usize],
-					pub sync_committee_signature:
-						runtime_types::snowbridge_beacon_primitives::types::Signature,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SyncCommittee {
-					pub pubkeys:
-						[runtime_types::snowbridge_beacon_primitives::types::PublicKey; 512usize],
-					pub aggregate_pubkey:
-						runtime_types::snowbridge_beacon_primitives::types::PublicKey,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SyncCommitteePrepared {
-					pub root: ::subxt::utils::H256,
-					pub pubkeys: ::std::boxed::Box<
-						[runtime_types::snowbridge_milagro_bls::keys::PublicKey; 512usize],
-					>,
-					pub aggregate_pubkey: runtime_types::snowbridge_milagro_bls::keys::PublicKey,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum VersionedExecutionPayloadHeader {
-					# [codec (index = 0)] Capella (runtime_types :: snowbridge_beacon_primitives :: types :: ExecutionPayloadHeader ,) , # [codec (index = 1)] Deneb (runtime_types :: snowbridge_beacon_primitives :: types :: deneb :: ExecutionPayloadHeader ,) , }
-			}
-			pub mod updates {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AncestryProof {
-					pub header_branch: ::std::vec::Vec<::subxt::utils::H256>,
-					pub finalized_block_root: ::subxt::utils::H256,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CheckpointUpdate {
-					pub header: runtime_types::snowbridge_beacon_primitives::types::BeaconHeader,
-					pub current_sync_committee:
-						runtime_types::snowbridge_beacon_primitives::types::SyncCommittee,
-					pub current_sync_committee_branch: ::std::vec::Vec<::subxt::utils::H256>,
-					pub validators_root: ::subxt::utils::H256,
-					pub block_roots_root: ::subxt::utils::H256,
-					pub block_roots_branch: ::std::vec::Vec<::subxt::utils::H256>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ExecutionHeaderUpdate { pub header : runtime_types :: snowbridge_beacon_primitives :: types :: BeaconHeader , pub ancestry_proof : :: core :: option :: Option < runtime_types :: snowbridge_beacon_primitives :: updates :: AncestryProof > , pub execution_header : runtime_types :: snowbridge_beacon_primitives :: types :: VersionedExecutionPayloadHeader , pub execution_branch : :: std :: vec :: Vec < :: subxt :: utils :: H256 > , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct NextSyncCommitteeUpdate {
-					pub next_sync_committee:
-						runtime_types::snowbridge_beacon_primitives::types::SyncCommittee,
-					pub next_sync_committee_branch: ::std::vec::Vec<::subxt::utils::H256>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Update { pub attested_header : runtime_types :: snowbridge_beacon_primitives :: types :: BeaconHeader , pub sync_aggregate : runtime_types :: snowbridge_beacon_primitives :: types :: SyncAggregate , pub signature_slot : :: core :: primitive :: u64 , pub next_sync_committee_update : :: core :: option :: Option < runtime_types :: snowbridge_beacon_primitives :: updates :: NextSyncCommitteeUpdate > , pub finalized_header : runtime_types :: snowbridge_beacon_primitives :: types :: BeaconHeader , pub finality_branch : :: std :: vec :: Vec < :: subxt :: utils :: H256 > , pub block_roots_root : :: subxt :: utils :: H256 , pub block_roots_branch : :: std :: vec :: Vec < :: subxt :: utils :: H256 > , }
-			}
-		}
-		pub mod snowbridge_core {
-			use super::runtime_types;
-			pub mod inbound {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Log {
-					pub address: ::subxt::utils::H160,
-					pub topics: ::std::vec::Vec<::subxt::utils::H256>,
-					pub data: ::std::vec::Vec<::core::primitive::u8>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Message {
-					pub event_log: runtime_types::snowbridge_core::inbound::Log,
-					pub proof: runtime_types::snowbridge_core::inbound::Proof,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Proof {
-					pub block_hash: ::subxt::utils::H256,
-					pub tx_index: ::core::primitive::u32,
-					pub data: (
-						::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>,
-						::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>,
-					),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum VerificationError {
-					#[codec(index = 0)]
-					HeaderNotFound,
-					#[codec(index = 1)]
-					LogNotFound,
-					#[codec(index = 2)]
-					InvalidLog,
-					#[codec(index = 3)]
-					InvalidProof,
-				}
-			}
-			pub mod operating_mode {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum BasicOperatingMode {
-					#[codec(index = 0)]
-					Normal,
-					#[codec(index = 1)]
-					Halted,
-				}
-			}
-			pub mod outbound {
-				use super::runtime_types;
-				pub mod v1 {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Initializer {
-						pub params: ::std::vec::Vec<::core::primitive::u8>,
-						pub maximum_required_gas: ::core::primitive::u64,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum OperatingMode {
-						#[codec(index = 0)]
-						Normal,
-						#[codec(index = 1)]
-						RejectingOutboundMessages,
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum SendError {
-					#[codec(index = 0)]
-					MessageTooLarge,
-					#[codec(index = 1)]
-					Halted,
-					#[codec(index = 2)]
-					InvalidChannel,
-				}
-			}
-			pub mod pricing {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PricingParameters<_0> {
-					pub exchange_rate: runtime_types::sp_arithmetic::fixed_point::FixedU128,
-					pub rewards: runtime_types::snowbridge_core::pricing::Rewards<_0>,
-					pub fee_per_gas: runtime_types::primitive_types::U256,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Rewards<_0> {
-					pub local: _0,
-					pub remote: runtime_types::primitive_types::U256,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Channel {
-				pub agent_id: ::subxt::utils::H256,
-				pub para_id: runtime_types::polkadot_parachain_primitives::primitives::Id,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ChannelId(pub [::core::primitive::u8; 32usize]);
-		}
-		pub mod snowbridge_milagro_bls {
-			use super::runtime_types;
-			pub mod keys {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PublicKey {
-					pub point: runtime_types::snowbridge_amcl::bls381::ecp::ECP,
-				}
-			}
-		}
-		pub mod snowbridge_pallet_ethereum_client {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					# [codec (index = 0)] force_checkpoint { update : :: std :: boxed :: Box < runtime_types :: snowbridge_beacon_primitives :: updates :: CheckpointUpdate > , } , # [codec (index = 1)] submit { update : :: std :: boxed :: Box < runtime_types :: snowbridge_beacon_primitives :: updates :: Update > , } , # [codec (index = 2)] submit_execution_header { update : :: std :: boxed :: Box < runtime_types :: snowbridge_beacon_primitives :: updates :: ExecutionHeaderUpdate > , } , # [codec (index = 3)] set_operating_mode { mode : runtime_types :: snowbridge_core :: operating_mode :: BasicOperatingMode , } , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					SkippedSyncCommitteePeriod,
-					#[codec(index = 1)]
-					IrrelevantUpdate,
-					#[codec(index = 2)]
-					NotBootstrapped,
-					#[codec(index = 3)]
-					SyncCommitteeParticipantsNotSupermajority,
-					#[codec(index = 4)]
-					InvalidHeaderMerkleProof,
-					#[codec(index = 5)]
-					InvalidSyncCommitteeMerkleProof,
-					#[codec(index = 6)]
-					InvalidExecutionHeaderProof,
-					#[codec(index = 7)]
-					InvalidAncestryMerkleProof,
-					#[codec(index = 8)]
-					InvalidBlockRootsRootMerkleProof,
-					#[codec(index = 9)]
-					HeaderNotFinalized,
-					#[codec(index = 10)]
-					BlockBodyHashTreeRootFailed,
-					#[codec(index = 11)]
-					HeaderHashTreeRootFailed,
-					#[codec(index = 12)]
-					SyncCommitteeHashTreeRootFailed,
-					#[codec(index = 13)]
-					SigningRootHashTreeRootFailed,
-					#[codec(index = 14)]
-					ForkDataHashTreeRootFailed,
-					#[codec(index = 15)]
-					ExpectedFinalizedHeaderNotStored,
-					#[codec(index = 16)]
-					BLSPreparePublicKeysFailed,
-					#[codec(index = 17)]
-					BLSVerificationFailed(
-						runtime_types::snowbridge_beacon_primitives::bls::BlsError,
-					),
-					#[codec(index = 18)]
-					InvalidUpdateSlot,
-					#[codec(index = 19)]
-					InvalidSyncCommitteeUpdate,
-					#[codec(index = 20)]
-					ExecutionHeaderTooFarBehind,
-					#[codec(index = 21)]
-					ExecutionHeaderSkippedBlock,
-					#[codec(index = 22)]
-					Halted,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					BeaconHeaderImported {
-						block_hash: ::subxt::utils::H256,
-						slot: ::core::primitive::u64,
-					},
-					#[codec(index = 1)]
-					ExecutionHeaderImported {
-						block_hash: ::subxt::utils::H256,
-						block_number: ::core::primitive::u64,
-					},
-					#[codec(index = 2)]
-					SyncCommitteeUpdated { period: ::core::primitive::u64 },
-					#[codec(index = 3)]
-					OperatingModeChanged {
-						mode: runtime_types::snowbridge_core::operating_mode::BasicOperatingMode,
-					},
-				}
-			}
-		}
-		pub mod snowbridge_pallet_inbound_queue {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					submit { message: runtime_types::snowbridge_core::inbound::Message },
-					#[codec(index = 1)]
-					set_operating_mode {
-						mode: runtime_types::snowbridge_core::operating_mode::BasicOperatingMode,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidGateway,
-					#[codec(index = 1)]
-					InvalidEnvelope,
-					#[codec(index = 2)]
-					InvalidNonce,
-					#[codec(index = 3)]
-					InvalidPayload,
-					#[codec(index = 4)]
-					InvalidChannel,
-					#[codec(index = 5)]
-					MaxNonceReached,
-					#[codec(index = 6)]
-					InvalidAccountConversion,
-					#[codec(index = 7)]
-					Halted,
-					#[codec(index = 8)]
-					Verification(runtime_types::snowbridge_core::inbound::VerificationError),
-					#[codec(index = 9)]
-					Send(runtime_types::snowbridge_pallet_inbound_queue::pallet::SendError),
-					#[codec(index = 10)]
-					ConvertMessage(
-						runtime_types::snowbridge_router_primitives::inbound::ConvertMessageError,
-					),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					MessageReceived {
-						channel_id: runtime_types::snowbridge_core::ChannelId,
-						nonce: ::core::primitive::u64,
-						message_id: [::core::primitive::u8; 32usize],
-						fee_burned: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					OperatingModeChanged {
-						mode: runtime_types::snowbridge_core::operating_mode::BasicOperatingMode,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum SendError {
-					#[codec(index = 0)]
-					NotApplicable,
-					#[codec(index = 1)]
-					NotRoutable,
-					#[codec(index = 2)]
-					Transport,
-					#[codec(index = 3)]
-					DestinationUnsupported,
-					#[codec(index = 4)]
-					ExceedsMaxMessageSize,
-					#[codec(index = 5)]
-					MissingArgument,
-					#[codec(index = 6)]
-					Fees,
-				}
-			}
-		}
-		pub mod snowbridge_pallet_outbound_queue {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					set_operating_mode {
-						mode: runtime_types::snowbridge_core::operating_mode::BasicOperatingMode,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					MessageTooLarge,
-					#[codec(index = 1)]
-					Halted,
-					#[codec(index = 2)]
-					InvalidChannel,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					MessageQueued { id: ::subxt::utils::H256 },
-					#[codec(index = 1)]
-					MessageAccepted { id: ::subxt::utils::H256, nonce: ::core::primitive::u64 },
-					#[codec(index = 2)]
-					MessagesCommitted { root: ::subxt::utils::H256, count: ::core::primitive::u64 },
-					#[codec(index = 3)]
-					OperatingModeChanged {
-						mode: runtime_types::snowbridge_core::operating_mode::BasicOperatingMode,
-					},
-				}
-			}
-			pub mod types {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CommittedMessage {
-					pub channel_id: runtime_types::snowbridge_core::ChannelId,
-					#[codec(compact)]
-					pub nonce: ::core::primitive::u64,
-					pub command: ::core::primitive::u8,
-					pub params: ::std::vec::Vec<::core::primitive::u8>,
-					#[codec(compact)]
-					pub max_dispatch_gas: ::core::primitive::u64,
-					#[codec(compact)]
-					pub max_fee_per_gas: ::core::primitive::u128,
-					#[codec(compact)]
-					pub reward: ::core::primitive::u128,
-					pub id: ::subxt::utils::H256,
-				}
-			}
-		}
-		pub mod snowbridge_pallet_system {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					upgrade {
-						impl_address: ::subxt::utils::H160,
-						impl_code_hash: ::subxt::utils::H256,
-						initializer: ::core::option::Option<
-							runtime_types::snowbridge_core::outbound::v1::Initializer,
-						>,
-					},
-					#[codec(index = 1)]
-					set_operating_mode {
-						mode: runtime_types::snowbridge_core::outbound::v1::OperatingMode,
-					},
-					#[codec(index = 2)]
-					set_pricing_parameters {
-						params: runtime_types::snowbridge_core::pricing::PricingParameters<
-							::core::primitive::u128,
-						>,
-					},
-					#[codec(index = 3)]
-					create_agent,
-					#[codec(index = 4)]
-					create_channel {
-						mode: runtime_types::snowbridge_core::outbound::v1::OperatingMode,
-					},
-					#[codec(index = 5)]
-					update_channel {
-						mode: runtime_types::snowbridge_core::outbound::v1::OperatingMode,
-					},
-					#[codec(index = 6)]
-					force_update_channel {
-						channel_id: runtime_types::snowbridge_core::ChannelId,
-						mode: runtime_types::snowbridge_core::outbound::v1::OperatingMode,
-					},
-					#[codec(index = 7)]
-					transfer_native_from_agent {
-						recipient: ::subxt::utils::H160,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 8)]
-					force_transfer_native_from_agent {
-						location: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-						recipient: ::subxt::utils::H160,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 9)]
-					set_token_transfer_fees {
-						create_asset_xcm: ::core::primitive::u128,
-						transfer_asset_xcm: ::core::primitive::u128,
-						register_token: runtime_types::primitive_types::U256,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					LocationConversionFailed,
-					#[codec(index = 1)]
-					AgentAlreadyCreated,
-					#[codec(index = 2)]
-					NoAgent,
-					#[codec(index = 3)]
-					ChannelAlreadyCreated,
-					#[codec(index = 4)]
-					NoChannel,
-					#[codec(index = 5)]
-					UnsupportedLocationVersion,
-					#[codec(index = 6)]
-					InvalidLocation,
-					#[codec(index = 7)]
-					Send(runtime_types::snowbridge_core::outbound::SendError),
-					#[codec(index = 8)]
-					InvalidTokenTransferFees,
-					#[codec(index = 9)]
-					InvalidPricingParameters,
-					#[codec(index = 10)]
-					InvalidUpgradeParameters,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Upgrade {
-						impl_address: ::subxt::utils::H160,
-						impl_code_hash: ::subxt::utils::H256,
-						initializer_params_hash: ::core::option::Option<::subxt::utils::H256>,
-					},
-					#[codec(index = 1)]
-					CreateAgent {
-						location:
-							::std::boxed::Box<runtime_types::staging_xcm::v4::location::Location>,
-						agent_id: ::subxt::utils::H256,
-					},
-					#[codec(index = 2)]
-					CreateChannel {
-						channel_id: runtime_types::snowbridge_core::ChannelId,
-						agent_id: ::subxt::utils::H256,
-					},
-					#[codec(index = 3)]
-					UpdateChannel {
-						channel_id: runtime_types::snowbridge_core::ChannelId,
-						mode: runtime_types::snowbridge_core::outbound::v1::OperatingMode,
-					},
-					#[codec(index = 4)]
-					SetOperatingMode {
-						mode: runtime_types::snowbridge_core::outbound::v1::OperatingMode,
-					},
-					#[codec(index = 5)]
-					TransferNativeFromAgent {
-						agent_id: ::subxt::utils::H256,
-						recipient: ::subxt::utils::H160,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 6)]
-					SetTokenTransferFees {
-						create_asset_xcm: ::core::primitive::u128,
-						transfer_asset_xcm: ::core::primitive::u128,
-						register_token: runtime_types::primitive_types::U256,
-					},
-					#[codec(index = 7)]
-					PricingParametersChanged {
-						params: runtime_types::snowbridge_core::pricing::PricingParameters<
-							::core::primitive::u128,
-						>,
-					},
-				}
-			}
-		}
-		pub mod snowbridge_router_primitives {
-			use super::runtime_types;
-			pub mod inbound {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum ConvertMessageError {
-					#[codec(index = 0)]
-					UnsupportedVersion,
-				}
-			}
-		}
-		pub mod sp_arithmetic {
-			use super::runtime_types;
-			pub mod fixed_point {
-				use super::runtime_types;
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct FixedU128(pub ::core::primitive::u128);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ArithmeticError {
-				#[codec(index = 0)]
-				Underflow,
-				#[codec(index = 1)]
-				Overflow,
-				#[codec(index = 2)]
-				DivisionByZero,
-			}
-		}
-		pub mod sp_consensus_aura {
-			use super::runtime_types;
-			pub mod sr25519 {
-				use super::runtime_types;
-				pub mod app_sr25519 {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-				}
-			}
-		}
-		pub mod sp_consensus_grandpa {
-			use super::runtime_types;
-			pub mod app {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub runtime_types::sp_core::ed25519::Public);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub runtime_types::sp_core::ed25519::Signature);
-			}
-		}
-		pub mod sp_consensus_slots {
-			use super::runtime_types;
-			#[derive(
-				:: codec :: Decode,
-				:: codec :: Encode,
-				:: subxt :: ext :: codec :: CompactAs,
-				Clone,
-				Debug,
-				PartialEq,
-			)]
-			pub struct Slot(pub ::core::primitive::u64);
-		}
-		pub mod sp_core {
-			use super::runtime_types;
-			pub mod crypto {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct KeyTypeId(pub [::core::primitive::u8; 4usize]);
-			}
-			pub mod ecdsa {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 65usize]);
-			}
-			pub mod ed25519 {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub [::core::primitive::u8; 32usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 64usize]);
-			}
-			pub mod sr25519 {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub [::core::primitive::u8; 32usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 64usize]);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Void {}
-		}
-		pub mod sp_runtime {
-			use super::runtime_types;
-			pub mod generic {
-				use super::runtime_types;
-				pub mod digest {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum DigestItem {
-						#[codec(index = 6)]
-						PreRuntime(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 4)]
-						Consensus(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 5)]
-						Seal(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 0)]
-						Other(::std::vec::Vec<::core::primitive::u8>),
-						#[codec(index = 8)]
-						RuntimeEnvironmentUpdated,
-					}
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum DispatchError {
-				#[codec(index = 0)]
-				Other,
-				#[codec(index = 1)]
-				CannotLookup,
-				#[codec(index = 2)]
-				BadOrigin,
-				#[codec(index = 3)]
-				Module(runtime_types::sp_runtime::ModuleError),
-				#[codec(index = 4)]
-				ConsumerRemaining,
-				#[codec(index = 5)]
-				NoProviders,
-				#[codec(index = 6)]
-				TooManyConsumers,
-				#[codec(index = 7)]
-				Token(runtime_types::sp_runtime::TokenError),
-				#[codec(index = 8)]
-				Arithmetic(runtime_types::sp_arithmetic::ArithmeticError),
-				#[codec(index = 9)]
-				Transactional(runtime_types::sp_runtime::TransactionalError),
-				#[codec(index = 10)]
-				Exhausted,
-				#[codec(index = 11)]
-				Corruption,
-				#[codec(index = 12)]
-				Unavailable,
-				#[codec(index = 13)]
-				RootNotAllowed,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ModuleError {
-				pub index: ::core::primitive::u8,
-				pub error: [::core::primitive::u8; 4usize],
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum MultiSignature {
-				#[codec(index = 0)]
-				Ed25519(runtime_types::sp_core::ed25519::Signature),
-				#[codec(index = 1)]
-				Sr25519(runtime_types::sp_core::sr25519::Signature),
-				#[codec(index = 2)]
-				Ecdsa(runtime_types::sp_core::ecdsa::Signature),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum TokenError {
-				#[codec(index = 0)]
-				FundsUnavailable,
-				#[codec(index = 1)]
-				OnlyProvider,
-				#[codec(index = 2)]
-				BelowMinimum,
-				#[codec(index = 3)]
-				CannotCreate,
-				#[codec(index = 4)]
-				UnknownAsset,
-				#[codec(index = 5)]
-				Frozen,
-				#[codec(index = 6)]
-				Unsupported,
-				#[codec(index = 7)]
-				CannotCreateHold,
-				#[codec(index = 8)]
-				NotExpendable,
-				#[codec(index = 9)]
-				Blocked,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum TransactionalError {
-				#[codec(index = 0)]
-				LimitReached,
-				#[codec(index = 1)]
-				NoLayer,
-			}
-		}
-		pub mod sp_trie {
-			use super::runtime_types;
-			pub mod storage_proof {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct StorageProof {
-					pub trie_nodes: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>,
-				}
-			}
-		}
-		pub mod sp_version {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RuntimeVersion {
-				pub spec_name: ::std::string::String,
-				pub impl_name: ::std::string::String,
-				pub authoring_version: ::core::primitive::u32,
-				pub spec_version: ::core::primitive::u32,
-				pub impl_version: ::core::primitive::u32,
-				pub apis:
-					::std::vec::Vec<([::core::primitive::u8; 8usize], ::core::primitive::u32)>,
-				pub transaction_version: ::core::primitive::u32,
-				pub state_version: ::core::primitive::u8,
-			}
-		}
-		pub mod sp_weights {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RuntimeDbWeight {
-				pub read: ::core::primitive::u64,
-				pub write: ::core::primitive::u64,
-			}
-		}
-		pub mod staging_parachain_info {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {}
-			}
-		}
-		pub mod staging_xcm {
-			use super::runtime_types;
-			pub mod v3 {
-				use super::runtime_types;
-				pub mod multilocation {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiLocation {
-						pub parents: ::core::primitive::u8,
-						pub interior: runtime_types::xcm::v3::junctions::Junctions,
-					}
-				}
-			}
-			pub mod v4 {
-				use super::runtime_types;
-				pub mod asset {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Asset {
-						pub id: runtime_types::staging_xcm::v4::asset::AssetId,
-						pub fun: runtime_types::staging_xcm::v4::asset::Fungibility,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum AssetFilter {
-						#[codec(index = 0)]
-						Definite(runtime_types::staging_xcm::v4::asset::Assets),
-						#[codec(index = 1)]
-						Wild(runtime_types::staging_xcm::v4::asset::WildAsset),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct AssetId(pub runtime_types::staging_xcm::v4::location::Location);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Assets(
-						pub ::std::vec::Vec<runtime_types::staging_xcm::v4::asset::Asset>,
-					);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Fungibility {
-						#[codec(index = 0)]
-						Fungible(#[codec(compact)] ::core::primitive::u128),
-						#[codec(index = 1)]
-						NonFungible(runtime_types::staging_xcm::v4::asset::AssetInstance),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildAsset {
-						#[codec(index = 0)]
-						All,
-						#[codec(index = 1)]
-						AllOf {
-							id: runtime_types::staging_xcm::v4::asset::AssetId,
-							fun: runtime_types::staging_xcm::v4::asset::WildFungibility,
-						},
-						#[codec(index = 2)]
-						AllCounted(#[codec(compact)] ::core::primitive::u32),
-						#[codec(index = 3)]
-						AllOfCounted {
-							id: runtime_types::staging_xcm::v4::asset::AssetId,
-							fun: runtime_types::staging_xcm::v4::asset::WildFungibility,
-							#[codec(compact)]
-							count: ::core::primitive::u32,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildFungibility {
-						#[codec(index = 0)]
-						Fungible,
-						#[codec(index = 1)]
-						NonFungible,
-					}
-				}
-				pub mod junction {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junction {
-						#[codec(index = 0)]
-						Parachain(#[codec(compact)] ::core::primitive::u32),
-						#[codec(index = 1)]
-						AccountId32 {
-							network: ::core::option::Option<
-								runtime_types::staging_xcm::v4::junction::NetworkId,
-							>,
-							id: [::core::primitive::u8; 32usize],
-						},
-						#[codec(index = 2)]
-						AccountIndex64 {
-							network: ::core::option::Option<
-								runtime_types::staging_xcm::v4::junction::NetworkId,
-							>,
-							#[codec(compact)]
-							index: ::core::primitive::u64,
-						},
-						#[codec(index = 3)]
-						AccountKey20 {
-							network: ::core::option::Option<
-								runtime_types::staging_xcm::v4::junction::NetworkId,
-							>,
-							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::staging_xcm::v4::junction::NetworkId),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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,
-						#[codec(index = 10)]
-						PolkadotBulletin,
-					}
-				}
-				pub mod junctions {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junctions {
-						#[codec(index = 0)]
-						Here,
-						#[codec(index = 1)]
-						X1([runtime_types::staging_xcm::v4::junction::Junction; 1usize]),
-						#[codec(index = 2)]
-						X2([runtime_types::staging_xcm::v4::junction::Junction; 2usize]),
-						#[codec(index = 3)]
-						X3([runtime_types::staging_xcm::v4::junction::Junction; 3usize]),
-						#[codec(index = 4)]
-						X4([runtime_types::staging_xcm::v4::junction::Junction; 4usize]),
-						#[codec(index = 5)]
-						X5([runtime_types::staging_xcm::v4::junction::Junction; 5usize]),
-						#[codec(index = 6)]
-						X6([runtime_types::staging_xcm::v4::junction::Junction; 6usize]),
-						#[codec(index = 7)]
-						X7([runtime_types::staging_xcm::v4::junction::Junction; 7usize]),
-						#[codec(index = 8)]
-						X8([runtime_types::staging_xcm::v4::junction::Junction; 8usize]),
-					}
-				}
-				pub mod location {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Location {
-						pub parents: ::core::primitive::u8,
-						pub interior: runtime_types::staging_xcm::v4::junctions::Junctions,
-					}
-				}
-				pub mod traits {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Outcome {
-						#[codec(index = 0)]
-						Complete { used: ::sp_weights::Weight },
-						#[codec(index = 1)]
-						Incomplete {
-							used: ::sp_weights::Weight,
-							error: runtime_types::xcm::v3::traits::Error,
-						},
-						#[codec(index = 2)]
-						Error { error: runtime_types::xcm::v3::traits::Error },
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Instruction {
-					#[codec(index = 0)]
-					WithdrawAsset(runtime_types::staging_xcm::v4::asset::Assets),
-					#[codec(index = 1)]
-					ReserveAssetDeposited(runtime_types::staging_xcm::v4::asset::Assets),
-					#[codec(index = 2)]
-					ReceiveTeleportedAsset(runtime_types::staging_xcm::v4::asset::Assets),
-					#[codec(index = 3)]
-					QueryResponse {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						response: runtime_types::staging_xcm::v4::Response,
-						max_weight: ::sp_weights::Weight,
-						querier: ::core::option::Option<
-							runtime_types::staging_xcm::v4::location::Location,
-						>,
-					},
-					#[codec(index = 4)]
-					TransferAsset {
-						assets: runtime_types::staging_xcm::v4::asset::Assets,
-						beneficiary: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[codec(index = 5)]
-					TransferReserveAsset {
-						assets: runtime_types::staging_xcm::v4::asset::Assets,
-						dest: runtime_types::staging_xcm::v4::location::Location,
-						xcm: runtime_types::staging_xcm::v4::Xcm,
-					},
-					#[codec(index = 6)]
-					Transact {
-						origin_kind: runtime_types::xcm::v2::OriginKind,
-						require_weight_at_most: ::sp_weights::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::staging_xcm::v4::junctions::Junctions),
-					#[codec(index = 12)]
-					ReportError(runtime_types::staging_xcm::v4::QueryResponseInfo),
-					#[codec(index = 13)]
-					DepositAsset {
-						assets: runtime_types::staging_xcm::v4::asset::AssetFilter,
-						beneficiary: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[codec(index = 14)]
-					DepositReserveAsset {
-						assets: runtime_types::staging_xcm::v4::asset::AssetFilter,
-						dest: runtime_types::staging_xcm::v4::location::Location,
-						xcm: runtime_types::staging_xcm::v4::Xcm,
-					},
-					#[codec(index = 15)]
-					ExchangeAsset {
-						give: runtime_types::staging_xcm::v4::asset::AssetFilter,
-						want: runtime_types::staging_xcm::v4::asset::Assets,
-						maximal: ::core::primitive::bool,
-					},
-					#[codec(index = 16)]
-					InitiateReserveWithdraw {
-						assets: runtime_types::staging_xcm::v4::asset::AssetFilter,
-						reserve: runtime_types::staging_xcm::v4::location::Location,
-						xcm: runtime_types::staging_xcm::v4::Xcm,
-					},
-					#[codec(index = 17)]
-					InitiateTeleport {
-						assets: runtime_types::staging_xcm::v4::asset::AssetFilter,
-						dest: runtime_types::staging_xcm::v4::location::Location,
-						xcm: runtime_types::staging_xcm::v4::Xcm,
-					},
-					#[codec(index = 18)]
-					ReportHolding {
-						response_info: runtime_types::staging_xcm::v4::QueryResponseInfo,
-						assets: runtime_types::staging_xcm::v4::asset::AssetFilter,
-					},
-					#[codec(index = 19)]
-					BuyExecution {
-						fees: runtime_types::staging_xcm::v4::asset::Asset,
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-					},
-					#[codec(index = 20)]
-					RefundSurplus,
-					#[codec(index = 21)]
-					SetErrorHandler(runtime_types::staging_xcm::v4::Xcm),
-					#[codec(index = 22)]
-					SetAppendix(runtime_types::staging_xcm::v4::Xcm),
-					#[codec(index = 23)]
-					ClearError,
-					#[codec(index = 24)]
-					ClaimAsset {
-						assets: runtime_types::staging_xcm::v4::asset::Assets,
-						ticket: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[codec(index = 25)]
-					Trap(#[codec(compact)] ::core::primitive::u64),
-					#[codec(index = 26)]
-					SubscribeVersion {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						max_response_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 27)]
-					UnsubscribeVersion,
-					#[codec(index = 28)]
-					BurnAsset(runtime_types::staging_xcm::v4::asset::Assets),
-					#[codec(index = 29)]
-					ExpectAsset(runtime_types::staging_xcm::v4::asset::Assets),
-					#[codec(index = 30)]
-					ExpectOrigin(
-						::core::option::Option<runtime_types::staging_xcm::v4::location::Location>,
-					),
-					#[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::staging_xcm::v4::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::staging_xcm::v4::QueryResponseInfo),
-					#[codec(index = 36)]
-					ClearTransactStatus,
-					#[codec(index = 37)]
-					UniversalOrigin(runtime_types::staging_xcm::v4::junction::Junction),
-					#[codec(index = 38)]
-					ExportMessage {
-						network: runtime_types::staging_xcm::v4::junction::NetworkId,
-						destination: runtime_types::staging_xcm::v4::junctions::Junctions,
-						xcm: runtime_types::staging_xcm::v4::Xcm,
-					},
-					#[codec(index = 39)]
-					LockAsset {
-						asset: runtime_types::staging_xcm::v4::asset::Asset,
-						unlocker: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[codec(index = 40)]
-					UnlockAsset {
-						asset: runtime_types::staging_xcm::v4::asset::Asset,
-						target: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[codec(index = 41)]
-					NoteUnlockable {
-						asset: runtime_types::staging_xcm::v4::asset::Asset,
-						owner: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[codec(index = 42)]
-					RequestUnlock {
-						asset: runtime_types::staging_xcm::v4::asset::Asset,
-						locker: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[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::staging_xcm::v4::location::Location),
-					#[codec(index = 47)]
-					UnpaidExecution {
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-						check_origin: ::core::option::Option<
-							runtime_types::staging_xcm::v4::location::Location,
-						>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Instruction2 {
-					#[codec(index = 0)]
-					WithdrawAsset(runtime_types::staging_xcm::v4::asset::Assets),
-					#[codec(index = 1)]
-					ReserveAssetDeposited(runtime_types::staging_xcm::v4::asset::Assets),
-					#[codec(index = 2)]
-					ReceiveTeleportedAsset(runtime_types::staging_xcm::v4::asset::Assets),
-					#[codec(index = 3)]
-					QueryResponse {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						response: runtime_types::staging_xcm::v4::Response,
-						max_weight: ::sp_weights::Weight,
-						querier: ::core::option::Option<
-							runtime_types::staging_xcm::v4::location::Location,
-						>,
-					},
-					#[codec(index = 4)]
-					TransferAsset {
-						assets: runtime_types::staging_xcm::v4::asset::Assets,
-						beneficiary: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[codec(index = 5)]
-					TransferReserveAsset {
-						assets: runtime_types::staging_xcm::v4::asset::Assets,
-						dest: runtime_types::staging_xcm::v4::location::Location,
-						xcm: runtime_types::staging_xcm::v4::Xcm,
-					},
-					#[codec(index = 6)]
-					Transact {
-						origin_kind: runtime_types::xcm::v2::OriginKind,
-						require_weight_at_most: ::sp_weights::Weight,
-						call: runtime_types::xcm::double_encoded::DoubleEncoded2,
-					},
-					#[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::staging_xcm::v4::junctions::Junctions),
-					#[codec(index = 12)]
-					ReportError(runtime_types::staging_xcm::v4::QueryResponseInfo),
-					#[codec(index = 13)]
-					DepositAsset {
-						assets: runtime_types::staging_xcm::v4::asset::AssetFilter,
-						beneficiary: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[codec(index = 14)]
-					DepositReserveAsset {
-						assets: runtime_types::staging_xcm::v4::asset::AssetFilter,
-						dest: runtime_types::staging_xcm::v4::location::Location,
-						xcm: runtime_types::staging_xcm::v4::Xcm,
-					},
-					#[codec(index = 15)]
-					ExchangeAsset {
-						give: runtime_types::staging_xcm::v4::asset::AssetFilter,
-						want: runtime_types::staging_xcm::v4::asset::Assets,
-						maximal: ::core::primitive::bool,
-					},
-					#[codec(index = 16)]
-					InitiateReserveWithdraw {
-						assets: runtime_types::staging_xcm::v4::asset::AssetFilter,
-						reserve: runtime_types::staging_xcm::v4::location::Location,
-						xcm: runtime_types::staging_xcm::v4::Xcm,
-					},
-					#[codec(index = 17)]
-					InitiateTeleport {
-						assets: runtime_types::staging_xcm::v4::asset::AssetFilter,
-						dest: runtime_types::staging_xcm::v4::location::Location,
-						xcm: runtime_types::staging_xcm::v4::Xcm,
-					},
-					#[codec(index = 18)]
-					ReportHolding {
-						response_info: runtime_types::staging_xcm::v4::QueryResponseInfo,
-						assets: runtime_types::staging_xcm::v4::asset::AssetFilter,
-					},
-					#[codec(index = 19)]
-					BuyExecution {
-						fees: runtime_types::staging_xcm::v4::asset::Asset,
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-					},
-					#[codec(index = 20)]
-					RefundSurplus,
-					#[codec(index = 21)]
-					SetErrorHandler(runtime_types::staging_xcm::v4::Xcm2),
-					#[codec(index = 22)]
-					SetAppendix(runtime_types::staging_xcm::v4::Xcm2),
-					#[codec(index = 23)]
-					ClearError,
-					#[codec(index = 24)]
-					ClaimAsset {
-						assets: runtime_types::staging_xcm::v4::asset::Assets,
-						ticket: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[codec(index = 25)]
-					Trap(#[codec(compact)] ::core::primitive::u64),
-					#[codec(index = 26)]
-					SubscribeVersion {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						max_response_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 27)]
-					UnsubscribeVersion,
-					#[codec(index = 28)]
-					BurnAsset(runtime_types::staging_xcm::v4::asset::Assets),
-					#[codec(index = 29)]
-					ExpectAsset(runtime_types::staging_xcm::v4::asset::Assets),
-					#[codec(index = 30)]
-					ExpectOrigin(
-						::core::option::Option<runtime_types::staging_xcm::v4::location::Location>,
-					),
-					#[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::staging_xcm::v4::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::staging_xcm::v4::QueryResponseInfo),
-					#[codec(index = 36)]
-					ClearTransactStatus,
-					#[codec(index = 37)]
-					UniversalOrigin(runtime_types::staging_xcm::v4::junction::Junction),
-					#[codec(index = 38)]
-					ExportMessage {
-						network: runtime_types::staging_xcm::v4::junction::NetworkId,
-						destination: runtime_types::staging_xcm::v4::junctions::Junctions,
-						xcm: runtime_types::staging_xcm::v4::Xcm,
-					},
-					#[codec(index = 39)]
-					LockAsset {
-						asset: runtime_types::staging_xcm::v4::asset::Asset,
-						unlocker: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[codec(index = 40)]
-					UnlockAsset {
-						asset: runtime_types::staging_xcm::v4::asset::Asset,
-						target: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[codec(index = 41)]
-					NoteUnlockable {
-						asset: runtime_types::staging_xcm::v4::asset::Asset,
-						owner: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[codec(index = 42)]
-					RequestUnlock {
-						asset: runtime_types::staging_xcm::v4::asset::Asset,
-						locker: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[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::staging_xcm::v4::location::Location),
-					#[codec(index = 47)]
-					UnpaidExecution {
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-						check_origin: ::core::option::Option<
-							runtime_types::staging_xcm::v4::location::Location,
-						>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct QueryResponseInfo {
-					pub destination: runtime_types::staging_xcm::v4::location::Location,
-					#[codec(compact)]
-					pub query_id: ::core::primitive::u64,
-					pub max_weight: ::sp_weights::Weight,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Response {
-					#[codec(index = 0)]
-					Null,
-					#[codec(index = 1)]
-					Assets(runtime_types::staging_xcm::v4::asset::Assets),
-					#[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::staging_xcm::v4::PalletInfo,
-						>,
-					),
-					#[codec(index = 5)]
-					DispatchResult(runtime_types::xcm::v3::MaybeErrorCode),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm(pub ::std::vec::Vec<runtime_types::staging_xcm::v4::Instruction>);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm2(pub ::std::vec::Vec<runtime_types::staging_xcm::v4::Instruction2>);
-			}
-		}
-		pub mod xcm {
-			use super::runtime_types;
-			pub mod double_encoded {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DoubleEncoded {
-					pub encoded: ::std::vec::Vec<::core::primitive::u8>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DoubleEncoded2 {
-					pub encoded: ::std::vec::Vec<::core::primitive::u8>,
-				}
-			}
-			pub mod v2 {
-				use super::runtime_types;
-				pub mod junction {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junction {
-						#[codec(index = 0)]
-						Parachain(#[codec(compact)] ::core::primitive::u32),
-						#[codec(index = 1)]
-						AccountId32 {
-							network: runtime_types::xcm::v2::NetworkId,
-							id: [::core::primitive::u8; 32usize],
-						},
-						#[codec(index = 2)]
-						AccountIndex64 {
-							network: runtime_types::xcm::v2::NetworkId,
-							#[codec(compact)]
-							index: ::core::primitive::u64,
-						},
-						#[codec(index = 3)]
-						AccountKey20 {
-							network: runtime_types::xcm::v2::NetworkId,
-							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(
-							runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<
-								::core::primitive::u8,
-							>,
-						),
-						#[codec(index = 7)]
-						OnlyChild,
-						#[codec(index = 8)]
-						Plurality {
-							id: runtime_types::xcm::v2::BodyId,
-							part: runtime_types::xcm::v2::BodyPart,
-						},
-					}
-				}
-				pub mod multiasset {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum AssetId {
-						#[codec(index = 0)]
-						Concrete(runtime_types::xcm::v2::multilocation::MultiLocation),
-						#[codec(index = 1)]
-						Abstract(::std::vec::Vec<::core::primitive::u8>),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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]),
-						#[codec(index = 6)]
-						Blob(::std::vec::Vec<::core::primitive::u8>),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Fungibility {
-						#[codec(index = 0)]
-						Fungible(#[codec(compact)] ::core::primitive::u128),
-						#[codec(index = 1)]
-						NonFungible(runtime_types::xcm::v2::multiasset::AssetInstance),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAsset {
-						pub id: runtime_types::xcm::v2::multiasset::AssetId,
-						pub fun: runtime_types::xcm::v2::multiasset::Fungibility,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum MultiAssetFilter {
-						#[codec(index = 0)]
-						Definite(runtime_types::xcm::v2::multiasset::MultiAssets),
-						#[codec(index = 1)]
-						Wild(runtime_types::xcm::v2::multiasset::WildMultiAsset),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAssets(
-						pub ::std::vec::Vec<runtime_types::xcm::v2::multiasset::MultiAsset>,
-					);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildFungibility {
-						#[codec(index = 0)]
-						Fungible,
-						#[codec(index = 1)]
-						NonFungible,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildMultiAsset {
-						#[codec(index = 0)]
-						All,
-						#[codec(index = 1)]
-						AllOf {
-							id: runtime_types::xcm::v2::multiasset::AssetId,
-							fun: runtime_types::xcm::v2::multiasset::WildFungibility,
-						},
-					}
-				}
-				pub mod multilocation {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junctions {
-						#[codec(index = 0)]
-						Here,
-						#[codec(index = 1)]
-						X1(runtime_types::xcm::v2::junction::Junction),
-						#[codec(index = 2)]
-						X2(
-							runtime_types::xcm::v2::junction::Junction,
-							runtime_types::xcm::v2::junction::Junction,
-						),
-						#[codec(index = 3)]
-						X3(
-							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::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::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::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::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::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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiLocation {
-						pub parents: ::core::primitive::u8,
-						pub interior: runtime_types::xcm::v2::multilocation::Junctions,
-					}
-				}
-				pub mod traits {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						Overflow,
-						#[codec(index = 1)]
-						Unimplemented,
-						#[codec(index = 2)]
-						UntrustedReserveLocation,
-						#[codec(index = 3)]
-						UntrustedTeleportLocation,
-						#[codec(index = 4)]
-						MultiLocationFull,
-						#[codec(index = 5)]
-						MultiLocationNotInvertible,
-						#[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)]
-						UnhandledXcmVersion,
-						#[codec(index = 23)]
-						WeightLimitReached(::core::primitive::u64),
-						#[codec(index = 24)]
-						Barrier,
-						#[codec(index = 25)]
-						WeightNotComputable,
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Instruction {
-					#[codec(index = 0)]
-					WithdrawAsset(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 1)]
-					ReserveAssetDeposited(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 2)]
-					ReceiveTeleportedAsset(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 3)]
-					QueryResponse {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						response: runtime_types::xcm::v2::Response,
-						#[codec(compact)]
-						max_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 4)]
-					TransferAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssets,
-						beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 5)]
-					TransferReserveAsset {
-						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::v2::OriginKind,
-						#[codec(compact)]
-						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)]
-					ClearOrigin,
-					#[codec(index = 11)]
-					DescendOrigin(runtime_types::xcm::v2::multilocation::Junctions),
-					#[codec(index = 12)]
-					ReportError {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						dest: runtime_types::xcm::v2::multilocation::MultiLocation,
-						#[codec(compact)]
-						max_response_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 13)]
-					DepositAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						#[codec(compact)]
-						max_assets: ::core::primitive::u32,
-						beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 14)]
-					DepositReserveAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						#[codec(compact)]
-						max_assets: ::core::primitive::u32,
-						dest: runtime_types::xcm::v2::multilocation::MultiLocation,
-						xcm: runtime_types::xcm::v2::Xcm,
-					},
-					#[codec(index = 15)]
-					ExchangeAsset {
-						give: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						receive: runtime_types::xcm::v2::multiasset::MultiAssets,
-					},
-					#[codec(index = 16)]
-					InitiateReserveWithdraw {
-						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::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::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::v2::multiasset::MultiAsset,
-						weight_limit: runtime_types::xcm::v2::WeightLimit,
-					},
-					#[codec(index = 20)]
-					RefundSurplus,
-					#[codec(index = 21)]
-					SetErrorHandler(runtime_types::xcm::v2::Xcm),
-					#[codec(index = 22)]
-					SetAppendix(runtime_types::xcm::v2::Xcm),
-					#[codec(index = 23)]
-					ClearError,
-					#[codec(index = 24)]
-					ClaimAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssets,
-						ticket: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 25)]
-					Trap(#[codec(compact)] ::core::primitive::u64),
-					#[codec(index = 26)]
-					SubscribeVersion {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						#[codec(compact)]
-						max_response_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 27)]
-					UnsubscribeVersion,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Instruction2 {
-					#[codec(index = 0)]
-					WithdrawAsset(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 1)]
-					ReserveAssetDeposited(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 2)]
-					ReceiveTeleportedAsset(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 3)]
-					QueryResponse {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						response: runtime_types::xcm::v2::Response,
-						#[codec(compact)]
-						max_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 4)]
-					TransferAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssets,
-						beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 5)]
-					TransferReserveAsset {
-						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::v2::OriginKind,
-						#[codec(compact)]
-						require_weight_at_most: ::core::primitive::u64,
-						call: runtime_types::xcm::double_encoded::DoubleEncoded2,
-					},
-					#[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::v2::multilocation::Junctions),
-					#[codec(index = 12)]
-					ReportError {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						dest: runtime_types::xcm::v2::multilocation::MultiLocation,
-						#[codec(compact)]
-						max_response_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 13)]
-					DepositAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						#[codec(compact)]
-						max_assets: ::core::primitive::u32,
-						beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 14)]
-					DepositReserveAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						#[codec(compact)]
-						max_assets: ::core::primitive::u32,
-						dest: runtime_types::xcm::v2::multilocation::MultiLocation,
-						xcm: runtime_types::xcm::v2::Xcm,
-					},
-					#[codec(index = 15)]
-					ExchangeAsset {
-						give: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						receive: runtime_types::xcm::v2::multiasset::MultiAssets,
-					},
-					#[codec(index = 16)]
-					InitiateReserveWithdraw {
-						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::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::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::v2::multiasset::MultiAsset,
-						weight_limit: runtime_types::xcm::v2::WeightLimit,
-					},
-					#[codec(index = 20)]
-					RefundSurplus,
-					#[codec(index = 21)]
-					SetErrorHandler(runtime_types::xcm::v2::Xcm2),
-					#[codec(index = 22)]
-					SetAppendix(runtime_types::xcm::v2::Xcm2),
-					#[codec(index = 23)]
-					ClearError,
-					#[codec(index = 24)]
-					ClaimAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssets,
-						ticket: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 25)]
-					Trap(#[codec(compact)] ::core::primitive::u64),
-					#[codec(index = 26)]
-					SubscribeVersion {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						#[codec(compact)]
-						max_response_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 27)]
-					UnsubscribeVersion,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum OriginKind {
-					#[codec(index = 0)]
-					Native,
-					#[codec(index = 1)]
-					SovereignAccount,
-					#[codec(index = 2)]
-					Superuser,
-					#[codec(index = 3)]
-					Xcm,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Response {
-					#[codec(index = 0)]
-					Null,
-					#[codec(index = 1)]
-					Assets(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 2)]
-					ExecutionResult(
-						::core::option::Option<(
-							::core::primitive::u32,
-							runtime_types::xcm::v2::traits::Error,
-						)>,
-					),
-					#[codec(index = 3)]
-					Version(::core::primitive::u32),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum WeightLimit {
-					#[codec(index = 0)]
-					Unlimited,
-					#[codec(index = 1)]
-					Limited(#[codec(compact)] ::core::primitive::u64),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm(pub ::std::vec::Vec<runtime_types::xcm::v2::Instruction>);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm2(pub ::std::vec::Vec<runtime_types::xcm::v2::Instruction2>);
-			}
-			pub mod v3 {
-				use super::runtime_types;
-				pub mod junction {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junction {
-						#[codec(index = 0)]
-						Parachain(#[codec(compact)] ::core::primitive::u32),
-						#[codec(index = 1)]
-						AccountId32 {
-							network:
-								::core::option::Option<runtime_types::xcm::v3::junction::NetworkId>,
-							id: [::core::primitive::u8; 32usize],
-						},
-						#[codec(index = 2)]
-						AccountIndex64 {
-							network:
-								::core::option::Option<runtime_types::xcm::v3::junction::NetworkId>,
-							#[codec(compact)]
-							index: ::core::primitive::u64,
-						},
-						#[codec(index = 3)]
-						AccountKey20 {
-							network:
-								::core::option::Option<runtime_types::xcm::v3::junction::NetworkId>,
-							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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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,
-						#[codec(index = 10)]
-						PolkadotBulletin,
-					}
-				}
-				pub mod junctions {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum AssetId {
-						#[codec(index = 0)]
-						Concrete(runtime_types::staging_xcm::v3::multilocation::MultiLocation),
-						#[codec(index = 1)]
-						Abstract([::core::primitive::u8; 32usize]),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Fungibility {
-						#[codec(index = 0)]
-						Fungible(#[codec(compact)] ::core::primitive::u128),
-						#[codec(index = 1)]
-						NonFungible(runtime_types::xcm::v3::multiasset::AssetInstance),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAsset {
-						pub id: runtime_types::xcm::v3::multiasset::AssetId,
-						pub fun: runtime_types::xcm::v3::multiasset::Fungibility,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum MultiAssetFilter {
-						#[codec(index = 0)]
-						Definite(runtime_types::xcm::v3::multiasset::MultiAssets),
-						#[codec(index = 1)]
-						Wild(runtime_types::xcm::v3::multiasset::WildMultiAsset),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAssets(
-						pub ::std::vec::Vec<runtime_types::xcm::v3::multiasset::MultiAsset>,
-					);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildFungibility {
-						#[codec(index = 0)]
-						Fungible,
-						#[codec(index = 1)]
-						NonFungible,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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 traits {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(::sp_weights::Weight),
-						#[codec(index = 37)]
-						Barrier,
-						#[codec(index = 38)]
-						WeightNotComputable,
-						#[codec(index = 39)]
-						ExceedsStackLimit,
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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: ::sp_weights::Weight,
-						querier: ::core::option::Option<
-							runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						>,
-					},
-					#[codec(index = 4)]
-					TransferAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssets,
-						beneficiary: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 5)]
-					TransferReserveAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssets,
-						dest: runtime_types::staging_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: ::sp_weights::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::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 14)]
-					DepositReserveAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter,
-						dest: runtime_types::staging_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::staging_xcm::v3::multilocation::MultiLocation,
-						xcm: runtime_types::xcm::v3::Xcm,
-					},
-					#[codec(index = 17)]
-					InitiateTeleport {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter,
-						dest: runtime_types::staging_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::staging_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: ::sp_weights::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::staging_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::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 40)]
-					UnlockAsset {
-						asset: runtime_types::xcm::v3::multiasset::MultiAsset,
-						target: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 41)]
-					NoteUnlockable {
-						asset: runtime_types::xcm::v3::multiasset::MultiAsset,
-						owner: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 42)]
-					RequestUnlock {
-						asset: runtime_types::xcm::v3::multiasset::MultiAsset,
-						locker: runtime_types::staging_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::staging_xcm::v3::multilocation::MultiLocation),
-					#[codec(index = 47)]
-					UnpaidExecution {
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-						check_origin: ::core::option::Option<
-							runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Instruction2 {
-					#[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: ::sp_weights::Weight,
-						querier: ::core::option::Option<
-							runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						>,
-					},
-					#[codec(index = 4)]
-					TransferAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssets,
-						beneficiary: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 5)]
-					TransferReserveAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssets,
-						dest: runtime_types::staging_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: ::sp_weights::Weight,
-						call: runtime_types::xcm::double_encoded::DoubleEncoded2,
-					},
-					#[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::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 14)]
-					DepositReserveAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter,
-						dest: runtime_types::staging_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::staging_xcm::v3::multilocation::MultiLocation,
-						xcm: runtime_types::xcm::v3::Xcm,
-					},
-					#[codec(index = 17)]
-					InitiateTeleport {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter,
-						dest: runtime_types::staging_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::Xcm2),
-					#[codec(index = 22)]
-					SetAppendix(runtime_types::xcm::v3::Xcm2),
-					#[codec(index = 23)]
-					ClearError,
-					#[codec(index = 24)]
-					ClaimAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssets,
-						ticket: runtime_types::staging_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: ::sp_weights::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::staging_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::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 40)]
-					UnlockAsset {
-						asset: runtime_types::xcm::v3::multiasset::MultiAsset,
-						target: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 41)]
-					NoteUnlockable {
-						asset: runtime_types::xcm::v3::multiasset::MultiAsset,
-						owner: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 42)]
-					RequestUnlock {
-						asset: runtime_types::xcm::v3::multiasset::MultiAsset,
-						locker: runtime_types::staging_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::staging_xcm::v3::multilocation::MultiLocation),
-					#[codec(index = 47)]
-					UnpaidExecution {
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-						check_origin: ::core::option::Option<
-							runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct QueryResponseInfo {
-					pub destination: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					#[codec(compact)]
-					pub query_id: ::core::primitive::u64,
-					pub max_weight: ::sp_weights::Weight,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum WeightLimit {
-					#[codec(index = 0)]
-					Unlimited,
-					#[codec(index = 1)]
-					Limited(::sp_weights::Weight),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm(pub ::std::vec::Vec<runtime_types::xcm::v3::Instruction>);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm2(pub ::std::vec::Vec<runtime_types::xcm::v3::Instruction2>);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedAssetId {
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::multiasset::AssetId),
-				#[codec(index = 4)]
-				V4(runtime_types::staging_xcm::v4::asset::AssetId),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedAssets {
-				#[codec(index = 1)]
-				V2(runtime_types::xcm::v2::multiasset::MultiAssets),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::multiasset::MultiAssets),
-				#[codec(index = 4)]
-				V4(runtime_types::staging_xcm::v4::asset::Assets),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedLocation {
-				#[codec(index = 1)]
-				V2(runtime_types::xcm::v2::multilocation::MultiLocation),
-				#[codec(index = 3)]
-				V3(runtime_types::staging_xcm::v3::multilocation::MultiLocation),
-				#[codec(index = 4)]
-				V4(runtime_types::staging_xcm::v4::location::Location),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedResponse {
-				#[codec(index = 2)]
-				V2(runtime_types::xcm::v2::Response),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::Response),
-				#[codec(index = 4)]
-				V4(runtime_types::staging_xcm::v4::Response),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedXcm {
-				#[codec(index = 2)]
-				V2(runtime_types::xcm::v2::Xcm),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::Xcm),
-				#[codec(index = 4)]
-				V4(runtime_types::staging_xcm::v4::Xcm),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedXcm2 {
-				#[codec(index = 2)]
-				V2(runtime_types::xcm::v2::Xcm2),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::Xcm2),
-				#[codec(index = 4)]
-				V4(runtime_types::staging_xcm::v4::Xcm2),
-			}
-		}
-	}
-}
diff --git a/bridges/relays/client-bridge-hub-rococo/src/lib.rs b/bridges/relays/client-bridge-hub-rococo/src/lib.rs
deleted file mode 100644
index cae9e4f77a501dd843ae975f06eba5ca6a7cb212..0000000000000000000000000000000000000000
--- a/bridges/relays/client-bridge-hub-rococo/src/lib.rs
+++ /dev/null
@@ -1,129 +0,0 @@
-// Copyright 2022 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Types used to connect to the BridgeHub-Rococo-Substrate parachain.
-
-pub mod codegen_runtime;
-
-use bp_bridge_hub_rococo::{SignedExtension, AVERAGE_BLOCK_INTERVAL};
-use bp_polkadot_core::SuffixedCommonSignedExtensionExt;
-use codec::Encode;
-use relay_substrate_client::{
-	calls::UtilityCall as MockUtilityCall, Chain, ChainWithBalances, ChainWithMessages,
-	ChainWithRuntimeVersion, ChainWithTransactions, ChainWithUtilityPallet,
-	Error as SubstrateError, MockedRuntimeUtilityPallet, SignParam, SimpleRuntimeVersion,
-	UnderlyingChainProvider, UnsignedTransaction,
-};
-use sp_core::{storage::StorageKey, Pair};
-use sp_runtime::{generic::SignedPayload, traits::IdentifyAccount};
-use std::time::Duration;
-
-pub use codegen_runtime::api::runtime_types;
-
-pub type RuntimeCall = runtime_types::bridge_hub_rococo_runtime::RuntimeCall;
-pub type BridgeMessagesCall = runtime_types::pallet_bridge_messages::pallet::Call;
-pub type BridgeBulletinMessagesCall = runtime_types::pallet_bridge_messages::pallet::Call2;
-pub type BridgeGrandpaCall = runtime_types::pallet_bridge_grandpa::pallet::Call;
-pub type BridgeBulletinGrandpaCall = runtime_types::pallet_bridge_grandpa::pallet::Call2;
-pub type BridgeParachainCall = runtime_types::pallet_bridge_parachains::pallet::Call;
-type UncheckedExtrinsic = bp_bridge_hub_rococo::UncheckedExtrinsic<RuntimeCall, SignedExtension>;
-type UtilityCall = runtime_types::pallet_utility::pallet::Call;
-
-/// Rococo chain definition
-#[derive(Debug, Clone, Copy, PartialEq, Eq)]
-pub struct BridgeHubRococo;
-
-impl UnderlyingChainProvider for BridgeHubRococo {
-	type Chain = bp_bridge_hub_rococo::BridgeHubRococo;
-}
-
-impl Chain for BridgeHubRococo {
-	const NAME: &'static str = "BridgeHubRococo";
-	const BEST_FINALIZED_HEADER_ID_METHOD: &'static str =
-		bp_bridge_hub_rococo::BEST_FINALIZED_BRIDGE_HUB_ROCOCO_HEADER_METHOD;
-	const AVERAGE_BLOCK_INTERVAL: Duration = AVERAGE_BLOCK_INTERVAL;
-
-	type SignedBlock = bp_bridge_hub_rococo::SignedBlock;
-	type Call = RuntimeCall;
-}
-
-impl ChainWithBalances for BridgeHubRococo {
-	fn account_info_storage_key(account_id: &Self::AccountId) -> StorageKey {
-		bp_bridge_hub_rococo::AccountInfoStorageMapKeyProvider::final_key(account_id)
-	}
-}
-
-impl From<MockUtilityCall<RuntimeCall>> for RuntimeCall {
-	fn from(value: MockUtilityCall<RuntimeCall>) -> RuntimeCall {
-		match value {
-			MockUtilityCall::batch_all(calls) =>
-				RuntimeCall::Utility(UtilityCall::batch_all { calls }),
-		}
-	}
-}
-
-impl ChainWithUtilityPallet for BridgeHubRococo {
-	type UtilityPallet = MockedRuntimeUtilityPallet<RuntimeCall>;
-}
-
-impl ChainWithTransactions for BridgeHubRococo {
-	type AccountKeyPair = sp_core::sr25519::Pair;
-	type SignedTransaction = UncheckedExtrinsic;
-
-	fn sign_transaction(
-		param: SignParam<Self>,
-		unsigned: UnsignedTransaction<Self>,
-	) -> Result<Self::SignedTransaction, SubstrateError> {
-		let raw_payload = SignedPayload::new(
-			unsigned.call,
-			SignedExtension::from_params(
-				param.spec_version,
-				param.transaction_version,
-				unsigned.era,
-				param.genesis_hash,
-				unsigned.nonce,
-				unsigned.tip,
-				(((), ()), ((), ())),
-			),
-		)?;
-
-		let signature = raw_payload.using_encoded(|payload| param.signer.sign(payload));
-		let signer: sp_runtime::MultiSigner = param.signer.public().into();
-		let (call, extra, _) = raw_payload.deconstruct();
-
-		Ok(UncheckedExtrinsic::new_signed(
-			call,
-			signer.into_account().into(),
-			signature.into(),
-			extra,
-		))
-	}
-}
-
-impl ChainWithMessages for BridgeHubRococo {
-	const WITH_CHAIN_RELAYERS_PALLET_NAME: Option<&'static str> =
-		Some(bp_bridge_hub_rococo::WITH_BRIDGE_HUB_ROCOCO_RELAYERS_PALLET_NAME);
-
-	const TO_CHAIN_MESSAGE_DETAILS_METHOD: &'static str =
-		bp_bridge_hub_rococo::TO_BRIDGE_HUB_ROCOCO_MESSAGE_DETAILS_METHOD;
-	const FROM_CHAIN_MESSAGE_DETAILS_METHOD: &'static str =
-		bp_bridge_hub_rococo::FROM_BRIDGE_HUB_ROCOCO_MESSAGE_DETAILS_METHOD;
-}
-
-impl ChainWithRuntimeVersion for BridgeHubRococo {
-	const RUNTIME_VERSION: Option<SimpleRuntimeVersion> =
-		Some(SimpleRuntimeVersion { spec_version: 1_008_000, transaction_version: 4 });
-}
diff --git a/bridges/relays/client-bridge-hub-westend/Cargo.toml b/bridges/relays/client-bridge-hub-westend/Cargo.toml
deleted file mode 100644
index c65c7ec0014b8f205657c9142afc0b1c2626152a..0000000000000000000000000000000000000000
--- a/bridges/relays/client-bridge-hub-westend/Cargo.toml
+++ /dev/null
@@ -1,36 +0,0 @@
-[package]
-name = "relay-bridge-hub-westend-client"
-version = "0.1.0"
-authors = ["Parity Technologies <admin@parity.io>"]
-edition = "2021"
-license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
-
-[lints]
-workspace = true
-
-[dependencies]
-codec = { package = "parity-scale-codec", version = "3.1.5", features = ["derive"] }
-scale-info = { version = "2.11.0", default-features = false, features = ["derive"] }
-subxt = { version = "0.32.1", default-features = false, features = ["native"] }
-
-# Bridge dependencies
-
-bp-bridge-hub-westend = { path = "../../chains/chain-bridge-hub-westend" }
-bp-header-chain = { path = "../../primitives/header-chain" }
-bp-messages = { path = "../../primitives/messages" }
-bp-parachains = { path = "../../primitives/parachains" }
-bp-polkadot-core = { path = "../../primitives/polkadot-core" }
-bp-rococo = { path = "../../chains/chain-rococo" }
-
-bridge-runtime-common = { path = "../../bin/runtime-common" }
-relay-substrate-client = { path = "../client-substrate" }
-
-# Substrate Dependencies
-
-sp-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-weights = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-
-[dev-dependencies]
-bp-runtime = { path = "../../primitives/runtime" }
-sp-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
diff --git a/bridges/relays/client-bridge-hub-westend/src/codegen_runtime.rs b/bridges/relays/client-bridge-hub-westend/src/codegen_runtime.rs
deleted file mode 100644
index 51d0b7f8c423f08e1831e4cda1285eeadd16dd5e..0000000000000000000000000000000000000000
--- a/bridges/relays/client-bridge-hub-westend/src/codegen_runtime.rs
+++ /dev/null
@@ -1,4705 +0,0 @@
-// Copyright 2019-2023 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated runtime API
-//! THIS FILE WAS AUTOGENERATED USING parity-bridges-common::runtime-codegen
-//! EXECUTED COMMAND: target/debug/runtime-codegen --from-wasm-file
-//! ../../../polkadot-sdk/target/release/wbuild/bridge-hub-westend-runtime/
-//! bridge_hub_westend_runtime.compact.compressed.wasm
-
-#[allow(dead_code, unused_imports, non_camel_case_types)]
-#[allow(clippy::all)]
-#[allow(rustdoc::broken_intra_doc_links)]
-pub mod api {
-	#[allow(unused_imports)]
-	mod root_mod {
-		pub use super::*;
-	}
-	pub mod runtime_types {
-		use super::runtime_types;
-		pub mod bounded_collections {
-			use super::runtime_types;
-			pub mod bounded_btree_set {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BoundedBTreeSet<_0>(pub ::std::vec::Vec<_0>);
-			}
-			pub mod bounded_vec {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BoundedVec<_0>(pub ::std::vec::Vec<_0>);
-			}
-			pub mod weak_bounded_vec {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct WeakBoundedVec<_0>(pub ::std::vec::Vec<_0>);
-			}
-		}
-		pub mod bp_header_chain {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct AuthoritySet {
-				pub authorities: ::std::vec::Vec<(
-					runtime_types::sp_consensus_grandpa::app::Public,
-					::core::primitive::u64,
-				)>,
-				pub set_id: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum HeaderChainError {
-				#[codec(index = 0)]
-				UnknownHeader,
-				#[codec(index = 1)]
-				StorageProof(runtime_types::bp_runtime::storage_proof::Error),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct HeaderFinalityInfo<_0, _1> {
-				pub finality_proof: _0,
-				pub new_verification_context: ::core::option::Option<_1>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct StoredHeaderData<_0, _1> {
-				pub number: _0,
-				pub state_root: _1,
-			}
-		}
-		pub mod bp_messages {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct DeliveredMessages {
-				pub begin: ::core::primitive::u64,
-				pub end: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundLaneData<_0> {
-				pub relayers: ::std::vec::Vec<runtime_types::bp_messages::UnrewardedRelayer<_0>>,
-				pub last_confirmed_nonce: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct LaneId(pub [::core::primitive::u8; 4usize]);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct MessageKey {
-				pub lane_id: runtime_types::bp_messages::LaneId,
-				pub nonce: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum MessagesOperatingMode {
-				#[codec(index = 0)]
-				Basic(runtime_types::bp_runtime::BasicOperatingMode),
-				#[codec(index = 1)]
-				RejectingOutboundMessages,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OutboundLaneData {
-				pub oldest_unpruned_nonce: ::core::primitive::u64,
-				pub latest_received_nonce: ::core::primitive::u64,
-				pub latest_generated_nonce: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ReceivalResult<_0> {
-				#[codec(index = 0)]
-				Dispatched(runtime_types::bp_runtime::messages::MessageDispatchResult<_0>),
-				#[codec(index = 1)]
-				InvalidNonce,
-				#[codec(index = 2)]
-				TooManyUnrewardedRelayers,
-				#[codec(index = 3)]
-				TooManyUnconfirmedMessages,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ReceivedMessages<_0> {
-				pub lane: runtime_types::bp_messages::LaneId,
-				pub receive_results: ::std::vec::Vec<(
-					::core::primitive::u64,
-					runtime_types::bp_messages::ReceivalResult<_0>,
-				)>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct UnrewardedRelayer<_0> {
-				pub relayer: _0,
-				pub messages: runtime_types::bp_messages::DeliveredMessages,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VerificationError {
-				#[codec(index = 0)]
-				EmptyMessageProof,
-				#[codec(index = 1)]
-				HeaderChain(runtime_types::bp_header_chain::HeaderChainError),
-				#[codec(index = 2)]
-				InboundLaneStorage(runtime_types::bp_runtime::storage_proof::Error),
-				#[codec(index = 3)]
-				InvalidMessageWeight,
-				#[codec(index = 4)]
-				MessagesCountMismatch,
-				#[codec(index = 5)]
-				MessageStorage(runtime_types::bp_runtime::storage_proof::Error),
-				#[codec(index = 6)]
-				MessageTooLarge,
-				#[codec(index = 7)]
-				OutboundLaneStorage(runtime_types::bp_runtime::storage_proof::Error),
-				#[codec(index = 8)]
-				StorageProof(runtime_types::bp_runtime::storage_proof::Error),
-				#[codec(index = 9)]
-				Other,
-			}
-		}
-		pub mod bp_parachains {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BestParaHeadHash {
-				pub at_relay_block_number: ::core::primitive::u32,
-				pub head_hash: ::subxt::utils::H256,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ParaInfo {
-				pub best_head_hash: runtime_types::bp_parachains::BestParaHeadHash,
-				pub next_imported_hash_position: ::core::primitive::u32,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ParaStoredHeaderData(pub ::std::vec::Vec<::core::primitive::u8>);
-		}
-		pub mod bp_relayers {
-			use super::runtime_types;
-			pub mod registration {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Registration<_0, _1> {
-					pub valid_till: _0,
-					pub stake: _1,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RewardsAccountOwner {
-				#[codec(index = 0)]
-				ThisChain,
-				#[codec(index = 1)]
-				BridgedChain,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RewardsAccountParams {
-				pub lane_id: runtime_types::bp_messages::LaneId,
-				pub bridged_chain_id: [::core::primitive::u8; 4usize],
-				pub owner: runtime_types::bp_relayers::RewardsAccountOwner,
-			}
-		}
-		pub mod bp_runtime {
-			use super::runtime_types;
-			pub mod messages {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct MessageDispatchResult<_0> {
-					pub unspent_weight: ::sp_weights::Weight,
-					pub dispatch_level_result: _0,
-				}
-			}
-			pub mod storage_proof {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					DuplicateNodesInProof,
-					#[codec(index = 1)]
-					UnusedNodesInTheProof,
-					#[codec(index = 2)]
-					StorageRootMismatch,
-					#[codec(index = 3)]
-					StorageValueUnavailable,
-					#[codec(index = 4)]
-					StorageValueEmpty,
-					#[codec(index = 5)]
-					StorageValueDecodeFailed(runtime_types::bp_runtime::StrippableError),
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum BasicOperatingMode {
-				#[codec(index = 0)]
-				Normal,
-				#[codec(index = 1)]
-				Halted,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct HeaderId<_0, _1>(pub _1, pub _0);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum OwnedBridgeModuleError {
-				#[codec(index = 0)]
-				Halted,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct StrippableError;
-		}
-		pub mod bridge_hub_common {
-			use super::runtime_types;
-			pub mod message_queue {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum AggregateMessageOrigin {
-					#[codec(index = 0)]
-					Here,
-					#[codec(index = 1)]
-					Parent,
-					#[codec(index = 2)]
-					Sibling(runtime_types::polkadot_parachain_primitives::primitives::Id),
-					#[codec(index = 3)]
-					Snowbridge(runtime_types::snowbridge_core::ChannelId),
-				}
-			}
-		}
-		pub mod bridge_hub_westend_runtime {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BridgeRejectObsoleteHeadersAndMessages;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum OriginCaller {
-				#[codec(index = 0)]
-				system(
-					runtime_types::frame_support::dispatch::RawOrigin<
-						::sp_core::crypto::AccountId32,
-					>,
-				),
-				#[codec(index = 31)]
-				PolkadotXcm(runtime_types::pallet_xcm::pallet::Origin),
-				#[codec(index = 32)]
-				CumulusXcm(runtime_types::cumulus_pallet_xcm::pallet::Origin),
-				#[codec(index = 3)]
-				Void(runtime_types::sp_core::Void),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Runtime;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeCall {
-				#[codec(index = 0)]
-				System(runtime_types::frame_system::pallet::Call),
-				#[codec(index = 1)]
-				ParachainSystem(runtime_types::cumulus_pallet_parachain_system::pallet::Call),
-				#[codec(index = 2)]
-				Timestamp(runtime_types::pallet_timestamp::pallet::Call),
-				#[codec(index = 3)]
-				ParachainInfo(runtime_types::staging_parachain_info::pallet::Call),
-				#[codec(index = 10)]
-				Balances(runtime_types::pallet_balances::pallet::Call),
-				#[codec(index = 21)]
-				CollatorSelection(runtime_types::pallet_collator_selection::pallet::Call),
-				#[codec(index = 22)]
-				Session(runtime_types::pallet_session::pallet::Call),
-				#[codec(index = 30)]
-				XcmpQueue(runtime_types::cumulus_pallet_xcmp_queue::pallet::Call),
-				#[codec(index = 31)]
-				PolkadotXcm(runtime_types::pallet_xcm::pallet::Call),
-				#[codec(index = 32)]
-				CumulusXcm(runtime_types::cumulus_pallet_xcm::pallet::Call),
-				#[codec(index = 40)]
-				Utility(runtime_types::pallet_utility::pallet::Call),
-				#[codec(index = 36)]
-				Multisig(runtime_types::pallet_multisig::pallet::Call),
-				#[codec(index = 41)]
-				BridgeRelayers(runtime_types::pallet_bridge_relayers::pallet::Call),
-				#[codec(index = 42)]
-				BridgeRococoGrandpa(runtime_types::pallet_bridge_grandpa::pallet::Call),
-				#[codec(index = 43)]
-				BridgeRococoParachains(runtime_types::pallet_bridge_parachains::pallet::Call),
-				#[codec(index = 44)]
-				BridgeRococoMessages(runtime_types::pallet_bridge_messages::pallet::Call),
-				#[codec(index = 250)]
-				MessageQueue(runtime_types::pallet_message_queue::pallet::Call),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeError {
-				#[codec(index = 0)]
-				System(runtime_types::frame_system::pallet::Error),
-				#[codec(index = 1)]
-				ParachainSystem(runtime_types::cumulus_pallet_parachain_system::pallet::Error),
-				#[codec(index = 10)]
-				Balances(runtime_types::pallet_balances::pallet::Error),
-				#[codec(index = 21)]
-				CollatorSelection(runtime_types::pallet_collator_selection::pallet::Error),
-				#[codec(index = 22)]
-				Session(runtime_types::pallet_session::pallet::Error),
-				#[codec(index = 30)]
-				XcmpQueue(runtime_types::cumulus_pallet_xcmp_queue::pallet::Error),
-				#[codec(index = 31)]
-				PolkadotXcm(runtime_types::pallet_xcm::pallet::Error),
-				#[codec(index = 40)]
-				Utility(runtime_types::pallet_utility::pallet::Error),
-				#[codec(index = 36)]
-				Multisig(runtime_types::pallet_multisig::pallet::Error),
-				#[codec(index = 41)]
-				BridgeRelayers(runtime_types::pallet_bridge_relayers::pallet::Error),
-				#[codec(index = 42)]
-				BridgeRococoGrandpa(runtime_types::pallet_bridge_grandpa::pallet::Error),
-				#[codec(index = 43)]
-				BridgeRococoParachains(runtime_types::pallet_bridge_parachains::pallet::Error),
-				#[codec(index = 44)]
-				BridgeRococoMessages(runtime_types::pallet_bridge_messages::pallet::Error),
-				#[codec(index = 250)]
-				MessageQueue(runtime_types::pallet_message_queue::pallet::Error),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeEvent {
-				#[codec(index = 0)]
-				System(runtime_types::frame_system::pallet::Event),
-				#[codec(index = 1)]
-				ParachainSystem(runtime_types::cumulus_pallet_parachain_system::pallet::Event),
-				#[codec(index = 10)]
-				Balances(runtime_types::pallet_balances::pallet::Event),
-				#[codec(index = 11)]
-				TransactionPayment(runtime_types::pallet_transaction_payment::pallet::Event),
-				#[codec(index = 21)]
-				CollatorSelection(runtime_types::pallet_collator_selection::pallet::Event),
-				#[codec(index = 22)]
-				Session(runtime_types::pallet_session::pallet::Event),
-				#[codec(index = 30)]
-				XcmpQueue(runtime_types::cumulus_pallet_xcmp_queue::pallet::Event),
-				#[codec(index = 31)]
-				PolkadotXcm(runtime_types::pallet_xcm::pallet::Event),
-				#[codec(index = 32)]
-				CumulusXcm(runtime_types::cumulus_pallet_xcm::pallet::Event),
-				#[codec(index = 40)]
-				Utility(runtime_types::pallet_utility::pallet::Event),
-				#[codec(index = 36)]
-				Multisig(runtime_types::pallet_multisig::pallet::Event),
-				#[codec(index = 41)]
-				BridgeRelayers(runtime_types::pallet_bridge_relayers::pallet::Event),
-				#[codec(index = 42)]
-				BridgeRococoGrandpa(runtime_types::pallet_bridge_grandpa::pallet::Event),
-				#[codec(index = 43)]
-				BridgeRococoParachains(runtime_types::pallet_bridge_parachains::pallet::Event),
-				#[codec(index = 44)]
-				BridgeRococoMessages(runtime_types::pallet_bridge_messages::pallet::Event),
-				#[codec(index = 250)]
-				MessageQueue(runtime_types::pallet_message_queue::pallet::Event),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeHoldReason {}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct SessionKeys {
-				pub aura: runtime_types::sp_consensus_aura::sr25519::app_sr25519::Public,
-			}
-		}
-		pub mod bridge_runtime_common {
-			use super::runtime_types;
-			pub mod messages_xcm_extension {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum XcmBlobMessageDispatchResult {
-					#[codec(index = 0)]
-					InvalidPayload,
-					#[codec(index = 1)]
-					Dispatched,
-					#[codec(index = 2)]
-					NotDispatched,
-				}
-			}
-			pub mod refund_relayer_extension {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RefundBridgedParachainMessages;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RefundTransactionExtensionAdapter<_0>(pub _0);
-			}
-		}
-		pub mod cumulus_pallet_parachain_system {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					# [codec (index = 0)] set_validation_data { data : runtime_types :: cumulus_primitives_parachain_inherent :: ParachainInherentData , } , # [codec (index = 1)] sudo_send_upward_message { message : :: std :: vec :: Vec < :: core :: primitive :: u8 > , } , # [codec (index = 2)] authorize_upgrade { code_hash : :: subxt :: utils :: H256 , check_version : :: core :: primitive :: bool , } , # [codec (index = 3)] enact_authorized_upgrade { code : :: std :: vec :: Vec < :: core :: primitive :: u8 > , } , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					OverlappingUpgrades,
-					#[codec(index = 1)]
-					ProhibitedByPolkadot,
-					#[codec(index = 2)]
-					TooBig,
-					#[codec(index = 3)]
-					ValidationDataNotAvailable,
-					#[codec(index = 4)]
-					HostConfigurationNotAvailable,
-					#[codec(index = 5)]
-					NotScheduled,
-					#[codec(index = 6)]
-					NothingAuthorized,
-					#[codec(index = 7)]
-					Unauthorized,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					ValidationFunctionStored,
-					#[codec(index = 1)]
-					ValidationFunctionApplied { relay_chain_block_num: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					ValidationFunctionDiscarded,
-					#[codec(index = 3)]
-					DownwardMessagesReceived { count: ::core::primitive::u32 },
-					#[codec(index = 4)]
-					DownwardMessagesProcessed {
-						weight_used: ::sp_weights::Weight,
-						dmq_head: ::subxt::utils::H256,
-					},
-					#[codec(index = 5)]
-					UpwardMessageSent {
-						message_hash: ::core::option::Option<[::core::primitive::u8; 32usize]>,
-					},
-				}
-			}
-			pub mod relay_state_snapshot {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct MessagingStateSnapshot { pub dmq_mqc_head : :: subxt :: utils :: H256 , pub relay_dispatch_queue_remaining_capacity : runtime_types :: cumulus_pallet_parachain_system :: relay_state_snapshot :: RelayDispatchQueueRemainingCapacity , pub ingress_channels : :: std :: vec :: Vec < (runtime_types :: polkadot_parachain_primitives :: primitives :: Id , runtime_types :: polkadot_primitives :: v6 :: AbridgedHrmpChannel ,) > , pub egress_channels : :: std :: vec :: Vec < (runtime_types :: polkadot_parachain_primitives :: primitives :: Id , runtime_types :: polkadot_primitives :: v6 :: AbridgedHrmpChannel ,) > , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RelayDispatchQueueRemainingCapacity {
-					pub remaining_count: ::core::primitive::u32,
-					pub remaining_size: ::core::primitive::u32,
-				}
-			}
-			pub mod unincluded_segment {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Ancestor < _0 > { pub used_bandwidth : runtime_types :: cumulus_pallet_parachain_system :: unincluded_segment :: UsedBandwidth , pub para_head_hash : :: core :: option :: Option < _0 > , pub consumed_go_ahead_signal : :: core :: option :: Option < runtime_types :: polkadot_primitives :: v6 :: UpgradeGoAhead > , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HrmpChannelUpdate {
-					pub msg_count: ::core::primitive::u32,
-					pub total_bytes: ::core::primitive::u32,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SegmentTracker < _0 > { pub used_bandwidth : runtime_types :: cumulus_pallet_parachain_system :: unincluded_segment :: UsedBandwidth , pub hrmp_watermark : :: core :: option :: Option < :: core :: primitive :: u32 > , pub consumed_go_ahead_signal : :: core :: option :: Option < runtime_types :: polkadot_primitives :: v6 :: UpgradeGoAhead > , # [codec (skip)] pub __subxt_unused_type_params : :: core :: marker :: PhantomData < _0 > }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct UsedBandwidth { pub ump_msg_count : :: core :: primitive :: u32 , pub ump_total_bytes : :: core :: primitive :: u32 , pub hrmp_outgoing : :: subxt :: utils :: KeyedVec < runtime_types :: polkadot_parachain_primitives :: primitives :: Id , runtime_types :: cumulus_pallet_parachain_system :: unincluded_segment :: HrmpChannelUpdate > , }
-			}
-		}
-		pub mod cumulus_pallet_xcm {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					InvalidFormat([::core::primitive::u8; 32usize]),
-					#[codec(index = 1)]
-					UnsupportedVersion([::core::primitive::u8; 32usize]),
-					#[codec(index = 2)]
-					ExecutedDownward(
-						[::core::primitive::u8; 32usize],
-						runtime_types::staging_xcm::v4::traits::Outcome,
-					),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Origin {
-					#[codec(index = 0)]
-					Relay,
-					#[codec(index = 1)]
-					SiblingParachain(runtime_types::polkadot_parachain_primitives::primitives::Id),
-				}
-			}
-		}
-		pub mod cumulus_pallet_xcmp_queue {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 1)]
-					suspend_xcm_execution,
-					#[codec(index = 2)]
-					resume_xcm_execution,
-					#[codec(index = 3)]
-					update_suspend_threshold { new: ::core::primitive::u32 },
-					#[codec(index = 4)]
-					update_drop_threshold { new: ::core::primitive::u32 },
-					#[codec(index = 5)]
-					update_resume_threshold { new: ::core::primitive::u32 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					BadQueueConfig,
-					#[codec(index = 1)]
-					AlreadySuspended,
-					#[codec(index = 2)]
-					AlreadyResumed,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					XcmpMessageSent { message_hash: [::core::primitive::u8; 32usize] },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OutboundChannelDetails {
-				pub recipient: runtime_types::polkadot_parachain_primitives::primitives::Id,
-				pub state: runtime_types::cumulus_pallet_xcmp_queue::OutboundState,
-				pub signals_exist: ::core::primitive::bool,
-				pub first_index: ::core::primitive::u16,
-				pub last_index: ::core::primitive::u16,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum OutboundState {
-				#[codec(index = 0)]
-				Ok,
-				#[codec(index = 1)]
-				Suspended,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct QueueConfigData {
-				pub suspend_threshold: ::core::primitive::u32,
-				pub drop_threshold: ::core::primitive::u32,
-				pub resume_threshold: ::core::primitive::u32,
-			}
-		}
-		pub mod cumulus_primitives_parachain_inherent {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct MessageQueueChain(pub ::subxt::utils::H256);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ParachainInherentData {
-				pub validation_data:
-					runtime_types::polkadot_primitives::v6::PersistedValidationData<
-						::subxt::utils::H256,
-						::core::primitive::u32,
-					>,
-				pub relay_chain_state: runtime_types::sp_trie::storage_proof::StorageProof,
-				pub downward_messages: ::std::vec::Vec<
-					runtime_types::polkadot_core_primitives::InboundDownwardMessage<
-						::core::primitive::u32,
-					>,
-				>,
-				pub horizontal_messages: ::subxt::utils::KeyedVec<
-					runtime_types::polkadot_parachain_primitives::primitives::Id,
-					::std::vec::Vec<
-						runtime_types::polkadot_core_primitives::InboundHrmpMessage<
-							::core::primitive::u32,
-						>,
-					>,
-				>,
-			}
-		}
-		pub mod finality_grandpa {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Commit<_0, _1, _2, _3> {
-				pub target_hash: _0,
-				pub target_number: _1,
-				pub precommits: ::std::vec::Vec<
-					runtime_types::finality_grandpa::SignedPrecommit<_0, _1, _2, _3>,
-				>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Precommit<_0, _1> {
-				pub target_hash: _0,
-				pub target_number: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct SignedPrecommit<_0, _1, _2, _3> {
-				pub precommit: runtime_types::finality_grandpa::Precommit<_0, _1>,
-				pub signature: _2,
-				pub id: _3,
-			}
-		}
-		pub mod frame_support {
-			use super::runtime_types;
-			pub mod dispatch {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum DispatchClass {
-					#[codec(index = 0)]
-					Normal,
-					#[codec(index = 1)]
-					Operational,
-					#[codec(index = 2)]
-					Mandatory,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DispatchInfo {
-					pub weight: ::sp_weights::Weight,
-					pub class: runtime_types::frame_support::dispatch::DispatchClass,
-					pub pays_fee: runtime_types::frame_support::dispatch::Pays,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Pays {
-					#[codec(index = 0)]
-					Yes,
-					#[codec(index = 1)]
-					No,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PerDispatchClass<_0> {
-					pub normal: _0,
-					pub operational: _0,
-					pub mandatory: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum RawOrigin<_0> {
-					#[codec(index = 0)]
-					Root,
-					#[codec(index = 1)]
-					Signed(_0),
-					#[codec(index = 2)]
-					None,
-				}
-			}
-			pub mod traits {
-				use super::runtime_types;
-				pub mod messages {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum ProcessMessageError {
-						#[codec(index = 0)]
-						BadFormat,
-						#[codec(index = 1)]
-						Corrupt,
-						#[codec(index = 2)]
-						Unsupported,
-						#[codec(index = 3)]
-						Overweight(::sp_weights::Weight),
-						#[codec(index = 4)]
-						Yield,
-					}
-				}
-				pub mod tokens {
-					use super::runtime_types;
-					pub mod misc {
-						use super::runtime_types;
-						#[derive(
-							:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq,
-						)]
-						pub enum BalanceStatus {
-							#[codec(index = 0)]
-							Free,
-							#[codec(index = 1)]
-							Reserved,
-						}
-					}
-				}
-			}
-		}
-		pub mod frame_system {
-			use super::runtime_types;
-			pub mod extensions {
-				use super::runtime_types;
-				pub mod check_genesis {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckGenesis;
-				}
-				pub mod check_mortality {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckMortality(pub ::sp_runtime::generic::Era);
-				}
-				pub mod check_non_zero_sender {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckNonZeroSender;
-				}
-				pub mod check_nonce {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckNonce(#[codec(compact)] pub ::core::primitive::u32);
-				}
-				pub mod check_spec_version {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckSpecVersion;
-				}
-				pub mod check_tx_version {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckTxVersion;
-				}
-				pub mod check_weight {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckWeight;
-				}
-			}
-			pub mod limits {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BlockLength {
-					pub max: runtime_types::frame_support::dispatch::PerDispatchClass<
-						::core::primitive::u32,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BlockWeights {
-					pub base_block: ::sp_weights::Weight,
-					pub max_block: ::sp_weights::Weight,
-					pub per_class: runtime_types::frame_support::dispatch::PerDispatchClass<
-						runtime_types::frame_system::limits::WeightsPerClass,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct WeightsPerClass {
-					pub base_extrinsic: ::sp_weights::Weight,
-					pub max_extrinsic: ::core::option::Option<::sp_weights::Weight>,
-					pub max_total: ::core::option::Option<::sp_weights::Weight>,
-					pub reserved: ::core::option::Option<::sp_weights::Weight>,
-				}
-			}
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					remark { remark: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 1)]
-					set_heap_pages { pages: ::core::primitive::u64 },
-					#[codec(index = 2)]
-					set_code { code: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 3)]
-					set_code_without_checks { code: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 4)]
-					set_storage {
-						items: ::std::vec::Vec<(
-							::std::vec::Vec<::core::primitive::u8>,
-							::std::vec::Vec<::core::primitive::u8>,
-						)>,
-					},
-					#[codec(index = 5)]
-					kill_storage { keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>> },
-					#[codec(index = 6)]
-					kill_prefix {
-						prefix: ::std::vec::Vec<::core::primitive::u8>,
-						subkeys: ::core::primitive::u32,
-					},
-					#[codec(index = 7)]
-					remark_with_event { remark: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 9)]
-					authorize_upgrade { code_hash: ::subxt::utils::H256 },
-					#[codec(index = 10)]
-					authorize_upgrade_without_checks { code_hash: ::subxt::utils::H256 },
-					#[codec(index = 11)]
-					apply_authorized_upgrade { code: ::std::vec::Vec<::core::primitive::u8> },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidSpecName,
-					#[codec(index = 1)]
-					SpecVersionNeedsToIncrease,
-					#[codec(index = 2)]
-					FailedToExtractRuntimeVersion,
-					#[codec(index = 3)]
-					NonDefaultComposite,
-					#[codec(index = 4)]
-					NonZeroRefCount,
-					#[codec(index = 5)]
-					CallFiltered,
-					#[codec(index = 6)]
-					NothingAuthorized,
-					#[codec(index = 7)]
-					Unauthorized,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					ExtrinsicSuccess {
-						dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo,
-					},
-					#[codec(index = 1)]
-					ExtrinsicFailed {
-						dispatch_error: runtime_types::sp_runtime::DispatchError,
-						dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo,
-					},
-					#[codec(index = 2)]
-					CodeUpdated,
-					#[codec(index = 3)]
-					NewAccount { account: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 4)]
-					KilledAccount { account: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 5)]
-					Remarked { sender: ::sp_core::crypto::AccountId32, hash: ::subxt::utils::H256 },
-					#[codec(index = 6)]
-					UpgradeAuthorized {
-						code_hash: ::subxt::utils::H256,
-						check_version: ::core::primitive::bool,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct AccountInfo<_0, _1> {
-				pub nonce: _0,
-				pub consumers: ::core::primitive::u32,
-				pub providers: ::core::primitive::u32,
-				pub sufficients: ::core::primitive::u32,
-				pub data: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct CodeUpgradeAuthorization {
-				pub code_hash: ::subxt::utils::H256,
-				pub check_version: ::core::primitive::bool,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct EventRecord<_0, _1> {
-				pub phase: runtime_types::frame_system::Phase,
-				pub event: _0,
-				pub topics: ::std::vec::Vec<_1>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct LastRuntimeUpgradeInfo {
-				#[codec(compact)]
-				pub spec_version: ::core::primitive::u32,
-				pub spec_name: ::std::string::String,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Phase {
-				#[codec(index = 0)]
-				ApplyExtrinsic(::core::primitive::u32),
-				#[codec(index = 1)]
-				Finalization,
-				#[codec(index = 2)]
-				Initialization,
-			}
-		}
-		pub mod pallet_balances {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					transfer_allow_death {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					force_transfer {
-						source: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					transfer_keep_alive {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					transfer_all {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						keep_alive: ::core::primitive::bool,
-					},
-					#[codec(index = 5)]
-					force_unreserve {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 6)]
-					upgrade_accounts { who: ::std::vec::Vec<::sp_core::crypto::AccountId32> },
-					#[codec(index = 8)]
-					force_set_balance {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						new_free: ::core::primitive::u128,
-					},
-					#[codec(index = 9)]
-					force_adjust_total_issuance {
-						direction: runtime_types::pallet_balances::types::AdjustmentDirection,
-						#[codec(compact)]
-						delta: ::core::primitive::u128,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					VestingBalance,
-					#[codec(index = 1)]
-					LiquidityRestrictions,
-					#[codec(index = 2)]
-					InsufficientBalance,
-					#[codec(index = 3)]
-					ExistentialDeposit,
-					#[codec(index = 4)]
-					Expendability,
-					#[codec(index = 5)]
-					ExistingVestingSchedule,
-					#[codec(index = 6)]
-					DeadAccount,
-					#[codec(index = 7)]
-					TooManyReserves,
-					#[codec(index = 8)]
-					TooManyHolds,
-					#[codec(index = 9)]
-					TooManyFreezes,
-					#[codec(index = 10)]
-					IssuanceDeactivated,
-					#[codec(index = 11)]
-					DeltaZero,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Endowed {
-						account: ::sp_core::crypto::AccountId32,
-						free_balance: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					DustLost {
-						account: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					Transfer {
-						from: ::sp_core::crypto::AccountId32,
-						to: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					BalanceSet {
-						who: ::sp_core::crypto::AccountId32,
-						free: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					Reserved {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 5)]
-					Unreserved {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 6)]
-					ReserveRepatriated {
-						from: ::sp_core::crypto::AccountId32,
-						to: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-						destination_status:
-							runtime_types::frame_support::traits::tokens::misc::BalanceStatus,
-					},
-					#[codec(index = 7)]
-					Deposit { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 8)]
-					Withdraw {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 9)]
-					Slashed { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 10)]
-					Minted { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 11)]
-					Burned { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 12)]
-					Suspended {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 13)]
-					Restored {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 14)]
-					Upgraded { who: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 15)]
-					Issued { amount: ::core::primitive::u128 },
-					#[codec(index = 16)]
-					Rescinded { amount: ::core::primitive::u128 },
-					#[codec(index = 17)]
-					Locked { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 18)]
-					Unlocked {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 19)]
-					Frozen { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 20)]
-					Thawed { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 21)]
-					TotalIssuanceForced {
-						old: ::core::primitive::u128,
-						new: ::core::primitive::u128,
-					},
-				}
-			}
-			pub mod types {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AccountData<_0> {
-					pub free: _0,
-					pub reserved: _0,
-					pub frozen: _0,
-					pub flags: runtime_types::pallet_balances::types::ExtraFlags,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum AdjustmentDirection {
-					#[codec(index = 0)]
-					Increase,
-					#[codec(index = 1)]
-					Decrease,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BalanceLock<_0> {
-					pub id: [::core::primitive::u8; 8usize],
-					pub amount: _0,
-					pub reasons: runtime_types::pallet_balances::types::Reasons,
-				}
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct ExtraFlags(pub ::core::primitive::u128);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct IdAmount<_0, _1> {
-					pub id: _0,
-					pub amount: _1,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Reasons {
-					#[codec(index = 0)]
-					Fee,
-					#[codec(index = 1)]
-					Misc,
-					#[codec(index = 2)]
-					All,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ReserveData<_0, _1> {
-					pub id: _0,
-					pub amount: _1,
-				}
-			}
-		}
-		pub mod pallet_bridge_grandpa {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					submit_finality_proof {
-						finality_target: ::std::boxed::Box<
-							::sp_runtime::generic::Header<
-								::core::primitive::u32,
-								::sp_runtime::traits::BlakeTwo256,
-							>,
-						>,
-						justification: ::bp_header_chain::justification::GrandpaJustification<
-							::sp_runtime::generic::Header<
-								::core::primitive::u32,
-								::sp_runtime::traits::BlakeTwo256,
-							>,
-						>,
-					},
-					#[codec(index = 1)]
-					initialize {
-						init_data: ::bp_header_chain::InitializationData<
-							::sp_runtime::generic::Header<
-								::core::primitive::u32,
-								::sp_runtime::traits::BlakeTwo256,
-							>,
-						>,
-					},
-					#[codec(index = 2)]
-					set_owner { new_owner: ::core::option::Option<::sp_core::crypto::AccountId32> },
-					#[codec(index = 3)]
-					set_operating_mode {
-						operating_mode: runtime_types::bp_runtime::BasicOperatingMode,
-					},
-					#[codec(index = 4)]
-					submit_finality_proof_ex {
-						finality_target: ::std::boxed::Box<
-							::sp_runtime::generic::Header<
-								::core::primitive::u32,
-								::sp_runtime::traits::BlakeTwo256,
-							>,
-						>,
-						justification: ::bp_header_chain::justification::GrandpaJustification<
-							::sp_runtime::generic::Header<
-								::core::primitive::u32,
-								::sp_runtime::traits::BlakeTwo256,
-							>,
-						>,
-						current_set_id: ::core::primitive::u64,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidJustification,
-					#[codec(index = 1)]
-					InvalidAuthoritySet,
-					#[codec(index = 2)]
-					OldHeader,
-					#[codec(index = 3)]
-					UnsupportedScheduledChange,
-					#[codec(index = 4)]
-					NotInitialized,
-					#[codec(index = 5)]
-					AlreadyInitialized,
-					#[codec(index = 6)]
-					TooManyAuthoritiesInSet,
-					#[codec(index = 7)]
-					BridgeModule(runtime_types::bp_runtime::OwnedBridgeModuleError),
-					#[codec(index = 8)]
-					InvalidAuthoritySetId,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					UpdatedBestFinalizedHeader {
-						number: ::core::primitive::u32,
-						hash: ::subxt::utils::H256,
-						grandpa_info: runtime_types::bp_header_chain::HeaderFinalityInfo<
-							::bp_header_chain::justification::GrandpaJustification<
-								::sp_runtime::generic::Header<
-									::core::primitive::u32,
-									::sp_runtime::traits::BlakeTwo256,
-								>,
-							>,
-							runtime_types::bp_header_chain::AuthoritySet,
-						>,
-					},
-				}
-			}
-			pub mod storage_types {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct StoredAuthoritySet {
-					pub authorities: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-						runtime_types::sp_consensus_grandpa::app::Public,
-						::core::primitive::u64,
-					)>,
-					pub set_id: ::core::primitive::u64,
-				}
-			}
-		}
-		pub mod pallet_bridge_messages {
-			use super::runtime_types;
-			pub mod outbound_lane {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum ReceivalConfirmationError {
-					#[codec(index = 0)]
-					FailedToConfirmFutureMessages,
-					#[codec(index = 1)]
-					EmptyUnrewardedRelayerEntry,
-					#[codec(index = 2)]
-					NonConsecutiveUnrewardedRelayerEntries,
-					#[codec(index = 3)]
-					TryingToConfirmMoreMessagesThanExpected,
-				}
-			}
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					# [codec (index = 0)] set_owner { new_owner : :: core :: option :: Option < :: sp_core :: crypto :: AccountId32 > , } , # [codec (index = 1)] set_operating_mode { operating_mode : runtime_types :: bp_messages :: MessagesOperatingMode , } , # [codec (index = 2)] receive_messages_proof { relayer_id_at_bridged_chain : :: sp_core :: crypto :: AccountId32 , proof : :: bridge_runtime_common :: messages :: target :: FromBridgedChainMessagesProof < :: subxt :: utils :: H256 > , messages_count : :: core :: primitive :: u32 , dispatch_weight : :: sp_weights :: Weight , } , # [codec (index = 3)] receive_messages_delivery_proof { proof : :: bridge_runtime_common :: messages :: source :: FromBridgedChainMessagesDeliveryProof < :: subxt :: utils :: H256 > , relayers_state : :: bp_messages :: UnrewardedRelayersState , } , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					# [codec (index = 0)] NotOperatingNormally , # [codec (index = 1)] InactiveOutboundLane , # [codec (index = 2)] MessageDispatchInactive , # [codec (index = 3)] MessageRejectedByChainVerifier (runtime_types :: bp_messages :: VerificationError ,) , # [codec (index = 4)] MessageRejectedByPallet (runtime_types :: bp_messages :: VerificationError ,) , # [codec (index = 5)] FailedToWithdrawMessageFee , # [codec (index = 6)] TooManyMessagesInTheProof , # [codec (index = 7)] InvalidMessagesProof , # [codec (index = 8)] InvalidMessagesDeliveryProof , # [codec (index = 9)] InvalidUnrewardedRelayersState , # [codec (index = 10)] InsufficientDispatchWeight , # [codec (index = 11)] MessageIsNotYetSent , # [codec (index = 12)] ReceivalConfirmation (runtime_types :: pallet_bridge_messages :: outbound_lane :: ReceivalConfirmationError ,) , # [codec (index = 13)] BridgeModule (runtime_types :: bp_runtime :: OwnedBridgeModuleError ,) , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					# [codec (index = 0)] MessageAccepted { lane_id : runtime_types :: bp_messages :: LaneId , nonce : :: core :: primitive :: u64 , } , # [codec (index = 1)] MessagesReceived (:: std :: vec :: Vec < runtime_types :: bp_messages :: ReceivedMessages < runtime_types :: bridge_runtime_common :: messages_xcm_extension :: XcmBlobMessageDispatchResult > > ,) , # [codec (index = 2)] MessagesDelivered { lane_id : runtime_types :: bp_messages :: LaneId , messages : runtime_types :: bp_messages :: DeliveredMessages , } , }
-			}
-		}
-		pub mod pallet_bridge_parachains {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					submit_parachain_heads {
-						at_relay_block: (::core::primitive::u32, ::subxt::utils::H256),
-						parachains: ::std::vec::Vec<(
-							::bp_polkadot_core::parachains::ParaId,
-							::subxt::utils::H256,
-						)>,
-						parachain_heads_proof: ::bp_polkadot_core::parachains::ParaHeadsProof,
-					},
-					#[codec(index = 1)]
-					set_owner { new_owner: ::core::option::Option<::sp_core::crypto::AccountId32> },
-					#[codec(index = 2)]
-					set_operating_mode {
-						operating_mode: runtime_types::bp_runtime::BasicOperatingMode,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					UnknownRelayChainBlock,
-					#[codec(index = 1)]
-					InvalidRelayChainBlockNumber,
-					#[codec(index = 2)]
-					HeaderChainStorageProof(runtime_types::bp_header_chain::HeaderChainError),
-					#[codec(index = 3)]
-					BridgeModule(runtime_types::bp_runtime::OwnedBridgeModuleError),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					UntrackedParachainRejected { parachain: ::bp_polkadot_core::parachains::ParaId },
-					#[codec(index = 1)]
-					MissingParachainHead { parachain: ::bp_polkadot_core::parachains::ParaId },
-					#[codec(index = 2)]
-					IncorrectParachainHeadHash {
-						parachain: ::bp_polkadot_core::parachains::ParaId,
-						parachain_head_hash: ::subxt::utils::H256,
-						actual_parachain_head_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 3)]
-					RejectedObsoleteParachainHead {
-						parachain: ::bp_polkadot_core::parachains::ParaId,
-						parachain_head_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 4)]
-					RejectedLargeParachainHead {
-						parachain: ::bp_polkadot_core::parachains::ParaId,
-						parachain_head_hash: ::subxt::utils::H256,
-						parachain_head_size: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					UpdatedParachainHead {
-						parachain: ::bp_polkadot_core::parachains::ParaId,
-						parachain_head_hash: ::subxt::utils::H256,
-					},
-				}
-			}
-		}
-		pub mod pallet_bridge_relayers {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					claim_rewards {
-						rewards_account_params: runtime_types::bp_relayers::RewardsAccountParams,
-					},
-					#[codec(index = 1)]
-					register { valid_till: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					deregister,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NoRewardForRelayer,
-					#[codec(index = 1)]
-					FailedToPayReward,
-					#[codec(index = 2)]
-					InvalidRegistrationLease,
-					#[codec(index = 3)]
-					CannotReduceRegistrationLease,
-					#[codec(index = 4)]
-					FailedToReserve,
-					#[codec(index = 5)]
-					FailedToUnreserve,
-					#[codec(index = 6)]
-					NotRegistered,
-					#[codec(index = 7)]
-					RegistrationIsStillActive,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					RewardRegistered {
-						relayer: ::sp_core::crypto::AccountId32,
-						rewards_account_params: runtime_types::bp_relayers::RewardsAccountParams,
-						reward: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					RewardPaid {
-						relayer: ::sp_core::crypto::AccountId32,
-						rewards_account_params: runtime_types::bp_relayers::RewardsAccountParams,
-						reward: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					RegistrationUpdated {
-						relayer: ::sp_core::crypto::AccountId32,
-						registration: runtime_types::bp_relayers::registration::Registration<
-							::core::primitive::u32,
-							::core::primitive::u128,
-						>,
-					},
-					#[codec(index = 3)]
-					Deregistered { relayer: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 4)]
-					SlashedAndDeregistered {
-						relayer: ::sp_core::crypto::AccountId32,
-						registration: runtime_types::bp_relayers::registration::Registration<
-							::core::primitive::u32,
-							::core::primitive::u128,
-						>,
-					},
-				}
-			}
-		}
-		pub mod pallet_collator_selection {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					set_invulnerables { new: ::std::vec::Vec<::sp_core::crypto::AccountId32> },
-					#[codec(index = 1)]
-					set_desired_candidates { max: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					set_candidacy_bond { bond: ::core::primitive::u128 },
-					#[codec(index = 3)]
-					register_as_candidate,
-					#[codec(index = 4)]
-					leave_intent,
-					#[codec(index = 5)]
-					add_invulnerable { who: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 6)]
-					remove_invulnerable { who: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 7)]
-					update_bond { new_deposit: ::core::primitive::u128 },
-					#[codec(index = 8)]
-					take_candidate_slot {
-						deposit: ::core::primitive::u128,
-						target: ::sp_core::crypto::AccountId32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CandidateInfo<_0, _1> {
-					pub who: _0,
-					pub deposit: _1,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					TooManyCandidates,
-					#[codec(index = 1)]
-					TooFewEligibleCollators,
-					#[codec(index = 2)]
-					AlreadyCandidate,
-					#[codec(index = 3)]
-					NotCandidate,
-					#[codec(index = 4)]
-					TooManyInvulnerables,
-					#[codec(index = 5)]
-					AlreadyInvulnerable,
-					#[codec(index = 6)]
-					NotInvulnerable,
-					#[codec(index = 7)]
-					NoAssociatedValidatorId,
-					#[codec(index = 8)]
-					ValidatorNotRegistered,
-					#[codec(index = 9)]
-					InsertToCandidateListFailed,
-					#[codec(index = 10)]
-					RemoveFromCandidateListFailed,
-					#[codec(index = 11)]
-					DepositTooLow,
-					#[codec(index = 12)]
-					UpdateCandidateListFailed,
-					#[codec(index = 13)]
-					InsufficientBond,
-					#[codec(index = 14)]
-					TargetIsNotCandidate,
-					#[codec(index = 15)]
-					IdenticalDeposit,
-					#[codec(index = 16)]
-					InvalidUnreserve,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewInvulnerables {
-						invulnerables: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-					},
-					#[codec(index = 1)]
-					InvulnerableAdded { account_id: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 2)]
-					InvulnerableRemoved { account_id: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 3)]
-					NewDesiredCandidates { desired_candidates: ::core::primitive::u32 },
-					#[codec(index = 4)]
-					NewCandidacyBond { bond_amount: ::core::primitive::u128 },
-					#[codec(index = 5)]
-					CandidateAdded {
-						account_id: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 6)]
-					CandidateBondUpdated {
-						account_id: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 7)]
-					CandidateRemoved { account_id: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 8)]
-					CandidateReplaced {
-						old: ::sp_core::crypto::AccountId32,
-						new: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 9)]
-					InvalidInvulnerableSkipped { account_id: ::sp_core::crypto::AccountId32 },
-				}
-			}
-		}
-		pub mod pallet_message_queue {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					reap_page {
-						message_origin:
-							runtime_types::bridge_hub_common::message_queue::AggregateMessageOrigin,
-						page_index: ::core::primitive::u32,
-					},
-					#[codec(index = 1)]
-					execute_overweight {
-						message_origin:
-							runtime_types::bridge_hub_common::message_queue::AggregateMessageOrigin,
-						page: ::core::primitive::u32,
-						index: ::core::primitive::u32,
-						weight_limit: ::sp_weights::Weight,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotReapable,
-					#[codec(index = 1)]
-					NoPage,
-					#[codec(index = 2)]
-					NoMessage,
-					#[codec(index = 3)]
-					AlreadyProcessed,
-					#[codec(index = 4)]
-					Queued,
-					#[codec(index = 5)]
-					InsufficientWeight,
-					#[codec(index = 6)]
-					TemporarilyUnprocessable,
-					#[codec(index = 7)]
-					QueuePaused,
-					#[codec(index = 8)]
-					RecursiveDisallowed,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					ProcessingFailed {
-						id: ::subxt::utils::H256,
-						origin:
-							runtime_types::bridge_hub_common::message_queue::AggregateMessageOrigin,
-						error: runtime_types::frame_support::traits::messages::ProcessMessageError,
-					},
-					#[codec(index = 1)]
-					Processed {
-						id: ::subxt::utils::H256,
-						origin:
-							runtime_types::bridge_hub_common::message_queue::AggregateMessageOrigin,
-						weight_used: ::sp_weights::Weight,
-						success: ::core::primitive::bool,
-					},
-					#[codec(index = 2)]
-					OverweightEnqueued {
-						id: [::core::primitive::u8; 32usize],
-						origin:
-							runtime_types::bridge_hub_common::message_queue::AggregateMessageOrigin,
-						page_index: ::core::primitive::u32,
-						message_index: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					PageReaped {
-						origin:
-							runtime_types::bridge_hub_common::message_queue::AggregateMessageOrigin,
-						index: ::core::primitive::u32,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BookState<_0> {
-				pub begin: ::core::primitive::u32,
-				pub end: ::core::primitive::u32,
-				pub count: ::core::primitive::u32,
-				pub ready_neighbours:
-					::core::option::Option<runtime_types::pallet_message_queue::Neighbours<_0>>,
-				pub message_count: ::core::primitive::u64,
-				pub size: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Neighbours<_0> {
-				pub prev: _0,
-				pub next: _0,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Page<_0> {
-				pub remaining: _0,
-				pub remaining_size: _0,
-				pub first_index: _0,
-				pub first: _0,
-				pub last: _0,
-				pub heap: runtime_types::bounded_collections::bounded_vec::BoundedVec<
-					::core::primitive::u8,
-				>,
-			}
-		}
-		pub mod pallet_multisig {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					as_multi_threshold_1 {
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						call: ::std::boxed::Box<
-							runtime_types::bridge_hub_westend_runtime::RuntimeCall,
-						>,
-					},
-					#[codec(index = 1)]
-					as_multi {
-						threshold: ::core::primitive::u16,
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						maybe_timepoint: ::core::option::Option<
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						>,
-						call: ::std::boxed::Box<
-							runtime_types::bridge_hub_westend_runtime::RuntimeCall,
-						>,
-						max_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 2)]
-					approve_as_multi {
-						threshold: ::core::primitive::u16,
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						maybe_timepoint: ::core::option::Option<
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						>,
-						call_hash: [::core::primitive::u8; 32usize],
-						max_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 3)]
-					cancel_as_multi {
-						threshold: ::core::primitive::u16,
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					MinimumThreshold,
-					#[codec(index = 1)]
-					AlreadyApproved,
-					#[codec(index = 2)]
-					NoApprovalsNeeded,
-					#[codec(index = 3)]
-					TooFewSignatories,
-					#[codec(index = 4)]
-					TooManySignatories,
-					#[codec(index = 5)]
-					SignatoriesOutOfOrder,
-					#[codec(index = 6)]
-					SenderInSignatories,
-					#[codec(index = 7)]
-					NotFound,
-					#[codec(index = 8)]
-					NotOwner,
-					#[codec(index = 9)]
-					NoTimepoint,
-					#[codec(index = 10)]
-					WrongTimepoint,
-					#[codec(index = 11)]
-					UnexpectedTimepoint,
-					#[codec(index = 12)]
-					MaxWeightTooLow,
-					#[codec(index = 13)]
-					AlreadyStored,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewMultisig {
-						approving: ::sp_core::crypto::AccountId32,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 1)]
-					MultisigApproval {
-						approving: ::sp_core::crypto::AccountId32,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 2)]
-					MultisigExecuted {
-						approving: ::sp_core::crypto::AccountId32,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 3)]
-					MultisigCancelled {
-						cancelling: ::sp_core::crypto::AccountId32,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Multisig<_0, _1, _2> {
-				pub when: runtime_types::pallet_multisig::Timepoint<_0>,
-				pub deposit: _1,
-				pub depositor: _2,
-				pub approvals: runtime_types::bounded_collections::bounded_vec::BoundedVec<_2>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Timepoint<_0> {
-				pub height: _0,
-				pub index: ::core::primitive::u32,
-			}
-		}
-		pub mod pallet_session {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					set_keys {
-						keys: runtime_types::bridge_hub_westend_runtime::SessionKeys,
-						proof: ::std::vec::Vec<::core::primitive::u8>,
-					},
-					#[codec(index = 1)]
-					purge_keys,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidProof,
-					#[codec(index = 1)]
-					NoAssociatedValidatorId,
-					#[codec(index = 2)]
-					DuplicatedKey,
-					#[codec(index = 3)]
-					NoKeys,
-					#[codec(index = 4)]
-					NoAccount,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewSession { session_index: ::core::primitive::u32 },
-				}
-			}
-		}
-		pub mod pallet_timestamp {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					set {
-						#[codec(compact)]
-						now: ::core::primitive::u64,
-					},
-				}
-			}
-		}
-		pub mod pallet_transaction_payment {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					TransactionFeePaid {
-						who: ::sp_core::crypto::AccountId32,
-						actual_fee: ::core::primitive::u128,
-						tip: ::core::primitive::u128,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ChargeTransactionPayment(#[codec(compact)] pub ::core::primitive::u128);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Releases {
-				#[codec(index = 0)]
-				V1Ancient,
-				#[codec(index = 1)]
-				V2,
-			}
-		}
-		pub mod pallet_utility {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					batch {
-						calls:
-							::std::vec::Vec<runtime_types::bridge_hub_westend_runtime::RuntimeCall>,
-					},
-					#[codec(index = 1)]
-					as_derivative {
-						index: ::core::primitive::u16,
-						call: ::std::boxed::Box<
-							runtime_types::bridge_hub_westend_runtime::RuntimeCall,
-						>,
-					},
-					#[codec(index = 2)]
-					batch_all {
-						calls:
-							::std::vec::Vec<runtime_types::bridge_hub_westend_runtime::RuntimeCall>,
-					},
-					#[codec(index = 3)]
-					dispatch_as {
-						as_origin: ::std::boxed::Box<
-							runtime_types::bridge_hub_westend_runtime::OriginCaller,
-						>,
-						call: ::std::boxed::Box<
-							runtime_types::bridge_hub_westend_runtime::RuntimeCall,
-						>,
-					},
-					#[codec(index = 4)]
-					force_batch {
-						calls:
-							::std::vec::Vec<runtime_types::bridge_hub_westend_runtime::RuntimeCall>,
-					},
-					#[codec(index = 5)]
-					with_weight {
-						call: ::std::boxed::Box<
-							runtime_types::bridge_hub_westend_runtime::RuntimeCall,
-						>,
-						weight: ::sp_weights::Weight,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					TooManyCalls,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					BatchInterrupted {
-						index: ::core::primitive::u32,
-						error: runtime_types::sp_runtime::DispatchError,
-					},
-					#[codec(index = 1)]
-					BatchCompleted,
-					#[codec(index = 2)]
-					BatchCompletedWithErrors,
-					#[codec(index = 3)]
-					ItemCompleted,
-					#[codec(index = 4)]
-					ItemFailed { error: runtime_types::sp_runtime::DispatchError },
-					#[codec(index = 5)]
-					DispatchedAs {
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-				}
-			}
-		}
-		pub mod pallet_xcm {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					send {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-						message: ::std::boxed::Box<runtime_types::xcm::VersionedXcm>,
-					},
-					#[codec(index = 1)]
-					teleport_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedAssets>,
-						fee_asset_item: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					reserve_transfer_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedAssets>,
-						fee_asset_item: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					execute {
-						message: ::std::boxed::Box<runtime_types::xcm::VersionedXcm2>,
-						max_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 4)]
-					force_xcm_version {
-						location:
-							::std::boxed::Box<runtime_types::staging_xcm::v4::location::Location>,
-						version: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					force_default_xcm_version {
-						maybe_xcm_version: ::core::option::Option<::core::primitive::u32>,
-					},
-					#[codec(index = 6)]
-					force_subscribe_version_notify {
-						location: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-					},
-					#[codec(index = 7)]
-					force_unsubscribe_version_notify {
-						location: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-					},
-					#[codec(index = 8)]
-					limited_reserve_transfer_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedAssets>,
-						fee_asset_item: ::core::primitive::u32,
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-					},
-					#[codec(index = 9)]
-					limited_teleport_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedAssets>,
-						fee_asset_item: ::core::primitive::u32,
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-					},
-					#[codec(index = 10)]
-					force_suspension { suspended: ::core::primitive::bool },
-					#[codec(index = 11)]
-					transfer_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedAssets>,
-						fee_asset_item: ::core::primitive::u32,
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					Unreachable,
-					#[codec(index = 1)]
-					SendFailure,
-					#[codec(index = 2)]
-					Filtered,
-					#[codec(index = 3)]
-					UnweighableMessage,
-					#[codec(index = 4)]
-					DestinationNotInvertible,
-					#[codec(index = 5)]
-					Empty,
-					#[codec(index = 6)]
-					CannotReanchor,
-					#[codec(index = 7)]
-					TooManyAssets,
-					#[codec(index = 8)]
-					InvalidOrigin,
-					#[codec(index = 9)]
-					BadVersion,
-					#[codec(index = 10)]
-					BadLocation,
-					#[codec(index = 11)]
-					NoSubscription,
-					#[codec(index = 12)]
-					AlreadySubscribed,
-					#[codec(index = 13)]
-					CannotCheckOutTeleport,
-					#[codec(index = 14)]
-					LowBalance,
-					#[codec(index = 15)]
-					TooManyLocks,
-					#[codec(index = 16)]
-					AccountNotSovereign,
-					#[codec(index = 17)]
-					FeesNotMet,
-					#[codec(index = 18)]
-					LockNotFound,
-					#[codec(index = 19)]
-					InUse,
-					#[codec(index = 20)]
-					InvalidAssetNotConcrete,
-					#[codec(index = 21)]
-					InvalidAssetUnknownReserve,
-					#[codec(index = 22)]
-					InvalidAssetUnsupportedReserve,
-					#[codec(index = 23)]
-					TooManyReserves,
-					#[codec(index = 24)]
-					LocalExecutionIncomplete,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Attempted { outcome: runtime_types::staging_xcm::v4::traits::Outcome },
-					#[codec(index = 1)]
-					Sent {
-						origin: runtime_types::staging_xcm::v4::location::Location,
-						destination: runtime_types::staging_xcm::v4::location::Location,
-						message: runtime_types::staging_xcm::v4::Xcm,
-						message_id: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 2)]
-					UnexpectedResponse {
-						origin: runtime_types::staging_xcm::v4::location::Location,
-						query_id: ::core::primitive::u64,
-					},
-					#[codec(index = 3)]
-					ResponseReady {
-						query_id: ::core::primitive::u64,
-						response: runtime_types::staging_xcm::v4::Response,
-					},
-					#[codec(index = 4)]
-					Notified {
-						query_id: ::core::primitive::u64,
-						pallet_index: ::core::primitive::u8,
-						call_index: ::core::primitive::u8,
-					},
-					#[codec(index = 5)]
-					NotifyOverweight {
-						query_id: ::core::primitive::u64,
-						pallet_index: ::core::primitive::u8,
-						call_index: ::core::primitive::u8,
-						actual_weight: ::sp_weights::Weight,
-						max_budgeted_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 6)]
-					NotifyDispatchError {
-						query_id: ::core::primitive::u64,
-						pallet_index: ::core::primitive::u8,
-						call_index: ::core::primitive::u8,
-					},
-					#[codec(index = 7)]
-					NotifyDecodeFailed {
-						query_id: ::core::primitive::u64,
-						pallet_index: ::core::primitive::u8,
-						call_index: ::core::primitive::u8,
-					},
-					#[codec(index = 8)]
-					InvalidResponder {
-						origin: runtime_types::staging_xcm::v4::location::Location,
-						query_id: ::core::primitive::u64,
-						expected_location: ::core::option::Option<
-							runtime_types::staging_xcm::v4::location::Location,
-						>,
-					},
-					#[codec(index = 9)]
-					InvalidResponderVersion {
-						origin: runtime_types::staging_xcm::v4::location::Location,
-						query_id: ::core::primitive::u64,
-					},
-					#[codec(index = 10)]
-					ResponseTaken { query_id: ::core::primitive::u64 },
-					#[codec(index = 11)]
-					AssetsTrapped {
-						hash: ::subxt::utils::H256,
-						origin: runtime_types::staging_xcm::v4::location::Location,
-						assets: runtime_types::xcm::VersionedAssets,
-					},
-					#[codec(index = 12)]
-					VersionChangeNotified {
-						destination: runtime_types::staging_xcm::v4::location::Location,
-						result: ::core::primitive::u32,
-						cost: runtime_types::staging_xcm::v4::asset::Assets,
-						message_id: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 13)]
-					SupportedVersionChanged {
-						location: runtime_types::staging_xcm::v4::location::Location,
-						version: ::core::primitive::u32,
-					},
-					#[codec(index = 14)]
-					NotifyTargetSendFail {
-						location: runtime_types::staging_xcm::v4::location::Location,
-						query_id: ::core::primitive::u64,
-						error: runtime_types::xcm::v3::traits::Error,
-					},
-					#[codec(index = 15)]
-					NotifyTargetMigrationFail {
-						location: runtime_types::xcm::VersionedLocation,
-						query_id: ::core::primitive::u64,
-					},
-					#[codec(index = 16)]
-					InvalidQuerierVersion {
-						origin: runtime_types::staging_xcm::v4::location::Location,
-						query_id: ::core::primitive::u64,
-					},
-					#[codec(index = 17)]
-					InvalidQuerier {
-						origin: runtime_types::staging_xcm::v4::location::Location,
-						query_id: ::core::primitive::u64,
-						expected_querier: runtime_types::staging_xcm::v4::location::Location,
-						maybe_actual_querier: ::core::option::Option<
-							runtime_types::staging_xcm::v4::location::Location,
-						>,
-					},
-					#[codec(index = 18)]
-					VersionNotifyStarted {
-						destination: runtime_types::staging_xcm::v4::location::Location,
-						cost: runtime_types::staging_xcm::v4::asset::Assets,
-						message_id: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 19)]
-					VersionNotifyRequested {
-						destination: runtime_types::staging_xcm::v4::location::Location,
-						cost: runtime_types::staging_xcm::v4::asset::Assets,
-						message_id: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 20)]
-					VersionNotifyUnrequested {
-						destination: runtime_types::staging_xcm::v4::location::Location,
-						cost: runtime_types::staging_xcm::v4::asset::Assets,
-						message_id: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 21)]
-					FeesPaid {
-						paying: runtime_types::staging_xcm::v4::location::Location,
-						fees: runtime_types::staging_xcm::v4::asset::Assets,
-					},
-					#[codec(index = 22)]
-					AssetsClaimed {
-						hash: ::subxt::utils::H256,
-						origin: runtime_types::staging_xcm::v4::location::Location,
-						assets: runtime_types::xcm::VersionedAssets,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Origin {
-					#[codec(index = 0)]
-					Xcm(runtime_types::staging_xcm::v4::location::Location),
-					#[codec(index = 1)]
-					Response(runtime_types::staging_xcm::v4::location::Location),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum QueryStatus<_0> {
-					#[codec(index = 0)]
-					Pending {
-						responder: runtime_types::xcm::VersionedLocation,
-						maybe_match_querier:
-							::core::option::Option<runtime_types::xcm::VersionedLocation>,
-						maybe_notify:
-							::core::option::Option<(::core::primitive::u8, ::core::primitive::u8)>,
-						timeout: _0,
-					},
-					#[codec(index = 1)]
-					VersionNotifier {
-						origin: runtime_types::xcm::VersionedLocation,
-						is_active: ::core::primitive::bool,
-					},
-					#[codec(index = 2)]
-					Ready { response: runtime_types::xcm::VersionedResponse, at: _0 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RemoteLockedFungibleRecord<_0> {
-					pub amount: ::core::primitive::u128,
-					pub owner: runtime_types::xcm::VersionedLocation,
-					pub locker: runtime_types::xcm::VersionedLocation,
-					pub consumers: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-						_0,
-						::core::primitive::u128,
-					)>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum VersionMigrationStage {
-					#[codec(index = 0)]
-					MigrateSupportedVersion,
-					#[codec(index = 1)]
-					MigrateVersionNotifiers,
-					#[codec(index = 2)]
-					NotifyCurrentTargets(
-						::core::option::Option<::std::vec::Vec<::core::primitive::u8>>,
-					),
-					#[codec(index = 3)]
-					MigrateAndNotifyOldTargets,
-				}
-			}
-		}
-		pub mod polkadot_core_primitives {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundDownwardMessage<_0> {
-				pub sent_at: _0,
-				pub msg: ::std::vec::Vec<::core::primitive::u8>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundHrmpMessage<_0> {
-				pub sent_at: _0,
-				pub data: ::std::vec::Vec<::core::primitive::u8>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OutboundHrmpMessage<_0> {
-				pub recipient: _0,
-				pub data: ::std::vec::Vec<::core::primitive::u8>,
-			}
-		}
-		pub mod polkadot_parachain_primitives {
-			use super::runtime_types;
-			pub mod primitives {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HeadData(pub ::std::vec::Vec<::core::primitive::u8>);
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct Id(pub ::core::primitive::u32);
-			}
-		}
-		pub mod polkadot_primitives {
-			use super::runtime_types;
-			pub mod v6 {
-				use super::runtime_types;
-				pub mod async_backing {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct AsyncBackingParams {
-						pub max_candidate_depth: ::core::primitive::u32,
-						pub allowed_ancestry_len: ::core::primitive::u32,
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AbridgedHostConfiguration {
-					pub max_code_size: ::core::primitive::u32,
-					pub max_head_data_size: ::core::primitive::u32,
-					pub max_upward_queue_count: ::core::primitive::u32,
-					pub max_upward_queue_size: ::core::primitive::u32,
-					pub max_upward_message_size: ::core::primitive::u32,
-					pub max_upward_message_num_per_candidate: ::core::primitive::u32,
-					pub hrmp_max_message_num_per_candidate: ::core::primitive::u32,
-					pub validation_upgrade_cooldown: ::core::primitive::u32,
-					pub validation_upgrade_delay: ::core::primitive::u32,
-					pub async_backing_params:
-						runtime_types::polkadot_primitives::v6::async_backing::AsyncBackingParams,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AbridgedHrmpChannel {
-					pub max_capacity: ::core::primitive::u32,
-					pub max_total_size: ::core::primitive::u32,
-					pub max_message_size: ::core::primitive::u32,
-					pub msg_count: ::core::primitive::u32,
-					pub total_size: ::core::primitive::u32,
-					pub mqc_head: ::core::option::Option<::subxt::utils::H256>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PersistedValidationData<_0, _1> {
-					pub parent_head:
-						runtime_types::polkadot_parachain_primitives::primitives::HeadData,
-					pub relay_parent_number: _1,
-					pub relay_parent_storage_root: _0,
-					pub max_pov_size: ::core::primitive::u32,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum UpgradeGoAhead {
-					#[codec(index = 0)]
-					Abort,
-					#[codec(index = 1)]
-					GoAhead,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum UpgradeRestriction {
-					#[codec(index = 0)]
-					Present,
-				}
-			}
-		}
-		pub mod snowbridge_core {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ChannelId(pub [::core::primitive::u8; 32usize]);
-		}
-		pub mod sp_arithmetic {
-			use super::runtime_types;
-			pub mod fixed_point {
-				use super::runtime_types;
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct FixedU128(pub ::core::primitive::u128);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ArithmeticError {
-				#[codec(index = 0)]
-				Underflow,
-				#[codec(index = 1)]
-				Overflow,
-				#[codec(index = 2)]
-				DivisionByZero,
-			}
-		}
-		pub mod sp_consensus_aura {
-			use super::runtime_types;
-			pub mod sr25519 {
-				use super::runtime_types;
-				pub mod app_sr25519 {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-				}
-			}
-		}
-		pub mod sp_consensus_grandpa {
-			use super::runtime_types;
-			pub mod app {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub runtime_types::sp_core::ed25519::Public);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub runtime_types::sp_core::ed25519::Signature);
-			}
-		}
-		pub mod sp_consensus_slots {
-			use super::runtime_types;
-			#[derive(
-				:: codec :: Decode,
-				:: codec :: Encode,
-				:: subxt :: ext :: codec :: CompactAs,
-				Clone,
-				Debug,
-				PartialEq,
-			)]
-			pub struct Slot(pub ::core::primitive::u64);
-		}
-		pub mod sp_core {
-			use super::runtime_types;
-			pub mod crypto {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct KeyTypeId(pub [::core::primitive::u8; 4usize]);
-			}
-			pub mod ecdsa {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 65usize]);
-			}
-			pub mod ed25519 {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub [::core::primitive::u8; 32usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 64usize]);
-			}
-			pub mod sr25519 {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub [::core::primitive::u8; 32usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 64usize]);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Void {}
-		}
-		pub mod sp_runtime {
-			use super::runtime_types;
-			pub mod generic {
-				use super::runtime_types;
-				pub mod digest {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum DigestItem {
-						#[codec(index = 6)]
-						PreRuntime(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 4)]
-						Consensus(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 5)]
-						Seal(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 0)]
-						Other(::std::vec::Vec<::core::primitive::u8>),
-						#[codec(index = 8)]
-						RuntimeEnvironmentUpdated,
-					}
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum DispatchError {
-				#[codec(index = 0)]
-				Other,
-				#[codec(index = 1)]
-				CannotLookup,
-				#[codec(index = 2)]
-				BadOrigin,
-				#[codec(index = 3)]
-				Module(runtime_types::sp_runtime::ModuleError),
-				#[codec(index = 4)]
-				ConsumerRemaining,
-				#[codec(index = 5)]
-				NoProviders,
-				#[codec(index = 6)]
-				TooManyConsumers,
-				#[codec(index = 7)]
-				Token(runtime_types::sp_runtime::TokenError),
-				#[codec(index = 8)]
-				Arithmetic(runtime_types::sp_arithmetic::ArithmeticError),
-				#[codec(index = 9)]
-				Transactional(runtime_types::sp_runtime::TransactionalError),
-				#[codec(index = 10)]
-				Exhausted,
-				#[codec(index = 11)]
-				Corruption,
-				#[codec(index = 12)]
-				Unavailable,
-				#[codec(index = 13)]
-				RootNotAllowed,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ModuleError {
-				pub index: ::core::primitive::u8,
-				pub error: [::core::primitive::u8; 4usize],
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum MultiSignature {
-				#[codec(index = 0)]
-				Ed25519(runtime_types::sp_core::ed25519::Signature),
-				#[codec(index = 1)]
-				Sr25519(runtime_types::sp_core::sr25519::Signature),
-				#[codec(index = 2)]
-				Ecdsa(runtime_types::sp_core::ecdsa::Signature),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum TokenError {
-				#[codec(index = 0)]
-				FundsUnavailable,
-				#[codec(index = 1)]
-				OnlyProvider,
-				#[codec(index = 2)]
-				BelowMinimum,
-				#[codec(index = 3)]
-				CannotCreate,
-				#[codec(index = 4)]
-				UnknownAsset,
-				#[codec(index = 5)]
-				Frozen,
-				#[codec(index = 6)]
-				Unsupported,
-				#[codec(index = 7)]
-				CannotCreateHold,
-				#[codec(index = 8)]
-				NotExpendable,
-				#[codec(index = 9)]
-				Blocked,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum TransactionalError {
-				#[codec(index = 0)]
-				LimitReached,
-				#[codec(index = 1)]
-				NoLayer,
-			}
-		}
-		pub mod sp_trie {
-			use super::runtime_types;
-			pub mod storage_proof {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct StorageProof {
-					pub trie_nodes: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>,
-				}
-			}
-		}
-		pub mod sp_version {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RuntimeVersion {
-				pub spec_name: ::std::string::String,
-				pub impl_name: ::std::string::String,
-				pub authoring_version: ::core::primitive::u32,
-				pub spec_version: ::core::primitive::u32,
-				pub impl_version: ::core::primitive::u32,
-				pub apis:
-					::std::vec::Vec<([::core::primitive::u8; 8usize], ::core::primitive::u32)>,
-				pub transaction_version: ::core::primitive::u32,
-				pub state_version: ::core::primitive::u8,
-			}
-		}
-		pub mod sp_weights {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RuntimeDbWeight {
-				pub read: ::core::primitive::u64,
-				pub write: ::core::primitive::u64,
-			}
-		}
-		pub mod staging_parachain_info {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {}
-			}
-		}
-		pub mod staging_xcm {
-			use super::runtime_types;
-			pub mod v3 {
-				use super::runtime_types;
-				pub mod multilocation {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiLocation {
-						pub parents: ::core::primitive::u8,
-						pub interior: runtime_types::xcm::v3::junctions::Junctions,
-					}
-				}
-			}
-			pub mod v4 {
-				use super::runtime_types;
-				pub mod asset {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Asset {
-						pub id: runtime_types::staging_xcm::v4::asset::AssetId,
-						pub fun: runtime_types::staging_xcm::v4::asset::Fungibility,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum AssetFilter {
-						#[codec(index = 0)]
-						Definite(runtime_types::staging_xcm::v4::asset::Assets),
-						#[codec(index = 1)]
-						Wild(runtime_types::staging_xcm::v4::asset::WildAsset),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct AssetId(pub runtime_types::staging_xcm::v4::location::Location);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Assets(
-						pub ::std::vec::Vec<runtime_types::staging_xcm::v4::asset::Asset>,
-					);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Fungibility {
-						#[codec(index = 0)]
-						Fungible(#[codec(compact)] ::core::primitive::u128),
-						#[codec(index = 1)]
-						NonFungible(runtime_types::staging_xcm::v4::asset::AssetInstance),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildAsset {
-						#[codec(index = 0)]
-						All,
-						#[codec(index = 1)]
-						AllOf {
-							id: runtime_types::staging_xcm::v4::asset::AssetId,
-							fun: runtime_types::staging_xcm::v4::asset::WildFungibility,
-						},
-						#[codec(index = 2)]
-						AllCounted(#[codec(compact)] ::core::primitive::u32),
-						#[codec(index = 3)]
-						AllOfCounted {
-							id: runtime_types::staging_xcm::v4::asset::AssetId,
-							fun: runtime_types::staging_xcm::v4::asset::WildFungibility,
-							#[codec(compact)]
-							count: ::core::primitive::u32,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildFungibility {
-						#[codec(index = 0)]
-						Fungible,
-						#[codec(index = 1)]
-						NonFungible,
-					}
-				}
-				pub mod junction {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junction {
-						#[codec(index = 0)]
-						Parachain(#[codec(compact)] ::core::primitive::u32),
-						#[codec(index = 1)]
-						AccountId32 {
-							network: ::core::option::Option<
-								runtime_types::staging_xcm::v4::junction::NetworkId,
-							>,
-							id: [::core::primitive::u8; 32usize],
-						},
-						#[codec(index = 2)]
-						AccountIndex64 {
-							network: ::core::option::Option<
-								runtime_types::staging_xcm::v4::junction::NetworkId,
-							>,
-							#[codec(compact)]
-							index: ::core::primitive::u64,
-						},
-						#[codec(index = 3)]
-						AccountKey20 {
-							network: ::core::option::Option<
-								runtime_types::staging_xcm::v4::junction::NetworkId,
-							>,
-							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::staging_xcm::v4::junction::NetworkId),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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,
-						#[codec(index = 10)]
-						PolkadotBulletin,
-					}
-				}
-				pub mod junctions {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junctions {
-						#[codec(index = 0)]
-						Here,
-						#[codec(index = 1)]
-						X1([runtime_types::staging_xcm::v4::junction::Junction; 1usize]),
-						#[codec(index = 2)]
-						X2([runtime_types::staging_xcm::v4::junction::Junction; 2usize]),
-						#[codec(index = 3)]
-						X3([runtime_types::staging_xcm::v4::junction::Junction; 3usize]),
-						#[codec(index = 4)]
-						X4([runtime_types::staging_xcm::v4::junction::Junction; 4usize]),
-						#[codec(index = 5)]
-						X5([runtime_types::staging_xcm::v4::junction::Junction; 5usize]),
-						#[codec(index = 6)]
-						X6([runtime_types::staging_xcm::v4::junction::Junction; 6usize]),
-						#[codec(index = 7)]
-						X7([runtime_types::staging_xcm::v4::junction::Junction; 7usize]),
-						#[codec(index = 8)]
-						X8([runtime_types::staging_xcm::v4::junction::Junction; 8usize]),
-					}
-				}
-				pub mod location {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Location {
-						pub parents: ::core::primitive::u8,
-						pub interior: runtime_types::staging_xcm::v4::junctions::Junctions,
-					}
-				}
-				pub mod traits {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Outcome {
-						#[codec(index = 0)]
-						Complete { used: ::sp_weights::Weight },
-						#[codec(index = 1)]
-						Incomplete {
-							used: ::sp_weights::Weight,
-							error: runtime_types::xcm::v3::traits::Error,
-						},
-						#[codec(index = 2)]
-						Error { error: runtime_types::xcm::v3::traits::Error },
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Instruction {
-					#[codec(index = 0)]
-					WithdrawAsset(runtime_types::staging_xcm::v4::asset::Assets),
-					#[codec(index = 1)]
-					ReserveAssetDeposited(runtime_types::staging_xcm::v4::asset::Assets),
-					#[codec(index = 2)]
-					ReceiveTeleportedAsset(runtime_types::staging_xcm::v4::asset::Assets),
-					#[codec(index = 3)]
-					QueryResponse {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						response: runtime_types::staging_xcm::v4::Response,
-						max_weight: ::sp_weights::Weight,
-						querier: ::core::option::Option<
-							runtime_types::staging_xcm::v4::location::Location,
-						>,
-					},
-					#[codec(index = 4)]
-					TransferAsset {
-						assets: runtime_types::staging_xcm::v4::asset::Assets,
-						beneficiary: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[codec(index = 5)]
-					TransferReserveAsset {
-						assets: runtime_types::staging_xcm::v4::asset::Assets,
-						dest: runtime_types::staging_xcm::v4::location::Location,
-						xcm: runtime_types::staging_xcm::v4::Xcm,
-					},
-					#[codec(index = 6)]
-					Transact {
-						origin_kind: runtime_types::xcm::v2::OriginKind,
-						require_weight_at_most: ::sp_weights::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::staging_xcm::v4::junctions::Junctions),
-					#[codec(index = 12)]
-					ReportError(runtime_types::staging_xcm::v4::QueryResponseInfo),
-					#[codec(index = 13)]
-					DepositAsset {
-						assets: runtime_types::staging_xcm::v4::asset::AssetFilter,
-						beneficiary: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[codec(index = 14)]
-					DepositReserveAsset {
-						assets: runtime_types::staging_xcm::v4::asset::AssetFilter,
-						dest: runtime_types::staging_xcm::v4::location::Location,
-						xcm: runtime_types::staging_xcm::v4::Xcm,
-					},
-					#[codec(index = 15)]
-					ExchangeAsset {
-						give: runtime_types::staging_xcm::v4::asset::AssetFilter,
-						want: runtime_types::staging_xcm::v4::asset::Assets,
-						maximal: ::core::primitive::bool,
-					},
-					#[codec(index = 16)]
-					InitiateReserveWithdraw {
-						assets: runtime_types::staging_xcm::v4::asset::AssetFilter,
-						reserve: runtime_types::staging_xcm::v4::location::Location,
-						xcm: runtime_types::staging_xcm::v4::Xcm,
-					},
-					#[codec(index = 17)]
-					InitiateTeleport {
-						assets: runtime_types::staging_xcm::v4::asset::AssetFilter,
-						dest: runtime_types::staging_xcm::v4::location::Location,
-						xcm: runtime_types::staging_xcm::v4::Xcm,
-					},
-					#[codec(index = 18)]
-					ReportHolding {
-						response_info: runtime_types::staging_xcm::v4::QueryResponseInfo,
-						assets: runtime_types::staging_xcm::v4::asset::AssetFilter,
-					},
-					#[codec(index = 19)]
-					BuyExecution {
-						fees: runtime_types::staging_xcm::v4::asset::Asset,
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-					},
-					#[codec(index = 20)]
-					RefundSurplus,
-					#[codec(index = 21)]
-					SetErrorHandler(runtime_types::staging_xcm::v4::Xcm),
-					#[codec(index = 22)]
-					SetAppendix(runtime_types::staging_xcm::v4::Xcm),
-					#[codec(index = 23)]
-					ClearError,
-					#[codec(index = 24)]
-					ClaimAsset {
-						assets: runtime_types::staging_xcm::v4::asset::Assets,
-						ticket: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[codec(index = 25)]
-					Trap(#[codec(compact)] ::core::primitive::u64),
-					#[codec(index = 26)]
-					SubscribeVersion {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						max_response_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 27)]
-					UnsubscribeVersion,
-					#[codec(index = 28)]
-					BurnAsset(runtime_types::staging_xcm::v4::asset::Assets),
-					#[codec(index = 29)]
-					ExpectAsset(runtime_types::staging_xcm::v4::asset::Assets),
-					#[codec(index = 30)]
-					ExpectOrigin(
-						::core::option::Option<runtime_types::staging_xcm::v4::location::Location>,
-					),
-					#[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::staging_xcm::v4::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::staging_xcm::v4::QueryResponseInfo),
-					#[codec(index = 36)]
-					ClearTransactStatus,
-					#[codec(index = 37)]
-					UniversalOrigin(runtime_types::staging_xcm::v4::junction::Junction),
-					#[codec(index = 38)]
-					ExportMessage {
-						network: runtime_types::staging_xcm::v4::junction::NetworkId,
-						destination: runtime_types::staging_xcm::v4::junctions::Junctions,
-						xcm: runtime_types::staging_xcm::v4::Xcm,
-					},
-					#[codec(index = 39)]
-					LockAsset {
-						asset: runtime_types::staging_xcm::v4::asset::Asset,
-						unlocker: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[codec(index = 40)]
-					UnlockAsset {
-						asset: runtime_types::staging_xcm::v4::asset::Asset,
-						target: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[codec(index = 41)]
-					NoteUnlockable {
-						asset: runtime_types::staging_xcm::v4::asset::Asset,
-						owner: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[codec(index = 42)]
-					RequestUnlock {
-						asset: runtime_types::staging_xcm::v4::asset::Asset,
-						locker: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[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::staging_xcm::v4::location::Location),
-					#[codec(index = 47)]
-					UnpaidExecution {
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-						check_origin: ::core::option::Option<
-							runtime_types::staging_xcm::v4::location::Location,
-						>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Instruction2 {
-					#[codec(index = 0)]
-					WithdrawAsset(runtime_types::staging_xcm::v4::asset::Assets),
-					#[codec(index = 1)]
-					ReserveAssetDeposited(runtime_types::staging_xcm::v4::asset::Assets),
-					#[codec(index = 2)]
-					ReceiveTeleportedAsset(runtime_types::staging_xcm::v4::asset::Assets),
-					#[codec(index = 3)]
-					QueryResponse {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						response: runtime_types::staging_xcm::v4::Response,
-						max_weight: ::sp_weights::Weight,
-						querier: ::core::option::Option<
-							runtime_types::staging_xcm::v4::location::Location,
-						>,
-					},
-					#[codec(index = 4)]
-					TransferAsset {
-						assets: runtime_types::staging_xcm::v4::asset::Assets,
-						beneficiary: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[codec(index = 5)]
-					TransferReserveAsset {
-						assets: runtime_types::staging_xcm::v4::asset::Assets,
-						dest: runtime_types::staging_xcm::v4::location::Location,
-						xcm: runtime_types::staging_xcm::v4::Xcm,
-					},
-					#[codec(index = 6)]
-					Transact {
-						origin_kind: runtime_types::xcm::v2::OriginKind,
-						require_weight_at_most: ::sp_weights::Weight,
-						call: runtime_types::xcm::double_encoded::DoubleEncoded2,
-					},
-					#[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::staging_xcm::v4::junctions::Junctions),
-					#[codec(index = 12)]
-					ReportError(runtime_types::staging_xcm::v4::QueryResponseInfo),
-					#[codec(index = 13)]
-					DepositAsset {
-						assets: runtime_types::staging_xcm::v4::asset::AssetFilter,
-						beneficiary: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[codec(index = 14)]
-					DepositReserveAsset {
-						assets: runtime_types::staging_xcm::v4::asset::AssetFilter,
-						dest: runtime_types::staging_xcm::v4::location::Location,
-						xcm: runtime_types::staging_xcm::v4::Xcm,
-					},
-					#[codec(index = 15)]
-					ExchangeAsset {
-						give: runtime_types::staging_xcm::v4::asset::AssetFilter,
-						want: runtime_types::staging_xcm::v4::asset::Assets,
-						maximal: ::core::primitive::bool,
-					},
-					#[codec(index = 16)]
-					InitiateReserveWithdraw {
-						assets: runtime_types::staging_xcm::v4::asset::AssetFilter,
-						reserve: runtime_types::staging_xcm::v4::location::Location,
-						xcm: runtime_types::staging_xcm::v4::Xcm,
-					},
-					#[codec(index = 17)]
-					InitiateTeleport {
-						assets: runtime_types::staging_xcm::v4::asset::AssetFilter,
-						dest: runtime_types::staging_xcm::v4::location::Location,
-						xcm: runtime_types::staging_xcm::v4::Xcm,
-					},
-					#[codec(index = 18)]
-					ReportHolding {
-						response_info: runtime_types::staging_xcm::v4::QueryResponseInfo,
-						assets: runtime_types::staging_xcm::v4::asset::AssetFilter,
-					},
-					#[codec(index = 19)]
-					BuyExecution {
-						fees: runtime_types::staging_xcm::v4::asset::Asset,
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-					},
-					#[codec(index = 20)]
-					RefundSurplus,
-					#[codec(index = 21)]
-					SetErrorHandler(runtime_types::staging_xcm::v4::Xcm2),
-					#[codec(index = 22)]
-					SetAppendix(runtime_types::staging_xcm::v4::Xcm2),
-					#[codec(index = 23)]
-					ClearError,
-					#[codec(index = 24)]
-					ClaimAsset {
-						assets: runtime_types::staging_xcm::v4::asset::Assets,
-						ticket: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[codec(index = 25)]
-					Trap(#[codec(compact)] ::core::primitive::u64),
-					#[codec(index = 26)]
-					SubscribeVersion {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						max_response_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 27)]
-					UnsubscribeVersion,
-					#[codec(index = 28)]
-					BurnAsset(runtime_types::staging_xcm::v4::asset::Assets),
-					#[codec(index = 29)]
-					ExpectAsset(runtime_types::staging_xcm::v4::asset::Assets),
-					#[codec(index = 30)]
-					ExpectOrigin(
-						::core::option::Option<runtime_types::staging_xcm::v4::location::Location>,
-					),
-					#[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::staging_xcm::v4::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::staging_xcm::v4::QueryResponseInfo),
-					#[codec(index = 36)]
-					ClearTransactStatus,
-					#[codec(index = 37)]
-					UniversalOrigin(runtime_types::staging_xcm::v4::junction::Junction),
-					#[codec(index = 38)]
-					ExportMessage {
-						network: runtime_types::staging_xcm::v4::junction::NetworkId,
-						destination: runtime_types::staging_xcm::v4::junctions::Junctions,
-						xcm: runtime_types::staging_xcm::v4::Xcm,
-					},
-					#[codec(index = 39)]
-					LockAsset {
-						asset: runtime_types::staging_xcm::v4::asset::Asset,
-						unlocker: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[codec(index = 40)]
-					UnlockAsset {
-						asset: runtime_types::staging_xcm::v4::asset::Asset,
-						target: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[codec(index = 41)]
-					NoteUnlockable {
-						asset: runtime_types::staging_xcm::v4::asset::Asset,
-						owner: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[codec(index = 42)]
-					RequestUnlock {
-						asset: runtime_types::staging_xcm::v4::asset::Asset,
-						locker: runtime_types::staging_xcm::v4::location::Location,
-					},
-					#[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::staging_xcm::v4::location::Location),
-					#[codec(index = 47)]
-					UnpaidExecution {
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-						check_origin: ::core::option::Option<
-							runtime_types::staging_xcm::v4::location::Location,
-						>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct QueryResponseInfo {
-					pub destination: runtime_types::staging_xcm::v4::location::Location,
-					#[codec(compact)]
-					pub query_id: ::core::primitive::u64,
-					pub max_weight: ::sp_weights::Weight,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Response {
-					#[codec(index = 0)]
-					Null,
-					#[codec(index = 1)]
-					Assets(runtime_types::staging_xcm::v4::asset::Assets),
-					#[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::staging_xcm::v4::PalletInfo,
-						>,
-					),
-					#[codec(index = 5)]
-					DispatchResult(runtime_types::xcm::v3::MaybeErrorCode),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm(pub ::std::vec::Vec<runtime_types::staging_xcm::v4::Instruction>);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm2(pub ::std::vec::Vec<runtime_types::staging_xcm::v4::Instruction2>);
-			}
-		}
-		pub mod xcm {
-			use super::runtime_types;
-			pub mod double_encoded {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DoubleEncoded {
-					pub encoded: ::std::vec::Vec<::core::primitive::u8>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DoubleEncoded2 {
-					pub encoded: ::std::vec::Vec<::core::primitive::u8>,
-				}
-			}
-			pub mod v2 {
-				use super::runtime_types;
-				pub mod junction {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junction {
-						#[codec(index = 0)]
-						Parachain(#[codec(compact)] ::core::primitive::u32),
-						#[codec(index = 1)]
-						AccountId32 {
-							network: runtime_types::xcm::v2::NetworkId,
-							id: [::core::primitive::u8; 32usize],
-						},
-						#[codec(index = 2)]
-						AccountIndex64 {
-							network: runtime_types::xcm::v2::NetworkId,
-							#[codec(compact)]
-							index: ::core::primitive::u64,
-						},
-						#[codec(index = 3)]
-						AccountKey20 {
-							network: runtime_types::xcm::v2::NetworkId,
-							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(
-							runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<
-								::core::primitive::u8,
-							>,
-						),
-						#[codec(index = 7)]
-						OnlyChild,
-						#[codec(index = 8)]
-						Plurality {
-							id: runtime_types::xcm::v2::BodyId,
-							part: runtime_types::xcm::v2::BodyPart,
-						},
-					}
-				}
-				pub mod multiasset {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum AssetId {
-						#[codec(index = 0)]
-						Concrete(runtime_types::xcm::v2::multilocation::MultiLocation),
-						#[codec(index = 1)]
-						Abstract(::std::vec::Vec<::core::primitive::u8>),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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]),
-						#[codec(index = 6)]
-						Blob(::std::vec::Vec<::core::primitive::u8>),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Fungibility {
-						#[codec(index = 0)]
-						Fungible(#[codec(compact)] ::core::primitive::u128),
-						#[codec(index = 1)]
-						NonFungible(runtime_types::xcm::v2::multiasset::AssetInstance),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAsset {
-						pub id: runtime_types::xcm::v2::multiasset::AssetId,
-						pub fun: runtime_types::xcm::v2::multiasset::Fungibility,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum MultiAssetFilter {
-						#[codec(index = 0)]
-						Definite(runtime_types::xcm::v2::multiasset::MultiAssets),
-						#[codec(index = 1)]
-						Wild(runtime_types::xcm::v2::multiasset::WildMultiAsset),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAssets(
-						pub ::std::vec::Vec<runtime_types::xcm::v2::multiasset::MultiAsset>,
-					);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildFungibility {
-						#[codec(index = 0)]
-						Fungible,
-						#[codec(index = 1)]
-						NonFungible,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildMultiAsset {
-						#[codec(index = 0)]
-						All,
-						#[codec(index = 1)]
-						AllOf {
-							id: runtime_types::xcm::v2::multiasset::AssetId,
-							fun: runtime_types::xcm::v2::multiasset::WildFungibility,
-						},
-					}
-				}
-				pub mod multilocation {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junctions {
-						#[codec(index = 0)]
-						Here,
-						#[codec(index = 1)]
-						X1(runtime_types::xcm::v2::junction::Junction),
-						#[codec(index = 2)]
-						X2(
-							runtime_types::xcm::v2::junction::Junction,
-							runtime_types::xcm::v2::junction::Junction,
-						),
-						#[codec(index = 3)]
-						X3(
-							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::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::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::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::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::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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiLocation {
-						pub parents: ::core::primitive::u8,
-						pub interior: runtime_types::xcm::v2::multilocation::Junctions,
-					}
-				}
-				pub mod traits {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						Overflow,
-						#[codec(index = 1)]
-						Unimplemented,
-						#[codec(index = 2)]
-						UntrustedReserveLocation,
-						#[codec(index = 3)]
-						UntrustedTeleportLocation,
-						#[codec(index = 4)]
-						MultiLocationFull,
-						#[codec(index = 5)]
-						MultiLocationNotInvertible,
-						#[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)]
-						UnhandledXcmVersion,
-						#[codec(index = 23)]
-						WeightLimitReached(::core::primitive::u64),
-						#[codec(index = 24)]
-						Barrier,
-						#[codec(index = 25)]
-						WeightNotComputable,
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Instruction {
-					#[codec(index = 0)]
-					WithdrawAsset(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 1)]
-					ReserveAssetDeposited(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 2)]
-					ReceiveTeleportedAsset(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 3)]
-					QueryResponse {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						response: runtime_types::xcm::v2::Response,
-						#[codec(compact)]
-						max_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 4)]
-					TransferAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssets,
-						beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 5)]
-					TransferReserveAsset {
-						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::v2::OriginKind,
-						#[codec(compact)]
-						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)]
-					ClearOrigin,
-					#[codec(index = 11)]
-					DescendOrigin(runtime_types::xcm::v2::multilocation::Junctions),
-					#[codec(index = 12)]
-					ReportError {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						dest: runtime_types::xcm::v2::multilocation::MultiLocation,
-						#[codec(compact)]
-						max_response_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 13)]
-					DepositAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						#[codec(compact)]
-						max_assets: ::core::primitive::u32,
-						beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 14)]
-					DepositReserveAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						#[codec(compact)]
-						max_assets: ::core::primitive::u32,
-						dest: runtime_types::xcm::v2::multilocation::MultiLocation,
-						xcm: runtime_types::xcm::v2::Xcm,
-					},
-					#[codec(index = 15)]
-					ExchangeAsset {
-						give: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						receive: runtime_types::xcm::v2::multiasset::MultiAssets,
-					},
-					#[codec(index = 16)]
-					InitiateReserveWithdraw {
-						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::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::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::v2::multiasset::MultiAsset,
-						weight_limit: runtime_types::xcm::v2::WeightLimit,
-					},
-					#[codec(index = 20)]
-					RefundSurplus,
-					#[codec(index = 21)]
-					SetErrorHandler(runtime_types::xcm::v2::Xcm),
-					#[codec(index = 22)]
-					SetAppendix(runtime_types::xcm::v2::Xcm),
-					#[codec(index = 23)]
-					ClearError,
-					#[codec(index = 24)]
-					ClaimAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssets,
-						ticket: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 25)]
-					Trap(#[codec(compact)] ::core::primitive::u64),
-					#[codec(index = 26)]
-					SubscribeVersion {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						#[codec(compact)]
-						max_response_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 27)]
-					UnsubscribeVersion,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Instruction2 {
-					#[codec(index = 0)]
-					WithdrawAsset(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 1)]
-					ReserveAssetDeposited(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 2)]
-					ReceiveTeleportedAsset(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 3)]
-					QueryResponse {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						response: runtime_types::xcm::v2::Response,
-						#[codec(compact)]
-						max_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 4)]
-					TransferAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssets,
-						beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 5)]
-					TransferReserveAsset {
-						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::v2::OriginKind,
-						#[codec(compact)]
-						require_weight_at_most: ::core::primitive::u64,
-						call: runtime_types::xcm::double_encoded::DoubleEncoded2,
-					},
-					#[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::v2::multilocation::Junctions),
-					#[codec(index = 12)]
-					ReportError {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						dest: runtime_types::xcm::v2::multilocation::MultiLocation,
-						#[codec(compact)]
-						max_response_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 13)]
-					DepositAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						#[codec(compact)]
-						max_assets: ::core::primitive::u32,
-						beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 14)]
-					DepositReserveAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						#[codec(compact)]
-						max_assets: ::core::primitive::u32,
-						dest: runtime_types::xcm::v2::multilocation::MultiLocation,
-						xcm: runtime_types::xcm::v2::Xcm,
-					},
-					#[codec(index = 15)]
-					ExchangeAsset {
-						give: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						receive: runtime_types::xcm::v2::multiasset::MultiAssets,
-					},
-					#[codec(index = 16)]
-					InitiateReserveWithdraw {
-						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::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::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::v2::multiasset::MultiAsset,
-						weight_limit: runtime_types::xcm::v2::WeightLimit,
-					},
-					#[codec(index = 20)]
-					RefundSurplus,
-					#[codec(index = 21)]
-					SetErrorHandler(runtime_types::xcm::v2::Xcm2),
-					#[codec(index = 22)]
-					SetAppendix(runtime_types::xcm::v2::Xcm2),
-					#[codec(index = 23)]
-					ClearError,
-					#[codec(index = 24)]
-					ClaimAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssets,
-						ticket: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 25)]
-					Trap(#[codec(compact)] ::core::primitive::u64),
-					#[codec(index = 26)]
-					SubscribeVersion {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						#[codec(compact)]
-						max_response_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 27)]
-					UnsubscribeVersion,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum OriginKind {
-					#[codec(index = 0)]
-					Native,
-					#[codec(index = 1)]
-					SovereignAccount,
-					#[codec(index = 2)]
-					Superuser,
-					#[codec(index = 3)]
-					Xcm,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Response {
-					#[codec(index = 0)]
-					Null,
-					#[codec(index = 1)]
-					Assets(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 2)]
-					ExecutionResult(
-						::core::option::Option<(
-							::core::primitive::u32,
-							runtime_types::xcm::v2::traits::Error,
-						)>,
-					),
-					#[codec(index = 3)]
-					Version(::core::primitive::u32),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum WeightLimit {
-					#[codec(index = 0)]
-					Unlimited,
-					#[codec(index = 1)]
-					Limited(#[codec(compact)] ::core::primitive::u64),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm(pub ::std::vec::Vec<runtime_types::xcm::v2::Instruction>);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm2(pub ::std::vec::Vec<runtime_types::xcm::v2::Instruction2>);
-			}
-			pub mod v3 {
-				use super::runtime_types;
-				pub mod junction {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junction {
-						#[codec(index = 0)]
-						Parachain(#[codec(compact)] ::core::primitive::u32),
-						#[codec(index = 1)]
-						AccountId32 {
-							network:
-								::core::option::Option<runtime_types::xcm::v3::junction::NetworkId>,
-							id: [::core::primitive::u8; 32usize],
-						},
-						#[codec(index = 2)]
-						AccountIndex64 {
-							network:
-								::core::option::Option<runtime_types::xcm::v3::junction::NetworkId>,
-							#[codec(compact)]
-							index: ::core::primitive::u64,
-						},
-						#[codec(index = 3)]
-						AccountKey20 {
-							network:
-								::core::option::Option<runtime_types::xcm::v3::junction::NetworkId>,
-							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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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,
-						#[codec(index = 10)]
-						PolkadotBulletin,
-					}
-				}
-				pub mod junctions {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum AssetId {
-						#[codec(index = 0)]
-						Concrete(runtime_types::staging_xcm::v3::multilocation::MultiLocation),
-						#[codec(index = 1)]
-						Abstract([::core::primitive::u8; 32usize]),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Fungibility {
-						#[codec(index = 0)]
-						Fungible(#[codec(compact)] ::core::primitive::u128),
-						#[codec(index = 1)]
-						NonFungible(runtime_types::xcm::v3::multiasset::AssetInstance),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAsset {
-						pub id: runtime_types::xcm::v3::multiasset::AssetId,
-						pub fun: runtime_types::xcm::v3::multiasset::Fungibility,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum MultiAssetFilter {
-						#[codec(index = 0)]
-						Definite(runtime_types::xcm::v3::multiasset::MultiAssets),
-						#[codec(index = 1)]
-						Wild(runtime_types::xcm::v3::multiasset::WildMultiAsset),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAssets(
-						pub ::std::vec::Vec<runtime_types::xcm::v3::multiasset::MultiAsset>,
-					);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildFungibility {
-						#[codec(index = 0)]
-						Fungible,
-						#[codec(index = 1)]
-						NonFungible,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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 traits {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(::sp_weights::Weight),
-						#[codec(index = 37)]
-						Barrier,
-						#[codec(index = 38)]
-						WeightNotComputable,
-						#[codec(index = 39)]
-						ExceedsStackLimit,
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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: ::sp_weights::Weight,
-						querier: ::core::option::Option<
-							runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						>,
-					},
-					#[codec(index = 4)]
-					TransferAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssets,
-						beneficiary: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 5)]
-					TransferReserveAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssets,
-						dest: runtime_types::staging_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: ::sp_weights::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::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 14)]
-					DepositReserveAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter,
-						dest: runtime_types::staging_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::staging_xcm::v3::multilocation::MultiLocation,
-						xcm: runtime_types::xcm::v3::Xcm,
-					},
-					#[codec(index = 17)]
-					InitiateTeleport {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter,
-						dest: runtime_types::staging_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::staging_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: ::sp_weights::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::staging_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::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 40)]
-					UnlockAsset {
-						asset: runtime_types::xcm::v3::multiasset::MultiAsset,
-						target: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 41)]
-					NoteUnlockable {
-						asset: runtime_types::xcm::v3::multiasset::MultiAsset,
-						owner: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 42)]
-					RequestUnlock {
-						asset: runtime_types::xcm::v3::multiasset::MultiAsset,
-						locker: runtime_types::staging_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::staging_xcm::v3::multilocation::MultiLocation),
-					#[codec(index = 47)]
-					UnpaidExecution {
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-						check_origin: ::core::option::Option<
-							runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Instruction2 {
-					#[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: ::sp_weights::Weight,
-						querier: ::core::option::Option<
-							runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						>,
-					},
-					#[codec(index = 4)]
-					TransferAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssets,
-						beneficiary: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 5)]
-					TransferReserveAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssets,
-						dest: runtime_types::staging_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: ::sp_weights::Weight,
-						call: runtime_types::xcm::double_encoded::DoubleEncoded2,
-					},
-					#[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::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 14)]
-					DepositReserveAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter,
-						dest: runtime_types::staging_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::staging_xcm::v3::multilocation::MultiLocation,
-						xcm: runtime_types::xcm::v3::Xcm,
-					},
-					#[codec(index = 17)]
-					InitiateTeleport {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter,
-						dest: runtime_types::staging_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::Xcm2),
-					#[codec(index = 22)]
-					SetAppendix(runtime_types::xcm::v3::Xcm2),
-					#[codec(index = 23)]
-					ClearError,
-					#[codec(index = 24)]
-					ClaimAsset {
-						assets: runtime_types::xcm::v3::multiasset::MultiAssets,
-						ticket: runtime_types::staging_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: ::sp_weights::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::staging_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::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 40)]
-					UnlockAsset {
-						asset: runtime_types::xcm::v3::multiasset::MultiAsset,
-						target: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 41)]
-					NoteUnlockable {
-						asset: runtime_types::xcm::v3::multiasset::MultiAsset,
-						owner: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					},
-					#[codec(index = 42)]
-					RequestUnlock {
-						asset: runtime_types::xcm::v3::multiasset::MultiAsset,
-						locker: runtime_types::staging_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::staging_xcm::v3::multilocation::MultiLocation),
-					#[codec(index = 47)]
-					UnpaidExecution {
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-						check_origin: ::core::option::Option<
-							runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-						>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct QueryResponseInfo {
-					pub destination: runtime_types::staging_xcm::v3::multilocation::MultiLocation,
-					#[codec(compact)]
-					pub query_id: ::core::primitive::u64,
-					pub max_weight: ::sp_weights::Weight,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum WeightLimit {
-					#[codec(index = 0)]
-					Unlimited,
-					#[codec(index = 1)]
-					Limited(::sp_weights::Weight),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm(pub ::std::vec::Vec<runtime_types::xcm::v3::Instruction>);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm2(pub ::std::vec::Vec<runtime_types::xcm::v3::Instruction2>);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedAssetId {
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::multiasset::AssetId),
-				#[codec(index = 4)]
-				V4(runtime_types::staging_xcm::v4::asset::AssetId),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedAssets {
-				#[codec(index = 1)]
-				V2(runtime_types::xcm::v2::multiasset::MultiAssets),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::multiasset::MultiAssets),
-				#[codec(index = 4)]
-				V4(runtime_types::staging_xcm::v4::asset::Assets),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedLocation {
-				#[codec(index = 1)]
-				V2(runtime_types::xcm::v2::multilocation::MultiLocation),
-				#[codec(index = 3)]
-				V3(runtime_types::staging_xcm::v3::multilocation::MultiLocation),
-				#[codec(index = 4)]
-				V4(runtime_types::staging_xcm::v4::location::Location),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedResponse {
-				#[codec(index = 2)]
-				V2(runtime_types::xcm::v2::Response),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::Response),
-				#[codec(index = 4)]
-				V4(runtime_types::staging_xcm::v4::Response),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedXcm {
-				#[codec(index = 2)]
-				V2(runtime_types::xcm::v2::Xcm),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::Xcm),
-				#[codec(index = 4)]
-				V4(runtime_types::staging_xcm::v4::Xcm),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedXcm2 {
-				#[codec(index = 2)]
-				V2(runtime_types::xcm::v2::Xcm2),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::Xcm2),
-				#[codec(index = 4)]
-				V4(runtime_types::staging_xcm::v4::Xcm2),
-			}
-		}
-	}
-}
diff --git a/bridges/relays/client-bridge-hub-westend/src/lib.rs b/bridges/relays/client-bridge-hub-westend/src/lib.rs
deleted file mode 100644
index 049fa4649609eab482501b6e2614b94a2e56c0c5..0000000000000000000000000000000000000000
--- a/bridges/relays/client-bridge-hub-westend/src/lib.rs
+++ /dev/null
@@ -1,127 +0,0 @@
-// Copyright 2022 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Types used to connect to the BridgeHub-Westend-Substrate parachain.
-
-pub mod codegen_runtime;
-
-use bp_bridge_hub_westend::{SignedExtension, AVERAGE_BLOCK_INTERVAL};
-use bp_polkadot_core::SuffixedCommonSignedExtensionExt;
-use codec::Encode;
-use relay_substrate_client::{
-	calls::UtilityCall as MockUtilityCall, Chain, ChainWithBalances, ChainWithMessages,
-	ChainWithRuntimeVersion, ChainWithTransactions, ChainWithUtilityPallet,
-	Error as SubstrateError, MockedRuntimeUtilityPallet, SignParam, SimpleRuntimeVersion,
-	UnderlyingChainProvider, UnsignedTransaction,
-};
-use sp_core::{storage::StorageKey, Pair};
-use sp_runtime::{generic::SignedPayload, traits::IdentifyAccount};
-use std::time::Duration;
-
-pub use codegen_runtime::api::runtime_types;
-
-pub type RuntimeCall = runtime_types::bridge_hub_westend_runtime::RuntimeCall;
-pub type BridgeMessagesCall = runtime_types::pallet_bridge_messages::pallet::Call;
-pub type BridgeGrandpaCall = runtime_types::pallet_bridge_grandpa::pallet::Call;
-pub type BridgeParachainCall = runtime_types::pallet_bridge_parachains::pallet::Call;
-type UncheckedExtrinsic = bp_bridge_hub_westend::UncheckedExtrinsic<RuntimeCall, SignedExtension>;
-type UtilityCall = runtime_types::pallet_utility::pallet::Call;
-
-/// Westend chain definition
-#[derive(Debug, Clone, Copy, PartialEq, Eq)]
-pub struct BridgeHubWestend;
-
-impl UnderlyingChainProvider for BridgeHubWestend {
-	type Chain = bp_bridge_hub_westend::BridgeHubWestend;
-}
-
-impl Chain for BridgeHubWestend {
-	const NAME: &'static str = "BridgeHubWestend";
-	const BEST_FINALIZED_HEADER_ID_METHOD: &'static str =
-		bp_bridge_hub_westend::BEST_FINALIZED_BRIDGE_HUB_WESTEND_HEADER_METHOD;
-	const AVERAGE_BLOCK_INTERVAL: Duration = AVERAGE_BLOCK_INTERVAL;
-
-	type SignedBlock = bp_bridge_hub_westend::SignedBlock;
-	type Call = RuntimeCall;
-}
-
-impl ChainWithBalances for BridgeHubWestend {
-	fn account_info_storage_key(account_id: &Self::AccountId) -> StorageKey {
-		bp_bridge_hub_westend::AccountInfoStorageMapKeyProvider::final_key(account_id)
-	}
-}
-
-impl From<MockUtilityCall<RuntimeCall>> for RuntimeCall {
-	fn from(value: MockUtilityCall<RuntimeCall>) -> RuntimeCall {
-		match value {
-			MockUtilityCall::batch_all(calls) =>
-				RuntimeCall::Utility(UtilityCall::batch_all { calls }),
-		}
-	}
-}
-
-impl ChainWithUtilityPallet for BridgeHubWestend {
-	type UtilityPallet = MockedRuntimeUtilityPallet<RuntimeCall>;
-}
-
-impl ChainWithTransactions for BridgeHubWestend {
-	type AccountKeyPair = sp_core::sr25519::Pair;
-	type SignedTransaction = UncheckedExtrinsic;
-
-	fn sign_transaction(
-		param: SignParam<Self>,
-		unsigned: UnsignedTransaction<Self>,
-	) -> Result<Self::SignedTransaction, SubstrateError> {
-		let raw_payload = SignedPayload::new(
-			unsigned.call,
-			SignedExtension::from_params(
-				param.spec_version,
-				param.transaction_version,
-				unsigned.era,
-				param.genesis_hash,
-				unsigned.nonce,
-				unsigned.tip,
-				(((), ()), ((), ())),
-			),
-		)?;
-
-		let signature = raw_payload.using_encoded(|payload| param.signer.sign(payload));
-		let signer: sp_runtime::MultiSigner = param.signer.public().into();
-		let (call, extra, _) = raw_payload.deconstruct();
-
-		Ok(UncheckedExtrinsic::new_signed(
-			call,
-			signer.into_account().into(),
-			signature.into(),
-			extra,
-		))
-	}
-}
-
-impl ChainWithMessages for BridgeHubWestend {
-	const WITH_CHAIN_RELAYERS_PALLET_NAME: Option<&'static str> =
-		Some(bp_bridge_hub_westend::WITH_BRIDGE_HUB_WESTEND_RELAYERS_PALLET_NAME);
-
-	const TO_CHAIN_MESSAGE_DETAILS_METHOD: &'static str =
-		bp_bridge_hub_westend::TO_BRIDGE_HUB_WESTEND_MESSAGE_DETAILS_METHOD;
-	const FROM_CHAIN_MESSAGE_DETAILS_METHOD: &'static str =
-		bp_bridge_hub_westend::FROM_BRIDGE_HUB_WESTEND_MESSAGE_DETAILS_METHOD;
-}
-
-impl ChainWithRuntimeVersion for BridgeHubWestend {
-	const RUNTIME_VERSION: Option<SimpleRuntimeVersion> =
-		Some(SimpleRuntimeVersion { spec_version: 1_008_000, transaction_version: 4 });
-}
diff --git a/bridges/relays/client-kusama/Cargo.toml b/bridges/relays/client-kusama/Cargo.toml
deleted file mode 100644
index c459f347af1ed9ef718622fa70b2fa80b8b7bce9..0000000000000000000000000000000000000000
--- a/bridges/relays/client-kusama/Cargo.toml
+++ /dev/null
@@ -1,31 +0,0 @@
-[package]
-name = "relay-kusama-client"
-version = "0.1.0"
-authors = ["Parity Technologies <admin@parity.io>"]
-edition = "2021"
-license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
-
-[lints]
-workspace = true
-
-[dependencies]
-codec = { package = "parity-scale-codec", version = "3.1.5", features = ["derive"] }
-scale-info = { version = "2.11.0", default-features = false, features = ["derive"] }
-subxt = { version = "0.32.1", default-features = false, features = ["native"] }
-
-# Bridge dependencies
-
-bp-kusama = { path = "../../chains/chain-kusama" }
-bp-polkadot-core = { path = "../../primitives/polkadot-core" }
-bp-runtime = { path = "../../primitives/runtime" }
-
-relay-substrate-client = { path = "../client-substrate" }
-relay-utils = { path = "../utils" }
-
-# Substrate Dependencies
-
-sp-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-weights = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
diff --git a/bridges/relays/client-kusama/src/codegen_runtime.rs b/bridges/relays/client-kusama/src/codegen_runtime.rs
deleted file mode 100644
index 3c37d61f4cf19e98c6b2003ce9d7de87c5b5d7b6..0000000000000000000000000000000000000000
--- a/bridges/relays/client-kusama/src/codegen_runtime.rs
+++ /dev/null
@@ -1,8338 +0,0 @@
-// Copyright 2019-2023 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated runtime API
-//! THIS FILE WAS AUTOGENERATED USING parity-bridges-common::runtime-codegen
-//! EXECUTED COMMAND: target/debug/runtime-codegen --from-node-url wss://kusama-rpc.polkadot.io:443
-
-#[allow(dead_code, unused_imports, non_camel_case_types)]
-#[allow(clippy::all)]
-pub mod api {
-	use super::api as root_mod;
-	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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BoundedBTreeMap<_0, _1>(pub ::subxt::utils::KeyedVec<_0, _1>);
-			}
-			pub mod bounded_vec {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BoundedVec<_0>(pub ::std::vec::Vec<_0>);
-			}
-			pub mod weak_bounded_vec {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct WeakBoundedVec<_0>(pub ::std::vec::Vec<_0>);
-			}
-		}
-		pub mod finality_grandpa {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Equivocation<_0, _1, _2> {
-				pub round_number: ::core::primitive::u64,
-				pub identity: _0,
-				pub first: (_1, _2),
-				pub second: (_1, _2),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Precommit<_0, _1> {
-				pub target_hash: _0,
-				pub target_number: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Prevote<_0, _1> {
-				pub target_hash: _0,
-				pub target_number: _1,
-			}
-		}
-		pub mod frame_support {
-			use super::runtime_types;
-			pub mod dispatch {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum DispatchClass {
-					#[codec(index = 0)]
-					Normal,
-					#[codec(index = 1)]
-					Operational,
-					#[codec(index = 2)]
-					Mandatory,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DispatchInfo {
-					pub weight: ::sp_weights::Weight,
-					pub class: runtime_types::frame_support::dispatch::DispatchClass,
-					pub pays_fee: runtime_types::frame_support::dispatch::Pays,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Pays {
-					#[codec(index = 0)]
-					Yes,
-					#[codec(index = 1)]
-					No,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PerDispatchClass<_0> {
-					pub normal: _0,
-					pub operational: _0,
-					pub mandatory: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PostDispatchInfo {
-					pub actual_weight: ::core::option::Option<::sp_weights::Weight>,
-					pub pays_fee: runtime_types::frame_support::dispatch::Pays,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum RawOrigin<_0> {
-					#[codec(index = 0)]
-					Root,
-					#[codec(index = 1)]
-					Signed(_0),
-					#[codec(index = 2)]
-					None,
-				}
-			}
-			pub mod traits {
-				use super::runtime_types;
-				pub mod messages {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum ProcessMessageError {
-						#[codec(index = 0)]
-						BadFormat,
-						#[codec(index = 1)]
-						Corrupt,
-						#[codec(index = 2)]
-						Unsupported,
-						#[codec(index = 3)]
-						Overweight(::sp_weights::Weight),
-						#[codec(index = 4)]
-						Yield,
-					}
-				}
-				pub mod misc {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct WrapperOpaque<_0>(
-						#[codec(compact)] pub ::core::primitive::u32,
-						pub _0,
-					);
-				}
-				pub mod preimages {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Bounded<_0> {
-						#[codec(index = 0)]
-						Legacy {
-							hash: ::subxt::utils::H256,
-						},
-						#[codec(index = 1)]
-						Inline(
-							runtime_types::bounded_collections::bounded_vec::BoundedVec<
-								::core::primitive::u8,
-							>,
-						),
-						#[codec(index = 2)]
-						Lookup {
-							hash: ::subxt::utils::H256,
-							len: ::core::primitive::u32,
-						},
-						__Ignore(::core::marker::PhantomData<_0>),
-					}
-				}
-				pub mod schedule {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum DispatchTime<_0> {
-						#[codec(index = 0)]
-						At(_0),
-						#[codec(index = 1)]
-						After(_0),
-					}
-				}
-				pub mod tokens {
-					use super::runtime_types;
-					pub mod misc {
-						use super::runtime_types;
-						#[derive(
-							:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq,
-						)]
-						pub enum BalanceStatus {
-							#[codec(index = 0)]
-							Free,
-							#[codec(index = 1)]
-							Reserved,
-						}
-					}
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct PalletId(pub [::core::primitive::u8; 8usize]);
-		}
-		pub mod frame_system {
-			use super::runtime_types;
-			pub mod extensions {
-				use super::runtime_types;
-				pub mod check_genesis {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckGenesis;
-				}
-				pub mod check_mortality {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckMortality(pub ::sp_runtime::generic::Era);
-				}
-				pub mod check_non_zero_sender {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckNonZeroSender;
-				}
-				pub mod check_nonce {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckNonce(#[codec(compact)] pub ::core::primitive::u32);
-				}
-				pub mod check_spec_version {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckSpecVersion;
-				}
-				pub mod check_tx_version {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckTxVersion;
-				}
-				pub mod check_weight {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckWeight;
-				}
-			}
-			pub mod limits {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BlockLength {
-					pub max: runtime_types::frame_support::dispatch::PerDispatchClass<
-						::core::primitive::u32,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BlockWeights {
-					pub base_block: ::sp_weights::Weight,
-					pub max_block: ::sp_weights::Weight,
-					pub per_class: runtime_types::frame_support::dispatch::PerDispatchClass<
-						runtime_types::frame_system::limits::WeightsPerClass,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct WeightsPerClass {
-					pub base_extrinsic: ::sp_weights::Weight,
-					pub max_extrinsic: ::core::option::Option<::sp_weights::Weight>,
-					pub max_total: ::core::option::Option<::sp_weights::Weight>,
-					pub reserved: ::core::option::Option<::sp_weights::Weight>,
-				}
-			}
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					remark { remark: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 1)]
-					set_heap_pages { pages: ::core::primitive::u64 },
-					#[codec(index = 2)]
-					set_code { code: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 3)]
-					set_code_without_checks { code: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 4)]
-					set_storage {
-						items: ::std::vec::Vec<(
-							::std::vec::Vec<::core::primitive::u8>,
-							::std::vec::Vec<::core::primitive::u8>,
-						)>,
-					},
-					#[codec(index = 5)]
-					kill_storage { keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>> },
-					#[codec(index = 6)]
-					kill_prefix {
-						prefix: ::std::vec::Vec<::core::primitive::u8>,
-						subkeys: ::core::primitive::u32,
-					},
-					#[codec(index = 7)]
-					remark_with_event { remark: ::std::vec::Vec<::core::primitive::u8> },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidSpecName,
-					#[codec(index = 1)]
-					SpecVersionNeedsToIncrease,
-					#[codec(index = 2)]
-					FailedToExtractRuntimeVersion,
-					#[codec(index = 3)]
-					NonDefaultComposite,
-					#[codec(index = 4)]
-					NonZeroRefCount,
-					#[codec(index = 5)]
-					CallFiltered,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					ExtrinsicSuccess {
-						dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo,
-					},
-					#[codec(index = 1)]
-					ExtrinsicFailed {
-						dispatch_error: runtime_types::sp_runtime::DispatchError,
-						dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo,
-					},
-					#[codec(index = 2)]
-					CodeUpdated,
-					#[codec(index = 3)]
-					NewAccount { account: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 4)]
-					KilledAccount { account: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 5)]
-					Remarked { sender: ::sp_core::crypto::AccountId32, hash: ::subxt::utils::H256 },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct AccountInfo<_0, _1> {
-				pub nonce: _0,
-				pub consumers: _0,
-				pub providers: _0,
-				pub sufficients: _0,
-				pub data: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct EventRecord<_0, _1> {
-				pub phase: runtime_types::frame_system::Phase,
-				pub event: _0,
-				pub topics: ::std::vec::Vec<_1>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct LastRuntimeUpgradeInfo {
-				#[codec(compact)]
-				pub spec_version: ::core::primitive::u32,
-				pub spec_name: ::std::string::String,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Phase {
-				#[codec(index = 0)]
-				ApplyExtrinsic(::core::primitive::u32),
-				#[codec(index = 1)]
-				Finalization,
-				#[codec(index = 2)]
-				Initialization,
-			}
-		}
-		pub mod kusama_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(
-							:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq,
-						)]
-						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,
-							#[codec(index = 14)]
-							FellowshipInitiates,
-							#[codec(index = 15)]
-							Fellows,
-							#[codec(index = 16)]
-							FellowshipExperts,
-							#[codec(index = 17)]
-							FellowshipMasters,
-							#[codec(index = 18)]
-							Fellowship1Dan,
-							#[codec(index = 19)]
-							Fellowship2Dan,
-							#[codec(index = 20)]
-							Fellowship3Dan,
-							#[codec(index = 21)]
-							Fellowship4Dan,
-							#[codec(index = 22)]
-							Fellowship5Dan,
-							#[codec(index = 23)]
-							Fellowship6Dan,
-							#[codec(index = 24)]
-							Fellowship7Dan,
-							#[codec(index = 25)]
-							Fellowship8Dan,
-							#[codec(index = 26)]
-							Fellowship9Dan,
-						}
-					}
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct NposCompactSolution24 {
-				pub votes1: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes2: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					),
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes3: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 2usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes4: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 3usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes5: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 4usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes6: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 5usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes7: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 6usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes8: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 7usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes9: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 8usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes10: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 9usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes11: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 10usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes12: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 11usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes13: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 12usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes14: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 13usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes15: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 14usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes16: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 15usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes17: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 16usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes18: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 17usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes19: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 18usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes20: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 19usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes21: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 20usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes22: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 21usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes23: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 22usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes24: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 23usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum OriginCaller {
-				# [codec (index = 0)] system (runtime_types :: frame_support :: dispatch :: RawOrigin < :: sp_core :: crypto :: AccountId32 > ,) , # [codec (index = 43)] Origins (runtime_types :: kusama_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 = 4)] Void (runtime_types :: sp_core :: Void ,) , }
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ProxyType {
-				#[codec(index = 0)]
-				Any,
-				#[codec(index = 1)]
-				NonTransfer,
-				#[codec(index = 2)]
-				Governance,
-				#[codec(index = 3)]
-				Staking,
-				#[codec(index = 4)]
-				IdentityJudgement,
-				#[codec(index = 5)]
-				CancelProxy,
-				#[codec(index = 6)]
-				Auction,
-				#[codec(index = 7)]
-				Society,
-				#[codec(index = 8)]
-				NominationPools,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Runtime;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeCall {
-				#[codec(index = 0)]
-				System(runtime_types::frame_system::pallet::Call),
-				#[codec(index = 1)]
-				Babe(runtime_types::pallet_babe::pallet::Call),
-				#[codec(index = 2)]
-				Timestamp(runtime_types::pallet_timestamp::pallet::Call),
-				#[codec(index = 3)]
-				Indices(runtime_types::pallet_indices::pallet::Call),
-				#[codec(index = 4)]
-				Balances(runtime_types::pallet_balances::pallet::Call),
-				#[codec(index = 6)]
-				Staking(runtime_types::pallet_staking::pallet::pallet::Call),
-				#[codec(index = 8)]
-				Session(runtime_types::pallet_session::pallet::Call),
-				#[codec(index = 10)]
-				Grandpa(runtime_types::pallet_grandpa::pallet::Call),
-				#[codec(index = 11)]
-				ImOnline(runtime_types::pallet_im_online::pallet::Call),
-				#[codec(index = 18)]
-				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 = 22)]
-				FellowshipCollective(runtime_types::pallet_ranked_collective::pallet::Call),
-				#[codec(index = 23)]
-				FellowshipReferenda(runtime_types::pallet_referenda::pallet::Call),
-				#[codec(index = 44)]
-				Whitelist(runtime_types::pallet_whitelist::pallet::Call),
-				#[codec(index = 19)]
-				Claims(runtime_types::polkadot_runtime_common::claims::pallet::Call),
-				#[codec(index = 24)]
-				Utility(runtime_types::pallet_utility::pallet::Call),
-				#[codec(index = 25)]
-				Identity(runtime_types::pallet_identity::pallet::Call),
-				#[codec(index = 26)]
-				Society(runtime_types::pallet_society::pallet::Call),
-				#[codec(index = 27)]
-				Recovery(runtime_types::pallet_recovery::pallet::Call),
-				#[codec(index = 28)]
-				Vesting(runtime_types::pallet_vesting::pallet::Call),
-				#[codec(index = 29)]
-				Scheduler(runtime_types::pallet_scheduler::pallet::Call),
-				#[codec(index = 30)]
-				Proxy(runtime_types::pallet_proxy::pallet::Call),
-				#[codec(index = 31)]
-				Multisig(runtime_types::pallet_multisig::pallet::Call),
-				#[codec(index = 32)]
-				Preimage(runtime_types::pallet_preimage::pallet::Call),
-				#[codec(index = 35)]
-				Bounties(runtime_types::pallet_bounties::pallet::Call),
-				#[codec(index = 40)]
-				ChildBounties(runtime_types::pallet_child_bounties::pallet::Call),
-				#[codec(index = 37)]
-				ElectionProviderMultiPhase(
-					runtime_types::pallet_election_provider_multi_phase::pallet::Call,
-				),
-				#[codec(index = 38)]
-				Nis(runtime_types::pallet_nis::pallet::Call),
-				#[codec(index = 45)]
-				NisCounterpartBalances(runtime_types::pallet_balances::pallet::Call),
-				#[codec(index = 39)]
-				VoterList(runtime_types::pallet_bags_list::pallet::Call),
-				#[codec(index = 41)]
-				NominationPools(runtime_types::pallet_nomination_pools::pallet::Call),
-				#[codec(index = 42)]
-				FastUnstake(runtime_types::pallet_fast_unstake::pallet::Call),
-				#[codec(index = 51)]
-				Configuration(
-					runtime_types::polkadot_runtime_parachains::configuration::pallet::Call,
-				),
-				#[codec(index = 52)]
-				ParasShared(runtime_types::polkadot_runtime_parachains::shared::pallet::Call),
-				#[codec(index = 53)]
-				ParaInclusion(runtime_types::polkadot_runtime_parachains::inclusion::pallet::Call),
-				#[codec(index = 54)]
-				ParaInherent(
-					runtime_types::polkadot_runtime_parachains::paras_inherent::pallet::Call,
-				),
-				#[codec(index = 56)]
-				Paras(runtime_types::polkadot_runtime_parachains::paras::pallet::Call),
-				#[codec(index = 57)]
-				Initializer(runtime_types::polkadot_runtime_parachains::initializer::pallet::Call),
-				#[codec(index = 60)]
-				Hrmp(runtime_types::polkadot_runtime_parachains::hrmp::pallet::Call),
-				#[codec(index = 62)]
-				ParasDisputes(runtime_types::polkadot_runtime_parachains::disputes::pallet::Call),
-				#[codec(index = 63)]
-				ParasSlashing(
-					runtime_types::polkadot_runtime_parachains::disputes::slashing::pallet::Call,
-				),
-				#[codec(index = 70)]
-				Registrar(runtime_types::polkadot_runtime_common::paras_registrar::pallet::Call),
-				#[codec(index = 71)]
-				Slots(runtime_types::polkadot_runtime_common::slots::pallet::Call),
-				#[codec(index = 72)]
-				Auctions(runtime_types::polkadot_runtime_common::auctions::pallet::Call),
-				#[codec(index = 73)]
-				Crowdloan(runtime_types::polkadot_runtime_common::crowdloan::pallet::Call),
-				#[codec(index = 99)]
-				XcmPallet(runtime_types::pallet_xcm::pallet::Call),
-				#[codec(index = 100)]
-				MessageQueue(runtime_types::pallet_message_queue::pallet::Call),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeEvent {
-				#[codec(index = 0)]
-				System(runtime_types::frame_system::pallet::Event),
-				#[codec(index = 3)]
-				Indices(runtime_types::pallet_indices::pallet::Event),
-				#[codec(index = 4)]
-				Balances(runtime_types::pallet_balances::pallet::Event),
-				#[codec(index = 33)]
-				TransactionPayment(runtime_types::pallet_transaction_payment::pallet::Event),
-				#[codec(index = 6)]
-				Staking(runtime_types::pallet_staking::pallet::pallet::Event),
-				#[codec(index = 7)]
-				Offences(runtime_types::pallet_offences::pallet::Event),
-				#[codec(index = 8)]
-				Session(runtime_types::pallet_session::pallet::Event),
-				#[codec(index = 10)]
-				Grandpa(runtime_types::pallet_grandpa::pallet::Event),
-				#[codec(index = 11)]
-				ImOnline(runtime_types::pallet_im_online::pallet::Event),
-				#[codec(index = 18)]
-				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 = 22)]
-				FellowshipCollective(runtime_types::pallet_ranked_collective::pallet::Event),
-				#[codec(index = 23)]
-				FellowshipReferenda(runtime_types::pallet_referenda::pallet::Event),
-				#[codec(index = 44)]
-				Whitelist(runtime_types::pallet_whitelist::pallet::Event),
-				#[codec(index = 19)]
-				Claims(runtime_types::polkadot_runtime_common::claims::pallet::Event),
-				#[codec(index = 24)]
-				Utility(runtime_types::pallet_utility::pallet::Event),
-				#[codec(index = 25)]
-				Identity(runtime_types::pallet_identity::pallet::Event),
-				#[codec(index = 26)]
-				Society(runtime_types::pallet_society::pallet::Event),
-				#[codec(index = 27)]
-				Recovery(runtime_types::pallet_recovery::pallet::Event),
-				#[codec(index = 28)]
-				Vesting(runtime_types::pallet_vesting::pallet::Event),
-				#[codec(index = 29)]
-				Scheduler(runtime_types::pallet_scheduler::pallet::Event),
-				#[codec(index = 30)]
-				Proxy(runtime_types::pallet_proxy::pallet::Event),
-				#[codec(index = 31)]
-				Multisig(runtime_types::pallet_multisig::pallet::Event),
-				#[codec(index = 32)]
-				Preimage(runtime_types::pallet_preimage::pallet::Event),
-				#[codec(index = 35)]
-				Bounties(runtime_types::pallet_bounties::pallet::Event),
-				#[codec(index = 40)]
-				ChildBounties(runtime_types::pallet_child_bounties::pallet::Event),
-				#[codec(index = 37)]
-				ElectionProviderMultiPhase(
-					runtime_types::pallet_election_provider_multi_phase::pallet::Event,
-				),
-				#[codec(index = 38)]
-				Nis(runtime_types::pallet_nis::pallet::Event),
-				#[codec(index = 45)]
-				NisCounterpartBalances(runtime_types::pallet_balances::pallet::Event),
-				#[codec(index = 39)]
-				VoterList(runtime_types::pallet_bags_list::pallet::Event),
-				#[codec(index = 41)]
-				NominationPools(runtime_types::pallet_nomination_pools::pallet::Event),
-				#[codec(index = 42)]
-				FastUnstake(runtime_types::pallet_fast_unstake::pallet::Event),
-				#[codec(index = 53)]
-				ParaInclusion(runtime_types::polkadot_runtime_parachains::inclusion::pallet::Event),
-				#[codec(index = 56)]
-				Paras(runtime_types::polkadot_runtime_parachains::paras::pallet::Event),
-				#[codec(index = 60)]
-				Hrmp(runtime_types::polkadot_runtime_parachains::hrmp::pallet::Event),
-				#[codec(index = 62)]
-				ParasDisputes(runtime_types::polkadot_runtime_parachains::disputes::pallet::Event),
-				#[codec(index = 70)]
-				Registrar(runtime_types::polkadot_runtime_common::paras_registrar::pallet::Event),
-				#[codec(index = 71)]
-				Slots(runtime_types::polkadot_runtime_common::slots::pallet::Event),
-				#[codec(index = 72)]
-				Auctions(runtime_types::polkadot_runtime_common::auctions::pallet::Event),
-				#[codec(index = 73)]
-				Crowdloan(runtime_types::polkadot_runtime_common::crowdloan::pallet::Event),
-				#[codec(index = 99)]
-				XcmPallet(runtime_types::pallet_xcm::pallet::Event),
-				#[codec(index = 100)]
-				MessageQueue(runtime_types::pallet_message_queue::pallet::Event),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeHoldReason {
-				#[codec(index = 38)]
-				Nis(runtime_types::pallet_nis::pallet::HoldReason),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct SessionKeys {
-				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::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,
-			}
-		}
-		pub mod pallet_babe {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					report_equivocation {
-						equivocation_proof: ::std::boxed::Box<
-							runtime_types::sp_consensus_slots::EquivocationProof<
-								::sp_runtime::generic::Header<
-									::core::primitive::u32,
-									::sp_runtime::traits::BlakeTwo256,
-								>,
-								runtime_types::sp_consensus_babe::app::Public,
-							>,
-						>,
-						key_owner_proof: ::sp_session::MembershipProof,
-					},
-					#[codec(index = 1)]
-					report_equivocation_unsigned {
-						equivocation_proof: ::std::boxed::Box<
-							runtime_types::sp_consensus_slots::EquivocationProof<
-								::sp_runtime::generic::Header<
-									::core::primitive::u32,
-									::sp_runtime::traits::BlakeTwo256,
-								>,
-								runtime_types::sp_consensus_babe::app::Public,
-							>,
-						>,
-						key_owner_proof: ::sp_session::MembershipProof,
-					},
-					#[codec(index = 2)]
-					plan_config_change {
-						config: runtime_types::sp_consensus_babe::digests::NextConfigDescriptor,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidEquivocationProof,
-					#[codec(index = 1)]
-					InvalidKeyOwnershipProof,
-					#[codec(index = 2)]
-					DuplicateOffenceReport,
-					#[codec(index = 3)]
-					InvalidConfiguration,
-				}
-			}
-		}
-		pub mod pallet_bags_list {
-			use super::runtime_types;
-			pub mod list {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Bag {
-					pub head: ::core::option::Option<::sp_core::crypto::AccountId32>,
-					pub tail: ::core::option::Option<::sp_core::crypto::AccountId32>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum ListError {
-					#[codec(index = 0)]
-					Duplicate,
-					#[codec(index = 1)]
-					NotHeavier,
-					#[codec(index = 2)]
-					NotInSameBag,
-					#[codec(index = 3)]
-					NodeNotFound,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Node {
-					pub id: ::sp_core::crypto::AccountId32,
-					pub prev: ::core::option::Option<::sp_core::crypto::AccountId32>,
-					pub next: ::core::option::Option<::sp_core::crypto::AccountId32>,
-					pub bag_upper: ::core::primitive::u64,
-					pub score: ::core::primitive::u64,
-				}
-			}
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					rebag {
-						dislocated:
-							::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 1)]
-					put_in_front_of {
-						lighter: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					List(runtime_types::pallet_bags_list::list::ListError),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Rebagged {
-						who: ::sp_core::crypto::AccountId32,
-						from: ::core::primitive::u64,
-						to: ::core::primitive::u64,
-					},
-					#[codec(index = 1)]
-					ScoreUpdated {
-						who: ::sp_core::crypto::AccountId32,
-						new_score: ::core::primitive::u64,
-					},
-				}
-			}
-		}
-		pub mod pallet_balances {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					transfer_allow_death {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					set_balance_deprecated {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						new_free: ::core::primitive::u128,
-						#[codec(compact)]
-						old_reserved: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					force_transfer {
-						source: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					transfer_keep_alive {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					transfer_all {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						keep_alive: ::core::primitive::bool,
-					},
-					#[codec(index = 5)]
-					force_unreserve {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 6)]
-					upgrade_accounts { who: ::std::vec::Vec<::sp_core::crypto::AccountId32> },
-					#[codec(index = 7)]
-					transfer {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 8)]
-					force_set_balance {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						new_free: ::core::primitive::u128,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					VestingBalance,
-					#[codec(index = 1)]
-					LiquidityRestrictions,
-					#[codec(index = 2)]
-					InsufficientBalance,
-					#[codec(index = 3)]
-					ExistentialDeposit,
-					#[codec(index = 4)]
-					Expendability,
-					#[codec(index = 5)]
-					ExistingVestingSchedule,
-					#[codec(index = 6)]
-					DeadAccount,
-					#[codec(index = 7)]
-					TooManyReserves,
-					#[codec(index = 8)]
-					TooManyHolds,
-					#[codec(index = 9)]
-					TooManyFreezes,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Endowed {
-						account: ::sp_core::crypto::AccountId32,
-						free_balance: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					DustLost {
-						account: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					Transfer {
-						from: ::sp_core::crypto::AccountId32,
-						to: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					BalanceSet {
-						who: ::sp_core::crypto::AccountId32,
-						free: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					Reserved {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 5)]
-					Unreserved {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 6)]
-					ReserveRepatriated {
-						from: ::sp_core::crypto::AccountId32,
-						to: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-						destination_status:
-							runtime_types::frame_support::traits::tokens::misc::BalanceStatus,
-					},
-					#[codec(index = 7)]
-					Deposit { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 8)]
-					Withdraw {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 9)]
-					Slashed { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 10)]
-					Minted { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 11)]
-					Burned { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 12)]
-					Suspended {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 13)]
-					Restored {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 14)]
-					Upgraded { who: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 15)]
-					Issued { amount: ::core::primitive::u128 },
-					#[codec(index = 16)]
-					Rescinded { amount: ::core::primitive::u128 },
-					#[codec(index = 17)]
-					Locked { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 18)]
-					Unlocked {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 19)]
-					Frozen { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 20)]
-					Thawed { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-				}
-			}
-			pub mod types {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AccountData<_0> {
-					pub free: _0,
-					pub reserved: _0,
-					pub frozen: _0,
-					pub flags: runtime_types::pallet_balances::types::ExtraFlags,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BalanceLock<_0> {
-					pub id: [::core::primitive::u8; 8usize],
-					pub amount: _0,
-					pub reasons: runtime_types::pallet_balances::types::Reasons,
-				}
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct ExtraFlags(pub ::core::primitive::u128);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct IdAmount<_0, _1> {
-					pub id: _0,
-					pub amount: _1,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Reasons {
-					#[codec(index = 0)]
-					Fee,
-					#[codec(index = 1)]
-					Misc,
-					#[codec(index = 2)]
-					All,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ReserveData<_0, _1> {
-					pub id: _0,
-					pub amount: _1,
-				}
-			}
-		}
-		pub mod pallet_bounties {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					propose_bounty {
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-						description: ::std::vec::Vec<::core::primitive::u8>,
-					},
-					#[codec(index = 1)]
-					approve_bounty {
-						#[codec(compact)]
-						bounty_id: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					propose_curator {
-						#[codec(compact)]
-						bounty_id: ::core::primitive::u32,
-						curator: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						fee: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					unassign_curator {
-						#[codec(compact)]
-						bounty_id: ::core::primitive::u32,
-					},
-					#[codec(index = 4)]
-					accept_curator {
-						#[codec(compact)]
-						bounty_id: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					award_bounty {
-						#[codec(compact)]
-						bounty_id: ::core::primitive::u32,
-						beneficiary:
-							::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 6)]
-					claim_bounty {
-						#[codec(compact)]
-						bounty_id: ::core::primitive::u32,
-					},
-					#[codec(index = 7)]
-					close_bounty {
-						#[codec(compact)]
-						bounty_id: ::core::primitive::u32,
-					},
-					#[codec(index = 8)]
-					extend_bounty_expiry {
-						#[codec(compact)]
-						bounty_id: ::core::primitive::u32,
-						remark: ::std::vec::Vec<::core::primitive::u8>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InsufficientProposersBalance,
-					#[codec(index = 1)]
-					InvalidIndex,
-					#[codec(index = 2)]
-					ReasonTooBig,
-					#[codec(index = 3)]
-					UnexpectedStatus,
-					#[codec(index = 4)]
-					RequireCurator,
-					#[codec(index = 5)]
-					InvalidValue,
-					#[codec(index = 6)]
-					InvalidFee,
-					#[codec(index = 7)]
-					PendingPayout,
-					#[codec(index = 8)]
-					Premature,
-					#[codec(index = 9)]
-					HasActiveChildBounty,
-					#[codec(index = 10)]
-					TooManyQueued,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					BountyProposed { index: ::core::primitive::u32 },
-					#[codec(index = 1)]
-					BountyRejected { index: ::core::primitive::u32, bond: ::core::primitive::u128 },
-					#[codec(index = 2)]
-					BountyBecameActive { index: ::core::primitive::u32 },
-					#[codec(index = 3)]
-					BountyAwarded {
-						index: ::core::primitive::u32,
-						beneficiary: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 4)]
-					BountyClaimed {
-						index: ::core::primitive::u32,
-						payout: ::core::primitive::u128,
-						beneficiary: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 5)]
-					BountyCanceled { index: ::core::primitive::u32 },
-					#[codec(index = 6)]
-					BountyExtended { index: ::core::primitive::u32 },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Bounty<_0, _1, _2> {
-				pub proposer: _0,
-				pub value: _1,
-				pub fee: _1,
-				pub curator_deposit: _1,
-				pub bond: _1,
-				pub status: runtime_types::pallet_bounties::BountyStatus<_0, _2>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum BountyStatus<_0, _1> {
-				#[codec(index = 0)]
-				Proposed,
-				#[codec(index = 1)]
-				Approved,
-				#[codec(index = 2)]
-				Funded,
-				#[codec(index = 3)]
-				CuratorProposed { curator: _0 },
-				#[codec(index = 4)]
-				Active { curator: _0, update_due: _1 },
-				#[codec(index = 5)]
-				PendingPayout { curator: _0, beneficiary: _0, unlock_at: _1 },
-			}
-		}
-		pub mod pallet_child_bounties {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					add_child_bounty {
-						#[codec(compact)]
-						parent_bounty_id: ::core::primitive::u32,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-						description: ::std::vec::Vec<::core::primitive::u8>,
-					},
-					#[codec(index = 1)]
-					propose_curator {
-						#[codec(compact)]
-						parent_bounty_id: ::core::primitive::u32,
-						#[codec(compact)]
-						child_bounty_id: ::core::primitive::u32,
-						curator: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						fee: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					accept_curator {
-						#[codec(compact)]
-						parent_bounty_id: ::core::primitive::u32,
-						#[codec(compact)]
-						child_bounty_id: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					unassign_curator {
-						#[codec(compact)]
-						parent_bounty_id: ::core::primitive::u32,
-						#[codec(compact)]
-						child_bounty_id: ::core::primitive::u32,
-					},
-					#[codec(index = 4)]
-					award_child_bounty {
-						#[codec(compact)]
-						parent_bounty_id: ::core::primitive::u32,
-						#[codec(compact)]
-						child_bounty_id: ::core::primitive::u32,
-						beneficiary:
-							::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 5)]
-					claim_child_bounty {
-						#[codec(compact)]
-						parent_bounty_id: ::core::primitive::u32,
-						#[codec(compact)]
-						child_bounty_id: ::core::primitive::u32,
-					},
-					#[codec(index = 6)]
-					close_child_bounty {
-						#[codec(compact)]
-						parent_bounty_id: ::core::primitive::u32,
-						#[codec(compact)]
-						child_bounty_id: ::core::primitive::u32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					ParentBountyNotActive,
-					#[codec(index = 1)]
-					InsufficientBountyBalance,
-					#[codec(index = 2)]
-					TooManyChildBounties,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Added { index: ::core::primitive::u32, child_index: ::core::primitive::u32 },
-					#[codec(index = 1)]
-					Awarded {
-						index: ::core::primitive::u32,
-						child_index: ::core::primitive::u32,
-						beneficiary: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 2)]
-					Claimed {
-						index: ::core::primitive::u32,
-						child_index: ::core::primitive::u32,
-						payout: ::core::primitive::u128,
-						beneficiary: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 3)]
-					Canceled { index: ::core::primitive::u32, child_index: ::core::primitive::u32 },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ChildBounty<_0, _1, _2> {
-				pub parent_bounty: _2,
-				pub value: _1,
-				pub fee: _1,
-				pub curator_deposit: _1,
-				pub status: runtime_types::pallet_child_bounties::ChildBountyStatus<_0, _2>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ChildBountyStatus<_0, _1> {
-				#[codec(index = 0)]
-				Added,
-				#[codec(index = 1)]
-				CuratorProposed { curator: _0 },
-				#[codec(index = 2)]
-				Active { curator: _0 },
-				#[codec(index = 3)]
-				PendingPayout { curator: _0, beneficiary: _0, unlock_at: _1 },
-			}
-		}
-		pub mod pallet_conviction_voting {
-			use super::runtime_types;
-			pub mod conviction {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					vote {
-						#[codec(compact)]
-						poll_index: ::core::primitive::u32,
-						vote: runtime_types::pallet_conviction_voting::vote::AccountVote<
-							::core::primitive::u128,
-						>,
-					},
-					#[codec(index = 1)]
-					delegate {
-						class: ::core::primitive::u16,
-						to: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						conviction: runtime_types::pallet_conviction_voting::conviction::Conviction,
-						balance: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					undelegate { class: ::core::primitive::u16 },
-					#[codec(index = 3)]
-					unlock {
-						class: ::core::primitive::u16,
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 4)]
-					remove_vote {
-						class: ::core::option::Option<::core::primitive::u16>,
-						index: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					remove_other_vote {
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						class: ::core::primitive::u16,
-						index: ::core::primitive::u32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotOngoing,
-					#[codec(index = 1)]
-					NotVoter,
-					#[codec(index = 2)]
-					NoPermission,
-					#[codec(index = 3)]
-					NoPermissionYet,
-					#[codec(index = 4)]
-					AlreadyDelegating,
-					#[codec(index = 5)]
-					AlreadyVoting,
-					#[codec(index = 6)]
-					InsufficientFunds,
-					#[codec(index = 7)]
-					NotDelegating,
-					#[codec(index = 8)]
-					Nonsense,
-					#[codec(index = 9)]
-					MaxVotesReached,
-					#[codec(index = 10)]
-					ClassNeeded,
-					#[codec(index = 11)]
-					BadClass,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Delegated(::sp_core::crypto::AccountId32, ::sp_core::crypto::AccountId32),
-					#[codec(index = 1)]
-					Undelegated(::sp_core::crypto::AccountId32),
-				}
-			}
-			pub mod types {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Delegations<_0> {
-					pub votes: _0,
-					pub capital: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Tally<_0> {
-					pub ayes: _0,
-					pub nays: _0,
-					pub support: _0,
-				}
-			}
-			pub mod vote {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PriorLock<_0, _1>(pub _0, pub _1);
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct Vote(pub ::core::primitive::u8);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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_election_provider_multi_phase {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					# [codec (index = 0)] submit_unsigned { raw_solution : :: std :: boxed :: Box < runtime_types :: pallet_election_provider_multi_phase :: RawSolution < runtime_types :: kusama_runtime :: NposCompactSolution24 > > , witness : runtime_types :: pallet_election_provider_multi_phase :: SolutionOrSnapshotSize , } , # [codec (index = 1)] set_minimum_untrusted_score { maybe_next_score : :: core :: option :: Option < runtime_types :: sp_npos_elections :: ElectionScore > , } , # [codec (index = 2)] set_emergency_election_result { supports : :: std :: vec :: Vec < (:: sp_core :: crypto :: AccountId32 , runtime_types :: sp_npos_elections :: Support < :: sp_core :: crypto :: AccountId32 > ,) > , } , # [codec (index = 3)] submit { raw_solution : :: std :: boxed :: Box < runtime_types :: pallet_election_provider_multi_phase :: RawSolution < runtime_types :: kusama_runtime :: NposCompactSolution24 > > , } , # [codec (index = 4)] governance_fallback { maybe_max_voters : :: core :: option :: Option < :: core :: primitive :: u32 > , maybe_max_targets : :: core :: option :: Option < :: core :: primitive :: u32 > , } , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					PreDispatchEarlySubmission,
-					#[codec(index = 1)]
-					PreDispatchWrongWinnerCount,
-					#[codec(index = 2)]
-					PreDispatchWeakSubmission,
-					#[codec(index = 3)]
-					SignedQueueFull,
-					#[codec(index = 4)]
-					SignedCannotPayDeposit,
-					#[codec(index = 5)]
-					SignedInvalidWitness,
-					#[codec(index = 6)]
-					SignedTooMuchWeight,
-					#[codec(index = 7)]
-					OcwCallWrongEra,
-					#[codec(index = 8)]
-					MissingSnapshotMetadata,
-					#[codec(index = 9)]
-					InvalidSubmissionIndex,
-					#[codec(index = 10)]
-					CallNotAllowed,
-					#[codec(index = 11)]
-					FallbackFailed,
-					#[codec(index = 12)]
-					BoundNotMet,
-					#[codec(index = 13)]
-					TooManyWinners,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					SolutionStored {
-						compute:
-							runtime_types::pallet_election_provider_multi_phase::ElectionCompute,
-						origin: ::core::option::Option<::sp_core::crypto::AccountId32>,
-						prev_ejected: ::core::primitive::bool,
-					},
-					#[codec(index = 1)]
-					ElectionFinalized {
-						compute:
-							runtime_types::pallet_election_provider_multi_phase::ElectionCompute,
-						score: runtime_types::sp_npos_elections::ElectionScore,
-					},
-					#[codec(index = 2)]
-					ElectionFailed,
-					#[codec(index = 3)]
-					Rewarded {
-						account: ::sp_core::crypto::AccountId32,
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					Slashed {
-						account: ::sp_core::crypto::AccountId32,
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 5)]
-					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 {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SignedSubmission<_0, _1, _2> {
-					pub who: _0,
-					pub deposit: _1,
-					pub raw_solution:
-						runtime_types::pallet_election_provider_multi_phase::RawSolution<_2>,
-					pub call_fee: _1,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ElectionCompute {
-				#[codec(index = 0)]
-				OnChain,
-				#[codec(index = 1)]
-				Signed,
-				#[codec(index = 2)]
-				Unsigned,
-				#[codec(index = 3)]
-				Fallback,
-				#[codec(index = 4)]
-				Emergency,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Phase<_0> {
-				#[codec(index = 0)]
-				Off,
-				#[codec(index = 1)]
-				Signed,
-				#[codec(index = 2)]
-				Unsigned((::core::primitive::bool, _0)),
-				#[codec(index = 3)]
-				Emergency,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RawSolution<_0> {
-				pub solution: _0,
-				pub score: runtime_types::sp_npos_elections::ElectionScore,
-				pub round: ::core::primitive::u32,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ReadySolution {
-				pub supports: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-					::sp_core::crypto::AccountId32,
-					runtime_types::sp_npos_elections::Support<::sp_core::crypto::AccountId32>,
-				)>,
-				pub score: runtime_types::sp_npos_elections::ElectionScore,
-				pub compute: runtime_types::pallet_election_provider_multi_phase::ElectionCompute,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RoundSnapshot<_0, _1> {
-				pub voters: ::std::vec::Vec<_1>,
-				pub targets: ::std::vec::Vec<_0>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct SolutionOrSnapshotSize {
-				#[codec(compact)]
-				pub voters: ::core::primitive::u32,
-				#[codec(compact)]
-				pub targets: ::core::primitive::u32,
-			}
-		}
-		pub mod pallet_fast_unstake {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					register_fast_unstake,
-					#[codec(index = 1)]
-					deregister,
-					#[codec(index = 2)]
-					control { eras_to_check: ::core::primitive::u32 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotController,
-					#[codec(index = 1)]
-					AlreadyQueued,
-					#[codec(index = 2)]
-					NotFullyBonded,
-					#[codec(index = 3)]
-					NotQueued,
-					#[codec(index = 4)]
-					AlreadyHead,
-					#[codec(index = 5)]
-					CallNotAllowed,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Unstaked {
-						stash: ::sp_core::crypto::AccountId32,
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 1)]
-					Slashed {
-						stash: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					InternalError,
-					#[codec(index = 3)]
-					BatchChecked { eras: ::std::vec::Vec<::core::primitive::u32> },
-					#[codec(index = 4)]
-					BatchFinished { size: ::core::primitive::u32 },
-				}
-			}
-			pub mod types {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct UnstakeRequest {
-					pub stashes: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-						::sp_core::crypto::AccountId32,
-						::core::primitive::u128,
-					)>,
-					pub checked: runtime_types::bounded_collections::bounded_vec::BoundedVec<
-						::core::primitive::u32,
-					>,
-				}
-			}
-		}
-		pub mod pallet_grandpa {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					report_equivocation {
-						equivocation_proof: ::std::boxed::Box<
-							::sp_consensus_grandpa::EquivocationProof<
-								::subxt::utils::H256,
-								::core::primitive::u32,
-							>,
-						>,
-						key_owner_proof: ::sp_session::MembershipProof,
-					},
-					#[codec(index = 1)]
-					report_equivocation_unsigned {
-						equivocation_proof: ::std::boxed::Box<
-							::sp_consensus_grandpa::EquivocationProof<
-								::subxt::utils::H256,
-								::core::primitive::u32,
-							>,
-						>,
-						key_owner_proof: ::sp_session::MembershipProof,
-					},
-					#[codec(index = 2)]
-					note_stalled {
-						delay: ::core::primitive::u32,
-						best_finalized_block_number: ::core::primitive::u32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					PauseFailed,
-					#[codec(index = 1)]
-					ResumeFailed,
-					#[codec(index = 2)]
-					ChangePending,
-					#[codec(index = 3)]
-					TooSoon,
-					#[codec(index = 4)]
-					InvalidKeyOwnershipProof,
-					#[codec(index = 5)]
-					InvalidEquivocationProof,
-					#[codec(index = 6)]
-					DuplicateOffenceReport,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewAuthorities {
-						authority_set: ::std::vec::Vec<(
-							runtime_types::sp_consensus_grandpa::app::Public,
-							::core::primitive::u64,
-						)>,
-					},
-					#[codec(index = 1)]
-					Paused,
-					#[codec(index = 2)]
-					Resumed,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct StoredPendingChange<_0> {
-				pub scheduled_at: _0,
-				pub delay: _0,
-				pub next_authorities:
-					runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<(
-						runtime_types::sp_consensus_grandpa::app::Public,
-						::core::primitive::u64,
-					)>,
-				pub forced: ::core::option::Option<_0>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum StoredState<_0> {
-				#[codec(index = 0)]
-				Live,
-				#[codec(index = 1)]
-				PendingPause { scheduled_at: _0, delay: _0 },
-				#[codec(index = 2)]
-				Paused,
-				#[codec(index = 3)]
-				PendingResume { scheduled_at: _0, delay: _0 },
-			}
-		}
-		pub mod pallet_identity {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					add_registrar {
-						account: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 1)]
-					set_identity {
-						info:
-							::std::boxed::Box<runtime_types::pallet_identity::types::IdentityInfo>,
-					},
-					#[codec(index = 2)]
-					set_subs {
-						subs: ::std::vec::Vec<(
-							::sp_core::crypto::AccountId32,
-							runtime_types::pallet_identity::types::Data,
-						)>,
-					},
-					#[codec(index = 3)]
-					clear_identity,
-					#[codec(index = 4)]
-					request_judgement {
-						#[codec(compact)]
-						reg_index: ::core::primitive::u32,
-						#[codec(compact)]
-						max_fee: ::core::primitive::u128,
-					},
-					#[codec(index = 5)]
-					cancel_request { reg_index: ::core::primitive::u32 },
-					#[codec(index = 6)]
-					set_fee {
-						#[codec(compact)]
-						index: ::core::primitive::u32,
-						#[codec(compact)]
-						fee: ::core::primitive::u128,
-					},
-					#[codec(index = 7)]
-					set_account_id {
-						#[codec(compact)]
-						index: ::core::primitive::u32,
-						new: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 8)]
-					set_fields {
-						#[codec(compact)]
-						index: ::core::primitive::u32,
-						fields: runtime_types::pallet_identity::types::BitFlags<
-							runtime_types::pallet_identity::types::IdentityField,
-						>,
-					},
-					#[codec(index = 9)]
-					provide_judgement {
-						#[codec(compact)]
-						reg_index: ::core::primitive::u32,
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						judgement: runtime_types::pallet_identity::types::Judgement<
-							::core::primitive::u128,
-						>,
-						identity: ::subxt::utils::H256,
-					},
-					#[codec(index = 10)]
-					kill_identity {
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 11)]
-					add_sub {
-						sub: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						data: runtime_types::pallet_identity::types::Data,
-					},
-					#[codec(index = 12)]
-					rename_sub {
-						sub: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						data: runtime_types::pallet_identity::types::Data,
-					},
-					#[codec(index = 13)]
-					remove_sub {
-						sub: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 14)]
-					quit_sub,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					TooManySubAccounts,
-					#[codec(index = 1)]
-					NotFound,
-					#[codec(index = 2)]
-					NotNamed,
-					#[codec(index = 3)]
-					EmptyIndex,
-					#[codec(index = 4)]
-					FeeChanged,
-					#[codec(index = 5)]
-					NoIdentity,
-					#[codec(index = 6)]
-					StickyJudgement,
-					#[codec(index = 7)]
-					JudgementGiven,
-					#[codec(index = 8)]
-					InvalidJudgement,
-					#[codec(index = 9)]
-					InvalidIndex,
-					#[codec(index = 10)]
-					InvalidTarget,
-					#[codec(index = 11)]
-					TooManyFields,
-					#[codec(index = 12)]
-					TooManyRegistrars,
-					#[codec(index = 13)]
-					AlreadyClaimed,
-					#[codec(index = 14)]
-					NotSub,
-					#[codec(index = 15)]
-					NotOwned,
-					#[codec(index = 16)]
-					JudgementForDifferentIdentity,
-					#[codec(index = 17)]
-					JudgementPaymentFailed,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					IdentitySet { who: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 1)]
-					IdentityCleared {
-						who: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					IdentityKilled {
-						who: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					JudgementRequested {
-						who: ::sp_core::crypto::AccountId32,
-						registrar_index: ::core::primitive::u32,
-					},
-					#[codec(index = 4)]
-					JudgementUnrequested {
-						who: ::sp_core::crypto::AccountId32,
-						registrar_index: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					JudgementGiven {
-						target: ::sp_core::crypto::AccountId32,
-						registrar_index: ::core::primitive::u32,
-					},
-					#[codec(index = 6)]
-					RegistrarAdded { registrar_index: ::core::primitive::u32 },
-					#[codec(index = 7)]
-					SubIdentityAdded {
-						sub: ::sp_core::crypto::AccountId32,
-						main: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 8)]
-					SubIdentityRemoved {
-						sub: ::sp_core::crypto::AccountId32,
-						main: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 9)]
-					SubIdentityRevoked {
-						sub: ::sp_core::crypto::AccountId32,
-						main: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-				}
-			}
-			pub mod types {
-				use super::runtime_types;
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct BitFlags<_0>(
-					pub ::core::primitive::u64,
-					#[codec(skip)] pub ::core::marker::PhantomData<_0>,
-				);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Data {
-					#[codec(index = 0)]
-					None,
-					#[codec(index = 1)]
-					Raw0([::core::primitive::u8; 0usize]),
-					#[codec(index = 2)]
-					Raw1([::core::primitive::u8; 1usize]),
-					#[codec(index = 3)]
-					Raw2([::core::primitive::u8; 2usize]),
-					#[codec(index = 4)]
-					Raw3([::core::primitive::u8; 3usize]),
-					#[codec(index = 5)]
-					Raw4([::core::primitive::u8; 4usize]),
-					#[codec(index = 6)]
-					Raw5([::core::primitive::u8; 5usize]),
-					#[codec(index = 7)]
-					Raw6([::core::primitive::u8; 6usize]),
-					#[codec(index = 8)]
-					Raw7([::core::primitive::u8; 7usize]),
-					#[codec(index = 9)]
-					Raw8([::core::primitive::u8; 8usize]),
-					#[codec(index = 10)]
-					Raw9([::core::primitive::u8; 9usize]),
-					#[codec(index = 11)]
-					Raw10([::core::primitive::u8; 10usize]),
-					#[codec(index = 12)]
-					Raw11([::core::primitive::u8; 11usize]),
-					#[codec(index = 13)]
-					Raw12([::core::primitive::u8; 12usize]),
-					#[codec(index = 14)]
-					Raw13([::core::primitive::u8; 13usize]),
-					#[codec(index = 15)]
-					Raw14([::core::primitive::u8; 14usize]),
-					#[codec(index = 16)]
-					Raw15([::core::primitive::u8; 15usize]),
-					#[codec(index = 17)]
-					Raw16([::core::primitive::u8; 16usize]),
-					#[codec(index = 18)]
-					Raw17([::core::primitive::u8; 17usize]),
-					#[codec(index = 19)]
-					Raw18([::core::primitive::u8; 18usize]),
-					#[codec(index = 20)]
-					Raw19([::core::primitive::u8; 19usize]),
-					#[codec(index = 21)]
-					Raw20([::core::primitive::u8; 20usize]),
-					#[codec(index = 22)]
-					Raw21([::core::primitive::u8; 21usize]),
-					#[codec(index = 23)]
-					Raw22([::core::primitive::u8; 22usize]),
-					#[codec(index = 24)]
-					Raw23([::core::primitive::u8; 23usize]),
-					#[codec(index = 25)]
-					Raw24([::core::primitive::u8; 24usize]),
-					#[codec(index = 26)]
-					Raw25([::core::primitive::u8; 25usize]),
-					#[codec(index = 27)]
-					Raw26([::core::primitive::u8; 26usize]),
-					#[codec(index = 28)]
-					Raw27([::core::primitive::u8; 27usize]),
-					#[codec(index = 29)]
-					Raw28([::core::primitive::u8; 28usize]),
-					#[codec(index = 30)]
-					Raw29([::core::primitive::u8; 29usize]),
-					#[codec(index = 31)]
-					Raw30([::core::primitive::u8; 30usize]),
-					#[codec(index = 32)]
-					Raw31([::core::primitive::u8; 31usize]),
-					#[codec(index = 33)]
-					Raw32([::core::primitive::u8; 32usize]),
-					#[codec(index = 34)]
-					BlakeTwo256([::core::primitive::u8; 32usize]),
-					#[codec(index = 35)]
-					Sha256([::core::primitive::u8; 32usize]),
-					#[codec(index = 36)]
-					Keccak256([::core::primitive::u8; 32usize]),
-					#[codec(index = 37)]
-					ShaThree256([::core::primitive::u8; 32usize]),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum IdentityField {
-					#[codec(index = 1)]
-					Display,
-					#[codec(index = 2)]
-					Legal,
-					#[codec(index = 4)]
-					Web,
-					#[codec(index = 8)]
-					Riot,
-					#[codec(index = 16)]
-					Email,
-					#[codec(index = 32)]
-					PgpFingerprint,
-					#[codec(index = 64)]
-					Image,
-					#[codec(index = 128)]
-					Twitter,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct IdentityInfo {
-					pub additional: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-						runtime_types::pallet_identity::types::Data,
-						runtime_types::pallet_identity::types::Data,
-					)>,
-					pub display: runtime_types::pallet_identity::types::Data,
-					pub legal: runtime_types::pallet_identity::types::Data,
-					pub web: runtime_types::pallet_identity::types::Data,
-					pub riot: runtime_types::pallet_identity::types::Data,
-					pub email: runtime_types::pallet_identity::types::Data,
-					pub pgp_fingerprint: ::core::option::Option<[::core::primitive::u8; 20usize]>,
-					pub image: runtime_types::pallet_identity::types::Data,
-					pub twitter: runtime_types::pallet_identity::types::Data,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Judgement<_0> {
-					#[codec(index = 0)]
-					Unknown,
-					#[codec(index = 1)]
-					FeePaid(_0),
-					#[codec(index = 2)]
-					Reasonable,
-					#[codec(index = 3)]
-					KnownGood,
-					#[codec(index = 4)]
-					OutOfDate,
-					#[codec(index = 5)]
-					LowQuality,
-					#[codec(index = 6)]
-					Erroneous,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RegistrarInfo<_0, _1> {
-					pub account: _1,
-					pub fee: _0,
-					pub fields: runtime_types::pallet_identity::types::BitFlags<
-						runtime_types::pallet_identity::types::IdentityField,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Registration<_0> {
-					pub judgements: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-						::core::primitive::u32,
-						runtime_types::pallet_identity::types::Judgement<_0>,
-					)>,
-					pub deposit: _0,
-					pub info: runtime_types::pallet_identity::types::IdentityInfo,
-				}
-			}
-		}
-		pub mod pallet_im_online {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					heartbeat {
-						heartbeat:
-							runtime_types::pallet_im_online::Heartbeat<::core::primitive::u32>,
-						signature: runtime_types::pallet_im_online::sr25519::app_sr25519::Signature,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidKey,
-					#[codec(index = 1)]
-					DuplicatedHeartbeat,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					HeartbeatReceived {
-						authority_id: runtime_types::pallet_im_online::sr25519::app_sr25519::Public,
-					},
-					#[codec(index = 1)]
-					AllGood,
-					#[codec(index = 2)]
-					SomeOffline {
-						offline: ::std::vec::Vec<(
-							::sp_core::crypto::AccountId32,
-							runtime_types::pallet_staking::Exposure<
-								::sp_core::crypto::AccountId32,
-								::core::primitive::u128,
-							>,
-						)>,
-					},
-				}
-			}
-			pub mod sr25519 {
-				use super::runtime_types;
-				pub mod app_sr25519 {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Signature(pub runtime_types::sp_core::sr25519::Signature);
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BoundedOpaqueNetworkState {
-				pub peer_id: runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<
-					::core::primitive::u8,
-				>,
-				pub external_addresses:
-					runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<
-						runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<
-							::core::primitive::u8,
-						>,
-					>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Heartbeat<_0> {
-				pub block_number: _0,
-				pub network_state: runtime_types::sp_core::offchain::OpaqueNetworkState,
-				pub session_index: _0,
-				pub authority_index: _0,
-				pub validators_len: _0,
-			}
-		}
-		pub mod pallet_indices {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					claim { index: ::core::primitive::u32 },
-					#[codec(index = 1)]
-					transfer {
-						new: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						index: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					free { index: ::core::primitive::u32 },
-					#[codec(index = 3)]
-					force_transfer {
-						new: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						index: ::core::primitive::u32,
-						freeze: ::core::primitive::bool,
-					},
-					#[codec(index = 4)]
-					freeze { index: ::core::primitive::u32 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotAssigned,
-					#[codec(index = 1)]
-					NotOwner,
-					#[codec(index = 2)]
-					InUse,
-					#[codec(index = 3)]
-					NotTransfer,
-					#[codec(index = 4)]
-					Permanent,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					IndexAssigned {
-						who: ::sp_core::crypto::AccountId32,
-						index: ::core::primitive::u32,
-					},
-					#[codec(index = 1)]
-					IndexFreed { index: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					IndexFrozen {
-						index: ::core::primitive::u32,
-						who: ::sp_core::crypto::AccountId32,
-					},
-				}
-			}
-		}
-		pub mod pallet_message_queue {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					# [codec (index = 0)] reap_page { message_origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , page_index : :: core :: primitive :: u32 , } , # [codec (index = 1)] execute_overweight { message_origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , page : :: core :: primitive :: u32 , index : :: core :: primitive :: u32 , weight_limit : :: sp_weights :: Weight , } , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotReapable,
-					#[codec(index = 1)]
-					NoPage,
-					#[codec(index = 2)]
-					NoMessage,
-					#[codec(index = 3)]
-					AlreadyProcessed,
-					#[codec(index = 4)]
-					Queued,
-					#[codec(index = 5)]
-					InsufficientWeight,
-					#[codec(index = 6)]
-					TemporarilyUnprocessable,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					# [codec (index = 0)] ProcessingFailed { id : [:: core :: primitive :: u8 ; 32usize] , origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , error : runtime_types :: frame_support :: traits :: messages :: ProcessMessageError , } , # [codec (index = 1)] Processed { id : [:: core :: primitive :: u8 ; 32usize] , origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , weight_used : :: sp_weights :: Weight , success : :: core :: primitive :: bool , } , # [codec (index = 2)] OverweightEnqueued { id : [:: core :: primitive :: u8 ; 32usize] , origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , page_index : :: core :: primitive :: u32 , message_index : :: core :: primitive :: u32 , } , # [codec (index = 3)] PageReaped { origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , index : :: core :: primitive :: u32 , } , }
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BookState<_0> {
-				pub begin: ::core::primitive::u32,
-				pub end: ::core::primitive::u32,
-				pub count: ::core::primitive::u32,
-				pub ready_neighbours:
-					::core::option::Option<runtime_types::pallet_message_queue::Neighbours<_0>>,
-				pub message_count: ::core::primitive::u64,
-				pub size: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Neighbours<_0> {
-				pub prev: _0,
-				pub next: _0,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Page<_0> {
-				pub remaining: _0,
-				pub remaining_size: _0,
-				pub first_index: _0,
-				pub first: _0,
-				pub last: _0,
-				pub heap: runtime_types::bounded_collections::bounded_vec::BoundedVec<
-					::core::primitive::u8,
-				>,
-			}
-		}
-		pub mod pallet_multisig {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					as_multi_threshold_1 {
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						call: ::std::boxed::Box<runtime_types::kusama_runtime::RuntimeCall>,
-					},
-					#[codec(index = 1)]
-					as_multi {
-						threshold: ::core::primitive::u16,
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						maybe_timepoint: ::core::option::Option<
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						>,
-						call: ::std::boxed::Box<runtime_types::kusama_runtime::RuntimeCall>,
-						max_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 2)]
-					approve_as_multi {
-						threshold: ::core::primitive::u16,
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						maybe_timepoint: ::core::option::Option<
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						>,
-						call_hash: [::core::primitive::u8; 32usize],
-						max_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 3)]
-					cancel_as_multi {
-						threshold: ::core::primitive::u16,
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					MinimumThreshold,
-					#[codec(index = 1)]
-					AlreadyApproved,
-					#[codec(index = 2)]
-					NoApprovalsNeeded,
-					#[codec(index = 3)]
-					TooFewSignatories,
-					#[codec(index = 4)]
-					TooManySignatories,
-					#[codec(index = 5)]
-					SignatoriesOutOfOrder,
-					#[codec(index = 6)]
-					SenderInSignatories,
-					#[codec(index = 7)]
-					NotFound,
-					#[codec(index = 8)]
-					NotOwner,
-					#[codec(index = 9)]
-					NoTimepoint,
-					#[codec(index = 10)]
-					WrongTimepoint,
-					#[codec(index = 11)]
-					UnexpectedTimepoint,
-					#[codec(index = 12)]
-					MaxWeightTooLow,
-					#[codec(index = 13)]
-					AlreadyStored,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewMultisig {
-						approving: ::sp_core::crypto::AccountId32,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 1)]
-					MultisigApproval {
-						approving: ::sp_core::crypto::AccountId32,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 2)]
-					MultisigExecuted {
-						approving: ::sp_core::crypto::AccountId32,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 3)]
-					MultisigCancelled {
-						cancelling: ::sp_core::crypto::AccountId32,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Multisig<_0, _1, _2> {
-				pub when: runtime_types::pallet_multisig::Timepoint<_0>,
-				pub deposit: _1,
-				pub depositor: _2,
-				pub approvals: runtime_types::bounded_collections::bounded_vec::BoundedVec<_2>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Timepoint<_0> {
-				pub height: _0,
-				pub index: _0,
-			}
-		}
-		pub mod pallet_nis {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Bid<_0, _1> {
-					pub amount: _0,
-					pub who: _1,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					place_bid {
-						#[codec(compact)]
-						amount: ::core::primitive::u128,
-						duration: ::core::primitive::u32,
-					},
-					#[codec(index = 1)]
-					retract_bid {
-						#[codec(compact)]
-						amount: ::core::primitive::u128,
-						duration: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					fund_deficit,
-					#[codec(index = 3)]
-					thaw_private {
-						#[codec(compact)]
-						index: ::core::primitive::u32,
-						maybe_proportion: ::core::option::Option<
-							runtime_types::sp_arithmetic::per_things::Perquintill,
-						>,
-					},
-					#[codec(index = 4)]
-					thaw_communal {
-						#[codec(compact)]
-						index: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					communify {
-						#[codec(compact)]
-						index: ::core::primitive::u32,
-					},
-					#[codec(index = 6)]
-					privatize {
-						#[codec(compact)]
-						index: ::core::primitive::u32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					DurationTooSmall,
-					#[codec(index = 1)]
-					DurationTooBig,
-					#[codec(index = 2)]
-					AmountTooSmall,
-					#[codec(index = 3)]
-					BidTooLow,
-					#[codec(index = 4)]
-					UnknownReceipt,
-					#[codec(index = 5)]
-					NotOwner,
-					#[codec(index = 6)]
-					NotExpired,
-					#[codec(index = 7)]
-					UnknownBid,
-					#[codec(index = 8)]
-					PortionTooBig,
-					#[codec(index = 9)]
-					Unfunded,
-					#[codec(index = 10)]
-					AlreadyFunded,
-					#[codec(index = 11)]
-					Throttled,
-					#[codec(index = 12)]
-					MakesDust,
-					#[codec(index = 13)]
-					AlreadyCommunal,
-					#[codec(index = 14)]
-					AlreadyPrivate,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					BidPlaced {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-						duration: ::core::primitive::u32,
-					},
-					#[codec(index = 1)]
-					BidRetracted {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-						duration: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					BidDropped {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-						duration: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					Issued {
-						index: ::core::primitive::u32,
-						expiry: ::core::primitive::u32,
-						who: ::sp_core::crypto::AccountId32,
-						proportion: runtime_types::sp_arithmetic::per_things::Perquintill,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					Thawed {
-						index: ::core::primitive::u32,
-						who: ::sp_core::crypto::AccountId32,
-						proportion: runtime_types::sp_arithmetic::per_things::Perquintill,
-						amount: ::core::primitive::u128,
-						dropped: ::core::primitive::bool,
-					},
-					#[codec(index = 5)]
-					Funded { deficit: ::core::primitive::u128 },
-					#[codec(index = 6)]
-					Transferred {
-						from: ::sp_core::crypto::AccountId32,
-						to: ::sp_core::crypto::AccountId32,
-						index: ::core::primitive::u32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum HoldReason {
-					#[codec(index = 0)]
-					NftReceipt,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ReceiptRecord<_0, _1, _2> {
-					pub proportion: runtime_types::sp_arithmetic::per_things::Perquintill,
-					pub owner: ::core::option::Option<(_0, _2)>,
-					pub expiry: _1,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SummaryRecord<_0, _1> {
-					pub proportion_owed: runtime_types::sp_arithmetic::per_things::Perquintill,
-					pub index: _0,
-					pub thawed: runtime_types::sp_arithmetic::per_things::Perquintill,
-					pub last_period: _0,
-					pub receipts_on_hold: _1,
-				}
-			}
-		}
-		pub mod pallet_nomination_pools {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					join {
-						#[codec(compact)]
-						amount: ::core::primitive::u128,
-						pool_id: ::core::primitive::u32,
-					},
-					#[codec(index = 1)]
-					bond_extra {
-						extra: runtime_types::pallet_nomination_pools::BondExtra<
-							::core::primitive::u128,
-						>,
-					},
-					#[codec(index = 2)]
-					claim_payout,
-					#[codec(index = 3)]
-					unbond {
-						member_account:
-							::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						unbonding_points: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					pool_withdraw_unbonded {
-						pool_id: ::core::primitive::u32,
-						num_slashing_spans: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					withdraw_unbonded {
-						member_account:
-							::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						num_slashing_spans: ::core::primitive::u32,
-					},
-					#[codec(index = 6)]
-					create {
-						#[codec(compact)]
-						amount: ::core::primitive::u128,
-						root: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						nominator: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						bouncer: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 7)]
-					create_with_pool_id {
-						#[codec(compact)]
-						amount: ::core::primitive::u128,
-						root: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						nominator: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						bouncer: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						pool_id: ::core::primitive::u32,
-					},
-					#[codec(index = 8)]
-					nominate {
-						pool_id: ::core::primitive::u32,
-						validators: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-					},
-					#[codec(index = 9)]
-					set_state {
-						pool_id: ::core::primitive::u32,
-						state: runtime_types::pallet_nomination_pools::PoolState,
-					},
-					#[codec(index = 10)]
-					set_metadata {
-						pool_id: ::core::primitive::u32,
-						metadata: ::std::vec::Vec<::core::primitive::u8>,
-					},
-					#[codec(index = 11)]
-					set_configs {
-						min_join_bond: runtime_types::pallet_nomination_pools::ConfigOp<
-							::core::primitive::u128,
-						>,
-						min_create_bond: runtime_types::pallet_nomination_pools::ConfigOp<
-							::core::primitive::u128,
-						>,
-						max_pools: runtime_types::pallet_nomination_pools::ConfigOp<
-							::core::primitive::u32,
-						>,
-						max_members: runtime_types::pallet_nomination_pools::ConfigOp<
-							::core::primitive::u32,
-						>,
-						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)]
-					update_roles {
-						pool_id: ::core::primitive::u32,
-						new_root: runtime_types::pallet_nomination_pools::ConfigOp<
-							::sp_core::crypto::AccountId32,
-						>,
-						new_nominator: runtime_types::pallet_nomination_pools::ConfigOp<
-							::sp_core::crypto::AccountId32,
-						>,
-						new_bouncer: runtime_types::pallet_nomination_pools::ConfigOp<
-							::sp_core::crypto::AccountId32,
-						>,
-					},
-					#[codec(index = 13)]
-					chill { pool_id: ::core::primitive::u32 },
-					#[codec(index = 14)]
-					bond_extra_other {
-						member: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						extra: runtime_types::pallet_nomination_pools::BondExtra<
-							::core::primitive::u128,
-						>,
-					},
-					#[codec(index = 15)]
-					set_claim_permission {
-						permission: runtime_types::pallet_nomination_pools::ClaimPermission,
-					},
-					#[codec(index = 16)]
-					claim_payout_other { other: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 17)]
-					set_commission {
-						pool_id: ::core::primitive::u32,
-						new_commission: ::core::option::Option<(
-							runtime_types::sp_arithmetic::per_things::Perbill,
-							::sp_core::crypto::AccountId32,
-						)>,
-					},
-					#[codec(index = 18)]
-					set_commission_max {
-						pool_id: ::core::primitive::u32,
-						max_commission: runtime_types::sp_arithmetic::per_things::Perbill,
-					},
-					#[codec(index = 19)]
-					set_commission_change_rate {
-						pool_id: ::core::primitive::u32,
-						change_rate: runtime_types::pallet_nomination_pools::CommissionChangeRate<
-							::core::primitive::u32,
-						>,
-					},
-					#[codec(index = 20)]
-					claim_commission { pool_id: ::core::primitive::u32 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum DefensiveError {
-					#[codec(index = 0)]
-					NotEnoughSpaceInUnbondPool,
-					#[codec(index = 1)]
-					PoolNotFound,
-					#[codec(index = 2)]
-					RewardPoolNotFound,
-					#[codec(index = 3)]
-					SubPoolsNotFound,
-					#[codec(index = 4)]
-					BondedStashKilledPrematurely,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					PoolNotFound,
-					#[codec(index = 1)]
-					PoolMemberNotFound,
-					#[codec(index = 2)]
-					RewardPoolNotFound,
-					#[codec(index = 3)]
-					SubPoolsNotFound,
-					#[codec(index = 4)]
-					AccountBelongsToOtherPool,
-					#[codec(index = 5)]
-					FullyUnbonding,
-					#[codec(index = 6)]
-					MaxUnbondingLimit,
-					#[codec(index = 7)]
-					CannotWithdrawAny,
-					#[codec(index = 8)]
-					MinimumBondNotMet,
-					#[codec(index = 9)]
-					OverflowRisk,
-					#[codec(index = 10)]
-					NotDestroying,
-					#[codec(index = 11)]
-					NotNominator,
-					#[codec(index = 12)]
-					NotKickerOrDestroying,
-					#[codec(index = 13)]
-					NotOpen,
-					#[codec(index = 14)]
-					MaxPools,
-					#[codec(index = 15)]
-					MaxPoolMembers,
-					#[codec(index = 16)]
-					CanNotChangeState,
-					#[codec(index = 17)]
-					DoesNotHavePermission,
-					#[codec(index = 18)]
-					MetadataExceedsMaxLen,
-					#[codec(index = 19)]
-					Defensive(runtime_types::pallet_nomination_pools::pallet::DefensiveError),
-					#[codec(index = 20)]
-					PartialUnbondNotAllowedPermissionlessly,
-					#[codec(index = 21)]
-					MaxCommissionRestricted,
-					#[codec(index = 22)]
-					CommissionExceedsMaximum,
-					#[codec(index = 23)]
-					CommissionChangeThrottled,
-					#[codec(index = 24)]
-					CommissionChangeRateNotAllowed,
-					#[codec(index = 25)]
-					NoPendingCommission,
-					#[codec(index = 26)]
-					NoCommissionCurrentSet,
-					#[codec(index = 27)]
-					PoolIdInUse,
-					#[codec(index = 28)]
-					InvalidPoolId,
-					#[codec(index = 29)]
-					BondExtraRestricted,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Created {
-						depositor: ::sp_core::crypto::AccountId32,
-						pool_id: ::core::primitive::u32,
-					},
-					#[codec(index = 1)]
-					Bonded {
-						member: ::sp_core::crypto::AccountId32,
-						pool_id: ::core::primitive::u32,
-						bonded: ::core::primitive::u128,
-						joined: ::core::primitive::bool,
-					},
-					#[codec(index = 2)]
-					PaidOut {
-						member: ::sp_core::crypto::AccountId32,
-						pool_id: ::core::primitive::u32,
-						payout: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					Unbonded {
-						member: ::sp_core::crypto::AccountId32,
-						pool_id: ::core::primitive::u32,
-						balance: ::core::primitive::u128,
-						points: ::core::primitive::u128,
-						era: ::core::primitive::u32,
-					},
-					#[codec(index = 4)]
-					Withdrawn {
-						member: ::sp_core::crypto::AccountId32,
-						pool_id: ::core::primitive::u32,
-						balance: ::core::primitive::u128,
-						points: ::core::primitive::u128,
-					},
-					#[codec(index = 5)]
-					Destroyed { pool_id: ::core::primitive::u32 },
-					#[codec(index = 6)]
-					StateChanged {
-						pool_id: ::core::primitive::u32,
-						new_state: runtime_types::pallet_nomination_pools::PoolState,
-					},
-					#[codec(index = 7)]
-					MemberRemoved {
-						pool_id: ::core::primitive::u32,
-						member: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 8)]
-					RolesUpdated {
-						root: ::core::option::Option<::sp_core::crypto::AccountId32>,
-						bouncer: ::core::option::Option<::sp_core::crypto::AccountId32>,
-						nominator: ::core::option::Option<::sp_core::crypto::AccountId32>,
-					},
-					#[codec(index = 9)]
-					PoolSlashed {
-						pool_id: ::core::primitive::u32,
-						balance: ::core::primitive::u128,
-					},
-					#[codec(index = 10)]
-					UnbondingPoolSlashed {
-						pool_id: ::core::primitive::u32,
-						era: ::core::primitive::u32,
-						balance: ::core::primitive::u128,
-					},
-					#[codec(index = 11)]
-					PoolCommissionUpdated {
-						pool_id: ::core::primitive::u32,
-						current: ::core::option::Option<(
-							runtime_types::sp_arithmetic::per_things::Perbill,
-							::sp_core::crypto::AccountId32,
-						)>,
-					},
-					#[codec(index = 12)]
-					PoolMaxCommissionUpdated {
-						pool_id: ::core::primitive::u32,
-						max_commission: runtime_types::sp_arithmetic::per_things::Perbill,
-					},
-					#[codec(index = 13)]
-					PoolCommissionChangeRateUpdated {
-						pool_id: ::core::primitive::u32,
-						change_rate: runtime_types::pallet_nomination_pools::CommissionChangeRate<
-							::core::primitive::u32,
-						>,
-					},
-					#[codec(index = 14)]
-					PoolCommissionClaimed {
-						pool_id: ::core::primitive::u32,
-						commission: ::core::primitive::u128,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum BondExtra<_0> {
-				#[codec(index = 0)]
-				FreeBalance(_0),
-				#[codec(index = 1)]
-				Rewards,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BondedPoolInner {
-				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<
-					::sp_core::crypto::AccountId32,
-				>,
-				pub state: runtime_types::pallet_nomination_pools::PoolState,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ClaimPermission {
-				#[codec(index = 0)]
-				Permissioned,
-				#[codec(index = 1)]
-				PermissionlessCompound,
-				#[codec(index = 2)]
-				PermissionlessWithdraw,
-				#[codec(index = 3)]
-				PermissionlessAll,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Commission {
-				pub current: ::core::option::Option<(
-					runtime_types::sp_arithmetic::per_things::Perbill,
-					::sp_core::crypto::AccountId32,
-				)>,
-				pub max: ::core::option::Option<runtime_types::sp_arithmetic::per_things::Perbill>,
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct CommissionChangeRate<_0> {
-				pub max_increase: runtime_types::sp_arithmetic::per_things::Perbill,
-				pub min_delay: _0,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ConfigOp<_0> {
-				#[codec(index = 0)]
-				Noop,
-				#[codec(index = 1)]
-				Set(_0),
-				#[codec(index = 2)]
-				Remove,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct PoolMember {
-				pub pool_id: ::core::primitive::u32,
-				pub points: ::core::primitive::u128,
-				pub last_recorded_reward_counter:
-					runtime_types::sp_arithmetic::fixed_point::FixedU128,
-				pub unbonding_eras:
-					runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap<
-						::core::primitive::u32,
-						::core::primitive::u128,
-					>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct PoolRoles<_0> {
-				pub depositor: _0,
-				pub root: ::core::option::Option<_0>,
-				pub nominator: ::core::option::Option<_0>,
-				pub bouncer: ::core::option::Option<_0>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum PoolState {
-				#[codec(index = 0)]
-				Open,
-				#[codec(index = 1)]
-				Blocked,
-				#[codec(index = 2)]
-				Destroying,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RewardPool {
-				pub last_recorded_reward_counter:
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct SubPools {
-				pub no_era: 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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct UnbondPool {
-				pub points: ::core::primitive::u128,
-				pub balance: ::core::primitive::u128,
-			}
-		}
-		pub mod pallet_offences {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Offence {
-						kind: [::core::primitive::u8; 16usize],
-						timeslot: ::std::vec::Vec<::core::primitive::u8>,
-					},
-				}
-			}
-		}
-		pub mod pallet_preimage {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					note_preimage { bytes: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 1)]
-					unnote_preimage { hash: ::subxt::utils::H256 },
-					#[codec(index = 2)]
-					request_preimage { hash: ::subxt::utils::H256 },
-					#[codec(index = 3)]
-					unrequest_preimage { hash: ::subxt::utils::H256 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					TooBig,
-					#[codec(index = 1)]
-					AlreadyNoted,
-					#[codec(index = 2)]
-					NotAuthorized,
-					#[codec(index = 3)]
-					NotNoted,
-					#[codec(index = 4)]
-					Requested,
-					#[codec(index = 5)]
-					NotRequested,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Noted { hash: ::subxt::utils::H256 },
-					#[codec(index = 1)]
-					Requested { hash: ::subxt::utils::H256 },
-					#[codec(index = 2)]
-					Cleared { hash: ::subxt::utils::H256 },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RequestStatus<_0, _1> {
-				#[codec(index = 0)]
-				Unrequested { deposit: (_0, _1), len: ::core::primitive::u32 },
-				#[codec(index = 1)]
-				Requested {
-					deposit: ::core::option::Option<(_0, _1)>,
-					count: ::core::primitive::u32,
-					len: ::core::option::Option<::core::primitive::u32>,
-				},
-			}
-		}
-		pub mod pallet_proxy {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					proxy {
-						real: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						force_proxy_type:
-							::core::option::Option<runtime_types::kusama_runtime::ProxyType>,
-						call: ::std::boxed::Box<runtime_types::kusama_runtime::RuntimeCall>,
-					},
-					#[codec(index = 1)]
-					add_proxy {
-						delegate: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						proxy_type: runtime_types::kusama_runtime::ProxyType,
-						delay: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					remove_proxy {
-						delegate: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						proxy_type: runtime_types::kusama_runtime::ProxyType,
-						delay: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					remove_proxies,
-					#[codec(index = 4)]
-					create_pure {
-						proxy_type: runtime_types::kusama_runtime::ProxyType,
-						delay: ::core::primitive::u32,
-						index: ::core::primitive::u16,
-					},
-					#[codec(index = 5)]
-					kill_pure {
-						spawner: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						proxy_type: runtime_types::kusama_runtime::ProxyType,
-						index: ::core::primitive::u16,
-						#[codec(compact)]
-						height: ::core::primitive::u32,
-						#[codec(compact)]
-						ext_index: ::core::primitive::u32,
-					},
-					#[codec(index = 6)]
-					announce {
-						real: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						call_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 7)]
-					remove_announcement {
-						real: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						call_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 8)]
-					reject_announcement {
-						delegate: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						call_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 9)]
-					proxy_announced {
-						delegate: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						real: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						force_proxy_type:
-							::core::option::Option<runtime_types::kusama_runtime::ProxyType>,
-						call: ::std::boxed::Box<runtime_types::kusama_runtime::RuntimeCall>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					TooMany,
-					#[codec(index = 1)]
-					NotFound,
-					#[codec(index = 2)]
-					NotProxy,
-					#[codec(index = 3)]
-					Unproxyable,
-					#[codec(index = 4)]
-					Duplicate,
-					#[codec(index = 5)]
-					NoPermission,
-					#[codec(index = 6)]
-					Unannounced,
-					#[codec(index = 7)]
-					NoSelfProxy,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					ProxyExecuted {
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 1)]
-					PureCreated {
-						pure: ::sp_core::crypto::AccountId32,
-						who: ::sp_core::crypto::AccountId32,
-						proxy_type: runtime_types::kusama_runtime::ProxyType,
-						disambiguation_index: ::core::primitive::u16,
-					},
-					#[codec(index = 2)]
-					Announced {
-						real: ::sp_core::crypto::AccountId32,
-						proxy: ::sp_core::crypto::AccountId32,
-						call_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 3)]
-					ProxyAdded {
-						delegator: ::sp_core::crypto::AccountId32,
-						delegatee: ::sp_core::crypto::AccountId32,
-						proxy_type: runtime_types::kusama_runtime::ProxyType,
-						delay: ::core::primitive::u32,
-					},
-					#[codec(index = 4)]
-					ProxyRemoved {
-						delegator: ::sp_core::crypto::AccountId32,
-						delegatee: ::sp_core::crypto::AccountId32,
-						proxy_type: runtime_types::kusama_runtime::ProxyType,
-						delay: ::core::primitive::u32,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Announcement<_0, _1, _2> {
-				pub real: _0,
-				pub call_hash: _1,
-				pub height: _2,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ProxyDefinition<_0, _1, _2> {
-				pub delegate: _0,
-				pub proxy_type: _1,
-				pub delay: _2,
-			}
-		}
-		pub mod pallet_ranked_collective {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					add_member {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 1)]
-					promote_member {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 2)]
-					demote_member {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 3)]
-					remove_member {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						min_rank: ::core::primitive::u16,
-					},
-					#[codec(index = 4)]
-					vote { poll: ::core::primitive::u32, aye: ::core::primitive::bool },
-					#[codec(index = 5)]
-					cleanup_poll { poll_index: ::core::primitive::u32, max: ::core::primitive::u32 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					AlreadyMember,
-					#[codec(index = 1)]
-					NotMember,
-					#[codec(index = 2)]
-					NotPolling,
-					#[codec(index = 3)]
-					Ongoing,
-					#[codec(index = 4)]
-					NoneRemaining,
-					#[codec(index = 5)]
-					Corruption,
-					#[codec(index = 6)]
-					RankTooLow,
-					#[codec(index = 7)]
-					InvalidWitness,
-					#[codec(index = 8)]
-					NoPermission,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					MemberAdded { who: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 1)]
-					RankChanged {
-						who: ::sp_core::crypto::AccountId32,
-						rank: ::core::primitive::u16,
-					},
-					#[codec(index = 2)]
-					MemberRemoved {
-						who: ::sp_core::crypto::AccountId32,
-						rank: ::core::primitive::u16,
-					},
-					#[codec(index = 3)]
-					Voted {
-						who: ::sp_core::crypto::AccountId32,
-						poll: ::core::primitive::u32,
-						vote: runtime_types::pallet_ranked_collective::VoteRecord,
-						tally: runtime_types::pallet_ranked_collective::Tally,
-					},
-				}
-			}
-			#[derive(
-				:: codec :: Decode,
-				:: codec :: Encode,
-				:: subxt :: ext :: codec :: CompactAs,
-				Clone,
-				Debug,
-				PartialEq,
-			)]
-			pub struct MemberRecord {
-				pub rank: ::core::primitive::u16,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Tally {
-				pub bare_ayes: ::core::primitive::u32,
-				pub ayes: ::core::primitive::u32,
-				pub nays: ::core::primitive::u32,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VoteRecord {
-				#[codec(index = 0)]
-				Aye(::core::primitive::u32),
-				#[codec(index = 1)]
-				Nay(::core::primitive::u32),
-			}
-		}
-		pub mod pallet_recovery {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					as_recovered {
-						account: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						call: ::std::boxed::Box<runtime_types::kusama_runtime::RuntimeCall>,
-					},
-					#[codec(index = 1)]
-					set_recovered {
-						lost: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						rescuer: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 2)]
-					create_recovery {
-						friends: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						threshold: ::core::primitive::u16,
-						delay_period: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					initiate_recovery {
-						account: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 4)]
-					vouch_recovery {
-						lost: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						rescuer: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 5)]
-					claim_recovery {
-						account: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 6)]
-					close_recovery {
-						rescuer: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 7)]
-					remove_recovery,
-					#[codec(index = 8)]
-					cancel_recovered {
-						account: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotAllowed,
-					#[codec(index = 1)]
-					ZeroThreshold,
-					#[codec(index = 2)]
-					NotEnoughFriends,
-					#[codec(index = 3)]
-					MaxFriends,
-					#[codec(index = 4)]
-					NotSorted,
-					#[codec(index = 5)]
-					NotRecoverable,
-					#[codec(index = 6)]
-					AlreadyRecoverable,
-					#[codec(index = 7)]
-					AlreadyStarted,
-					#[codec(index = 8)]
-					NotStarted,
-					#[codec(index = 9)]
-					NotFriend,
-					#[codec(index = 10)]
-					DelayPeriod,
-					#[codec(index = 11)]
-					AlreadyVouched,
-					#[codec(index = 12)]
-					Threshold,
-					#[codec(index = 13)]
-					StillActive,
-					#[codec(index = 14)]
-					AlreadyProxy,
-					#[codec(index = 15)]
-					BadState,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					RecoveryCreated { account: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 1)]
-					RecoveryInitiated {
-						lost_account: ::sp_core::crypto::AccountId32,
-						rescuer_account: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 2)]
-					RecoveryVouched {
-						lost_account: ::sp_core::crypto::AccountId32,
-						rescuer_account: ::sp_core::crypto::AccountId32,
-						sender: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 3)]
-					RecoveryClosed {
-						lost_account: ::sp_core::crypto::AccountId32,
-						rescuer_account: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 4)]
-					AccountRecovered {
-						lost_account: ::sp_core::crypto::AccountId32,
-						rescuer_account: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 5)]
-					RecoveryRemoved { lost_account: ::sp_core::crypto::AccountId32 },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ActiveRecovery<_0, _1, _2> {
-				pub created: _0,
-				pub deposit: _1,
-				pub friends: _2,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RecoveryConfig<_0, _1, _2> {
-				pub delay_period: _0,
-				pub deposit: _1,
-				pub friends: _2,
-				pub threshold: ::core::primitive::u16,
-			}
-		}
-		pub mod pallet_referenda {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					submit {
-						proposal_origin:
-							::std::boxed::Box<runtime_types::kusama_runtime::OriginCaller>,
-						proposal: runtime_types::frame_support::traits::preimages::Bounded<
-							runtime_types::kusama_runtime::RuntimeCall,
-						>,
-						enactment_moment:
-							runtime_types::frame_support::traits::schedule::DispatchTime<
-								::core::primitive::u32,
-							>,
-					},
-					#[codec(index = 1)]
-					place_decision_deposit { index: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					refund_decision_deposit { index: ::core::primitive::u32 },
-					#[codec(index = 3)]
-					cancel { index: ::core::primitive::u32 },
-					#[codec(index = 4)]
-					kill { index: ::core::primitive::u32 },
-					#[codec(index = 5)]
-					nudge_referendum { index: ::core::primitive::u32 },
-					#[codec(index = 6)]
-					one_fewer_deciding { track: ::core::primitive::u16 },
-					#[codec(index = 7)]
-					refund_submission_deposit { index: ::core::primitive::u32 },
-					#[codec(index = 8)]
-					set_metadata {
-						index: ::core::primitive::u32,
-						maybe_hash: ::core::option::Option<::subxt::utils::H256>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotOngoing,
-					#[codec(index = 1)]
-					HasDeposit,
-					#[codec(index = 2)]
-					BadTrack,
-					#[codec(index = 3)]
-					Full,
-					#[codec(index = 4)]
-					QueueEmpty,
-					#[codec(index = 5)]
-					BadReferendum,
-					#[codec(index = 6)]
-					NothingToDo,
-					#[codec(index = 7)]
-					NoTrack,
-					#[codec(index = 8)]
-					Unfinished,
-					#[codec(index = 9)]
-					NoPermission,
-					#[codec(index = 10)]
-					NoDeposit,
-					#[codec(index = 11)]
-					BadStatus,
-					#[codec(index = 12)]
-					PreimageNotExist,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Submitted {
-						index: ::core::primitive::u32,
-						track: ::core::primitive::u16,
-						proposal: runtime_types::frame_support::traits::preimages::Bounded<
-							runtime_types::kusama_runtime::RuntimeCall,
-						>,
-					},
-					#[codec(index = 1)]
-					DecisionDepositPlaced {
-						index: ::core::primitive::u32,
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					DecisionDepositRefunded {
-						index: ::core::primitive::u32,
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					DepositSlashed {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					DecisionStarted {
-						index: ::core::primitive::u32,
-						track: ::core::primitive::u16,
-						proposal: runtime_types::frame_support::traits::preimages::Bounded<
-							runtime_types::kusama_runtime::RuntimeCall,
-						>,
-						tally: runtime_types::pallet_ranked_collective::Tally,
-					},
-					#[codec(index = 5)]
-					ConfirmStarted { index: ::core::primitive::u32 },
-					#[codec(index = 6)]
-					ConfirmAborted { index: ::core::primitive::u32 },
-					#[codec(index = 7)]
-					Confirmed {
-						index: ::core::primitive::u32,
-						tally: runtime_types::pallet_ranked_collective::Tally,
-					},
-					#[codec(index = 8)]
-					Approved { index: ::core::primitive::u32 },
-					#[codec(index = 9)]
-					Rejected {
-						index: ::core::primitive::u32,
-						tally: runtime_types::pallet_ranked_collective::Tally,
-					},
-					#[codec(index = 10)]
-					TimedOut {
-						index: ::core::primitive::u32,
-						tally: runtime_types::pallet_ranked_collective::Tally,
-					},
-					#[codec(index = 11)]
-					Cancelled {
-						index: ::core::primitive::u32,
-						tally: runtime_types::pallet_ranked_collective::Tally,
-					},
-					#[codec(index = 12)]
-					Killed {
-						index: ::core::primitive::u32,
-						tally: runtime_types::pallet_ranked_collective::Tally,
-					},
-					#[codec(index = 13)]
-					SubmissionDepositRefunded {
-						index: ::core::primitive::u32,
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 14)]
-					MetadataSet { index: ::core::primitive::u32, hash: ::subxt::utils::H256 },
-					#[codec(index = 15)]
-					MetadataCleared { index: ::core::primitive::u32, hash: ::subxt::utils::H256 },
-				}
-			}
-			pub mod types {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DecidingStatus<_0> {
-					pub since: _0,
-					pub confirming: ::core::option::Option<_0>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Deposit<_0, _1> {
-					pub who: _0,
-					pub amount: _1,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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 {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					schedule {
-						when: ::core::primitive::u32,
-						maybe_periodic: ::core::option::Option<(
-							::core::primitive::u32,
-							::core::primitive::u32,
-						)>,
-						priority: ::core::primitive::u8,
-						call: ::std::boxed::Box<runtime_types::kusama_runtime::RuntimeCall>,
-					},
-					#[codec(index = 1)]
-					cancel { when: ::core::primitive::u32, index: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					schedule_named {
-						id: [::core::primitive::u8; 32usize],
-						when: ::core::primitive::u32,
-						maybe_periodic: ::core::option::Option<(
-							::core::primitive::u32,
-							::core::primitive::u32,
-						)>,
-						priority: ::core::primitive::u8,
-						call: ::std::boxed::Box<runtime_types::kusama_runtime::RuntimeCall>,
-					},
-					#[codec(index = 3)]
-					cancel_named { id: [::core::primitive::u8; 32usize] },
-					#[codec(index = 4)]
-					schedule_after {
-						after: ::core::primitive::u32,
-						maybe_periodic: ::core::option::Option<(
-							::core::primitive::u32,
-							::core::primitive::u32,
-						)>,
-						priority: ::core::primitive::u8,
-						call: ::std::boxed::Box<runtime_types::kusama_runtime::RuntimeCall>,
-					},
-					#[codec(index = 5)]
-					schedule_named_after {
-						id: [::core::primitive::u8; 32usize],
-						after: ::core::primitive::u32,
-						maybe_periodic: ::core::option::Option<(
-							::core::primitive::u32,
-							::core::primitive::u32,
-						)>,
-						priority: ::core::primitive::u8,
-						call: ::std::boxed::Box<runtime_types::kusama_runtime::RuntimeCall>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					FailedToSchedule,
-					#[codec(index = 1)]
-					NotFound,
-					#[codec(index = 2)]
-					TargetBlockNumberInPast,
-					#[codec(index = 3)]
-					RescheduleNoChange,
-					#[codec(index = 4)]
-					Named,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Scheduled { when: ::core::primitive::u32, index: ::core::primitive::u32 },
-					#[codec(index = 1)]
-					Canceled { when: ::core::primitive::u32, index: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					Dispatched {
-						task: (::core::primitive::u32, ::core::primitive::u32),
-						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 3)]
-					CallUnavailable {
-						task: (::core::primitive::u32, ::core::primitive::u32),
-						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
-					},
-					#[codec(index = 4)]
-					PeriodicFailed {
-						task: (::core::primitive::u32, ::core::primitive::u32),
-						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
-					},
-					#[codec(index = 5)]
-					PermanentlyOverweight {
-						task: (::core::primitive::u32, ::core::primitive::u32),
-						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Scheduled<_0, _1, _2, _3, _4> {
-				pub maybe_id: ::core::option::Option<_0>,
-				pub priority: ::core::primitive::u8,
-				pub call: _1,
-				pub maybe_periodic: ::core::option::Option<(_2, _2)>,
-				pub origin: _3,
-				#[codec(skip)]
-				pub __subxt_unused_type_params: ::core::marker::PhantomData<_4>,
-			}
-		}
-		pub mod pallet_session {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					set_keys {
-						keys: runtime_types::kusama_runtime::SessionKeys,
-						proof: ::std::vec::Vec<::core::primitive::u8>,
-					},
-					#[codec(index = 1)]
-					purge_keys,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidProof,
-					#[codec(index = 1)]
-					NoAssociatedValidatorId,
-					#[codec(index = 2)]
-					DuplicatedKey,
-					#[codec(index = 3)]
-					NoKeys,
-					#[codec(index = 4)]
-					NoAccount,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewSession { session_index: ::core::primitive::u32 },
-				}
-			}
-		}
-		pub mod pallet_society {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					bid { value: ::core::primitive::u128 },
-					#[codec(index = 1)]
-					unbid { pos: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					vouch {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						value: ::core::primitive::u128,
-						tip: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					unvouch { pos: ::core::primitive::u32 },
-					#[codec(index = 4)]
-					vote {
-						candidate: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						approve: ::core::primitive::bool,
-					},
-					#[codec(index = 5)]
-					defender_vote { approve: ::core::primitive::bool },
-					#[codec(index = 6)]
-					payout,
-					#[codec(index = 7)]
-					found {
-						founder: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						max_members: ::core::primitive::u32,
-						rules: ::std::vec::Vec<::core::primitive::u8>,
-					},
-					#[codec(index = 8)]
-					unfound,
-					#[codec(index = 9)]
-					judge_suspended_member {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						forgive: ::core::primitive::bool,
-					},
-					#[codec(index = 10)]
-					judge_suspended_candidate {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						judgement: runtime_types::pallet_society::Judgement,
-					},
-					#[codec(index = 11)]
-					set_max_members { max: ::core::primitive::u32 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					BadPosition,
-					#[codec(index = 1)]
-					NotMember,
-					#[codec(index = 2)]
-					AlreadyMember,
-					#[codec(index = 3)]
-					Suspended,
-					#[codec(index = 4)]
-					NotSuspended,
-					#[codec(index = 5)]
-					NoPayout,
-					#[codec(index = 6)]
-					AlreadyFounded,
-					#[codec(index = 7)]
-					InsufficientPot,
-					#[codec(index = 8)]
-					AlreadyVouching,
-					#[codec(index = 9)]
-					NotVouching,
-					#[codec(index = 10)]
-					Head,
-					#[codec(index = 11)]
-					Founder,
-					#[codec(index = 12)]
-					AlreadyBid,
-					#[codec(index = 13)]
-					AlreadyCandidate,
-					#[codec(index = 14)]
-					NotCandidate,
-					#[codec(index = 15)]
-					MaxMembers,
-					#[codec(index = 16)]
-					NotFounder,
-					#[codec(index = 17)]
-					NotHead,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Founded { founder: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 1)]
-					Bid {
-						candidate_id: ::sp_core::crypto::AccountId32,
-						offer: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					Vouch {
-						candidate_id: ::sp_core::crypto::AccountId32,
-						offer: ::core::primitive::u128,
-						vouching: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 3)]
-					AutoUnbid { candidate: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 4)]
-					Unbid { candidate: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 5)]
-					Unvouch { candidate: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 6)]
-					Inducted {
-						primary: ::sp_core::crypto::AccountId32,
-						candidates: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-					},
-					#[codec(index = 7)]
-					SuspendedMemberJudgement {
-						who: ::sp_core::crypto::AccountId32,
-						judged: ::core::primitive::bool,
-					},
-					#[codec(index = 8)]
-					CandidateSuspended { candidate: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 9)]
-					MemberSuspended { member: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 10)]
-					Challenged { member: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 11)]
-					Vote {
-						candidate: ::sp_core::crypto::AccountId32,
-						voter: ::sp_core::crypto::AccountId32,
-						vote: ::core::primitive::bool,
-					},
-					#[codec(index = 12)]
-					DefenderVote {
-						voter: ::sp_core::crypto::AccountId32,
-						vote: ::core::primitive::bool,
-					},
-					#[codec(index = 13)]
-					NewMaxMembers { max: ::core::primitive::u32 },
-					#[codec(index = 14)]
-					Unfounded { founder: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 15)]
-					Deposit { value: ::core::primitive::u128 },
-					#[codec(index = 16)]
-					SkepticsChosen { skeptics: ::std::vec::Vec<::sp_core::crypto::AccountId32> },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Bid<_0, _1> {
-				pub who: _0,
-				pub kind: runtime_types::pallet_society::BidKind<_0, _1>,
-				pub value: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum BidKind<_0, _1> {
-				#[codec(index = 0)]
-				Deposit(_1),
-				#[codec(index = 1)]
-				Vouch(_0, _1),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Judgement {
-				#[codec(index = 0)]
-				Rebid,
-				#[codec(index = 1)]
-				Reject,
-				#[codec(index = 2)]
-				Approve,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Vote {
-				#[codec(index = 0)]
-				Skeptic,
-				#[codec(index = 1)]
-				Reject,
-				#[codec(index = 2)]
-				Approve,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VouchingStatus {
-				#[codec(index = 0)]
-				Vouching,
-				#[codec(index = 1)]
-				Banned,
-			}
-		}
-		pub mod pallet_staking {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						bond {
-							#[codec(compact)]
-							value: ::core::primitive::u128,
-							payee: runtime_types::pallet_staking::RewardDestination<
-								::sp_core::crypto::AccountId32,
-							>,
-						},
-						#[codec(index = 1)]
-						bond_extra {
-							#[codec(compact)]
-							max_additional: ::core::primitive::u128,
-						},
-						#[codec(index = 2)]
-						unbond {
-							#[codec(compact)]
-							value: ::core::primitive::u128,
-						},
-						#[codec(index = 3)]
-						withdraw_unbonded { num_slashing_spans: ::core::primitive::u32 },
-						#[codec(index = 4)]
-						validate { prefs: runtime_types::pallet_staking::ValidatorPrefs },
-						#[codec(index = 5)]
-						nominate {
-							targets: ::std::vec::Vec<
-								::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-							>,
-						},
-						#[codec(index = 6)]
-						chill,
-						#[codec(index = 7)]
-						set_payee {
-							payee: runtime_types::pallet_staking::RewardDestination<
-								::sp_core::crypto::AccountId32,
-							>,
-						},
-						#[codec(index = 8)]
-						set_controller,
-						#[codec(index = 9)]
-						set_validator_count {
-							#[codec(compact)]
-							new: ::core::primitive::u32,
-						},
-						#[codec(index = 10)]
-						increase_validator_count {
-							#[codec(compact)]
-							additional: ::core::primitive::u32,
-						},
-						#[codec(index = 11)]
-						scale_validator_count {
-							factor: runtime_types::sp_arithmetic::per_things::Percent,
-						},
-						#[codec(index = 12)]
-						force_no_eras,
-						#[codec(index = 13)]
-						force_new_era,
-						#[codec(index = 14)]
-						set_invulnerables {
-							invulnerables: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						},
-						#[codec(index = 15)]
-						force_unstake {
-							stash: ::sp_core::crypto::AccountId32,
-							num_slashing_spans: ::core::primitive::u32,
-						},
-						#[codec(index = 16)]
-						force_new_era_always,
-						#[codec(index = 17)]
-						cancel_deferred_slash {
-							era: ::core::primitive::u32,
-							slash_indices: ::std::vec::Vec<::core::primitive::u32>,
-						},
-						#[codec(index = 18)]
-						payout_stakers {
-							validator_stash: ::sp_core::crypto::AccountId32,
-							era: ::core::primitive::u32,
-						},
-						#[codec(index = 19)]
-						rebond {
-							#[codec(compact)]
-							value: ::core::primitive::u128,
-						},
-						#[codec(index = 20)]
-						reap_stash {
-							stash: ::sp_core::crypto::AccountId32,
-							num_slashing_spans: ::core::primitive::u32,
-						},
-						#[codec(index = 21)]
-						kick {
-							who: ::std::vec::Vec<
-								::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-							>,
-						},
-						#[codec(index = 22)]
-						set_staking_configs {
-							min_nominator_bond:
-								runtime_types::pallet_staking::pallet::pallet::ConfigOp<
-									::core::primitive::u128,
-								>,
-							min_validator_bond:
-								runtime_types::pallet_staking::pallet::pallet::ConfigOp<
-									::core::primitive::u128,
-								>,
-							max_nominator_count:
-								runtime_types::pallet_staking::pallet::pallet::ConfigOp<
-									::core::primitive::u32,
-								>,
-							max_validator_count:
-								runtime_types::pallet_staking::pallet::pallet::ConfigOp<
-									::core::primitive::u32,
-								>,
-							chill_threshold:
-								runtime_types::pallet_staking::pallet::pallet::ConfigOp<
-									runtime_types::sp_arithmetic::per_things::Percent,
-								>,
-							min_commission: runtime_types::pallet_staking::pallet::pallet::ConfigOp<
-								runtime_types::sp_arithmetic::per_things::Perbill,
-							>,
-						},
-						#[codec(index = 23)]
-						chill_other { controller: ::sp_core::crypto::AccountId32 },
-						#[codec(index = 24)]
-						force_apply_min_commission {
-							validator_stash: ::sp_core::crypto::AccountId32,
-						},
-						#[codec(index = 25)]
-						set_min_commission {
-							new: runtime_types::sp_arithmetic::per_things::Perbill,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum ConfigOp<_0> {
-						#[codec(index = 0)]
-						Noop,
-						#[codec(index = 1)]
-						Set(_0),
-						#[codec(index = 2)]
-						Remove,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						NotController,
-						#[codec(index = 1)]
-						NotStash,
-						#[codec(index = 2)]
-						AlreadyBonded,
-						#[codec(index = 3)]
-						AlreadyPaired,
-						#[codec(index = 4)]
-						EmptyTargets,
-						#[codec(index = 5)]
-						DuplicateIndex,
-						#[codec(index = 6)]
-						InvalidSlashIndex,
-						#[codec(index = 7)]
-						InsufficientBond,
-						#[codec(index = 8)]
-						NoMoreChunks,
-						#[codec(index = 9)]
-						NoUnlockChunk,
-						#[codec(index = 10)]
-						FundedTarget,
-						#[codec(index = 11)]
-						InvalidEraToReward,
-						#[codec(index = 12)]
-						InvalidNumberOfNominations,
-						#[codec(index = 13)]
-						NotSortedAndUnique,
-						#[codec(index = 14)]
-						AlreadyClaimed,
-						#[codec(index = 15)]
-						IncorrectHistoryDepth,
-						#[codec(index = 16)]
-						IncorrectSlashingSpans,
-						#[codec(index = 17)]
-						BadState,
-						#[codec(index = 18)]
-						TooManyTargets,
-						#[codec(index = 19)]
-						BadTarget,
-						#[codec(index = 20)]
-						CannotChillOther,
-						#[codec(index = 21)]
-						TooManyNominators,
-						#[codec(index = 22)]
-						TooManyValidators,
-						#[codec(index = 23)]
-						CommissionTooLow,
-						#[codec(index = 24)]
-						BoundNotMet,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						EraPaid {
-							era_index: ::core::primitive::u32,
-							validator_payout: ::core::primitive::u128,
-							remainder: ::core::primitive::u128,
-						},
-						#[codec(index = 1)]
-						Rewarded {
-							stash: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 2)]
-						Slashed {
-							staker: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 3)]
-						SlashReported {
-							validator: ::sp_core::crypto::AccountId32,
-							fraction: runtime_types::sp_arithmetic::per_things::Perbill,
-							slash_era: ::core::primitive::u32,
-						},
-						#[codec(index = 4)]
-						OldSlashingReportDiscarded { session_index: ::core::primitive::u32 },
-						#[codec(index = 5)]
-						StakersElected,
-						#[codec(index = 6)]
-						Bonded {
-							stash: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 7)]
-						Unbonded {
-							stash: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 8)]
-						Withdrawn {
-							stash: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 9)]
-						Kicked {
-							nominator: ::sp_core::crypto::AccountId32,
-							stash: ::sp_core::crypto::AccountId32,
-						},
-						#[codec(index = 10)]
-						StakingElectionFailed,
-						#[codec(index = 11)]
-						Chilled { stash: ::sp_core::crypto::AccountId32 },
-						#[codec(index = 12)]
-						PayoutStarted {
-							era_index: ::core::primitive::u32,
-							validator_stash: ::sp_core::crypto::AccountId32,
-						},
-						#[codec(index = 13)]
-						ValidatorPrefsSet {
-							stash: ::sp_core::crypto::AccountId32,
-							prefs: runtime_types::pallet_staking::ValidatorPrefs,
-						},
-						#[codec(index = 14)]
-						ForceEra { mode: runtime_types::pallet_staking::Forcing },
-					}
-				}
-			}
-			pub mod slashing {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SlashingSpans {
-					pub span_index: ::core::primitive::u32,
-					pub last_start: ::core::primitive::u32,
-					pub last_nonzero_slash: ::core::primitive::u32,
-					pub prior: ::std::vec::Vec<::core::primitive::u32>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SpanRecord<_0> {
-					pub slashed: _0,
-					pub paid_out: _0,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ActiveEraInfo {
-				pub index: ::core::primitive::u32,
-				pub start: ::core::option::Option<::core::primitive::u64>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct EraRewardPoints<_0> {
-				pub total: ::core::primitive::u32,
-				pub individual: ::subxt::utils::KeyedVec<_0, ::core::primitive::u32>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Exposure<_0, _1> {
-				#[codec(compact)]
-				pub total: _1,
-				#[codec(compact)]
-				pub own: _1,
-				pub others:
-					::std::vec::Vec<runtime_types::pallet_staking::IndividualExposure<_0, _1>>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Forcing {
-				#[codec(index = 0)]
-				NotForcing,
-				#[codec(index = 1)]
-				ForceNew,
-				#[codec(index = 2)]
-				ForceNone,
-				#[codec(index = 3)]
-				ForceAlways,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct IndividualExposure<_0, _1> {
-				pub who: _0,
-				#[codec(compact)]
-				pub value: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Nominations {
-				pub targets: runtime_types::bounded_collections::bounded_vec::BoundedVec<
-					::sp_core::crypto::AccountId32,
-				>,
-				pub submitted_in: ::core::primitive::u32,
-				pub suppressed: ::core::primitive::bool,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RewardDestination<_0> {
-				#[codec(index = 0)]
-				Staked,
-				#[codec(index = 1)]
-				Stash,
-				#[codec(index = 2)]
-				Controller,
-				#[codec(index = 3)]
-				Account(_0),
-				#[codec(index = 4)]
-				None,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct StakingLedger {
-				pub stash: ::sp_core::crypto::AccountId32,
-				#[codec(compact)]
-				pub total: ::core::primitive::u128,
-				#[codec(compact)]
-				pub active: ::core::primitive::u128,
-				pub unlocking: runtime_types::bounded_collections::bounded_vec::BoundedVec<
-					runtime_types::pallet_staking::UnlockChunk<::core::primitive::u128>,
-				>,
-				pub claimed_rewards: runtime_types::bounded_collections::bounded_vec::BoundedVec<
-					::core::primitive::u32,
-				>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct UnappliedSlash<_0, _1> {
-				pub validator: _0,
-				pub own: _1,
-				pub others: ::std::vec::Vec<(_0, _1)>,
-				pub reporters: ::std::vec::Vec<_0>,
-				pub payout: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct UnlockChunk<_0> {
-				#[codec(compact)]
-				pub value: _0,
-				#[codec(compact)]
-				pub era: ::core::primitive::u32,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ValidatorPrefs {
-				#[codec(compact)]
-				pub commission: runtime_types::sp_arithmetic::per_things::Perbill,
-				pub blocked: ::core::primitive::bool,
-			}
-		}
-		pub mod pallet_timestamp {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					set {
-						#[codec(compact)]
-						now: ::core::primitive::u64,
-					},
-				}
-			}
-		}
-		pub mod pallet_transaction_payment {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					TransactionFeePaid {
-						who: ::sp_core::crypto::AccountId32,
-						actual_fee: ::core::primitive::u128,
-						tip: ::core::primitive::u128,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ChargeTransactionPayment(#[codec(compact)] pub ::core::primitive::u128);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Releases {
-				#[codec(index = 0)]
-				V1Ancient,
-				#[codec(index = 1)]
-				V2,
-			}
-		}
-		pub mod pallet_treasury {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					propose_spend {
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-						beneficiary:
-							::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 1)]
-					reject_proposal {
-						#[codec(compact)]
-						proposal_id: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					approve_proposal {
-						#[codec(compact)]
-						proposal_id: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					spend {
-						#[codec(compact)]
-						amount: ::core::primitive::u128,
-						beneficiary:
-							::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 4)]
-					remove_approval {
-						#[codec(compact)]
-						proposal_id: ::core::primitive::u32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InsufficientProposersBalance,
-					#[codec(index = 1)]
-					InvalidIndex,
-					#[codec(index = 2)]
-					TooManyApprovals,
-					#[codec(index = 3)]
-					InsufficientPermission,
-					#[codec(index = 4)]
-					ProposalNotApproved,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Proposed { proposal_index: ::core::primitive::u32 },
-					#[codec(index = 1)]
-					Spending { budget_remaining: ::core::primitive::u128 },
-					#[codec(index = 2)]
-					Awarded {
-						proposal_index: ::core::primitive::u32,
-						award: ::core::primitive::u128,
-						account: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 3)]
-					Rejected {
-						proposal_index: ::core::primitive::u32,
-						slashed: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					Burnt { burnt_funds: ::core::primitive::u128 },
-					#[codec(index = 5)]
-					Rollover { rollover_balance: ::core::primitive::u128 },
-					#[codec(index = 6)]
-					Deposit { value: ::core::primitive::u128 },
-					#[codec(index = 7)]
-					SpendApproved {
-						proposal_index: ::core::primitive::u32,
-						amount: ::core::primitive::u128,
-						beneficiary: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 8)]
-					UpdatedInactive {
-						reactivated: ::core::primitive::u128,
-						deactivated: ::core::primitive::u128,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Proposal<_0, _1> {
-				pub proposer: _0,
-				pub value: _1,
-				pub beneficiary: _0,
-				pub bond: _1,
-			}
-		}
-		pub mod pallet_utility {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					batch { calls: ::std::vec::Vec<runtime_types::kusama_runtime::RuntimeCall> },
-					#[codec(index = 1)]
-					as_derivative {
-						index: ::core::primitive::u16,
-						call: ::std::boxed::Box<runtime_types::kusama_runtime::RuntimeCall>,
-					},
-					#[codec(index = 2)]
-					batch_all { calls: ::std::vec::Vec<runtime_types::kusama_runtime::RuntimeCall> },
-					#[codec(index = 3)]
-					dispatch_as {
-						as_origin: ::std::boxed::Box<runtime_types::kusama_runtime::OriginCaller>,
-						call: ::std::boxed::Box<runtime_types::kusama_runtime::RuntimeCall>,
-					},
-					#[codec(index = 4)]
-					force_batch {
-						calls: ::std::vec::Vec<runtime_types::kusama_runtime::RuntimeCall>,
-					},
-					#[codec(index = 5)]
-					with_weight {
-						call: ::std::boxed::Box<runtime_types::kusama_runtime::RuntimeCall>,
-						weight: ::sp_weights::Weight,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					TooManyCalls,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					BatchInterrupted {
-						index: ::core::primitive::u32,
-						error: runtime_types::sp_runtime::DispatchError,
-					},
-					#[codec(index = 1)]
-					BatchCompleted,
-					#[codec(index = 2)]
-					BatchCompletedWithErrors,
-					#[codec(index = 3)]
-					ItemCompleted,
-					#[codec(index = 4)]
-					ItemFailed { error: runtime_types::sp_runtime::DispatchError },
-					#[codec(index = 5)]
-					DispatchedAs {
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-				}
-			}
-		}
-		pub mod pallet_vesting {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					vest,
-					#[codec(index = 1)]
-					vest_other {
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 2)]
-					vested_transfer {
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo<
-							::core::primitive::u128,
-							::core::primitive::u32,
-						>,
-					},
-					#[codec(index = 3)]
-					force_vested_transfer {
-						source: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo<
-							::core::primitive::u128,
-							::core::primitive::u32,
-						>,
-					},
-					#[codec(index = 4)]
-					merge_schedules {
-						schedule1_index: ::core::primitive::u32,
-						schedule2_index: ::core::primitive::u32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotVesting,
-					#[codec(index = 1)]
-					AtMaxVestingSchedules,
-					#[codec(index = 2)]
-					AmountLow,
-					#[codec(index = 3)]
-					ScheduleIndexOutOfBounds,
-					#[codec(index = 4)]
-					InvalidScheduleParams,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					VestingUpdated {
-						account: ::sp_core::crypto::AccountId32,
-						unvested: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					VestingCompleted { account: ::sp_core::crypto::AccountId32 },
-				}
-			}
-			pub mod vesting_info {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct VestingInfo<_0, _1> {
-					pub locked: _0,
-					pub per_block: _0,
-					pub starting_block: _1,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Releases {
-				#[codec(index = 0)]
-				V0,
-				#[codec(index = 1)]
-				V1,
-			}
-		}
-		pub mod pallet_whitelist {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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: ::sp_weights::Weight,
-					},
-					#[codec(index = 3)]
-					dispatch_whitelisted_call_with_preimage {
-						call: ::std::boxed::Box<runtime_types::kusama_runtime::RuntimeCall>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					UnavailablePreImage,
-					#[codec(index = 1)]
-					UndecodableCall,
-					#[codec(index = 2)]
-					InvalidCallWeightWitness,
-					#[codec(index = 3)]
-					CallIsNotWhitelisted,
-					#[codec(index = 4)]
-					CallAlreadyWhitelisted,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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 {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					send {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						message: ::std::boxed::Box<runtime_types::xcm::VersionedXcm>,
-					},
-					#[codec(index = 1)]
-					teleport_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedMultiAssets>,
-						fee_asset_item: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					reserve_transfer_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedMultiAssets>,
-						fee_asset_item: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					execute {
-						message: ::std::boxed::Box<runtime_types::xcm::VersionedXcm>,
-						max_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 4)]
-					force_xcm_version {
-						location:
-							::std::boxed::Box<runtime_types::xcm::v3::multilocation::MultiLocation>,
-						xcm_version: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					force_default_xcm_version {
-						maybe_xcm_version: ::core::option::Option<::core::primitive::u32>,
-					},
-					#[codec(index = 6)]
-					force_subscribe_version_notify {
-						location: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-					},
-					#[codec(index = 7)]
-					force_unsubscribe_version_notify {
-						location: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-					},
-					#[codec(index = 8)]
-					limited_reserve_transfer_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedMultiAssets>,
-						fee_asset_item: ::core::primitive::u32,
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-					},
-					#[codec(index = 9)]
-					limited_teleport_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedMultiAssets>,
-						fee_asset_item: ::core::primitive::u32,
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-					},
-					#[codec(index = 10)]
-					force_suspension { suspended: ::core::primitive::bool },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					Unreachable,
-					#[codec(index = 1)]
-					SendFailure,
-					#[codec(index = 2)]
-					Filtered,
-					#[codec(index = 3)]
-					UnweighableMessage,
-					#[codec(index = 4)]
-					DestinationNotInvertible,
-					#[codec(index = 5)]
-					Empty,
-					#[codec(index = 6)]
-					CannotReanchor,
-					#[codec(index = 7)]
-					TooManyAssets,
-					#[codec(index = 8)]
-					InvalidOrigin,
-					#[codec(index = 9)]
-					BadVersion,
-					#[codec(index = 10)]
-					BadLocation,
-					#[codec(index = 11)]
-					NoSubscription,
-					#[codec(index = 12)]
-					AlreadySubscribed,
-					#[codec(index = 13)]
-					InvalidAsset,
-					#[codec(index = 14)]
-					LowBalance,
-					#[codec(index = 15)]
-					TooManyLocks,
-					#[codec(index = 16)]
-					AccountNotSovereign,
-					#[codec(index = 17)]
-					FeesNotMet,
-					#[codec(index = 18)]
-					LockNotFound,
-					#[codec(index = 19)]
-					InUse,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Attempted(runtime_types::xcm::v3::traits::Outcome),
-					#[codec(index = 1)]
-					Sent(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::v3::Xcm,
-					),
-					#[codec(index = 2)]
-					UnexpectedResponse(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u64,
-					),
-					#[codec(index = 3)]
-					ResponseReady(::core::primitive::u64, runtime_types::xcm::v3::Response),
-					#[codec(index = 4)]
-					Notified(::core::primitive::u64, ::core::primitive::u8, ::core::primitive::u8),
-					#[codec(index = 5)]
-					NotifyOverweight(
-						::core::primitive::u64,
-						::core::primitive::u8,
-						::core::primitive::u8,
-						::sp_weights::Weight,
-						::sp_weights::Weight,
-					),
-					#[codec(index = 6)]
-					NotifyDispatchError(
-						::core::primitive::u64,
-						::core::primitive::u8,
-						::core::primitive::u8,
-					),
-					#[codec(index = 7)]
-					NotifyDecodeFailed(
-						::core::primitive::u64,
-						::core::primitive::u8,
-						::core::primitive::u8,
-					),
-					#[codec(index = 8)]
-					InvalidResponder(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u64,
-						::core::option::Option<
-							runtime_types::xcm::v3::multilocation::MultiLocation,
-						>,
-					),
-					#[codec(index = 9)]
-					InvalidResponderVersion(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u64,
-					),
-					#[codec(index = 10)]
-					ResponseTaken(::core::primitive::u64),
-					#[codec(index = 11)]
-					AssetsTrapped(
-						::subxt::utils::H256,
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::VersionedMultiAssets,
-					),
-					#[codec(index = 12)]
-					VersionChangeNotified(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u32,
-						runtime_types::xcm::v3::multiasset::MultiAssets,
-					),
-					#[codec(index = 13)]
-					SupportedVersionChanged(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u32,
-					),
-					#[codec(index = 14)]
-					NotifyTargetSendFail(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u64,
-						runtime_types::xcm::v3::traits::Error,
-					),
-					#[codec(index = 15)]
-					NotifyTargetMigrationFail(
-						runtime_types::xcm::VersionedMultiLocation,
-						::core::primitive::u64,
-					),
-					#[codec(index = 16)]
-					InvalidQuerierVersion(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u64,
-					),
-					#[codec(index = 17)]
-					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)]
-					VersionNotifyStarted(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::v3::multiasset::MultiAssets,
-					),
-					#[codec(index = 19)]
-					VersionNotifyRequested(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::v3::multiasset::MultiAssets,
-					),
-					#[codec(index = 20)]
-					VersionNotifyUnrequested(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::v3::multiasset::MultiAssets,
-					),
-					#[codec(index = 21)]
-					FeesPaid(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::v3::multiasset::MultiAssets,
-					),
-					#[codec(index = 22)]
-					AssetsClaimed(
-						::subxt::utils::H256,
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::VersionedMultiAssets,
-					),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Origin {
-					#[codec(index = 0)]
-					Xcm(runtime_types::xcm::v3::multilocation::MultiLocation),
-					#[codec(index = 1)]
-					Response(runtime_types::xcm::v3::multilocation::MultiLocation),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum QueryStatus<_0> {
-					#[codec(index = 0)]
-					Pending {
-						responder: runtime_types::xcm::VersionedMultiLocation,
-						maybe_match_querier:
-							::core::option::Option<runtime_types::xcm::VersionedMultiLocation>,
-						maybe_notify:
-							::core::option::Option<(::core::primitive::u8, ::core::primitive::u8)>,
-						timeout: _0,
-					},
-					#[codec(index = 1)]
-					VersionNotifier {
-						origin: runtime_types::xcm::VersionedMultiLocation,
-						is_active: ::core::primitive::bool,
-					},
-					#[codec(index = 2)]
-					Ready { response: runtime_types::xcm::VersionedResponse, at: _0 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RemoteLockedFungibleRecord<_0> {
-					pub amount: ::core::primitive::u128,
-					pub owner: runtime_types::xcm::VersionedMultiLocation,
-					pub locker: runtime_types::xcm::VersionedMultiLocation,
-					pub consumers: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-						_0,
-						::core::primitive::u128,
-					)>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum VersionMigrationStage {
-					#[codec(index = 0)]
-					MigrateSupportedVersion,
-					#[codec(index = 1)]
-					MigrateVersionNotifiers,
-					#[codec(index = 2)]
-					NotifyCurrentTargets(
-						::core::option::Option<::std::vec::Vec<::core::primitive::u8>>,
-					),
-					#[codec(index = 3)]
-					MigrateAndNotifyOldTargets,
-				}
-			}
-		}
-		pub mod polkadot_core_primitives {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct CandidateHash(pub ::subxt::utils::H256);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundDownwardMessage<_0> {
-				pub sent_at: _0,
-				pub msg: ::std::vec::Vec<::core::primitive::u8>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundHrmpMessage<_0> {
-				pub sent_at: _0,
-				pub data: ::std::vec::Vec<::core::primitive::u8>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OutboundHrmpMessage<_0> {
-				pub recipient: _0,
-				pub data: ::std::vec::Vec<::core::primitive::u8>,
-			}
-		}
-		pub mod polkadot_parachain {
-			use super::runtime_types;
-			pub mod primitives {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HeadData(pub ::std::vec::Vec<::core::primitive::u8>);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HrmpChannelId {
-					pub sender: runtime_types::polkadot_parachain::primitives::Id,
-					pub recipient: runtime_types::polkadot_parachain::primitives::Id,
-				}
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct Id(pub ::core::primitive::u32);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ValidationCode(pub ::std::vec::Vec<::core::primitive::u8>);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ValidationCodeHash(pub ::subxt::utils::H256);
-			}
-		}
-		pub mod polkadot_primitives {
-			use super::runtime_types;
-			pub mod v4 {
-				use super::runtime_types;
-				pub mod assignment_app {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-				}
-				pub mod collator_app {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Signature(pub runtime_types::sp_core::sr25519::Signature);
-				}
-				pub mod executor_params {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct ExecutorParams(
-						pub  ::std::vec::Vec<
-							runtime_types::polkadot_primitives::v4::executor_params::ExecutorParam,
-						>,
-					);
-				}
-				pub mod signed {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct UncheckedSigned<_0, _1> {
-						pub payload: _0,
-						pub validator_index: runtime_types::polkadot_primitives::v4::ValidatorIndex,
-						pub signature:
-							runtime_types::polkadot_primitives::v4::validator_app::Signature,
-						#[codec(skip)]
-						pub __subxt_unused_type_params: ::core::marker::PhantomData<_1>,
-					}
-				}
-				pub mod validator_app {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Signature(pub runtime_types::sp_core::sr25519::Signature);
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AvailabilityBitfield(
-					pub  ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-				);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BackedCandidate<_0> {
-					pub candidate:
-						runtime_types::polkadot_primitives::v4::CommittedCandidateReceipt<_0>,
-					pub validity_votes: ::std::vec::Vec<
-						runtime_types::polkadot_primitives::v4::ValidityAttestation,
-					>,
-					pub validator_indices: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CandidateCommitments<_0> {
-					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,
-					>,
-					pub head_data: runtime_types::polkadot_parachain::primitives::HeadData,
-					pub processed_downward_messages: _0,
-					pub hrmp_watermark: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CandidateDescriptor<_0> {
-					pub para_id: runtime_types::polkadot_parachain::primitives::Id,
-					pub relay_parent: _0,
-					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::v4::collator_app::Signature,
-					pub para_head: _0,
-					pub validation_code_hash:
-						runtime_types::polkadot_parachain::primitives::ValidationCodeHash,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CandidateReceipt<_0> {
-					pub descriptor: runtime_types::polkadot_primitives::v4::CandidateDescriptor<_0>,
-					pub commitments_hash: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CommittedCandidateReceipt<_0> {
-					pub descriptor: runtime_types::polkadot_primitives::v4::CandidateDescriptor<_0>,
-					pub commitments: runtime_types::polkadot_primitives::v4::CandidateCommitments<
-						::core::primitive::u32,
-					>,
-				}
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct CoreIndex(pub ::core::primitive::u32);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum CoreOccupied {
-					#[codec(index = 0)]
-					Parathread(runtime_types::polkadot_primitives::v4::ParathreadEntry),
-					#[codec(index = 1)]
-					Parachain,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DisputeState<_0> {
-					pub validators_for: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-					pub validators_against: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-					pub start: _0,
-					pub concluded_at: ::core::option::Option<_0>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum DisputeStatement {
-					#[codec(index = 0)]
-					Valid(runtime_types::polkadot_primitives::v4::ValidDisputeStatementKind),
-					#[codec(index = 1)]
-					Invalid(runtime_types::polkadot_primitives::v4::InvalidDisputeStatementKind),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DisputeStatementSet {
-					pub candidate_hash: runtime_types::polkadot_core_primitives::CandidateHash,
-					pub session: ::core::primitive::u32,
-					pub statements: ::std::vec::Vec<(
-						runtime_types::polkadot_primitives::v4::DisputeStatement,
-						runtime_types::polkadot_primitives::v4::ValidatorIndex,
-						runtime_types::polkadot_primitives::v4::validator_app::Signature,
-					)>,
-				}
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct GroupIndex(pub ::core::primitive::u32);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct IndexedVec<_0, _1>(
-					pub ::std::vec::Vec<_1>,
-					#[codec(skip)] pub ::core::marker::PhantomData<_0>,
-				);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct InherentData<_0> {
-					pub bitfields: ::std::vec::Vec<
-						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::v4::BackedCandidate<
-							::subxt::utils::H256,
-						>,
-					>,
-					pub disputes: ::std::vec::Vec<
-						runtime_types::polkadot_primitives::v4::DisputeStatementSet,
-					>,
-					pub parent_header: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum InvalidDisputeStatementKind {
-					#[codec(index = 0)]
-					Explicit,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParathreadClaim(
-					pub runtime_types::polkadot_parachain::primitives::Id,
-					pub runtime_types::polkadot_primitives::v4::collator_app::Public,
-				);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParathreadEntry {
-					pub claim: runtime_types::polkadot_primitives::v4::ParathreadClaim,
-					pub retries: ::core::primitive::u32,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PvfCheckStatement {
-					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::v4::ValidatorIndex,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum PvfExecTimeoutKind {
-					#[codec(index = 0)]
-					Backing,
-					#[codec(index = 1)]
-					Approval,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum PvfPrepTimeoutKind {
-					#[codec(index = 0)]
-					Precheck,
-					#[codec(index = 1)]
-					Lenient,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ScrapedOnChainVotes<_0> {
-					pub session: ::core::primitive::u32,
-					pub backing_validators_per_candidate: ::std::vec::Vec<(
-						runtime_types::polkadot_primitives::v4::CandidateReceipt<_0>,
-						::std::vec::Vec<(
-							runtime_types::polkadot_primitives::v4::ValidatorIndex,
-							runtime_types::polkadot_primitives::v4::ValidityAttestation,
-						)>,
-					)>,
-					pub disputes: ::std::vec::Vec<
-						runtime_types::polkadot_primitives::v4::DisputeStatementSet,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SessionInfo {
-					pub active_validator_indices:
-						::std::vec::Vec<runtime_types::polkadot_primitives::v4::ValidatorIndex>,
-					pub random_seed: [::core::primitive::u8; 32usize],
-					pub dispute_period: ::core::primitive::u32,
-					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<runtime_types::sp_authority_discovery::app::Public>,
-					pub assignment_keys: ::std::vec::Vec<
-						runtime_types::polkadot_primitives::v4::assignment_app::Public,
-					>,
-					pub validator_groups: runtime_types::polkadot_primitives::v4::IndexedVec<
-						runtime_types::polkadot_primitives::v4::GroupIndex,
-						::std::vec::Vec<runtime_types::polkadot_primitives::v4::ValidatorIndex>,
-					>,
-					pub n_cores: ::core::primitive::u32,
-					pub zeroth_delay_tranche_width: ::core::primitive::u32,
-					pub relay_vrf_modulo_samples: ::core::primitive::u32,
-					pub n_delay_tranches: ::core::primitive::u32,
-					pub no_show_slots: ::core::primitive::u32,
-					pub needed_approvals: ::core::primitive::u32,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum UpgradeGoAhead {
-					#[codec(index = 0)]
-					Abort,
-					#[codec(index = 1)]
-					GoAhead,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum UpgradeRestriction {
-					#[codec(index = 0)]
-					Present,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum ValidDisputeStatementKind {
-					#[codec(index = 0)]
-					Explicit,
-					#[codec(index = 1)]
-					BackingSeconded(::subxt::utils::H256),
-					#[codec(index = 2)]
-					BackingValid(::subxt::utils::H256),
-					#[codec(index = 3)]
-					ApprovalChecking,
-				}
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct ValidatorIndex(pub ::core::primitive::u32);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum ValidityAttestation {
-					#[codec(index = 1)]
-					Implicit(runtime_types::polkadot_primitives::v4::validator_app::Signature),
-					#[codec(index = 2)]
-					Explicit(runtime_types::polkadot_primitives::v4::validator_app::Signature),
-				}
-			}
-			pub mod vstaging {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AsyncBackingParams {
-					pub max_candidate_depth: ::core::primitive::u32,
-					pub allowed_ancestry_len: ::core::primitive::u32,
-				}
-			}
-		}
-		pub mod polkadot_runtime_common {
-			use super::runtime_types;
-			pub mod auctions {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						new_auction {
-							#[codec(compact)]
-							duration: ::core::primitive::u32,
-							#[codec(compact)]
-							lease_period_index: ::core::primitive::u32,
-						},
-						#[codec(index = 1)]
-						bid {
-							#[codec(compact)]
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							#[codec(compact)]
-							auction_index: ::core::primitive::u32,
-							#[codec(compact)]
-							first_slot: ::core::primitive::u32,
-							#[codec(compact)]
-							last_slot: ::core::primitive::u32,
-							#[codec(compact)]
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 2)]
-						cancel_auction,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						AuctionInProgress,
-						#[codec(index = 1)]
-						LeasePeriodInPast,
-						#[codec(index = 2)]
-						ParaNotRegistered,
-						#[codec(index = 3)]
-						NotCurrentAuction,
-						#[codec(index = 4)]
-						NotAuction,
-						#[codec(index = 5)]
-						AuctionEnded,
-						#[codec(index = 6)]
-						AlreadyLeasedOut,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						AuctionStarted {
-							auction_index: ::core::primitive::u32,
-							lease_period: ::core::primitive::u32,
-							ending: ::core::primitive::u32,
-						},
-						#[codec(index = 1)]
-						AuctionClosed { auction_index: ::core::primitive::u32 },
-						#[codec(index = 2)]
-						Reserved {
-							bidder: ::sp_core::crypto::AccountId32,
-							extra_reserved: ::core::primitive::u128,
-							total_amount: ::core::primitive::u128,
-						},
-						#[codec(index = 3)]
-						Unreserved {
-							bidder: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 4)]
-						ReserveConfiscated {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							leaser: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 5)]
-						BidAccepted {
-							bidder: ::sp_core::crypto::AccountId32,
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							amount: ::core::primitive::u128,
-							first_slot: ::core::primitive::u32,
-							last_slot: ::core::primitive::u32,
-						},
-						#[codec(index = 6)]
-						WinningOffset {
-							auction_index: ::core::primitive::u32,
-							block_number: ::core::primitive::u32,
-						},
-					}
-				}
-			}
-			pub mod claims {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						claim {
-							dest: ::sp_core::crypto::AccountId32,
-							ethereum_signature:
-								runtime_types::polkadot_runtime_common::claims::EcdsaSignature,
-						},
-						#[codec(index = 1)]
-						mint_claim {
-							who: runtime_types::polkadot_runtime_common::claims::EthereumAddress,
-							value: ::core::primitive::u128,
-							vesting_schedule: ::core::option::Option<(
-								::core::primitive::u128,
-								::core::primitive::u128,
-								::core::primitive::u32,
-							)>,
-							statement: ::core::option::Option<
-								runtime_types::polkadot_runtime_common::claims::StatementKind,
-							>,
-						},
-						#[codec(index = 2)]
-						claim_attest {
-							dest: ::sp_core::crypto::AccountId32,
-							ethereum_signature:
-								runtime_types::polkadot_runtime_common::claims::EcdsaSignature,
-							statement: ::std::vec::Vec<::core::primitive::u8>,
-						},
-						#[codec(index = 3)]
-						attest { statement: ::std::vec::Vec<::core::primitive::u8> },
-						#[codec(index = 4)]
-						move_claim {
-							old: runtime_types::polkadot_runtime_common::claims::EthereumAddress,
-							new: runtime_types::polkadot_runtime_common::claims::EthereumAddress,
-							maybe_preclaim: ::core::option::Option<::sp_core::crypto::AccountId32>,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						InvalidEthereumSignature,
-						#[codec(index = 1)]
-						SignerHasNoClaim,
-						#[codec(index = 2)]
-						SenderHasNoClaim,
-						#[codec(index = 3)]
-						PotUnderflow,
-						#[codec(index = 4)]
-						InvalidStatement,
-						#[codec(index = 5)]
-						VestedBalanceExists,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						Claimed {
-							who: ::sp_core::crypto::AccountId32,
-							ethereum_address:
-								runtime_types::polkadot_runtime_common::claims::EthereumAddress,
-							amount: ::core::primitive::u128,
-						},
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct EcdsaSignature(pub [::core::primitive::u8; 65usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct EthereumAddress(pub [::core::primitive::u8; 20usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum StatementKind {
-					#[codec(index = 0)]
-					Regular,
-					#[codec(index = 1)]
-					Saft,
-				}
-			}
-			pub mod crowdloan {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						create {
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-							#[codec(compact)]
-							cap: ::core::primitive::u128,
-							#[codec(compact)]
-							first_period: ::core::primitive::u32,
-							#[codec(compact)]
-							last_period: ::core::primitive::u32,
-							#[codec(compact)]
-							end: ::core::primitive::u32,
-							verifier:
-								::core::option::Option<runtime_types::sp_runtime::MultiSigner>,
-						},
-						#[codec(index = 1)]
-						contribute {
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-							#[codec(compact)]
-							value: ::core::primitive::u128,
-							signature:
-								::core::option::Option<runtime_types::sp_runtime::MultiSignature>,
-						},
-						#[codec(index = 2)]
-						withdraw {
-							who: ::sp_core::crypto::AccountId32,
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 3)]
-						refund {
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 4)]
-						dissolve {
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 5)]
-						edit {
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-							#[codec(compact)]
-							cap: ::core::primitive::u128,
-							#[codec(compact)]
-							first_period: ::core::primitive::u32,
-							#[codec(compact)]
-							last_period: ::core::primitive::u32,
-							#[codec(compact)]
-							end: ::core::primitive::u32,
-							verifier:
-								::core::option::Option<runtime_types::sp_runtime::MultiSigner>,
-						},
-						#[codec(index = 6)]
-						add_memo {
-							index: runtime_types::polkadot_parachain::primitives::Id,
-							memo: ::std::vec::Vec<::core::primitive::u8>,
-						},
-						#[codec(index = 7)]
-						poke { index: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 8)]
-						contribute_all {
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-							signature:
-								::core::option::Option<runtime_types::sp_runtime::MultiSignature>,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						FirstPeriodInPast,
-						#[codec(index = 1)]
-						FirstPeriodTooFarInFuture,
-						#[codec(index = 2)]
-						LastPeriodBeforeFirstPeriod,
-						#[codec(index = 3)]
-						LastPeriodTooFarInFuture,
-						#[codec(index = 4)]
-						CannotEndInPast,
-						#[codec(index = 5)]
-						EndTooFarInFuture,
-						#[codec(index = 6)]
-						Overflow,
-						#[codec(index = 7)]
-						ContributionTooSmall,
-						#[codec(index = 8)]
-						InvalidParaId,
-						#[codec(index = 9)]
-						CapExceeded,
-						#[codec(index = 10)]
-						ContributionPeriodOver,
-						#[codec(index = 11)]
-						InvalidOrigin,
-						#[codec(index = 12)]
-						NotParachain,
-						#[codec(index = 13)]
-						LeaseActive,
-						#[codec(index = 14)]
-						BidOrLeaseActive,
-						#[codec(index = 15)]
-						FundNotEnded,
-						#[codec(index = 16)]
-						NoContributions,
-						#[codec(index = 17)]
-						NotReadyToDissolve,
-						#[codec(index = 18)]
-						InvalidSignature,
-						#[codec(index = 19)]
-						MemoTooLarge,
-						#[codec(index = 20)]
-						AlreadyInNewRaise,
-						#[codec(index = 21)]
-						VrfDelayInProgress,
-						#[codec(index = 22)]
-						NoLeasePeriod,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						Created { para_id: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 1)]
-						Contributed {
-							who: ::sp_core::crypto::AccountId32,
-							fund_index: runtime_types::polkadot_parachain::primitives::Id,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 2)]
-						Withdrew {
-							who: ::sp_core::crypto::AccountId32,
-							fund_index: runtime_types::polkadot_parachain::primitives::Id,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 3)]
-						PartiallyRefunded {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 4)]
-						AllRefunded { para_id: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 5)]
-						Dissolved { para_id: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 6)]
-						HandleBidResult {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							result: ::core::result::Result<
-								(),
-								runtime_types::sp_runtime::DispatchError,
-							>,
-						},
-						#[codec(index = 7)]
-						Edited { para_id: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 8)]
-						MemoUpdated {
-							who: ::sp_core::crypto::AccountId32,
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							memo: ::std::vec::Vec<::core::primitive::u8>,
-						},
-						#[codec(index = 9)]
-						AddedToNewRaise {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-						},
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct FundInfo<_0, _1, _2, _3> {
-					pub depositor: _0,
-					pub verifier: ::core::option::Option<runtime_types::sp_runtime::MultiSigner>,
-					pub deposit: _1,
-					pub raised: _1,
-					pub end: _2,
-					pub cap: _1,
-					pub last_contribution:
-						runtime_types::polkadot_runtime_common::crowdloan::LastContribution<_2>,
-					pub first_period: _2,
-					pub last_period: _2,
-					pub fund_index: _2,
-					#[codec(skip)]
-					pub __subxt_unused_type_params: ::core::marker::PhantomData<_3>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum LastContribution<_0> {
-					#[codec(index = 0)]
-					Never,
-					#[codec(index = 1)]
-					PreEnding(_0),
-					#[codec(index = 2)]
-					Ending(_0),
-				}
-			}
-			pub mod paras_registrar {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						register {
-							id: runtime_types::polkadot_parachain::primitives::Id,
-							genesis_head: runtime_types::polkadot_parachain::primitives::HeadData,
-							validation_code:
-								runtime_types::polkadot_parachain::primitives::ValidationCode,
-						},
-						#[codec(index = 1)]
-						force_register {
-							who: ::sp_core::crypto::AccountId32,
-							deposit: ::core::primitive::u128,
-							id: runtime_types::polkadot_parachain::primitives::Id,
-							genesis_head: runtime_types::polkadot_parachain::primitives::HeadData,
-							validation_code:
-								runtime_types::polkadot_parachain::primitives::ValidationCode,
-						},
-						#[codec(index = 2)]
-						deregister { id: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 3)]
-						swap {
-							id: runtime_types::polkadot_parachain::primitives::Id,
-							other: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 4)]
-						remove_lock { para: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 5)]
-						reserve,
-						#[codec(index = 6)]
-						add_lock { para: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 7)]
-						schedule_code_upgrade {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							new_code: runtime_types::polkadot_parachain::primitives::ValidationCode,
-						},
-						#[codec(index = 8)]
-						set_current_head {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							new_head: runtime_types::polkadot_parachain::primitives::HeadData,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						NotRegistered,
-						#[codec(index = 1)]
-						AlreadyRegistered,
-						#[codec(index = 2)]
-						NotOwner,
-						#[codec(index = 3)]
-						CodeTooLarge,
-						#[codec(index = 4)]
-						HeadDataTooLarge,
-						#[codec(index = 5)]
-						NotParachain,
-						#[codec(index = 6)]
-						NotParathread,
-						#[codec(index = 7)]
-						CannotDeregister,
-						#[codec(index = 8)]
-						CannotDowngrade,
-						#[codec(index = 9)]
-						CannotUpgrade,
-						#[codec(index = 10)]
-						ParaLocked,
-						#[codec(index = 11)]
-						NotReserved,
-						#[codec(index = 12)]
-						EmptyCode,
-						#[codec(index = 13)]
-						CannotSwap,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						Registered {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							manager: ::sp_core::crypto::AccountId32,
-						},
-						#[codec(index = 1)]
-						Deregistered { para_id: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 2)]
-						Reserved {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							who: ::sp_core::crypto::AccountId32,
-						},
-						#[codec(index = 3)]
-						Swapped {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							other_id: runtime_types::polkadot_parachain::primitives::Id,
-						},
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParaInfo<_0, _1> {
-					pub manager: _0,
-					pub deposit: _1,
-					pub locked: ::core::primitive::bool,
-				}
-			}
-			pub mod slots {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						force_lease {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							leaser: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-							period_begin: ::core::primitive::u32,
-							period_count: ::core::primitive::u32,
-						},
-						#[codec(index = 1)]
-						clear_all_leases { para: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 2)]
-						trigger_onboard { para: runtime_types::polkadot_parachain::primitives::Id },
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						ParaNotOnboarding,
-						#[codec(index = 1)]
-						LeaseError,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						NewLeasePeriod { lease_period: ::core::primitive::u32 },
-						#[codec(index = 1)]
-						Leased {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							leaser: ::sp_core::crypto::AccountId32,
-							period_begin: ::core::primitive::u32,
-							period_count: ::core::primitive::u32,
-							extra_reserved: ::core::primitive::u128,
-							total_amount: ::core::primitive::u128,
-						},
-					}
-				}
-			}
-		}
-		pub mod polkadot_runtime_parachains {
-			use super::runtime_types;
-			pub mod configuration {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						# [codec (index = 0)] set_validation_upgrade_cooldown { new : :: core :: primitive :: u32 , } , # [codec (index = 1)] set_validation_upgrade_delay { new : :: core :: primitive :: u32 , } , # [codec (index = 2)] set_code_retention_period { new : :: core :: primitive :: u32 , } , # [codec (index = 3)] set_max_code_size { new : :: core :: primitive :: u32 , } , # [codec (index = 4)] set_max_pov_size { new : :: core :: primitive :: u32 , } , # [codec (index = 5)] set_max_head_data_size { new : :: core :: primitive :: u32 , } , # [codec (index = 6)] set_parathread_cores { new : :: core :: primitive :: u32 , } , # [codec (index = 7)] set_parathread_retries { new : :: core :: primitive :: u32 , } , # [codec (index = 8)] set_group_rotation_frequency { new : :: core :: primitive :: u32 , } , # [codec (index = 9)] set_chain_availability_period { new : :: core :: primitive :: u32 , } , # [codec (index = 10)] set_thread_availability_period { new : :: core :: primitive :: u32 , } , # [codec (index = 11)] set_scheduling_lookahead { new : :: core :: primitive :: u32 , } , # [codec (index = 12)] set_max_validators_per_core { new : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [codec (index = 13)] set_max_validators { new : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [codec (index = 14)] set_dispute_period { new : :: core :: primitive :: u32 , } , # [codec (index = 15)] set_dispute_post_conclusion_acceptance_period { new : :: core :: primitive :: u32 , } , # [codec (index = 18)] set_no_show_slots { new : :: core :: primitive :: u32 , } , # [codec (index = 19)] set_n_delay_tranches { new : :: core :: primitive :: u32 , } , # [codec (index = 20)] set_zeroth_delay_tranche_width { new : :: core :: primitive :: u32 , } , # [codec (index = 21)] set_needed_approvals { new : :: core :: primitive :: u32 , } , # [codec (index = 22)] set_relay_vrf_modulo_samples { new : :: core :: primitive :: u32 , } , # [codec (index = 23)] set_max_upward_queue_count { new : :: core :: primitive :: u32 , } , # [codec (index = 24)] set_max_upward_queue_size { new : :: core :: primitive :: u32 , } , # [codec (index = 25)] set_max_downward_message_size { new : :: core :: primitive :: u32 , } , # [codec (index = 27)] set_max_upward_message_size { new : :: core :: primitive :: u32 , } , # [codec (index = 28)] set_max_upward_message_num_per_candidate { new : :: core :: primitive :: u32 , } , # [codec (index = 29)] set_hrmp_open_request_ttl { new : :: core :: primitive :: u32 , } , # [codec (index = 30)] set_hrmp_sender_deposit { new : :: core :: primitive :: u128 , } , # [codec (index = 31)] set_hrmp_recipient_deposit { new : :: core :: primitive :: u128 , } , # [codec (index = 32)] set_hrmp_channel_max_capacity { new : :: core :: primitive :: u32 , } , # [codec (index = 33)] set_hrmp_channel_max_total_size { new : :: core :: primitive :: u32 , } , # [codec (index = 34)] set_hrmp_max_parachain_inbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 35)] set_hrmp_max_parathread_inbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 36)] set_hrmp_channel_max_message_size { new : :: core :: primitive :: u32 , } , # [codec (index = 37)] set_hrmp_max_parachain_outbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 38)] set_hrmp_max_parathread_outbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 39)] set_hrmp_max_message_num_per_candidate { new : :: core :: primitive :: u32 , } , # [codec (index = 41)] set_pvf_checking_enabled { new : :: core :: primitive :: bool , } , # [codec (index = 42)] set_pvf_voting_ttl { new : :: core :: primitive :: u32 , } , # [codec (index = 43)] set_minimum_validation_upgrade_delay { new : :: core :: primitive :: u32 , } , # [codec (index = 44)] set_bypass_consistency_check { new : :: core :: primitive :: bool , } , # [codec (index = 45)] set_async_backing_params { new : runtime_types :: polkadot_primitives :: vstaging :: AsyncBackingParams , } , # [codec (index = 46)] set_executor_params { new : runtime_types :: polkadot_primitives :: v4 :: executor_params :: ExecutorParams , } , }
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						InvalidNewValue,
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HostConfiguration<_0> {
-					pub max_code_size: _0,
-					pub max_head_data_size: _0,
-					pub max_upward_queue_count: _0,
-					pub max_upward_queue_size: _0,
-					pub max_upward_message_size: _0,
-					pub max_upward_message_num_per_candidate: _0,
-					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 hrmp_max_parachain_outbound_channels: _0,
-					pub hrmp_max_parathread_outbound_channels: _0,
-					pub hrmp_sender_deposit: ::core::primitive::u128,
-					pub hrmp_recipient_deposit: ::core::primitive::u128,
-					pub hrmp_channel_max_capacity: _0,
-					pub hrmp_channel_max_total_size: _0,
-					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,
-					pub group_rotation_frequency: _0,
-					pub chain_availability_period: _0,
-					pub thread_availability_period: _0,
-					pub scheduling_lookahead: _0,
-					pub max_validators_per_core: ::core::option::Option<_0>,
-					pub max_validators: ::core::option::Option<_0>,
-					pub dispute_period: _0,
-					pub dispute_post_conclusion_acceptance_period: _0,
-					pub no_show_slots: _0,
-					pub n_delay_tranches: _0,
-					pub zeroth_delay_tranche_width: _0,
-					pub needed_approvals: _0,
-					pub relay_vrf_modulo_samples: _0,
-					pub pvf_checking_enabled: ::core::primitive::bool,
-					pub pvf_voting_ttl: _0,
-					pub minimum_validation_upgrade_delay: _0,
-				}
-			}
-			pub mod disputes {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						force_unfreeze,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						DuplicateDisputeStatementSets,
-						#[codec(index = 1)]
-						AncientDisputeStatement,
-						#[codec(index = 2)]
-						ValidatorIndexOutOfBounds,
-						#[codec(index = 3)]
-						InvalidSignature,
-						#[codec(index = 4)]
-						DuplicateStatement,
-						#[codec(index = 5)]
-						SingleSidedDispute,
-						#[codec(index = 6)]
-						MaliciousBacker,
-						#[codec(index = 7)]
-						MissingBackingVotes,
-						#[codec(index = 8)]
-						UnconfirmedDispute,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						DisputeInitiated(
-							runtime_types::polkadot_core_primitives::CandidateHash,
-							runtime_types::polkadot_runtime_parachains::disputes::DisputeLocation,
-						),
-						#[codec(index = 1)]
-						DisputeConcluded(
-							runtime_types::polkadot_core_primitives::CandidateHash,
-							runtime_types::polkadot_runtime_parachains::disputes::DisputeResult,
-						),
-						#[codec(index = 2)]
-						Revert(::core::primitive::u32),
-					}
-				}
-				pub mod slashing {
-					use super::runtime_types;
-					pub mod pallet {
-						use super::runtime_types;
-						#[derive(
-							:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq,
-						)]
-						pub enum Call {
-							# [codec (index = 0)] report_dispute_lost_unsigned { dispute_proof : :: std :: boxed :: Box < runtime_types :: polkadot_runtime_parachains :: disputes :: slashing :: DisputeProof > , key_owner_proof : :: sp_session :: MembershipProof , } , }
-						#[derive(
-							:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq,
-						)]
-						pub enum Error {
-							#[codec(index = 0)]
-							InvalidKeyOwnershipProof,
-							#[codec(index = 1)]
-							InvalidSessionIndex,
-							#[codec(index = 2)]
-							InvalidCandidateHash,
-							#[codec(index = 3)]
-							InvalidValidatorIndex,
-							#[codec(index = 4)]
-							ValidatorIndexIdMismatch,
-							#[codec(index = 5)]
-							DuplicateSlashingReport,
-						}
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct DisputeProof { pub time_slot : runtime_types :: polkadot_runtime_parachains :: disputes :: slashing :: DisputesTimeSlot , pub kind : runtime_types :: polkadot_runtime_parachains :: disputes :: slashing :: SlashingOffenceKind , pub validator_index : runtime_types :: polkadot_primitives :: v4 :: ValidatorIndex , pub validator_id : runtime_types :: polkadot_primitives :: v4 :: validator_app :: Public , }
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct DisputesTimeSlot {
-						pub session_index: ::core::primitive::u32,
-						pub candidate_hash: runtime_types::polkadot_core_primitives::CandidateHash,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct PendingSlashes { pub keys : :: subxt :: utils :: KeyedVec < runtime_types :: polkadot_primitives :: v4 :: ValidatorIndex , runtime_types :: polkadot_primitives :: v4 :: validator_app :: Public > , pub kind : runtime_types :: polkadot_runtime_parachains :: disputes :: slashing :: SlashingOffenceKind , }
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum SlashingOffenceKind {
-						#[codec(index = 0)]
-						ForInvalid,
-						#[codec(index = 1)]
-						AgainstValid,
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum DisputeLocation {
-					#[codec(index = 0)]
-					Local,
-					#[codec(index = 1)]
-					Remote,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum DisputeResult {
-					#[codec(index = 0)]
-					Valid,
-					#[codec(index = 1)]
-					Invalid,
-				}
-			}
-			pub mod hrmp {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						hrmp_init_open_channel {
-							recipient: runtime_types::polkadot_parachain::primitives::Id,
-							proposed_max_capacity: ::core::primitive::u32,
-							proposed_max_message_size: ::core::primitive::u32,
-						},
-						#[codec(index = 1)]
-						hrmp_accept_open_channel {
-							sender: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 2)]
-						hrmp_close_channel {
-							channel_id:
-								runtime_types::polkadot_parachain::primitives::HrmpChannelId,
-						},
-						#[codec(index = 3)]
-						force_clean_hrmp {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							inbound: ::core::primitive::u32,
-							outbound: ::core::primitive::u32,
-						},
-						#[codec(index = 4)]
-						force_process_hrmp_open { channels: ::core::primitive::u32 },
-						#[codec(index = 5)]
-						force_process_hrmp_close { channels: ::core::primitive::u32 },
-						#[codec(index = 6)]
-						hrmp_cancel_open_request {
-							channel_id:
-								runtime_types::polkadot_parachain::primitives::HrmpChannelId,
-							open_requests: ::core::primitive::u32,
-						},
-						#[codec(index = 7)]
-						force_open_hrmp_channel {
-							sender: runtime_types::polkadot_parachain::primitives::Id,
-							recipient: runtime_types::polkadot_parachain::primitives::Id,
-							max_capacity: ::core::primitive::u32,
-							max_message_size: ::core::primitive::u32,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						OpenHrmpChannelToSelf,
-						#[codec(index = 1)]
-						OpenHrmpChannelInvalidRecipient,
-						#[codec(index = 2)]
-						OpenHrmpChannelZeroCapacity,
-						#[codec(index = 3)]
-						OpenHrmpChannelCapacityExceedsLimit,
-						#[codec(index = 4)]
-						OpenHrmpChannelZeroMessageSize,
-						#[codec(index = 5)]
-						OpenHrmpChannelMessageSizeExceedsLimit,
-						#[codec(index = 6)]
-						OpenHrmpChannelAlreadyExists,
-						#[codec(index = 7)]
-						OpenHrmpChannelAlreadyRequested,
-						#[codec(index = 8)]
-						OpenHrmpChannelLimitExceeded,
-						#[codec(index = 9)]
-						AcceptHrmpChannelDoesntExist,
-						#[codec(index = 10)]
-						AcceptHrmpChannelAlreadyConfirmed,
-						#[codec(index = 11)]
-						AcceptHrmpChannelLimitExceeded,
-						#[codec(index = 12)]
-						CloseHrmpChannelUnauthorized,
-						#[codec(index = 13)]
-						CloseHrmpChannelDoesntExist,
-						#[codec(index = 14)]
-						CloseHrmpChannelAlreadyUnderway,
-						#[codec(index = 15)]
-						CancelHrmpOpenChannelUnauthorized,
-						#[codec(index = 16)]
-						OpenHrmpChannelDoesntExist,
-						#[codec(index = 17)]
-						OpenHrmpChannelAlreadyConfirmed,
-						#[codec(index = 18)]
-						WrongWitness,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						OpenChannelRequested(
-							runtime_types::polkadot_parachain::primitives::Id,
-							runtime_types::polkadot_parachain::primitives::Id,
-							::core::primitive::u32,
-							::core::primitive::u32,
-						),
-						#[codec(index = 1)]
-						OpenChannelCanceled(
-							runtime_types::polkadot_parachain::primitives::Id,
-							runtime_types::polkadot_parachain::primitives::HrmpChannelId,
-						),
-						#[codec(index = 2)]
-						OpenChannelAccepted(
-							runtime_types::polkadot_parachain::primitives::Id,
-							runtime_types::polkadot_parachain::primitives::Id,
-						),
-						#[codec(index = 3)]
-						ChannelClosed(
-							runtime_types::polkadot_parachain::primitives::Id,
-							runtime_types::polkadot_parachain::primitives::HrmpChannelId,
-						),
-						#[codec(index = 4)]
-						HrmpChannelForceOpened(
-							runtime_types::polkadot_parachain::primitives::Id,
-							runtime_types::polkadot_parachain::primitives::Id,
-							::core::primitive::u32,
-							::core::primitive::u32,
-						),
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HrmpChannel {
-					pub max_capacity: ::core::primitive::u32,
-					pub max_total_size: ::core::primitive::u32,
-					pub max_message_size: ::core::primitive::u32,
-					pub msg_count: ::core::primitive::u32,
-					pub total_size: ::core::primitive::u32,
-					pub mqc_head: ::core::option::Option<::subxt::utils::H256>,
-					pub sender_deposit: ::core::primitive::u128,
-					pub recipient_deposit: ::core::primitive::u128,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HrmpOpenChannelRequest {
-					pub confirmed: ::core::primitive::bool,
-					pub _age: ::core::primitive::u32,
-					pub sender_deposit: ::core::primitive::u128,
-					pub max_message_size: ::core::primitive::u32,
-					pub max_capacity: ::core::primitive::u32,
-					pub max_total_size: ::core::primitive::u32,
-				}
-			}
-			pub mod inclusion {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						UnsortedOrDuplicateValidatorIndices,
-						#[codec(index = 1)]
-						UnsortedOrDuplicateDisputeStatementSet,
-						#[codec(index = 2)]
-						UnsortedOrDuplicateBackedCandidates,
-						#[codec(index = 3)]
-						UnexpectedRelayParent,
-						#[codec(index = 4)]
-						WrongBitfieldSize,
-						#[codec(index = 5)]
-						BitfieldAllZeros,
-						#[codec(index = 6)]
-						BitfieldDuplicateOrUnordered,
-						#[codec(index = 7)]
-						ValidatorIndexOutOfBounds,
-						#[codec(index = 8)]
-						InvalidBitfieldSignature,
-						#[codec(index = 9)]
-						UnscheduledCandidate,
-						#[codec(index = 10)]
-						CandidateScheduledBeforeParaFree,
-						#[codec(index = 11)]
-						WrongCollator,
-						#[codec(index = 12)]
-						ScheduledOutOfOrder,
-						#[codec(index = 13)]
-						HeadDataTooLarge,
-						#[codec(index = 14)]
-						PrematureCodeUpgrade,
-						#[codec(index = 15)]
-						NewCodeTooLarge,
-						#[codec(index = 16)]
-						CandidateNotInParentContext,
-						#[codec(index = 17)]
-						InvalidGroupIndex,
-						#[codec(index = 18)]
-						InsufficientBacking,
-						#[codec(index = 19)]
-						InvalidBacking,
-						#[codec(index = 20)]
-						NotCollatorSigned,
-						#[codec(index = 21)]
-						ValidationDataHashMismatch,
-						#[codec(index = 22)]
-						IncorrectDownwardMessageHandling,
-						#[codec(index = 23)]
-						InvalidUpwardMessages,
-						#[codec(index = 24)]
-						HrmpWatermarkMishandling,
-						#[codec(index = 25)]
-						InvalidOutboundHrmp,
-						#[codec(index = 26)]
-						InvalidValidationCodeHash,
-						#[codec(index = 27)]
-						ParaHeadMismatch,
-						#[codec(index = 28)]
-						BitfieldReferencesFreedCore,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						CandidateBacked(
-							runtime_types::polkadot_primitives::v4::CandidateReceipt<
-								::subxt::utils::H256,
-							>,
-							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<
-								::subxt::utils::H256,
-							>,
-							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<
-								::subxt::utils::H256,
-							>,
-							runtime_types::polkadot_parachain::primitives::HeadData,
-							runtime_types::polkadot_primitives::v4::CoreIndex,
-						),
-						#[codec(index = 3)]
-						UpwardMessagesReceived {
-							from: runtime_types::polkadot_parachain::primitives::Id,
-							count: ::core::primitive::u32,
-						},
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum AggregateMessageOrigin {
-					#[codec(index = 0)]
-					Ump(runtime_types::polkadot_runtime_parachains::inclusion::UmpQueueId),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AvailabilityBitfieldRecord<_0> {
-					pub bitfield: runtime_types::polkadot_primitives::v4::AvailabilityBitfield,
-					pub submitted_at: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CandidatePendingAvailability<_0, _1> {
-					pub core: runtime_types::polkadot_primitives::v4::CoreIndex,
-					pub hash: runtime_types::polkadot_core_primitives::CandidateHash,
-					pub descriptor: runtime_types::polkadot_primitives::v4::CandidateDescriptor<_0>,
-					pub availability_votes: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-					pub backers: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-					pub relay_parent_number: _1,
-					pub backed_in_number: _1,
-					pub backing_group: runtime_types::polkadot_primitives::v4::GroupIndex,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum UmpQueueId {
-					#[codec(index = 0)]
-					Para(runtime_types::polkadot_parachain::primitives::Id),
-				}
-			}
-			pub mod initializer {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						force_approve { up_to: ::core::primitive::u32 },
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BufferedSessionChange {
-					pub validators: ::std::vec::Vec<
-						runtime_types::polkadot_primitives::v4::validator_app::Public,
-					>,
-					pub queued: ::std::vec::Vec<
-						runtime_types::polkadot_primitives::v4::validator_app::Public,
-					>,
-					pub session_index: ::core::primitive::u32,
-				}
-			}
-			pub mod origin {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Origin {
-						#[codec(index = 0)]
-						Parachain(runtime_types::polkadot_parachain::primitives::Id),
-					}
-				}
-			}
-			pub mod paras {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						force_set_current_code {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							new_code: runtime_types::polkadot_parachain::primitives::ValidationCode,
-						},
-						#[codec(index = 1)]
-						force_set_current_head {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							new_head: runtime_types::polkadot_parachain::primitives::HeadData,
-						},
-						#[codec(index = 2)]
-						force_schedule_code_upgrade {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							new_code: runtime_types::polkadot_parachain::primitives::ValidationCode,
-							relay_parent_number: ::core::primitive::u32,
-						},
-						#[codec(index = 3)]
-						force_note_new_head {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							new_head: runtime_types::polkadot_parachain::primitives::HeadData,
-						},
-						#[codec(index = 4)]
-						force_queue_action {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 5)]
-						add_trusted_validation_code {
-							validation_code:
-								runtime_types::polkadot_parachain::primitives::ValidationCode,
-						},
-						#[codec(index = 6)]
-						poke_unused_validation_code {
-							validation_code_hash:
-								runtime_types::polkadot_parachain::primitives::ValidationCodeHash,
-						},
-						#[codec(index = 7)]
-						include_pvf_check_statement {
-							stmt: runtime_types::polkadot_primitives::v4::PvfCheckStatement,
-							signature:
-								runtime_types::polkadot_primitives::v4::validator_app::Signature,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						NotRegistered,
-						#[codec(index = 1)]
-						CannotOnboard,
-						#[codec(index = 2)]
-						CannotOffboard,
-						#[codec(index = 3)]
-						CannotUpgrade,
-						#[codec(index = 4)]
-						CannotDowngrade,
-						#[codec(index = 5)]
-						PvfCheckStatementStale,
-						#[codec(index = 6)]
-						PvfCheckStatementFuture,
-						#[codec(index = 7)]
-						PvfCheckValidatorIndexOutOfBounds,
-						#[codec(index = 8)]
-						PvfCheckInvalidSignature,
-						#[codec(index = 9)]
-						PvfCheckDoubleVote,
-						#[codec(index = 10)]
-						PvfCheckSubjectInvalid,
-						#[codec(index = 11)]
-						CannotUpgradeCode,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						CurrentCodeUpdated(runtime_types::polkadot_parachain::primitives::Id),
-						#[codec(index = 1)]
-						CurrentHeadUpdated(runtime_types::polkadot_parachain::primitives::Id),
-						#[codec(index = 2)]
-						CodeUpgradeScheduled(runtime_types::polkadot_parachain::primitives::Id),
-						#[codec(index = 3)]
-						NewHeadNoted(runtime_types::polkadot_parachain::primitives::Id),
-						#[codec(index = 4)]
-						ActionQueued(
-							runtime_types::polkadot_parachain::primitives::Id,
-							::core::primitive::u32,
-						),
-						#[codec(index = 5)]
-						PvfCheckStarted(
-							runtime_types::polkadot_parachain::primitives::ValidationCodeHash,
-							runtime_types::polkadot_parachain::primitives::Id,
-						),
-						#[codec(index = 6)]
-						PvfCheckAccepted(
-							runtime_types::polkadot_parachain::primitives::ValidationCodeHash,
-							runtime_types::polkadot_parachain::primitives::Id,
-						),
-						#[codec(index = 7)]
-						PvfCheckRejected(
-							runtime_types::polkadot_parachain::primitives::ValidationCodeHash,
-							runtime_types::polkadot_parachain::primitives::Id,
-						),
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParaGenesisArgs {
-					pub genesis_head: runtime_types::polkadot_parachain::primitives::HeadData,
-					pub validation_code:
-						runtime_types::polkadot_parachain::primitives::ValidationCode,
-					pub para_kind: ::core::primitive::bool,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum ParaLifecycle {
-					#[codec(index = 0)]
-					Onboarding,
-					#[codec(index = 1)]
-					Parathread,
-					#[codec(index = 2)]
-					Parachain,
-					#[codec(index = 3)]
-					UpgradingParathread,
-					#[codec(index = 4)]
-					DowngradingParachain,
-					#[codec(index = 5)]
-					OffboardingParathread,
-					#[codec(index = 6)]
-					OffboardingParachain,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParaPastCodeMeta<_0> {
-					pub upgrade_times: ::std::vec::Vec<
-						runtime_types::polkadot_runtime_parachains::paras::ReplacementTimes<_0>,
-					>,
-					pub last_pruned: ::core::option::Option<_0>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PvfCheckActiveVoteState<_0> {
-					pub votes_accept: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-					pub votes_reject: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-					pub age: _0,
-					pub created_at: _0,
-					pub causes: ::std::vec::Vec<
-						runtime_types::polkadot_runtime_parachains::paras::PvfCheckCause<_0>,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum PvfCheckCause<_0> {
-					#[codec(index = 0)]
-					Onboarding(runtime_types::polkadot_parachain::primitives::Id),
-					#[codec(index = 1)]
-					Upgrade {
-						id: runtime_types::polkadot_parachain::primitives::Id,
-						relay_parent_number: _0,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ReplacementTimes<_0> {
-					pub expected_at: _0,
-					pub activated_at: _0,
-				}
-			}
-			pub mod paras_inherent {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						enter {
-							data: runtime_types::polkadot_primitives::v4::InherentData<
-								::sp_runtime::generic::Header<
-									::core::primitive::u32,
-									::sp_runtime::traits::BlakeTwo256,
-								>,
-							>,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						TooManyInclusionInherents,
-						#[codec(index = 1)]
-						InvalidParentHeader,
-						#[codec(index = 2)]
-						CandidateConcludedInvalid,
-						#[codec(index = 3)]
-						InherentOverweight,
-						#[codec(index = 4)]
-						DisputeStatementsUnsortedOrDuplicates,
-						#[codec(index = 5)]
-						DisputeInvalid,
-					}
-				}
-			}
-			pub mod scheduler {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum AssignmentKind {
-					#[codec(index = 0)]
-					Parachain,
-					#[codec(index = 1)]
-					Parathread(
-						runtime_types::polkadot_primitives::v4::collator_app::Public,
-						::core::primitive::u32,
-					),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CoreAssignment {
-					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::v4::GroupIndex,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParathreadClaimQueue {
-					pub queue: ::std::vec::Vec<
-						runtime_types::polkadot_runtime_parachains::scheduler::QueuedParathread,
-					>,
-					pub next_core_offset: ::core::primitive::u32,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct QueuedParathread {
-					pub claim: runtime_types::polkadot_primitives::v4::ParathreadEntry,
-					pub core_offset: ::core::primitive::u32,
-				}
-			}
-			pub mod shared {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {}
-				}
-			}
-		}
-		pub mod sp_arithmetic {
-			use super::runtime_types;
-			pub mod fixed_point {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct FixedI64(pub ::core::primitive::i64);
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct FixedU128(pub ::core::primitive::u128);
-			}
-			pub mod per_things {
-				use super::runtime_types;
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct PerU16(pub ::core::primitive::u16);
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct Perbill(pub ::core::primitive::u32);
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct Percent(pub ::core::primitive::u8);
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct Permill(pub ::core::primitive::u32);
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct Perquintill(pub ::core::primitive::u64);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ArithmeticError {
-				#[codec(index = 0)]
-				Underflow,
-				#[codec(index = 1)]
-				Overflow,
-				#[codec(index = 2)]
-				DivisionByZero,
-			}
-		}
-		pub mod sp_authority_discovery {
-			use super::runtime_types;
-			pub mod app {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-			}
-		}
-		pub mod sp_consensus_babe {
-			use super::runtime_types;
-			pub mod app {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-			}
-			pub mod digests {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum NextConfigDescriptor {
-					#[codec(index = 1)]
-					V1 {
-						c: (::core::primitive::u64, ::core::primitive::u64),
-						allowed_slots: runtime_types::sp_consensus_babe::AllowedSlots,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum PreDigest {
-					#[codec(index = 1)]
-					Primary(runtime_types::sp_consensus_babe::digests::PrimaryPreDigest),
-					#[codec(index = 2)]
-					SecondaryPlain(
-						runtime_types::sp_consensus_babe::digests::SecondaryPlainPreDigest,
-					),
-					#[codec(index = 3)]
-					SecondaryVRF(runtime_types::sp_consensus_babe::digests::SecondaryVRFPreDigest),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PrimaryPreDigest {
-					pub authority_index: ::core::primitive::u32,
-					pub slot: runtime_types::sp_consensus_slots::Slot,
-					pub vrf_signature: runtime_types::sp_core::sr25519::vrf::VrfSignature,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SecondaryPlainPreDigest {
-					pub authority_index: ::core::primitive::u32,
-					pub slot: runtime_types::sp_consensus_slots::Slot,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SecondaryVRFPreDigest {
-					pub authority_index: ::core::primitive::u32,
-					pub slot: runtime_types::sp_consensus_slots::Slot,
-					pub vrf_signature: runtime_types::sp_core::sr25519::vrf::VrfSignature,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum AllowedSlots {
-				#[codec(index = 0)]
-				PrimarySlots,
-				#[codec(index = 1)]
-				PrimaryAndSecondaryPlainSlots,
-				#[codec(index = 2)]
-				PrimaryAndSecondaryVRFSlots,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BabeEpochConfiguration {
-				pub c: (::core::primitive::u64, ::core::primitive::u64),
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub runtime_types::sp_core::ed25519::Public);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub runtime_types::sp_core::ed25519::Signature);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			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,
-					>,
-				),
-			}
-		}
-		pub mod sp_consensus_slots {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct EquivocationProof<_0, _1> {
-				pub offender: _1,
-				pub slot: runtime_types::sp_consensus_slots::Slot,
-				pub first_header: _0,
-				pub second_header: _0,
-			}
-			#[derive(
-				:: codec :: Decode,
-				:: codec :: Encode,
-				:: subxt :: ext :: codec :: CompactAs,
-				Clone,
-				Debug,
-				PartialEq,
-			)]
-			pub struct Slot(pub ::core::primitive::u64);
-		}
-		pub mod sp_core {
-			use super::runtime_types;
-			pub mod crypto {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct KeyTypeId(pub [::core::primitive::u8; 4usize]);
-			}
-			pub mod ecdsa {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub [::core::primitive::u8; 33usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 65usize]);
-			}
-			pub mod ed25519 {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub [::core::primitive::u8; 32usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 64usize]);
-			}
-			pub mod offchain {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct OpaqueMultiaddr(pub ::std::vec::Vec<::core::primitive::u8>);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct OpaqueNetworkState {
-					pub peer_id: runtime_types::sp_core::OpaquePeerId,
-					pub external_addresses:
-						::std::vec::Vec<runtime_types::sp_core::offchain::OpaqueMultiaddr>,
-				}
-			}
-			pub mod sr25519 {
-				use super::runtime_types;
-				pub mod vrf {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct VrfSignature {
-						pub output: [::core::primitive::u8; 32usize],
-						pub proof: [::core::primitive::u8; 64usize],
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub [::core::primitive::u8; 32usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 64usize]);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OpaquePeerId(pub ::std::vec::Vec<::core::primitive::u8>);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Void {}
-		}
-		pub mod sp_npos_elections {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ElectionScore {
-				pub minimal_stake: ::core::primitive::u128,
-				pub sum_stake: ::core::primitive::u128,
-				pub sum_stake_squared: ::core::primitive::u128,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Support<_0> {
-				pub total: ::core::primitive::u128,
-				pub voters: ::std::vec::Vec<(_0, ::core::primitive::u128)>,
-			}
-		}
-		pub mod sp_runtime {
-			use super::runtime_types;
-			pub mod generic {
-				use super::runtime_types;
-				pub mod digest {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum DigestItem {
-						#[codec(index = 6)]
-						PreRuntime(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 4)]
-						Consensus(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 5)]
-						Seal(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 0)]
-						Other(::std::vec::Vec<::core::primitive::u8>),
-						#[codec(index = 8)]
-						RuntimeEnvironmentUpdated,
-					}
-				}
-				pub mod unchecked_extrinsic {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct UncheckedExtrinsic<_0, _1, _2, _3>(
-						pub ::std::vec::Vec<::core::primitive::u8>,
-						#[codec(skip)] pub ::core::marker::PhantomData<(_1, _0, _2, _3)>,
-					);
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum DispatchError {
-				#[codec(index = 0)]
-				Other,
-				#[codec(index = 1)]
-				CannotLookup,
-				#[codec(index = 2)]
-				BadOrigin,
-				#[codec(index = 3)]
-				Module(runtime_types::sp_runtime::ModuleError),
-				#[codec(index = 4)]
-				ConsumerRemaining,
-				#[codec(index = 5)]
-				NoProviders,
-				#[codec(index = 6)]
-				TooManyConsumers,
-				#[codec(index = 7)]
-				Token(runtime_types::sp_runtime::TokenError),
-				#[codec(index = 8)]
-				Arithmetic(runtime_types::sp_arithmetic::ArithmeticError),
-				#[codec(index = 9)]
-				Transactional(runtime_types::sp_runtime::TransactionalError),
-				#[codec(index = 10)]
-				Exhausted,
-				#[codec(index = 11)]
-				Corruption,
-				#[codec(index = 12)]
-				Unavailable,
-				#[codec(index = 13)]
-				RootNotAllowed,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct DispatchErrorWithPostInfo<_0> {
-				pub post_info: _0,
-				pub error: runtime_types::sp_runtime::DispatchError,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ModuleError {
-				pub index: ::core::primitive::u8,
-				pub error: [::core::primitive::u8; 4usize],
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum MultiSignature {
-				#[codec(index = 0)]
-				Ed25519(runtime_types::sp_core::ed25519::Signature),
-				#[codec(index = 1)]
-				Sr25519(runtime_types::sp_core::sr25519::Signature),
-				#[codec(index = 2)]
-				Ecdsa(runtime_types::sp_core::ecdsa::Signature),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum MultiSigner {
-				#[codec(index = 0)]
-				Ed25519(runtime_types::sp_core::ed25519::Public),
-				#[codec(index = 1)]
-				Sr25519(runtime_types::sp_core::sr25519::Public),
-				#[codec(index = 2)]
-				Ecdsa(runtime_types::sp_core::ecdsa::Public),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum TokenError {
-				#[codec(index = 0)]
-				FundsUnavailable,
-				#[codec(index = 1)]
-				OnlyProvider,
-				#[codec(index = 2)]
-				BelowMinimum,
-				#[codec(index = 3)]
-				CannotCreate,
-				#[codec(index = 4)]
-				UnknownAsset,
-				#[codec(index = 5)]
-				Frozen,
-				#[codec(index = 6)]
-				Unsupported,
-				#[codec(index = 7)]
-				CannotCreateHold,
-				#[codec(index = 8)]
-				NotExpendable,
-				#[codec(index = 9)]
-				Blocked,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum TransactionalError {
-				#[codec(index = 0)]
-				LimitReached,
-				#[codec(index = 1)]
-				NoLayer,
-			}
-		}
-		pub mod sp_staking {
-			use super::runtime_types;
-			pub mod offence {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct OffenceDetails<_0, _1> {
-					pub offender: _1,
-					pub reporters: ::std::vec::Vec<_0>,
-				}
-			}
-		}
-		pub mod sp_version {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RuntimeVersion {
-				pub spec_name: ::std::string::String,
-				pub impl_name: ::std::string::String,
-				pub authoring_version: ::core::primitive::u32,
-				pub spec_version: ::core::primitive::u32,
-				pub impl_version: ::core::primitive::u32,
-				pub apis:
-					::std::vec::Vec<([::core::primitive::u8; 8usize], ::core::primitive::u32)>,
-				pub transaction_version: ::core::primitive::u32,
-				pub state_version: ::core::primitive::u8,
-			}
-		}
-		pub mod sp_weights {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RuntimeDbWeight {
-				pub read: ::core::primitive::u64,
-				pub write: ::core::primitive::u64,
-			}
-		}
-		pub mod xcm {
-			use super::runtime_types;
-			pub mod double_encoded {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DoubleEncoded {
-					pub encoded: ::std::vec::Vec<::core::primitive::u8>,
-				}
-			}
-			pub mod v2 {
-				use super::runtime_types;
-				pub mod junction {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junction {
-						#[codec(index = 0)]
-						Parachain(#[codec(compact)] ::core::primitive::u32),
-						#[codec(index = 1)]
-						AccountId32 {
-							network: runtime_types::xcm::v2::NetworkId,
-							id: [::core::primitive::u8; 32usize],
-						},
-						#[codec(index = 2)]
-						AccountIndex64 {
-							network: runtime_types::xcm::v2::NetworkId,
-							#[codec(compact)]
-							index: ::core::primitive::u64,
-						},
-						#[codec(index = 3)]
-						AccountKey20 {
-							network: runtime_types::xcm::v2::NetworkId,
-							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(
-							runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<
-								::core::primitive::u8,
-							>,
-						),
-						#[codec(index = 7)]
-						OnlyChild,
-						#[codec(index = 8)]
-						Plurality {
-							id: runtime_types::xcm::v2::BodyId,
-							part: runtime_types::xcm::v2::BodyPart,
-						},
-					}
-				}
-				pub mod multiasset {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum AssetId {
-						#[codec(index = 0)]
-						Concrete(runtime_types::xcm::v2::multilocation::MultiLocation),
-						#[codec(index = 1)]
-						Abstract(::std::vec::Vec<::core::primitive::u8>),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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]),
-						#[codec(index = 6)]
-						Blob(::std::vec::Vec<::core::primitive::u8>),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Fungibility {
-						#[codec(index = 0)]
-						Fungible(#[codec(compact)] ::core::primitive::u128),
-						#[codec(index = 1)]
-						NonFungible(runtime_types::xcm::v2::multiasset::AssetInstance),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAsset {
-						pub id: runtime_types::xcm::v2::multiasset::AssetId,
-						pub fun: runtime_types::xcm::v2::multiasset::Fungibility,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum MultiAssetFilter {
-						#[codec(index = 0)]
-						Definite(runtime_types::xcm::v2::multiasset::MultiAssets),
-						#[codec(index = 1)]
-						Wild(runtime_types::xcm::v2::multiasset::WildMultiAsset),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAssets(
-						pub ::std::vec::Vec<runtime_types::xcm::v2::multiasset::MultiAsset>,
-					);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildFungibility {
-						#[codec(index = 0)]
-						Fungible,
-						#[codec(index = 1)]
-						NonFungible,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildMultiAsset {
-						#[codec(index = 0)]
-						All,
-						#[codec(index = 1)]
-						AllOf {
-							id: runtime_types::xcm::v2::multiasset::AssetId,
-							fun: runtime_types::xcm::v2::multiasset::WildFungibility,
-						},
-					}
-				}
-				pub mod multilocation {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junctions {
-						#[codec(index = 0)]
-						Here,
-						#[codec(index = 1)]
-						X1(runtime_types::xcm::v2::junction::Junction),
-						#[codec(index = 2)]
-						X2(
-							runtime_types::xcm::v2::junction::Junction,
-							runtime_types::xcm::v2::junction::Junction,
-						),
-						#[codec(index = 3)]
-						X3(
-							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::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::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::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::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::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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiLocation {
-						pub parents: ::core::primitive::u8,
-						pub interior: runtime_types::xcm::v2::multilocation::Junctions,
-					}
-				}
-				pub mod traits {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						Overflow,
-						#[codec(index = 1)]
-						Unimplemented,
-						#[codec(index = 2)]
-						UntrustedReserveLocation,
-						#[codec(index = 3)]
-						UntrustedTeleportLocation,
-						#[codec(index = 4)]
-						MultiLocationFull,
-						#[codec(index = 5)]
-						MultiLocationNotInvertible,
-						#[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)]
-						UnhandledXcmVersion,
-						#[codec(index = 23)]
-						WeightLimitReached(::core::primitive::u64),
-						#[codec(index = 24)]
-						Barrier,
-						#[codec(index = 25)]
-						WeightNotComputable,
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Instruction {
-					#[codec(index = 0)]
-					WithdrawAsset(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 1)]
-					ReserveAssetDeposited(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 2)]
-					ReceiveTeleportedAsset(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 3)]
-					QueryResponse {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						response: runtime_types::xcm::v2::Response,
-						#[codec(compact)]
-						max_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 4)]
-					TransferAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssets,
-						beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 5)]
-					TransferReserveAsset {
-						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::v2::OriginKind,
-						#[codec(compact)]
-						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)]
-					ClearOrigin,
-					#[codec(index = 11)]
-					DescendOrigin(runtime_types::xcm::v2::multilocation::Junctions),
-					#[codec(index = 12)]
-					ReportError {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						dest: runtime_types::xcm::v2::multilocation::MultiLocation,
-						#[codec(compact)]
-						max_response_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 13)]
-					DepositAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						#[codec(compact)]
-						max_assets: ::core::primitive::u32,
-						beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 14)]
-					DepositReserveAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						#[codec(compact)]
-						max_assets: ::core::primitive::u32,
-						dest: runtime_types::xcm::v2::multilocation::MultiLocation,
-						xcm: runtime_types::xcm::v2::Xcm,
-					},
-					#[codec(index = 15)]
-					ExchangeAsset {
-						give: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						receive: runtime_types::xcm::v2::multiasset::MultiAssets,
-					},
-					#[codec(index = 16)]
-					InitiateReserveWithdraw {
-						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::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::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::v2::multiasset::MultiAsset,
-						weight_limit: runtime_types::xcm::v2::WeightLimit,
-					},
-					#[codec(index = 20)]
-					RefundSurplus,
-					#[codec(index = 21)]
-					SetErrorHandler(runtime_types::xcm::v2::Xcm),
-					#[codec(index = 22)]
-					SetAppendix(runtime_types::xcm::v2::Xcm),
-					#[codec(index = 23)]
-					ClearError,
-					#[codec(index = 24)]
-					ClaimAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssets,
-						ticket: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 25)]
-					Trap(#[codec(compact)] ::core::primitive::u64),
-					#[codec(index = 26)]
-					SubscribeVersion {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						#[codec(compact)]
-						max_response_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 27)]
-					UnsubscribeVersion,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum OriginKind {
-					#[codec(index = 0)]
-					Native,
-					#[codec(index = 1)]
-					SovereignAccount,
-					#[codec(index = 2)]
-					Superuser,
-					#[codec(index = 3)]
-					Xcm,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Response {
-					#[codec(index = 0)]
-					Null,
-					#[codec(index = 1)]
-					Assets(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 2)]
-					ExecutionResult(
-						::core::option::Option<(
-							::core::primitive::u32,
-							runtime_types::xcm::v2::traits::Error,
-						)>,
-					),
-					#[codec(index = 3)]
-					Version(::core::primitive::u32),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum WeightLimit {
-					#[codec(index = 0)]
-					Unlimited,
-					#[codec(index = 1)]
-					Limited(#[codec(compact)] ::core::primitive::u64),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm(pub ::std::vec::Vec<runtime_types::xcm::v2::Instruction>);
-			}
-			pub mod v3 {
-				use super::runtime_types;
-				pub mod junction {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junction {
-						#[codec(index = 0)]
-						Parachain(#[codec(compact)] ::core::primitive::u32),
-						#[codec(index = 1)]
-						AccountId32 {
-							network:
-								::core::option::Option<runtime_types::xcm::v3::junction::NetworkId>,
-							id: [::core::primitive::u8; 32usize],
-						},
-						#[codec(index = 2)]
-						AccountIndex64 {
-							network:
-								::core::option::Option<runtime_types::xcm::v3::junction::NetworkId>,
-							#[codec(compact)]
-							index: ::core::primitive::u64,
-						},
-						#[codec(index = 3)]
-						AccountKey20 {
-							network:
-								::core::option::Option<runtime_types::xcm::v3::junction::NetworkId>,
-							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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum AssetId {
-						#[codec(index = 0)]
-						Concrete(runtime_types::xcm::v3::multilocation::MultiLocation),
-						#[codec(index = 1)]
-						Abstract([::core::primitive::u8; 32usize]),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Fungibility {
-						#[codec(index = 0)]
-						Fungible(#[codec(compact)] ::core::primitive::u128),
-						#[codec(index = 1)]
-						NonFungible(runtime_types::xcm::v3::multiasset::AssetInstance),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAsset {
-						pub id: runtime_types::xcm::v3::multiasset::AssetId,
-						pub fun: runtime_types::xcm::v3::multiasset::Fungibility,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum MultiAssetFilter {
-						#[codec(index = 0)]
-						Definite(runtime_types::xcm::v3::multiasset::MultiAssets),
-						#[codec(index = 1)]
-						Wild(runtime_types::xcm::v3::multiasset::WildMultiAsset),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAssets(
-						pub ::std::vec::Vec<runtime_types::xcm::v3::multiasset::MultiAsset>,
-					);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildFungibility {
-						#[codec(index = 0)]
-						Fungible,
-						#[codec(index = 1)]
-						NonFungible,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiLocation {
-						pub parents: ::core::primitive::u8,
-						pub interior: runtime_types::xcm::v3::junctions::Junctions,
-					}
-				}
-				pub mod traits {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(::sp_weights::Weight),
-						#[codec(index = 37)]
-						Barrier,
-						#[codec(index = 38)]
-						WeightNotComputable,
-						#[codec(index = 39)]
-						ExceedsStackLimit,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Outcome {
-						#[codec(index = 0)]
-						Complete(::sp_weights::Weight),
-						#[codec(index = 1)]
-						Incomplete(::sp_weights::Weight, runtime_types::xcm::v3::traits::Error),
-						#[codec(index = 2)]
-						Error(runtime_types::xcm::v3::traits::Error),
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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: ::sp_weights::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: ::sp_weights::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: ::sp_weights::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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct QueryResponseInfo {
-					pub destination: runtime_types::xcm::v3::multilocation::MultiLocation,
-					#[codec(compact)]
-					pub query_id: ::core::primitive::u64,
-					pub max_weight: ::sp_weights::Weight,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum WeightLimit {
-					#[codec(index = 0)]
-					Unlimited,
-					#[codec(index = 1)]
-					Limited(::sp_weights::Weight),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm(pub ::std::vec::Vec<runtime_types::xcm::v3::Instruction>);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedAssetId {
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::multiasset::AssetId),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedMultiAssets {
-				#[codec(index = 1)]
-				V2(runtime_types::xcm::v2::multiasset::MultiAssets),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::multiasset::MultiAssets),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedMultiLocation {
-				#[codec(index = 1)]
-				V2(runtime_types::xcm::v2::multilocation::MultiLocation),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::multilocation::MultiLocation),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedResponse {
-				#[codec(index = 2)]
-				V2(runtime_types::xcm::v2::Response),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::Response),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedXcm {
-				#[codec(index = 2)]
-				V2(runtime_types::xcm::v2::Xcm),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::Xcm),
-			}
-		}
-	}
-}
diff --git a/bridges/relays/client-kusama/src/lib.rs b/bridges/relays/client-kusama/src/lib.rs
deleted file mode 100644
index 24a6adfe95d4c2a55d1b0aef08913878319835d1..0000000000000000000000000000000000000000
--- a/bridges/relays/client-kusama/src/lib.rs
+++ /dev/null
@@ -1,122 +0,0 @@
-// Copyright 2019-2021 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Types used to connect to the Kusama chain.
-
-pub mod codegen_runtime;
-
-use bp_kusama::{AccountInfoStorageMapKeyProvider, KUSAMA_SYNCED_HEADERS_GRANDPA_INFO_METHOD};
-use bp_polkadot_core::SuffixedCommonSignedExtensionExt;
-use codec::Encode;
-use relay_substrate_client::{
-	Chain, ChainWithBalances, ChainWithGrandpa, ChainWithRuntimeVersion, ChainWithTransactions,
-	Error as SubstrateError, RelayChain, SignParam, SimpleRuntimeVersion, UnderlyingChainProvider,
-	UnsignedTransaction,
-};
-use sp_core::{storage::StorageKey, Pair};
-use sp_runtime::{generic::SignedPayload, traits::IdentifyAccount, MultiAddress};
-use sp_session::MembershipProof;
-use std::time::Duration;
-
-pub use codegen_runtime::api::runtime_types;
-
-pub type RuntimeCall = runtime_types::kusama_runtime::RuntimeCall;
-
-pub type GrandpaCall = runtime_types::pallet_grandpa::pallet::Call;
-
-/// Kusama header id.
-pub type HeaderId = relay_utils::HeaderId<bp_kusama::Hash, bp_kusama::BlockNumber>;
-
-/// Kusama header type used in headers sync.
-pub type SyncHeader = relay_substrate_client::SyncHeader<bp_kusama::Header>;
-
-/// The address format for describing accounts.
-pub type Address = MultiAddress<bp_kusama::AccountId, ()>;
-
-/// Kusama chain definition
-#[derive(Debug, Clone, Copy)]
-pub struct Kusama;
-
-impl UnderlyingChainProvider for Kusama {
-	type Chain = bp_kusama::Kusama;
-}
-
-impl Chain for Kusama {
-	const NAME: &'static str = "Kusama";
-	const BEST_FINALIZED_HEADER_ID_METHOD: &'static str =
-		bp_kusama::BEST_FINALIZED_KUSAMA_HEADER_METHOD;
-	const AVERAGE_BLOCK_INTERVAL: Duration = Duration::from_secs(6);
-
-	type SignedBlock = bp_kusama::SignedBlock;
-	type Call = RuntimeCall;
-}
-
-impl ChainWithGrandpa for Kusama {
-	const SYNCED_HEADERS_GRANDPA_INFO_METHOD: &'static str =
-		KUSAMA_SYNCED_HEADERS_GRANDPA_INFO_METHOD;
-
-	type KeyOwnerProof = MembershipProof;
-}
-
-impl ChainWithBalances for Kusama {
-	fn account_info_storage_key(account_id: &Self::AccountId) -> StorageKey {
-		AccountInfoStorageMapKeyProvider::final_key(account_id)
-	}
-}
-
-impl RelayChain for Kusama {
-	const PARAS_PALLET_NAME: &'static str = bp_kusama::PARAS_PALLET_NAME;
-}
-
-impl ChainWithTransactions for Kusama {
-	type AccountKeyPair = sp_core::sr25519::Pair;
-	type SignedTransaction =
-		bp_polkadot_core::UncheckedExtrinsic<Self::Call, bp_kusama::SignedExtension>;
-
-	fn sign_transaction(
-		param: SignParam<Self>,
-		unsigned: UnsignedTransaction<Self>,
-	) -> Result<Self::SignedTransaction, SubstrateError> {
-		let raw_payload = SignedPayload::new(
-			unsigned.call,
-			bp_kusama::SignedExtension::from_params(
-				param.spec_version,
-				param.transaction_version,
-				unsigned.era,
-				param.genesis_hash,
-				unsigned.nonce,
-				unsigned.tip,
-				((), ()),
-			),
-		)?;
-
-		let signature = raw_payload.using_encoded(|payload| param.signer.sign(payload));
-		let signer: sp_runtime::MultiSigner = param.signer.public().into();
-		let (call, extra, _) = raw_payload.deconstruct();
-
-		Ok(Self::SignedTransaction::new_signed(
-			call,
-			signer.into_account().into(),
-			signature.into(),
-			extra,
-		))
-	}
-}
-
-impl ChainWithRuntimeVersion for Kusama {
-	const RUNTIME_VERSION: Option<SimpleRuntimeVersion> =
-		Some(SimpleRuntimeVersion { spec_version: 1_001_002, transaction_version: 25 });
-}
diff --git a/bridges/relays/client-polkadot-bulletin/Cargo.toml b/bridges/relays/client-polkadot-bulletin/Cargo.toml
deleted file mode 100644
index 842b53c48ef25c3ca6c91cf549fedfdf2958f788..0000000000000000000000000000000000000000
--- a/bridges/relays/client-polkadot-bulletin/Cargo.toml
+++ /dev/null
@@ -1,33 +0,0 @@
-[package]
-name = "relay-polkadot-bulletin-client"
-version = "0.1.0"
-authors = ["Parity Technologies <admin@parity.io>"]
-edition = "2021"
-license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
-
-[lints]
-workspace = true
-
-[dependencies]
-codec = { package = "parity-scale-codec", version = "3.1.5", features = ["derive"] }
-scale-info = { version = "2.11.0", default-features = false, features = ["derive"] }
-subxt = { version = "0.32.1", default-features = false, features = ["native"] }
-
-# Bridge dependencies
-
-bp-header-chain = { path = "../../primitives/header-chain" }
-bp-messages = { path = "../../primitives/messages" }
-bp-polkadot-core = { path = "../../primitives/polkadot-core" }
-bp-polkadot-bulletin = { path = "../../chains/chain-polkadot-bulletin" }
-bp-runtime = { path = "../../primitives/runtime" }
-bridge-runtime-common = { path = "../../bin/runtime-common" }
-relay-substrate-client = { path = "../client-substrate" }
-relay-utils = { path = "../utils" }
-
-# Substrate Dependencies
-
-sp-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-weights = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
diff --git a/bridges/relays/client-polkadot-bulletin/src/codegen_runtime.rs b/bridges/relays/client-polkadot-bulletin/src/codegen_runtime.rs
deleted file mode 100644
index 601a2dd973cd67ea9b5042ee666db575eedf1f3b..0000000000000000000000000000000000000000
--- a/bridges/relays/client-polkadot-bulletin/src/codegen_runtime.rs
+++ /dev/null
@@ -1,1622 +0,0 @@
-// Copyright 2019-2023 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated runtime API
-//! THIS FILE WAS AUTOGENERATED USING parity-bridges-common::runtime-codegen
-//! EXECUTED COMMAND: target/debug/runtime-codegen --from-node-url ws://127.0.0.1:10000
-
-#[allow(dead_code, unused_imports, non_camel_case_types)]
-#[allow(clippy::all)]
-#[allow(rustdoc::broken_intra_doc_links)]
-pub mod api {
-	#[allow(unused_imports)]
-	mod root_mod {
-		pub use super::*;
-	}
-	pub mod runtime_types {
-		use super::runtime_types;
-		pub mod bounded_collections {
-			use super::runtime_types;
-			pub mod bounded_vec {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BoundedVec<_0>(pub ::std::vec::Vec<_0>);
-			}
-			pub mod weak_bounded_vec {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct WeakBoundedVec<_0>(pub ::std::vec::Vec<_0>);
-			}
-		}
-		pub mod bp_header_chain {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct AuthoritySet {
-				pub authorities: ::std::vec::Vec<(
-					runtime_types::sp_consensus_grandpa::app::Public,
-					::core::primitive::u64,
-				)>,
-				pub set_id: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum HeaderChainError {
-				#[codec(index = 0)]
-				UnknownHeader,
-				#[codec(index = 1)]
-				StorageProof(runtime_types::bp_runtime::storage_proof::Error),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct HeaderFinalityInfo<_0, _1> {
-				pub finality_proof: _0,
-				pub new_verification_context: ::core::option::Option<_1>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct StoredHeaderData<_0, _1> {
-				pub number: _0,
-				pub state_root: _1,
-			}
-		}
-		pub mod bp_messages {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct DeliveredMessages {
-				pub begin: ::core::primitive::u64,
-				pub end: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundLaneData<_0> {
-				pub relayers: ::std::vec::Vec<runtime_types::bp_messages::UnrewardedRelayer<_0>>,
-				pub last_confirmed_nonce: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundMessageDetails {
-				pub dispatch_weight: ::sp_weights::Weight,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct LaneId(pub [::core::primitive::u8; 4usize]);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct MessageKey {
-				pub lane_id: runtime_types::bp_messages::LaneId,
-				pub nonce: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum MessagesOperatingMode {
-				#[codec(index = 0)]
-				Basic(runtime_types::bp_runtime::BasicOperatingMode),
-				#[codec(index = 1)]
-				RejectingOutboundMessages,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OutboundLaneData {
-				pub oldest_unpruned_nonce: ::core::primitive::u64,
-				pub latest_received_nonce: ::core::primitive::u64,
-				pub latest_generated_nonce: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OutboundMessageDetails {
-				pub nonce: ::core::primitive::u64,
-				pub dispatch_weight: ::sp_weights::Weight,
-				pub size: ::core::primitive::u32,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ReceivalResult<_0> {
-				#[codec(index = 0)]
-				Dispatched(runtime_types::bp_runtime::messages::MessageDispatchResult<_0>),
-				#[codec(index = 1)]
-				InvalidNonce,
-				#[codec(index = 2)]
-				TooManyUnrewardedRelayers,
-				#[codec(index = 3)]
-				TooManyUnconfirmedMessages,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ReceivedMessages<_0> {
-				pub lane: runtime_types::bp_messages::LaneId,
-				pub receive_results: ::std::vec::Vec<(
-					::core::primitive::u64,
-					runtime_types::bp_messages::ReceivalResult<_0>,
-				)>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct UnrewardedRelayer<_0> {
-				pub relayer: _0,
-				pub messages: runtime_types::bp_messages::DeliveredMessages,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VerificationError {
-				#[codec(index = 0)]
-				EmptyMessageProof,
-				#[codec(index = 1)]
-				HeaderChain(runtime_types::bp_header_chain::HeaderChainError),
-				#[codec(index = 2)]
-				InboundLaneStorage(runtime_types::bp_runtime::storage_proof::Error),
-				#[codec(index = 3)]
-				InvalidMessageWeight,
-				#[codec(index = 4)]
-				MessagesCountMismatch,
-				#[codec(index = 5)]
-				MessageStorage(runtime_types::bp_runtime::storage_proof::Error),
-				#[codec(index = 6)]
-				MessageTooLarge,
-				#[codec(index = 7)]
-				OutboundLaneStorage(runtime_types::bp_runtime::storage_proof::Error),
-				#[codec(index = 8)]
-				StorageProof(runtime_types::bp_runtime::storage_proof::Error),
-				#[codec(index = 9)]
-				Other,
-			}
-		}
-		pub mod bp_parachains {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BestParaHeadHash {
-				pub at_relay_block_number: ::core::primitive::u32,
-				pub head_hash: ::subxt::utils::H256,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ParaInfo {
-				pub best_head_hash: runtime_types::bp_parachains::BestParaHeadHash,
-				pub next_imported_hash_position: ::core::primitive::u32,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ParaStoredHeaderData(pub ::std::vec::Vec<::core::primitive::u8>);
-		}
-		pub mod bp_runtime {
-			use super::runtime_types;
-			pub mod messages {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct MessageDispatchResult<_0> {
-					pub unspent_weight: ::sp_weights::Weight,
-					pub dispatch_level_result: _0,
-				}
-			}
-			pub mod storage_proof {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					DuplicateNodesInProof,
-					#[codec(index = 1)]
-					UnusedNodesInTheProof,
-					#[codec(index = 2)]
-					StorageRootMismatch,
-					#[codec(index = 3)]
-					StorageValueUnavailable,
-					#[codec(index = 4)]
-					StorageValueEmpty,
-					#[codec(index = 5)]
-					StorageValueDecodeFailed(runtime_types::bp_runtime::StrippableError),
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum BasicOperatingMode {
-				#[codec(index = 0)]
-				Normal,
-				#[codec(index = 1)]
-				Halted,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct HeaderId<_0, _1>(pub _1, pub _0);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum OwnedBridgeModuleError {
-				#[codec(index = 0)]
-				Halted,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct StrippableError;
-		}
-		pub mod bridge_runtime_common {
-			use super::runtime_types;
-			pub mod messages_xcm_extension {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum XcmBlobMessageDispatchResult {
-					#[codec(index = 0)]
-					InvalidPayload,
-					#[codec(index = 1)]
-					Dispatched,
-					#[codec(index = 2)]
-					NotDispatched,
-				}
-			}
-		}
-		pub mod finality_grandpa {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Commit<_0, _1, _2, _3> {
-				pub target_hash: _0,
-				pub target_number: _1,
-				pub precommits: ::std::vec::Vec<
-					runtime_types::finality_grandpa::SignedPrecommit<_0, _1, _2, _3>,
-				>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Equivocation<_0, _1, _2> {
-				pub round_number: ::core::primitive::u64,
-				pub identity: _0,
-				pub first: (_1, _2),
-				pub second: (_1, _2),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Precommit<_0, _1> {
-				pub target_hash: _0,
-				pub target_number: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Prevote<_0, _1> {
-				pub target_hash: _0,
-				pub target_number: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct SignedPrecommit<_0, _1, _2, _3> {
-				pub precommit: runtime_types::finality_grandpa::Precommit<_0, _1>,
-				pub signature: _2,
-				pub id: _3,
-			}
-		}
-		pub mod frame_support {
-			use super::runtime_types;
-			pub mod dispatch {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum DispatchClass {
-					#[codec(index = 0)]
-					Normal,
-					#[codec(index = 1)]
-					Operational,
-					#[codec(index = 2)]
-					Mandatory,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DispatchInfo {
-					pub weight: ::sp_weights::Weight,
-					pub class: runtime_types::frame_support::dispatch::DispatchClass,
-					pub pays_fee: runtime_types::frame_support::dispatch::Pays,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Pays {
-					#[codec(index = 0)]
-					Yes,
-					#[codec(index = 1)]
-					No,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PerDispatchClass<_0> {
-					pub normal: _0,
-					pub operational: _0,
-					pub mandatory: _0,
-				}
-			}
-		}
-		pub mod frame_system {
-			use super::runtime_types;
-			pub mod extensions {
-				use super::runtime_types;
-				pub mod check_genesis {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckGenesis;
-				}
-				pub mod check_mortality {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckMortality(pub ::sp_runtime::generic::Era);
-				}
-				pub mod check_non_zero_sender {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckNonZeroSender;
-				}
-				pub mod check_nonce {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckNonce(#[codec(compact)] pub ::core::primitive::u32);
-				}
-				pub mod check_spec_version {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckSpecVersion;
-				}
-				pub mod check_tx_version {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckTxVersion;
-				}
-				pub mod check_weight {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckWeight;
-				}
-			}
-			pub mod limits {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BlockLength {
-					pub max: runtime_types::frame_support::dispatch::PerDispatchClass<
-						::core::primitive::u32,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BlockWeights {
-					pub base_block: ::sp_weights::Weight,
-					pub max_block: ::sp_weights::Weight,
-					pub per_class: runtime_types::frame_support::dispatch::PerDispatchClass<
-						runtime_types::frame_system::limits::WeightsPerClass,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct WeightsPerClass {
-					pub base_extrinsic: ::sp_weights::Weight,
-					pub max_extrinsic: ::core::option::Option<::sp_weights::Weight>,
-					pub max_total: ::core::option::Option<::sp_weights::Weight>,
-					pub reserved: ::core::option::Option<::sp_weights::Weight>,
-				}
-			}
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					remark { remark: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 1)]
-					set_heap_pages { pages: ::core::primitive::u64 },
-					#[codec(index = 2)]
-					set_code { code: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 3)]
-					set_code_without_checks { code: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 4)]
-					set_storage {
-						items: ::std::vec::Vec<(
-							::std::vec::Vec<::core::primitive::u8>,
-							::std::vec::Vec<::core::primitive::u8>,
-						)>,
-					},
-					#[codec(index = 5)]
-					kill_storage { keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>> },
-					#[codec(index = 6)]
-					kill_prefix {
-						prefix: ::std::vec::Vec<::core::primitive::u8>,
-						subkeys: ::core::primitive::u32,
-					},
-					#[codec(index = 7)]
-					remark_with_event { remark: ::std::vec::Vec<::core::primitive::u8> },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidSpecName,
-					#[codec(index = 1)]
-					SpecVersionNeedsToIncrease,
-					#[codec(index = 2)]
-					FailedToExtractRuntimeVersion,
-					#[codec(index = 3)]
-					NonDefaultComposite,
-					#[codec(index = 4)]
-					NonZeroRefCount,
-					#[codec(index = 5)]
-					CallFiltered,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					ExtrinsicSuccess {
-						dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo,
-					},
-					#[codec(index = 1)]
-					ExtrinsicFailed {
-						dispatch_error: runtime_types::sp_runtime::DispatchError,
-						dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo,
-					},
-					#[codec(index = 2)]
-					CodeUpdated,
-					#[codec(index = 3)]
-					NewAccount { account: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 4)]
-					KilledAccount { account: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 5)]
-					Remarked { sender: ::sp_core::crypto::AccountId32, hash: ::subxt::utils::H256 },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct AccountInfo<_0, _1> {
-				pub nonce: _0,
-				pub consumers: ::core::primitive::u32,
-				pub providers: ::core::primitive::u32,
-				pub sufficients: ::core::primitive::u32,
-				pub data: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct EventRecord<_0, _1> {
-				pub phase: runtime_types::frame_system::Phase,
-				pub event: _0,
-				pub topics: ::std::vec::Vec<_1>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct LastRuntimeUpgradeInfo {
-				#[codec(compact)]
-				pub spec_version: ::core::primitive::u32,
-				pub spec_name: ::std::string::String,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Phase {
-				#[codec(index = 0)]
-				ApplyExtrinsic(::core::primitive::u32),
-				#[codec(index = 1)]
-				Finalization,
-				#[codec(index = 2)]
-				Initialization,
-			}
-		}
-		pub mod pallet_babe {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					report_equivocation {
-						equivocation_proof: ::std::boxed::Box<
-							runtime_types::sp_consensus_slots::EquivocationProof<
-								::sp_runtime::generic::Header<
-									::core::primitive::u32,
-									::sp_runtime::traits::BlakeTwo256,
-								>,
-								runtime_types::sp_consensus_babe::app::Public,
-							>,
-						>,
-						key_owner_proof: ::sp_session::MembershipProof,
-					},
-					#[codec(index = 1)]
-					report_equivocation_unsigned {
-						equivocation_proof: ::std::boxed::Box<
-							runtime_types::sp_consensus_slots::EquivocationProof<
-								::sp_runtime::generic::Header<
-									::core::primitive::u32,
-									::sp_runtime::traits::BlakeTwo256,
-								>,
-								runtime_types::sp_consensus_babe::app::Public,
-							>,
-						>,
-						key_owner_proof: ::sp_session::MembershipProof,
-					},
-					#[codec(index = 2)]
-					plan_config_change {
-						config: runtime_types::sp_consensus_babe::digests::NextConfigDescriptor,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidEquivocationProof,
-					#[codec(index = 1)]
-					InvalidKeyOwnershipProof,
-					#[codec(index = 2)]
-					DuplicateOffenceReport,
-					#[codec(index = 3)]
-					InvalidConfiguration,
-				}
-			}
-		}
-		pub mod pallet_bridge_grandpa {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					submit_finality_proof {
-						finality_target: ::std::boxed::Box<
-							::sp_runtime::generic::Header<
-								::core::primitive::u32,
-								::sp_runtime::traits::BlakeTwo256,
-							>,
-						>,
-						justification: ::bp_header_chain::justification::GrandpaJustification<
-							::sp_runtime::generic::Header<
-								::core::primitive::u32,
-								::sp_runtime::traits::BlakeTwo256,
-							>,
-						>,
-					},
-					#[codec(index = 1)]
-					initialize {
-						init_data: ::bp_header_chain::InitializationData<
-							::sp_runtime::generic::Header<
-								::core::primitive::u32,
-								::sp_runtime::traits::BlakeTwo256,
-							>,
-						>,
-					},
-					#[codec(index = 2)]
-					set_owner { new_owner: ::core::option::Option<::sp_core::crypto::AccountId32> },
-					#[codec(index = 3)]
-					set_operating_mode {
-						operating_mode: runtime_types::bp_runtime::BasicOperatingMode,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidJustification,
-					#[codec(index = 1)]
-					InvalidAuthoritySet,
-					#[codec(index = 2)]
-					OldHeader,
-					#[codec(index = 3)]
-					UnsupportedScheduledChange,
-					#[codec(index = 4)]
-					NotInitialized,
-					#[codec(index = 5)]
-					AlreadyInitialized,
-					#[codec(index = 6)]
-					TooManyAuthoritiesInSet,
-					#[codec(index = 7)]
-					BridgeModule(runtime_types::bp_runtime::OwnedBridgeModuleError),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					UpdatedBestFinalizedHeader {
-						number: ::core::primitive::u32,
-						hash: ::subxt::utils::H256,
-						grandpa_info: runtime_types::bp_header_chain::HeaderFinalityInfo<
-							::bp_header_chain::justification::GrandpaJustification<
-								::sp_runtime::generic::Header<
-									::core::primitive::u32,
-									::sp_runtime::traits::BlakeTwo256,
-								>,
-							>,
-							runtime_types::bp_header_chain::AuthoritySet,
-						>,
-					},
-				}
-			}
-			pub mod storage_types {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct StoredAuthoritySet {
-					pub authorities: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-						runtime_types::sp_consensus_grandpa::app::Public,
-						::core::primitive::u64,
-					)>,
-					pub set_id: ::core::primitive::u64,
-				}
-			}
-		}
-		pub mod pallet_bridge_messages {
-			use super::runtime_types;
-			pub mod outbound_lane {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum ReceivalConfirmationError {
-					#[codec(index = 0)]
-					FailedToConfirmFutureMessages,
-					#[codec(index = 1)]
-					EmptyUnrewardedRelayerEntry,
-					#[codec(index = 2)]
-					NonConsecutiveUnrewardedRelayerEntries,
-					#[codec(index = 3)]
-					TryingToConfirmMoreMessagesThanExpected,
-				}
-			}
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					# [codec (index = 0)] set_owner { new_owner : :: core :: option :: Option < :: sp_core :: crypto :: AccountId32 > , } , # [codec (index = 1)] set_operating_mode { operating_mode : runtime_types :: bp_messages :: MessagesOperatingMode , } , # [codec (index = 2)] receive_messages_proof { relayer_id_at_bridged_chain : :: sp_core :: crypto :: AccountId32 , proof : :: bridge_runtime_common :: messages :: target :: FromBridgedChainMessagesProof < :: subxt :: utils :: H256 > , messages_count : :: core :: primitive :: u32 , dispatch_weight : :: sp_weights :: Weight , } , # [codec (index = 3)] receive_messages_delivery_proof { proof : :: bridge_runtime_common :: messages :: source :: FromBridgedChainMessagesDeliveryProof < :: subxt :: utils :: H256 > , relayers_state : :: bp_messages :: UnrewardedRelayersState , } , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					# [codec (index = 0)] NotOperatingNormally , # [codec (index = 1)] InactiveOutboundLane , # [codec (index = 2)] MessageDispatchInactive , # [codec (index = 3)] MessageRejectedByChainVerifier (runtime_types :: bp_messages :: VerificationError ,) , # [codec (index = 4)] MessageRejectedByLaneVerifier (runtime_types :: bp_messages :: VerificationError ,) , # [codec (index = 5)] MessageRejectedByPallet (runtime_types :: bp_messages :: VerificationError ,) , # [codec (index = 6)] FailedToWithdrawMessageFee , # [codec (index = 7)] TooManyMessagesInTheProof , # [codec (index = 8)] InvalidMessagesProof , # [codec (index = 9)] InvalidMessagesDeliveryProof , # [codec (index = 10)] InvalidUnrewardedRelayersState , # [codec (index = 11)] InsufficientDispatchWeight , # [codec (index = 12)] MessageIsNotYetSent , # [codec (index = 13)] ReceivalConfirmation (runtime_types :: pallet_bridge_messages :: outbound_lane :: ReceivalConfirmationError ,) , # [codec (index = 14)] BridgeModule (runtime_types :: bp_runtime :: OwnedBridgeModuleError ,) , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					# [codec (index = 0)] MessageAccepted { lane_id : runtime_types :: bp_messages :: LaneId , nonce : :: core :: primitive :: u64 , } , # [codec (index = 1)] MessagesReceived (:: std :: vec :: Vec < runtime_types :: bp_messages :: ReceivedMessages < runtime_types :: bridge_runtime_common :: messages_xcm_extension :: XcmBlobMessageDispatchResult > > ,) , # [codec (index = 2)] MessagesDelivered { lane_id : runtime_types :: bp_messages :: LaneId , messages : runtime_types :: bp_messages :: DeliveredMessages , } , }
-			}
-		}
-		pub mod pallet_bridge_parachains {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					submit_parachain_heads {
-						at_relay_block: (::core::primitive::u32, ::subxt::utils::H256),
-						parachains: ::std::vec::Vec<(
-							::bp_polkadot_core::parachains::ParaId,
-							::subxt::utils::H256,
-						)>,
-						parachain_heads_proof: ::bp_polkadot_core::parachains::ParaHeadsProof,
-					},
-					#[codec(index = 1)]
-					set_owner { new_owner: ::core::option::Option<::sp_core::crypto::AccountId32> },
-					#[codec(index = 2)]
-					set_operating_mode {
-						operating_mode: runtime_types::bp_runtime::BasicOperatingMode,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					UnknownRelayChainBlock,
-					#[codec(index = 1)]
-					InvalidRelayChainBlockNumber,
-					#[codec(index = 2)]
-					HeaderChainStorageProof(runtime_types::bp_header_chain::HeaderChainError),
-					#[codec(index = 3)]
-					BridgeModule(runtime_types::bp_runtime::OwnedBridgeModuleError),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					UntrackedParachainRejected { parachain: ::bp_polkadot_core::parachains::ParaId },
-					#[codec(index = 1)]
-					MissingParachainHead { parachain: ::bp_polkadot_core::parachains::ParaId },
-					#[codec(index = 2)]
-					IncorrectParachainHeadHash {
-						parachain: ::bp_polkadot_core::parachains::ParaId,
-						parachain_head_hash: ::subxt::utils::H256,
-						actual_parachain_head_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 3)]
-					RejectedObsoleteParachainHead {
-						parachain: ::bp_polkadot_core::parachains::ParaId,
-						parachain_head_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 4)]
-					RejectedLargeParachainHead {
-						parachain: ::bp_polkadot_core::parachains::ParaId,
-						parachain_head_hash: ::subxt::utils::H256,
-						parachain_head_size: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					UpdatedParachainHead {
-						parachain: ::bp_polkadot_core::parachains::ParaId,
-						parachain_head_hash: ::subxt::utils::H256,
-					},
-				}
-			}
-		}
-		pub mod pallet_grandpa {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					report_equivocation {
-						equivocation_proof: ::std::boxed::Box<
-							::sp_consensus_grandpa::EquivocationProof<
-								::subxt::utils::H256,
-								::core::primitive::u32,
-							>,
-						>,
-						key_owner_proof: ::sp_session::MembershipProof,
-					},
-					#[codec(index = 1)]
-					report_equivocation_unsigned {
-						equivocation_proof: ::std::boxed::Box<
-							::sp_consensus_grandpa::EquivocationProof<
-								::subxt::utils::H256,
-								::core::primitive::u32,
-							>,
-						>,
-						key_owner_proof: ::sp_session::MembershipProof,
-					},
-					#[codec(index = 2)]
-					note_stalled {
-						delay: ::core::primitive::u32,
-						best_finalized_block_number: ::core::primitive::u32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					PauseFailed,
-					#[codec(index = 1)]
-					ResumeFailed,
-					#[codec(index = 2)]
-					ChangePending,
-					#[codec(index = 3)]
-					TooSoon,
-					#[codec(index = 4)]
-					InvalidKeyOwnershipProof,
-					#[codec(index = 5)]
-					InvalidEquivocationProof,
-					#[codec(index = 6)]
-					DuplicateOffenceReport,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewAuthorities {
-						authority_set: ::std::vec::Vec<(
-							runtime_types::sp_consensus_grandpa::app::Public,
-							::core::primitive::u64,
-						)>,
-					},
-					#[codec(index = 1)]
-					Paused,
-					#[codec(index = 2)]
-					Resumed,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct StoredPendingChange<_0> {
-				pub scheduled_at: _0,
-				pub delay: _0,
-				pub next_authorities:
-					runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<(
-						runtime_types::sp_consensus_grandpa::app::Public,
-						::core::primitive::u64,
-					)>,
-				pub forced: ::core::option::Option<_0>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum StoredState<_0> {
-				#[codec(index = 0)]
-				Live,
-				#[codec(index = 1)]
-				PendingPause { scheduled_at: _0, delay: _0 },
-				#[codec(index = 2)]
-				Paused,
-				#[codec(index = 3)]
-				PendingResume { scheduled_at: _0, delay: _0 },
-			}
-		}
-		pub mod pallet_im_online {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					heartbeat {
-						heartbeat:
-							runtime_types::pallet_im_online::Heartbeat<::core::primitive::u32>,
-						signature: runtime_types::pallet_im_online::sr25519::app_sr25519::Signature,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidKey,
-					#[codec(index = 1)]
-					DuplicatedHeartbeat,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					HeartbeatReceived {
-						authority_id: runtime_types::pallet_im_online::sr25519::app_sr25519::Public,
-					},
-					#[codec(index = 1)]
-					AllGood,
-					#[codec(index = 2)]
-					SomeOffline {
-						offline: ::std::vec::Vec<(
-							::sp_core::crypto::AccountId32,
-							::sp_core::crypto::AccountId32,
-						)>,
-					},
-				}
-			}
-			pub mod sr25519 {
-				use super::runtime_types;
-				pub mod app_sr25519 {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Signature(pub runtime_types::sp_core::sr25519::Signature);
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Heartbeat<_0> {
-				pub block_number: _0,
-				pub session_index: ::core::primitive::u32,
-				pub authority_index: ::core::primitive::u32,
-				pub validators_len: ::core::primitive::u32,
-			}
-		}
-		pub mod pallet_offences {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Offence {
-						kind: [::core::primitive::u8; 16usize],
-						timeslot: ::std::vec::Vec<::core::primitive::u8>,
-					},
-				}
-			}
-		}
-		pub mod pallet_relayer_set {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					Duplicate,
-					#[codec(index = 1)]
-					NotARelayer,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					RelayerAdded(::sp_core::crypto::AccountId32),
-					#[codec(index = 1)]
-					RelayerRemoved(::sp_core::crypto::AccountId32),
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Relayer<_0> {
-				pub min_bridge_tx_block: _0,
-			}
-		}
-		pub mod pallet_session {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					set_keys {
-						keys: runtime_types::polkadot_bulletin_chain_runtime::opaque::SessionKeys,
-						proof: ::std::vec::Vec<::core::primitive::u8>,
-					},
-					#[codec(index = 1)]
-					purge_keys,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidProof,
-					#[codec(index = 1)]
-					NoAssociatedValidatorId,
-					#[codec(index = 2)]
-					DuplicatedKey,
-					#[codec(index = 3)]
-					NoKeys,
-					#[codec(index = 4)]
-					NoAccount,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewSession { session_index: ::core::primitive::u32 },
-				}
-			}
-		}
-		pub mod pallet_sudo {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					sudo {
-						call: ::std::boxed::Box<
-							runtime_types::polkadot_bulletin_chain_runtime::RuntimeCall,
-						>,
-					},
-					#[codec(index = 1)]
-					sudo_unchecked_weight {
-						call: ::std::boxed::Box<
-							runtime_types::polkadot_bulletin_chain_runtime::RuntimeCall,
-						>,
-						weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 2)]
-					set_key {
-						new: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 3)]
-					sudo_as {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						call: ::std::boxed::Box<
-							runtime_types::polkadot_bulletin_chain_runtime::RuntimeCall,
-						>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					RequireSudo,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Sudid {
-						sudo_result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 1)]
-					KeyChanged {
-						old_sudoer: ::core::option::Option<::sp_core::crypto::AccountId32>,
-					},
-					#[codec(index = 2)]
-					SudoAsDone {
-						sudo_result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-				}
-			}
-		}
-		pub mod pallet_timestamp {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					set {
-						#[codec(compact)]
-						now: ::core::primitive::u64,
-					},
-				}
-			}
-		}
-		pub mod pallet_transaction_storage {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					store { data: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 1)]
-					renew { block: ::core::primitive::u32, index: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					check_proof {
-						proof: runtime_types::sp_transaction_storage_proof::TransactionStorageProof,
-					},
-					#[codec(index = 3)]
-					authorize_account {
-						who: ::sp_core::crypto::AccountId32,
-						transactions: ::core::primitive::u32,
-						bytes: ::core::primitive::u64,
-					},
-					#[codec(index = 4)]
-					authorize_preimage {
-						hash: [::core::primitive::u8; 32usize],
-						max_size: ::core::primitive::u64,
-					},
-					#[codec(index = 5)]
-					remove_expired_account_authorization { who: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 6)]
-					remove_expired_preimage_authorization { hash: [::core::primitive::u8; 32usize] },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					BadContext,
-					#[codec(index = 1)]
-					BadDataSize,
-					#[codec(index = 2)]
-					TooManyTransactions,
-					#[codec(index = 3)]
-					RenewedNotFound,
-					#[codec(index = 4)]
-					UnexpectedProof,
-					#[codec(index = 5)]
-					InvalidProof,
-					#[codec(index = 6)]
-					MissingStateData,
-					#[codec(index = 7)]
-					DoubleCheck,
-					#[codec(index = 8)]
-					AuthorizationNotFound,
-					#[codec(index = 9)]
-					AuthorizationNotExpired,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Stored { index: ::core::primitive::u32 },
-					#[codec(index = 1)]
-					Renewed { index: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					ProofChecked,
-					#[codec(index = 3)]
-					AccountAuthorized {
-						who: ::sp_core::crypto::AccountId32,
-						transactions: ::core::primitive::u32,
-						bytes: ::core::primitive::u64,
-					},
-					#[codec(index = 4)]
-					PreimageAuthorized {
-						hash: [::core::primitive::u8; 32usize],
-						max_size: ::core::primitive::u64,
-					},
-					#[codec(index = 5)]
-					ExpiredAccountAuthorizationRemoved { who: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 6)]
-					ExpiredPreimageAuthorizationRemoved { hash: [::core::primitive::u8; 32usize] },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Authorization<_0> {
-				pub extent: runtime_types::pallet_transaction_storage::AuthorizationExtent,
-				pub expiration: _0,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct AuthorizationExtent {
-				pub transactions: ::core::primitive::u32,
-				pub bytes: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum AuthorizationScope<_0> {
-				#[codec(index = 0)]
-				Account(_0),
-				#[codec(index = 1)]
-				Preimage([::core::primitive::u8; 32usize]),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct TransactionInfo {
-				pub chunk_root: ::subxt::utils::H256,
-				pub content_hash: ::subxt::utils::H256,
-				pub size: ::core::primitive::u32,
-				pub block_chunks: ::core::primitive::u32,
-			}
-		}
-		pub mod pallet_validator_set {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					Duplicate,
-					#[codec(index = 1)]
-					NotAValidator,
-					#[codec(index = 2)]
-					TooManyValidators,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					ValidatorAdded(::sp_core::crypto::AccountId32),
-					#[codec(index = 1)]
-					ValidatorRemoved(::sp_core::crypto::AccountId32),
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Validator<_0> {
-				pub min_set_keys_block: _0,
-			}
-		}
-		pub mod polkadot_bulletin_chain_runtime {
-			use super::runtime_types;
-			pub mod opaque {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SessionKeys {
-					pub babe: runtime_types::sp_consensus_babe::app::Public,
-					pub grandpa: runtime_types::sp_consensus_grandpa::app::Public,
-					pub im_online: runtime_types::pallet_im_online::sr25519::app_sr25519::Public,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BridgeRejectObsoleteHeadersAndMessages;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Runtime;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeCall {
-				#[codec(index = 0)]
-				System(runtime_types::frame_system::pallet::Call),
-				#[codec(index = 1)]
-				Babe(runtime_types::pallet_babe::pallet::Call),
-				#[codec(index = 2)]
-				Timestamp(runtime_types::pallet_timestamp::pallet::Call),
-				#[codec(index = 14)]
-				Session(runtime_types::pallet_session::pallet::Call),
-				#[codec(index = 15)]
-				ImOnline(runtime_types::pallet_im_online::pallet::Call),
-				#[codec(index = 16)]
-				Grandpa(runtime_types::pallet_grandpa::pallet::Call),
-				#[codec(index = 40)]
-				TransactionStorage(runtime_types::pallet_transaction_storage::pallet::Call),
-				#[codec(index = 51)]
-				BridgePolkadotGrandpa(runtime_types::pallet_bridge_grandpa::pallet::Call),
-				#[codec(index = 52)]
-				BridgePolkadotParachains(runtime_types::pallet_bridge_parachains::pallet::Call),
-				#[codec(index = 53)]
-				BridgePolkadotMessages(runtime_types::pallet_bridge_messages::pallet::Call),
-				#[codec(index = 255)]
-				Sudo(runtime_types::pallet_sudo::pallet::Call),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeError {
-				#[codec(index = 0)]
-				System(runtime_types::frame_system::pallet::Error),
-				#[codec(index = 1)]
-				Babe(runtime_types::pallet_babe::pallet::Error),
-				#[codec(index = 13)]
-				ValidatorSet(runtime_types::pallet_validator_set::pallet::Error),
-				#[codec(index = 14)]
-				Session(runtime_types::pallet_session::pallet::Error),
-				#[codec(index = 15)]
-				ImOnline(runtime_types::pallet_im_online::pallet::Error),
-				#[codec(index = 16)]
-				Grandpa(runtime_types::pallet_grandpa::pallet::Error),
-				#[codec(index = 40)]
-				TransactionStorage(runtime_types::pallet_transaction_storage::pallet::Error),
-				#[codec(index = 50)]
-				RelayerSet(runtime_types::pallet_relayer_set::pallet::Error),
-				#[codec(index = 51)]
-				BridgePolkadotGrandpa(runtime_types::pallet_bridge_grandpa::pallet::Error),
-				#[codec(index = 52)]
-				BridgePolkadotParachains(runtime_types::pallet_bridge_parachains::pallet::Error),
-				#[codec(index = 53)]
-				BridgePolkadotMessages(runtime_types::pallet_bridge_messages::pallet::Error),
-				#[codec(index = 255)]
-				Sudo(runtime_types::pallet_sudo::pallet::Error),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeEvent {
-				#[codec(index = 0)]
-				System(runtime_types::frame_system::pallet::Event),
-				#[codec(index = 11)]
-				Offences(runtime_types::pallet_offences::pallet::Event),
-				#[codec(index = 13)]
-				ValidatorSet(runtime_types::pallet_validator_set::pallet::Event),
-				#[codec(index = 14)]
-				Session(runtime_types::pallet_session::pallet::Event),
-				#[codec(index = 15)]
-				ImOnline(runtime_types::pallet_im_online::pallet::Event),
-				#[codec(index = 16)]
-				Grandpa(runtime_types::pallet_grandpa::pallet::Event),
-				#[codec(index = 40)]
-				TransactionStorage(runtime_types::pallet_transaction_storage::pallet::Event),
-				#[codec(index = 50)]
-				RelayerSet(runtime_types::pallet_relayer_set::pallet::Event),
-				#[codec(index = 51)]
-				BridgePolkadotGrandpa(runtime_types::pallet_bridge_grandpa::pallet::Event),
-				#[codec(index = 52)]
-				BridgePolkadotParachains(runtime_types::pallet_bridge_parachains::pallet::Event),
-				#[codec(index = 53)]
-				BridgePolkadotMessages(runtime_types::pallet_bridge_messages::pallet::Event),
-				#[codec(index = 255)]
-				Sudo(runtime_types::pallet_sudo::pallet::Event),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ValidateSigned;
-		}
-		pub mod sp_arithmetic {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ArithmeticError {
-				#[codec(index = 0)]
-				Underflow,
-				#[codec(index = 1)]
-				Overflow,
-				#[codec(index = 2)]
-				DivisionByZero,
-			}
-		}
-		pub mod sp_consensus_babe {
-			use super::runtime_types;
-			pub mod app {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-			}
-			pub mod digests {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum NextConfigDescriptor {
-					#[codec(index = 1)]
-					V1 {
-						c: (::core::primitive::u64, ::core::primitive::u64),
-						allowed_slots: runtime_types::sp_consensus_babe::AllowedSlots,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum PreDigest {
-					#[codec(index = 1)]
-					Primary(runtime_types::sp_consensus_babe::digests::PrimaryPreDigest),
-					#[codec(index = 2)]
-					SecondaryPlain(
-						runtime_types::sp_consensus_babe::digests::SecondaryPlainPreDigest,
-					),
-					#[codec(index = 3)]
-					SecondaryVRF(runtime_types::sp_consensus_babe::digests::SecondaryVRFPreDigest),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PrimaryPreDigest {
-					pub authority_index: ::core::primitive::u32,
-					pub slot: runtime_types::sp_consensus_slots::Slot,
-					pub vrf_signature: runtime_types::sp_core::sr25519::vrf::VrfSignature,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SecondaryPlainPreDigest {
-					pub authority_index: ::core::primitive::u32,
-					pub slot: runtime_types::sp_consensus_slots::Slot,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SecondaryVRFPreDigest {
-					pub authority_index: ::core::primitive::u32,
-					pub slot: runtime_types::sp_consensus_slots::Slot,
-					pub vrf_signature: runtime_types::sp_core::sr25519::vrf::VrfSignature,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum AllowedSlots {
-				#[codec(index = 0)]
-				PrimarySlots,
-				#[codec(index = 1)]
-				PrimaryAndSecondaryPlainSlots,
-				#[codec(index = 2)]
-				PrimaryAndSecondaryVRFSlots,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BabeEpochConfiguration {
-				pub c: (::core::primitive::u64, ::core::primitive::u64),
-				pub allowed_slots: runtime_types::sp_consensus_babe::AllowedSlots,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OpaqueKeyOwnershipProof(pub ::std::vec::Vec<::core::primitive::u8>);
-		}
-		pub mod sp_consensus_grandpa {
-			use super::runtime_types;
-			pub mod app {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub runtime_types::sp_core::ed25519::Public);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub runtime_types::sp_core::ed25519::Signature);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OpaqueKeyOwnershipProof(pub ::std::vec::Vec<::core::primitive::u8>);
-		}
-		pub mod sp_consensus_slots {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct EquivocationProof<_0, _1> {
-				pub offender: _1,
-				pub slot: runtime_types::sp_consensus_slots::Slot,
-				pub first_header: _0,
-				pub second_header: _0,
-			}
-			#[derive(
-				:: codec :: Decode,
-				:: codec :: Encode,
-				:: subxt :: ext :: codec :: CompactAs,
-				Clone,
-				Debug,
-				PartialEq,
-			)]
-			pub struct Slot(pub ::core::primitive::u64);
-		}
-		pub mod sp_core {
-			use super::runtime_types;
-			pub mod crypto {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct KeyTypeId(pub [::core::primitive::u8; 4usize]);
-			}
-			pub mod ecdsa {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 65usize]);
-			}
-			pub mod ed25519 {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub [::core::primitive::u8; 32usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 64usize]);
-			}
-			pub mod sr25519 {
-				use super::runtime_types;
-				pub mod vrf {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct VrfSignature {
-						pub output: [::core::primitive::u8; 32usize],
-						pub proof: [::core::primitive::u8; 64usize],
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub [::core::primitive::u8; 32usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 64usize]);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OpaqueMetadata(pub ::std::vec::Vec<::core::primitive::u8>);
-		}
-		pub mod sp_inherents {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct CheckInherentsResult {
-				pub okay: ::core::primitive::bool,
-				pub fatal_error: ::core::primitive::bool,
-				pub errors: runtime_types::sp_inherents::InherentData,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InherentData {
-				pub data: ::subxt::utils::KeyedVec<
-					[::core::primitive::u8; 8usize],
-					::std::vec::Vec<::core::primitive::u8>,
-				>,
-			}
-		}
-		pub mod sp_runtime {
-			use super::runtime_types;
-			pub mod generic {
-				use super::runtime_types;
-				pub mod block {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Block<_0, _1> {
-						pub header: _0,
-						pub extrinsics: ::std::vec::Vec<_1>,
-					}
-				}
-				pub mod digest {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum DigestItem {
-						#[codec(index = 6)]
-						PreRuntime(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 4)]
-						Consensus(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 5)]
-						Seal(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 0)]
-						Other(::std::vec::Vec<::core::primitive::u8>),
-						#[codec(index = 8)]
-						RuntimeEnvironmentUpdated,
-					}
-				}
-			}
-			pub mod transaction_validity {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum TransactionSource {
-					#[codec(index = 0)]
-					InBlock,
-					#[codec(index = 1)]
-					Local,
-					#[codec(index = 2)]
-					External,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum UnknownTransaction {
-					#[codec(index = 0)]
-					CannotLookup,
-					#[codec(index = 1)]
-					NoUnsignedValidator,
-					#[codec(index = 2)]
-					Custom(::core::primitive::u8),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum DispatchError {
-				#[codec(index = 0)]
-				Other,
-				#[codec(index = 1)]
-				CannotLookup,
-				#[codec(index = 2)]
-				BadOrigin,
-				#[codec(index = 3)]
-				Module(runtime_types::sp_runtime::ModuleError),
-				#[codec(index = 4)]
-				ConsumerRemaining,
-				#[codec(index = 5)]
-				NoProviders,
-				#[codec(index = 6)]
-				TooManyConsumers,
-				#[codec(index = 7)]
-				Token(runtime_types::sp_runtime::TokenError),
-				#[codec(index = 8)]
-				Arithmetic(runtime_types::sp_arithmetic::ArithmeticError),
-				#[codec(index = 9)]
-				Transactional(runtime_types::sp_runtime::TransactionalError),
-				#[codec(index = 10)]
-				Exhausted,
-				#[codec(index = 11)]
-				Corruption,
-				#[codec(index = 12)]
-				Unavailable,
-				#[codec(index = 13)]
-				RootNotAllowed,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ModuleError {
-				pub index: ::core::primitive::u8,
-				pub error: [::core::primitive::u8; 4usize],
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum MultiSignature {
-				#[codec(index = 0)]
-				Ed25519(runtime_types::sp_core::ed25519::Signature),
-				#[codec(index = 1)]
-				Sr25519(runtime_types::sp_core::sr25519::Signature),
-				#[codec(index = 2)]
-				Ecdsa(runtime_types::sp_core::ecdsa::Signature),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum TokenError {
-				#[codec(index = 0)]
-				FundsUnavailable,
-				#[codec(index = 1)]
-				OnlyProvider,
-				#[codec(index = 2)]
-				BelowMinimum,
-				#[codec(index = 3)]
-				CannotCreate,
-				#[codec(index = 4)]
-				UnknownAsset,
-				#[codec(index = 5)]
-				Frozen,
-				#[codec(index = 6)]
-				Unsupported,
-				#[codec(index = 7)]
-				CannotCreateHold,
-				#[codec(index = 8)]
-				NotExpendable,
-				#[codec(index = 9)]
-				Blocked,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum TransactionalError {
-				#[codec(index = 0)]
-				LimitReached,
-				#[codec(index = 1)]
-				NoLayer,
-			}
-		}
-		pub mod sp_staking {
-			use super::runtime_types;
-			pub mod offence {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct OffenceDetails<_0, _1> {
-					pub offender: _1,
-					pub reporters: ::std::vec::Vec<_0>,
-				}
-			}
-		}
-		pub mod sp_transaction_storage_proof {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct TransactionStorageProof {
-				pub chunk: ::std::vec::Vec<::core::primitive::u8>,
-				pub proof: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>,
-			}
-		}
-		pub mod sp_version {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RuntimeVersion {
-				pub spec_name: ::std::string::String,
-				pub impl_name: ::std::string::String,
-				pub authoring_version: ::core::primitive::u32,
-				pub spec_version: ::core::primitive::u32,
-				pub impl_version: ::core::primitive::u32,
-				pub apis:
-					::std::vec::Vec<([::core::primitive::u8; 8usize], ::core::primitive::u32)>,
-				pub transaction_version: ::core::primitive::u32,
-				pub state_version: ::core::primitive::u8,
-			}
-		}
-		pub mod sp_weights {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RuntimeDbWeight {
-				pub read: ::core::primitive::u64,
-				pub write: ::core::primitive::u64,
-			}
-		}
-	}
-}
diff --git a/bridges/relays/client-polkadot-bulletin/src/lib.rs b/bridges/relays/client-polkadot-bulletin/src/lib.rs
deleted file mode 100644
index 1f18b25a9054a62cd552ad9a3662e319b2a976eb..0000000000000000000000000000000000000000
--- a/bridges/relays/client-polkadot-bulletin/src/lib.rs
+++ /dev/null
@@ -1,137 +0,0 @@
-// Copyright 2019-2021 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Types used to connect to the Polkadot Bulletin chain.
-
-mod codegen_runtime;
-
-use bp_polkadot_bulletin::POLKADOT_BULLETIN_SYNCED_HEADERS_GRANDPA_INFO_METHOD;
-use codec::Encode;
-use relay_substrate_client::{
-	Chain, ChainWithBalances, ChainWithGrandpa, ChainWithMessages, ChainWithRuntimeVersion,
-	ChainWithTransactions, Error as SubstrateError, SignParam, SimpleRuntimeVersion,
-	UnderlyingChainProvider, UnsignedTransaction,
-};
-use sp_core::{storage::StorageKey, Pair};
-use sp_runtime::{generic::SignedPayload, traits::IdentifyAccount, MultiAddress};
-use sp_session::MembershipProof;
-use std::time::Duration;
-
-pub use codegen_runtime::api::runtime_types;
-
-/// Call of the Polkadot Bulletin Chain runtime.
-pub type RuntimeCall = runtime_types::polkadot_bulletin_chain_runtime::RuntimeCall;
-/// Call of the `Sudo` pallet.
-pub type SudoCall = runtime_types::pallet_sudo::pallet::Call;
-/// Call of the GRANDPA pallet.
-pub type GrandpaCall = runtime_types::pallet_grandpa::pallet::Call;
-/// Call of the with-PolkadotBridgeHub bridge GRANDPA pallet.
-pub type BridgePolkadotGrandpaCall = runtime_types::pallet_bridge_grandpa::pallet::Call;
-/// Call of the with-PolkadotBridgeHub bridge parachains pallet.
-pub type BridgePolkadotParachainsCall = runtime_types::pallet_bridge_parachains::pallet::Call;
-/// Call of the with-PolkadotBridgeHub bridge messages pallet.
-pub type BridgePolkadotMessagesCall = runtime_types::pallet_bridge_messages::pallet::Call;
-
-/// Polkadot header id.
-pub type HeaderId =
-	relay_utils::HeaderId<bp_polkadot_bulletin::Hash, bp_polkadot_bulletin::BlockNumber>;
-
-/// Polkadot header type used in headers sync.
-pub type SyncHeader = relay_substrate_client::SyncHeader<bp_polkadot_bulletin::Header>;
-
-/// The address format for describing accounts.
-pub type Address = MultiAddress<bp_polkadot_bulletin::AccountId, ()>;
-
-/// Polkadot chain definition
-#[derive(Debug, Clone, Copy)]
-pub struct PolkadotBulletin;
-
-impl UnderlyingChainProvider for PolkadotBulletin {
-	type Chain = bp_polkadot_bulletin::PolkadotBulletin;
-}
-
-impl Chain for PolkadotBulletin {
-	const NAME: &'static str = "PolkadotBulletin";
-	const BEST_FINALIZED_HEADER_ID_METHOD: &'static str =
-		bp_polkadot_bulletin::BEST_FINALIZED_POLKADOT_BULLETIN_HEADER_METHOD;
-	const AVERAGE_BLOCK_INTERVAL: Duration = Duration::from_secs(6);
-
-	type SignedBlock = bp_polkadot_bulletin::SignedBlock;
-	type Call = RuntimeCall;
-}
-
-impl ChainWithGrandpa for PolkadotBulletin {
-	const SYNCED_HEADERS_GRANDPA_INFO_METHOD: &'static str =
-		POLKADOT_BULLETIN_SYNCED_HEADERS_GRANDPA_INFO_METHOD;
-
-	type KeyOwnerProof = MembershipProof;
-}
-
-impl ChainWithMessages for PolkadotBulletin {
-	// this is not critical (some metrics will be missing from the storage), but probably it needs
-	// to be changed when we'll polish the bridge configuration
-	const WITH_CHAIN_RELAYERS_PALLET_NAME: Option<&'static str> = None;
-
-	const TO_CHAIN_MESSAGE_DETAILS_METHOD: &'static str =
-		bp_polkadot_bulletin::TO_POLKADOT_BULLETIN_MESSAGE_DETAILS_METHOD;
-	const FROM_CHAIN_MESSAGE_DETAILS_METHOD: &'static str =
-		bp_polkadot_bulletin::FROM_POLKADOT_BULLETIN_MESSAGE_DETAILS_METHOD;
-}
-
-impl ChainWithBalances for PolkadotBulletin {
-	fn account_info_storage_key(_account_id: &Self::AccountId) -> StorageKey {
-		// no balances at this chain
-		StorageKey(vec![])
-	}
-}
-
-impl ChainWithTransactions for PolkadotBulletin {
-	type AccountKeyPair = sp_core::sr25519::Pair;
-	type SignedTransaction =
-		bp_polkadot_bulletin::UncheckedExtrinsic<Self::Call, bp_polkadot_bulletin::SignedExtension>;
-
-	fn sign_transaction(
-		param: SignParam<Self>,
-		unsigned: UnsignedTransaction<Self>,
-	) -> Result<Self::SignedTransaction, SubstrateError> {
-		let raw_payload = SignedPayload::new(
-			unsigned.call,
-			bp_polkadot_bulletin::SignedExtension::from_params(
-				param.spec_version,
-				param.transaction_version,
-				unsigned.era,
-				param.genesis_hash,
-				unsigned.nonce,
-			),
-		)?;
-
-		let signature = raw_payload.using_encoded(|payload| param.signer.sign(payload));
-		let signer: sp_runtime::MultiSigner = param.signer.public().into();
-		let (call, extra, _) = raw_payload.deconstruct();
-
-		Ok(Self::SignedTransaction::new_signed(
-			call,
-			signer.into_account().into(),
-			signature.into(),
-			extra,
-		))
-	}
-}
-
-impl ChainWithRuntimeVersion for PolkadotBulletin {
-	const RUNTIME_VERSION: Option<SimpleRuntimeVersion> =
-		Some(SimpleRuntimeVersion { spec_version: 100, transaction_version: 1 });
-}
diff --git a/bridges/relays/client-polkadot/Cargo.toml b/bridges/relays/client-polkadot/Cargo.toml
deleted file mode 100644
index 19cf9f9335bc5c4eb5d2459b35aba52df4ec13ef..0000000000000000000000000000000000000000
--- a/bridges/relays/client-polkadot/Cargo.toml
+++ /dev/null
@@ -1,31 +0,0 @@
-[package]
-name = "relay-polkadot-client"
-version = "0.1.0"
-authors = ["Parity Technologies <admin@parity.io>"]
-edition = "2021"
-license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
-
-[lints]
-workspace = true
-
-[dependencies]
-codec = { package = "parity-scale-codec", version = "3.1.5", features = ["derive"] }
-scale-info = { version = "2.11.0", default-features = false, features = ["derive"] }
-subxt = { version = "0.32.1", default-features = false, features = ["native"] }
-
-# Bridge dependencies
-
-bp-polkadot = { path = "../../chains/chain-polkadot" }
-bp-polkadot-core = { path = "../../primitives/polkadot-core" }
-bp-runtime = { path = "../../primitives/runtime" }
-
-relay-substrate-client = { path = "../client-substrate" }
-relay-utils = { path = "../utils" }
-
-# Substrate Dependencies
-
-sp-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-weights = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
diff --git a/bridges/relays/client-polkadot/src/codegen_runtime.rs b/bridges/relays/client-polkadot/src/codegen_runtime.rs
deleted file mode 100644
index aa4b37cec502afa3fc4669dee40a3d664f1137c7..0000000000000000000000000000000000000000
--- a/bridges/relays/client-polkadot/src/codegen_runtime.rs
+++ /dev/null
@@ -1,8399 +0,0 @@
-// Copyright 2019-2023 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated runtime API
-//! THIS FILE WAS AUTOGENERATED USING parity-bridges-common::runtime-codegen
-//! EXECUTED COMMAND: target/debug/runtime-codegen --from-node-url wss://rpc.polkadot.io:443
-
-#[allow(dead_code, unused_imports, non_camel_case_types)]
-#[allow(clippy::all)]
-pub mod api {
-	use super::api as root_mod;
-	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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BoundedBTreeMap<_0, _1>(pub ::subxt::utils::KeyedVec<_0, _1>);
-			}
-			pub mod bounded_vec {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BoundedVec<_0>(pub ::std::vec::Vec<_0>);
-			}
-			pub mod weak_bounded_vec {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct WeakBoundedVec<_0>(pub ::std::vec::Vec<_0>);
-			}
-		}
-		pub mod finality_grandpa {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Equivocation<_0, _1, _2> {
-				pub round_number: ::core::primitive::u64,
-				pub identity: _0,
-				pub first: (_1, _2),
-				pub second: (_1, _2),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Precommit<_0, _1> {
-				pub target_hash: _0,
-				pub target_number: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Prevote<_0, _1> {
-				pub target_hash: _0,
-				pub target_number: _1,
-			}
-		}
-		pub mod frame_support {
-			use super::runtime_types;
-			pub mod dispatch {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum DispatchClass {
-					#[codec(index = 0)]
-					Normal,
-					#[codec(index = 1)]
-					Operational,
-					#[codec(index = 2)]
-					Mandatory,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DispatchInfo {
-					pub weight: ::sp_weights::Weight,
-					pub class: runtime_types::frame_support::dispatch::DispatchClass,
-					pub pays_fee: runtime_types::frame_support::dispatch::Pays,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Pays {
-					#[codec(index = 0)]
-					Yes,
-					#[codec(index = 1)]
-					No,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PerDispatchClass<_0> {
-					pub normal: _0,
-					pub operational: _0,
-					pub mandatory: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PostDispatchInfo {
-					pub actual_weight: ::core::option::Option<::sp_weights::Weight>,
-					pub pays_fee: runtime_types::frame_support::dispatch::Pays,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum RawOrigin<_0> {
-					#[codec(index = 0)]
-					Root,
-					#[codec(index = 1)]
-					Signed(_0),
-					#[codec(index = 2)]
-					None,
-				}
-			}
-			pub mod traits {
-				use super::runtime_types;
-				pub mod messages {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum ProcessMessageError {
-						#[codec(index = 0)]
-						BadFormat,
-						#[codec(index = 1)]
-						Corrupt,
-						#[codec(index = 2)]
-						Unsupported,
-						#[codec(index = 3)]
-						Overweight(::sp_weights::Weight),
-						#[codec(index = 4)]
-						Yield,
-					}
-				}
-				pub mod misc {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct WrapperOpaque<_0>(
-						#[codec(compact)] pub ::core::primitive::u32,
-						pub _0,
-					);
-				}
-				pub mod preimages {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Bounded<_0> {
-						#[codec(index = 0)]
-						Legacy {
-							hash: ::subxt::utils::H256,
-						},
-						#[codec(index = 1)]
-						Inline(
-							runtime_types::bounded_collections::bounded_vec::BoundedVec<
-								::core::primitive::u8,
-							>,
-						),
-						#[codec(index = 2)]
-						Lookup {
-							hash: ::subxt::utils::H256,
-							len: ::core::primitive::u32,
-						},
-						__Ignore(::core::marker::PhantomData<_0>),
-					}
-				}
-				pub mod schedule {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum DispatchTime<_0> {
-						#[codec(index = 0)]
-						At(_0),
-						#[codec(index = 1)]
-						After(_0),
-					}
-				}
-				pub mod tokens {
-					use super::runtime_types;
-					pub mod misc {
-						use super::runtime_types;
-						#[derive(
-							:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq,
-						)]
-						pub enum BalanceStatus {
-							#[codec(index = 0)]
-							Free,
-							#[codec(index = 1)]
-							Reserved,
-						}
-					}
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct PalletId(pub [::core::primitive::u8; 8usize]);
-		}
-		pub mod frame_system {
-			use super::runtime_types;
-			pub mod extensions {
-				use super::runtime_types;
-				pub mod check_genesis {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckGenesis;
-				}
-				pub mod check_mortality {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckMortality(pub ::sp_runtime::generic::Era);
-				}
-				pub mod check_non_zero_sender {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckNonZeroSender;
-				}
-				pub mod check_nonce {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckNonce(#[codec(compact)] pub ::core::primitive::u32);
-				}
-				pub mod check_spec_version {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckSpecVersion;
-				}
-				pub mod check_tx_version {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckTxVersion;
-				}
-				pub mod check_weight {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckWeight;
-				}
-			}
-			pub mod limits {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BlockLength {
-					pub max: runtime_types::frame_support::dispatch::PerDispatchClass<
-						::core::primitive::u32,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BlockWeights {
-					pub base_block: ::sp_weights::Weight,
-					pub max_block: ::sp_weights::Weight,
-					pub per_class: runtime_types::frame_support::dispatch::PerDispatchClass<
-						runtime_types::frame_system::limits::WeightsPerClass,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct WeightsPerClass {
-					pub base_extrinsic: ::sp_weights::Weight,
-					pub max_extrinsic: ::core::option::Option<::sp_weights::Weight>,
-					pub max_total: ::core::option::Option<::sp_weights::Weight>,
-					pub reserved: ::core::option::Option<::sp_weights::Weight>,
-				}
-			}
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					remark { remark: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 1)]
-					set_heap_pages { pages: ::core::primitive::u64 },
-					#[codec(index = 2)]
-					set_code { code: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 3)]
-					set_code_without_checks { code: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 4)]
-					set_storage {
-						items: ::std::vec::Vec<(
-							::std::vec::Vec<::core::primitive::u8>,
-							::std::vec::Vec<::core::primitive::u8>,
-						)>,
-					},
-					#[codec(index = 5)]
-					kill_storage { keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>> },
-					#[codec(index = 6)]
-					kill_prefix {
-						prefix: ::std::vec::Vec<::core::primitive::u8>,
-						subkeys: ::core::primitive::u32,
-					},
-					#[codec(index = 7)]
-					remark_with_event { remark: ::std::vec::Vec<::core::primitive::u8> },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidSpecName,
-					#[codec(index = 1)]
-					SpecVersionNeedsToIncrease,
-					#[codec(index = 2)]
-					FailedToExtractRuntimeVersion,
-					#[codec(index = 3)]
-					NonDefaultComposite,
-					#[codec(index = 4)]
-					NonZeroRefCount,
-					#[codec(index = 5)]
-					CallFiltered,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					ExtrinsicSuccess {
-						dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo,
-					},
-					#[codec(index = 1)]
-					ExtrinsicFailed {
-						dispatch_error: runtime_types::sp_runtime::DispatchError,
-						dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo,
-					},
-					#[codec(index = 2)]
-					CodeUpdated,
-					#[codec(index = 3)]
-					NewAccount { account: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 4)]
-					KilledAccount { account: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 5)]
-					Remarked { sender: ::sp_core::crypto::AccountId32, hash: ::subxt::utils::H256 },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct AccountInfo<_0, _1> {
-				pub nonce: _0,
-				pub consumers: _0,
-				pub providers: _0,
-				pub sufficients: _0,
-				pub data: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct EventRecord<_0, _1> {
-				pub phase: runtime_types::frame_system::Phase,
-				pub event: _0,
-				pub topics: ::std::vec::Vec<_1>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct LastRuntimeUpgradeInfo {
-				#[codec(compact)]
-				pub spec_version: ::core::primitive::u32,
-				pub spec_name: ::std::string::String,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Phase {
-				#[codec(index = 0)]
-				ApplyExtrinsic(::core::primitive::u32),
-				#[codec(index = 1)]
-				Finalization,
-				#[codec(index = 2)]
-				Initialization,
-			}
-		}
-		pub mod pallet_babe {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					report_equivocation {
-						equivocation_proof: ::std::boxed::Box<
-							runtime_types::sp_consensus_slots::EquivocationProof<
-								::sp_runtime::generic::Header<
-									::core::primitive::u32,
-									::sp_runtime::traits::BlakeTwo256,
-								>,
-								runtime_types::sp_consensus_babe::app::Public,
-							>,
-						>,
-						key_owner_proof: ::sp_session::MembershipProof,
-					},
-					#[codec(index = 1)]
-					report_equivocation_unsigned {
-						equivocation_proof: ::std::boxed::Box<
-							runtime_types::sp_consensus_slots::EquivocationProof<
-								::sp_runtime::generic::Header<
-									::core::primitive::u32,
-									::sp_runtime::traits::BlakeTwo256,
-								>,
-								runtime_types::sp_consensus_babe::app::Public,
-							>,
-						>,
-						key_owner_proof: ::sp_session::MembershipProof,
-					},
-					#[codec(index = 2)]
-					plan_config_change {
-						config: runtime_types::sp_consensus_babe::digests::NextConfigDescriptor,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidEquivocationProof,
-					#[codec(index = 1)]
-					InvalidKeyOwnershipProof,
-					#[codec(index = 2)]
-					DuplicateOffenceReport,
-					#[codec(index = 3)]
-					InvalidConfiguration,
-				}
-			}
-		}
-		pub mod pallet_bags_list {
-			use super::runtime_types;
-			pub mod list {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Bag {
-					pub head: ::core::option::Option<::sp_core::crypto::AccountId32>,
-					pub tail: ::core::option::Option<::sp_core::crypto::AccountId32>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum ListError {
-					#[codec(index = 0)]
-					Duplicate,
-					#[codec(index = 1)]
-					NotHeavier,
-					#[codec(index = 2)]
-					NotInSameBag,
-					#[codec(index = 3)]
-					NodeNotFound,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Node {
-					pub id: ::sp_core::crypto::AccountId32,
-					pub prev: ::core::option::Option<::sp_core::crypto::AccountId32>,
-					pub next: ::core::option::Option<::sp_core::crypto::AccountId32>,
-					pub bag_upper: ::core::primitive::u64,
-					pub score: ::core::primitive::u64,
-				}
-			}
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					rebag {
-						dislocated:
-							::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 1)]
-					put_in_front_of {
-						lighter: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					List(runtime_types::pallet_bags_list::list::ListError),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Rebagged {
-						who: ::sp_core::crypto::AccountId32,
-						from: ::core::primitive::u64,
-						to: ::core::primitive::u64,
-					},
-					#[codec(index = 1)]
-					ScoreUpdated {
-						who: ::sp_core::crypto::AccountId32,
-						new_score: ::core::primitive::u64,
-					},
-				}
-			}
-		}
-		pub mod pallet_balances {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					transfer_allow_death {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					set_balance_deprecated {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						new_free: ::core::primitive::u128,
-						#[codec(compact)]
-						old_reserved: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					force_transfer {
-						source: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					transfer_keep_alive {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					transfer_all {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						keep_alive: ::core::primitive::bool,
-					},
-					#[codec(index = 5)]
-					force_unreserve {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 6)]
-					upgrade_accounts { who: ::std::vec::Vec<::sp_core::crypto::AccountId32> },
-					#[codec(index = 7)]
-					transfer {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 8)]
-					force_set_balance {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						new_free: ::core::primitive::u128,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					VestingBalance,
-					#[codec(index = 1)]
-					LiquidityRestrictions,
-					#[codec(index = 2)]
-					InsufficientBalance,
-					#[codec(index = 3)]
-					ExistentialDeposit,
-					#[codec(index = 4)]
-					Expendability,
-					#[codec(index = 5)]
-					ExistingVestingSchedule,
-					#[codec(index = 6)]
-					DeadAccount,
-					#[codec(index = 7)]
-					TooManyReserves,
-					#[codec(index = 8)]
-					TooManyHolds,
-					#[codec(index = 9)]
-					TooManyFreezes,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Endowed {
-						account: ::sp_core::crypto::AccountId32,
-						free_balance: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					DustLost {
-						account: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					Transfer {
-						from: ::sp_core::crypto::AccountId32,
-						to: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					BalanceSet {
-						who: ::sp_core::crypto::AccountId32,
-						free: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					Reserved {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 5)]
-					Unreserved {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 6)]
-					ReserveRepatriated {
-						from: ::sp_core::crypto::AccountId32,
-						to: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-						destination_status:
-							runtime_types::frame_support::traits::tokens::misc::BalanceStatus,
-					},
-					#[codec(index = 7)]
-					Deposit { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 8)]
-					Withdraw {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 9)]
-					Slashed { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 10)]
-					Minted { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 11)]
-					Burned { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 12)]
-					Suspended {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 13)]
-					Restored {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 14)]
-					Upgraded { who: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 15)]
-					Issued { amount: ::core::primitive::u128 },
-					#[codec(index = 16)]
-					Rescinded { amount: ::core::primitive::u128 },
-					#[codec(index = 17)]
-					Locked { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 18)]
-					Unlocked {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 19)]
-					Frozen { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 20)]
-					Thawed { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-				}
-			}
-			pub mod types {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AccountData<_0> {
-					pub free: _0,
-					pub reserved: _0,
-					pub frozen: _0,
-					pub flags: runtime_types::pallet_balances::types::ExtraFlags,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BalanceLock<_0> {
-					pub id: [::core::primitive::u8; 8usize],
-					pub amount: _0,
-					pub reasons: runtime_types::pallet_balances::types::Reasons,
-				}
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct ExtraFlags(pub ::core::primitive::u128);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct IdAmount<_0, _1> {
-					pub id: _0,
-					pub amount: _1,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Reasons {
-					#[codec(index = 0)]
-					Fee,
-					#[codec(index = 1)]
-					Misc,
-					#[codec(index = 2)]
-					All,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ReserveData<_0, _1> {
-					pub id: _0,
-					pub amount: _1,
-				}
-			}
-		}
-		pub mod pallet_bounties {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					propose_bounty {
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-						description: ::std::vec::Vec<::core::primitive::u8>,
-					},
-					#[codec(index = 1)]
-					approve_bounty {
-						#[codec(compact)]
-						bounty_id: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					propose_curator {
-						#[codec(compact)]
-						bounty_id: ::core::primitive::u32,
-						curator: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						fee: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					unassign_curator {
-						#[codec(compact)]
-						bounty_id: ::core::primitive::u32,
-					},
-					#[codec(index = 4)]
-					accept_curator {
-						#[codec(compact)]
-						bounty_id: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					award_bounty {
-						#[codec(compact)]
-						bounty_id: ::core::primitive::u32,
-						beneficiary:
-							::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 6)]
-					claim_bounty {
-						#[codec(compact)]
-						bounty_id: ::core::primitive::u32,
-					},
-					#[codec(index = 7)]
-					close_bounty {
-						#[codec(compact)]
-						bounty_id: ::core::primitive::u32,
-					},
-					#[codec(index = 8)]
-					extend_bounty_expiry {
-						#[codec(compact)]
-						bounty_id: ::core::primitive::u32,
-						remark: ::std::vec::Vec<::core::primitive::u8>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InsufficientProposersBalance,
-					#[codec(index = 1)]
-					InvalidIndex,
-					#[codec(index = 2)]
-					ReasonTooBig,
-					#[codec(index = 3)]
-					UnexpectedStatus,
-					#[codec(index = 4)]
-					RequireCurator,
-					#[codec(index = 5)]
-					InvalidValue,
-					#[codec(index = 6)]
-					InvalidFee,
-					#[codec(index = 7)]
-					PendingPayout,
-					#[codec(index = 8)]
-					Premature,
-					#[codec(index = 9)]
-					HasActiveChildBounty,
-					#[codec(index = 10)]
-					TooManyQueued,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					BountyProposed { index: ::core::primitive::u32 },
-					#[codec(index = 1)]
-					BountyRejected { index: ::core::primitive::u32, bond: ::core::primitive::u128 },
-					#[codec(index = 2)]
-					BountyBecameActive { index: ::core::primitive::u32 },
-					#[codec(index = 3)]
-					BountyAwarded {
-						index: ::core::primitive::u32,
-						beneficiary: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 4)]
-					BountyClaimed {
-						index: ::core::primitive::u32,
-						payout: ::core::primitive::u128,
-						beneficiary: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 5)]
-					BountyCanceled { index: ::core::primitive::u32 },
-					#[codec(index = 6)]
-					BountyExtended { index: ::core::primitive::u32 },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Bounty<_0, _1, _2> {
-				pub proposer: _0,
-				pub value: _1,
-				pub fee: _1,
-				pub curator_deposit: _1,
-				pub bond: _1,
-				pub status: runtime_types::pallet_bounties::BountyStatus<_0, _2>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum BountyStatus<_0, _1> {
-				#[codec(index = 0)]
-				Proposed,
-				#[codec(index = 1)]
-				Approved,
-				#[codec(index = 2)]
-				Funded,
-				#[codec(index = 3)]
-				CuratorProposed { curator: _0 },
-				#[codec(index = 4)]
-				Active { curator: _0, update_due: _1 },
-				#[codec(index = 5)]
-				PendingPayout { curator: _0, beneficiary: _0, unlock_at: _1 },
-			}
-		}
-		pub mod pallet_child_bounties {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					add_child_bounty {
-						#[codec(compact)]
-						parent_bounty_id: ::core::primitive::u32,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-						description: ::std::vec::Vec<::core::primitive::u8>,
-					},
-					#[codec(index = 1)]
-					propose_curator {
-						#[codec(compact)]
-						parent_bounty_id: ::core::primitive::u32,
-						#[codec(compact)]
-						child_bounty_id: ::core::primitive::u32,
-						curator: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						fee: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					accept_curator {
-						#[codec(compact)]
-						parent_bounty_id: ::core::primitive::u32,
-						#[codec(compact)]
-						child_bounty_id: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					unassign_curator {
-						#[codec(compact)]
-						parent_bounty_id: ::core::primitive::u32,
-						#[codec(compact)]
-						child_bounty_id: ::core::primitive::u32,
-					},
-					#[codec(index = 4)]
-					award_child_bounty {
-						#[codec(compact)]
-						parent_bounty_id: ::core::primitive::u32,
-						#[codec(compact)]
-						child_bounty_id: ::core::primitive::u32,
-						beneficiary:
-							::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 5)]
-					claim_child_bounty {
-						#[codec(compact)]
-						parent_bounty_id: ::core::primitive::u32,
-						#[codec(compact)]
-						child_bounty_id: ::core::primitive::u32,
-					},
-					#[codec(index = 6)]
-					close_child_bounty {
-						#[codec(compact)]
-						parent_bounty_id: ::core::primitive::u32,
-						#[codec(compact)]
-						child_bounty_id: ::core::primitive::u32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					ParentBountyNotActive,
-					#[codec(index = 1)]
-					InsufficientBountyBalance,
-					#[codec(index = 2)]
-					TooManyChildBounties,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Added { index: ::core::primitive::u32, child_index: ::core::primitive::u32 },
-					#[codec(index = 1)]
-					Awarded {
-						index: ::core::primitive::u32,
-						child_index: ::core::primitive::u32,
-						beneficiary: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 2)]
-					Claimed {
-						index: ::core::primitive::u32,
-						child_index: ::core::primitive::u32,
-						payout: ::core::primitive::u128,
-						beneficiary: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 3)]
-					Canceled { index: ::core::primitive::u32, child_index: ::core::primitive::u32 },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ChildBounty<_0, _1, _2> {
-				pub parent_bounty: _2,
-				pub value: _1,
-				pub fee: _1,
-				pub curator_deposit: _1,
-				pub status: runtime_types::pallet_child_bounties::ChildBountyStatus<_0, _2>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ChildBountyStatus<_0, _1> {
-				#[codec(index = 0)]
-				Added,
-				#[codec(index = 1)]
-				CuratorProposed { curator: _0 },
-				#[codec(index = 2)]
-				Active { curator: _0 },
-				#[codec(index = 3)]
-				PendingPayout { curator: _0, beneficiary: _0, unlock_at: _1 },
-			}
-		}
-		pub mod pallet_collective {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					set_members {
-						new_members: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						prime: ::core::option::Option<::sp_core::crypto::AccountId32>,
-						old_count: ::core::primitive::u32,
-					},
-					#[codec(index = 1)]
-					execute {
-						proposal: ::std::boxed::Box<runtime_types::polkadot_runtime::RuntimeCall>,
-						#[codec(compact)]
-						length_bound: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					propose {
-						#[codec(compact)]
-						threshold: ::core::primitive::u32,
-						proposal: ::std::boxed::Box<runtime_types::polkadot_runtime::RuntimeCall>,
-						#[codec(compact)]
-						length_bound: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					vote {
-						proposal: ::subxt::utils::H256,
-						#[codec(compact)]
-						index: ::core::primitive::u32,
-						approve: ::core::primitive::bool,
-					},
-					#[codec(index = 5)]
-					disapprove_proposal { proposal_hash: ::subxt::utils::H256 },
-					#[codec(index = 6)]
-					close {
-						proposal_hash: ::subxt::utils::H256,
-						#[codec(compact)]
-						index: ::core::primitive::u32,
-						proposal_weight_bound: ::sp_weights::Weight,
-						#[codec(compact)]
-						length_bound: ::core::primitive::u32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotMember,
-					#[codec(index = 1)]
-					DuplicateProposal,
-					#[codec(index = 2)]
-					ProposalMissing,
-					#[codec(index = 3)]
-					WrongIndex,
-					#[codec(index = 4)]
-					DuplicateVote,
-					#[codec(index = 5)]
-					AlreadyInitialized,
-					#[codec(index = 6)]
-					TooEarly,
-					#[codec(index = 7)]
-					TooManyProposals,
-					#[codec(index = 8)]
-					WrongProposalWeight,
-					#[codec(index = 9)]
-					WrongProposalLength,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Proposed {
-						account: ::sp_core::crypto::AccountId32,
-						proposal_index: ::core::primitive::u32,
-						proposal_hash: ::subxt::utils::H256,
-						threshold: ::core::primitive::u32,
-					},
-					#[codec(index = 1)]
-					Voted {
-						account: ::sp_core::crypto::AccountId32,
-						proposal_hash: ::subxt::utils::H256,
-						voted: ::core::primitive::bool,
-						yes: ::core::primitive::u32,
-						no: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					Approved { proposal_hash: ::subxt::utils::H256 },
-					#[codec(index = 3)]
-					Disapproved { proposal_hash: ::subxt::utils::H256 },
-					#[codec(index = 4)]
-					Executed {
-						proposal_hash: ::subxt::utils::H256,
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 5)]
-					MemberExecuted {
-						proposal_hash: ::subxt::utils::H256,
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 6)]
-					Closed {
-						proposal_hash: ::subxt::utils::H256,
-						yes: ::core::primitive::u32,
-						no: ::core::primitive::u32,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RawOrigin<_0> {
-				#[codec(index = 0)]
-				Members(::core::primitive::u32, ::core::primitive::u32),
-				#[codec(index = 1)]
-				Member(_0),
-				#[codec(index = 2)]
-				_Phantom,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Votes<_0, _1> {
-				pub index: _1,
-				pub threshold: _1,
-				pub ayes: ::std::vec::Vec<_0>,
-				pub nays: ::std::vec::Vec<_0>,
-				pub end: _1,
-			}
-		}
-		pub mod pallet_conviction_voting {
-			use super::runtime_types;
-			pub mod conviction {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					vote {
-						#[codec(compact)]
-						poll_index: ::core::primitive::u32,
-						vote: runtime_types::pallet_conviction_voting::vote::AccountVote<
-							::core::primitive::u128,
-						>,
-					},
-					#[codec(index = 1)]
-					delegate {
-						class: ::core::primitive::u16,
-						to: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						conviction: runtime_types::pallet_conviction_voting::conviction::Conviction,
-						balance: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					undelegate { class: ::core::primitive::u16 },
-					#[codec(index = 3)]
-					unlock {
-						class: ::core::primitive::u16,
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 4)]
-					remove_vote {
-						class: ::core::option::Option<::core::primitive::u16>,
-						index: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					remove_other_vote {
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						class: ::core::primitive::u16,
-						index: ::core::primitive::u32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotOngoing,
-					#[codec(index = 1)]
-					NotVoter,
-					#[codec(index = 2)]
-					NoPermission,
-					#[codec(index = 3)]
-					NoPermissionYet,
-					#[codec(index = 4)]
-					AlreadyDelegating,
-					#[codec(index = 5)]
-					AlreadyVoting,
-					#[codec(index = 6)]
-					InsufficientFunds,
-					#[codec(index = 7)]
-					NotDelegating,
-					#[codec(index = 8)]
-					Nonsense,
-					#[codec(index = 9)]
-					MaxVotesReached,
-					#[codec(index = 10)]
-					ClassNeeded,
-					#[codec(index = 11)]
-					BadClass,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Delegated(::sp_core::crypto::AccountId32, ::sp_core::crypto::AccountId32),
-					#[codec(index = 1)]
-					Undelegated(::sp_core::crypto::AccountId32),
-				}
-			}
-			pub mod types {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Delegations<_0> {
-					pub votes: _0,
-					pub capital: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Tally<_0> {
-					pub ayes: _0,
-					pub nays: _0,
-					pub support: _0,
-				}
-			}
-			pub mod vote {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PriorLock<_0, _1>(pub _0, pub _1);
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct Vote(pub ::core::primitive::u8);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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 {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					propose {
-						proposal: runtime_types::frame_support::traits::preimages::Bounded<
-							runtime_types::polkadot_runtime::RuntimeCall,
-						>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					second {
-						#[codec(compact)]
-						proposal: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					vote {
-						#[codec(compact)]
-						ref_index: ::core::primitive::u32,
-						vote: runtime_types::pallet_democracy::vote::AccountVote<
-							::core::primitive::u128,
-						>,
-					},
-					#[codec(index = 3)]
-					emergency_cancel { ref_index: ::core::primitive::u32 },
-					#[codec(index = 4)]
-					external_propose {
-						proposal: runtime_types::frame_support::traits::preimages::Bounded<
-							runtime_types::polkadot_runtime::RuntimeCall,
-						>,
-					},
-					#[codec(index = 5)]
-					external_propose_majority {
-						proposal: runtime_types::frame_support::traits::preimages::Bounded<
-							runtime_types::polkadot_runtime::RuntimeCall,
-						>,
-					},
-					#[codec(index = 6)]
-					external_propose_default {
-						proposal: runtime_types::frame_support::traits::preimages::Bounded<
-							runtime_types::polkadot_runtime::RuntimeCall,
-						>,
-					},
-					#[codec(index = 7)]
-					fast_track {
-						proposal_hash: ::subxt::utils::H256,
-						voting_period: ::core::primitive::u32,
-						delay: ::core::primitive::u32,
-					},
-					#[codec(index = 8)]
-					veto_external { proposal_hash: ::subxt::utils::H256 },
-					#[codec(index = 9)]
-					cancel_referendum {
-						#[codec(compact)]
-						ref_index: ::core::primitive::u32,
-					},
-					#[codec(index = 10)]
-					delegate {
-						to: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						conviction: runtime_types::pallet_democracy::conviction::Conviction,
-						balance: ::core::primitive::u128,
-					},
-					#[codec(index = 11)]
-					undelegate,
-					#[codec(index = 12)]
-					clear_public_proposals,
-					#[codec(index = 13)]
-					unlock {
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 14)]
-					remove_vote { index: ::core::primitive::u32 },
-					#[codec(index = 15)]
-					remove_other_vote {
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						index: ::core::primitive::u32,
-					},
-					#[codec(index = 16)]
-					blacklist {
-						proposal_hash: ::subxt::utils::H256,
-						maybe_ref_index: ::core::option::Option<::core::primitive::u32>,
-					},
-					#[codec(index = 17)]
-					cancel_proposal {
-						#[codec(compact)]
-						prop_index: ::core::primitive::u32,
-					},
-					#[codec(index = 18)]
-					set_metadata {
-						owner: runtime_types::pallet_democracy::types::MetadataOwner,
-						maybe_hash: ::core::option::Option<::subxt::utils::H256>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					ValueLow,
-					#[codec(index = 1)]
-					ProposalMissing,
-					#[codec(index = 2)]
-					AlreadyCanceled,
-					#[codec(index = 3)]
-					DuplicateProposal,
-					#[codec(index = 4)]
-					ProposalBlacklisted,
-					#[codec(index = 5)]
-					NotSimpleMajority,
-					#[codec(index = 6)]
-					InvalidHash,
-					#[codec(index = 7)]
-					NoProposal,
-					#[codec(index = 8)]
-					AlreadyVetoed,
-					#[codec(index = 9)]
-					ReferendumInvalid,
-					#[codec(index = 10)]
-					NoneWaiting,
-					#[codec(index = 11)]
-					NotVoter,
-					#[codec(index = 12)]
-					NoPermission,
-					#[codec(index = 13)]
-					AlreadyDelegating,
-					#[codec(index = 14)]
-					InsufficientFunds,
-					#[codec(index = 15)]
-					NotDelegating,
-					#[codec(index = 16)]
-					VotesExist,
-					#[codec(index = 17)]
-					InstantNotAllowed,
-					#[codec(index = 18)]
-					Nonsense,
-					#[codec(index = 19)]
-					WrongUpperBound,
-					#[codec(index = 20)]
-					MaxVotesReached,
-					#[codec(index = 21)]
-					TooMany,
-					#[codec(index = 22)]
-					VotingPeriodLow,
-					#[codec(index = 23)]
-					PreimageNotExist,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Proposed {
-						proposal_index: ::core::primitive::u32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					Tabled {
-						proposal_index: ::core::primitive::u32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					ExternalTabled,
-					#[codec(index = 3)]
-					Started {
-						ref_index: ::core::primitive::u32,
-						threshold: runtime_types::pallet_democracy::vote_threshold::VoteThreshold,
-					},
-					#[codec(index = 4)]
-					Passed { ref_index: ::core::primitive::u32 },
-					#[codec(index = 5)]
-					NotPassed { ref_index: ::core::primitive::u32 },
-					#[codec(index = 6)]
-					Cancelled { ref_index: ::core::primitive::u32 },
-					#[codec(index = 7)]
-					Delegated {
-						who: ::sp_core::crypto::AccountId32,
-						target: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 8)]
-					Undelegated { account: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 9)]
-					Vetoed {
-						who: ::sp_core::crypto::AccountId32,
-						proposal_hash: ::subxt::utils::H256,
-						until: ::core::primitive::u32,
-					},
-					#[codec(index = 10)]
-					Blacklisted { proposal_hash: ::subxt::utils::H256 },
-					#[codec(index = 11)]
-					Voted {
-						voter: ::sp_core::crypto::AccountId32,
-						ref_index: ::core::primitive::u32,
-						vote: runtime_types::pallet_democracy::vote::AccountVote<
-							::core::primitive::u128,
-						>,
-					},
-					#[codec(index = 12)]
-					Seconded {
-						seconder: ::sp_core::crypto::AccountId32,
-						prop_index: ::core::primitive::u32,
-					},
-					#[codec(index = 13)]
-					ProposalCanceled { prop_index: ::core::primitive::u32 },
-					#[codec(index = 14)]
-					MetadataSet {
-						owner: runtime_types::pallet_democracy::types::MetadataOwner,
-						hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 15)]
-					MetadataCleared {
-						owner: runtime_types::pallet_democracy::types::MetadataOwner,
-						hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 16)]
-					MetadataTransferred {
-						prev_owner: runtime_types::pallet_democracy::types::MetadataOwner,
-						owner: runtime_types::pallet_democracy::types::MetadataOwner,
-						hash: ::subxt::utils::H256,
-					},
-				}
-			}
-			pub mod types {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Delegations<_0> {
-					pub votes: _0,
-					pub capital: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum MetadataOwner {
-					#[codec(index = 0)]
-					External,
-					#[codec(index = 1)]
-					Proposal(::core::primitive::u32),
-					#[codec(index = 2)]
-					Referendum(::core::primitive::u32),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum ReferendumInfo<_0, _1, _2> {
-					#[codec(index = 0)]
-					Ongoing(runtime_types::pallet_democracy::types::ReferendumStatus<_0, _1, _2>),
-					#[codec(index = 1)]
-					Finished { approved: ::core::primitive::bool, end: _0 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ReferendumStatus<_0, _1, _2> {
-					pub end: _0,
-					pub proposal: _1,
-					pub threshold: runtime_types::pallet_democracy::vote_threshold::VoteThreshold,
-					pub delay: _0,
-					pub tally: runtime_types::pallet_democracy::types::Tally<_2>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Tally<_0> {
-					pub ayes: _0,
-					pub nays: _0,
-					pub turnout: _0,
-				}
-			}
-			pub mod vote {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum AccountVote<_0> {
-					#[codec(index = 0)]
-					Standard { vote: runtime_types::pallet_democracy::vote::Vote, balance: _0 },
-					#[codec(index = 1)]
-					Split { aye: _0, nay: _0 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PriorLock<_0, _1>(pub _0, pub _1);
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct Vote(pub ::core::primitive::u8);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Voting<_0, _1, _2> {
-					#[codec(index = 0)]
-					Direct {
-						votes: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-							_2,
-							runtime_types::pallet_democracy::vote::AccountVote<_0>,
-						)>,
-						delegations: runtime_types::pallet_democracy::types::Delegations<_0>,
-						prior: runtime_types::pallet_democracy::vote::PriorLock<_2, _0>,
-					},
-					#[codec(index = 1)]
-					Delegating {
-						balance: _0,
-						target: _1,
-						conviction: runtime_types::pallet_democracy::conviction::Conviction,
-						delegations: runtime_types::pallet_democracy::types::Delegations<_0>,
-						prior: runtime_types::pallet_democracy::vote::PriorLock<_2, _0>,
-					},
-				}
-			}
-			pub mod vote_threshold {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum VoteThreshold {
-					#[codec(index = 0)]
-					SuperMajorityApprove,
-					#[codec(index = 1)]
-					SuperMajorityAgainst,
-					#[codec(index = 2)]
-					SimpleMajority,
-				}
-			}
-		}
-		pub mod pallet_election_provider_multi_phase {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					# [codec (index = 0)] submit_unsigned { raw_solution : :: std :: boxed :: Box < runtime_types :: pallet_election_provider_multi_phase :: RawSolution < runtime_types :: polkadot_runtime :: NposCompactSolution16 > > , witness : runtime_types :: pallet_election_provider_multi_phase :: SolutionOrSnapshotSize , } , # [codec (index = 1)] set_minimum_untrusted_score { maybe_next_score : :: core :: option :: Option < runtime_types :: sp_npos_elections :: ElectionScore > , } , # [codec (index = 2)] set_emergency_election_result { supports : :: std :: vec :: Vec < (:: sp_core :: crypto :: AccountId32 , runtime_types :: sp_npos_elections :: Support < :: sp_core :: crypto :: AccountId32 > ,) > , } , # [codec (index = 3)] submit { raw_solution : :: std :: boxed :: Box < runtime_types :: pallet_election_provider_multi_phase :: RawSolution < runtime_types :: polkadot_runtime :: NposCompactSolution16 > > , } , # [codec (index = 4)] governance_fallback { maybe_max_voters : :: core :: option :: Option < :: core :: primitive :: u32 > , maybe_max_targets : :: core :: option :: Option < :: core :: primitive :: u32 > , } , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					PreDispatchEarlySubmission,
-					#[codec(index = 1)]
-					PreDispatchWrongWinnerCount,
-					#[codec(index = 2)]
-					PreDispatchWeakSubmission,
-					#[codec(index = 3)]
-					SignedQueueFull,
-					#[codec(index = 4)]
-					SignedCannotPayDeposit,
-					#[codec(index = 5)]
-					SignedInvalidWitness,
-					#[codec(index = 6)]
-					SignedTooMuchWeight,
-					#[codec(index = 7)]
-					OcwCallWrongEra,
-					#[codec(index = 8)]
-					MissingSnapshotMetadata,
-					#[codec(index = 9)]
-					InvalidSubmissionIndex,
-					#[codec(index = 10)]
-					CallNotAllowed,
-					#[codec(index = 11)]
-					FallbackFailed,
-					#[codec(index = 12)]
-					BoundNotMet,
-					#[codec(index = 13)]
-					TooManyWinners,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					SolutionStored {
-						compute:
-							runtime_types::pallet_election_provider_multi_phase::ElectionCompute,
-						origin: ::core::option::Option<::sp_core::crypto::AccountId32>,
-						prev_ejected: ::core::primitive::bool,
-					},
-					#[codec(index = 1)]
-					ElectionFinalized {
-						compute:
-							runtime_types::pallet_election_provider_multi_phase::ElectionCompute,
-						score: runtime_types::sp_npos_elections::ElectionScore,
-					},
-					#[codec(index = 2)]
-					ElectionFailed,
-					#[codec(index = 3)]
-					Rewarded {
-						account: ::sp_core::crypto::AccountId32,
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					Slashed {
-						account: ::sp_core::crypto::AccountId32,
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 5)]
-					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 {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SignedSubmission<_0, _1, _2> {
-					pub who: _0,
-					pub deposit: _1,
-					pub raw_solution:
-						runtime_types::pallet_election_provider_multi_phase::RawSolution<_2>,
-					pub call_fee: _1,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ElectionCompute {
-				#[codec(index = 0)]
-				OnChain,
-				#[codec(index = 1)]
-				Signed,
-				#[codec(index = 2)]
-				Unsigned,
-				#[codec(index = 3)]
-				Fallback,
-				#[codec(index = 4)]
-				Emergency,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Phase<_0> {
-				#[codec(index = 0)]
-				Off,
-				#[codec(index = 1)]
-				Signed,
-				#[codec(index = 2)]
-				Unsigned((::core::primitive::bool, _0)),
-				#[codec(index = 3)]
-				Emergency,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RawSolution<_0> {
-				pub solution: _0,
-				pub score: runtime_types::sp_npos_elections::ElectionScore,
-				pub round: ::core::primitive::u32,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ReadySolution {
-				pub supports: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-					::sp_core::crypto::AccountId32,
-					runtime_types::sp_npos_elections::Support<::sp_core::crypto::AccountId32>,
-				)>,
-				pub score: runtime_types::sp_npos_elections::ElectionScore,
-				pub compute: runtime_types::pallet_election_provider_multi_phase::ElectionCompute,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RoundSnapshot<_0, _1> {
-				pub voters: ::std::vec::Vec<_1>,
-				pub targets: ::std::vec::Vec<_0>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct SolutionOrSnapshotSize {
-				#[codec(compact)]
-				pub voters: ::core::primitive::u32,
-				#[codec(compact)]
-				pub targets: ::core::primitive::u32,
-			}
-		}
-		pub mod pallet_elections_phragmen {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					vote {
-						votes: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					remove_voter,
-					#[codec(index = 2)]
-					submit_candidacy {
-						#[codec(compact)]
-						candidate_count: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					renounce_candidacy {
-						renouncing: runtime_types::pallet_elections_phragmen::Renouncing,
-					},
-					#[codec(index = 4)]
-					remove_member {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						slash_bond: ::core::primitive::bool,
-						rerun_election: ::core::primitive::bool,
-					},
-					#[codec(index = 5)]
-					clean_defunct_voters {
-						num_voters: ::core::primitive::u32,
-						num_defunct: ::core::primitive::u32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					UnableToVote,
-					#[codec(index = 1)]
-					NoVotes,
-					#[codec(index = 2)]
-					TooManyVotes,
-					#[codec(index = 3)]
-					MaximumVotesExceeded,
-					#[codec(index = 4)]
-					LowBalance,
-					#[codec(index = 5)]
-					UnableToPayBond,
-					#[codec(index = 6)]
-					MustBeVoter,
-					#[codec(index = 7)]
-					DuplicatedCandidate,
-					#[codec(index = 8)]
-					TooManyCandidates,
-					#[codec(index = 9)]
-					MemberSubmit,
-					#[codec(index = 10)]
-					RunnerUpSubmit,
-					#[codec(index = 11)]
-					InsufficientCandidateFunds,
-					#[codec(index = 12)]
-					NotMember,
-					#[codec(index = 13)]
-					InvalidWitnessData,
-					#[codec(index = 14)]
-					InvalidVoteCount,
-					#[codec(index = 15)]
-					InvalidRenouncing,
-					#[codec(index = 16)]
-					InvalidReplacement,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewTerm {
-						new_members: ::std::vec::Vec<(
-							::sp_core::crypto::AccountId32,
-							::core::primitive::u128,
-						)>,
-					},
-					#[codec(index = 1)]
-					EmptyTerm,
-					#[codec(index = 2)]
-					ElectionError,
-					#[codec(index = 3)]
-					MemberKicked { member: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 4)]
-					Renounced { candidate: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 5)]
-					CandidateSlashed {
-						candidate: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 6)]
-					SeatHolderSlashed {
-						seat_holder: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Renouncing {
-				#[codec(index = 0)]
-				Member,
-				#[codec(index = 1)]
-				RunnerUp,
-				#[codec(index = 2)]
-				Candidate(#[codec(compact)] ::core::primitive::u32),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct SeatHolder<_0, _1> {
-				pub who: _0,
-				pub stake: _1,
-				pub deposit: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Voter<_0, _1> {
-				pub votes: ::std::vec::Vec<_0>,
-				pub stake: _1,
-				pub deposit: _1,
-			}
-		}
-		pub mod pallet_fast_unstake {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					register_fast_unstake,
-					#[codec(index = 1)]
-					deregister,
-					#[codec(index = 2)]
-					control { eras_to_check: ::core::primitive::u32 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotController,
-					#[codec(index = 1)]
-					AlreadyQueued,
-					#[codec(index = 2)]
-					NotFullyBonded,
-					#[codec(index = 3)]
-					NotQueued,
-					#[codec(index = 4)]
-					AlreadyHead,
-					#[codec(index = 5)]
-					CallNotAllowed,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Unstaked {
-						stash: ::sp_core::crypto::AccountId32,
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 1)]
-					Slashed {
-						stash: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					InternalError,
-					#[codec(index = 3)]
-					BatchChecked { eras: ::std::vec::Vec<::core::primitive::u32> },
-					#[codec(index = 4)]
-					BatchFinished { size: ::core::primitive::u32 },
-				}
-			}
-			pub mod types {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct UnstakeRequest {
-					pub stashes: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-						::sp_core::crypto::AccountId32,
-						::core::primitive::u128,
-					)>,
-					pub checked: runtime_types::bounded_collections::bounded_vec::BoundedVec<
-						::core::primitive::u32,
-					>,
-				}
-			}
-		}
-		pub mod pallet_grandpa {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					report_equivocation {
-						equivocation_proof: ::std::boxed::Box<
-							::sp_consensus_grandpa::EquivocationProof<
-								::subxt::utils::H256,
-								::core::primitive::u32,
-							>,
-						>,
-						key_owner_proof: ::sp_session::MembershipProof,
-					},
-					#[codec(index = 1)]
-					report_equivocation_unsigned {
-						equivocation_proof: ::std::boxed::Box<
-							::sp_consensus_grandpa::EquivocationProof<
-								::subxt::utils::H256,
-								::core::primitive::u32,
-							>,
-						>,
-						key_owner_proof: ::sp_session::MembershipProof,
-					},
-					#[codec(index = 2)]
-					note_stalled {
-						delay: ::core::primitive::u32,
-						best_finalized_block_number: ::core::primitive::u32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					PauseFailed,
-					#[codec(index = 1)]
-					ResumeFailed,
-					#[codec(index = 2)]
-					ChangePending,
-					#[codec(index = 3)]
-					TooSoon,
-					#[codec(index = 4)]
-					InvalidKeyOwnershipProof,
-					#[codec(index = 5)]
-					InvalidEquivocationProof,
-					#[codec(index = 6)]
-					DuplicateOffenceReport,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewAuthorities {
-						authority_set: ::std::vec::Vec<(
-							runtime_types::sp_consensus_grandpa::app::Public,
-							::core::primitive::u64,
-						)>,
-					},
-					#[codec(index = 1)]
-					Paused,
-					#[codec(index = 2)]
-					Resumed,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct StoredPendingChange<_0> {
-				pub scheduled_at: _0,
-				pub delay: _0,
-				pub next_authorities:
-					runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<(
-						runtime_types::sp_consensus_grandpa::app::Public,
-						::core::primitive::u64,
-					)>,
-				pub forced: ::core::option::Option<_0>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum StoredState<_0> {
-				#[codec(index = 0)]
-				Live,
-				#[codec(index = 1)]
-				PendingPause { scheduled_at: _0, delay: _0 },
-				#[codec(index = 2)]
-				Paused,
-				#[codec(index = 3)]
-				PendingResume { scheduled_at: _0, delay: _0 },
-			}
-		}
-		pub mod pallet_identity {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					add_registrar {
-						account: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 1)]
-					set_identity {
-						info:
-							::std::boxed::Box<runtime_types::pallet_identity::types::IdentityInfo>,
-					},
-					#[codec(index = 2)]
-					set_subs {
-						subs: ::std::vec::Vec<(
-							::sp_core::crypto::AccountId32,
-							runtime_types::pallet_identity::types::Data,
-						)>,
-					},
-					#[codec(index = 3)]
-					clear_identity,
-					#[codec(index = 4)]
-					request_judgement {
-						#[codec(compact)]
-						reg_index: ::core::primitive::u32,
-						#[codec(compact)]
-						max_fee: ::core::primitive::u128,
-					},
-					#[codec(index = 5)]
-					cancel_request { reg_index: ::core::primitive::u32 },
-					#[codec(index = 6)]
-					set_fee {
-						#[codec(compact)]
-						index: ::core::primitive::u32,
-						#[codec(compact)]
-						fee: ::core::primitive::u128,
-					},
-					#[codec(index = 7)]
-					set_account_id {
-						#[codec(compact)]
-						index: ::core::primitive::u32,
-						new: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 8)]
-					set_fields {
-						#[codec(compact)]
-						index: ::core::primitive::u32,
-						fields: runtime_types::pallet_identity::types::BitFlags<
-							runtime_types::pallet_identity::types::IdentityField,
-						>,
-					},
-					#[codec(index = 9)]
-					provide_judgement {
-						#[codec(compact)]
-						reg_index: ::core::primitive::u32,
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						judgement: runtime_types::pallet_identity::types::Judgement<
-							::core::primitive::u128,
-						>,
-						identity: ::subxt::utils::H256,
-					},
-					#[codec(index = 10)]
-					kill_identity {
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 11)]
-					add_sub {
-						sub: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						data: runtime_types::pallet_identity::types::Data,
-					},
-					#[codec(index = 12)]
-					rename_sub {
-						sub: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						data: runtime_types::pallet_identity::types::Data,
-					},
-					#[codec(index = 13)]
-					remove_sub {
-						sub: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 14)]
-					quit_sub,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					TooManySubAccounts,
-					#[codec(index = 1)]
-					NotFound,
-					#[codec(index = 2)]
-					NotNamed,
-					#[codec(index = 3)]
-					EmptyIndex,
-					#[codec(index = 4)]
-					FeeChanged,
-					#[codec(index = 5)]
-					NoIdentity,
-					#[codec(index = 6)]
-					StickyJudgement,
-					#[codec(index = 7)]
-					JudgementGiven,
-					#[codec(index = 8)]
-					InvalidJudgement,
-					#[codec(index = 9)]
-					InvalidIndex,
-					#[codec(index = 10)]
-					InvalidTarget,
-					#[codec(index = 11)]
-					TooManyFields,
-					#[codec(index = 12)]
-					TooManyRegistrars,
-					#[codec(index = 13)]
-					AlreadyClaimed,
-					#[codec(index = 14)]
-					NotSub,
-					#[codec(index = 15)]
-					NotOwned,
-					#[codec(index = 16)]
-					JudgementForDifferentIdentity,
-					#[codec(index = 17)]
-					JudgementPaymentFailed,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					IdentitySet { who: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 1)]
-					IdentityCleared {
-						who: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					IdentityKilled {
-						who: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					JudgementRequested {
-						who: ::sp_core::crypto::AccountId32,
-						registrar_index: ::core::primitive::u32,
-					},
-					#[codec(index = 4)]
-					JudgementUnrequested {
-						who: ::sp_core::crypto::AccountId32,
-						registrar_index: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					JudgementGiven {
-						target: ::sp_core::crypto::AccountId32,
-						registrar_index: ::core::primitive::u32,
-					},
-					#[codec(index = 6)]
-					RegistrarAdded { registrar_index: ::core::primitive::u32 },
-					#[codec(index = 7)]
-					SubIdentityAdded {
-						sub: ::sp_core::crypto::AccountId32,
-						main: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 8)]
-					SubIdentityRemoved {
-						sub: ::sp_core::crypto::AccountId32,
-						main: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 9)]
-					SubIdentityRevoked {
-						sub: ::sp_core::crypto::AccountId32,
-						main: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-				}
-			}
-			pub mod types {
-				use super::runtime_types;
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct BitFlags<_0>(
-					pub ::core::primitive::u64,
-					#[codec(skip)] pub ::core::marker::PhantomData<_0>,
-				);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Data {
-					#[codec(index = 0)]
-					None,
-					#[codec(index = 1)]
-					Raw0([::core::primitive::u8; 0usize]),
-					#[codec(index = 2)]
-					Raw1([::core::primitive::u8; 1usize]),
-					#[codec(index = 3)]
-					Raw2([::core::primitive::u8; 2usize]),
-					#[codec(index = 4)]
-					Raw3([::core::primitive::u8; 3usize]),
-					#[codec(index = 5)]
-					Raw4([::core::primitive::u8; 4usize]),
-					#[codec(index = 6)]
-					Raw5([::core::primitive::u8; 5usize]),
-					#[codec(index = 7)]
-					Raw6([::core::primitive::u8; 6usize]),
-					#[codec(index = 8)]
-					Raw7([::core::primitive::u8; 7usize]),
-					#[codec(index = 9)]
-					Raw8([::core::primitive::u8; 8usize]),
-					#[codec(index = 10)]
-					Raw9([::core::primitive::u8; 9usize]),
-					#[codec(index = 11)]
-					Raw10([::core::primitive::u8; 10usize]),
-					#[codec(index = 12)]
-					Raw11([::core::primitive::u8; 11usize]),
-					#[codec(index = 13)]
-					Raw12([::core::primitive::u8; 12usize]),
-					#[codec(index = 14)]
-					Raw13([::core::primitive::u8; 13usize]),
-					#[codec(index = 15)]
-					Raw14([::core::primitive::u8; 14usize]),
-					#[codec(index = 16)]
-					Raw15([::core::primitive::u8; 15usize]),
-					#[codec(index = 17)]
-					Raw16([::core::primitive::u8; 16usize]),
-					#[codec(index = 18)]
-					Raw17([::core::primitive::u8; 17usize]),
-					#[codec(index = 19)]
-					Raw18([::core::primitive::u8; 18usize]),
-					#[codec(index = 20)]
-					Raw19([::core::primitive::u8; 19usize]),
-					#[codec(index = 21)]
-					Raw20([::core::primitive::u8; 20usize]),
-					#[codec(index = 22)]
-					Raw21([::core::primitive::u8; 21usize]),
-					#[codec(index = 23)]
-					Raw22([::core::primitive::u8; 22usize]),
-					#[codec(index = 24)]
-					Raw23([::core::primitive::u8; 23usize]),
-					#[codec(index = 25)]
-					Raw24([::core::primitive::u8; 24usize]),
-					#[codec(index = 26)]
-					Raw25([::core::primitive::u8; 25usize]),
-					#[codec(index = 27)]
-					Raw26([::core::primitive::u8; 26usize]),
-					#[codec(index = 28)]
-					Raw27([::core::primitive::u8; 27usize]),
-					#[codec(index = 29)]
-					Raw28([::core::primitive::u8; 28usize]),
-					#[codec(index = 30)]
-					Raw29([::core::primitive::u8; 29usize]),
-					#[codec(index = 31)]
-					Raw30([::core::primitive::u8; 30usize]),
-					#[codec(index = 32)]
-					Raw31([::core::primitive::u8; 31usize]),
-					#[codec(index = 33)]
-					Raw32([::core::primitive::u8; 32usize]),
-					#[codec(index = 34)]
-					BlakeTwo256([::core::primitive::u8; 32usize]),
-					#[codec(index = 35)]
-					Sha256([::core::primitive::u8; 32usize]),
-					#[codec(index = 36)]
-					Keccak256([::core::primitive::u8; 32usize]),
-					#[codec(index = 37)]
-					ShaThree256([::core::primitive::u8; 32usize]),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum IdentityField {
-					#[codec(index = 1)]
-					Display,
-					#[codec(index = 2)]
-					Legal,
-					#[codec(index = 4)]
-					Web,
-					#[codec(index = 8)]
-					Riot,
-					#[codec(index = 16)]
-					Email,
-					#[codec(index = 32)]
-					PgpFingerprint,
-					#[codec(index = 64)]
-					Image,
-					#[codec(index = 128)]
-					Twitter,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct IdentityInfo {
-					pub additional: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-						runtime_types::pallet_identity::types::Data,
-						runtime_types::pallet_identity::types::Data,
-					)>,
-					pub display: runtime_types::pallet_identity::types::Data,
-					pub legal: runtime_types::pallet_identity::types::Data,
-					pub web: runtime_types::pallet_identity::types::Data,
-					pub riot: runtime_types::pallet_identity::types::Data,
-					pub email: runtime_types::pallet_identity::types::Data,
-					pub pgp_fingerprint: ::core::option::Option<[::core::primitive::u8; 20usize]>,
-					pub image: runtime_types::pallet_identity::types::Data,
-					pub twitter: runtime_types::pallet_identity::types::Data,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Judgement<_0> {
-					#[codec(index = 0)]
-					Unknown,
-					#[codec(index = 1)]
-					FeePaid(_0),
-					#[codec(index = 2)]
-					Reasonable,
-					#[codec(index = 3)]
-					KnownGood,
-					#[codec(index = 4)]
-					OutOfDate,
-					#[codec(index = 5)]
-					LowQuality,
-					#[codec(index = 6)]
-					Erroneous,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RegistrarInfo<_0, _1> {
-					pub account: _1,
-					pub fee: _0,
-					pub fields: runtime_types::pallet_identity::types::BitFlags<
-						runtime_types::pallet_identity::types::IdentityField,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Registration<_0> {
-					pub judgements: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-						::core::primitive::u32,
-						runtime_types::pallet_identity::types::Judgement<_0>,
-					)>,
-					pub deposit: _0,
-					pub info: runtime_types::pallet_identity::types::IdentityInfo,
-				}
-			}
-		}
-		pub mod pallet_im_online {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					heartbeat {
-						heartbeat:
-							runtime_types::pallet_im_online::Heartbeat<::core::primitive::u32>,
-						signature: runtime_types::pallet_im_online::sr25519::app_sr25519::Signature,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidKey,
-					#[codec(index = 1)]
-					DuplicatedHeartbeat,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					HeartbeatReceived {
-						authority_id: runtime_types::pallet_im_online::sr25519::app_sr25519::Public,
-					},
-					#[codec(index = 1)]
-					AllGood,
-					#[codec(index = 2)]
-					SomeOffline {
-						offline: ::std::vec::Vec<(
-							::sp_core::crypto::AccountId32,
-							runtime_types::pallet_staking::Exposure<
-								::sp_core::crypto::AccountId32,
-								::core::primitive::u128,
-							>,
-						)>,
-					},
-				}
-			}
-			pub mod sr25519 {
-				use super::runtime_types;
-				pub mod app_sr25519 {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Signature(pub runtime_types::sp_core::sr25519::Signature);
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BoundedOpaqueNetworkState {
-				pub peer_id: runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<
-					::core::primitive::u8,
-				>,
-				pub external_addresses:
-					runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<
-						runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<
-							::core::primitive::u8,
-						>,
-					>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Heartbeat<_0> {
-				pub block_number: _0,
-				pub network_state: runtime_types::sp_core::offchain::OpaqueNetworkState,
-				pub session_index: _0,
-				pub authority_index: _0,
-				pub validators_len: _0,
-			}
-		}
-		pub mod pallet_indices {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					claim { index: ::core::primitive::u32 },
-					#[codec(index = 1)]
-					transfer {
-						new: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						index: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					free { index: ::core::primitive::u32 },
-					#[codec(index = 3)]
-					force_transfer {
-						new: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						index: ::core::primitive::u32,
-						freeze: ::core::primitive::bool,
-					},
-					#[codec(index = 4)]
-					freeze { index: ::core::primitive::u32 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotAssigned,
-					#[codec(index = 1)]
-					NotOwner,
-					#[codec(index = 2)]
-					InUse,
-					#[codec(index = 3)]
-					NotTransfer,
-					#[codec(index = 4)]
-					Permanent,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					IndexAssigned {
-						who: ::sp_core::crypto::AccountId32,
-						index: ::core::primitive::u32,
-					},
-					#[codec(index = 1)]
-					IndexFreed { index: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					IndexFrozen {
-						index: ::core::primitive::u32,
-						who: ::sp_core::crypto::AccountId32,
-					},
-				}
-			}
-		}
-		pub mod pallet_membership {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					add_member {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 1)]
-					remove_member {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 2)]
-					swap_member {
-						remove: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						add: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 3)]
-					reset_members { members: ::std::vec::Vec<::sp_core::crypto::AccountId32> },
-					#[codec(index = 4)]
-					change_key {
-						new: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 5)]
-					set_prime {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 6)]
-					clear_prime,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					AlreadyMember,
-					#[codec(index = 1)]
-					NotMember,
-					#[codec(index = 2)]
-					TooManyMembers,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					MemberAdded,
-					#[codec(index = 1)]
-					MemberRemoved,
-					#[codec(index = 2)]
-					MembersSwapped,
-					#[codec(index = 3)]
-					MembersReset,
-					#[codec(index = 4)]
-					KeyChanged,
-					#[codec(index = 5)]
-					Dummy,
-				}
-			}
-		}
-		pub mod pallet_message_queue {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					# [codec (index = 0)] reap_page { message_origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , page_index : :: core :: primitive :: u32 , } , # [codec (index = 1)] execute_overweight { message_origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , page : :: core :: primitive :: u32 , index : :: core :: primitive :: u32 , weight_limit : :: sp_weights :: Weight , } , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotReapable,
-					#[codec(index = 1)]
-					NoPage,
-					#[codec(index = 2)]
-					NoMessage,
-					#[codec(index = 3)]
-					AlreadyProcessed,
-					#[codec(index = 4)]
-					Queued,
-					#[codec(index = 5)]
-					InsufficientWeight,
-					#[codec(index = 6)]
-					TemporarilyUnprocessable,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					# [codec (index = 0)] ProcessingFailed { id : [:: core :: primitive :: u8 ; 32usize] , origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , error : runtime_types :: frame_support :: traits :: messages :: ProcessMessageError , } , # [codec (index = 1)] Processed { id : [:: core :: primitive :: u8 ; 32usize] , origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , weight_used : :: sp_weights :: Weight , success : :: core :: primitive :: bool , } , # [codec (index = 2)] OverweightEnqueued { id : [:: core :: primitive :: u8 ; 32usize] , origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , page_index : :: core :: primitive :: u32 , message_index : :: core :: primitive :: u32 , } , # [codec (index = 3)] PageReaped { origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , index : :: core :: primitive :: u32 , } , }
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BookState<_0> {
-				pub begin: ::core::primitive::u32,
-				pub end: ::core::primitive::u32,
-				pub count: ::core::primitive::u32,
-				pub ready_neighbours:
-					::core::option::Option<runtime_types::pallet_message_queue::Neighbours<_0>>,
-				pub message_count: ::core::primitive::u64,
-				pub size: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Neighbours<_0> {
-				pub prev: _0,
-				pub next: _0,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Page<_0> {
-				pub remaining: _0,
-				pub remaining_size: _0,
-				pub first_index: _0,
-				pub first: _0,
-				pub last: _0,
-				pub heap: runtime_types::bounded_collections::bounded_vec::BoundedVec<
-					::core::primitive::u8,
-				>,
-			}
-		}
-		pub mod pallet_multisig {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					as_multi_threshold_1 {
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						call: ::std::boxed::Box<runtime_types::polkadot_runtime::RuntimeCall>,
-					},
-					#[codec(index = 1)]
-					as_multi {
-						threshold: ::core::primitive::u16,
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						maybe_timepoint: ::core::option::Option<
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						>,
-						call: ::std::boxed::Box<runtime_types::polkadot_runtime::RuntimeCall>,
-						max_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 2)]
-					approve_as_multi {
-						threshold: ::core::primitive::u16,
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						maybe_timepoint: ::core::option::Option<
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						>,
-						call_hash: [::core::primitive::u8; 32usize],
-						max_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 3)]
-					cancel_as_multi {
-						threshold: ::core::primitive::u16,
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					MinimumThreshold,
-					#[codec(index = 1)]
-					AlreadyApproved,
-					#[codec(index = 2)]
-					NoApprovalsNeeded,
-					#[codec(index = 3)]
-					TooFewSignatories,
-					#[codec(index = 4)]
-					TooManySignatories,
-					#[codec(index = 5)]
-					SignatoriesOutOfOrder,
-					#[codec(index = 6)]
-					SenderInSignatories,
-					#[codec(index = 7)]
-					NotFound,
-					#[codec(index = 8)]
-					NotOwner,
-					#[codec(index = 9)]
-					NoTimepoint,
-					#[codec(index = 10)]
-					WrongTimepoint,
-					#[codec(index = 11)]
-					UnexpectedTimepoint,
-					#[codec(index = 12)]
-					MaxWeightTooLow,
-					#[codec(index = 13)]
-					AlreadyStored,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewMultisig {
-						approving: ::sp_core::crypto::AccountId32,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 1)]
-					MultisigApproval {
-						approving: ::sp_core::crypto::AccountId32,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 2)]
-					MultisigExecuted {
-						approving: ::sp_core::crypto::AccountId32,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 3)]
-					MultisigCancelled {
-						cancelling: ::sp_core::crypto::AccountId32,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Multisig<_0, _1, _2> {
-				pub when: runtime_types::pallet_multisig::Timepoint<_0>,
-				pub deposit: _1,
-				pub depositor: _2,
-				pub approvals: runtime_types::bounded_collections::bounded_vec::BoundedVec<_2>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Timepoint<_0> {
-				pub height: _0,
-				pub index: _0,
-			}
-		}
-		pub mod pallet_nomination_pools {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					join {
-						#[codec(compact)]
-						amount: ::core::primitive::u128,
-						pool_id: ::core::primitive::u32,
-					},
-					#[codec(index = 1)]
-					bond_extra {
-						extra: runtime_types::pallet_nomination_pools::BondExtra<
-							::core::primitive::u128,
-						>,
-					},
-					#[codec(index = 2)]
-					claim_payout,
-					#[codec(index = 3)]
-					unbond {
-						member_account:
-							::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						unbonding_points: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					pool_withdraw_unbonded {
-						pool_id: ::core::primitive::u32,
-						num_slashing_spans: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					withdraw_unbonded {
-						member_account:
-							::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						num_slashing_spans: ::core::primitive::u32,
-					},
-					#[codec(index = 6)]
-					create {
-						#[codec(compact)]
-						amount: ::core::primitive::u128,
-						root: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						nominator: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						bouncer: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 7)]
-					create_with_pool_id {
-						#[codec(compact)]
-						amount: ::core::primitive::u128,
-						root: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						nominator: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						bouncer: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						pool_id: ::core::primitive::u32,
-					},
-					#[codec(index = 8)]
-					nominate {
-						pool_id: ::core::primitive::u32,
-						validators: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-					},
-					#[codec(index = 9)]
-					set_state {
-						pool_id: ::core::primitive::u32,
-						state: runtime_types::pallet_nomination_pools::PoolState,
-					},
-					#[codec(index = 10)]
-					set_metadata {
-						pool_id: ::core::primitive::u32,
-						metadata: ::std::vec::Vec<::core::primitive::u8>,
-					},
-					#[codec(index = 11)]
-					set_configs {
-						min_join_bond: runtime_types::pallet_nomination_pools::ConfigOp<
-							::core::primitive::u128,
-						>,
-						min_create_bond: runtime_types::pallet_nomination_pools::ConfigOp<
-							::core::primitive::u128,
-						>,
-						max_pools: runtime_types::pallet_nomination_pools::ConfigOp<
-							::core::primitive::u32,
-						>,
-						max_members: runtime_types::pallet_nomination_pools::ConfigOp<
-							::core::primitive::u32,
-						>,
-						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)]
-					update_roles {
-						pool_id: ::core::primitive::u32,
-						new_root: runtime_types::pallet_nomination_pools::ConfigOp<
-							::sp_core::crypto::AccountId32,
-						>,
-						new_nominator: runtime_types::pallet_nomination_pools::ConfigOp<
-							::sp_core::crypto::AccountId32,
-						>,
-						new_bouncer: runtime_types::pallet_nomination_pools::ConfigOp<
-							::sp_core::crypto::AccountId32,
-						>,
-					},
-					#[codec(index = 13)]
-					chill { pool_id: ::core::primitive::u32 },
-					#[codec(index = 14)]
-					bond_extra_other {
-						member: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						extra: runtime_types::pallet_nomination_pools::BondExtra<
-							::core::primitive::u128,
-						>,
-					},
-					#[codec(index = 15)]
-					set_claim_permission {
-						permission: runtime_types::pallet_nomination_pools::ClaimPermission,
-					},
-					#[codec(index = 16)]
-					claim_payout_other { other: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 17)]
-					set_commission {
-						pool_id: ::core::primitive::u32,
-						new_commission: ::core::option::Option<(
-							runtime_types::sp_arithmetic::per_things::Perbill,
-							::sp_core::crypto::AccountId32,
-						)>,
-					},
-					#[codec(index = 18)]
-					set_commission_max {
-						pool_id: ::core::primitive::u32,
-						max_commission: runtime_types::sp_arithmetic::per_things::Perbill,
-					},
-					#[codec(index = 19)]
-					set_commission_change_rate {
-						pool_id: ::core::primitive::u32,
-						change_rate: runtime_types::pallet_nomination_pools::CommissionChangeRate<
-							::core::primitive::u32,
-						>,
-					},
-					#[codec(index = 20)]
-					claim_commission { pool_id: ::core::primitive::u32 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum DefensiveError {
-					#[codec(index = 0)]
-					NotEnoughSpaceInUnbondPool,
-					#[codec(index = 1)]
-					PoolNotFound,
-					#[codec(index = 2)]
-					RewardPoolNotFound,
-					#[codec(index = 3)]
-					SubPoolsNotFound,
-					#[codec(index = 4)]
-					BondedStashKilledPrematurely,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					PoolNotFound,
-					#[codec(index = 1)]
-					PoolMemberNotFound,
-					#[codec(index = 2)]
-					RewardPoolNotFound,
-					#[codec(index = 3)]
-					SubPoolsNotFound,
-					#[codec(index = 4)]
-					AccountBelongsToOtherPool,
-					#[codec(index = 5)]
-					FullyUnbonding,
-					#[codec(index = 6)]
-					MaxUnbondingLimit,
-					#[codec(index = 7)]
-					CannotWithdrawAny,
-					#[codec(index = 8)]
-					MinimumBondNotMet,
-					#[codec(index = 9)]
-					OverflowRisk,
-					#[codec(index = 10)]
-					NotDestroying,
-					#[codec(index = 11)]
-					NotNominator,
-					#[codec(index = 12)]
-					NotKickerOrDestroying,
-					#[codec(index = 13)]
-					NotOpen,
-					#[codec(index = 14)]
-					MaxPools,
-					#[codec(index = 15)]
-					MaxPoolMembers,
-					#[codec(index = 16)]
-					CanNotChangeState,
-					#[codec(index = 17)]
-					DoesNotHavePermission,
-					#[codec(index = 18)]
-					MetadataExceedsMaxLen,
-					#[codec(index = 19)]
-					Defensive(runtime_types::pallet_nomination_pools::pallet::DefensiveError),
-					#[codec(index = 20)]
-					PartialUnbondNotAllowedPermissionlessly,
-					#[codec(index = 21)]
-					MaxCommissionRestricted,
-					#[codec(index = 22)]
-					CommissionExceedsMaximum,
-					#[codec(index = 23)]
-					CommissionChangeThrottled,
-					#[codec(index = 24)]
-					CommissionChangeRateNotAllowed,
-					#[codec(index = 25)]
-					NoPendingCommission,
-					#[codec(index = 26)]
-					NoCommissionCurrentSet,
-					#[codec(index = 27)]
-					PoolIdInUse,
-					#[codec(index = 28)]
-					InvalidPoolId,
-					#[codec(index = 29)]
-					BondExtraRestricted,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Created {
-						depositor: ::sp_core::crypto::AccountId32,
-						pool_id: ::core::primitive::u32,
-					},
-					#[codec(index = 1)]
-					Bonded {
-						member: ::sp_core::crypto::AccountId32,
-						pool_id: ::core::primitive::u32,
-						bonded: ::core::primitive::u128,
-						joined: ::core::primitive::bool,
-					},
-					#[codec(index = 2)]
-					PaidOut {
-						member: ::sp_core::crypto::AccountId32,
-						pool_id: ::core::primitive::u32,
-						payout: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					Unbonded {
-						member: ::sp_core::crypto::AccountId32,
-						pool_id: ::core::primitive::u32,
-						balance: ::core::primitive::u128,
-						points: ::core::primitive::u128,
-						era: ::core::primitive::u32,
-					},
-					#[codec(index = 4)]
-					Withdrawn {
-						member: ::sp_core::crypto::AccountId32,
-						pool_id: ::core::primitive::u32,
-						balance: ::core::primitive::u128,
-						points: ::core::primitive::u128,
-					},
-					#[codec(index = 5)]
-					Destroyed { pool_id: ::core::primitive::u32 },
-					#[codec(index = 6)]
-					StateChanged {
-						pool_id: ::core::primitive::u32,
-						new_state: runtime_types::pallet_nomination_pools::PoolState,
-					},
-					#[codec(index = 7)]
-					MemberRemoved {
-						pool_id: ::core::primitive::u32,
-						member: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 8)]
-					RolesUpdated {
-						root: ::core::option::Option<::sp_core::crypto::AccountId32>,
-						bouncer: ::core::option::Option<::sp_core::crypto::AccountId32>,
-						nominator: ::core::option::Option<::sp_core::crypto::AccountId32>,
-					},
-					#[codec(index = 9)]
-					PoolSlashed {
-						pool_id: ::core::primitive::u32,
-						balance: ::core::primitive::u128,
-					},
-					#[codec(index = 10)]
-					UnbondingPoolSlashed {
-						pool_id: ::core::primitive::u32,
-						era: ::core::primitive::u32,
-						balance: ::core::primitive::u128,
-					},
-					#[codec(index = 11)]
-					PoolCommissionUpdated {
-						pool_id: ::core::primitive::u32,
-						current: ::core::option::Option<(
-							runtime_types::sp_arithmetic::per_things::Perbill,
-							::sp_core::crypto::AccountId32,
-						)>,
-					},
-					#[codec(index = 12)]
-					PoolMaxCommissionUpdated {
-						pool_id: ::core::primitive::u32,
-						max_commission: runtime_types::sp_arithmetic::per_things::Perbill,
-					},
-					#[codec(index = 13)]
-					PoolCommissionChangeRateUpdated {
-						pool_id: ::core::primitive::u32,
-						change_rate: runtime_types::pallet_nomination_pools::CommissionChangeRate<
-							::core::primitive::u32,
-						>,
-					},
-					#[codec(index = 14)]
-					PoolCommissionClaimed {
-						pool_id: ::core::primitive::u32,
-						commission: ::core::primitive::u128,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum BondExtra<_0> {
-				#[codec(index = 0)]
-				FreeBalance(_0),
-				#[codec(index = 1)]
-				Rewards,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BondedPoolInner {
-				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<
-					::sp_core::crypto::AccountId32,
-				>,
-				pub state: runtime_types::pallet_nomination_pools::PoolState,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ClaimPermission {
-				#[codec(index = 0)]
-				Permissioned,
-				#[codec(index = 1)]
-				PermissionlessCompound,
-				#[codec(index = 2)]
-				PermissionlessWithdraw,
-				#[codec(index = 3)]
-				PermissionlessAll,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Commission {
-				pub current: ::core::option::Option<(
-					runtime_types::sp_arithmetic::per_things::Perbill,
-					::sp_core::crypto::AccountId32,
-				)>,
-				pub max: ::core::option::Option<runtime_types::sp_arithmetic::per_things::Perbill>,
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct CommissionChangeRate<_0> {
-				pub max_increase: runtime_types::sp_arithmetic::per_things::Perbill,
-				pub min_delay: _0,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ConfigOp<_0> {
-				#[codec(index = 0)]
-				Noop,
-				#[codec(index = 1)]
-				Set(_0),
-				#[codec(index = 2)]
-				Remove,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct PoolMember {
-				pub pool_id: ::core::primitive::u32,
-				pub points: ::core::primitive::u128,
-				pub last_recorded_reward_counter:
-					runtime_types::sp_arithmetic::fixed_point::FixedU128,
-				pub unbonding_eras:
-					runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap<
-						::core::primitive::u32,
-						::core::primitive::u128,
-					>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct PoolRoles<_0> {
-				pub depositor: _0,
-				pub root: ::core::option::Option<_0>,
-				pub nominator: ::core::option::Option<_0>,
-				pub bouncer: ::core::option::Option<_0>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum PoolState {
-				#[codec(index = 0)]
-				Open,
-				#[codec(index = 1)]
-				Blocked,
-				#[codec(index = 2)]
-				Destroying,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RewardPool {
-				pub last_recorded_reward_counter:
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct SubPools {
-				pub no_era: 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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct UnbondPool {
-				pub points: ::core::primitive::u128,
-				pub balance: ::core::primitive::u128,
-			}
-		}
-		pub mod pallet_offences {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Offence {
-						kind: [::core::primitive::u8; 16usize],
-						timeslot: ::std::vec::Vec<::core::primitive::u8>,
-					},
-				}
-			}
-		}
-		pub mod pallet_preimage {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					note_preimage { bytes: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 1)]
-					unnote_preimage { hash: ::subxt::utils::H256 },
-					#[codec(index = 2)]
-					request_preimage { hash: ::subxt::utils::H256 },
-					#[codec(index = 3)]
-					unrequest_preimage { hash: ::subxt::utils::H256 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					TooBig,
-					#[codec(index = 1)]
-					AlreadyNoted,
-					#[codec(index = 2)]
-					NotAuthorized,
-					#[codec(index = 3)]
-					NotNoted,
-					#[codec(index = 4)]
-					Requested,
-					#[codec(index = 5)]
-					NotRequested,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Noted { hash: ::subxt::utils::H256 },
-					#[codec(index = 1)]
-					Requested { hash: ::subxt::utils::H256 },
-					#[codec(index = 2)]
-					Cleared { hash: ::subxt::utils::H256 },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RequestStatus<_0, _1> {
-				#[codec(index = 0)]
-				Unrequested { deposit: (_0, _1), len: ::core::primitive::u32 },
-				#[codec(index = 1)]
-				Requested {
-					deposit: ::core::option::Option<(_0, _1)>,
-					count: ::core::primitive::u32,
-					len: ::core::option::Option<::core::primitive::u32>,
-				},
-			}
-		}
-		pub mod pallet_proxy {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					proxy {
-						real: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						force_proxy_type:
-							::core::option::Option<runtime_types::polkadot_runtime::ProxyType>,
-						call: ::std::boxed::Box<runtime_types::polkadot_runtime::RuntimeCall>,
-					},
-					#[codec(index = 1)]
-					add_proxy {
-						delegate: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						proxy_type: runtime_types::polkadot_runtime::ProxyType,
-						delay: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					remove_proxy {
-						delegate: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						proxy_type: runtime_types::polkadot_runtime::ProxyType,
-						delay: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					remove_proxies,
-					#[codec(index = 4)]
-					create_pure {
-						proxy_type: runtime_types::polkadot_runtime::ProxyType,
-						delay: ::core::primitive::u32,
-						index: ::core::primitive::u16,
-					},
-					#[codec(index = 5)]
-					kill_pure {
-						spawner: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						proxy_type: runtime_types::polkadot_runtime::ProxyType,
-						index: ::core::primitive::u16,
-						#[codec(compact)]
-						height: ::core::primitive::u32,
-						#[codec(compact)]
-						ext_index: ::core::primitive::u32,
-					},
-					#[codec(index = 6)]
-					announce {
-						real: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						call_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 7)]
-					remove_announcement {
-						real: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						call_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 8)]
-					reject_announcement {
-						delegate: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						call_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 9)]
-					proxy_announced {
-						delegate: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						real: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						force_proxy_type:
-							::core::option::Option<runtime_types::polkadot_runtime::ProxyType>,
-						call: ::std::boxed::Box<runtime_types::polkadot_runtime::RuntimeCall>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					TooMany,
-					#[codec(index = 1)]
-					NotFound,
-					#[codec(index = 2)]
-					NotProxy,
-					#[codec(index = 3)]
-					Unproxyable,
-					#[codec(index = 4)]
-					Duplicate,
-					#[codec(index = 5)]
-					NoPermission,
-					#[codec(index = 6)]
-					Unannounced,
-					#[codec(index = 7)]
-					NoSelfProxy,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					ProxyExecuted {
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 1)]
-					PureCreated {
-						pure: ::sp_core::crypto::AccountId32,
-						who: ::sp_core::crypto::AccountId32,
-						proxy_type: runtime_types::polkadot_runtime::ProxyType,
-						disambiguation_index: ::core::primitive::u16,
-					},
-					#[codec(index = 2)]
-					Announced {
-						real: ::sp_core::crypto::AccountId32,
-						proxy: ::sp_core::crypto::AccountId32,
-						call_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 3)]
-					ProxyAdded {
-						delegator: ::sp_core::crypto::AccountId32,
-						delegatee: ::sp_core::crypto::AccountId32,
-						proxy_type: runtime_types::polkadot_runtime::ProxyType,
-						delay: ::core::primitive::u32,
-					},
-					#[codec(index = 4)]
-					ProxyRemoved {
-						delegator: ::sp_core::crypto::AccountId32,
-						delegatee: ::sp_core::crypto::AccountId32,
-						proxy_type: runtime_types::polkadot_runtime::ProxyType,
-						delay: ::core::primitive::u32,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Announcement<_0, _1, _2> {
-				pub real: _0,
-				pub call_hash: _1,
-				pub height: _2,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ProxyDefinition<_0, _1, _2> {
-				pub delegate: _0,
-				pub proxy_type: _1,
-				pub delay: _2,
-			}
-		}
-		pub mod pallet_referenda {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					submit {
-						proposal_origin:
-							::std::boxed::Box<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,
-							>,
-					},
-					#[codec(index = 1)]
-					place_decision_deposit { index: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					refund_decision_deposit { index: ::core::primitive::u32 },
-					#[codec(index = 3)]
-					cancel { index: ::core::primitive::u32 },
-					#[codec(index = 4)]
-					kill { index: ::core::primitive::u32 },
-					#[codec(index = 5)]
-					nudge_referendum { index: ::core::primitive::u32 },
-					#[codec(index = 6)]
-					one_fewer_deciding { track: ::core::primitive::u16 },
-					#[codec(index = 7)]
-					refund_submission_deposit { index: ::core::primitive::u32 },
-					#[codec(index = 8)]
-					set_metadata {
-						index: ::core::primitive::u32,
-						maybe_hash: ::core::option::Option<::subxt::utils::H256>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotOngoing,
-					#[codec(index = 1)]
-					HasDeposit,
-					#[codec(index = 2)]
-					BadTrack,
-					#[codec(index = 3)]
-					Full,
-					#[codec(index = 4)]
-					QueueEmpty,
-					#[codec(index = 5)]
-					BadReferendum,
-					#[codec(index = 6)]
-					NothingToDo,
-					#[codec(index = 7)]
-					NoTrack,
-					#[codec(index = 8)]
-					Unfinished,
-					#[codec(index = 9)]
-					NoPermission,
-					#[codec(index = 10)]
-					NoDeposit,
-					#[codec(index = 11)]
-					BadStatus,
-					#[codec(index = 12)]
-					PreimageNotExist,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					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)]
-					DecisionDepositPlaced {
-						index: ::core::primitive::u32,
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					DecisionDepositRefunded {
-						index: ::core::primitive::u32,
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					DepositSlashed {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					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)]
-					Confirmed {
-						index: ::core::primitive::u32,
-						tally: runtime_types::pallet_conviction_voting::types::Tally<
-							::core::primitive::u128,
-						>,
-					},
-					#[codec(index = 8)]
-					Approved { index: ::core::primitive::u32 },
-					#[codec(index = 9)]
-					Rejected {
-						index: ::core::primitive::u32,
-						tally: runtime_types::pallet_conviction_voting::types::Tally<
-							::core::primitive::u128,
-						>,
-					},
-					#[codec(index = 10)]
-					TimedOut {
-						index: ::core::primitive::u32,
-						tally: runtime_types::pallet_conviction_voting::types::Tally<
-							::core::primitive::u128,
-						>,
-					},
-					#[codec(index = 11)]
-					Cancelled {
-						index: ::core::primitive::u32,
-						tally: runtime_types::pallet_conviction_voting::types::Tally<
-							::core::primitive::u128,
-						>,
-					},
-					#[codec(index = 12)]
-					Killed {
-						index: ::core::primitive::u32,
-						tally: runtime_types::pallet_conviction_voting::types::Tally<
-							::core::primitive::u128,
-						>,
-					},
-					#[codec(index = 13)]
-					SubmissionDepositRefunded {
-						index: ::core::primitive::u32,
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 14)]
-					MetadataSet { index: ::core::primitive::u32, hash: ::subxt::utils::H256 },
-					#[codec(index = 15)]
-					MetadataCleared { index: ::core::primitive::u32, hash: ::subxt::utils::H256 },
-				}
-			}
-			pub mod types {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DecidingStatus<_0> {
-					pub since: _0,
-					pub confirming: ::core::option::Option<_0>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Deposit<_0, _1> {
-					pub who: _0,
-					pub amount: _1,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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 {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					schedule {
-						when: ::core::primitive::u32,
-						maybe_periodic: ::core::option::Option<(
-							::core::primitive::u32,
-							::core::primitive::u32,
-						)>,
-						priority: ::core::primitive::u8,
-						call: ::std::boxed::Box<runtime_types::polkadot_runtime::RuntimeCall>,
-					},
-					#[codec(index = 1)]
-					cancel { when: ::core::primitive::u32, index: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					schedule_named {
-						id: [::core::primitive::u8; 32usize],
-						when: ::core::primitive::u32,
-						maybe_periodic: ::core::option::Option<(
-							::core::primitive::u32,
-							::core::primitive::u32,
-						)>,
-						priority: ::core::primitive::u8,
-						call: ::std::boxed::Box<runtime_types::polkadot_runtime::RuntimeCall>,
-					},
-					#[codec(index = 3)]
-					cancel_named { id: [::core::primitive::u8; 32usize] },
-					#[codec(index = 4)]
-					schedule_after {
-						after: ::core::primitive::u32,
-						maybe_periodic: ::core::option::Option<(
-							::core::primitive::u32,
-							::core::primitive::u32,
-						)>,
-						priority: ::core::primitive::u8,
-						call: ::std::boxed::Box<runtime_types::polkadot_runtime::RuntimeCall>,
-					},
-					#[codec(index = 5)]
-					schedule_named_after {
-						id: [::core::primitive::u8; 32usize],
-						after: ::core::primitive::u32,
-						maybe_periodic: ::core::option::Option<(
-							::core::primitive::u32,
-							::core::primitive::u32,
-						)>,
-						priority: ::core::primitive::u8,
-						call: ::std::boxed::Box<runtime_types::polkadot_runtime::RuntimeCall>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					FailedToSchedule,
-					#[codec(index = 1)]
-					NotFound,
-					#[codec(index = 2)]
-					TargetBlockNumberInPast,
-					#[codec(index = 3)]
-					RescheduleNoChange,
-					#[codec(index = 4)]
-					Named,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Scheduled { when: ::core::primitive::u32, index: ::core::primitive::u32 },
-					#[codec(index = 1)]
-					Canceled { when: ::core::primitive::u32, index: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					Dispatched {
-						task: (::core::primitive::u32, ::core::primitive::u32),
-						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 3)]
-					CallUnavailable {
-						task: (::core::primitive::u32, ::core::primitive::u32),
-						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
-					},
-					#[codec(index = 4)]
-					PeriodicFailed {
-						task: (::core::primitive::u32, ::core::primitive::u32),
-						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
-					},
-					#[codec(index = 5)]
-					PermanentlyOverweight {
-						task: (::core::primitive::u32, ::core::primitive::u32),
-						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Scheduled<_0, _1, _2, _3, _4> {
-				pub maybe_id: ::core::option::Option<_0>,
-				pub priority: ::core::primitive::u8,
-				pub call: _1,
-				pub maybe_periodic: ::core::option::Option<(_2, _2)>,
-				pub origin: _3,
-				#[codec(skip)]
-				pub __subxt_unused_type_params: ::core::marker::PhantomData<_4>,
-			}
-		}
-		pub mod pallet_session {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					set_keys {
-						keys: runtime_types::polkadot_runtime::SessionKeys,
-						proof: ::std::vec::Vec<::core::primitive::u8>,
-					},
-					#[codec(index = 1)]
-					purge_keys,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidProof,
-					#[codec(index = 1)]
-					NoAssociatedValidatorId,
-					#[codec(index = 2)]
-					DuplicatedKey,
-					#[codec(index = 3)]
-					NoKeys,
-					#[codec(index = 4)]
-					NoAccount,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewSession { session_index: ::core::primitive::u32 },
-				}
-			}
-		}
-		pub mod pallet_staking {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						bond {
-							#[codec(compact)]
-							value: ::core::primitive::u128,
-							payee: runtime_types::pallet_staking::RewardDestination<
-								::sp_core::crypto::AccountId32,
-							>,
-						},
-						#[codec(index = 1)]
-						bond_extra {
-							#[codec(compact)]
-							max_additional: ::core::primitive::u128,
-						},
-						#[codec(index = 2)]
-						unbond {
-							#[codec(compact)]
-							value: ::core::primitive::u128,
-						},
-						#[codec(index = 3)]
-						withdraw_unbonded { num_slashing_spans: ::core::primitive::u32 },
-						#[codec(index = 4)]
-						validate { prefs: runtime_types::pallet_staking::ValidatorPrefs },
-						#[codec(index = 5)]
-						nominate {
-							targets: ::std::vec::Vec<
-								::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-							>,
-						},
-						#[codec(index = 6)]
-						chill,
-						#[codec(index = 7)]
-						set_payee {
-							payee: runtime_types::pallet_staking::RewardDestination<
-								::sp_core::crypto::AccountId32,
-							>,
-						},
-						#[codec(index = 8)]
-						set_controller,
-						#[codec(index = 9)]
-						set_validator_count {
-							#[codec(compact)]
-							new: ::core::primitive::u32,
-						},
-						#[codec(index = 10)]
-						increase_validator_count {
-							#[codec(compact)]
-							additional: ::core::primitive::u32,
-						},
-						#[codec(index = 11)]
-						scale_validator_count {
-							factor: runtime_types::sp_arithmetic::per_things::Percent,
-						},
-						#[codec(index = 12)]
-						force_no_eras,
-						#[codec(index = 13)]
-						force_new_era,
-						#[codec(index = 14)]
-						set_invulnerables {
-							invulnerables: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						},
-						#[codec(index = 15)]
-						force_unstake {
-							stash: ::sp_core::crypto::AccountId32,
-							num_slashing_spans: ::core::primitive::u32,
-						},
-						#[codec(index = 16)]
-						force_new_era_always,
-						#[codec(index = 17)]
-						cancel_deferred_slash {
-							era: ::core::primitive::u32,
-							slash_indices: ::std::vec::Vec<::core::primitive::u32>,
-						},
-						#[codec(index = 18)]
-						payout_stakers {
-							validator_stash: ::sp_core::crypto::AccountId32,
-							era: ::core::primitive::u32,
-						},
-						#[codec(index = 19)]
-						rebond {
-							#[codec(compact)]
-							value: ::core::primitive::u128,
-						},
-						#[codec(index = 20)]
-						reap_stash {
-							stash: ::sp_core::crypto::AccountId32,
-							num_slashing_spans: ::core::primitive::u32,
-						},
-						#[codec(index = 21)]
-						kick {
-							who: ::std::vec::Vec<
-								::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-							>,
-						},
-						#[codec(index = 22)]
-						set_staking_configs {
-							min_nominator_bond:
-								runtime_types::pallet_staking::pallet::pallet::ConfigOp<
-									::core::primitive::u128,
-								>,
-							min_validator_bond:
-								runtime_types::pallet_staking::pallet::pallet::ConfigOp<
-									::core::primitive::u128,
-								>,
-							max_nominator_count:
-								runtime_types::pallet_staking::pallet::pallet::ConfigOp<
-									::core::primitive::u32,
-								>,
-							max_validator_count:
-								runtime_types::pallet_staking::pallet::pallet::ConfigOp<
-									::core::primitive::u32,
-								>,
-							chill_threshold:
-								runtime_types::pallet_staking::pallet::pallet::ConfigOp<
-									runtime_types::sp_arithmetic::per_things::Percent,
-								>,
-							min_commission: runtime_types::pallet_staking::pallet::pallet::ConfigOp<
-								runtime_types::sp_arithmetic::per_things::Perbill,
-							>,
-						},
-						#[codec(index = 23)]
-						chill_other { controller: ::sp_core::crypto::AccountId32 },
-						#[codec(index = 24)]
-						force_apply_min_commission {
-							validator_stash: ::sp_core::crypto::AccountId32,
-						},
-						#[codec(index = 25)]
-						set_min_commission {
-							new: runtime_types::sp_arithmetic::per_things::Perbill,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum ConfigOp<_0> {
-						#[codec(index = 0)]
-						Noop,
-						#[codec(index = 1)]
-						Set(_0),
-						#[codec(index = 2)]
-						Remove,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						NotController,
-						#[codec(index = 1)]
-						NotStash,
-						#[codec(index = 2)]
-						AlreadyBonded,
-						#[codec(index = 3)]
-						AlreadyPaired,
-						#[codec(index = 4)]
-						EmptyTargets,
-						#[codec(index = 5)]
-						DuplicateIndex,
-						#[codec(index = 6)]
-						InvalidSlashIndex,
-						#[codec(index = 7)]
-						InsufficientBond,
-						#[codec(index = 8)]
-						NoMoreChunks,
-						#[codec(index = 9)]
-						NoUnlockChunk,
-						#[codec(index = 10)]
-						FundedTarget,
-						#[codec(index = 11)]
-						InvalidEraToReward,
-						#[codec(index = 12)]
-						InvalidNumberOfNominations,
-						#[codec(index = 13)]
-						NotSortedAndUnique,
-						#[codec(index = 14)]
-						AlreadyClaimed,
-						#[codec(index = 15)]
-						IncorrectHistoryDepth,
-						#[codec(index = 16)]
-						IncorrectSlashingSpans,
-						#[codec(index = 17)]
-						BadState,
-						#[codec(index = 18)]
-						TooManyTargets,
-						#[codec(index = 19)]
-						BadTarget,
-						#[codec(index = 20)]
-						CannotChillOther,
-						#[codec(index = 21)]
-						TooManyNominators,
-						#[codec(index = 22)]
-						TooManyValidators,
-						#[codec(index = 23)]
-						CommissionTooLow,
-						#[codec(index = 24)]
-						BoundNotMet,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						EraPaid {
-							era_index: ::core::primitive::u32,
-							validator_payout: ::core::primitive::u128,
-							remainder: ::core::primitive::u128,
-						},
-						#[codec(index = 1)]
-						Rewarded {
-							stash: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 2)]
-						Slashed {
-							staker: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 3)]
-						SlashReported {
-							validator: ::sp_core::crypto::AccountId32,
-							fraction: runtime_types::sp_arithmetic::per_things::Perbill,
-							slash_era: ::core::primitive::u32,
-						},
-						#[codec(index = 4)]
-						OldSlashingReportDiscarded { session_index: ::core::primitive::u32 },
-						#[codec(index = 5)]
-						StakersElected,
-						#[codec(index = 6)]
-						Bonded {
-							stash: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 7)]
-						Unbonded {
-							stash: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 8)]
-						Withdrawn {
-							stash: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 9)]
-						Kicked {
-							nominator: ::sp_core::crypto::AccountId32,
-							stash: ::sp_core::crypto::AccountId32,
-						},
-						#[codec(index = 10)]
-						StakingElectionFailed,
-						#[codec(index = 11)]
-						Chilled { stash: ::sp_core::crypto::AccountId32 },
-						#[codec(index = 12)]
-						PayoutStarted {
-							era_index: ::core::primitive::u32,
-							validator_stash: ::sp_core::crypto::AccountId32,
-						},
-						#[codec(index = 13)]
-						ValidatorPrefsSet {
-							stash: ::sp_core::crypto::AccountId32,
-							prefs: runtime_types::pallet_staking::ValidatorPrefs,
-						},
-						#[codec(index = 14)]
-						ForceEra { mode: runtime_types::pallet_staking::Forcing },
-					}
-				}
-			}
-			pub mod slashing {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SlashingSpans {
-					pub span_index: ::core::primitive::u32,
-					pub last_start: ::core::primitive::u32,
-					pub last_nonzero_slash: ::core::primitive::u32,
-					pub prior: ::std::vec::Vec<::core::primitive::u32>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SpanRecord<_0> {
-					pub slashed: _0,
-					pub paid_out: _0,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ActiveEraInfo {
-				pub index: ::core::primitive::u32,
-				pub start: ::core::option::Option<::core::primitive::u64>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct EraRewardPoints<_0> {
-				pub total: ::core::primitive::u32,
-				pub individual: ::subxt::utils::KeyedVec<_0, ::core::primitive::u32>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Exposure<_0, _1> {
-				#[codec(compact)]
-				pub total: _1,
-				#[codec(compact)]
-				pub own: _1,
-				pub others:
-					::std::vec::Vec<runtime_types::pallet_staking::IndividualExposure<_0, _1>>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Forcing {
-				#[codec(index = 0)]
-				NotForcing,
-				#[codec(index = 1)]
-				ForceNew,
-				#[codec(index = 2)]
-				ForceNone,
-				#[codec(index = 3)]
-				ForceAlways,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct IndividualExposure<_0, _1> {
-				pub who: _0,
-				#[codec(compact)]
-				pub value: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Nominations {
-				pub targets: runtime_types::bounded_collections::bounded_vec::BoundedVec<
-					::sp_core::crypto::AccountId32,
-				>,
-				pub submitted_in: ::core::primitive::u32,
-				pub suppressed: ::core::primitive::bool,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RewardDestination<_0> {
-				#[codec(index = 0)]
-				Staked,
-				#[codec(index = 1)]
-				Stash,
-				#[codec(index = 2)]
-				Controller,
-				#[codec(index = 3)]
-				Account(_0),
-				#[codec(index = 4)]
-				None,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct StakingLedger {
-				pub stash: ::sp_core::crypto::AccountId32,
-				#[codec(compact)]
-				pub total: ::core::primitive::u128,
-				#[codec(compact)]
-				pub active: ::core::primitive::u128,
-				pub unlocking: runtime_types::bounded_collections::bounded_vec::BoundedVec<
-					runtime_types::pallet_staking::UnlockChunk<::core::primitive::u128>,
-				>,
-				pub claimed_rewards: runtime_types::bounded_collections::bounded_vec::BoundedVec<
-					::core::primitive::u32,
-				>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct UnappliedSlash<_0, _1> {
-				pub validator: _0,
-				pub own: _1,
-				pub others: ::std::vec::Vec<(_0, _1)>,
-				pub reporters: ::std::vec::Vec<_0>,
-				pub payout: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct UnlockChunk<_0> {
-				#[codec(compact)]
-				pub value: _0,
-				#[codec(compact)]
-				pub era: ::core::primitive::u32,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ValidatorPrefs {
-				#[codec(compact)]
-				pub commission: runtime_types::sp_arithmetic::per_things::Perbill,
-				pub blocked: ::core::primitive::bool,
-			}
-		}
-		pub mod pallet_timestamp {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					set {
-						#[codec(compact)]
-						now: ::core::primitive::u64,
-					},
-				}
-			}
-		}
-		pub mod pallet_tips {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					report_awesome {
-						reason: ::std::vec::Vec<::core::primitive::u8>,
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 1)]
-					retract_tip { hash: ::subxt::utils::H256 },
-					#[codec(index = 2)]
-					tip_new {
-						reason: ::std::vec::Vec<::core::primitive::u8>,
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						tip_value: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					tip {
-						hash: ::subxt::utils::H256,
-						#[codec(compact)]
-						tip_value: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					close_tip { hash: ::subxt::utils::H256 },
-					#[codec(index = 5)]
-					slash_tip { hash: ::subxt::utils::H256 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					ReasonTooBig,
-					#[codec(index = 1)]
-					AlreadyKnown,
-					#[codec(index = 2)]
-					UnknownTip,
-					#[codec(index = 3)]
-					NotFinder,
-					#[codec(index = 4)]
-					StillOpen,
-					#[codec(index = 5)]
-					Premature,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewTip { tip_hash: ::subxt::utils::H256 },
-					#[codec(index = 1)]
-					TipClosing { tip_hash: ::subxt::utils::H256 },
-					#[codec(index = 2)]
-					TipClosed {
-						tip_hash: ::subxt::utils::H256,
-						who: ::sp_core::crypto::AccountId32,
-						payout: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					TipRetracted { tip_hash: ::subxt::utils::H256 },
-					#[codec(index = 4)]
-					TipSlashed {
-						tip_hash: ::subxt::utils::H256,
-						finder: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OpenTip<_0, _1, _2, _3> {
-				pub reason: _3,
-				pub who: _0,
-				pub finder: _0,
-				pub deposit: _1,
-				pub closes: ::core::option::Option<_2>,
-				pub tips: ::std::vec::Vec<(_0, _1)>,
-				pub finders_fee: ::core::primitive::bool,
-			}
-		}
-		pub mod pallet_transaction_payment {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					TransactionFeePaid {
-						who: ::sp_core::crypto::AccountId32,
-						actual_fee: ::core::primitive::u128,
-						tip: ::core::primitive::u128,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ChargeTransactionPayment(#[codec(compact)] pub ::core::primitive::u128);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Releases {
-				#[codec(index = 0)]
-				V1Ancient,
-				#[codec(index = 1)]
-				V2,
-			}
-		}
-		pub mod pallet_treasury {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					propose_spend {
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-						beneficiary:
-							::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 1)]
-					reject_proposal {
-						#[codec(compact)]
-						proposal_id: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					approve_proposal {
-						#[codec(compact)]
-						proposal_id: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					spend {
-						#[codec(compact)]
-						amount: ::core::primitive::u128,
-						beneficiary:
-							::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 4)]
-					remove_approval {
-						#[codec(compact)]
-						proposal_id: ::core::primitive::u32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InsufficientProposersBalance,
-					#[codec(index = 1)]
-					InvalidIndex,
-					#[codec(index = 2)]
-					TooManyApprovals,
-					#[codec(index = 3)]
-					InsufficientPermission,
-					#[codec(index = 4)]
-					ProposalNotApproved,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Proposed { proposal_index: ::core::primitive::u32 },
-					#[codec(index = 1)]
-					Spending { budget_remaining: ::core::primitive::u128 },
-					#[codec(index = 2)]
-					Awarded {
-						proposal_index: ::core::primitive::u32,
-						award: ::core::primitive::u128,
-						account: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 3)]
-					Rejected {
-						proposal_index: ::core::primitive::u32,
-						slashed: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					Burnt { burnt_funds: ::core::primitive::u128 },
-					#[codec(index = 5)]
-					Rollover { rollover_balance: ::core::primitive::u128 },
-					#[codec(index = 6)]
-					Deposit { value: ::core::primitive::u128 },
-					#[codec(index = 7)]
-					SpendApproved {
-						proposal_index: ::core::primitive::u32,
-						amount: ::core::primitive::u128,
-						beneficiary: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 8)]
-					UpdatedInactive {
-						reactivated: ::core::primitive::u128,
-						deactivated: ::core::primitive::u128,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Proposal<_0, _1> {
-				pub proposer: _0,
-				pub value: _1,
-				pub beneficiary: _0,
-				pub bond: _1,
-			}
-		}
-		pub mod pallet_utility {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					batch { calls: ::std::vec::Vec<runtime_types::polkadot_runtime::RuntimeCall> },
-					#[codec(index = 1)]
-					as_derivative {
-						index: ::core::primitive::u16,
-						call: ::std::boxed::Box<runtime_types::polkadot_runtime::RuntimeCall>,
-					},
-					#[codec(index = 2)]
-					batch_all {
-						calls: ::std::vec::Vec<runtime_types::polkadot_runtime::RuntimeCall>,
-					},
-					#[codec(index = 3)]
-					dispatch_as {
-						as_origin: ::std::boxed::Box<runtime_types::polkadot_runtime::OriginCaller>,
-						call: ::std::boxed::Box<runtime_types::polkadot_runtime::RuntimeCall>,
-					},
-					#[codec(index = 4)]
-					force_batch {
-						calls: ::std::vec::Vec<runtime_types::polkadot_runtime::RuntimeCall>,
-					},
-					#[codec(index = 5)]
-					with_weight {
-						call: ::std::boxed::Box<runtime_types::polkadot_runtime::RuntimeCall>,
-						weight: ::sp_weights::Weight,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					TooManyCalls,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					BatchInterrupted {
-						index: ::core::primitive::u32,
-						error: runtime_types::sp_runtime::DispatchError,
-					},
-					#[codec(index = 1)]
-					BatchCompleted,
-					#[codec(index = 2)]
-					BatchCompletedWithErrors,
-					#[codec(index = 3)]
-					ItemCompleted,
-					#[codec(index = 4)]
-					ItemFailed { error: runtime_types::sp_runtime::DispatchError },
-					#[codec(index = 5)]
-					DispatchedAs {
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-				}
-			}
-		}
-		pub mod pallet_vesting {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					vest,
-					#[codec(index = 1)]
-					vest_other {
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 2)]
-					vested_transfer {
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo<
-							::core::primitive::u128,
-							::core::primitive::u32,
-						>,
-					},
-					#[codec(index = 3)]
-					force_vested_transfer {
-						source: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo<
-							::core::primitive::u128,
-							::core::primitive::u32,
-						>,
-					},
-					#[codec(index = 4)]
-					merge_schedules {
-						schedule1_index: ::core::primitive::u32,
-						schedule2_index: ::core::primitive::u32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotVesting,
-					#[codec(index = 1)]
-					AtMaxVestingSchedules,
-					#[codec(index = 2)]
-					AmountLow,
-					#[codec(index = 3)]
-					ScheduleIndexOutOfBounds,
-					#[codec(index = 4)]
-					InvalidScheduleParams,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					VestingUpdated {
-						account: ::sp_core::crypto::AccountId32,
-						unvested: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					VestingCompleted { account: ::sp_core::crypto::AccountId32 },
-				}
-			}
-			pub mod vesting_info {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct VestingInfo<_0, _1> {
-					pub locked: _0,
-					pub per_block: _0,
-					pub starting_block: _1,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Releases {
-				#[codec(index = 0)]
-				V0,
-				#[codec(index = 1)]
-				V1,
-			}
-		}
-		pub mod pallet_whitelist {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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: ::sp_weights::Weight,
-					},
-					#[codec(index = 3)]
-					dispatch_whitelisted_call_with_preimage {
-						call: ::std::boxed::Box<runtime_types::polkadot_runtime::RuntimeCall>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					UnavailablePreImage,
-					#[codec(index = 1)]
-					UndecodableCall,
-					#[codec(index = 2)]
-					InvalidCallWeightWitness,
-					#[codec(index = 3)]
-					CallIsNotWhitelisted,
-					#[codec(index = 4)]
-					CallAlreadyWhitelisted,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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 {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					send {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						message: ::std::boxed::Box<runtime_types::xcm::VersionedXcm>,
-					},
-					#[codec(index = 1)]
-					teleport_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedMultiAssets>,
-						fee_asset_item: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					reserve_transfer_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedMultiAssets>,
-						fee_asset_item: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					execute {
-						message: ::std::boxed::Box<runtime_types::xcm::VersionedXcm>,
-						max_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 4)]
-					force_xcm_version {
-						location:
-							::std::boxed::Box<runtime_types::xcm::v3::multilocation::MultiLocation>,
-						xcm_version: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					force_default_xcm_version {
-						maybe_xcm_version: ::core::option::Option<::core::primitive::u32>,
-					},
-					#[codec(index = 6)]
-					force_subscribe_version_notify {
-						location: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-					},
-					#[codec(index = 7)]
-					force_unsubscribe_version_notify {
-						location: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-					},
-					#[codec(index = 8)]
-					limited_reserve_transfer_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedMultiAssets>,
-						fee_asset_item: ::core::primitive::u32,
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-					},
-					#[codec(index = 9)]
-					limited_teleport_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedMultiAssets>,
-						fee_asset_item: ::core::primitive::u32,
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-					},
-					#[codec(index = 10)]
-					force_suspension { suspended: ::core::primitive::bool },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					Unreachable,
-					#[codec(index = 1)]
-					SendFailure,
-					#[codec(index = 2)]
-					Filtered,
-					#[codec(index = 3)]
-					UnweighableMessage,
-					#[codec(index = 4)]
-					DestinationNotInvertible,
-					#[codec(index = 5)]
-					Empty,
-					#[codec(index = 6)]
-					CannotReanchor,
-					#[codec(index = 7)]
-					TooManyAssets,
-					#[codec(index = 8)]
-					InvalidOrigin,
-					#[codec(index = 9)]
-					BadVersion,
-					#[codec(index = 10)]
-					BadLocation,
-					#[codec(index = 11)]
-					NoSubscription,
-					#[codec(index = 12)]
-					AlreadySubscribed,
-					#[codec(index = 13)]
-					InvalidAsset,
-					#[codec(index = 14)]
-					LowBalance,
-					#[codec(index = 15)]
-					TooManyLocks,
-					#[codec(index = 16)]
-					AccountNotSovereign,
-					#[codec(index = 17)]
-					FeesNotMet,
-					#[codec(index = 18)]
-					LockNotFound,
-					#[codec(index = 19)]
-					InUse,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Attempted(runtime_types::xcm::v3::traits::Outcome),
-					#[codec(index = 1)]
-					Sent(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::v3::Xcm,
-					),
-					#[codec(index = 2)]
-					UnexpectedResponse(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u64,
-					),
-					#[codec(index = 3)]
-					ResponseReady(::core::primitive::u64, runtime_types::xcm::v3::Response),
-					#[codec(index = 4)]
-					Notified(::core::primitive::u64, ::core::primitive::u8, ::core::primitive::u8),
-					#[codec(index = 5)]
-					NotifyOverweight(
-						::core::primitive::u64,
-						::core::primitive::u8,
-						::core::primitive::u8,
-						::sp_weights::Weight,
-						::sp_weights::Weight,
-					),
-					#[codec(index = 6)]
-					NotifyDispatchError(
-						::core::primitive::u64,
-						::core::primitive::u8,
-						::core::primitive::u8,
-					),
-					#[codec(index = 7)]
-					NotifyDecodeFailed(
-						::core::primitive::u64,
-						::core::primitive::u8,
-						::core::primitive::u8,
-					),
-					#[codec(index = 8)]
-					InvalidResponder(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u64,
-						::core::option::Option<
-							runtime_types::xcm::v3::multilocation::MultiLocation,
-						>,
-					),
-					#[codec(index = 9)]
-					InvalidResponderVersion(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u64,
-					),
-					#[codec(index = 10)]
-					ResponseTaken(::core::primitive::u64),
-					#[codec(index = 11)]
-					AssetsTrapped(
-						::subxt::utils::H256,
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::VersionedMultiAssets,
-					),
-					#[codec(index = 12)]
-					VersionChangeNotified(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u32,
-						runtime_types::xcm::v3::multiasset::MultiAssets,
-					),
-					#[codec(index = 13)]
-					SupportedVersionChanged(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u32,
-					),
-					#[codec(index = 14)]
-					NotifyTargetSendFail(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u64,
-						runtime_types::xcm::v3::traits::Error,
-					),
-					#[codec(index = 15)]
-					NotifyTargetMigrationFail(
-						runtime_types::xcm::VersionedMultiLocation,
-						::core::primitive::u64,
-					),
-					#[codec(index = 16)]
-					InvalidQuerierVersion(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u64,
-					),
-					#[codec(index = 17)]
-					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)]
-					VersionNotifyStarted(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::v3::multiasset::MultiAssets,
-					),
-					#[codec(index = 19)]
-					VersionNotifyRequested(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::v3::multiasset::MultiAssets,
-					),
-					#[codec(index = 20)]
-					VersionNotifyUnrequested(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::v3::multiasset::MultiAssets,
-					),
-					#[codec(index = 21)]
-					FeesPaid(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::v3::multiasset::MultiAssets,
-					),
-					#[codec(index = 22)]
-					AssetsClaimed(
-						::subxt::utils::H256,
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::VersionedMultiAssets,
-					),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Origin {
-					#[codec(index = 0)]
-					Xcm(runtime_types::xcm::v3::multilocation::MultiLocation),
-					#[codec(index = 1)]
-					Response(runtime_types::xcm::v3::multilocation::MultiLocation),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum QueryStatus<_0> {
-					#[codec(index = 0)]
-					Pending {
-						responder: runtime_types::xcm::VersionedMultiLocation,
-						maybe_match_querier:
-							::core::option::Option<runtime_types::xcm::VersionedMultiLocation>,
-						maybe_notify:
-							::core::option::Option<(::core::primitive::u8, ::core::primitive::u8)>,
-						timeout: _0,
-					},
-					#[codec(index = 1)]
-					VersionNotifier {
-						origin: runtime_types::xcm::VersionedMultiLocation,
-						is_active: ::core::primitive::bool,
-					},
-					#[codec(index = 2)]
-					Ready { response: runtime_types::xcm::VersionedResponse, at: _0 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RemoteLockedFungibleRecord<_0> {
-					pub amount: ::core::primitive::u128,
-					pub owner: runtime_types::xcm::VersionedMultiLocation,
-					pub locker: runtime_types::xcm::VersionedMultiLocation,
-					pub consumers: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-						_0,
-						::core::primitive::u128,
-					)>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum VersionMigrationStage {
-					#[codec(index = 0)]
-					MigrateSupportedVersion,
-					#[codec(index = 1)]
-					MigrateVersionNotifiers,
-					#[codec(index = 2)]
-					NotifyCurrentTargets(
-						::core::option::Option<::std::vec::Vec<::core::primitive::u8>>,
-					),
-					#[codec(index = 3)]
-					MigrateAndNotifyOldTargets,
-				}
-			}
-		}
-		pub mod polkadot_core_primitives {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct CandidateHash(pub ::subxt::utils::H256);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundDownwardMessage<_0> {
-				pub sent_at: _0,
-				pub msg: ::std::vec::Vec<::core::primitive::u8>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundHrmpMessage<_0> {
-				pub sent_at: _0,
-				pub data: ::std::vec::Vec<::core::primitive::u8>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OutboundHrmpMessage<_0> {
-				pub recipient: _0,
-				pub data: ::std::vec::Vec<::core::primitive::u8>,
-			}
-		}
-		pub mod polkadot_parachain {
-			use super::runtime_types;
-			pub mod primitives {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HeadData(pub ::std::vec::Vec<::core::primitive::u8>);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HrmpChannelId {
-					pub sender: runtime_types::polkadot_parachain::primitives::Id,
-					pub recipient: runtime_types::polkadot_parachain::primitives::Id,
-				}
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct Id(pub ::core::primitive::u32);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ValidationCode(pub ::std::vec::Vec<::core::primitive::u8>);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ValidationCodeHash(pub ::subxt::utils::H256);
-			}
-		}
-		pub mod polkadot_primitives {
-			use super::runtime_types;
-			pub mod v4 {
-				use super::runtime_types;
-				pub mod assignment_app {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-				}
-				pub mod collator_app {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Signature(pub runtime_types::sp_core::sr25519::Signature);
-				}
-				pub mod executor_params {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct ExecutorParams(
-						pub  ::std::vec::Vec<
-							runtime_types::polkadot_primitives::v4::executor_params::ExecutorParam,
-						>,
-					);
-				}
-				pub mod signed {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct UncheckedSigned<_0, _1> {
-						pub payload: _0,
-						pub validator_index: runtime_types::polkadot_primitives::v4::ValidatorIndex,
-						pub signature:
-							runtime_types::polkadot_primitives::v4::validator_app::Signature,
-						#[codec(skip)]
-						pub __subxt_unused_type_params: ::core::marker::PhantomData<_1>,
-					}
-				}
-				pub mod validator_app {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Signature(pub runtime_types::sp_core::sr25519::Signature);
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AvailabilityBitfield(
-					pub  ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-				);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BackedCandidate<_0> {
-					pub candidate:
-						runtime_types::polkadot_primitives::v4::CommittedCandidateReceipt<_0>,
-					pub validity_votes: ::std::vec::Vec<
-						runtime_types::polkadot_primitives::v4::ValidityAttestation,
-					>,
-					pub validator_indices: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CandidateCommitments<_0> {
-					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,
-					>,
-					pub head_data: runtime_types::polkadot_parachain::primitives::HeadData,
-					pub processed_downward_messages: _0,
-					pub hrmp_watermark: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CandidateDescriptor<_0> {
-					pub para_id: runtime_types::polkadot_parachain::primitives::Id,
-					pub relay_parent: _0,
-					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::v4::collator_app::Signature,
-					pub para_head: _0,
-					pub validation_code_hash:
-						runtime_types::polkadot_parachain::primitives::ValidationCodeHash,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CandidateReceipt<_0> {
-					pub descriptor: runtime_types::polkadot_primitives::v4::CandidateDescriptor<_0>,
-					pub commitments_hash: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CommittedCandidateReceipt<_0> {
-					pub descriptor: runtime_types::polkadot_primitives::v4::CandidateDescriptor<_0>,
-					pub commitments: runtime_types::polkadot_primitives::v4::CandidateCommitments<
-						::core::primitive::u32,
-					>,
-				}
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct CoreIndex(pub ::core::primitive::u32);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum CoreOccupied {
-					#[codec(index = 0)]
-					Parathread(runtime_types::polkadot_primitives::v4::ParathreadEntry),
-					#[codec(index = 1)]
-					Parachain,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DisputeState<_0> {
-					pub validators_for: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-					pub validators_against: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-					pub start: _0,
-					pub concluded_at: ::core::option::Option<_0>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum DisputeStatement {
-					#[codec(index = 0)]
-					Valid(runtime_types::polkadot_primitives::v4::ValidDisputeStatementKind),
-					#[codec(index = 1)]
-					Invalid(runtime_types::polkadot_primitives::v4::InvalidDisputeStatementKind),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DisputeStatementSet {
-					pub candidate_hash: runtime_types::polkadot_core_primitives::CandidateHash,
-					pub session: ::core::primitive::u32,
-					pub statements: ::std::vec::Vec<(
-						runtime_types::polkadot_primitives::v4::DisputeStatement,
-						runtime_types::polkadot_primitives::v4::ValidatorIndex,
-						runtime_types::polkadot_primitives::v4::validator_app::Signature,
-					)>,
-				}
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct GroupIndex(pub ::core::primitive::u32);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct IndexedVec<_0, _1>(
-					pub ::std::vec::Vec<_1>,
-					#[codec(skip)] pub ::core::marker::PhantomData<_0>,
-				);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct InherentData<_0> {
-					pub bitfields: ::std::vec::Vec<
-						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::v4::BackedCandidate<
-							::subxt::utils::H256,
-						>,
-					>,
-					pub disputes: ::std::vec::Vec<
-						runtime_types::polkadot_primitives::v4::DisputeStatementSet,
-					>,
-					pub parent_header: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum InvalidDisputeStatementKind {
-					#[codec(index = 0)]
-					Explicit,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParathreadClaim(
-					pub runtime_types::polkadot_parachain::primitives::Id,
-					pub runtime_types::polkadot_primitives::v4::collator_app::Public,
-				);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParathreadEntry {
-					pub claim: runtime_types::polkadot_primitives::v4::ParathreadClaim,
-					pub retries: ::core::primitive::u32,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PvfCheckStatement {
-					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::v4::ValidatorIndex,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum PvfExecTimeoutKind {
-					#[codec(index = 0)]
-					Backing,
-					#[codec(index = 1)]
-					Approval,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum PvfPrepTimeoutKind {
-					#[codec(index = 0)]
-					Precheck,
-					#[codec(index = 1)]
-					Lenient,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ScrapedOnChainVotes<_0> {
-					pub session: ::core::primitive::u32,
-					pub backing_validators_per_candidate: ::std::vec::Vec<(
-						runtime_types::polkadot_primitives::v4::CandidateReceipt<_0>,
-						::std::vec::Vec<(
-							runtime_types::polkadot_primitives::v4::ValidatorIndex,
-							runtime_types::polkadot_primitives::v4::ValidityAttestation,
-						)>,
-					)>,
-					pub disputes: ::std::vec::Vec<
-						runtime_types::polkadot_primitives::v4::DisputeStatementSet,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SessionInfo {
-					pub active_validator_indices:
-						::std::vec::Vec<runtime_types::polkadot_primitives::v4::ValidatorIndex>,
-					pub random_seed: [::core::primitive::u8; 32usize],
-					pub dispute_period: ::core::primitive::u32,
-					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<runtime_types::sp_authority_discovery::app::Public>,
-					pub assignment_keys: ::std::vec::Vec<
-						runtime_types::polkadot_primitives::v4::assignment_app::Public,
-					>,
-					pub validator_groups: runtime_types::polkadot_primitives::v4::IndexedVec<
-						runtime_types::polkadot_primitives::v4::GroupIndex,
-						::std::vec::Vec<runtime_types::polkadot_primitives::v4::ValidatorIndex>,
-					>,
-					pub n_cores: ::core::primitive::u32,
-					pub zeroth_delay_tranche_width: ::core::primitive::u32,
-					pub relay_vrf_modulo_samples: ::core::primitive::u32,
-					pub n_delay_tranches: ::core::primitive::u32,
-					pub no_show_slots: ::core::primitive::u32,
-					pub needed_approvals: ::core::primitive::u32,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum UpgradeGoAhead {
-					#[codec(index = 0)]
-					Abort,
-					#[codec(index = 1)]
-					GoAhead,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum UpgradeRestriction {
-					#[codec(index = 0)]
-					Present,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum ValidDisputeStatementKind {
-					#[codec(index = 0)]
-					Explicit,
-					#[codec(index = 1)]
-					BackingSeconded(::subxt::utils::H256),
-					#[codec(index = 2)]
-					BackingValid(::subxt::utils::H256),
-					#[codec(index = 3)]
-					ApprovalChecking,
-				}
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct ValidatorIndex(pub ::core::primitive::u32);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum ValidityAttestation {
-					#[codec(index = 1)]
-					Implicit(runtime_types::polkadot_primitives::v4::validator_app::Signature),
-					#[codec(index = 2)]
-					Explicit(runtime_types::polkadot_primitives::v4::validator_app::Signature),
-				}
-			}
-			pub mod vstaging {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(
-							:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq,
-						)]
-						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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct NposCompactSolution16 {
-				pub votes1: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes2: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					),
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes3: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 2usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes4: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 3usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes5: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 4usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes6: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 5usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes7: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 6usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes8: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 7usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes9: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 8usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes10: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 9usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes11: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 10usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes12: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 11usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes13: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 12usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes14: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 13usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes15: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 14usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes16: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 15usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum OriginCaller {
-				# [codec (index = 0)] system (runtime_types :: frame_support :: dispatch :: RawOrigin < :: sp_core :: crypto :: AccountId32 > ,) , # [codec (index = 15)] Council (runtime_types :: pallet_collective :: RawOrigin < :: sp_core :: crypto :: AccountId32 > ,) , # [codec (index = 16)] TechnicalCommittee (runtime_types :: pallet_collective :: RawOrigin < :: sp_core :: crypto :: 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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ProxyType {
-				#[codec(index = 0)]
-				Any,
-				#[codec(index = 1)]
-				NonTransfer,
-				#[codec(index = 2)]
-				Governance,
-				#[codec(index = 3)]
-				Staking,
-				#[codec(index = 5)]
-				IdentityJudgement,
-				#[codec(index = 6)]
-				CancelProxy,
-				#[codec(index = 7)]
-				Auction,
-				#[codec(index = 8)]
-				NominationPools,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Runtime;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeCall {
-				#[codec(index = 0)]
-				System(runtime_types::frame_system::pallet::Call),
-				#[codec(index = 1)]
-				Scheduler(runtime_types::pallet_scheduler::pallet::Call),
-				#[codec(index = 10)]
-				Preimage(runtime_types::pallet_preimage::pallet::Call),
-				#[codec(index = 2)]
-				Babe(runtime_types::pallet_babe::pallet::Call),
-				#[codec(index = 3)]
-				Timestamp(runtime_types::pallet_timestamp::pallet::Call),
-				#[codec(index = 4)]
-				Indices(runtime_types::pallet_indices::pallet::Call),
-				#[codec(index = 5)]
-				Balances(runtime_types::pallet_balances::pallet::Call),
-				#[codec(index = 7)]
-				Staking(runtime_types::pallet_staking::pallet::pallet::Call),
-				#[codec(index = 9)]
-				Session(runtime_types::pallet_session::pallet::Call),
-				#[codec(index = 11)]
-				Grandpa(runtime_types::pallet_grandpa::pallet::Call),
-				#[codec(index = 12)]
-				ImOnline(runtime_types::pallet_im_online::pallet::Call),
-				#[codec(index = 14)]
-				Democracy(runtime_types::pallet_democracy::pallet::Call),
-				#[codec(index = 15)]
-				Council(runtime_types::pallet_collective::pallet::Call),
-				#[codec(index = 16)]
-				TechnicalCommittee(runtime_types::pallet_collective::pallet::Call),
-				#[codec(index = 17)]
-				PhragmenElection(runtime_types::pallet_elections_phragmen::pallet::Call),
-				#[codec(index = 18)]
-				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)]
-				Vesting(runtime_types::pallet_vesting::pallet::Call),
-				#[codec(index = 26)]
-				Utility(runtime_types::pallet_utility::pallet::Call),
-				#[codec(index = 28)]
-				Identity(runtime_types::pallet_identity::pallet::Call),
-				#[codec(index = 29)]
-				Proxy(runtime_types::pallet_proxy::pallet::Call),
-				#[codec(index = 30)]
-				Multisig(runtime_types::pallet_multisig::pallet::Call),
-				#[codec(index = 34)]
-				Bounties(runtime_types::pallet_bounties::pallet::Call),
-				#[codec(index = 38)]
-				ChildBounties(runtime_types::pallet_child_bounties::pallet::Call),
-				#[codec(index = 35)]
-				Tips(runtime_types::pallet_tips::pallet::Call),
-				#[codec(index = 36)]
-				ElectionProviderMultiPhase(
-					runtime_types::pallet_election_provider_multi_phase::pallet::Call,
-				),
-				#[codec(index = 37)]
-				VoterList(runtime_types::pallet_bags_list::pallet::Call),
-				#[codec(index = 39)]
-				NominationPools(runtime_types::pallet_nomination_pools::pallet::Call),
-				#[codec(index = 40)]
-				FastUnstake(runtime_types::pallet_fast_unstake::pallet::Call),
-				#[codec(index = 51)]
-				Configuration(
-					runtime_types::polkadot_runtime_parachains::configuration::pallet::Call,
-				),
-				#[codec(index = 52)]
-				ParasShared(runtime_types::polkadot_runtime_parachains::shared::pallet::Call),
-				#[codec(index = 53)]
-				ParaInclusion(runtime_types::polkadot_runtime_parachains::inclusion::pallet::Call),
-				#[codec(index = 54)]
-				ParaInherent(
-					runtime_types::polkadot_runtime_parachains::paras_inherent::pallet::Call,
-				),
-				#[codec(index = 56)]
-				Paras(runtime_types::polkadot_runtime_parachains::paras::pallet::Call),
-				#[codec(index = 57)]
-				Initializer(runtime_types::polkadot_runtime_parachains::initializer::pallet::Call),
-				#[codec(index = 60)]
-				Hrmp(runtime_types::polkadot_runtime_parachains::hrmp::pallet::Call),
-				#[codec(index = 62)]
-				ParasDisputes(runtime_types::polkadot_runtime_parachains::disputes::pallet::Call),
-				#[codec(index = 63)]
-				ParasSlashing(
-					runtime_types::polkadot_runtime_parachains::disputes::slashing::pallet::Call,
-				),
-				#[codec(index = 70)]
-				Registrar(runtime_types::polkadot_runtime_common::paras_registrar::pallet::Call),
-				#[codec(index = 71)]
-				Slots(runtime_types::polkadot_runtime_common::slots::pallet::Call),
-				#[codec(index = 72)]
-				Auctions(runtime_types::polkadot_runtime_common::auctions::pallet::Call),
-				#[codec(index = 73)]
-				Crowdloan(runtime_types::polkadot_runtime_common::crowdloan::pallet::Call),
-				#[codec(index = 99)]
-				XcmPallet(runtime_types::pallet_xcm::pallet::Call),
-				#[codec(index = 100)]
-				MessageQueue(runtime_types::pallet_message_queue::pallet::Call),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeEvent {
-				#[codec(index = 0)]
-				System(runtime_types::frame_system::pallet::Event),
-				#[codec(index = 1)]
-				Scheduler(runtime_types::pallet_scheduler::pallet::Event),
-				#[codec(index = 10)]
-				Preimage(runtime_types::pallet_preimage::pallet::Event),
-				#[codec(index = 4)]
-				Indices(runtime_types::pallet_indices::pallet::Event),
-				#[codec(index = 5)]
-				Balances(runtime_types::pallet_balances::pallet::Event),
-				#[codec(index = 32)]
-				TransactionPayment(runtime_types::pallet_transaction_payment::pallet::Event),
-				#[codec(index = 7)]
-				Staking(runtime_types::pallet_staking::pallet::pallet::Event),
-				#[codec(index = 8)]
-				Offences(runtime_types::pallet_offences::pallet::Event),
-				#[codec(index = 9)]
-				Session(runtime_types::pallet_session::pallet::Event),
-				#[codec(index = 11)]
-				Grandpa(runtime_types::pallet_grandpa::pallet::Event),
-				#[codec(index = 12)]
-				ImOnline(runtime_types::pallet_im_online::pallet::Event),
-				#[codec(index = 14)]
-				Democracy(runtime_types::pallet_democracy::pallet::Event),
-				#[codec(index = 15)]
-				Council(runtime_types::pallet_collective::pallet::Event),
-				#[codec(index = 16)]
-				TechnicalCommittee(runtime_types::pallet_collective::pallet::Event),
-				#[codec(index = 17)]
-				PhragmenElection(runtime_types::pallet_elections_phragmen::pallet::Event),
-				#[codec(index = 18)]
-				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)]
-				Vesting(runtime_types::pallet_vesting::pallet::Event),
-				#[codec(index = 26)]
-				Utility(runtime_types::pallet_utility::pallet::Event),
-				#[codec(index = 28)]
-				Identity(runtime_types::pallet_identity::pallet::Event),
-				#[codec(index = 29)]
-				Proxy(runtime_types::pallet_proxy::pallet::Event),
-				#[codec(index = 30)]
-				Multisig(runtime_types::pallet_multisig::pallet::Event),
-				#[codec(index = 34)]
-				Bounties(runtime_types::pallet_bounties::pallet::Event),
-				#[codec(index = 38)]
-				ChildBounties(runtime_types::pallet_child_bounties::pallet::Event),
-				#[codec(index = 35)]
-				Tips(runtime_types::pallet_tips::pallet::Event),
-				#[codec(index = 36)]
-				ElectionProviderMultiPhase(
-					runtime_types::pallet_election_provider_multi_phase::pallet::Event,
-				),
-				#[codec(index = 37)]
-				VoterList(runtime_types::pallet_bags_list::pallet::Event),
-				#[codec(index = 39)]
-				NominationPools(runtime_types::pallet_nomination_pools::pallet::Event),
-				#[codec(index = 40)]
-				FastUnstake(runtime_types::pallet_fast_unstake::pallet::Event),
-				#[codec(index = 53)]
-				ParaInclusion(runtime_types::polkadot_runtime_parachains::inclusion::pallet::Event),
-				#[codec(index = 56)]
-				Paras(runtime_types::polkadot_runtime_parachains::paras::pallet::Event),
-				#[codec(index = 60)]
-				Hrmp(runtime_types::polkadot_runtime_parachains::hrmp::pallet::Event),
-				#[codec(index = 62)]
-				ParasDisputes(runtime_types::polkadot_runtime_parachains::disputes::pallet::Event),
-				#[codec(index = 70)]
-				Registrar(runtime_types::polkadot_runtime_common::paras_registrar::pallet::Event),
-				#[codec(index = 71)]
-				Slots(runtime_types::polkadot_runtime_common::slots::pallet::Event),
-				#[codec(index = 72)]
-				Auctions(runtime_types::polkadot_runtime_common::auctions::pallet::Event),
-				#[codec(index = 73)]
-				Crowdloan(runtime_types::polkadot_runtime_common::crowdloan::pallet::Event),
-				#[codec(index = 99)]
-				XcmPallet(runtime_types::pallet_xcm::pallet::Event),
-				#[codec(index = 100)]
-				MessageQueue(runtime_types::pallet_message_queue::pallet::Event),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct SessionKeys {
-				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::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,
-			}
-		}
-		pub mod polkadot_runtime_common {
-			use super::runtime_types;
-			pub mod auctions {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						new_auction {
-							#[codec(compact)]
-							duration: ::core::primitive::u32,
-							#[codec(compact)]
-							lease_period_index: ::core::primitive::u32,
-						},
-						#[codec(index = 1)]
-						bid {
-							#[codec(compact)]
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							#[codec(compact)]
-							auction_index: ::core::primitive::u32,
-							#[codec(compact)]
-							first_slot: ::core::primitive::u32,
-							#[codec(compact)]
-							last_slot: ::core::primitive::u32,
-							#[codec(compact)]
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 2)]
-						cancel_auction,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						AuctionInProgress,
-						#[codec(index = 1)]
-						LeasePeriodInPast,
-						#[codec(index = 2)]
-						ParaNotRegistered,
-						#[codec(index = 3)]
-						NotCurrentAuction,
-						#[codec(index = 4)]
-						NotAuction,
-						#[codec(index = 5)]
-						AuctionEnded,
-						#[codec(index = 6)]
-						AlreadyLeasedOut,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						AuctionStarted {
-							auction_index: ::core::primitive::u32,
-							lease_period: ::core::primitive::u32,
-							ending: ::core::primitive::u32,
-						},
-						#[codec(index = 1)]
-						AuctionClosed { auction_index: ::core::primitive::u32 },
-						#[codec(index = 2)]
-						Reserved {
-							bidder: ::sp_core::crypto::AccountId32,
-							extra_reserved: ::core::primitive::u128,
-							total_amount: ::core::primitive::u128,
-						},
-						#[codec(index = 3)]
-						Unreserved {
-							bidder: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 4)]
-						ReserveConfiscated {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							leaser: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 5)]
-						BidAccepted {
-							bidder: ::sp_core::crypto::AccountId32,
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							amount: ::core::primitive::u128,
-							first_slot: ::core::primitive::u32,
-							last_slot: ::core::primitive::u32,
-						},
-						#[codec(index = 6)]
-						WinningOffset {
-							auction_index: ::core::primitive::u32,
-							block_number: ::core::primitive::u32,
-						},
-					}
-				}
-			}
-			pub mod claims {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						claim {
-							dest: ::sp_core::crypto::AccountId32,
-							ethereum_signature:
-								runtime_types::polkadot_runtime_common::claims::EcdsaSignature,
-						},
-						#[codec(index = 1)]
-						mint_claim {
-							who: runtime_types::polkadot_runtime_common::claims::EthereumAddress,
-							value: ::core::primitive::u128,
-							vesting_schedule: ::core::option::Option<(
-								::core::primitive::u128,
-								::core::primitive::u128,
-								::core::primitive::u32,
-							)>,
-							statement: ::core::option::Option<
-								runtime_types::polkadot_runtime_common::claims::StatementKind,
-							>,
-						},
-						#[codec(index = 2)]
-						claim_attest {
-							dest: ::sp_core::crypto::AccountId32,
-							ethereum_signature:
-								runtime_types::polkadot_runtime_common::claims::EcdsaSignature,
-							statement: ::std::vec::Vec<::core::primitive::u8>,
-						},
-						#[codec(index = 3)]
-						attest { statement: ::std::vec::Vec<::core::primitive::u8> },
-						#[codec(index = 4)]
-						move_claim {
-							old: runtime_types::polkadot_runtime_common::claims::EthereumAddress,
-							new: runtime_types::polkadot_runtime_common::claims::EthereumAddress,
-							maybe_preclaim: ::core::option::Option<::sp_core::crypto::AccountId32>,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						InvalidEthereumSignature,
-						#[codec(index = 1)]
-						SignerHasNoClaim,
-						#[codec(index = 2)]
-						SenderHasNoClaim,
-						#[codec(index = 3)]
-						PotUnderflow,
-						#[codec(index = 4)]
-						InvalidStatement,
-						#[codec(index = 5)]
-						VestedBalanceExists,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						Claimed {
-							who: ::sp_core::crypto::AccountId32,
-							ethereum_address:
-								runtime_types::polkadot_runtime_common::claims::EthereumAddress,
-							amount: ::core::primitive::u128,
-						},
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct EcdsaSignature(pub [::core::primitive::u8; 65usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct EthereumAddress(pub [::core::primitive::u8; 20usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PrevalidateAttests;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum StatementKind {
-					#[codec(index = 0)]
-					Regular,
-					#[codec(index = 1)]
-					Saft,
-				}
-			}
-			pub mod crowdloan {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						create {
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-							#[codec(compact)]
-							cap: ::core::primitive::u128,
-							#[codec(compact)]
-							first_period: ::core::primitive::u32,
-							#[codec(compact)]
-							last_period: ::core::primitive::u32,
-							#[codec(compact)]
-							end: ::core::primitive::u32,
-							verifier:
-								::core::option::Option<runtime_types::sp_runtime::MultiSigner>,
-						},
-						#[codec(index = 1)]
-						contribute {
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-							#[codec(compact)]
-							value: ::core::primitive::u128,
-							signature:
-								::core::option::Option<runtime_types::sp_runtime::MultiSignature>,
-						},
-						#[codec(index = 2)]
-						withdraw {
-							who: ::sp_core::crypto::AccountId32,
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 3)]
-						refund {
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 4)]
-						dissolve {
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 5)]
-						edit {
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-							#[codec(compact)]
-							cap: ::core::primitive::u128,
-							#[codec(compact)]
-							first_period: ::core::primitive::u32,
-							#[codec(compact)]
-							last_period: ::core::primitive::u32,
-							#[codec(compact)]
-							end: ::core::primitive::u32,
-							verifier:
-								::core::option::Option<runtime_types::sp_runtime::MultiSigner>,
-						},
-						#[codec(index = 6)]
-						add_memo {
-							index: runtime_types::polkadot_parachain::primitives::Id,
-							memo: ::std::vec::Vec<::core::primitive::u8>,
-						},
-						#[codec(index = 7)]
-						poke { index: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 8)]
-						contribute_all {
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-							signature:
-								::core::option::Option<runtime_types::sp_runtime::MultiSignature>,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						FirstPeriodInPast,
-						#[codec(index = 1)]
-						FirstPeriodTooFarInFuture,
-						#[codec(index = 2)]
-						LastPeriodBeforeFirstPeriod,
-						#[codec(index = 3)]
-						LastPeriodTooFarInFuture,
-						#[codec(index = 4)]
-						CannotEndInPast,
-						#[codec(index = 5)]
-						EndTooFarInFuture,
-						#[codec(index = 6)]
-						Overflow,
-						#[codec(index = 7)]
-						ContributionTooSmall,
-						#[codec(index = 8)]
-						InvalidParaId,
-						#[codec(index = 9)]
-						CapExceeded,
-						#[codec(index = 10)]
-						ContributionPeriodOver,
-						#[codec(index = 11)]
-						InvalidOrigin,
-						#[codec(index = 12)]
-						NotParachain,
-						#[codec(index = 13)]
-						LeaseActive,
-						#[codec(index = 14)]
-						BidOrLeaseActive,
-						#[codec(index = 15)]
-						FundNotEnded,
-						#[codec(index = 16)]
-						NoContributions,
-						#[codec(index = 17)]
-						NotReadyToDissolve,
-						#[codec(index = 18)]
-						InvalidSignature,
-						#[codec(index = 19)]
-						MemoTooLarge,
-						#[codec(index = 20)]
-						AlreadyInNewRaise,
-						#[codec(index = 21)]
-						VrfDelayInProgress,
-						#[codec(index = 22)]
-						NoLeasePeriod,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						Created { para_id: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 1)]
-						Contributed {
-							who: ::sp_core::crypto::AccountId32,
-							fund_index: runtime_types::polkadot_parachain::primitives::Id,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 2)]
-						Withdrew {
-							who: ::sp_core::crypto::AccountId32,
-							fund_index: runtime_types::polkadot_parachain::primitives::Id,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 3)]
-						PartiallyRefunded {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 4)]
-						AllRefunded { para_id: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 5)]
-						Dissolved { para_id: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 6)]
-						HandleBidResult {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							result: ::core::result::Result<
-								(),
-								runtime_types::sp_runtime::DispatchError,
-							>,
-						},
-						#[codec(index = 7)]
-						Edited { para_id: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 8)]
-						MemoUpdated {
-							who: ::sp_core::crypto::AccountId32,
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							memo: ::std::vec::Vec<::core::primitive::u8>,
-						},
-						#[codec(index = 9)]
-						AddedToNewRaise {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-						},
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct FundInfo<_0, _1, _2, _3> {
-					pub depositor: _0,
-					pub verifier: ::core::option::Option<runtime_types::sp_runtime::MultiSigner>,
-					pub deposit: _1,
-					pub raised: _1,
-					pub end: _2,
-					pub cap: _1,
-					pub last_contribution:
-						runtime_types::polkadot_runtime_common::crowdloan::LastContribution<_2>,
-					pub first_period: _2,
-					pub last_period: _2,
-					pub fund_index: _2,
-					#[codec(skip)]
-					pub __subxt_unused_type_params: ::core::marker::PhantomData<_3>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum LastContribution<_0> {
-					#[codec(index = 0)]
-					Never,
-					#[codec(index = 1)]
-					PreEnding(_0),
-					#[codec(index = 2)]
-					Ending(_0),
-				}
-			}
-			pub mod paras_registrar {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						register {
-							id: runtime_types::polkadot_parachain::primitives::Id,
-							genesis_head: runtime_types::polkadot_parachain::primitives::HeadData,
-							validation_code:
-								runtime_types::polkadot_parachain::primitives::ValidationCode,
-						},
-						#[codec(index = 1)]
-						force_register {
-							who: ::sp_core::crypto::AccountId32,
-							deposit: ::core::primitive::u128,
-							id: runtime_types::polkadot_parachain::primitives::Id,
-							genesis_head: runtime_types::polkadot_parachain::primitives::HeadData,
-							validation_code:
-								runtime_types::polkadot_parachain::primitives::ValidationCode,
-						},
-						#[codec(index = 2)]
-						deregister { id: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 3)]
-						swap {
-							id: runtime_types::polkadot_parachain::primitives::Id,
-							other: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 4)]
-						remove_lock { para: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 5)]
-						reserve,
-						#[codec(index = 6)]
-						add_lock { para: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 7)]
-						schedule_code_upgrade {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							new_code: runtime_types::polkadot_parachain::primitives::ValidationCode,
-						},
-						#[codec(index = 8)]
-						set_current_head {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							new_head: runtime_types::polkadot_parachain::primitives::HeadData,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						NotRegistered,
-						#[codec(index = 1)]
-						AlreadyRegistered,
-						#[codec(index = 2)]
-						NotOwner,
-						#[codec(index = 3)]
-						CodeTooLarge,
-						#[codec(index = 4)]
-						HeadDataTooLarge,
-						#[codec(index = 5)]
-						NotParachain,
-						#[codec(index = 6)]
-						NotParathread,
-						#[codec(index = 7)]
-						CannotDeregister,
-						#[codec(index = 8)]
-						CannotDowngrade,
-						#[codec(index = 9)]
-						CannotUpgrade,
-						#[codec(index = 10)]
-						ParaLocked,
-						#[codec(index = 11)]
-						NotReserved,
-						#[codec(index = 12)]
-						EmptyCode,
-						#[codec(index = 13)]
-						CannotSwap,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						Registered {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							manager: ::sp_core::crypto::AccountId32,
-						},
-						#[codec(index = 1)]
-						Deregistered { para_id: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 2)]
-						Reserved {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							who: ::sp_core::crypto::AccountId32,
-						},
-						#[codec(index = 3)]
-						Swapped {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							other_id: runtime_types::polkadot_parachain::primitives::Id,
-						},
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParaInfo<_0, _1> {
-					pub manager: _0,
-					pub deposit: _1,
-					pub locked: ::core::primitive::bool,
-				}
-			}
-			pub mod slots {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						force_lease {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							leaser: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-							period_begin: ::core::primitive::u32,
-							period_count: ::core::primitive::u32,
-						},
-						#[codec(index = 1)]
-						clear_all_leases { para: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 2)]
-						trigger_onboard { para: runtime_types::polkadot_parachain::primitives::Id },
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						ParaNotOnboarding,
-						#[codec(index = 1)]
-						LeaseError,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						NewLeasePeriod { lease_period: ::core::primitive::u32 },
-						#[codec(index = 1)]
-						Leased {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							leaser: ::sp_core::crypto::AccountId32,
-							period_begin: ::core::primitive::u32,
-							period_count: ::core::primitive::u32,
-							extra_reserved: ::core::primitive::u128,
-							total_amount: ::core::primitive::u128,
-						},
-					}
-				}
-			}
-		}
-		pub mod polkadot_runtime_parachains {
-			use super::runtime_types;
-			pub mod configuration {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						# [codec (index = 0)] set_validation_upgrade_cooldown { new : :: core :: primitive :: u32 , } , # [codec (index = 1)] set_validation_upgrade_delay { new : :: core :: primitive :: u32 , } , # [codec (index = 2)] set_code_retention_period { new : :: core :: primitive :: u32 , } , # [codec (index = 3)] set_max_code_size { new : :: core :: primitive :: u32 , } , # [codec (index = 4)] set_max_pov_size { new : :: core :: primitive :: u32 , } , # [codec (index = 5)] set_max_head_data_size { new : :: core :: primitive :: u32 , } , # [codec (index = 6)] set_parathread_cores { new : :: core :: primitive :: u32 , } , # [codec (index = 7)] set_parathread_retries { new : :: core :: primitive :: u32 , } , # [codec (index = 8)] set_group_rotation_frequency { new : :: core :: primitive :: u32 , } , # [codec (index = 9)] set_chain_availability_period { new : :: core :: primitive :: u32 , } , # [codec (index = 10)] set_thread_availability_period { new : :: core :: primitive :: u32 , } , # [codec (index = 11)] set_scheduling_lookahead { new : :: core :: primitive :: u32 , } , # [codec (index = 12)] set_max_validators_per_core { new : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [codec (index = 13)] set_max_validators { new : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [codec (index = 14)] set_dispute_period { new : :: core :: primitive :: u32 , } , # [codec (index = 15)] set_dispute_post_conclusion_acceptance_period { new : :: core :: primitive :: u32 , } , # [codec (index = 18)] set_no_show_slots { new : :: core :: primitive :: u32 , } , # [codec (index = 19)] set_n_delay_tranches { new : :: core :: primitive :: u32 , } , # [codec (index = 20)] set_zeroth_delay_tranche_width { new : :: core :: primitive :: u32 , } , # [codec (index = 21)] set_needed_approvals { new : :: core :: primitive :: u32 , } , # [codec (index = 22)] set_relay_vrf_modulo_samples { new : :: core :: primitive :: u32 , } , # [codec (index = 23)] set_max_upward_queue_count { new : :: core :: primitive :: u32 , } , # [codec (index = 24)] set_max_upward_queue_size { new : :: core :: primitive :: u32 , } , # [codec (index = 25)] set_max_downward_message_size { new : :: core :: primitive :: u32 , } , # [codec (index = 27)] set_max_upward_message_size { new : :: core :: primitive :: u32 , } , # [codec (index = 28)] set_max_upward_message_num_per_candidate { new : :: core :: primitive :: u32 , } , # [codec (index = 29)] set_hrmp_open_request_ttl { new : :: core :: primitive :: u32 , } , # [codec (index = 30)] set_hrmp_sender_deposit { new : :: core :: primitive :: u128 , } , # [codec (index = 31)] set_hrmp_recipient_deposit { new : :: core :: primitive :: u128 , } , # [codec (index = 32)] set_hrmp_channel_max_capacity { new : :: core :: primitive :: u32 , } , # [codec (index = 33)] set_hrmp_channel_max_total_size { new : :: core :: primitive :: u32 , } , # [codec (index = 34)] set_hrmp_max_parachain_inbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 35)] set_hrmp_max_parathread_inbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 36)] set_hrmp_channel_max_message_size { new : :: core :: primitive :: u32 , } , # [codec (index = 37)] set_hrmp_max_parachain_outbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 38)] set_hrmp_max_parathread_outbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 39)] set_hrmp_max_message_num_per_candidate { new : :: core :: primitive :: u32 , } , # [codec (index = 41)] set_pvf_checking_enabled { new : :: core :: primitive :: bool , } , # [codec (index = 42)] set_pvf_voting_ttl { new : :: core :: primitive :: u32 , } , # [codec (index = 43)] set_minimum_validation_upgrade_delay { new : :: core :: primitive :: u32 , } , # [codec (index = 44)] set_bypass_consistency_check { new : :: core :: primitive :: bool , } , # [codec (index = 45)] set_async_backing_params { new : runtime_types :: polkadot_primitives :: vstaging :: AsyncBackingParams , } , # [codec (index = 46)] set_executor_params { new : runtime_types :: polkadot_primitives :: v4 :: executor_params :: ExecutorParams , } , }
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						InvalidNewValue,
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HostConfiguration<_0> {
-					pub max_code_size: _0,
-					pub max_head_data_size: _0,
-					pub max_upward_queue_count: _0,
-					pub max_upward_queue_size: _0,
-					pub max_upward_message_size: _0,
-					pub max_upward_message_num_per_candidate: _0,
-					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 hrmp_max_parachain_outbound_channels: _0,
-					pub hrmp_max_parathread_outbound_channels: _0,
-					pub hrmp_sender_deposit: ::core::primitive::u128,
-					pub hrmp_recipient_deposit: ::core::primitive::u128,
-					pub hrmp_channel_max_capacity: _0,
-					pub hrmp_channel_max_total_size: _0,
-					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,
-					pub group_rotation_frequency: _0,
-					pub chain_availability_period: _0,
-					pub thread_availability_period: _0,
-					pub scheduling_lookahead: _0,
-					pub max_validators_per_core: ::core::option::Option<_0>,
-					pub max_validators: ::core::option::Option<_0>,
-					pub dispute_period: _0,
-					pub dispute_post_conclusion_acceptance_period: _0,
-					pub no_show_slots: _0,
-					pub n_delay_tranches: _0,
-					pub zeroth_delay_tranche_width: _0,
-					pub needed_approvals: _0,
-					pub relay_vrf_modulo_samples: _0,
-					pub pvf_checking_enabled: ::core::primitive::bool,
-					pub pvf_voting_ttl: _0,
-					pub minimum_validation_upgrade_delay: _0,
-				}
-			}
-			pub mod disputes {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						force_unfreeze,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						DuplicateDisputeStatementSets,
-						#[codec(index = 1)]
-						AncientDisputeStatement,
-						#[codec(index = 2)]
-						ValidatorIndexOutOfBounds,
-						#[codec(index = 3)]
-						InvalidSignature,
-						#[codec(index = 4)]
-						DuplicateStatement,
-						#[codec(index = 5)]
-						SingleSidedDispute,
-						#[codec(index = 6)]
-						MaliciousBacker,
-						#[codec(index = 7)]
-						MissingBackingVotes,
-						#[codec(index = 8)]
-						UnconfirmedDispute,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						DisputeInitiated(
-							runtime_types::polkadot_core_primitives::CandidateHash,
-							runtime_types::polkadot_runtime_parachains::disputes::DisputeLocation,
-						),
-						#[codec(index = 1)]
-						DisputeConcluded(
-							runtime_types::polkadot_core_primitives::CandidateHash,
-							runtime_types::polkadot_runtime_parachains::disputes::DisputeResult,
-						),
-						#[codec(index = 2)]
-						Revert(::core::primitive::u32),
-					}
-				}
-				pub mod slashing {
-					use super::runtime_types;
-					pub mod pallet {
-						use super::runtime_types;
-						#[derive(
-							:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq,
-						)]
-						pub enum Call {
-							# [codec (index = 0)] report_dispute_lost_unsigned { dispute_proof : :: std :: boxed :: Box < runtime_types :: polkadot_runtime_parachains :: disputes :: slashing :: DisputeProof > , key_owner_proof : :: sp_session :: MembershipProof , } , }
-						#[derive(
-							:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq,
-						)]
-						pub enum Error {
-							#[codec(index = 0)]
-							InvalidKeyOwnershipProof,
-							#[codec(index = 1)]
-							InvalidSessionIndex,
-							#[codec(index = 2)]
-							InvalidCandidateHash,
-							#[codec(index = 3)]
-							InvalidValidatorIndex,
-							#[codec(index = 4)]
-							ValidatorIndexIdMismatch,
-							#[codec(index = 5)]
-							DuplicateSlashingReport,
-						}
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct DisputeProof { pub time_slot : runtime_types :: polkadot_runtime_parachains :: disputes :: slashing :: DisputesTimeSlot , pub kind : runtime_types :: polkadot_runtime_parachains :: disputes :: slashing :: SlashingOffenceKind , pub validator_index : runtime_types :: polkadot_primitives :: v4 :: ValidatorIndex , pub validator_id : runtime_types :: polkadot_primitives :: v4 :: validator_app :: Public , }
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct DisputesTimeSlot {
-						pub session_index: ::core::primitive::u32,
-						pub candidate_hash: runtime_types::polkadot_core_primitives::CandidateHash,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct PendingSlashes { pub keys : :: subxt :: utils :: KeyedVec < runtime_types :: polkadot_primitives :: v4 :: ValidatorIndex , runtime_types :: polkadot_primitives :: v4 :: validator_app :: Public > , pub kind : runtime_types :: polkadot_runtime_parachains :: disputes :: slashing :: SlashingOffenceKind , }
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum SlashingOffenceKind {
-						#[codec(index = 0)]
-						ForInvalid,
-						#[codec(index = 1)]
-						AgainstValid,
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum DisputeLocation {
-					#[codec(index = 0)]
-					Local,
-					#[codec(index = 1)]
-					Remote,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum DisputeResult {
-					#[codec(index = 0)]
-					Valid,
-					#[codec(index = 1)]
-					Invalid,
-				}
-			}
-			pub mod hrmp {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						hrmp_init_open_channel {
-							recipient: runtime_types::polkadot_parachain::primitives::Id,
-							proposed_max_capacity: ::core::primitive::u32,
-							proposed_max_message_size: ::core::primitive::u32,
-						},
-						#[codec(index = 1)]
-						hrmp_accept_open_channel {
-							sender: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 2)]
-						hrmp_close_channel {
-							channel_id:
-								runtime_types::polkadot_parachain::primitives::HrmpChannelId,
-						},
-						#[codec(index = 3)]
-						force_clean_hrmp {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							inbound: ::core::primitive::u32,
-							outbound: ::core::primitive::u32,
-						},
-						#[codec(index = 4)]
-						force_process_hrmp_open { channels: ::core::primitive::u32 },
-						#[codec(index = 5)]
-						force_process_hrmp_close { channels: ::core::primitive::u32 },
-						#[codec(index = 6)]
-						hrmp_cancel_open_request {
-							channel_id:
-								runtime_types::polkadot_parachain::primitives::HrmpChannelId,
-							open_requests: ::core::primitive::u32,
-						},
-						#[codec(index = 7)]
-						force_open_hrmp_channel {
-							sender: runtime_types::polkadot_parachain::primitives::Id,
-							recipient: runtime_types::polkadot_parachain::primitives::Id,
-							max_capacity: ::core::primitive::u32,
-							max_message_size: ::core::primitive::u32,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						OpenHrmpChannelToSelf,
-						#[codec(index = 1)]
-						OpenHrmpChannelInvalidRecipient,
-						#[codec(index = 2)]
-						OpenHrmpChannelZeroCapacity,
-						#[codec(index = 3)]
-						OpenHrmpChannelCapacityExceedsLimit,
-						#[codec(index = 4)]
-						OpenHrmpChannelZeroMessageSize,
-						#[codec(index = 5)]
-						OpenHrmpChannelMessageSizeExceedsLimit,
-						#[codec(index = 6)]
-						OpenHrmpChannelAlreadyExists,
-						#[codec(index = 7)]
-						OpenHrmpChannelAlreadyRequested,
-						#[codec(index = 8)]
-						OpenHrmpChannelLimitExceeded,
-						#[codec(index = 9)]
-						AcceptHrmpChannelDoesntExist,
-						#[codec(index = 10)]
-						AcceptHrmpChannelAlreadyConfirmed,
-						#[codec(index = 11)]
-						AcceptHrmpChannelLimitExceeded,
-						#[codec(index = 12)]
-						CloseHrmpChannelUnauthorized,
-						#[codec(index = 13)]
-						CloseHrmpChannelDoesntExist,
-						#[codec(index = 14)]
-						CloseHrmpChannelAlreadyUnderway,
-						#[codec(index = 15)]
-						CancelHrmpOpenChannelUnauthorized,
-						#[codec(index = 16)]
-						OpenHrmpChannelDoesntExist,
-						#[codec(index = 17)]
-						OpenHrmpChannelAlreadyConfirmed,
-						#[codec(index = 18)]
-						WrongWitness,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						OpenChannelRequested(
-							runtime_types::polkadot_parachain::primitives::Id,
-							runtime_types::polkadot_parachain::primitives::Id,
-							::core::primitive::u32,
-							::core::primitive::u32,
-						),
-						#[codec(index = 1)]
-						OpenChannelCanceled(
-							runtime_types::polkadot_parachain::primitives::Id,
-							runtime_types::polkadot_parachain::primitives::HrmpChannelId,
-						),
-						#[codec(index = 2)]
-						OpenChannelAccepted(
-							runtime_types::polkadot_parachain::primitives::Id,
-							runtime_types::polkadot_parachain::primitives::Id,
-						),
-						#[codec(index = 3)]
-						ChannelClosed(
-							runtime_types::polkadot_parachain::primitives::Id,
-							runtime_types::polkadot_parachain::primitives::HrmpChannelId,
-						),
-						#[codec(index = 4)]
-						HrmpChannelForceOpened(
-							runtime_types::polkadot_parachain::primitives::Id,
-							runtime_types::polkadot_parachain::primitives::Id,
-							::core::primitive::u32,
-							::core::primitive::u32,
-						),
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HrmpChannel {
-					pub max_capacity: ::core::primitive::u32,
-					pub max_total_size: ::core::primitive::u32,
-					pub max_message_size: ::core::primitive::u32,
-					pub msg_count: ::core::primitive::u32,
-					pub total_size: ::core::primitive::u32,
-					pub mqc_head: ::core::option::Option<::subxt::utils::H256>,
-					pub sender_deposit: ::core::primitive::u128,
-					pub recipient_deposit: ::core::primitive::u128,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HrmpOpenChannelRequest {
-					pub confirmed: ::core::primitive::bool,
-					pub _age: ::core::primitive::u32,
-					pub sender_deposit: ::core::primitive::u128,
-					pub max_message_size: ::core::primitive::u32,
-					pub max_capacity: ::core::primitive::u32,
-					pub max_total_size: ::core::primitive::u32,
-				}
-			}
-			pub mod inclusion {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						UnsortedOrDuplicateValidatorIndices,
-						#[codec(index = 1)]
-						UnsortedOrDuplicateDisputeStatementSet,
-						#[codec(index = 2)]
-						UnsortedOrDuplicateBackedCandidates,
-						#[codec(index = 3)]
-						UnexpectedRelayParent,
-						#[codec(index = 4)]
-						WrongBitfieldSize,
-						#[codec(index = 5)]
-						BitfieldAllZeros,
-						#[codec(index = 6)]
-						BitfieldDuplicateOrUnordered,
-						#[codec(index = 7)]
-						ValidatorIndexOutOfBounds,
-						#[codec(index = 8)]
-						InvalidBitfieldSignature,
-						#[codec(index = 9)]
-						UnscheduledCandidate,
-						#[codec(index = 10)]
-						CandidateScheduledBeforeParaFree,
-						#[codec(index = 11)]
-						WrongCollator,
-						#[codec(index = 12)]
-						ScheduledOutOfOrder,
-						#[codec(index = 13)]
-						HeadDataTooLarge,
-						#[codec(index = 14)]
-						PrematureCodeUpgrade,
-						#[codec(index = 15)]
-						NewCodeTooLarge,
-						#[codec(index = 16)]
-						CandidateNotInParentContext,
-						#[codec(index = 17)]
-						InvalidGroupIndex,
-						#[codec(index = 18)]
-						InsufficientBacking,
-						#[codec(index = 19)]
-						InvalidBacking,
-						#[codec(index = 20)]
-						NotCollatorSigned,
-						#[codec(index = 21)]
-						ValidationDataHashMismatch,
-						#[codec(index = 22)]
-						IncorrectDownwardMessageHandling,
-						#[codec(index = 23)]
-						InvalidUpwardMessages,
-						#[codec(index = 24)]
-						HrmpWatermarkMishandling,
-						#[codec(index = 25)]
-						InvalidOutboundHrmp,
-						#[codec(index = 26)]
-						InvalidValidationCodeHash,
-						#[codec(index = 27)]
-						ParaHeadMismatch,
-						#[codec(index = 28)]
-						BitfieldReferencesFreedCore,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						CandidateBacked(
-							runtime_types::polkadot_primitives::v4::CandidateReceipt<
-								::subxt::utils::H256,
-							>,
-							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<
-								::subxt::utils::H256,
-							>,
-							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<
-								::subxt::utils::H256,
-							>,
-							runtime_types::polkadot_parachain::primitives::HeadData,
-							runtime_types::polkadot_primitives::v4::CoreIndex,
-						),
-						#[codec(index = 3)]
-						UpwardMessagesReceived {
-							from: runtime_types::polkadot_parachain::primitives::Id,
-							count: ::core::primitive::u32,
-						},
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum AggregateMessageOrigin {
-					#[codec(index = 0)]
-					Ump(runtime_types::polkadot_runtime_parachains::inclusion::UmpQueueId),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AvailabilityBitfieldRecord<_0> {
-					pub bitfield: runtime_types::polkadot_primitives::v4::AvailabilityBitfield,
-					pub submitted_at: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CandidatePendingAvailability<_0, _1> {
-					pub core: runtime_types::polkadot_primitives::v4::CoreIndex,
-					pub hash: runtime_types::polkadot_core_primitives::CandidateHash,
-					pub descriptor: runtime_types::polkadot_primitives::v4::CandidateDescriptor<_0>,
-					pub availability_votes: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-					pub backers: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-					pub relay_parent_number: _1,
-					pub backed_in_number: _1,
-					pub backing_group: runtime_types::polkadot_primitives::v4::GroupIndex,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum UmpQueueId {
-					#[codec(index = 0)]
-					Para(runtime_types::polkadot_parachain::primitives::Id),
-				}
-			}
-			pub mod initializer {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						force_approve { up_to: ::core::primitive::u32 },
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BufferedSessionChange {
-					pub validators: ::std::vec::Vec<
-						runtime_types::polkadot_primitives::v4::validator_app::Public,
-					>,
-					pub queued: ::std::vec::Vec<
-						runtime_types::polkadot_primitives::v4::validator_app::Public,
-					>,
-					pub session_index: ::core::primitive::u32,
-				}
-			}
-			pub mod origin {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Origin {
-						#[codec(index = 0)]
-						Parachain(runtime_types::polkadot_parachain::primitives::Id),
-					}
-				}
-			}
-			pub mod paras {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						force_set_current_code {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							new_code: runtime_types::polkadot_parachain::primitives::ValidationCode,
-						},
-						#[codec(index = 1)]
-						force_set_current_head {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							new_head: runtime_types::polkadot_parachain::primitives::HeadData,
-						},
-						#[codec(index = 2)]
-						force_schedule_code_upgrade {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							new_code: runtime_types::polkadot_parachain::primitives::ValidationCode,
-							relay_parent_number: ::core::primitive::u32,
-						},
-						#[codec(index = 3)]
-						force_note_new_head {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							new_head: runtime_types::polkadot_parachain::primitives::HeadData,
-						},
-						#[codec(index = 4)]
-						force_queue_action {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 5)]
-						add_trusted_validation_code {
-							validation_code:
-								runtime_types::polkadot_parachain::primitives::ValidationCode,
-						},
-						#[codec(index = 6)]
-						poke_unused_validation_code {
-							validation_code_hash:
-								runtime_types::polkadot_parachain::primitives::ValidationCodeHash,
-						},
-						#[codec(index = 7)]
-						include_pvf_check_statement {
-							stmt: runtime_types::polkadot_primitives::v4::PvfCheckStatement,
-							signature:
-								runtime_types::polkadot_primitives::v4::validator_app::Signature,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						NotRegistered,
-						#[codec(index = 1)]
-						CannotOnboard,
-						#[codec(index = 2)]
-						CannotOffboard,
-						#[codec(index = 3)]
-						CannotUpgrade,
-						#[codec(index = 4)]
-						CannotDowngrade,
-						#[codec(index = 5)]
-						PvfCheckStatementStale,
-						#[codec(index = 6)]
-						PvfCheckStatementFuture,
-						#[codec(index = 7)]
-						PvfCheckValidatorIndexOutOfBounds,
-						#[codec(index = 8)]
-						PvfCheckInvalidSignature,
-						#[codec(index = 9)]
-						PvfCheckDoubleVote,
-						#[codec(index = 10)]
-						PvfCheckSubjectInvalid,
-						#[codec(index = 11)]
-						CannotUpgradeCode,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						CurrentCodeUpdated(runtime_types::polkadot_parachain::primitives::Id),
-						#[codec(index = 1)]
-						CurrentHeadUpdated(runtime_types::polkadot_parachain::primitives::Id),
-						#[codec(index = 2)]
-						CodeUpgradeScheduled(runtime_types::polkadot_parachain::primitives::Id),
-						#[codec(index = 3)]
-						NewHeadNoted(runtime_types::polkadot_parachain::primitives::Id),
-						#[codec(index = 4)]
-						ActionQueued(
-							runtime_types::polkadot_parachain::primitives::Id,
-							::core::primitive::u32,
-						),
-						#[codec(index = 5)]
-						PvfCheckStarted(
-							runtime_types::polkadot_parachain::primitives::ValidationCodeHash,
-							runtime_types::polkadot_parachain::primitives::Id,
-						),
-						#[codec(index = 6)]
-						PvfCheckAccepted(
-							runtime_types::polkadot_parachain::primitives::ValidationCodeHash,
-							runtime_types::polkadot_parachain::primitives::Id,
-						),
-						#[codec(index = 7)]
-						PvfCheckRejected(
-							runtime_types::polkadot_parachain::primitives::ValidationCodeHash,
-							runtime_types::polkadot_parachain::primitives::Id,
-						),
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParaGenesisArgs {
-					pub genesis_head: runtime_types::polkadot_parachain::primitives::HeadData,
-					pub validation_code:
-						runtime_types::polkadot_parachain::primitives::ValidationCode,
-					pub para_kind: ::core::primitive::bool,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum ParaLifecycle {
-					#[codec(index = 0)]
-					Onboarding,
-					#[codec(index = 1)]
-					Parathread,
-					#[codec(index = 2)]
-					Parachain,
-					#[codec(index = 3)]
-					UpgradingParathread,
-					#[codec(index = 4)]
-					DowngradingParachain,
-					#[codec(index = 5)]
-					OffboardingParathread,
-					#[codec(index = 6)]
-					OffboardingParachain,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParaPastCodeMeta<_0> {
-					pub upgrade_times: ::std::vec::Vec<
-						runtime_types::polkadot_runtime_parachains::paras::ReplacementTimes<_0>,
-					>,
-					pub last_pruned: ::core::option::Option<_0>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PvfCheckActiveVoteState<_0> {
-					pub votes_accept: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-					pub votes_reject: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-					pub age: _0,
-					pub created_at: _0,
-					pub causes: ::std::vec::Vec<
-						runtime_types::polkadot_runtime_parachains::paras::PvfCheckCause<_0>,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum PvfCheckCause<_0> {
-					#[codec(index = 0)]
-					Onboarding(runtime_types::polkadot_parachain::primitives::Id),
-					#[codec(index = 1)]
-					Upgrade {
-						id: runtime_types::polkadot_parachain::primitives::Id,
-						relay_parent_number: _0,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ReplacementTimes<_0> {
-					pub expected_at: _0,
-					pub activated_at: _0,
-				}
-			}
-			pub mod paras_inherent {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						enter {
-							data: runtime_types::polkadot_primitives::v4::InherentData<
-								::sp_runtime::generic::Header<
-									::core::primitive::u32,
-									::sp_runtime::traits::BlakeTwo256,
-								>,
-							>,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						TooManyInclusionInherents,
-						#[codec(index = 1)]
-						InvalidParentHeader,
-						#[codec(index = 2)]
-						CandidateConcludedInvalid,
-						#[codec(index = 3)]
-						InherentOverweight,
-						#[codec(index = 4)]
-						DisputeStatementsUnsortedOrDuplicates,
-						#[codec(index = 5)]
-						DisputeInvalid,
-					}
-				}
-			}
-			pub mod scheduler {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum AssignmentKind {
-					#[codec(index = 0)]
-					Parachain,
-					#[codec(index = 1)]
-					Parathread(
-						runtime_types::polkadot_primitives::v4::collator_app::Public,
-						::core::primitive::u32,
-					),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CoreAssignment {
-					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::v4::GroupIndex,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParathreadClaimQueue {
-					pub queue: ::std::vec::Vec<
-						runtime_types::polkadot_runtime_parachains::scheduler::QueuedParathread,
-					>,
-					pub next_core_offset: ::core::primitive::u32,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct QueuedParathread {
-					pub claim: runtime_types::polkadot_primitives::v4::ParathreadEntry,
-					pub core_offset: ::core::primitive::u32,
-				}
-			}
-			pub mod shared {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {}
-				}
-			}
-		}
-		pub mod sp_arithmetic {
-			use super::runtime_types;
-			pub mod fixed_point {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct FixedI64(pub ::core::primitive::i64);
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct FixedU128(pub ::core::primitive::u128);
-			}
-			pub mod per_things {
-				use super::runtime_types;
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct PerU16(pub ::core::primitive::u16);
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct Perbill(pub ::core::primitive::u32);
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct Percent(pub ::core::primitive::u8);
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct Permill(pub ::core::primitive::u32);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ArithmeticError {
-				#[codec(index = 0)]
-				Underflow,
-				#[codec(index = 1)]
-				Overflow,
-				#[codec(index = 2)]
-				DivisionByZero,
-			}
-		}
-		pub mod sp_authority_discovery {
-			use super::runtime_types;
-			pub mod app {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-			}
-		}
-		pub mod sp_consensus_babe {
-			use super::runtime_types;
-			pub mod app {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-			}
-			pub mod digests {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum NextConfigDescriptor {
-					#[codec(index = 1)]
-					V1 {
-						c: (::core::primitive::u64, ::core::primitive::u64),
-						allowed_slots: runtime_types::sp_consensus_babe::AllowedSlots,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum PreDigest {
-					#[codec(index = 1)]
-					Primary(runtime_types::sp_consensus_babe::digests::PrimaryPreDigest),
-					#[codec(index = 2)]
-					SecondaryPlain(
-						runtime_types::sp_consensus_babe::digests::SecondaryPlainPreDigest,
-					),
-					#[codec(index = 3)]
-					SecondaryVRF(runtime_types::sp_consensus_babe::digests::SecondaryVRFPreDigest),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PrimaryPreDigest {
-					pub authority_index: ::core::primitive::u32,
-					pub slot: runtime_types::sp_consensus_slots::Slot,
-					pub vrf_signature: runtime_types::sp_core::sr25519::vrf::VrfSignature,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SecondaryPlainPreDigest {
-					pub authority_index: ::core::primitive::u32,
-					pub slot: runtime_types::sp_consensus_slots::Slot,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SecondaryVRFPreDigest {
-					pub authority_index: ::core::primitive::u32,
-					pub slot: runtime_types::sp_consensus_slots::Slot,
-					pub vrf_signature: runtime_types::sp_core::sr25519::vrf::VrfSignature,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum AllowedSlots {
-				#[codec(index = 0)]
-				PrimarySlots,
-				#[codec(index = 1)]
-				PrimaryAndSecondaryPlainSlots,
-				#[codec(index = 2)]
-				PrimaryAndSecondaryVRFSlots,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BabeEpochConfiguration {
-				pub c: (::core::primitive::u64, ::core::primitive::u64),
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub runtime_types::sp_core::ed25519::Public);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub runtime_types::sp_core::ed25519::Signature);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			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,
-					>,
-				),
-			}
-		}
-		pub mod sp_consensus_slots {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct EquivocationProof<_0, _1> {
-				pub offender: _1,
-				pub slot: runtime_types::sp_consensus_slots::Slot,
-				pub first_header: _0,
-				pub second_header: _0,
-			}
-			#[derive(
-				:: codec :: Decode,
-				:: codec :: Encode,
-				:: subxt :: ext :: codec :: CompactAs,
-				Clone,
-				Debug,
-				PartialEq,
-			)]
-			pub struct Slot(pub ::core::primitive::u64);
-		}
-		pub mod sp_core {
-			use super::runtime_types;
-			pub mod crypto {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct KeyTypeId(pub [::core::primitive::u8; 4usize]);
-			}
-			pub mod ecdsa {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub [::core::primitive::u8; 33usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 65usize]);
-			}
-			pub mod ed25519 {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub [::core::primitive::u8; 32usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 64usize]);
-			}
-			pub mod offchain {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct OpaqueMultiaddr(pub ::std::vec::Vec<::core::primitive::u8>);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct OpaqueNetworkState {
-					pub peer_id: runtime_types::sp_core::OpaquePeerId,
-					pub external_addresses:
-						::std::vec::Vec<runtime_types::sp_core::offchain::OpaqueMultiaddr>,
-				}
-			}
-			pub mod sr25519 {
-				use super::runtime_types;
-				pub mod vrf {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct VrfSignature {
-						pub output: [::core::primitive::u8; 32usize],
-						pub proof: [::core::primitive::u8; 64usize],
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub [::core::primitive::u8; 32usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 64usize]);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OpaquePeerId(pub ::std::vec::Vec<::core::primitive::u8>);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Void {}
-		}
-		pub mod sp_npos_elections {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ElectionScore {
-				pub minimal_stake: ::core::primitive::u128,
-				pub sum_stake: ::core::primitive::u128,
-				pub sum_stake_squared: ::core::primitive::u128,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Support<_0> {
-				pub total: ::core::primitive::u128,
-				pub voters: ::std::vec::Vec<(_0, ::core::primitive::u128)>,
-			}
-		}
-		pub mod sp_runtime {
-			use super::runtime_types;
-			pub mod generic {
-				use super::runtime_types;
-				pub mod digest {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum DigestItem {
-						#[codec(index = 6)]
-						PreRuntime(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 4)]
-						Consensus(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 5)]
-						Seal(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 0)]
-						Other(::std::vec::Vec<::core::primitive::u8>),
-						#[codec(index = 8)]
-						RuntimeEnvironmentUpdated,
-					}
-				}
-				pub mod unchecked_extrinsic {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct UncheckedExtrinsic<_0, _1, _2, _3>(
-						pub ::std::vec::Vec<::core::primitive::u8>,
-						#[codec(skip)] pub ::core::marker::PhantomData<(_1, _0, _2, _3)>,
-					);
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum DispatchError {
-				#[codec(index = 0)]
-				Other,
-				#[codec(index = 1)]
-				CannotLookup,
-				#[codec(index = 2)]
-				BadOrigin,
-				#[codec(index = 3)]
-				Module(runtime_types::sp_runtime::ModuleError),
-				#[codec(index = 4)]
-				ConsumerRemaining,
-				#[codec(index = 5)]
-				NoProviders,
-				#[codec(index = 6)]
-				TooManyConsumers,
-				#[codec(index = 7)]
-				Token(runtime_types::sp_runtime::TokenError),
-				#[codec(index = 8)]
-				Arithmetic(runtime_types::sp_arithmetic::ArithmeticError),
-				#[codec(index = 9)]
-				Transactional(runtime_types::sp_runtime::TransactionalError),
-				#[codec(index = 10)]
-				Exhausted,
-				#[codec(index = 11)]
-				Corruption,
-				#[codec(index = 12)]
-				Unavailable,
-				#[codec(index = 13)]
-				RootNotAllowed,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct DispatchErrorWithPostInfo<_0> {
-				pub post_info: _0,
-				pub error: runtime_types::sp_runtime::DispatchError,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ModuleError {
-				pub index: ::core::primitive::u8,
-				pub error: [::core::primitive::u8; 4usize],
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum MultiSignature {
-				#[codec(index = 0)]
-				Ed25519(runtime_types::sp_core::ed25519::Signature),
-				#[codec(index = 1)]
-				Sr25519(runtime_types::sp_core::sr25519::Signature),
-				#[codec(index = 2)]
-				Ecdsa(runtime_types::sp_core::ecdsa::Signature),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum MultiSigner {
-				#[codec(index = 0)]
-				Ed25519(runtime_types::sp_core::ed25519::Public),
-				#[codec(index = 1)]
-				Sr25519(runtime_types::sp_core::sr25519::Public),
-				#[codec(index = 2)]
-				Ecdsa(runtime_types::sp_core::ecdsa::Public),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum TokenError {
-				#[codec(index = 0)]
-				FundsUnavailable,
-				#[codec(index = 1)]
-				OnlyProvider,
-				#[codec(index = 2)]
-				BelowMinimum,
-				#[codec(index = 3)]
-				CannotCreate,
-				#[codec(index = 4)]
-				UnknownAsset,
-				#[codec(index = 5)]
-				Frozen,
-				#[codec(index = 6)]
-				Unsupported,
-				#[codec(index = 7)]
-				CannotCreateHold,
-				#[codec(index = 8)]
-				NotExpendable,
-				#[codec(index = 9)]
-				Blocked,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum TransactionalError {
-				#[codec(index = 0)]
-				LimitReached,
-				#[codec(index = 1)]
-				NoLayer,
-			}
-		}
-		pub mod sp_staking {
-			use super::runtime_types;
-			pub mod offence {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct OffenceDetails<_0, _1> {
-					pub offender: _1,
-					pub reporters: ::std::vec::Vec<_0>,
-				}
-			}
-		}
-		pub mod sp_version {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RuntimeVersion {
-				pub spec_name: ::std::string::String,
-				pub impl_name: ::std::string::String,
-				pub authoring_version: ::core::primitive::u32,
-				pub spec_version: ::core::primitive::u32,
-				pub impl_version: ::core::primitive::u32,
-				pub apis:
-					::std::vec::Vec<([::core::primitive::u8; 8usize], ::core::primitive::u32)>,
-				pub transaction_version: ::core::primitive::u32,
-				pub state_version: ::core::primitive::u8,
-			}
-		}
-		pub mod sp_weights {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RuntimeDbWeight {
-				pub read: ::core::primitive::u64,
-				pub write: ::core::primitive::u64,
-			}
-		}
-		pub mod xcm {
-			use super::runtime_types;
-			pub mod double_encoded {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DoubleEncoded {
-					pub encoded: ::std::vec::Vec<::core::primitive::u8>,
-				}
-			}
-			pub mod v2 {
-				use super::runtime_types;
-				pub mod junction {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junction {
-						#[codec(index = 0)]
-						Parachain(#[codec(compact)] ::core::primitive::u32),
-						#[codec(index = 1)]
-						AccountId32 {
-							network: runtime_types::xcm::v2::NetworkId,
-							id: [::core::primitive::u8; 32usize],
-						},
-						#[codec(index = 2)]
-						AccountIndex64 {
-							network: runtime_types::xcm::v2::NetworkId,
-							#[codec(compact)]
-							index: ::core::primitive::u64,
-						},
-						#[codec(index = 3)]
-						AccountKey20 {
-							network: runtime_types::xcm::v2::NetworkId,
-							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(
-							runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<
-								::core::primitive::u8,
-							>,
-						),
-						#[codec(index = 7)]
-						OnlyChild,
-						#[codec(index = 8)]
-						Plurality {
-							id: runtime_types::xcm::v2::BodyId,
-							part: runtime_types::xcm::v2::BodyPart,
-						},
-					}
-				}
-				pub mod multiasset {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum AssetId {
-						#[codec(index = 0)]
-						Concrete(runtime_types::xcm::v2::multilocation::MultiLocation),
-						#[codec(index = 1)]
-						Abstract(::std::vec::Vec<::core::primitive::u8>),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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]),
-						#[codec(index = 6)]
-						Blob(::std::vec::Vec<::core::primitive::u8>),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Fungibility {
-						#[codec(index = 0)]
-						Fungible(#[codec(compact)] ::core::primitive::u128),
-						#[codec(index = 1)]
-						NonFungible(runtime_types::xcm::v2::multiasset::AssetInstance),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAsset {
-						pub id: runtime_types::xcm::v2::multiasset::AssetId,
-						pub fun: runtime_types::xcm::v2::multiasset::Fungibility,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum MultiAssetFilter {
-						#[codec(index = 0)]
-						Definite(runtime_types::xcm::v2::multiasset::MultiAssets),
-						#[codec(index = 1)]
-						Wild(runtime_types::xcm::v2::multiasset::WildMultiAsset),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAssets(
-						pub ::std::vec::Vec<runtime_types::xcm::v2::multiasset::MultiAsset>,
-					);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildFungibility {
-						#[codec(index = 0)]
-						Fungible,
-						#[codec(index = 1)]
-						NonFungible,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildMultiAsset {
-						#[codec(index = 0)]
-						All,
-						#[codec(index = 1)]
-						AllOf {
-							id: runtime_types::xcm::v2::multiasset::AssetId,
-							fun: runtime_types::xcm::v2::multiasset::WildFungibility,
-						},
-					}
-				}
-				pub mod multilocation {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junctions {
-						#[codec(index = 0)]
-						Here,
-						#[codec(index = 1)]
-						X1(runtime_types::xcm::v2::junction::Junction),
-						#[codec(index = 2)]
-						X2(
-							runtime_types::xcm::v2::junction::Junction,
-							runtime_types::xcm::v2::junction::Junction,
-						),
-						#[codec(index = 3)]
-						X3(
-							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::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::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::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::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::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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiLocation {
-						pub parents: ::core::primitive::u8,
-						pub interior: runtime_types::xcm::v2::multilocation::Junctions,
-					}
-				}
-				pub mod traits {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						Overflow,
-						#[codec(index = 1)]
-						Unimplemented,
-						#[codec(index = 2)]
-						UntrustedReserveLocation,
-						#[codec(index = 3)]
-						UntrustedTeleportLocation,
-						#[codec(index = 4)]
-						MultiLocationFull,
-						#[codec(index = 5)]
-						MultiLocationNotInvertible,
-						#[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)]
-						UnhandledXcmVersion,
-						#[codec(index = 23)]
-						WeightLimitReached(::core::primitive::u64),
-						#[codec(index = 24)]
-						Barrier,
-						#[codec(index = 25)]
-						WeightNotComputable,
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Instruction {
-					#[codec(index = 0)]
-					WithdrawAsset(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 1)]
-					ReserveAssetDeposited(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 2)]
-					ReceiveTeleportedAsset(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 3)]
-					QueryResponse {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						response: runtime_types::xcm::v2::Response,
-						#[codec(compact)]
-						max_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 4)]
-					TransferAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssets,
-						beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 5)]
-					TransferReserveAsset {
-						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::v2::OriginKind,
-						#[codec(compact)]
-						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)]
-					ClearOrigin,
-					#[codec(index = 11)]
-					DescendOrigin(runtime_types::xcm::v2::multilocation::Junctions),
-					#[codec(index = 12)]
-					ReportError {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						dest: runtime_types::xcm::v2::multilocation::MultiLocation,
-						#[codec(compact)]
-						max_response_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 13)]
-					DepositAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						#[codec(compact)]
-						max_assets: ::core::primitive::u32,
-						beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 14)]
-					DepositReserveAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						#[codec(compact)]
-						max_assets: ::core::primitive::u32,
-						dest: runtime_types::xcm::v2::multilocation::MultiLocation,
-						xcm: runtime_types::xcm::v2::Xcm,
-					},
-					#[codec(index = 15)]
-					ExchangeAsset {
-						give: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						receive: runtime_types::xcm::v2::multiasset::MultiAssets,
-					},
-					#[codec(index = 16)]
-					InitiateReserveWithdraw {
-						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::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::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::v2::multiasset::MultiAsset,
-						weight_limit: runtime_types::xcm::v2::WeightLimit,
-					},
-					#[codec(index = 20)]
-					RefundSurplus,
-					#[codec(index = 21)]
-					SetErrorHandler(runtime_types::xcm::v2::Xcm),
-					#[codec(index = 22)]
-					SetAppendix(runtime_types::xcm::v2::Xcm),
-					#[codec(index = 23)]
-					ClearError,
-					#[codec(index = 24)]
-					ClaimAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssets,
-						ticket: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 25)]
-					Trap(#[codec(compact)] ::core::primitive::u64),
-					#[codec(index = 26)]
-					SubscribeVersion {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						#[codec(compact)]
-						max_response_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 27)]
-					UnsubscribeVersion,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum OriginKind {
-					#[codec(index = 0)]
-					Native,
-					#[codec(index = 1)]
-					SovereignAccount,
-					#[codec(index = 2)]
-					Superuser,
-					#[codec(index = 3)]
-					Xcm,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Response {
-					#[codec(index = 0)]
-					Null,
-					#[codec(index = 1)]
-					Assets(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 2)]
-					ExecutionResult(
-						::core::option::Option<(
-							::core::primitive::u32,
-							runtime_types::xcm::v2::traits::Error,
-						)>,
-					),
-					#[codec(index = 3)]
-					Version(::core::primitive::u32),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum WeightLimit {
-					#[codec(index = 0)]
-					Unlimited,
-					#[codec(index = 1)]
-					Limited(#[codec(compact)] ::core::primitive::u64),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm(pub ::std::vec::Vec<runtime_types::xcm::v2::Instruction>);
-			}
-			pub mod v3 {
-				use super::runtime_types;
-				pub mod junction {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junction {
-						#[codec(index = 0)]
-						Parachain(#[codec(compact)] ::core::primitive::u32),
-						#[codec(index = 1)]
-						AccountId32 {
-							network:
-								::core::option::Option<runtime_types::xcm::v3::junction::NetworkId>,
-							id: [::core::primitive::u8; 32usize],
-						},
-						#[codec(index = 2)]
-						AccountIndex64 {
-							network:
-								::core::option::Option<runtime_types::xcm::v3::junction::NetworkId>,
-							#[codec(compact)]
-							index: ::core::primitive::u64,
-						},
-						#[codec(index = 3)]
-						AccountKey20 {
-							network:
-								::core::option::Option<runtime_types::xcm::v3::junction::NetworkId>,
-							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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum AssetId {
-						#[codec(index = 0)]
-						Concrete(runtime_types::xcm::v3::multilocation::MultiLocation),
-						#[codec(index = 1)]
-						Abstract([::core::primitive::u8; 32usize]),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Fungibility {
-						#[codec(index = 0)]
-						Fungible(#[codec(compact)] ::core::primitive::u128),
-						#[codec(index = 1)]
-						NonFungible(runtime_types::xcm::v3::multiasset::AssetInstance),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAsset {
-						pub id: runtime_types::xcm::v3::multiasset::AssetId,
-						pub fun: runtime_types::xcm::v3::multiasset::Fungibility,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum MultiAssetFilter {
-						#[codec(index = 0)]
-						Definite(runtime_types::xcm::v3::multiasset::MultiAssets),
-						#[codec(index = 1)]
-						Wild(runtime_types::xcm::v3::multiasset::WildMultiAsset),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAssets(
-						pub ::std::vec::Vec<runtime_types::xcm::v3::multiasset::MultiAsset>,
-					);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildFungibility {
-						#[codec(index = 0)]
-						Fungible,
-						#[codec(index = 1)]
-						NonFungible,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiLocation {
-						pub parents: ::core::primitive::u8,
-						pub interior: runtime_types::xcm::v3::junctions::Junctions,
-					}
-				}
-				pub mod traits {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(::sp_weights::Weight),
-						#[codec(index = 37)]
-						Barrier,
-						#[codec(index = 38)]
-						WeightNotComputable,
-						#[codec(index = 39)]
-						ExceedsStackLimit,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Outcome {
-						#[codec(index = 0)]
-						Complete(::sp_weights::Weight),
-						#[codec(index = 1)]
-						Incomplete(::sp_weights::Weight, runtime_types::xcm::v3::traits::Error),
-						#[codec(index = 2)]
-						Error(runtime_types::xcm::v3::traits::Error),
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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: ::sp_weights::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: ::sp_weights::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: ::sp_weights::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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct QueryResponseInfo {
-					pub destination: runtime_types::xcm::v3::multilocation::MultiLocation,
-					#[codec(compact)]
-					pub query_id: ::core::primitive::u64,
-					pub max_weight: ::sp_weights::Weight,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum WeightLimit {
-					#[codec(index = 0)]
-					Unlimited,
-					#[codec(index = 1)]
-					Limited(::sp_weights::Weight),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm(pub ::std::vec::Vec<runtime_types::xcm::v3::Instruction>);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedAssetId {
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::multiasset::AssetId),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedMultiAssets {
-				#[codec(index = 1)]
-				V2(runtime_types::xcm::v2::multiasset::MultiAssets),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::multiasset::MultiAssets),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedMultiLocation {
-				#[codec(index = 1)]
-				V2(runtime_types::xcm::v2::multilocation::MultiLocation),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::multilocation::MultiLocation),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedResponse {
-				#[codec(index = 2)]
-				V2(runtime_types::xcm::v2::Response),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::Response),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedXcm {
-				#[codec(index = 2)]
-				V2(runtime_types::xcm::v2::Xcm),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::Xcm),
-			}
-		}
-	}
-}
diff --git a/bridges/relays/client-polkadot/src/lib.rs b/bridges/relays/client-polkadot/src/lib.rs
deleted file mode 100644
index 9b655528b6e4e6cc5d8253306650e4ced7887e27..0000000000000000000000000000000000000000
--- a/bridges/relays/client-polkadot/src/lib.rs
+++ /dev/null
@@ -1,122 +0,0 @@
-// Copyright 2019-2021 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Types used to connect to the Polkadot chain.
-
-mod codegen_runtime;
-
-use bp_polkadot::{AccountInfoStorageMapKeyProvider, POLKADOT_SYNCED_HEADERS_GRANDPA_INFO_METHOD};
-use bp_polkadot_core::SuffixedCommonSignedExtensionExt;
-use codec::Encode;
-use relay_substrate_client::{
-	Chain, ChainWithBalances, ChainWithGrandpa, ChainWithRuntimeVersion, ChainWithTransactions,
-	Error as SubstrateError, RelayChain, SignParam, SimpleRuntimeVersion, UnderlyingChainProvider,
-	UnsignedTransaction,
-};
-use sp_core::{storage::StorageKey, Pair};
-use sp_runtime::{generic::SignedPayload, traits::IdentifyAccount, MultiAddress};
-use sp_session::MembershipProof;
-use std::time::Duration;
-
-pub use codegen_runtime::api::runtime_types;
-
-pub type RuntimeCall = runtime_types::polkadot_runtime::RuntimeCall;
-
-pub type GrandpaCall = runtime_types::pallet_grandpa::pallet::Call;
-
-/// Polkadot header id.
-pub type HeaderId = relay_utils::HeaderId<bp_polkadot::Hash, bp_polkadot::BlockNumber>;
-
-/// Polkadot header type used in headers sync.
-pub type SyncHeader = relay_substrate_client::SyncHeader<bp_polkadot::Header>;
-
-/// The address format for describing accounts.
-pub type Address = MultiAddress<bp_polkadot::AccountId, ()>;
-
-/// Polkadot chain definition
-#[derive(Debug, Clone, Copy)]
-pub struct Polkadot;
-
-impl UnderlyingChainProvider for Polkadot {
-	type Chain = bp_polkadot::Polkadot;
-}
-
-impl Chain for Polkadot {
-	const NAME: &'static str = "Polkadot";
-	const BEST_FINALIZED_HEADER_ID_METHOD: &'static str =
-		bp_polkadot::BEST_FINALIZED_POLKADOT_HEADER_METHOD;
-	const AVERAGE_BLOCK_INTERVAL: Duration = Duration::from_secs(6);
-
-	type SignedBlock = bp_polkadot::SignedBlock;
-	type Call = RuntimeCall;
-}
-
-impl ChainWithGrandpa for Polkadot {
-	const SYNCED_HEADERS_GRANDPA_INFO_METHOD: &'static str =
-		POLKADOT_SYNCED_HEADERS_GRANDPA_INFO_METHOD;
-
-	type KeyOwnerProof = MembershipProof;
-}
-
-impl ChainWithBalances for Polkadot {
-	fn account_info_storage_key(account_id: &Self::AccountId) -> StorageKey {
-		AccountInfoStorageMapKeyProvider::final_key(account_id)
-	}
-}
-
-impl RelayChain for Polkadot {
-	const PARAS_PALLET_NAME: &'static str = bp_polkadot::PARAS_PALLET_NAME;
-}
-
-impl ChainWithTransactions for Polkadot {
-	type AccountKeyPair = sp_core::sr25519::Pair;
-	type SignedTransaction =
-		bp_polkadot_core::UncheckedExtrinsic<Self::Call, bp_polkadot::SignedExtension>;
-
-	fn sign_transaction(
-		param: SignParam<Self>,
-		unsigned: UnsignedTransaction<Self>,
-	) -> Result<Self::SignedTransaction, SubstrateError> {
-		let raw_payload = SignedPayload::new(
-			unsigned.call,
-			bp_polkadot::SignedExtension::from_params(
-				param.spec_version,
-				param.transaction_version,
-				unsigned.era,
-				param.genesis_hash,
-				unsigned.nonce,
-				unsigned.tip,
-				((), ()),
-			),
-		)?;
-
-		let signature = raw_payload.using_encoded(|payload| param.signer.sign(payload));
-		let signer: sp_runtime::MultiSigner = param.signer.public().into();
-		let (call, extra, _) = raw_payload.deconstruct();
-
-		Ok(Self::SignedTransaction::new_signed(
-			call,
-			signer.into_account().into(),
-			signature.into(),
-			extra,
-		))
-	}
-}
-
-impl ChainWithRuntimeVersion for Polkadot {
-	const RUNTIME_VERSION: Option<SimpleRuntimeVersion> =
-		Some(SimpleRuntimeVersion { spec_version: 1_001_002, transaction_version: 25 });
-}
diff --git a/bridges/relays/client-rococo/Cargo.toml b/bridges/relays/client-rococo/Cargo.toml
deleted file mode 100644
index 5e847600f466008d97f99e2e77150f9787bcc1ca..0000000000000000000000000000000000000000
--- a/bridges/relays/client-rococo/Cargo.toml
+++ /dev/null
@@ -1,30 +0,0 @@
-[package]
-name = "relay-rococo-client"
-version = "0.1.0"
-authors = ["Parity Technologies <admin@parity.io>"]
-edition = "2021"
-license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
-
-[lints]
-workspace = true
-
-[dependencies]
-codec = { package = "parity-scale-codec", version = "3.1.5", features = ["derive"] }
-scale-info = { version = "2.11.0", default-features = false, features = ["derive"] }
-subxt = { version = "0.32.1", default-features = false, features = ["native"] }
-
-# Bridge dependencies
-
-bp-polkadot-core = { path = "../../primitives/polkadot-core" }
-bp-rococo = { path = "../../chains/chain-rococo" }
-
-relay-substrate-client = { path = "../client-substrate" }
-relay-utils = { path = "../utils" }
-
-# Substrate Dependencies
-
-sp-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-weights = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
diff --git a/bridges/relays/client-rococo/src/codegen_runtime.rs b/bridges/relays/client-rococo/src/codegen_runtime.rs
deleted file mode 100644
index 959812b11ba023cb6d80f6d7f87c6d57723c1ab6..0000000000000000000000000000000000000000
--- a/bridges/relays/client-rococo/src/codegen_runtime.rs
+++ /dev/null
@@ -1,7441 +0,0 @@
-// Copyright 2019-2023 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated runtime API
-//! THIS FILE WAS AUTOGENERATED USING parity-bridges-common::runtime-codegen
-//! EXECUTED COMMAND: target/debug/runtime-codegen --from-node-url wss://rococo-rpc.polkadot.io:443
-
-#[allow(dead_code, unused_imports, non_camel_case_types)]
-#[allow(clippy::all)]
-pub mod api {
-	use super::api as root_mod;
-	pub mod runtime_types {
-		use super::runtime_types;
-		pub mod bounded_collections {
-			use super::runtime_types;
-			pub mod bounded_vec {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BoundedVec<_0>(pub ::std::vec::Vec<_0>);
-			}
-			pub mod weak_bounded_vec {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct WeakBoundedVec<_0>(pub ::std::vec::Vec<_0>);
-			}
-		}
-		pub mod finality_grandpa {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Equivocation<_0, _1, _2> {
-				pub round_number: ::core::primitive::u64,
-				pub identity: _0,
-				pub first: (_1, _2),
-				pub second: (_1, _2),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Precommit<_0, _1> {
-				pub target_hash: _0,
-				pub target_number: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Prevote<_0, _1> {
-				pub target_hash: _0,
-				pub target_number: _1,
-			}
-		}
-		pub mod frame_support {
-			use super::runtime_types;
-			pub mod dispatch {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum DispatchClass {
-					#[codec(index = 0)]
-					Normal,
-					#[codec(index = 1)]
-					Operational,
-					#[codec(index = 2)]
-					Mandatory,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DispatchInfo {
-					pub weight: ::sp_weights::Weight,
-					pub class: runtime_types::frame_support::dispatch::DispatchClass,
-					pub pays_fee: runtime_types::frame_support::dispatch::Pays,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Pays {
-					#[codec(index = 0)]
-					Yes,
-					#[codec(index = 1)]
-					No,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PerDispatchClass<_0> {
-					pub normal: _0,
-					pub operational: _0,
-					pub mandatory: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum RawOrigin<_0> {
-					#[codec(index = 0)]
-					Root,
-					#[codec(index = 1)]
-					Signed(_0),
-					#[codec(index = 2)]
-					None,
-				}
-			}
-			pub mod traits {
-				use super::runtime_types;
-				pub mod messages {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum ProcessMessageError {
-						#[codec(index = 0)]
-						BadFormat,
-						#[codec(index = 1)]
-						Corrupt,
-						#[codec(index = 2)]
-						Unsupported,
-						#[codec(index = 3)]
-						Overweight(::sp_weights::Weight),
-						#[codec(index = 4)]
-						Yield,
-					}
-				}
-				pub mod misc {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct WrapperOpaque<_0>(
-						#[codec(compact)] pub ::core::primitive::u32,
-						pub _0,
-					);
-				}
-				pub mod preimages {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Bounded<_0> {
-						#[codec(index = 0)]
-						Legacy {
-							hash: ::subxt::utils::H256,
-						},
-						#[codec(index = 1)]
-						Inline(
-							runtime_types::bounded_collections::bounded_vec::BoundedVec<
-								::core::primitive::u8,
-							>,
-						),
-						#[codec(index = 2)]
-						Lookup {
-							hash: ::subxt::utils::H256,
-							len: ::core::primitive::u32,
-						},
-						__Ignore(::core::marker::PhantomData<_0>),
-					}
-				}
-				pub mod tokens {
-					use super::runtime_types;
-					pub mod misc {
-						use super::runtime_types;
-						#[derive(
-							:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq,
-						)]
-						pub enum BalanceStatus {
-							#[codec(index = 0)]
-							Free,
-							#[codec(index = 1)]
-							Reserved,
-						}
-					}
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct PalletId(pub [::core::primitive::u8; 8usize]);
-		}
-		pub mod frame_system {
-			use super::runtime_types;
-			pub mod extensions {
-				use super::runtime_types;
-				pub mod check_genesis {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckGenesis;
-				}
-				pub mod check_mortality {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckMortality(pub ::sp_runtime::generic::Era);
-				}
-				pub mod check_non_zero_sender {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckNonZeroSender;
-				}
-				pub mod check_nonce {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckNonce(#[codec(compact)] pub ::core::primitive::u32);
-				}
-				pub mod check_spec_version {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckSpecVersion;
-				}
-				pub mod check_tx_version {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckTxVersion;
-				}
-				pub mod check_weight {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckWeight;
-				}
-			}
-			pub mod limits {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BlockLength {
-					pub max: runtime_types::frame_support::dispatch::PerDispatchClass<
-						::core::primitive::u32,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BlockWeights {
-					pub base_block: ::sp_weights::Weight,
-					pub max_block: ::sp_weights::Weight,
-					pub per_class: runtime_types::frame_support::dispatch::PerDispatchClass<
-						runtime_types::frame_system::limits::WeightsPerClass,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct WeightsPerClass {
-					pub base_extrinsic: ::sp_weights::Weight,
-					pub max_extrinsic: ::core::option::Option<::sp_weights::Weight>,
-					pub max_total: ::core::option::Option<::sp_weights::Weight>,
-					pub reserved: ::core::option::Option<::sp_weights::Weight>,
-				}
-			}
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					remark { remark: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 1)]
-					set_heap_pages { pages: ::core::primitive::u64 },
-					#[codec(index = 2)]
-					set_code { code: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 3)]
-					set_code_without_checks { code: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 4)]
-					set_storage {
-						items: ::std::vec::Vec<(
-							::std::vec::Vec<::core::primitive::u8>,
-							::std::vec::Vec<::core::primitive::u8>,
-						)>,
-					},
-					#[codec(index = 5)]
-					kill_storage { keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>> },
-					#[codec(index = 6)]
-					kill_prefix {
-						prefix: ::std::vec::Vec<::core::primitive::u8>,
-						subkeys: ::core::primitive::u32,
-					},
-					#[codec(index = 7)]
-					remark_with_event { remark: ::std::vec::Vec<::core::primitive::u8> },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidSpecName,
-					#[codec(index = 1)]
-					SpecVersionNeedsToIncrease,
-					#[codec(index = 2)]
-					FailedToExtractRuntimeVersion,
-					#[codec(index = 3)]
-					NonDefaultComposite,
-					#[codec(index = 4)]
-					NonZeroRefCount,
-					#[codec(index = 5)]
-					CallFiltered,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					ExtrinsicSuccess {
-						dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo,
-					},
-					#[codec(index = 1)]
-					ExtrinsicFailed {
-						dispatch_error: runtime_types::sp_runtime::DispatchError,
-						dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo,
-					},
-					#[codec(index = 2)]
-					CodeUpdated,
-					#[codec(index = 3)]
-					NewAccount { account: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 4)]
-					KilledAccount { account: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 5)]
-					Remarked { sender: ::sp_core::crypto::AccountId32, hash: ::subxt::utils::H256 },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct AccountInfo<_0, _1> {
-				pub nonce: _0,
-				pub consumers: _0,
-				pub providers: _0,
-				pub sufficients: _0,
-				pub data: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct EventRecord<_0, _1> {
-				pub phase: runtime_types::frame_system::Phase,
-				pub event: _0,
-				pub topics: ::std::vec::Vec<_1>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct LastRuntimeUpgradeInfo {
-				#[codec(compact)]
-				pub spec_version: ::core::primitive::u32,
-				pub spec_name: ::std::string::String,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Phase {
-				#[codec(index = 0)]
-				ApplyExtrinsic(::core::primitive::u32),
-				#[codec(index = 1)]
-				Finalization,
-				#[codec(index = 2)]
-				Initialization,
-			}
-		}
-		pub mod pallet_babe {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					report_equivocation {
-						equivocation_proof: ::std::boxed::Box<
-							runtime_types::sp_consensus_slots::EquivocationProof<
-								::sp_runtime::generic::Header<
-									::core::primitive::u32,
-									::sp_runtime::traits::BlakeTwo256,
-								>,
-								runtime_types::sp_consensus_babe::app::Public,
-							>,
-						>,
-						key_owner_proof: ::sp_session::MembershipProof,
-					},
-					#[codec(index = 1)]
-					report_equivocation_unsigned {
-						equivocation_proof: ::std::boxed::Box<
-							runtime_types::sp_consensus_slots::EquivocationProof<
-								::sp_runtime::generic::Header<
-									::core::primitive::u32,
-									::sp_runtime::traits::BlakeTwo256,
-								>,
-								runtime_types::sp_consensus_babe::app::Public,
-							>,
-						>,
-						key_owner_proof: ::sp_session::MembershipProof,
-					},
-					#[codec(index = 2)]
-					plan_config_change {
-						config: runtime_types::sp_consensus_babe::digests::NextConfigDescriptor,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidEquivocationProof,
-					#[codec(index = 1)]
-					InvalidKeyOwnershipProof,
-					#[codec(index = 2)]
-					DuplicateOffenceReport,
-					#[codec(index = 3)]
-					InvalidConfiguration,
-				}
-			}
-		}
-		pub mod pallet_balances {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					transfer_allow_death {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					set_balance_deprecated {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						new_free: ::core::primitive::u128,
-						#[codec(compact)]
-						old_reserved: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					force_transfer {
-						source: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					transfer_keep_alive {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					transfer_all {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						keep_alive: ::core::primitive::bool,
-					},
-					#[codec(index = 5)]
-					force_unreserve {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 6)]
-					upgrade_accounts { who: ::std::vec::Vec<::sp_core::crypto::AccountId32> },
-					#[codec(index = 7)]
-					transfer {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 8)]
-					force_set_balance {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						new_free: ::core::primitive::u128,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					VestingBalance,
-					#[codec(index = 1)]
-					LiquidityRestrictions,
-					#[codec(index = 2)]
-					InsufficientBalance,
-					#[codec(index = 3)]
-					ExistentialDeposit,
-					#[codec(index = 4)]
-					Expendability,
-					#[codec(index = 5)]
-					ExistingVestingSchedule,
-					#[codec(index = 6)]
-					DeadAccount,
-					#[codec(index = 7)]
-					TooManyReserves,
-					#[codec(index = 8)]
-					TooManyHolds,
-					#[codec(index = 9)]
-					TooManyFreezes,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Endowed {
-						account: ::sp_core::crypto::AccountId32,
-						free_balance: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					DustLost {
-						account: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					Transfer {
-						from: ::sp_core::crypto::AccountId32,
-						to: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					BalanceSet {
-						who: ::sp_core::crypto::AccountId32,
-						free: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					Reserved {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 5)]
-					Unreserved {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 6)]
-					ReserveRepatriated {
-						from: ::sp_core::crypto::AccountId32,
-						to: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-						destination_status:
-							runtime_types::frame_support::traits::tokens::misc::BalanceStatus,
-					},
-					#[codec(index = 7)]
-					Deposit { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 8)]
-					Withdraw {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 9)]
-					Slashed { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 10)]
-					Minted { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 11)]
-					Burned { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 12)]
-					Suspended {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 13)]
-					Restored {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 14)]
-					Upgraded { who: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 15)]
-					Issued { amount: ::core::primitive::u128 },
-					#[codec(index = 16)]
-					Rescinded { amount: ::core::primitive::u128 },
-					#[codec(index = 17)]
-					Locked { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 18)]
-					Unlocked {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 19)]
-					Frozen { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 20)]
-					Thawed { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-				}
-			}
-			pub mod types {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AccountData<_0> {
-					pub free: _0,
-					pub reserved: _0,
-					pub frozen: _0,
-					pub flags: runtime_types::pallet_balances::types::ExtraFlags,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BalanceLock<_0> {
-					pub id: [::core::primitive::u8; 8usize],
-					pub amount: _0,
-					pub reasons: runtime_types::pallet_balances::types::Reasons,
-				}
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct ExtraFlags(pub ::core::primitive::u128);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct IdAmount<_0, _1> {
-					pub id: _0,
-					pub amount: _1,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Reasons {
-					#[codec(index = 0)]
-					Fee,
-					#[codec(index = 1)]
-					Misc,
-					#[codec(index = 2)]
-					All,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ReserveData<_0, _1> {
-					pub id: _0,
-					pub amount: _1,
-				}
-			}
-		}
-		pub mod pallet_beefy {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					report_equivocation {
-						equivocation_proof: ::std::boxed::Box<
-							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: ::sp_session::MembershipProof,
-					},
-					#[codec(index = 1)]
-					report_equivocation_unsigned {
-						equivocation_proof: ::std::boxed::Box<
-							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: ::sp_session::MembershipProof,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidKeyOwnershipProof,
-					#[codec(index = 1)]
-					InvalidEquivocationProof,
-					#[codec(index = 2)]
-					DuplicateOffenceReport,
-				}
-			}
-		}
-		pub mod pallet_bounties {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					propose_bounty {
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-						description: ::std::vec::Vec<::core::primitive::u8>,
-					},
-					#[codec(index = 1)]
-					approve_bounty {
-						#[codec(compact)]
-						bounty_id: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					propose_curator {
-						#[codec(compact)]
-						bounty_id: ::core::primitive::u32,
-						curator: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						fee: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					unassign_curator {
-						#[codec(compact)]
-						bounty_id: ::core::primitive::u32,
-					},
-					#[codec(index = 4)]
-					accept_curator {
-						#[codec(compact)]
-						bounty_id: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					award_bounty {
-						#[codec(compact)]
-						bounty_id: ::core::primitive::u32,
-						beneficiary:
-							::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 6)]
-					claim_bounty {
-						#[codec(compact)]
-						bounty_id: ::core::primitive::u32,
-					},
-					#[codec(index = 7)]
-					close_bounty {
-						#[codec(compact)]
-						bounty_id: ::core::primitive::u32,
-					},
-					#[codec(index = 8)]
-					extend_bounty_expiry {
-						#[codec(compact)]
-						bounty_id: ::core::primitive::u32,
-						remark: ::std::vec::Vec<::core::primitive::u8>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InsufficientProposersBalance,
-					#[codec(index = 1)]
-					InvalidIndex,
-					#[codec(index = 2)]
-					ReasonTooBig,
-					#[codec(index = 3)]
-					UnexpectedStatus,
-					#[codec(index = 4)]
-					RequireCurator,
-					#[codec(index = 5)]
-					InvalidValue,
-					#[codec(index = 6)]
-					InvalidFee,
-					#[codec(index = 7)]
-					PendingPayout,
-					#[codec(index = 8)]
-					Premature,
-					#[codec(index = 9)]
-					HasActiveChildBounty,
-					#[codec(index = 10)]
-					TooManyQueued,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					BountyProposed { index: ::core::primitive::u32 },
-					#[codec(index = 1)]
-					BountyRejected { index: ::core::primitive::u32, bond: ::core::primitive::u128 },
-					#[codec(index = 2)]
-					BountyBecameActive { index: ::core::primitive::u32 },
-					#[codec(index = 3)]
-					BountyAwarded {
-						index: ::core::primitive::u32,
-						beneficiary: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 4)]
-					BountyClaimed {
-						index: ::core::primitive::u32,
-						payout: ::core::primitive::u128,
-						beneficiary: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 5)]
-					BountyCanceled { index: ::core::primitive::u32 },
-					#[codec(index = 6)]
-					BountyExtended { index: ::core::primitive::u32 },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Bounty<_0, _1, _2> {
-				pub proposer: _0,
-				pub value: _1,
-				pub fee: _1,
-				pub curator_deposit: _1,
-				pub bond: _1,
-				pub status: runtime_types::pallet_bounties::BountyStatus<_0, _2>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum BountyStatus<_0, _1> {
-				#[codec(index = 0)]
-				Proposed,
-				#[codec(index = 1)]
-				Approved,
-				#[codec(index = 2)]
-				Funded,
-				#[codec(index = 3)]
-				CuratorProposed { curator: _0 },
-				#[codec(index = 4)]
-				Active { curator: _0, update_due: _1 },
-				#[codec(index = 5)]
-				PendingPayout { curator: _0, beneficiary: _0, unlock_at: _1 },
-			}
-		}
-		pub mod pallet_child_bounties {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					add_child_bounty {
-						#[codec(compact)]
-						parent_bounty_id: ::core::primitive::u32,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-						description: ::std::vec::Vec<::core::primitive::u8>,
-					},
-					#[codec(index = 1)]
-					propose_curator {
-						#[codec(compact)]
-						parent_bounty_id: ::core::primitive::u32,
-						#[codec(compact)]
-						child_bounty_id: ::core::primitive::u32,
-						curator: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						fee: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					accept_curator {
-						#[codec(compact)]
-						parent_bounty_id: ::core::primitive::u32,
-						#[codec(compact)]
-						child_bounty_id: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					unassign_curator {
-						#[codec(compact)]
-						parent_bounty_id: ::core::primitive::u32,
-						#[codec(compact)]
-						child_bounty_id: ::core::primitive::u32,
-					},
-					#[codec(index = 4)]
-					award_child_bounty {
-						#[codec(compact)]
-						parent_bounty_id: ::core::primitive::u32,
-						#[codec(compact)]
-						child_bounty_id: ::core::primitive::u32,
-						beneficiary:
-							::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 5)]
-					claim_child_bounty {
-						#[codec(compact)]
-						parent_bounty_id: ::core::primitive::u32,
-						#[codec(compact)]
-						child_bounty_id: ::core::primitive::u32,
-					},
-					#[codec(index = 6)]
-					close_child_bounty {
-						#[codec(compact)]
-						parent_bounty_id: ::core::primitive::u32,
-						#[codec(compact)]
-						child_bounty_id: ::core::primitive::u32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					ParentBountyNotActive,
-					#[codec(index = 1)]
-					InsufficientBountyBalance,
-					#[codec(index = 2)]
-					TooManyChildBounties,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Added { index: ::core::primitive::u32, child_index: ::core::primitive::u32 },
-					#[codec(index = 1)]
-					Awarded {
-						index: ::core::primitive::u32,
-						child_index: ::core::primitive::u32,
-						beneficiary: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 2)]
-					Claimed {
-						index: ::core::primitive::u32,
-						child_index: ::core::primitive::u32,
-						payout: ::core::primitive::u128,
-						beneficiary: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 3)]
-					Canceled { index: ::core::primitive::u32, child_index: ::core::primitive::u32 },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ChildBounty<_0, _1, _2> {
-				pub parent_bounty: _2,
-				pub value: _1,
-				pub fee: _1,
-				pub curator_deposit: _1,
-				pub status: runtime_types::pallet_child_bounties::ChildBountyStatus<_0, _2>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ChildBountyStatus<_0, _1> {
-				#[codec(index = 0)]
-				Added,
-				#[codec(index = 1)]
-				CuratorProposed { curator: _0 },
-				#[codec(index = 2)]
-				Active { curator: _0 },
-				#[codec(index = 3)]
-				PendingPayout { curator: _0, beneficiary: _0, unlock_at: _1 },
-			}
-		}
-		pub mod pallet_collective {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					set_members {
-						new_members: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						prime: ::core::option::Option<::sp_core::crypto::AccountId32>,
-						old_count: ::core::primitive::u32,
-					},
-					#[codec(index = 1)]
-					execute {
-						proposal: ::std::boxed::Box<runtime_types::rococo_runtime::RuntimeCall>,
-						#[codec(compact)]
-						length_bound: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					propose {
-						#[codec(compact)]
-						threshold: ::core::primitive::u32,
-						proposal: ::std::boxed::Box<runtime_types::rococo_runtime::RuntimeCall>,
-						#[codec(compact)]
-						length_bound: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					vote {
-						proposal: ::subxt::utils::H256,
-						#[codec(compact)]
-						index: ::core::primitive::u32,
-						approve: ::core::primitive::bool,
-					},
-					#[codec(index = 5)]
-					disapprove_proposal { proposal_hash: ::subxt::utils::H256 },
-					#[codec(index = 6)]
-					close {
-						proposal_hash: ::subxt::utils::H256,
-						#[codec(compact)]
-						index: ::core::primitive::u32,
-						proposal_weight_bound: ::sp_weights::Weight,
-						#[codec(compact)]
-						length_bound: ::core::primitive::u32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotMember,
-					#[codec(index = 1)]
-					DuplicateProposal,
-					#[codec(index = 2)]
-					ProposalMissing,
-					#[codec(index = 3)]
-					WrongIndex,
-					#[codec(index = 4)]
-					DuplicateVote,
-					#[codec(index = 5)]
-					AlreadyInitialized,
-					#[codec(index = 6)]
-					TooEarly,
-					#[codec(index = 7)]
-					TooManyProposals,
-					#[codec(index = 8)]
-					WrongProposalWeight,
-					#[codec(index = 9)]
-					WrongProposalLength,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Proposed {
-						account: ::sp_core::crypto::AccountId32,
-						proposal_index: ::core::primitive::u32,
-						proposal_hash: ::subxt::utils::H256,
-						threshold: ::core::primitive::u32,
-					},
-					#[codec(index = 1)]
-					Voted {
-						account: ::sp_core::crypto::AccountId32,
-						proposal_hash: ::subxt::utils::H256,
-						voted: ::core::primitive::bool,
-						yes: ::core::primitive::u32,
-						no: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					Approved { proposal_hash: ::subxt::utils::H256 },
-					#[codec(index = 3)]
-					Disapproved { proposal_hash: ::subxt::utils::H256 },
-					#[codec(index = 4)]
-					Executed {
-						proposal_hash: ::subxt::utils::H256,
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 5)]
-					MemberExecuted {
-						proposal_hash: ::subxt::utils::H256,
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 6)]
-					Closed {
-						proposal_hash: ::subxt::utils::H256,
-						yes: ::core::primitive::u32,
-						no: ::core::primitive::u32,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RawOrigin<_0> {
-				#[codec(index = 0)]
-				Members(::core::primitive::u32, ::core::primitive::u32),
-				#[codec(index = 1)]
-				Member(_0),
-				#[codec(index = 2)]
-				_Phantom,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Votes<_0, _1> {
-				pub index: _1,
-				pub threshold: _1,
-				pub ayes: ::std::vec::Vec<_0>,
-				pub nays: ::std::vec::Vec<_0>,
-				pub end: _1,
-			}
-		}
-		pub mod pallet_democracy {
-			use super::runtime_types;
-			pub mod conviction {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					propose {
-						proposal: runtime_types::frame_support::traits::preimages::Bounded<
-							runtime_types::rococo_runtime::RuntimeCall,
-						>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					second {
-						#[codec(compact)]
-						proposal: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					vote {
-						#[codec(compact)]
-						ref_index: ::core::primitive::u32,
-						vote: runtime_types::pallet_democracy::vote::AccountVote<
-							::core::primitive::u128,
-						>,
-					},
-					#[codec(index = 3)]
-					emergency_cancel { ref_index: ::core::primitive::u32 },
-					#[codec(index = 4)]
-					external_propose {
-						proposal: runtime_types::frame_support::traits::preimages::Bounded<
-							runtime_types::rococo_runtime::RuntimeCall,
-						>,
-					},
-					#[codec(index = 5)]
-					external_propose_majority {
-						proposal: runtime_types::frame_support::traits::preimages::Bounded<
-							runtime_types::rococo_runtime::RuntimeCall,
-						>,
-					},
-					#[codec(index = 6)]
-					external_propose_default {
-						proposal: runtime_types::frame_support::traits::preimages::Bounded<
-							runtime_types::rococo_runtime::RuntimeCall,
-						>,
-					},
-					#[codec(index = 7)]
-					fast_track {
-						proposal_hash: ::subxt::utils::H256,
-						voting_period: ::core::primitive::u32,
-						delay: ::core::primitive::u32,
-					},
-					#[codec(index = 8)]
-					veto_external { proposal_hash: ::subxt::utils::H256 },
-					#[codec(index = 9)]
-					cancel_referendum {
-						#[codec(compact)]
-						ref_index: ::core::primitive::u32,
-					},
-					#[codec(index = 10)]
-					delegate {
-						to: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						conviction: runtime_types::pallet_democracy::conviction::Conviction,
-						balance: ::core::primitive::u128,
-					},
-					#[codec(index = 11)]
-					undelegate,
-					#[codec(index = 12)]
-					clear_public_proposals,
-					#[codec(index = 13)]
-					unlock {
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 14)]
-					remove_vote { index: ::core::primitive::u32 },
-					#[codec(index = 15)]
-					remove_other_vote {
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						index: ::core::primitive::u32,
-					},
-					#[codec(index = 16)]
-					blacklist {
-						proposal_hash: ::subxt::utils::H256,
-						maybe_ref_index: ::core::option::Option<::core::primitive::u32>,
-					},
-					#[codec(index = 17)]
-					cancel_proposal {
-						#[codec(compact)]
-						prop_index: ::core::primitive::u32,
-					},
-					#[codec(index = 18)]
-					set_metadata {
-						owner: runtime_types::pallet_democracy::types::MetadataOwner,
-						maybe_hash: ::core::option::Option<::subxt::utils::H256>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					ValueLow,
-					#[codec(index = 1)]
-					ProposalMissing,
-					#[codec(index = 2)]
-					AlreadyCanceled,
-					#[codec(index = 3)]
-					DuplicateProposal,
-					#[codec(index = 4)]
-					ProposalBlacklisted,
-					#[codec(index = 5)]
-					NotSimpleMajority,
-					#[codec(index = 6)]
-					InvalidHash,
-					#[codec(index = 7)]
-					NoProposal,
-					#[codec(index = 8)]
-					AlreadyVetoed,
-					#[codec(index = 9)]
-					ReferendumInvalid,
-					#[codec(index = 10)]
-					NoneWaiting,
-					#[codec(index = 11)]
-					NotVoter,
-					#[codec(index = 12)]
-					NoPermission,
-					#[codec(index = 13)]
-					AlreadyDelegating,
-					#[codec(index = 14)]
-					InsufficientFunds,
-					#[codec(index = 15)]
-					NotDelegating,
-					#[codec(index = 16)]
-					VotesExist,
-					#[codec(index = 17)]
-					InstantNotAllowed,
-					#[codec(index = 18)]
-					Nonsense,
-					#[codec(index = 19)]
-					WrongUpperBound,
-					#[codec(index = 20)]
-					MaxVotesReached,
-					#[codec(index = 21)]
-					TooMany,
-					#[codec(index = 22)]
-					VotingPeriodLow,
-					#[codec(index = 23)]
-					PreimageNotExist,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Proposed {
-						proposal_index: ::core::primitive::u32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					Tabled {
-						proposal_index: ::core::primitive::u32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					ExternalTabled,
-					#[codec(index = 3)]
-					Started {
-						ref_index: ::core::primitive::u32,
-						threshold: runtime_types::pallet_democracy::vote_threshold::VoteThreshold,
-					},
-					#[codec(index = 4)]
-					Passed { ref_index: ::core::primitive::u32 },
-					#[codec(index = 5)]
-					NotPassed { ref_index: ::core::primitive::u32 },
-					#[codec(index = 6)]
-					Cancelled { ref_index: ::core::primitive::u32 },
-					#[codec(index = 7)]
-					Delegated {
-						who: ::sp_core::crypto::AccountId32,
-						target: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 8)]
-					Undelegated { account: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 9)]
-					Vetoed {
-						who: ::sp_core::crypto::AccountId32,
-						proposal_hash: ::subxt::utils::H256,
-						until: ::core::primitive::u32,
-					},
-					#[codec(index = 10)]
-					Blacklisted { proposal_hash: ::subxt::utils::H256 },
-					#[codec(index = 11)]
-					Voted {
-						voter: ::sp_core::crypto::AccountId32,
-						ref_index: ::core::primitive::u32,
-						vote: runtime_types::pallet_democracy::vote::AccountVote<
-							::core::primitive::u128,
-						>,
-					},
-					#[codec(index = 12)]
-					Seconded {
-						seconder: ::sp_core::crypto::AccountId32,
-						prop_index: ::core::primitive::u32,
-					},
-					#[codec(index = 13)]
-					ProposalCanceled { prop_index: ::core::primitive::u32 },
-					#[codec(index = 14)]
-					MetadataSet {
-						owner: runtime_types::pallet_democracy::types::MetadataOwner,
-						hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 15)]
-					MetadataCleared {
-						owner: runtime_types::pallet_democracy::types::MetadataOwner,
-						hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 16)]
-					MetadataTransferred {
-						prev_owner: runtime_types::pallet_democracy::types::MetadataOwner,
-						owner: runtime_types::pallet_democracy::types::MetadataOwner,
-						hash: ::subxt::utils::H256,
-					},
-				}
-			}
-			pub mod types {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Delegations<_0> {
-					pub votes: _0,
-					pub capital: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum MetadataOwner {
-					#[codec(index = 0)]
-					External,
-					#[codec(index = 1)]
-					Proposal(::core::primitive::u32),
-					#[codec(index = 2)]
-					Referendum(::core::primitive::u32),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum ReferendumInfo<_0, _1, _2> {
-					#[codec(index = 0)]
-					Ongoing(runtime_types::pallet_democracy::types::ReferendumStatus<_0, _1, _2>),
-					#[codec(index = 1)]
-					Finished { approved: ::core::primitive::bool, end: _0 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ReferendumStatus<_0, _1, _2> {
-					pub end: _0,
-					pub proposal: _1,
-					pub threshold: runtime_types::pallet_democracy::vote_threshold::VoteThreshold,
-					pub delay: _0,
-					pub tally: runtime_types::pallet_democracy::types::Tally<_2>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Tally<_0> {
-					pub ayes: _0,
-					pub nays: _0,
-					pub turnout: _0,
-				}
-			}
-			pub mod vote {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum AccountVote<_0> {
-					#[codec(index = 0)]
-					Standard { vote: runtime_types::pallet_democracy::vote::Vote, balance: _0 },
-					#[codec(index = 1)]
-					Split { aye: _0, nay: _0 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PriorLock<_0, _1>(pub _0, pub _1);
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct Vote(pub ::core::primitive::u8);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Voting<_0, _1, _2> {
-					#[codec(index = 0)]
-					Direct {
-						votes: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-							_2,
-							runtime_types::pallet_democracy::vote::AccountVote<_0>,
-						)>,
-						delegations: runtime_types::pallet_democracy::types::Delegations<_0>,
-						prior: runtime_types::pallet_democracy::vote::PriorLock<_2, _0>,
-					},
-					#[codec(index = 1)]
-					Delegating {
-						balance: _0,
-						target: _1,
-						conviction: runtime_types::pallet_democracy::conviction::Conviction,
-						delegations: runtime_types::pallet_democracy::types::Delegations<_0>,
-						prior: runtime_types::pallet_democracy::vote::PriorLock<_2, _0>,
-					},
-				}
-			}
-			pub mod vote_threshold {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum VoteThreshold {
-					#[codec(index = 0)]
-					SuperMajorityApprove,
-					#[codec(index = 1)]
-					SuperMajorityAgainst,
-					#[codec(index = 2)]
-					SimpleMajority,
-				}
-			}
-		}
-		pub mod pallet_elections_phragmen {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					vote {
-						votes: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					remove_voter,
-					#[codec(index = 2)]
-					submit_candidacy {
-						#[codec(compact)]
-						candidate_count: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					renounce_candidacy {
-						renouncing: runtime_types::pallet_elections_phragmen::Renouncing,
-					},
-					#[codec(index = 4)]
-					remove_member {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						slash_bond: ::core::primitive::bool,
-						rerun_election: ::core::primitive::bool,
-					},
-					#[codec(index = 5)]
-					clean_defunct_voters {
-						num_voters: ::core::primitive::u32,
-						num_defunct: ::core::primitive::u32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					UnableToVote,
-					#[codec(index = 1)]
-					NoVotes,
-					#[codec(index = 2)]
-					TooManyVotes,
-					#[codec(index = 3)]
-					MaximumVotesExceeded,
-					#[codec(index = 4)]
-					LowBalance,
-					#[codec(index = 5)]
-					UnableToPayBond,
-					#[codec(index = 6)]
-					MustBeVoter,
-					#[codec(index = 7)]
-					DuplicatedCandidate,
-					#[codec(index = 8)]
-					TooManyCandidates,
-					#[codec(index = 9)]
-					MemberSubmit,
-					#[codec(index = 10)]
-					RunnerUpSubmit,
-					#[codec(index = 11)]
-					InsufficientCandidateFunds,
-					#[codec(index = 12)]
-					NotMember,
-					#[codec(index = 13)]
-					InvalidWitnessData,
-					#[codec(index = 14)]
-					InvalidVoteCount,
-					#[codec(index = 15)]
-					InvalidRenouncing,
-					#[codec(index = 16)]
-					InvalidReplacement,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewTerm {
-						new_members: ::std::vec::Vec<(
-							::sp_core::crypto::AccountId32,
-							::core::primitive::u128,
-						)>,
-					},
-					#[codec(index = 1)]
-					EmptyTerm,
-					#[codec(index = 2)]
-					ElectionError,
-					#[codec(index = 3)]
-					MemberKicked { member: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 4)]
-					Renounced { candidate: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 5)]
-					CandidateSlashed {
-						candidate: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 6)]
-					SeatHolderSlashed {
-						seat_holder: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Renouncing {
-				#[codec(index = 0)]
-				Member,
-				#[codec(index = 1)]
-				RunnerUp,
-				#[codec(index = 2)]
-				Candidate(#[codec(compact)] ::core::primitive::u32),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct SeatHolder<_0, _1> {
-				pub who: _0,
-				pub stake: _1,
-				pub deposit: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Voter<_0, _1> {
-				pub votes: ::std::vec::Vec<_0>,
-				pub stake: _1,
-				pub deposit: _1,
-			}
-		}
-		pub mod pallet_grandpa {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					report_equivocation {
-						equivocation_proof: ::std::boxed::Box<
-							::sp_consensus_grandpa::EquivocationProof<
-								::subxt::utils::H256,
-								::core::primitive::u32,
-							>,
-						>,
-						key_owner_proof: ::sp_session::MembershipProof,
-					},
-					#[codec(index = 1)]
-					report_equivocation_unsigned {
-						equivocation_proof: ::std::boxed::Box<
-							::sp_consensus_grandpa::EquivocationProof<
-								::subxt::utils::H256,
-								::core::primitive::u32,
-							>,
-						>,
-						key_owner_proof: ::sp_session::MembershipProof,
-					},
-					#[codec(index = 2)]
-					note_stalled {
-						delay: ::core::primitive::u32,
-						best_finalized_block_number: ::core::primitive::u32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					PauseFailed,
-					#[codec(index = 1)]
-					ResumeFailed,
-					#[codec(index = 2)]
-					ChangePending,
-					#[codec(index = 3)]
-					TooSoon,
-					#[codec(index = 4)]
-					InvalidKeyOwnershipProof,
-					#[codec(index = 5)]
-					InvalidEquivocationProof,
-					#[codec(index = 6)]
-					DuplicateOffenceReport,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewAuthorities {
-						authority_set: ::std::vec::Vec<(
-							runtime_types::sp_consensus_grandpa::app::Public,
-							::core::primitive::u64,
-						)>,
-					},
-					#[codec(index = 1)]
-					Paused,
-					#[codec(index = 2)]
-					Resumed,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct StoredPendingChange<_0> {
-				pub scheduled_at: _0,
-				pub delay: _0,
-				pub next_authorities:
-					runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<(
-						runtime_types::sp_consensus_grandpa::app::Public,
-						::core::primitive::u64,
-					)>,
-				pub forced: ::core::option::Option<_0>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum StoredState<_0> {
-				#[codec(index = 0)]
-				Live,
-				#[codec(index = 1)]
-				PendingPause { scheduled_at: _0, delay: _0 },
-				#[codec(index = 2)]
-				Paused,
-				#[codec(index = 3)]
-				PendingResume { scheduled_at: _0, delay: _0 },
-			}
-		}
-		pub mod pallet_identity {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					add_registrar {
-						account: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 1)]
-					set_identity {
-						info:
-							::std::boxed::Box<runtime_types::pallet_identity::types::IdentityInfo>,
-					},
-					#[codec(index = 2)]
-					set_subs {
-						subs: ::std::vec::Vec<(
-							::sp_core::crypto::AccountId32,
-							runtime_types::pallet_identity::types::Data,
-						)>,
-					},
-					#[codec(index = 3)]
-					clear_identity,
-					#[codec(index = 4)]
-					request_judgement {
-						#[codec(compact)]
-						reg_index: ::core::primitive::u32,
-						#[codec(compact)]
-						max_fee: ::core::primitive::u128,
-					},
-					#[codec(index = 5)]
-					cancel_request { reg_index: ::core::primitive::u32 },
-					#[codec(index = 6)]
-					set_fee {
-						#[codec(compact)]
-						index: ::core::primitive::u32,
-						#[codec(compact)]
-						fee: ::core::primitive::u128,
-					},
-					#[codec(index = 7)]
-					set_account_id {
-						#[codec(compact)]
-						index: ::core::primitive::u32,
-						new: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 8)]
-					set_fields {
-						#[codec(compact)]
-						index: ::core::primitive::u32,
-						fields: runtime_types::pallet_identity::types::BitFlags<
-							runtime_types::pallet_identity::types::IdentityField,
-						>,
-					},
-					#[codec(index = 9)]
-					provide_judgement {
-						#[codec(compact)]
-						reg_index: ::core::primitive::u32,
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						judgement: runtime_types::pallet_identity::types::Judgement<
-							::core::primitive::u128,
-						>,
-						identity: ::subxt::utils::H256,
-					},
-					#[codec(index = 10)]
-					kill_identity {
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 11)]
-					add_sub {
-						sub: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						data: runtime_types::pallet_identity::types::Data,
-					},
-					#[codec(index = 12)]
-					rename_sub {
-						sub: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						data: runtime_types::pallet_identity::types::Data,
-					},
-					#[codec(index = 13)]
-					remove_sub {
-						sub: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 14)]
-					quit_sub,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					TooManySubAccounts,
-					#[codec(index = 1)]
-					NotFound,
-					#[codec(index = 2)]
-					NotNamed,
-					#[codec(index = 3)]
-					EmptyIndex,
-					#[codec(index = 4)]
-					FeeChanged,
-					#[codec(index = 5)]
-					NoIdentity,
-					#[codec(index = 6)]
-					StickyJudgement,
-					#[codec(index = 7)]
-					JudgementGiven,
-					#[codec(index = 8)]
-					InvalidJudgement,
-					#[codec(index = 9)]
-					InvalidIndex,
-					#[codec(index = 10)]
-					InvalidTarget,
-					#[codec(index = 11)]
-					TooManyFields,
-					#[codec(index = 12)]
-					TooManyRegistrars,
-					#[codec(index = 13)]
-					AlreadyClaimed,
-					#[codec(index = 14)]
-					NotSub,
-					#[codec(index = 15)]
-					NotOwned,
-					#[codec(index = 16)]
-					JudgementForDifferentIdentity,
-					#[codec(index = 17)]
-					JudgementPaymentFailed,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					IdentitySet { who: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 1)]
-					IdentityCleared {
-						who: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					IdentityKilled {
-						who: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					JudgementRequested {
-						who: ::sp_core::crypto::AccountId32,
-						registrar_index: ::core::primitive::u32,
-					},
-					#[codec(index = 4)]
-					JudgementUnrequested {
-						who: ::sp_core::crypto::AccountId32,
-						registrar_index: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					JudgementGiven {
-						target: ::sp_core::crypto::AccountId32,
-						registrar_index: ::core::primitive::u32,
-					},
-					#[codec(index = 6)]
-					RegistrarAdded { registrar_index: ::core::primitive::u32 },
-					#[codec(index = 7)]
-					SubIdentityAdded {
-						sub: ::sp_core::crypto::AccountId32,
-						main: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 8)]
-					SubIdentityRemoved {
-						sub: ::sp_core::crypto::AccountId32,
-						main: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 9)]
-					SubIdentityRevoked {
-						sub: ::sp_core::crypto::AccountId32,
-						main: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-				}
-			}
-			pub mod types {
-				use super::runtime_types;
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct BitFlags<_0>(
-					pub ::core::primitive::u64,
-					#[codec(skip)] pub ::core::marker::PhantomData<_0>,
-				);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Data {
-					#[codec(index = 0)]
-					None,
-					#[codec(index = 1)]
-					Raw0([::core::primitive::u8; 0usize]),
-					#[codec(index = 2)]
-					Raw1([::core::primitive::u8; 1usize]),
-					#[codec(index = 3)]
-					Raw2([::core::primitive::u8; 2usize]),
-					#[codec(index = 4)]
-					Raw3([::core::primitive::u8; 3usize]),
-					#[codec(index = 5)]
-					Raw4([::core::primitive::u8; 4usize]),
-					#[codec(index = 6)]
-					Raw5([::core::primitive::u8; 5usize]),
-					#[codec(index = 7)]
-					Raw6([::core::primitive::u8; 6usize]),
-					#[codec(index = 8)]
-					Raw7([::core::primitive::u8; 7usize]),
-					#[codec(index = 9)]
-					Raw8([::core::primitive::u8; 8usize]),
-					#[codec(index = 10)]
-					Raw9([::core::primitive::u8; 9usize]),
-					#[codec(index = 11)]
-					Raw10([::core::primitive::u8; 10usize]),
-					#[codec(index = 12)]
-					Raw11([::core::primitive::u8; 11usize]),
-					#[codec(index = 13)]
-					Raw12([::core::primitive::u8; 12usize]),
-					#[codec(index = 14)]
-					Raw13([::core::primitive::u8; 13usize]),
-					#[codec(index = 15)]
-					Raw14([::core::primitive::u8; 14usize]),
-					#[codec(index = 16)]
-					Raw15([::core::primitive::u8; 15usize]),
-					#[codec(index = 17)]
-					Raw16([::core::primitive::u8; 16usize]),
-					#[codec(index = 18)]
-					Raw17([::core::primitive::u8; 17usize]),
-					#[codec(index = 19)]
-					Raw18([::core::primitive::u8; 18usize]),
-					#[codec(index = 20)]
-					Raw19([::core::primitive::u8; 19usize]),
-					#[codec(index = 21)]
-					Raw20([::core::primitive::u8; 20usize]),
-					#[codec(index = 22)]
-					Raw21([::core::primitive::u8; 21usize]),
-					#[codec(index = 23)]
-					Raw22([::core::primitive::u8; 22usize]),
-					#[codec(index = 24)]
-					Raw23([::core::primitive::u8; 23usize]),
-					#[codec(index = 25)]
-					Raw24([::core::primitive::u8; 24usize]),
-					#[codec(index = 26)]
-					Raw25([::core::primitive::u8; 25usize]),
-					#[codec(index = 27)]
-					Raw26([::core::primitive::u8; 26usize]),
-					#[codec(index = 28)]
-					Raw27([::core::primitive::u8; 27usize]),
-					#[codec(index = 29)]
-					Raw28([::core::primitive::u8; 28usize]),
-					#[codec(index = 30)]
-					Raw29([::core::primitive::u8; 29usize]),
-					#[codec(index = 31)]
-					Raw30([::core::primitive::u8; 30usize]),
-					#[codec(index = 32)]
-					Raw31([::core::primitive::u8; 31usize]),
-					#[codec(index = 33)]
-					Raw32([::core::primitive::u8; 32usize]),
-					#[codec(index = 34)]
-					BlakeTwo256([::core::primitive::u8; 32usize]),
-					#[codec(index = 35)]
-					Sha256([::core::primitive::u8; 32usize]),
-					#[codec(index = 36)]
-					Keccak256([::core::primitive::u8; 32usize]),
-					#[codec(index = 37)]
-					ShaThree256([::core::primitive::u8; 32usize]),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum IdentityField {
-					#[codec(index = 1)]
-					Display,
-					#[codec(index = 2)]
-					Legal,
-					#[codec(index = 4)]
-					Web,
-					#[codec(index = 8)]
-					Riot,
-					#[codec(index = 16)]
-					Email,
-					#[codec(index = 32)]
-					PgpFingerprint,
-					#[codec(index = 64)]
-					Image,
-					#[codec(index = 128)]
-					Twitter,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct IdentityInfo {
-					pub additional: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-						runtime_types::pallet_identity::types::Data,
-						runtime_types::pallet_identity::types::Data,
-					)>,
-					pub display: runtime_types::pallet_identity::types::Data,
-					pub legal: runtime_types::pallet_identity::types::Data,
-					pub web: runtime_types::pallet_identity::types::Data,
-					pub riot: runtime_types::pallet_identity::types::Data,
-					pub email: runtime_types::pallet_identity::types::Data,
-					pub pgp_fingerprint: ::core::option::Option<[::core::primitive::u8; 20usize]>,
-					pub image: runtime_types::pallet_identity::types::Data,
-					pub twitter: runtime_types::pallet_identity::types::Data,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Judgement<_0> {
-					#[codec(index = 0)]
-					Unknown,
-					#[codec(index = 1)]
-					FeePaid(_0),
-					#[codec(index = 2)]
-					Reasonable,
-					#[codec(index = 3)]
-					KnownGood,
-					#[codec(index = 4)]
-					OutOfDate,
-					#[codec(index = 5)]
-					LowQuality,
-					#[codec(index = 6)]
-					Erroneous,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RegistrarInfo<_0, _1> {
-					pub account: _1,
-					pub fee: _0,
-					pub fields: runtime_types::pallet_identity::types::BitFlags<
-						runtime_types::pallet_identity::types::IdentityField,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Registration<_0> {
-					pub judgements: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-						::core::primitive::u32,
-						runtime_types::pallet_identity::types::Judgement<_0>,
-					)>,
-					pub deposit: _0,
-					pub info: runtime_types::pallet_identity::types::IdentityInfo,
-				}
-			}
-		}
-		pub mod pallet_im_online {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					heartbeat {
-						heartbeat:
-							runtime_types::pallet_im_online::Heartbeat<::core::primitive::u32>,
-						signature: runtime_types::pallet_im_online::sr25519::app_sr25519::Signature,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidKey,
-					#[codec(index = 1)]
-					DuplicatedHeartbeat,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					HeartbeatReceived {
-						authority_id: runtime_types::pallet_im_online::sr25519::app_sr25519::Public,
-					},
-					#[codec(index = 1)]
-					AllGood,
-					#[codec(index = 2)]
-					SomeOffline { offline: ::std::vec::Vec<(::sp_core::crypto::AccountId32, ())> },
-				}
-			}
-			pub mod sr25519 {
-				use super::runtime_types;
-				pub mod app_sr25519 {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Signature(pub runtime_types::sp_core::sr25519::Signature);
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BoundedOpaqueNetworkState {
-				pub peer_id: runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<
-					::core::primitive::u8,
-				>,
-				pub external_addresses:
-					runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<
-						runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<
-							::core::primitive::u8,
-						>,
-					>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Heartbeat<_0> {
-				pub block_number: _0,
-				pub network_state: runtime_types::sp_core::offchain::OpaqueNetworkState,
-				pub session_index: _0,
-				pub authority_index: _0,
-				pub validators_len: _0,
-			}
-		}
-		pub mod pallet_indices {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					claim { index: ::core::primitive::u32 },
-					#[codec(index = 1)]
-					transfer {
-						new: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						index: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					free { index: ::core::primitive::u32 },
-					#[codec(index = 3)]
-					force_transfer {
-						new: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						index: ::core::primitive::u32,
-						freeze: ::core::primitive::bool,
-					},
-					#[codec(index = 4)]
-					freeze { index: ::core::primitive::u32 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotAssigned,
-					#[codec(index = 1)]
-					NotOwner,
-					#[codec(index = 2)]
-					InUse,
-					#[codec(index = 3)]
-					NotTransfer,
-					#[codec(index = 4)]
-					Permanent,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					IndexAssigned {
-						who: ::sp_core::crypto::AccountId32,
-						index: ::core::primitive::u32,
-					},
-					#[codec(index = 1)]
-					IndexFreed { index: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					IndexFrozen {
-						index: ::core::primitive::u32,
-						who: ::sp_core::crypto::AccountId32,
-					},
-				}
-			}
-		}
-		pub mod pallet_membership {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					add_member {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 1)]
-					remove_member {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 2)]
-					swap_member {
-						remove: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						add: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 3)]
-					reset_members { members: ::std::vec::Vec<::sp_core::crypto::AccountId32> },
-					#[codec(index = 4)]
-					change_key {
-						new: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 5)]
-					set_prime {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 6)]
-					clear_prime,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					AlreadyMember,
-					#[codec(index = 1)]
-					NotMember,
-					#[codec(index = 2)]
-					TooManyMembers,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					MemberAdded,
-					#[codec(index = 1)]
-					MemberRemoved,
-					#[codec(index = 2)]
-					MembersSwapped,
-					#[codec(index = 3)]
-					MembersReset,
-					#[codec(index = 4)]
-					KeyChanged,
-					#[codec(index = 5)]
-					Dummy,
-				}
-			}
-		}
-		pub mod pallet_message_queue {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					# [codec (index = 0)] reap_page { message_origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , page_index : :: core :: primitive :: u32 , } , # [codec (index = 1)] execute_overweight { message_origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , page : :: core :: primitive :: u32 , index : :: core :: primitive :: u32 , weight_limit : :: sp_weights :: Weight , } , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotReapable,
-					#[codec(index = 1)]
-					NoPage,
-					#[codec(index = 2)]
-					NoMessage,
-					#[codec(index = 3)]
-					AlreadyProcessed,
-					#[codec(index = 4)]
-					Queued,
-					#[codec(index = 5)]
-					InsufficientWeight,
-					#[codec(index = 6)]
-					TemporarilyUnprocessable,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					# [codec (index = 0)] ProcessingFailed { id : [:: core :: primitive :: u8 ; 32usize] , origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , error : runtime_types :: frame_support :: traits :: messages :: ProcessMessageError , } , # [codec (index = 1)] Processed { id : [:: core :: primitive :: u8 ; 32usize] , origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , weight_used : :: sp_weights :: Weight , success : :: core :: primitive :: bool , } , # [codec (index = 2)] OverweightEnqueued { id : [:: core :: primitive :: u8 ; 32usize] , origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , page_index : :: core :: primitive :: u32 , message_index : :: core :: primitive :: u32 , } , # [codec (index = 3)] PageReaped { origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , index : :: core :: primitive :: u32 , } , }
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BookState<_0> {
-				pub begin: ::core::primitive::u32,
-				pub end: ::core::primitive::u32,
-				pub count: ::core::primitive::u32,
-				pub ready_neighbours:
-					::core::option::Option<runtime_types::pallet_message_queue::Neighbours<_0>>,
-				pub message_count: ::core::primitive::u64,
-				pub size: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Neighbours<_0> {
-				pub prev: _0,
-				pub next: _0,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Page<_0> {
-				pub remaining: _0,
-				pub remaining_size: _0,
-				pub first_index: _0,
-				pub first: _0,
-				pub last: _0,
-				pub heap: runtime_types::bounded_collections::bounded_vec::BoundedVec<
-					::core::primitive::u8,
-				>,
-			}
-		}
-		pub mod pallet_multisig {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					as_multi_threshold_1 {
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						call: ::std::boxed::Box<runtime_types::rococo_runtime::RuntimeCall>,
-					},
-					#[codec(index = 1)]
-					as_multi {
-						threshold: ::core::primitive::u16,
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						maybe_timepoint: ::core::option::Option<
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						>,
-						call: ::std::boxed::Box<runtime_types::rococo_runtime::RuntimeCall>,
-						max_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 2)]
-					approve_as_multi {
-						threshold: ::core::primitive::u16,
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						maybe_timepoint: ::core::option::Option<
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						>,
-						call_hash: [::core::primitive::u8; 32usize],
-						max_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 3)]
-					cancel_as_multi {
-						threshold: ::core::primitive::u16,
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					MinimumThreshold,
-					#[codec(index = 1)]
-					AlreadyApproved,
-					#[codec(index = 2)]
-					NoApprovalsNeeded,
-					#[codec(index = 3)]
-					TooFewSignatories,
-					#[codec(index = 4)]
-					TooManySignatories,
-					#[codec(index = 5)]
-					SignatoriesOutOfOrder,
-					#[codec(index = 6)]
-					SenderInSignatories,
-					#[codec(index = 7)]
-					NotFound,
-					#[codec(index = 8)]
-					NotOwner,
-					#[codec(index = 9)]
-					NoTimepoint,
-					#[codec(index = 10)]
-					WrongTimepoint,
-					#[codec(index = 11)]
-					UnexpectedTimepoint,
-					#[codec(index = 12)]
-					MaxWeightTooLow,
-					#[codec(index = 13)]
-					AlreadyStored,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewMultisig {
-						approving: ::sp_core::crypto::AccountId32,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 1)]
-					MultisigApproval {
-						approving: ::sp_core::crypto::AccountId32,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 2)]
-					MultisigExecuted {
-						approving: ::sp_core::crypto::AccountId32,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 3)]
-					MultisigCancelled {
-						cancelling: ::sp_core::crypto::AccountId32,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Multisig<_0, _1, _2> {
-				pub when: runtime_types::pallet_multisig::Timepoint<_0>,
-				pub deposit: _1,
-				pub depositor: _2,
-				pub approvals: runtime_types::bounded_collections::bounded_vec::BoundedVec<_2>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Timepoint<_0> {
-				pub height: _0,
-				pub index: _0,
-			}
-		}
-		pub mod pallet_nis {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Bid<_0, _1> {
-					pub amount: _0,
-					pub who: _1,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					place_bid {
-						#[codec(compact)]
-						amount: ::core::primitive::u128,
-						duration: ::core::primitive::u32,
-					},
-					#[codec(index = 1)]
-					retract_bid {
-						#[codec(compact)]
-						amount: ::core::primitive::u128,
-						duration: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					fund_deficit,
-					#[codec(index = 3)]
-					thaw_private {
-						#[codec(compact)]
-						index: ::core::primitive::u32,
-						maybe_proportion: ::core::option::Option<
-							runtime_types::sp_arithmetic::per_things::Perquintill,
-						>,
-					},
-					#[codec(index = 4)]
-					thaw_communal {
-						#[codec(compact)]
-						index: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					communify {
-						#[codec(compact)]
-						index: ::core::primitive::u32,
-					},
-					#[codec(index = 6)]
-					privatize {
-						#[codec(compact)]
-						index: ::core::primitive::u32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					DurationTooSmall,
-					#[codec(index = 1)]
-					DurationTooBig,
-					#[codec(index = 2)]
-					AmountTooSmall,
-					#[codec(index = 3)]
-					BidTooLow,
-					#[codec(index = 4)]
-					UnknownReceipt,
-					#[codec(index = 5)]
-					NotOwner,
-					#[codec(index = 6)]
-					NotExpired,
-					#[codec(index = 7)]
-					UnknownBid,
-					#[codec(index = 8)]
-					PortionTooBig,
-					#[codec(index = 9)]
-					Unfunded,
-					#[codec(index = 10)]
-					AlreadyFunded,
-					#[codec(index = 11)]
-					Throttled,
-					#[codec(index = 12)]
-					MakesDust,
-					#[codec(index = 13)]
-					AlreadyCommunal,
-					#[codec(index = 14)]
-					AlreadyPrivate,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					BidPlaced {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-						duration: ::core::primitive::u32,
-					},
-					#[codec(index = 1)]
-					BidRetracted {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-						duration: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					BidDropped {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-						duration: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					Issued {
-						index: ::core::primitive::u32,
-						expiry: ::core::primitive::u32,
-						who: ::sp_core::crypto::AccountId32,
-						proportion: runtime_types::sp_arithmetic::per_things::Perquintill,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					Thawed {
-						index: ::core::primitive::u32,
-						who: ::sp_core::crypto::AccountId32,
-						proportion: runtime_types::sp_arithmetic::per_things::Perquintill,
-						amount: ::core::primitive::u128,
-						dropped: ::core::primitive::bool,
-					},
-					#[codec(index = 5)]
-					Funded { deficit: ::core::primitive::u128 },
-					#[codec(index = 6)]
-					Transferred {
-						from: ::sp_core::crypto::AccountId32,
-						to: ::sp_core::crypto::AccountId32,
-						index: ::core::primitive::u32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum HoldReason {
-					#[codec(index = 0)]
-					NftReceipt,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ReceiptRecord<_0, _1, _2> {
-					pub proportion: runtime_types::sp_arithmetic::per_things::Perquintill,
-					pub owner: ::core::option::Option<(_0, _2)>,
-					pub expiry: _1,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SummaryRecord<_0, _1> {
-					pub proportion_owed: runtime_types::sp_arithmetic::per_things::Perquintill,
-					pub index: _0,
-					pub thawed: runtime_types::sp_arithmetic::per_things::Perquintill,
-					pub last_period: _0,
-					pub receipts_on_hold: _1,
-				}
-			}
-		}
-		pub mod pallet_offences {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Offence {
-						kind: [::core::primitive::u8; 16usize],
-						timeslot: ::std::vec::Vec<::core::primitive::u8>,
-					},
-				}
-			}
-		}
-		pub mod pallet_preimage {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					note_preimage { bytes: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 1)]
-					unnote_preimage { hash: ::subxt::utils::H256 },
-					#[codec(index = 2)]
-					request_preimage { hash: ::subxt::utils::H256 },
-					#[codec(index = 3)]
-					unrequest_preimage { hash: ::subxt::utils::H256 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					TooBig,
-					#[codec(index = 1)]
-					AlreadyNoted,
-					#[codec(index = 2)]
-					NotAuthorized,
-					#[codec(index = 3)]
-					NotNoted,
-					#[codec(index = 4)]
-					Requested,
-					#[codec(index = 5)]
-					NotRequested,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Noted { hash: ::subxt::utils::H256 },
-					#[codec(index = 1)]
-					Requested { hash: ::subxt::utils::H256 },
-					#[codec(index = 2)]
-					Cleared { hash: ::subxt::utils::H256 },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RequestStatus<_0, _1> {
-				#[codec(index = 0)]
-				Unrequested { deposit: (_0, _1), len: ::core::primitive::u32 },
-				#[codec(index = 1)]
-				Requested {
-					deposit: ::core::option::Option<(_0, _1)>,
-					count: ::core::primitive::u32,
-					len: ::core::option::Option<::core::primitive::u32>,
-				},
-			}
-		}
-		pub mod pallet_proxy {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					proxy {
-						real: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						force_proxy_type:
-							::core::option::Option<runtime_types::rococo_runtime::ProxyType>,
-						call: ::std::boxed::Box<runtime_types::rococo_runtime::RuntimeCall>,
-					},
-					#[codec(index = 1)]
-					add_proxy {
-						delegate: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						proxy_type: runtime_types::rococo_runtime::ProxyType,
-						delay: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					remove_proxy {
-						delegate: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						proxy_type: runtime_types::rococo_runtime::ProxyType,
-						delay: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					remove_proxies,
-					#[codec(index = 4)]
-					create_pure {
-						proxy_type: runtime_types::rococo_runtime::ProxyType,
-						delay: ::core::primitive::u32,
-						index: ::core::primitive::u16,
-					},
-					#[codec(index = 5)]
-					kill_pure {
-						spawner: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						proxy_type: runtime_types::rococo_runtime::ProxyType,
-						index: ::core::primitive::u16,
-						#[codec(compact)]
-						height: ::core::primitive::u32,
-						#[codec(compact)]
-						ext_index: ::core::primitive::u32,
-					},
-					#[codec(index = 6)]
-					announce {
-						real: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						call_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 7)]
-					remove_announcement {
-						real: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						call_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 8)]
-					reject_announcement {
-						delegate: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						call_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 9)]
-					proxy_announced {
-						delegate: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						real: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						force_proxy_type:
-							::core::option::Option<runtime_types::rococo_runtime::ProxyType>,
-						call: ::std::boxed::Box<runtime_types::rococo_runtime::RuntimeCall>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					TooMany,
-					#[codec(index = 1)]
-					NotFound,
-					#[codec(index = 2)]
-					NotProxy,
-					#[codec(index = 3)]
-					Unproxyable,
-					#[codec(index = 4)]
-					Duplicate,
-					#[codec(index = 5)]
-					NoPermission,
-					#[codec(index = 6)]
-					Unannounced,
-					#[codec(index = 7)]
-					NoSelfProxy,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					ProxyExecuted {
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 1)]
-					PureCreated {
-						pure: ::sp_core::crypto::AccountId32,
-						who: ::sp_core::crypto::AccountId32,
-						proxy_type: runtime_types::rococo_runtime::ProxyType,
-						disambiguation_index: ::core::primitive::u16,
-					},
-					#[codec(index = 2)]
-					Announced {
-						real: ::sp_core::crypto::AccountId32,
-						proxy: ::sp_core::crypto::AccountId32,
-						call_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 3)]
-					ProxyAdded {
-						delegator: ::sp_core::crypto::AccountId32,
-						delegatee: ::sp_core::crypto::AccountId32,
-						proxy_type: runtime_types::rococo_runtime::ProxyType,
-						delay: ::core::primitive::u32,
-					},
-					#[codec(index = 4)]
-					ProxyRemoved {
-						delegator: ::sp_core::crypto::AccountId32,
-						delegatee: ::sp_core::crypto::AccountId32,
-						proxy_type: runtime_types::rococo_runtime::ProxyType,
-						delay: ::core::primitive::u32,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Announcement<_0, _1, _2> {
-				pub real: _0,
-				pub call_hash: _1,
-				pub height: _2,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ProxyDefinition<_0, _1, _2> {
-				pub delegate: _0,
-				pub proxy_type: _1,
-				pub delay: _2,
-			}
-		}
-		pub mod pallet_recovery {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					as_recovered {
-						account: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						call: ::std::boxed::Box<runtime_types::rococo_runtime::RuntimeCall>,
-					},
-					#[codec(index = 1)]
-					set_recovered {
-						lost: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						rescuer: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 2)]
-					create_recovery {
-						friends: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						threshold: ::core::primitive::u16,
-						delay_period: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					initiate_recovery {
-						account: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 4)]
-					vouch_recovery {
-						lost: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						rescuer: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 5)]
-					claim_recovery {
-						account: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 6)]
-					close_recovery {
-						rescuer: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 7)]
-					remove_recovery,
-					#[codec(index = 8)]
-					cancel_recovered {
-						account: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotAllowed,
-					#[codec(index = 1)]
-					ZeroThreshold,
-					#[codec(index = 2)]
-					NotEnoughFriends,
-					#[codec(index = 3)]
-					MaxFriends,
-					#[codec(index = 4)]
-					NotSorted,
-					#[codec(index = 5)]
-					NotRecoverable,
-					#[codec(index = 6)]
-					AlreadyRecoverable,
-					#[codec(index = 7)]
-					AlreadyStarted,
-					#[codec(index = 8)]
-					NotStarted,
-					#[codec(index = 9)]
-					NotFriend,
-					#[codec(index = 10)]
-					DelayPeriod,
-					#[codec(index = 11)]
-					AlreadyVouched,
-					#[codec(index = 12)]
-					Threshold,
-					#[codec(index = 13)]
-					StillActive,
-					#[codec(index = 14)]
-					AlreadyProxy,
-					#[codec(index = 15)]
-					BadState,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					RecoveryCreated { account: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 1)]
-					RecoveryInitiated {
-						lost_account: ::sp_core::crypto::AccountId32,
-						rescuer_account: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 2)]
-					RecoveryVouched {
-						lost_account: ::sp_core::crypto::AccountId32,
-						rescuer_account: ::sp_core::crypto::AccountId32,
-						sender: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 3)]
-					RecoveryClosed {
-						lost_account: ::sp_core::crypto::AccountId32,
-						rescuer_account: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 4)]
-					AccountRecovered {
-						lost_account: ::sp_core::crypto::AccountId32,
-						rescuer_account: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 5)]
-					RecoveryRemoved { lost_account: ::sp_core::crypto::AccountId32 },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ActiveRecovery<_0, _1, _2> {
-				pub created: _0,
-				pub deposit: _1,
-				pub friends: _2,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RecoveryConfig<_0, _1, _2> {
-				pub delay_period: _0,
-				pub deposit: _1,
-				pub friends: _2,
-				pub threshold: ::core::primitive::u16,
-			}
-		}
-		pub mod pallet_scheduler {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					schedule {
-						when: ::core::primitive::u32,
-						maybe_periodic: ::core::option::Option<(
-							::core::primitive::u32,
-							::core::primitive::u32,
-						)>,
-						priority: ::core::primitive::u8,
-						call: ::std::boxed::Box<runtime_types::rococo_runtime::RuntimeCall>,
-					},
-					#[codec(index = 1)]
-					cancel { when: ::core::primitive::u32, index: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					schedule_named {
-						id: [::core::primitive::u8; 32usize],
-						when: ::core::primitive::u32,
-						maybe_periodic: ::core::option::Option<(
-							::core::primitive::u32,
-							::core::primitive::u32,
-						)>,
-						priority: ::core::primitive::u8,
-						call: ::std::boxed::Box<runtime_types::rococo_runtime::RuntimeCall>,
-					},
-					#[codec(index = 3)]
-					cancel_named { id: [::core::primitive::u8; 32usize] },
-					#[codec(index = 4)]
-					schedule_after {
-						after: ::core::primitive::u32,
-						maybe_periodic: ::core::option::Option<(
-							::core::primitive::u32,
-							::core::primitive::u32,
-						)>,
-						priority: ::core::primitive::u8,
-						call: ::std::boxed::Box<runtime_types::rococo_runtime::RuntimeCall>,
-					},
-					#[codec(index = 5)]
-					schedule_named_after {
-						id: [::core::primitive::u8; 32usize],
-						after: ::core::primitive::u32,
-						maybe_periodic: ::core::option::Option<(
-							::core::primitive::u32,
-							::core::primitive::u32,
-						)>,
-						priority: ::core::primitive::u8,
-						call: ::std::boxed::Box<runtime_types::rococo_runtime::RuntimeCall>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					FailedToSchedule,
-					#[codec(index = 1)]
-					NotFound,
-					#[codec(index = 2)]
-					TargetBlockNumberInPast,
-					#[codec(index = 3)]
-					RescheduleNoChange,
-					#[codec(index = 4)]
-					Named,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Scheduled { when: ::core::primitive::u32, index: ::core::primitive::u32 },
-					#[codec(index = 1)]
-					Canceled { when: ::core::primitive::u32, index: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					Dispatched {
-						task: (::core::primitive::u32, ::core::primitive::u32),
-						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 3)]
-					CallUnavailable {
-						task: (::core::primitive::u32, ::core::primitive::u32),
-						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
-					},
-					#[codec(index = 4)]
-					PeriodicFailed {
-						task: (::core::primitive::u32, ::core::primitive::u32),
-						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
-					},
-					#[codec(index = 5)]
-					PermanentlyOverweight {
-						task: (::core::primitive::u32, ::core::primitive::u32),
-						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Scheduled<_0, _1, _2, _3, _4> {
-				pub maybe_id: ::core::option::Option<_0>,
-				pub priority: ::core::primitive::u8,
-				pub call: _1,
-				pub maybe_periodic: ::core::option::Option<(_2, _2)>,
-				pub origin: _3,
-				#[codec(skip)]
-				pub __subxt_unused_type_params: ::core::marker::PhantomData<_4>,
-			}
-		}
-		pub mod pallet_session {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					set_keys {
-						keys: runtime_types::rococo_runtime::SessionKeys,
-						proof: ::std::vec::Vec<::core::primitive::u8>,
-					},
-					#[codec(index = 1)]
-					purge_keys,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidProof,
-					#[codec(index = 1)]
-					NoAssociatedValidatorId,
-					#[codec(index = 2)]
-					DuplicatedKey,
-					#[codec(index = 3)]
-					NoKeys,
-					#[codec(index = 4)]
-					NoAccount,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewSession { session_index: ::core::primitive::u32 },
-				}
-			}
-		}
-		pub mod pallet_society {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					bid { value: ::core::primitive::u128 },
-					#[codec(index = 1)]
-					unbid { pos: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					vouch {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						value: ::core::primitive::u128,
-						tip: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					unvouch { pos: ::core::primitive::u32 },
-					#[codec(index = 4)]
-					vote {
-						candidate: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						approve: ::core::primitive::bool,
-					},
-					#[codec(index = 5)]
-					defender_vote { approve: ::core::primitive::bool },
-					#[codec(index = 6)]
-					payout,
-					#[codec(index = 7)]
-					found {
-						founder: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						max_members: ::core::primitive::u32,
-						rules: ::std::vec::Vec<::core::primitive::u8>,
-					},
-					#[codec(index = 8)]
-					unfound,
-					#[codec(index = 9)]
-					judge_suspended_member {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						forgive: ::core::primitive::bool,
-					},
-					#[codec(index = 10)]
-					judge_suspended_candidate {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						judgement: runtime_types::pallet_society::Judgement,
-					},
-					#[codec(index = 11)]
-					set_max_members { max: ::core::primitive::u32 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					BadPosition,
-					#[codec(index = 1)]
-					NotMember,
-					#[codec(index = 2)]
-					AlreadyMember,
-					#[codec(index = 3)]
-					Suspended,
-					#[codec(index = 4)]
-					NotSuspended,
-					#[codec(index = 5)]
-					NoPayout,
-					#[codec(index = 6)]
-					AlreadyFounded,
-					#[codec(index = 7)]
-					InsufficientPot,
-					#[codec(index = 8)]
-					AlreadyVouching,
-					#[codec(index = 9)]
-					NotVouching,
-					#[codec(index = 10)]
-					Head,
-					#[codec(index = 11)]
-					Founder,
-					#[codec(index = 12)]
-					AlreadyBid,
-					#[codec(index = 13)]
-					AlreadyCandidate,
-					#[codec(index = 14)]
-					NotCandidate,
-					#[codec(index = 15)]
-					MaxMembers,
-					#[codec(index = 16)]
-					NotFounder,
-					#[codec(index = 17)]
-					NotHead,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Founded { founder: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 1)]
-					Bid {
-						candidate_id: ::sp_core::crypto::AccountId32,
-						offer: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					Vouch {
-						candidate_id: ::sp_core::crypto::AccountId32,
-						offer: ::core::primitive::u128,
-						vouching: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 3)]
-					AutoUnbid { candidate: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 4)]
-					Unbid { candidate: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 5)]
-					Unvouch { candidate: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 6)]
-					Inducted {
-						primary: ::sp_core::crypto::AccountId32,
-						candidates: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-					},
-					#[codec(index = 7)]
-					SuspendedMemberJudgement {
-						who: ::sp_core::crypto::AccountId32,
-						judged: ::core::primitive::bool,
-					},
-					#[codec(index = 8)]
-					CandidateSuspended { candidate: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 9)]
-					MemberSuspended { member: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 10)]
-					Challenged { member: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 11)]
-					Vote {
-						candidate: ::sp_core::crypto::AccountId32,
-						voter: ::sp_core::crypto::AccountId32,
-						vote: ::core::primitive::bool,
-					},
-					#[codec(index = 12)]
-					DefenderVote {
-						voter: ::sp_core::crypto::AccountId32,
-						vote: ::core::primitive::bool,
-					},
-					#[codec(index = 13)]
-					NewMaxMembers { max: ::core::primitive::u32 },
-					#[codec(index = 14)]
-					Unfounded { founder: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 15)]
-					Deposit { value: ::core::primitive::u128 },
-					#[codec(index = 16)]
-					SkepticsChosen { skeptics: ::std::vec::Vec<::sp_core::crypto::AccountId32> },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Bid<_0, _1> {
-				pub who: _0,
-				pub kind: runtime_types::pallet_society::BidKind<_0, _1>,
-				pub value: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum BidKind<_0, _1> {
-				#[codec(index = 0)]
-				Deposit(_1),
-				#[codec(index = 1)]
-				Vouch(_0, _1),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Judgement {
-				#[codec(index = 0)]
-				Rebid,
-				#[codec(index = 1)]
-				Reject,
-				#[codec(index = 2)]
-				Approve,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Vote {
-				#[codec(index = 0)]
-				Skeptic,
-				#[codec(index = 1)]
-				Reject,
-				#[codec(index = 2)]
-				Approve,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VouchingStatus {
-				#[codec(index = 0)]
-				Vouching,
-				#[codec(index = 1)]
-				Banned,
-			}
-		}
-		pub mod pallet_state_trie_migration {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					control_auto_migration {
-						maybe_config: ::core::option::Option<
-							runtime_types::pallet_state_trie_migration::pallet::MigrationLimits,
-						>,
-					},
-					#[codec(index = 1)]
-					continue_migrate {
-						limits: runtime_types::pallet_state_trie_migration::pallet::MigrationLimits,
-						real_size_upper: ::core::primitive::u32,
-						witness_task:
-							runtime_types::pallet_state_trie_migration::pallet::MigrationTask,
-					},
-					#[codec(index = 2)]
-					migrate_custom_top {
-						keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>,
-						witness_size: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					migrate_custom_child {
-						root: ::std::vec::Vec<::core::primitive::u8>,
-						child_keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>,
-						total_size: ::core::primitive::u32,
-					},
-					#[codec(index = 4)]
-					set_signed_max_limits {
-						limits: runtime_types::pallet_state_trie_migration::pallet::MigrationLimits,
-					},
-					#[codec(index = 5)]
-					force_set_progress {
-						progress_top: runtime_types::pallet_state_trie_migration::pallet::Progress,
-						progress_child:
-							runtime_types::pallet_state_trie_migration::pallet::Progress,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					MaxSignedLimits,
-					#[codec(index = 1)]
-					KeyTooLong,
-					#[codec(index = 2)]
-					NotEnoughFunds,
-					#[codec(index = 3)]
-					BadWitness,
-					#[codec(index = 4)]
-					SignedMigrationNotAllowed,
-					#[codec(index = 5)]
-					BadChildRoot,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Migrated {
-						top: ::core::primitive::u32,
-						child: ::core::primitive::u32,
-						compute:
-							runtime_types::pallet_state_trie_migration::pallet::MigrationCompute,
-					},
-					#[codec(index = 1)]
-					Slashed { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 2)]
-					AutoMigrationFinished,
-					#[codec(index = 3)]
-					Halted { error: runtime_types::pallet_state_trie_migration::pallet::Error },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum MigrationCompute {
-					#[codec(index = 0)]
-					Signed,
-					#[codec(index = 1)]
-					Auto,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct MigrationLimits {
-					pub size: ::core::primitive::u32,
-					pub item: ::core::primitive::u32,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct MigrationTask {
-					pub progress_top: runtime_types::pallet_state_trie_migration::pallet::Progress,
-					pub progress_child:
-						runtime_types::pallet_state_trie_migration::pallet::Progress,
-					pub size: ::core::primitive::u32,
-					pub top_items: ::core::primitive::u32,
-					pub child_items: ::core::primitive::u32,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Progress {
-					#[codec(index = 0)]
-					ToStart,
-					#[codec(index = 1)]
-					LastKey(
-						runtime_types::bounded_collections::bounded_vec::BoundedVec<
-							::core::primitive::u8,
-						>,
-					),
-					#[codec(index = 2)]
-					Complete,
-				}
-			}
-		}
-		pub mod pallet_sudo {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					sudo { call: ::std::boxed::Box<runtime_types::rococo_runtime::RuntimeCall> },
-					#[codec(index = 1)]
-					sudo_unchecked_weight {
-						call: ::std::boxed::Box<runtime_types::rococo_runtime::RuntimeCall>,
-						weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 2)]
-					set_key {
-						new: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 3)]
-					sudo_as {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						call: ::std::boxed::Box<runtime_types::rococo_runtime::RuntimeCall>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					RequireSudo,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Sudid {
-						sudo_result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 1)]
-					KeyChanged {
-						old_sudoer: ::core::option::Option<::sp_core::crypto::AccountId32>,
-					},
-					#[codec(index = 2)]
-					SudoAsDone {
-						sudo_result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-				}
-			}
-		}
-		pub mod pallet_timestamp {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					set {
-						#[codec(compact)]
-						now: ::core::primitive::u64,
-					},
-				}
-			}
-		}
-		pub mod pallet_tips {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					report_awesome {
-						reason: ::std::vec::Vec<::core::primitive::u8>,
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 1)]
-					retract_tip { hash: ::subxt::utils::H256 },
-					#[codec(index = 2)]
-					tip_new {
-						reason: ::std::vec::Vec<::core::primitive::u8>,
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						tip_value: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					tip {
-						hash: ::subxt::utils::H256,
-						#[codec(compact)]
-						tip_value: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					close_tip { hash: ::subxt::utils::H256 },
-					#[codec(index = 5)]
-					slash_tip { hash: ::subxt::utils::H256 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					ReasonTooBig,
-					#[codec(index = 1)]
-					AlreadyKnown,
-					#[codec(index = 2)]
-					UnknownTip,
-					#[codec(index = 3)]
-					NotFinder,
-					#[codec(index = 4)]
-					StillOpen,
-					#[codec(index = 5)]
-					Premature,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewTip { tip_hash: ::subxt::utils::H256 },
-					#[codec(index = 1)]
-					TipClosing { tip_hash: ::subxt::utils::H256 },
-					#[codec(index = 2)]
-					TipClosed {
-						tip_hash: ::subxt::utils::H256,
-						who: ::sp_core::crypto::AccountId32,
-						payout: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					TipRetracted { tip_hash: ::subxt::utils::H256 },
-					#[codec(index = 4)]
-					TipSlashed {
-						tip_hash: ::subxt::utils::H256,
-						finder: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OpenTip<_0, _1, _2, _3> {
-				pub reason: _3,
-				pub who: _0,
-				pub finder: _0,
-				pub deposit: _1,
-				pub closes: ::core::option::Option<_2>,
-				pub tips: ::std::vec::Vec<(_0, _1)>,
-				pub finders_fee: ::core::primitive::bool,
-			}
-		}
-		pub mod pallet_transaction_payment {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					TransactionFeePaid {
-						who: ::sp_core::crypto::AccountId32,
-						actual_fee: ::core::primitive::u128,
-						tip: ::core::primitive::u128,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ChargeTransactionPayment(#[codec(compact)] pub ::core::primitive::u128);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Releases {
-				#[codec(index = 0)]
-				V1Ancient,
-				#[codec(index = 1)]
-				V2,
-			}
-		}
-		pub mod pallet_treasury {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					propose_spend {
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-						beneficiary:
-							::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 1)]
-					reject_proposal {
-						#[codec(compact)]
-						proposal_id: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					approve_proposal {
-						#[codec(compact)]
-						proposal_id: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					spend {
-						#[codec(compact)]
-						amount: ::core::primitive::u128,
-						beneficiary:
-							::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 4)]
-					remove_approval {
-						#[codec(compact)]
-						proposal_id: ::core::primitive::u32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InsufficientProposersBalance,
-					#[codec(index = 1)]
-					InvalidIndex,
-					#[codec(index = 2)]
-					TooManyApprovals,
-					#[codec(index = 3)]
-					InsufficientPermission,
-					#[codec(index = 4)]
-					ProposalNotApproved,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Proposed { proposal_index: ::core::primitive::u32 },
-					#[codec(index = 1)]
-					Spending { budget_remaining: ::core::primitive::u128 },
-					#[codec(index = 2)]
-					Awarded {
-						proposal_index: ::core::primitive::u32,
-						award: ::core::primitive::u128,
-						account: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 3)]
-					Rejected {
-						proposal_index: ::core::primitive::u32,
-						slashed: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					Burnt { burnt_funds: ::core::primitive::u128 },
-					#[codec(index = 5)]
-					Rollover { rollover_balance: ::core::primitive::u128 },
-					#[codec(index = 6)]
-					Deposit { value: ::core::primitive::u128 },
-					#[codec(index = 7)]
-					SpendApproved {
-						proposal_index: ::core::primitive::u32,
-						amount: ::core::primitive::u128,
-						beneficiary: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 8)]
-					UpdatedInactive {
-						reactivated: ::core::primitive::u128,
-						deactivated: ::core::primitive::u128,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Proposal<_0, _1> {
-				pub proposer: _0,
-				pub value: _1,
-				pub beneficiary: _0,
-				pub bond: _1,
-			}
-		}
-		pub mod pallet_utility {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					batch { calls: ::std::vec::Vec<runtime_types::rococo_runtime::RuntimeCall> },
-					#[codec(index = 1)]
-					as_derivative {
-						index: ::core::primitive::u16,
-						call: ::std::boxed::Box<runtime_types::rococo_runtime::RuntimeCall>,
-					},
-					#[codec(index = 2)]
-					batch_all { calls: ::std::vec::Vec<runtime_types::rococo_runtime::RuntimeCall> },
-					#[codec(index = 3)]
-					dispatch_as {
-						as_origin: ::std::boxed::Box<runtime_types::rococo_runtime::OriginCaller>,
-						call: ::std::boxed::Box<runtime_types::rococo_runtime::RuntimeCall>,
-					},
-					#[codec(index = 4)]
-					force_batch {
-						calls: ::std::vec::Vec<runtime_types::rococo_runtime::RuntimeCall>,
-					},
-					#[codec(index = 5)]
-					with_weight {
-						call: ::std::boxed::Box<runtime_types::rococo_runtime::RuntimeCall>,
-						weight: ::sp_weights::Weight,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					TooManyCalls,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					BatchInterrupted {
-						index: ::core::primitive::u32,
-						error: runtime_types::sp_runtime::DispatchError,
-					},
-					#[codec(index = 1)]
-					BatchCompleted,
-					#[codec(index = 2)]
-					BatchCompletedWithErrors,
-					#[codec(index = 3)]
-					ItemCompleted,
-					#[codec(index = 4)]
-					ItemFailed { error: runtime_types::sp_runtime::DispatchError },
-					#[codec(index = 5)]
-					DispatchedAs {
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-				}
-			}
-		}
-		pub mod pallet_vesting {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					vest,
-					#[codec(index = 1)]
-					vest_other {
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 2)]
-					vested_transfer {
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo<
-							::core::primitive::u128,
-							::core::primitive::u32,
-						>,
-					},
-					#[codec(index = 3)]
-					force_vested_transfer {
-						source: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo<
-							::core::primitive::u128,
-							::core::primitive::u32,
-						>,
-					},
-					#[codec(index = 4)]
-					merge_schedules {
-						schedule1_index: ::core::primitive::u32,
-						schedule2_index: ::core::primitive::u32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotVesting,
-					#[codec(index = 1)]
-					AtMaxVestingSchedules,
-					#[codec(index = 2)]
-					AmountLow,
-					#[codec(index = 3)]
-					ScheduleIndexOutOfBounds,
-					#[codec(index = 4)]
-					InvalidScheduleParams,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					VestingUpdated {
-						account: ::sp_core::crypto::AccountId32,
-						unvested: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					VestingCompleted { account: ::sp_core::crypto::AccountId32 },
-				}
-			}
-			pub mod vesting_info {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct VestingInfo<_0, _1> {
-					pub locked: _0,
-					pub per_block: _0,
-					pub starting_block: _1,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Releases {
-				#[codec(index = 0)]
-				V0,
-				#[codec(index = 1)]
-				V1,
-			}
-		}
-		pub mod pallet_xcm {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					send {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						message: ::std::boxed::Box<runtime_types::xcm::VersionedXcm>,
-					},
-					#[codec(index = 1)]
-					teleport_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedMultiAssets>,
-						fee_asset_item: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					reserve_transfer_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedMultiAssets>,
-						fee_asset_item: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					execute {
-						message: ::std::boxed::Box<runtime_types::xcm::VersionedXcm>,
-						max_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 4)]
-					force_xcm_version {
-						location:
-							::std::boxed::Box<runtime_types::xcm::v3::multilocation::MultiLocation>,
-						xcm_version: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					force_default_xcm_version {
-						maybe_xcm_version: ::core::option::Option<::core::primitive::u32>,
-					},
-					#[codec(index = 6)]
-					force_subscribe_version_notify {
-						location: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-					},
-					#[codec(index = 7)]
-					force_unsubscribe_version_notify {
-						location: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-					},
-					#[codec(index = 8)]
-					limited_reserve_transfer_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedMultiAssets>,
-						fee_asset_item: ::core::primitive::u32,
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-					},
-					#[codec(index = 9)]
-					limited_teleport_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedMultiAssets>,
-						fee_asset_item: ::core::primitive::u32,
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-					},
-					#[codec(index = 10)]
-					force_suspension { suspended: ::core::primitive::bool },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					Unreachable,
-					#[codec(index = 1)]
-					SendFailure,
-					#[codec(index = 2)]
-					Filtered,
-					#[codec(index = 3)]
-					UnweighableMessage,
-					#[codec(index = 4)]
-					DestinationNotInvertible,
-					#[codec(index = 5)]
-					Empty,
-					#[codec(index = 6)]
-					CannotReanchor,
-					#[codec(index = 7)]
-					TooManyAssets,
-					#[codec(index = 8)]
-					InvalidOrigin,
-					#[codec(index = 9)]
-					BadVersion,
-					#[codec(index = 10)]
-					BadLocation,
-					#[codec(index = 11)]
-					NoSubscription,
-					#[codec(index = 12)]
-					AlreadySubscribed,
-					#[codec(index = 13)]
-					InvalidAsset,
-					#[codec(index = 14)]
-					LowBalance,
-					#[codec(index = 15)]
-					TooManyLocks,
-					#[codec(index = 16)]
-					AccountNotSovereign,
-					#[codec(index = 17)]
-					FeesNotMet,
-					#[codec(index = 18)]
-					LockNotFound,
-					#[codec(index = 19)]
-					InUse,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Attempted(runtime_types::xcm::v3::traits::Outcome),
-					#[codec(index = 1)]
-					Sent(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::v3::Xcm,
-					),
-					#[codec(index = 2)]
-					UnexpectedResponse(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u64,
-					),
-					#[codec(index = 3)]
-					ResponseReady(::core::primitive::u64, runtime_types::xcm::v3::Response),
-					#[codec(index = 4)]
-					Notified(::core::primitive::u64, ::core::primitive::u8, ::core::primitive::u8),
-					#[codec(index = 5)]
-					NotifyOverweight(
-						::core::primitive::u64,
-						::core::primitive::u8,
-						::core::primitive::u8,
-						::sp_weights::Weight,
-						::sp_weights::Weight,
-					),
-					#[codec(index = 6)]
-					NotifyDispatchError(
-						::core::primitive::u64,
-						::core::primitive::u8,
-						::core::primitive::u8,
-					),
-					#[codec(index = 7)]
-					NotifyDecodeFailed(
-						::core::primitive::u64,
-						::core::primitive::u8,
-						::core::primitive::u8,
-					),
-					#[codec(index = 8)]
-					InvalidResponder(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u64,
-						::core::option::Option<
-							runtime_types::xcm::v3::multilocation::MultiLocation,
-						>,
-					),
-					#[codec(index = 9)]
-					InvalidResponderVersion(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u64,
-					),
-					#[codec(index = 10)]
-					ResponseTaken(::core::primitive::u64),
-					#[codec(index = 11)]
-					AssetsTrapped(
-						::subxt::utils::H256,
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::VersionedMultiAssets,
-					),
-					#[codec(index = 12)]
-					VersionChangeNotified(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u32,
-						runtime_types::xcm::v3::multiasset::MultiAssets,
-					),
-					#[codec(index = 13)]
-					SupportedVersionChanged(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u32,
-					),
-					#[codec(index = 14)]
-					NotifyTargetSendFail(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u64,
-						runtime_types::xcm::v3::traits::Error,
-					),
-					#[codec(index = 15)]
-					NotifyTargetMigrationFail(
-						runtime_types::xcm::VersionedMultiLocation,
-						::core::primitive::u64,
-					),
-					#[codec(index = 16)]
-					InvalidQuerierVersion(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u64,
-					),
-					#[codec(index = 17)]
-					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)]
-					VersionNotifyStarted(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::v3::multiasset::MultiAssets,
-					),
-					#[codec(index = 19)]
-					VersionNotifyRequested(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::v3::multiasset::MultiAssets,
-					),
-					#[codec(index = 20)]
-					VersionNotifyUnrequested(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::v3::multiasset::MultiAssets,
-					),
-					#[codec(index = 21)]
-					FeesPaid(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::v3::multiasset::MultiAssets,
-					),
-					#[codec(index = 22)]
-					AssetsClaimed(
-						::subxt::utils::H256,
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::VersionedMultiAssets,
-					),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Origin {
-					#[codec(index = 0)]
-					Xcm(runtime_types::xcm::v3::multilocation::MultiLocation),
-					#[codec(index = 1)]
-					Response(runtime_types::xcm::v3::multilocation::MultiLocation),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum QueryStatus<_0> {
-					#[codec(index = 0)]
-					Pending {
-						responder: runtime_types::xcm::VersionedMultiLocation,
-						maybe_match_querier:
-							::core::option::Option<runtime_types::xcm::VersionedMultiLocation>,
-						maybe_notify:
-							::core::option::Option<(::core::primitive::u8, ::core::primitive::u8)>,
-						timeout: _0,
-					},
-					#[codec(index = 1)]
-					VersionNotifier {
-						origin: runtime_types::xcm::VersionedMultiLocation,
-						is_active: ::core::primitive::bool,
-					},
-					#[codec(index = 2)]
-					Ready { response: runtime_types::xcm::VersionedResponse, at: _0 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RemoteLockedFungibleRecord<_0> {
-					pub amount: ::core::primitive::u128,
-					pub owner: runtime_types::xcm::VersionedMultiLocation,
-					pub locker: runtime_types::xcm::VersionedMultiLocation,
-					pub consumers: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-						_0,
-						::core::primitive::u128,
-					)>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum VersionMigrationStage {
-					#[codec(index = 0)]
-					MigrateSupportedVersion,
-					#[codec(index = 1)]
-					MigrateVersionNotifiers,
-					#[codec(index = 2)]
-					NotifyCurrentTargets(
-						::core::option::Option<::std::vec::Vec<::core::primitive::u8>>,
-					),
-					#[codec(index = 3)]
-					MigrateAndNotifyOldTargets,
-				}
-			}
-		}
-		pub mod polkadot_core_primitives {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct CandidateHash(pub ::subxt::utils::H256);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundDownwardMessage<_0> {
-				pub sent_at: _0,
-				pub msg: ::std::vec::Vec<::core::primitive::u8>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundHrmpMessage<_0> {
-				pub sent_at: _0,
-				pub data: ::std::vec::Vec<::core::primitive::u8>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OutboundHrmpMessage<_0> {
-				pub recipient: _0,
-				pub data: ::std::vec::Vec<::core::primitive::u8>,
-			}
-		}
-		pub mod polkadot_parachain {
-			use super::runtime_types;
-			pub mod primitives {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HeadData(pub ::std::vec::Vec<::core::primitive::u8>);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HrmpChannelId {
-					pub sender: runtime_types::polkadot_parachain::primitives::Id,
-					pub recipient: runtime_types::polkadot_parachain::primitives::Id,
-				}
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct Id(pub ::core::primitive::u32);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ValidationCode(pub ::std::vec::Vec<::core::primitive::u8>);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ValidationCodeHash(pub ::subxt::utils::H256);
-			}
-		}
-		pub mod polkadot_primitives {
-			use super::runtime_types;
-			pub mod v4 {
-				use super::runtime_types;
-				pub mod assignment_app {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-				}
-				pub mod collator_app {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Signature(pub runtime_types::sp_core::sr25519::Signature);
-				}
-				pub mod executor_params {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct ExecutorParams(
-						pub  ::std::vec::Vec<
-							runtime_types::polkadot_primitives::v4::executor_params::ExecutorParam,
-						>,
-					);
-				}
-				pub mod signed {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct UncheckedSigned<_0, _1> {
-						pub payload: _0,
-						pub validator_index: runtime_types::polkadot_primitives::v4::ValidatorIndex,
-						pub signature:
-							runtime_types::polkadot_primitives::v4::validator_app::Signature,
-						#[codec(skip)]
-						pub __subxt_unused_type_params: ::core::marker::PhantomData<_1>,
-					}
-				}
-				pub mod validator_app {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Signature(pub runtime_types::sp_core::sr25519::Signature);
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AvailabilityBitfield(
-					pub  ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-				);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BackedCandidate<_0> {
-					pub candidate:
-						runtime_types::polkadot_primitives::v4::CommittedCandidateReceipt<_0>,
-					pub validity_votes: ::std::vec::Vec<
-						runtime_types::polkadot_primitives::v4::ValidityAttestation,
-					>,
-					pub validator_indices: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CandidateCommitments<_0> {
-					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,
-					>,
-					pub head_data: runtime_types::polkadot_parachain::primitives::HeadData,
-					pub processed_downward_messages: _0,
-					pub hrmp_watermark: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CandidateDescriptor<_0> {
-					pub para_id: runtime_types::polkadot_parachain::primitives::Id,
-					pub relay_parent: _0,
-					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::v4::collator_app::Signature,
-					pub para_head: _0,
-					pub validation_code_hash:
-						runtime_types::polkadot_parachain::primitives::ValidationCodeHash,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CandidateReceipt<_0> {
-					pub descriptor: runtime_types::polkadot_primitives::v4::CandidateDescriptor<_0>,
-					pub commitments_hash: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CommittedCandidateReceipt<_0> {
-					pub descriptor: runtime_types::polkadot_primitives::v4::CandidateDescriptor<_0>,
-					pub commitments: runtime_types::polkadot_primitives::v4::CandidateCommitments<
-						::core::primitive::u32,
-					>,
-				}
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct CoreIndex(pub ::core::primitive::u32);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum CoreOccupied {
-					#[codec(index = 0)]
-					Parathread(runtime_types::polkadot_primitives::v4::ParathreadEntry),
-					#[codec(index = 1)]
-					Parachain,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DisputeState<_0> {
-					pub validators_for: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-					pub validators_against: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-					pub start: _0,
-					pub concluded_at: ::core::option::Option<_0>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum DisputeStatement {
-					#[codec(index = 0)]
-					Valid(runtime_types::polkadot_primitives::v4::ValidDisputeStatementKind),
-					#[codec(index = 1)]
-					Invalid(runtime_types::polkadot_primitives::v4::InvalidDisputeStatementKind),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DisputeStatementSet {
-					pub candidate_hash: runtime_types::polkadot_core_primitives::CandidateHash,
-					pub session: ::core::primitive::u32,
-					pub statements: ::std::vec::Vec<(
-						runtime_types::polkadot_primitives::v4::DisputeStatement,
-						runtime_types::polkadot_primitives::v4::ValidatorIndex,
-						runtime_types::polkadot_primitives::v4::validator_app::Signature,
-					)>,
-				}
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct GroupIndex(pub ::core::primitive::u32);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct IndexedVec<_0, _1>(
-					pub ::std::vec::Vec<_1>,
-					#[codec(skip)] pub ::core::marker::PhantomData<_0>,
-				);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct InherentData<_0> {
-					pub bitfields: ::std::vec::Vec<
-						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::v4::BackedCandidate<
-							::subxt::utils::H256,
-						>,
-					>,
-					pub disputes: ::std::vec::Vec<
-						runtime_types::polkadot_primitives::v4::DisputeStatementSet,
-					>,
-					pub parent_header: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum InvalidDisputeStatementKind {
-					#[codec(index = 0)]
-					Explicit,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParathreadClaim(
-					pub runtime_types::polkadot_parachain::primitives::Id,
-					pub runtime_types::polkadot_primitives::v4::collator_app::Public,
-				);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParathreadEntry {
-					pub claim: runtime_types::polkadot_primitives::v4::ParathreadClaim,
-					pub retries: ::core::primitive::u32,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PvfCheckStatement {
-					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::v4::ValidatorIndex,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum PvfExecTimeoutKind {
-					#[codec(index = 0)]
-					Backing,
-					#[codec(index = 1)]
-					Approval,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum PvfPrepTimeoutKind {
-					#[codec(index = 0)]
-					Precheck,
-					#[codec(index = 1)]
-					Lenient,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ScrapedOnChainVotes<_0> {
-					pub session: ::core::primitive::u32,
-					pub backing_validators_per_candidate: ::std::vec::Vec<(
-						runtime_types::polkadot_primitives::v4::CandidateReceipt<_0>,
-						::std::vec::Vec<(
-							runtime_types::polkadot_primitives::v4::ValidatorIndex,
-							runtime_types::polkadot_primitives::v4::ValidityAttestation,
-						)>,
-					)>,
-					pub disputes: ::std::vec::Vec<
-						runtime_types::polkadot_primitives::v4::DisputeStatementSet,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SessionInfo {
-					pub active_validator_indices:
-						::std::vec::Vec<runtime_types::polkadot_primitives::v4::ValidatorIndex>,
-					pub random_seed: [::core::primitive::u8; 32usize],
-					pub dispute_period: ::core::primitive::u32,
-					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<runtime_types::sp_authority_discovery::app::Public>,
-					pub assignment_keys: ::std::vec::Vec<
-						runtime_types::polkadot_primitives::v4::assignment_app::Public,
-					>,
-					pub validator_groups: runtime_types::polkadot_primitives::v4::IndexedVec<
-						runtime_types::polkadot_primitives::v4::GroupIndex,
-						::std::vec::Vec<runtime_types::polkadot_primitives::v4::ValidatorIndex>,
-					>,
-					pub n_cores: ::core::primitive::u32,
-					pub zeroth_delay_tranche_width: ::core::primitive::u32,
-					pub relay_vrf_modulo_samples: ::core::primitive::u32,
-					pub n_delay_tranches: ::core::primitive::u32,
-					pub no_show_slots: ::core::primitive::u32,
-					pub needed_approvals: ::core::primitive::u32,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum UpgradeGoAhead {
-					#[codec(index = 0)]
-					Abort,
-					#[codec(index = 1)]
-					GoAhead,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum UpgradeRestriction {
-					#[codec(index = 0)]
-					Present,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum ValidDisputeStatementKind {
-					#[codec(index = 0)]
-					Explicit,
-					#[codec(index = 1)]
-					BackingSeconded(::subxt::utils::H256),
-					#[codec(index = 2)]
-					BackingValid(::subxt::utils::H256),
-					#[codec(index = 3)]
-					ApprovalChecking,
-				}
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct ValidatorIndex(pub ::core::primitive::u32);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum ValidityAttestation {
-					#[codec(index = 1)]
-					Implicit(runtime_types::polkadot_primitives::v4::validator_app::Signature),
-					#[codec(index = 2)]
-					Explicit(runtime_types::polkadot_primitives::v4::validator_app::Signature),
-				}
-			}
-			pub mod vstaging {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AsyncBackingParams {
-					pub max_candidate_depth: ::core::primitive::u32,
-					pub allowed_ancestry_len: ::core::primitive::u32,
-				}
-			}
-		}
-		pub mod polkadot_runtime_common {
-			use super::runtime_types;
-			pub mod assigned_slots {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						# [codec (index = 0)] assign_perm_parachain_slot { id : runtime_types :: polkadot_parachain :: primitives :: Id , } , # [codec (index = 1)] assign_temp_parachain_slot { id : runtime_types :: polkadot_parachain :: primitives :: Id , lease_period_start : runtime_types :: polkadot_runtime_common :: assigned_slots :: SlotLeasePeriodStart , } , # [codec (index = 2)] unassign_parachain_slot { id : runtime_types :: polkadot_parachain :: primitives :: Id , } , }
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						ParaDoesntExist,
-						#[codec(index = 1)]
-						NotParathread,
-						#[codec(index = 2)]
-						CannotUpgrade,
-						#[codec(index = 3)]
-						CannotDowngrade,
-						#[codec(index = 4)]
-						SlotAlreadyAssigned,
-						#[codec(index = 5)]
-						SlotNotAssigned,
-						#[codec(index = 6)]
-						OngoingLeaseExists,
-						#[codec(index = 7)]
-						MaxPermanentSlotsExceeded,
-						#[codec(index = 8)]
-						MaxTemporarySlotsExceeded,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						PermanentSlotAssigned(runtime_types::polkadot_parachain::primitives::Id),
-						#[codec(index = 1)]
-						TemporarySlotAssigned(runtime_types::polkadot_parachain::primitives::Id),
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParachainTemporarySlot<_0, _1> {
-					pub manager: _0,
-					pub period_begin: _1,
-					pub period_count: _1,
-					pub last_lease: ::core::option::Option<_1>,
-					pub lease_count: _1,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum SlotLeasePeriodStart {
-					#[codec(index = 0)]
-					Current,
-					#[codec(index = 1)]
-					Next,
-				}
-			}
-			pub mod auctions {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						new_auction {
-							#[codec(compact)]
-							duration: ::core::primitive::u32,
-							#[codec(compact)]
-							lease_period_index: ::core::primitive::u32,
-						},
-						#[codec(index = 1)]
-						bid {
-							#[codec(compact)]
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							#[codec(compact)]
-							auction_index: ::core::primitive::u32,
-							#[codec(compact)]
-							first_slot: ::core::primitive::u32,
-							#[codec(compact)]
-							last_slot: ::core::primitive::u32,
-							#[codec(compact)]
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 2)]
-						cancel_auction,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						AuctionInProgress,
-						#[codec(index = 1)]
-						LeasePeriodInPast,
-						#[codec(index = 2)]
-						ParaNotRegistered,
-						#[codec(index = 3)]
-						NotCurrentAuction,
-						#[codec(index = 4)]
-						NotAuction,
-						#[codec(index = 5)]
-						AuctionEnded,
-						#[codec(index = 6)]
-						AlreadyLeasedOut,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						AuctionStarted {
-							auction_index: ::core::primitive::u32,
-							lease_period: ::core::primitive::u32,
-							ending: ::core::primitive::u32,
-						},
-						#[codec(index = 1)]
-						AuctionClosed { auction_index: ::core::primitive::u32 },
-						#[codec(index = 2)]
-						Reserved {
-							bidder: ::sp_core::crypto::AccountId32,
-							extra_reserved: ::core::primitive::u128,
-							total_amount: ::core::primitive::u128,
-						},
-						#[codec(index = 3)]
-						Unreserved {
-							bidder: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 4)]
-						ReserveConfiscated {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							leaser: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 5)]
-						BidAccepted {
-							bidder: ::sp_core::crypto::AccountId32,
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							amount: ::core::primitive::u128,
-							first_slot: ::core::primitive::u32,
-							last_slot: ::core::primitive::u32,
-						},
-						#[codec(index = 6)]
-						WinningOffset {
-							auction_index: ::core::primitive::u32,
-							block_number: ::core::primitive::u32,
-						},
-					}
-				}
-			}
-			pub mod claims {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						claim {
-							dest: ::sp_core::crypto::AccountId32,
-							ethereum_signature:
-								runtime_types::polkadot_runtime_common::claims::EcdsaSignature,
-						},
-						#[codec(index = 1)]
-						mint_claim {
-							who: runtime_types::polkadot_runtime_common::claims::EthereumAddress,
-							value: ::core::primitive::u128,
-							vesting_schedule: ::core::option::Option<(
-								::core::primitive::u128,
-								::core::primitive::u128,
-								::core::primitive::u32,
-							)>,
-							statement: ::core::option::Option<
-								runtime_types::polkadot_runtime_common::claims::StatementKind,
-							>,
-						},
-						#[codec(index = 2)]
-						claim_attest {
-							dest: ::sp_core::crypto::AccountId32,
-							ethereum_signature:
-								runtime_types::polkadot_runtime_common::claims::EcdsaSignature,
-							statement: ::std::vec::Vec<::core::primitive::u8>,
-						},
-						#[codec(index = 3)]
-						attest { statement: ::std::vec::Vec<::core::primitive::u8> },
-						#[codec(index = 4)]
-						move_claim {
-							old: runtime_types::polkadot_runtime_common::claims::EthereumAddress,
-							new: runtime_types::polkadot_runtime_common::claims::EthereumAddress,
-							maybe_preclaim: ::core::option::Option<::sp_core::crypto::AccountId32>,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						InvalidEthereumSignature,
-						#[codec(index = 1)]
-						SignerHasNoClaim,
-						#[codec(index = 2)]
-						SenderHasNoClaim,
-						#[codec(index = 3)]
-						PotUnderflow,
-						#[codec(index = 4)]
-						InvalidStatement,
-						#[codec(index = 5)]
-						VestedBalanceExists,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						Claimed {
-							who: ::sp_core::crypto::AccountId32,
-							ethereum_address:
-								runtime_types::polkadot_runtime_common::claims::EthereumAddress,
-							amount: ::core::primitive::u128,
-						},
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct EcdsaSignature(pub [::core::primitive::u8; 65usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct EthereumAddress(pub [::core::primitive::u8; 20usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum StatementKind {
-					#[codec(index = 0)]
-					Regular,
-					#[codec(index = 1)]
-					Saft,
-				}
-			}
-			pub mod crowdloan {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						create {
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-							#[codec(compact)]
-							cap: ::core::primitive::u128,
-							#[codec(compact)]
-							first_period: ::core::primitive::u32,
-							#[codec(compact)]
-							last_period: ::core::primitive::u32,
-							#[codec(compact)]
-							end: ::core::primitive::u32,
-							verifier:
-								::core::option::Option<runtime_types::sp_runtime::MultiSigner>,
-						},
-						#[codec(index = 1)]
-						contribute {
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-							#[codec(compact)]
-							value: ::core::primitive::u128,
-							signature:
-								::core::option::Option<runtime_types::sp_runtime::MultiSignature>,
-						},
-						#[codec(index = 2)]
-						withdraw {
-							who: ::sp_core::crypto::AccountId32,
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 3)]
-						refund {
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 4)]
-						dissolve {
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 5)]
-						edit {
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-							#[codec(compact)]
-							cap: ::core::primitive::u128,
-							#[codec(compact)]
-							first_period: ::core::primitive::u32,
-							#[codec(compact)]
-							last_period: ::core::primitive::u32,
-							#[codec(compact)]
-							end: ::core::primitive::u32,
-							verifier:
-								::core::option::Option<runtime_types::sp_runtime::MultiSigner>,
-						},
-						#[codec(index = 6)]
-						add_memo {
-							index: runtime_types::polkadot_parachain::primitives::Id,
-							memo: ::std::vec::Vec<::core::primitive::u8>,
-						},
-						#[codec(index = 7)]
-						poke { index: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 8)]
-						contribute_all {
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-							signature:
-								::core::option::Option<runtime_types::sp_runtime::MultiSignature>,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						FirstPeriodInPast,
-						#[codec(index = 1)]
-						FirstPeriodTooFarInFuture,
-						#[codec(index = 2)]
-						LastPeriodBeforeFirstPeriod,
-						#[codec(index = 3)]
-						LastPeriodTooFarInFuture,
-						#[codec(index = 4)]
-						CannotEndInPast,
-						#[codec(index = 5)]
-						EndTooFarInFuture,
-						#[codec(index = 6)]
-						Overflow,
-						#[codec(index = 7)]
-						ContributionTooSmall,
-						#[codec(index = 8)]
-						InvalidParaId,
-						#[codec(index = 9)]
-						CapExceeded,
-						#[codec(index = 10)]
-						ContributionPeriodOver,
-						#[codec(index = 11)]
-						InvalidOrigin,
-						#[codec(index = 12)]
-						NotParachain,
-						#[codec(index = 13)]
-						LeaseActive,
-						#[codec(index = 14)]
-						BidOrLeaseActive,
-						#[codec(index = 15)]
-						FundNotEnded,
-						#[codec(index = 16)]
-						NoContributions,
-						#[codec(index = 17)]
-						NotReadyToDissolve,
-						#[codec(index = 18)]
-						InvalidSignature,
-						#[codec(index = 19)]
-						MemoTooLarge,
-						#[codec(index = 20)]
-						AlreadyInNewRaise,
-						#[codec(index = 21)]
-						VrfDelayInProgress,
-						#[codec(index = 22)]
-						NoLeasePeriod,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						Created { para_id: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 1)]
-						Contributed {
-							who: ::sp_core::crypto::AccountId32,
-							fund_index: runtime_types::polkadot_parachain::primitives::Id,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 2)]
-						Withdrew {
-							who: ::sp_core::crypto::AccountId32,
-							fund_index: runtime_types::polkadot_parachain::primitives::Id,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 3)]
-						PartiallyRefunded {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 4)]
-						AllRefunded { para_id: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 5)]
-						Dissolved { para_id: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 6)]
-						HandleBidResult {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							result: ::core::result::Result<
-								(),
-								runtime_types::sp_runtime::DispatchError,
-							>,
-						},
-						#[codec(index = 7)]
-						Edited { para_id: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 8)]
-						MemoUpdated {
-							who: ::sp_core::crypto::AccountId32,
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							memo: ::std::vec::Vec<::core::primitive::u8>,
-						},
-						#[codec(index = 9)]
-						AddedToNewRaise {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-						},
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct FundInfo<_0, _1, _2, _3> {
-					pub depositor: _0,
-					pub verifier: ::core::option::Option<runtime_types::sp_runtime::MultiSigner>,
-					pub deposit: _1,
-					pub raised: _1,
-					pub end: _2,
-					pub cap: _1,
-					pub last_contribution:
-						runtime_types::polkadot_runtime_common::crowdloan::LastContribution<_2>,
-					pub first_period: _2,
-					pub last_period: _2,
-					pub fund_index: _2,
-					#[codec(skip)]
-					pub __subxt_unused_type_params: ::core::marker::PhantomData<_3>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum LastContribution<_0> {
-					#[codec(index = 0)]
-					Never,
-					#[codec(index = 1)]
-					PreEnding(_0),
-					#[codec(index = 2)]
-					Ending(_0),
-				}
-			}
-			pub mod paras_registrar {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						register {
-							id: runtime_types::polkadot_parachain::primitives::Id,
-							genesis_head: runtime_types::polkadot_parachain::primitives::HeadData,
-							validation_code:
-								runtime_types::polkadot_parachain::primitives::ValidationCode,
-						},
-						#[codec(index = 1)]
-						force_register {
-							who: ::sp_core::crypto::AccountId32,
-							deposit: ::core::primitive::u128,
-							id: runtime_types::polkadot_parachain::primitives::Id,
-							genesis_head: runtime_types::polkadot_parachain::primitives::HeadData,
-							validation_code:
-								runtime_types::polkadot_parachain::primitives::ValidationCode,
-						},
-						#[codec(index = 2)]
-						deregister { id: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 3)]
-						swap {
-							id: runtime_types::polkadot_parachain::primitives::Id,
-							other: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 4)]
-						remove_lock { para: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 5)]
-						reserve,
-						#[codec(index = 6)]
-						add_lock { para: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 7)]
-						schedule_code_upgrade {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							new_code: runtime_types::polkadot_parachain::primitives::ValidationCode,
-						},
-						#[codec(index = 8)]
-						set_current_head {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							new_head: runtime_types::polkadot_parachain::primitives::HeadData,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						NotRegistered,
-						#[codec(index = 1)]
-						AlreadyRegistered,
-						#[codec(index = 2)]
-						NotOwner,
-						#[codec(index = 3)]
-						CodeTooLarge,
-						#[codec(index = 4)]
-						HeadDataTooLarge,
-						#[codec(index = 5)]
-						NotParachain,
-						#[codec(index = 6)]
-						NotParathread,
-						#[codec(index = 7)]
-						CannotDeregister,
-						#[codec(index = 8)]
-						CannotDowngrade,
-						#[codec(index = 9)]
-						CannotUpgrade,
-						#[codec(index = 10)]
-						ParaLocked,
-						#[codec(index = 11)]
-						NotReserved,
-						#[codec(index = 12)]
-						EmptyCode,
-						#[codec(index = 13)]
-						CannotSwap,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						Registered {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							manager: ::sp_core::crypto::AccountId32,
-						},
-						#[codec(index = 1)]
-						Deregistered { para_id: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 2)]
-						Reserved {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							who: ::sp_core::crypto::AccountId32,
-						},
-						#[codec(index = 3)]
-						Swapped {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							other_id: runtime_types::polkadot_parachain::primitives::Id,
-						},
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParaInfo<_0, _1> {
-					pub manager: _0,
-					pub deposit: _1,
-					pub locked: ::core::primitive::bool,
-				}
-			}
-			pub mod paras_sudo_wrapper {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						sudo_schedule_para_initialize {
-							id: runtime_types::polkadot_parachain::primitives::Id,
-							genesis:
-								runtime_types::polkadot_runtime_parachains::paras::ParaGenesisArgs,
-						},
-						#[codec(index = 1)]
-						sudo_schedule_para_cleanup {
-							id: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 2)]
-						sudo_schedule_parathread_upgrade {
-							id: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 3)]
-						sudo_schedule_parachain_downgrade {
-							id: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 4)]
-						sudo_queue_downward_xcm {
-							id: runtime_types::polkadot_parachain::primitives::Id,
-							xcm: ::std::boxed::Box<runtime_types::xcm::VersionedXcm>,
-						},
-						#[codec(index = 5)]
-						sudo_establish_hrmp_channel {
-							sender: runtime_types::polkadot_parachain::primitives::Id,
-							recipient: runtime_types::polkadot_parachain::primitives::Id,
-							max_capacity: ::core::primitive::u32,
-							max_message_size: ::core::primitive::u32,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						ParaDoesntExist,
-						#[codec(index = 1)]
-						ParaAlreadyExists,
-						#[codec(index = 2)]
-						ExceedsMaxMessageSize,
-						#[codec(index = 3)]
-						CouldntCleanup,
-						#[codec(index = 4)]
-						NotParathread,
-						#[codec(index = 5)]
-						NotParachain,
-						#[codec(index = 6)]
-						CannotUpgrade,
-						#[codec(index = 7)]
-						CannotDowngrade,
-					}
-				}
-			}
-			pub mod slots {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						force_lease {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							leaser: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-							period_begin: ::core::primitive::u32,
-							period_count: ::core::primitive::u32,
-						},
-						#[codec(index = 1)]
-						clear_all_leases { para: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 2)]
-						trigger_onboard { para: runtime_types::polkadot_parachain::primitives::Id },
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						ParaNotOnboarding,
-						#[codec(index = 1)]
-						LeaseError,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						NewLeasePeriod { lease_period: ::core::primitive::u32 },
-						#[codec(index = 1)]
-						Leased {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							leaser: ::sp_core::crypto::AccountId32,
-							period_begin: ::core::primitive::u32,
-							period_count: ::core::primitive::u32,
-							extra_reserved: ::core::primitive::u128,
-							total_amount: ::core::primitive::u128,
-						},
-					}
-				}
-			}
-		}
-		pub mod polkadot_runtime_parachains {
-			use super::runtime_types;
-			pub mod configuration {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						# [codec (index = 0)] set_validation_upgrade_cooldown { new : :: core :: primitive :: u32 , } , # [codec (index = 1)] set_validation_upgrade_delay { new : :: core :: primitive :: u32 , } , # [codec (index = 2)] set_code_retention_period { new : :: core :: primitive :: u32 , } , # [codec (index = 3)] set_max_code_size { new : :: core :: primitive :: u32 , } , # [codec (index = 4)] set_max_pov_size { new : :: core :: primitive :: u32 , } , # [codec (index = 5)] set_max_head_data_size { new : :: core :: primitive :: u32 , } , # [codec (index = 6)] set_parathread_cores { new : :: core :: primitive :: u32 , } , # [codec (index = 7)] set_parathread_retries { new : :: core :: primitive :: u32 , } , # [codec (index = 8)] set_group_rotation_frequency { new : :: core :: primitive :: u32 , } , # [codec (index = 9)] set_chain_availability_period { new : :: core :: primitive :: u32 , } , # [codec (index = 10)] set_thread_availability_period { new : :: core :: primitive :: u32 , } , # [codec (index = 11)] set_scheduling_lookahead { new : :: core :: primitive :: u32 , } , # [codec (index = 12)] set_max_validators_per_core { new : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [codec (index = 13)] set_max_validators { new : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [codec (index = 14)] set_dispute_period { new : :: core :: primitive :: u32 , } , # [codec (index = 15)] set_dispute_post_conclusion_acceptance_period { new : :: core :: primitive :: u32 , } , # [codec (index = 18)] set_no_show_slots { new : :: core :: primitive :: u32 , } , # [codec (index = 19)] set_n_delay_tranches { new : :: core :: primitive :: u32 , } , # [codec (index = 20)] set_zeroth_delay_tranche_width { new : :: core :: primitive :: u32 , } , # [codec (index = 21)] set_needed_approvals { new : :: core :: primitive :: u32 , } , # [codec (index = 22)] set_relay_vrf_modulo_samples { new : :: core :: primitive :: u32 , } , # [codec (index = 23)] set_max_upward_queue_count { new : :: core :: primitive :: u32 , } , # [codec (index = 24)] set_max_upward_queue_size { new : :: core :: primitive :: u32 , } , # [codec (index = 25)] set_max_downward_message_size { new : :: core :: primitive :: u32 , } , # [codec (index = 27)] set_max_upward_message_size { new : :: core :: primitive :: u32 , } , # [codec (index = 28)] set_max_upward_message_num_per_candidate { new : :: core :: primitive :: u32 , } , # [codec (index = 29)] set_hrmp_open_request_ttl { new : :: core :: primitive :: u32 , } , # [codec (index = 30)] set_hrmp_sender_deposit { new : :: core :: primitive :: u128 , } , # [codec (index = 31)] set_hrmp_recipient_deposit { new : :: core :: primitive :: u128 , } , # [codec (index = 32)] set_hrmp_channel_max_capacity { new : :: core :: primitive :: u32 , } , # [codec (index = 33)] set_hrmp_channel_max_total_size { new : :: core :: primitive :: u32 , } , # [codec (index = 34)] set_hrmp_max_parachain_inbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 35)] set_hrmp_max_parathread_inbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 36)] set_hrmp_channel_max_message_size { new : :: core :: primitive :: u32 , } , # [codec (index = 37)] set_hrmp_max_parachain_outbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 38)] set_hrmp_max_parathread_outbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 39)] set_hrmp_max_message_num_per_candidate { new : :: core :: primitive :: u32 , } , # [codec (index = 41)] set_pvf_checking_enabled { new : :: core :: primitive :: bool , } , # [codec (index = 42)] set_pvf_voting_ttl { new : :: core :: primitive :: u32 , } , # [codec (index = 43)] set_minimum_validation_upgrade_delay { new : :: core :: primitive :: u32 , } , # [codec (index = 44)] set_bypass_consistency_check { new : :: core :: primitive :: bool , } , # [codec (index = 45)] set_async_backing_params { new : runtime_types :: polkadot_primitives :: vstaging :: AsyncBackingParams , } , # [codec (index = 46)] set_executor_params { new : runtime_types :: polkadot_primitives :: v4 :: executor_params :: ExecutorParams , } , }
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						InvalidNewValue,
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HostConfiguration<_0> {
-					pub max_code_size: _0,
-					pub max_head_data_size: _0,
-					pub max_upward_queue_count: _0,
-					pub max_upward_queue_size: _0,
-					pub max_upward_message_size: _0,
-					pub max_upward_message_num_per_candidate: _0,
-					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 hrmp_max_parachain_outbound_channels: _0,
-					pub hrmp_max_parathread_outbound_channels: _0,
-					pub hrmp_sender_deposit: ::core::primitive::u128,
-					pub hrmp_recipient_deposit: ::core::primitive::u128,
-					pub hrmp_channel_max_capacity: _0,
-					pub hrmp_channel_max_total_size: _0,
-					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,
-					pub group_rotation_frequency: _0,
-					pub chain_availability_period: _0,
-					pub thread_availability_period: _0,
-					pub scheduling_lookahead: _0,
-					pub max_validators_per_core: ::core::option::Option<_0>,
-					pub max_validators: ::core::option::Option<_0>,
-					pub dispute_period: _0,
-					pub dispute_post_conclusion_acceptance_period: _0,
-					pub no_show_slots: _0,
-					pub n_delay_tranches: _0,
-					pub zeroth_delay_tranche_width: _0,
-					pub needed_approvals: _0,
-					pub relay_vrf_modulo_samples: _0,
-					pub pvf_checking_enabled: ::core::primitive::bool,
-					pub pvf_voting_ttl: _0,
-					pub minimum_validation_upgrade_delay: _0,
-				}
-			}
-			pub mod disputes {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						force_unfreeze,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						DuplicateDisputeStatementSets,
-						#[codec(index = 1)]
-						AncientDisputeStatement,
-						#[codec(index = 2)]
-						ValidatorIndexOutOfBounds,
-						#[codec(index = 3)]
-						InvalidSignature,
-						#[codec(index = 4)]
-						DuplicateStatement,
-						#[codec(index = 5)]
-						SingleSidedDispute,
-						#[codec(index = 6)]
-						MaliciousBacker,
-						#[codec(index = 7)]
-						MissingBackingVotes,
-						#[codec(index = 8)]
-						UnconfirmedDispute,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						DisputeInitiated(
-							runtime_types::polkadot_core_primitives::CandidateHash,
-							runtime_types::polkadot_runtime_parachains::disputes::DisputeLocation,
-						),
-						#[codec(index = 1)]
-						DisputeConcluded(
-							runtime_types::polkadot_core_primitives::CandidateHash,
-							runtime_types::polkadot_runtime_parachains::disputes::DisputeResult,
-						),
-						#[codec(index = 2)]
-						Revert(::core::primitive::u32),
-					}
-				}
-				pub mod slashing {
-					use super::runtime_types;
-					pub mod pallet {
-						use super::runtime_types;
-						#[derive(
-							:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq,
-						)]
-						pub enum Call {
-							# [codec (index = 0)] report_dispute_lost_unsigned { dispute_proof : :: std :: boxed :: Box < runtime_types :: polkadot_runtime_parachains :: disputes :: slashing :: DisputeProof > , key_owner_proof : :: sp_session :: MembershipProof , } , }
-						#[derive(
-							:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq,
-						)]
-						pub enum Error {
-							#[codec(index = 0)]
-							InvalidKeyOwnershipProof,
-							#[codec(index = 1)]
-							InvalidSessionIndex,
-							#[codec(index = 2)]
-							InvalidCandidateHash,
-							#[codec(index = 3)]
-							InvalidValidatorIndex,
-							#[codec(index = 4)]
-							ValidatorIndexIdMismatch,
-							#[codec(index = 5)]
-							DuplicateSlashingReport,
-						}
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct DisputeProof { pub time_slot : runtime_types :: polkadot_runtime_parachains :: disputes :: slashing :: DisputesTimeSlot , pub kind : runtime_types :: polkadot_runtime_parachains :: disputes :: slashing :: SlashingOffenceKind , pub validator_index : runtime_types :: polkadot_primitives :: v4 :: ValidatorIndex , pub validator_id : runtime_types :: polkadot_primitives :: v4 :: validator_app :: Public , }
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct DisputesTimeSlot {
-						pub session_index: ::core::primitive::u32,
-						pub candidate_hash: runtime_types::polkadot_core_primitives::CandidateHash,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct PendingSlashes { pub keys : :: subxt :: utils :: KeyedVec < runtime_types :: polkadot_primitives :: v4 :: ValidatorIndex , runtime_types :: polkadot_primitives :: v4 :: validator_app :: Public > , pub kind : runtime_types :: polkadot_runtime_parachains :: disputes :: slashing :: SlashingOffenceKind , }
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum SlashingOffenceKind {
-						#[codec(index = 0)]
-						ForInvalid,
-						#[codec(index = 1)]
-						AgainstValid,
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum DisputeLocation {
-					#[codec(index = 0)]
-					Local,
-					#[codec(index = 1)]
-					Remote,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum DisputeResult {
-					#[codec(index = 0)]
-					Valid,
-					#[codec(index = 1)]
-					Invalid,
-				}
-			}
-			pub mod hrmp {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						hrmp_init_open_channel {
-							recipient: runtime_types::polkadot_parachain::primitives::Id,
-							proposed_max_capacity: ::core::primitive::u32,
-							proposed_max_message_size: ::core::primitive::u32,
-						},
-						#[codec(index = 1)]
-						hrmp_accept_open_channel {
-							sender: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 2)]
-						hrmp_close_channel {
-							channel_id:
-								runtime_types::polkadot_parachain::primitives::HrmpChannelId,
-						},
-						#[codec(index = 3)]
-						force_clean_hrmp {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							inbound: ::core::primitive::u32,
-							outbound: ::core::primitive::u32,
-						},
-						#[codec(index = 4)]
-						force_process_hrmp_open { channels: ::core::primitive::u32 },
-						#[codec(index = 5)]
-						force_process_hrmp_close { channels: ::core::primitive::u32 },
-						#[codec(index = 6)]
-						hrmp_cancel_open_request {
-							channel_id:
-								runtime_types::polkadot_parachain::primitives::HrmpChannelId,
-							open_requests: ::core::primitive::u32,
-						},
-						#[codec(index = 7)]
-						force_open_hrmp_channel {
-							sender: runtime_types::polkadot_parachain::primitives::Id,
-							recipient: runtime_types::polkadot_parachain::primitives::Id,
-							max_capacity: ::core::primitive::u32,
-							max_message_size: ::core::primitive::u32,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						OpenHrmpChannelToSelf,
-						#[codec(index = 1)]
-						OpenHrmpChannelInvalidRecipient,
-						#[codec(index = 2)]
-						OpenHrmpChannelZeroCapacity,
-						#[codec(index = 3)]
-						OpenHrmpChannelCapacityExceedsLimit,
-						#[codec(index = 4)]
-						OpenHrmpChannelZeroMessageSize,
-						#[codec(index = 5)]
-						OpenHrmpChannelMessageSizeExceedsLimit,
-						#[codec(index = 6)]
-						OpenHrmpChannelAlreadyExists,
-						#[codec(index = 7)]
-						OpenHrmpChannelAlreadyRequested,
-						#[codec(index = 8)]
-						OpenHrmpChannelLimitExceeded,
-						#[codec(index = 9)]
-						AcceptHrmpChannelDoesntExist,
-						#[codec(index = 10)]
-						AcceptHrmpChannelAlreadyConfirmed,
-						#[codec(index = 11)]
-						AcceptHrmpChannelLimitExceeded,
-						#[codec(index = 12)]
-						CloseHrmpChannelUnauthorized,
-						#[codec(index = 13)]
-						CloseHrmpChannelDoesntExist,
-						#[codec(index = 14)]
-						CloseHrmpChannelAlreadyUnderway,
-						#[codec(index = 15)]
-						CancelHrmpOpenChannelUnauthorized,
-						#[codec(index = 16)]
-						OpenHrmpChannelDoesntExist,
-						#[codec(index = 17)]
-						OpenHrmpChannelAlreadyConfirmed,
-						#[codec(index = 18)]
-						WrongWitness,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						OpenChannelRequested(
-							runtime_types::polkadot_parachain::primitives::Id,
-							runtime_types::polkadot_parachain::primitives::Id,
-							::core::primitive::u32,
-							::core::primitive::u32,
-						),
-						#[codec(index = 1)]
-						OpenChannelCanceled(
-							runtime_types::polkadot_parachain::primitives::Id,
-							runtime_types::polkadot_parachain::primitives::HrmpChannelId,
-						),
-						#[codec(index = 2)]
-						OpenChannelAccepted(
-							runtime_types::polkadot_parachain::primitives::Id,
-							runtime_types::polkadot_parachain::primitives::Id,
-						),
-						#[codec(index = 3)]
-						ChannelClosed(
-							runtime_types::polkadot_parachain::primitives::Id,
-							runtime_types::polkadot_parachain::primitives::HrmpChannelId,
-						),
-						#[codec(index = 4)]
-						HrmpChannelForceOpened(
-							runtime_types::polkadot_parachain::primitives::Id,
-							runtime_types::polkadot_parachain::primitives::Id,
-							::core::primitive::u32,
-							::core::primitive::u32,
-						),
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HrmpChannel {
-					pub max_capacity: ::core::primitive::u32,
-					pub max_total_size: ::core::primitive::u32,
-					pub max_message_size: ::core::primitive::u32,
-					pub msg_count: ::core::primitive::u32,
-					pub total_size: ::core::primitive::u32,
-					pub mqc_head: ::core::option::Option<::subxt::utils::H256>,
-					pub sender_deposit: ::core::primitive::u128,
-					pub recipient_deposit: ::core::primitive::u128,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HrmpOpenChannelRequest {
-					pub confirmed: ::core::primitive::bool,
-					pub _age: ::core::primitive::u32,
-					pub sender_deposit: ::core::primitive::u128,
-					pub max_message_size: ::core::primitive::u32,
-					pub max_capacity: ::core::primitive::u32,
-					pub max_total_size: ::core::primitive::u32,
-				}
-			}
-			pub mod inclusion {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						UnsortedOrDuplicateValidatorIndices,
-						#[codec(index = 1)]
-						UnsortedOrDuplicateDisputeStatementSet,
-						#[codec(index = 2)]
-						UnsortedOrDuplicateBackedCandidates,
-						#[codec(index = 3)]
-						UnexpectedRelayParent,
-						#[codec(index = 4)]
-						WrongBitfieldSize,
-						#[codec(index = 5)]
-						BitfieldAllZeros,
-						#[codec(index = 6)]
-						BitfieldDuplicateOrUnordered,
-						#[codec(index = 7)]
-						ValidatorIndexOutOfBounds,
-						#[codec(index = 8)]
-						InvalidBitfieldSignature,
-						#[codec(index = 9)]
-						UnscheduledCandidate,
-						#[codec(index = 10)]
-						CandidateScheduledBeforeParaFree,
-						#[codec(index = 11)]
-						WrongCollator,
-						#[codec(index = 12)]
-						ScheduledOutOfOrder,
-						#[codec(index = 13)]
-						HeadDataTooLarge,
-						#[codec(index = 14)]
-						PrematureCodeUpgrade,
-						#[codec(index = 15)]
-						NewCodeTooLarge,
-						#[codec(index = 16)]
-						CandidateNotInParentContext,
-						#[codec(index = 17)]
-						InvalidGroupIndex,
-						#[codec(index = 18)]
-						InsufficientBacking,
-						#[codec(index = 19)]
-						InvalidBacking,
-						#[codec(index = 20)]
-						NotCollatorSigned,
-						#[codec(index = 21)]
-						ValidationDataHashMismatch,
-						#[codec(index = 22)]
-						IncorrectDownwardMessageHandling,
-						#[codec(index = 23)]
-						InvalidUpwardMessages,
-						#[codec(index = 24)]
-						HrmpWatermarkMishandling,
-						#[codec(index = 25)]
-						InvalidOutboundHrmp,
-						#[codec(index = 26)]
-						InvalidValidationCodeHash,
-						#[codec(index = 27)]
-						ParaHeadMismatch,
-						#[codec(index = 28)]
-						BitfieldReferencesFreedCore,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						CandidateBacked(
-							runtime_types::polkadot_primitives::v4::CandidateReceipt<
-								::subxt::utils::H256,
-							>,
-							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<
-								::subxt::utils::H256,
-							>,
-							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<
-								::subxt::utils::H256,
-							>,
-							runtime_types::polkadot_parachain::primitives::HeadData,
-							runtime_types::polkadot_primitives::v4::CoreIndex,
-						),
-						#[codec(index = 3)]
-						UpwardMessagesReceived {
-							from: runtime_types::polkadot_parachain::primitives::Id,
-							count: ::core::primitive::u32,
-						},
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum AggregateMessageOrigin {
-					#[codec(index = 0)]
-					Ump(runtime_types::polkadot_runtime_parachains::inclusion::UmpQueueId),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AvailabilityBitfieldRecord<_0> {
-					pub bitfield: runtime_types::polkadot_primitives::v4::AvailabilityBitfield,
-					pub submitted_at: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CandidatePendingAvailability<_0, _1> {
-					pub core: runtime_types::polkadot_primitives::v4::CoreIndex,
-					pub hash: runtime_types::polkadot_core_primitives::CandidateHash,
-					pub descriptor: runtime_types::polkadot_primitives::v4::CandidateDescriptor<_0>,
-					pub availability_votes: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-					pub backers: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-					pub relay_parent_number: _1,
-					pub backed_in_number: _1,
-					pub backing_group: runtime_types::polkadot_primitives::v4::GroupIndex,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum UmpQueueId {
-					#[codec(index = 0)]
-					Para(runtime_types::polkadot_parachain::primitives::Id),
-				}
-			}
-			pub mod initializer {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						force_approve { up_to: ::core::primitive::u32 },
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BufferedSessionChange {
-					pub validators: ::std::vec::Vec<
-						runtime_types::polkadot_primitives::v4::validator_app::Public,
-					>,
-					pub queued: ::std::vec::Vec<
-						runtime_types::polkadot_primitives::v4::validator_app::Public,
-					>,
-					pub session_index: ::core::primitive::u32,
-				}
-			}
-			pub mod origin {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Origin {
-						#[codec(index = 0)]
-						Parachain(runtime_types::polkadot_parachain::primitives::Id),
-					}
-				}
-			}
-			pub mod paras {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						force_set_current_code {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							new_code: runtime_types::polkadot_parachain::primitives::ValidationCode,
-						},
-						#[codec(index = 1)]
-						force_set_current_head {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							new_head: runtime_types::polkadot_parachain::primitives::HeadData,
-						},
-						#[codec(index = 2)]
-						force_schedule_code_upgrade {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							new_code: runtime_types::polkadot_parachain::primitives::ValidationCode,
-							relay_parent_number: ::core::primitive::u32,
-						},
-						#[codec(index = 3)]
-						force_note_new_head {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							new_head: runtime_types::polkadot_parachain::primitives::HeadData,
-						},
-						#[codec(index = 4)]
-						force_queue_action {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 5)]
-						add_trusted_validation_code {
-							validation_code:
-								runtime_types::polkadot_parachain::primitives::ValidationCode,
-						},
-						#[codec(index = 6)]
-						poke_unused_validation_code {
-							validation_code_hash:
-								runtime_types::polkadot_parachain::primitives::ValidationCodeHash,
-						},
-						#[codec(index = 7)]
-						include_pvf_check_statement {
-							stmt: runtime_types::polkadot_primitives::v4::PvfCheckStatement,
-							signature:
-								runtime_types::polkadot_primitives::v4::validator_app::Signature,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						NotRegistered,
-						#[codec(index = 1)]
-						CannotOnboard,
-						#[codec(index = 2)]
-						CannotOffboard,
-						#[codec(index = 3)]
-						CannotUpgrade,
-						#[codec(index = 4)]
-						CannotDowngrade,
-						#[codec(index = 5)]
-						PvfCheckStatementStale,
-						#[codec(index = 6)]
-						PvfCheckStatementFuture,
-						#[codec(index = 7)]
-						PvfCheckValidatorIndexOutOfBounds,
-						#[codec(index = 8)]
-						PvfCheckInvalidSignature,
-						#[codec(index = 9)]
-						PvfCheckDoubleVote,
-						#[codec(index = 10)]
-						PvfCheckSubjectInvalid,
-						#[codec(index = 11)]
-						CannotUpgradeCode,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						CurrentCodeUpdated(runtime_types::polkadot_parachain::primitives::Id),
-						#[codec(index = 1)]
-						CurrentHeadUpdated(runtime_types::polkadot_parachain::primitives::Id),
-						#[codec(index = 2)]
-						CodeUpgradeScheduled(runtime_types::polkadot_parachain::primitives::Id),
-						#[codec(index = 3)]
-						NewHeadNoted(runtime_types::polkadot_parachain::primitives::Id),
-						#[codec(index = 4)]
-						ActionQueued(
-							runtime_types::polkadot_parachain::primitives::Id,
-							::core::primitive::u32,
-						),
-						#[codec(index = 5)]
-						PvfCheckStarted(
-							runtime_types::polkadot_parachain::primitives::ValidationCodeHash,
-							runtime_types::polkadot_parachain::primitives::Id,
-						),
-						#[codec(index = 6)]
-						PvfCheckAccepted(
-							runtime_types::polkadot_parachain::primitives::ValidationCodeHash,
-							runtime_types::polkadot_parachain::primitives::Id,
-						),
-						#[codec(index = 7)]
-						PvfCheckRejected(
-							runtime_types::polkadot_parachain::primitives::ValidationCodeHash,
-							runtime_types::polkadot_parachain::primitives::Id,
-						),
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParaGenesisArgs {
-					pub genesis_head: runtime_types::polkadot_parachain::primitives::HeadData,
-					pub validation_code:
-						runtime_types::polkadot_parachain::primitives::ValidationCode,
-					pub para_kind: ::core::primitive::bool,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum ParaLifecycle {
-					#[codec(index = 0)]
-					Onboarding,
-					#[codec(index = 1)]
-					Parathread,
-					#[codec(index = 2)]
-					Parachain,
-					#[codec(index = 3)]
-					UpgradingParathread,
-					#[codec(index = 4)]
-					DowngradingParachain,
-					#[codec(index = 5)]
-					OffboardingParathread,
-					#[codec(index = 6)]
-					OffboardingParachain,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParaPastCodeMeta<_0> {
-					pub upgrade_times: ::std::vec::Vec<
-						runtime_types::polkadot_runtime_parachains::paras::ReplacementTimes<_0>,
-					>,
-					pub last_pruned: ::core::option::Option<_0>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PvfCheckActiveVoteState<_0> {
-					pub votes_accept: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-					pub votes_reject: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-					pub age: _0,
-					pub created_at: _0,
-					pub causes: ::std::vec::Vec<
-						runtime_types::polkadot_runtime_parachains::paras::PvfCheckCause<_0>,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum PvfCheckCause<_0> {
-					#[codec(index = 0)]
-					Onboarding(runtime_types::polkadot_parachain::primitives::Id),
-					#[codec(index = 1)]
-					Upgrade {
-						id: runtime_types::polkadot_parachain::primitives::Id,
-						relay_parent_number: _0,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ReplacementTimes<_0> {
-					pub expected_at: _0,
-					pub activated_at: _0,
-				}
-			}
-			pub mod paras_inherent {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						enter {
-							data: runtime_types::polkadot_primitives::v4::InherentData<
-								::sp_runtime::generic::Header<
-									::core::primitive::u32,
-									::sp_runtime::traits::BlakeTwo256,
-								>,
-							>,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						TooManyInclusionInherents,
-						#[codec(index = 1)]
-						InvalidParentHeader,
-						#[codec(index = 2)]
-						CandidateConcludedInvalid,
-						#[codec(index = 3)]
-						InherentOverweight,
-						#[codec(index = 4)]
-						DisputeStatementsUnsortedOrDuplicates,
-						#[codec(index = 5)]
-						DisputeInvalid,
-					}
-				}
-			}
-			pub mod scheduler {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum AssignmentKind {
-					#[codec(index = 0)]
-					Parachain,
-					#[codec(index = 1)]
-					Parathread(
-						runtime_types::polkadot_primitives::v4::collator_app::Public,
-						::core::primitive::u32,
-					),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CoreAssignment {
-					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::v4::GroupIndex,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParathreadClaimQueue {
-					pub queue: ::std::vec::Vec<
-						runtime_types::polkadot_runtime_parachains::scheduler::QueuedParathread,
-					>,
-					pub next_core_offset: ::core::primitive::u32,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct QueuedParathread {
-					pub claim: runtime_types::polkadot_primitives::v4::ParathreadEntry,
-					pub core_offset: ::core::primitive::u32,
-				}
-			}
-			pub mod shared {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {}
-				}
-			}
-		}
-		pub mod rococo_runtime {
-			use super::runtime_types;
-			pub mod validator_manager {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						register_validators {
-							validators: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						},
-						#[codec(index = 1)]
-						deregister_validators {
-							validators: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						ValidatorsRegistered(::std::vec::Vec<::sp_core::crypto::AccountId32>),
-						#[codec(index = 1)]
-						ValidatorsDeregistered(::std::vec::Vec<::sp_core::crypto::AccountId32>),
-					}
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum OriginCaller {
-				#[codec(index = 0)]
-				system(
-					runtime_types::frame_support::dispatch::RawOrigin<
-						::sp_core::crypto::AccountId32,
-					>,
-				),
-				#[codec(index = 14)]
-				Council(
-					runtime_types::pallet_collective::RawOrigin<::sp_core::crypto::AccountId32>,
-				),
-				#[codec(index = 15)]
-				TechnicalCommittee(
-					runtime_types::pallet_collective::RawOrigin<::sp_core::crypto::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),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ProxyType {
-				#[codec(index = 0)]
-				Any,
-				#[codec(index = 1)]
-				NonTransfer,
-				#[codec(index = 2)]
-				Governance,
-				#[codec(index = 3)]
-				IdentityJudgement,
-				#[codec(index = 4)]
-				CancelProxy,
-				#[codec(index = 5)]
-				Auction,
-				#[codec(index = 6)]
-				Society,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Runtime;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeCall {
-				#[codec(index = 0)]
-				System(runtime_types::frame_system::pallet::Call),
-				#[codec(index = 1)]
-				Babe(runtime_types::pallet_babe::pallet::Call),
-				#[codec(index = 2)]
-				Timestamp(runtime_types::pallet_timestamp::pallet::Call),
-				#[codec(index = 3)]
-				Indices(runtime_types::pallet_indices::pallet::Call),
-				#[codec(index = 4)]
-				Balances(runtime_types::pallet_balances::pallet::Call),
-				#[codec(index = 8)]
-				Session(runtime_types::pallet_session::pallet::Call),
-				#[codec(index = 10)]
-				Grandpa(runtime_types::pallet_grandpa::pallet::Call),
-				#[codec(index = 11)]
-				ImOnline(runtime_types::pallet_im_online::pallet::Call),
-				#[codec(index = 13)]
-				Democracy(runtime_types::pallet_democracy::pallet::Call),
-				#[codec(index = 14)]
-				Council(runtime_types::pallet_collective::pallet::Call),
-				#[codec(index = 15)]
-				TechnicalCommittee(runtime_types::pallet_collective::pallet::Call),
-				#[codec(index = 16)]
-				PhragmenElection(runtime_types::pallet_elections_phragmen::pallet::Call),
-				#[codec(index = 17)]
-				TechnicalMembership(runtime_types::pallet_membership::pallet::Call),
-				#[codec(index = 18)]
-				Treasury(runtime_types::pallet_treasury::pallet::Call),
-				#[codec(index = 19)]
-				Claims(runtime_types::polkadot_runtime_common::claims::pallet::Call),
-				#[codec(index = 24)]
-				Utility(runtime_types::pallet_utility::pallet::Call),
-				#[codec(index = 25)]
-				Identity(runtime_types::pallet_identity::pallet::Call),
-				#[codec(index = 26)]
-				Society(runtime_types::pallet_society::pallet::Call),
-				#[codec(index = 27)]
-				Recovery(runtime_types::pallet_recovery::pallet::Call),
-				#[codec(index = 28)]
-				Vesting(runtime_types::pallet_vesting::pallet::Call),
-				#[codec(index = 29)]
-				Scheduler(runtime_types::pallet_scheduler::pallet::Call),
-				#[codec(index = 30)]
-				Proxy(runtime_types::pallet_proxy::pallet::Call),
-				#[codec(index = 31)]
-				Multisig(runtime_types::pallet_multisig::pallet::Call),
-				#[codec(index = 32)]
-				Preimage(runtime_types::pallet_preimage::pallet::Call),
-				#[codec(index = 35)]
-				Bounties(runtime_types::pallet_bounties::pallet::Call),
-				#[codec(index = 40)]
-				ChildBounties(runtime_types::pallet_child_bounties::pallet::Call),
-				#[codec(index = 36)]
-				Tips(runtime_types::pallet_tips::pallet::Call),
-				#[codec(index = 38)]
-				Nis(runtime_types::pallet_nis::pallet::Call),
-				#[codec(index = 45)]
-				NisCounterpartBalances(runtime_types::pallet_balances::pallet::Call),
-				#[codec(index = 51)]
-				Configuration(
-					runtime_types::polkadot_runtime_parachains::configuration::pallet::Call,
-				),
-				#[codec(index = 52)]
-				ParasShared(runtime_types::polkadot_runtime_parachains::shared::pallet::Call),
-				#[codec(index = 53)]
-				ParaInclusion(runtime_types::polkadot_runtime_parachains::inclusion::pallet::Call),
-				#[codec(index = 54)]
-				ParaInherent(
-					runtime_types::polkadot_runtime_parachains::paras_inherent::pallet::Call,
-				),
-				#[codec(index = 56)]
-				Paras(runtime_types::polkadot_runtime_parachains::paras::pallet::Call),
-				#[codec(index = 57)]
-				Initializer(runtime_types::polkadot_runtime_parachains::initializer::pallet::Call),
-				#[codec(index = 60)]
-				Hrmp(runtime_types::polkadot_runtime_parachains::hrmp::pallet::Call),
-				#[codec(index = 62)]
-				ParasDisputes(runtime_types::polkadot_runtime_parachains::disputes::pallet::Call),
-				#[codec(index = 63)]
-				ParasSlashing(
-					runtime_types::polkadot_runtime_parachains::disputes::slashing::pallet::Call,
-				),
-				#[codec(index = 64)]
-				MessageQueue(runtime_types::pallet_message_queue::pallet::Call),
-				#[codec(index = 70)]
-				Registrar(runtime_types::polkadot_runtime_common::paras_registrar::pallet::Call),
-				#[codec(index = 71)]
-				Slots(runtime_types::polkadot_runtime_common::slots::pallet::Call),
-				#[codec(index = 72)]
-				Auctions(runtime_types::polkadot_runtime_common::auctions::pallet::Call),
-				#[codec(index = 73)]
-				Crowdloan(runtime_types::polkadot_runtime_common::crowdloan::pallet::Call),
-				#[codec(index = 99)]
-				XcmPallet(runtime_types::pallet_xcm::pallet::Call),
-				#[codec(index = 240)]
-				Beefy(runtime_types::pallet_beefy::pallet::Call),
-				#[codec(index = 250)]
-				ParasSudoWrapper(
-					runtime_types::polkadot_runtime_common::paras_sudo_wrapper::pallet::Call,
-				),
-				#[codec(index = 251)]
-				AssignedSlots(runtime_types::polkadot_runtime_common::assigned_slots::pallet::Call),
-				#[codec(index = 252)]
-				ValidatorManager(runtime_types::rococo_runtime::validator_manager::pallet::Call),
-				#[codec(index = 254)]
-				StateTrieMigration(runtime_types::pallet_state_trie_migration::pallet::Call),
-				#[codec(index = 255)]
-				Sudo(runtime_types::pallet_sudo::pallet::Call),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeEvent {
-				#[codec(index = 0)]
-				System(runtime_types::frame_system::pallet::Event),
-				#[codec(index = 3)]
-				Indices(runtime_types::pallet_indices::pallet::Event),
-				#[codec(index = 4)]
-				Balances(runtime_types::pallet_balances::pallet::Event),
-				#[codec(index = 33)]
-				TransactionPayment(runtime_types::pallet_transaction_payment::pallet::Event),
-				#[codec(index = 7)]
-				Offences(runtime_types::pallet_offences::pallet::Event),
-				#[codec(index = 8)]
-				Session(runtime_types::pallet_session::pallet::Event),
-				#[codec(index = 10)]
-				Grandpa(runtime_types::pallet_grandpa::pallet::Event),
-				#[codec(index = 11)]
-				ImOnline(runtime_types::pallet_im_online::pallet::Event),
-				#[codec(index = 13)]
-				Democracy(runtime_types::pallet_democracy::pallet::Event),
-				#[codec(index = 14)]
-				Council(runtime_types::pallet_collective::pallet::Event),
-				#[codec(index = 15)]
-				TechnicalCommittee(runtime_types::pallet_collective::pallet::Event),
-				#[codec(index = 16)]
-				PhragmenElection(runtime_types::pallet_elections_phragmen::pallet::Event),
-				#[codec(index = 17)]
-				TechnicalMembership(runtime_types::pallet_membership::pallet::Event),
-				#[codec(index = 18)]
-				Treasury(runtime_types::pallet_treasury::pallet::Event),
-				#[codec(index = 19)]
-				Claims(runtime_types::polkadot_runtime_common::claims::pallet::Event),
-				#[codec(index = 24)]
-				Utility(runtime_types::pallet_utility::pallet::Event),
-				#[codec(index = 25)]
-				Identity(runtime_types::pallet_identity::pallet::Event),
-				#[codec(index = 26)]
-				Society(runtime_types::pallet_society::pallet::Event),
-				#[codec(index = 27)]
-				Recovery(runtime_types::pallet_recovery::pallet::Event),
-				#[codec(index = 28)]
-				Vesting(runtime_types::pallet_vesting::pallet::Event),
-				#[codec(index = 29)]
-				Scheduler(runtime_types::pallet_scheduler::pallet::Event),
-				#[codec(index = 30)]
-				Proxy(runtime_types::pallet_proxy::pallet::Event),
-				#[codec(index = 31)]
-				Multisig(runtime_types::pallet_multisig::pallet::Event),
-				#[codec(index = 32)]
-				Preimage(runtime_types::pallet_preimage::pallet::Event),
-				#[codec(index = 35)]
-				Bounties(runtime_types::pallet_bounties::pallet::Event),
-				#[codec(index = 40)]
-				ChildBounties(runtime_types::pallet_child_bounties::pallet::Event),
-				#[codec(index = 36)]
-				Tips(runtime_types::pallet_tips::pallet::Event),
-				#[codec(index = 38)]
-				Nis(runtime_types::pallet_nis::pallet::Event),
-				#[codec(index = 45)]
-				NisCounterpartBalances(runtime_types::pallet_balances::pallet::Event),
-				#[codec(index = 53)]
-				ParaInclusion(runtime_types::polkadot_runtime_parachains::inclusion::pallet::Event),
-				#[codec(index = 56)]
-				Paras(runtime_types::polkadot_runtime_parachains::paras::pallet::Event),
-				#[codec(index = 60)]
-				Hrmp(runtime_types::polkadot_runtime_parachains::hrmp::pallet::Event),
-				#[codec(index = 62)]
-				ParasDisputes(runtime_types::polkadot_runtime_parachains::disputes::pallet::Event),
-				#[codec(index = 64)]
-				MessageQueue(runtime_types::pallet_message_queue::pallet::Event),
-				#[codec(index = 70)]
-				Registrar(runtime_types::polkadot_runtime_common::paras_registrar::pallet::Event),
-				#[codec(index = 71)]
-				Slots(runtime_types::polkadot_runtime_common::slots::pallet::Event),
-				#[codec(index = 72)]
-				Auctions(runtime_types::polkadot_runtime_common::auctions::pallet::Event),
-				#[codec(index = 73)]
-				Crowdloan(runtime_types::polkadot_runtime_common::crowdloan::pallet::Event),
-				#[codec(index = 99)]
-				XcmPallet(runtime_types::pallet_xcm::pallet::Event),
-				#[codec(index = 251)]
-				AssignedSlots(
-					runtime_types::polkadot_runtime_common::assigned_slots::pallet::Event,
-				),
-				#[codec(index = 252)]
-				ValidatorManager(runtime_types::rococo_runtime::validator_manager::pallet::Event),
-				#[codec(index = 254)]
-				StateTrieMigration(runtime_types::pallet_state_trie_migration::pallet::Event),
-				#[codec(index = 255)]
-				Sudo(runtime_types::pallet_sudo::pallet::Event),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeHoldReason {
-				#[codec(index = 38)]
-				Nis(runtime_types::pallet_nis::pallet::HoldReason),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct SessionKeys {
-				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::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,
-				pub beefy: runtime_types::sp_consensus_beefy::crypto::Public,
-			}
-		}
-		pub mod sp_arithmetic {
-			use super::runtime_types;
-			pub mod fixed_point {
-				use super::runtime_types;
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct FixedU128(pub ::core::primitive::u128);
-			}
-			pub mod per_things {
-				use super::runtime_types;
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct Percent(pub ::core::primitive::u8);
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct Permill(pub ::core::primitive::u32);
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct Perquintill(pub ::core::primitive::u64);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ArithmeticError {
-				#[codec(index = 0)]
-				Underflow,
-				#[codec(index = 1)]
-				Overflow,
-				#[codec(index = 2)]
-				DivisionByZero,
-			}
-		}
-		pub mod sp_authority_discovery {
-			use super::runtime_types;
-			pub mod app {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-			}
-		}
-		pub mod sp_consensus_babe {
-			use super::runtime_types;
-			pub mod app {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-			}
-			pub mod digests {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum NextConfigDescriptor {
-					#[codec(index = 1)]
-					V1 {
-						c: (::core::primitive::u64, ::core::primitive::u64),
-						allowed_slots: runtime_types::sp_consensus_babe::AllowedSlots,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum PreDigest {
-					#[codec(index = 1)]
-					Primary(runtime_types::sp_consensus_babe::digests::PrimaryPreDigest),
-					#[codec(index = 2)]
-					SecondaryPlain(
-						runtime_types::sp_consensus_babe::digests::SecondaryPlainPreDigest,
-					),
-					#[codec(index = 3)]
-					SecondaryVRF(runtime_types::sp_consensus_babe::digests::SecondaryVRFPreDigest),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PrimaryPreDigest {
-					pub authority_index: ::core::primitive::u32,
-					pub slot: runtime_types::sp_consensus_slots::Slot,
-					pub vrf_signature: runtime_types::sp_core::sr25519::vrf::VrfSignature,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SecondaryPlainPreDigest {
-					pub authority_index: ::core::primitive::u32,
-					pub slot: runtime_types::sp_consensus_slots::Slot,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SecondaryVRFPreDigest {
-					pub authority_index: ::core::primitive::u32,
-					pub slot: runtime_types::sp_consensus_slots::Slot,
-					pub vrf_signature: runtime_types::sp_core::sr25519::vrf::VrfSignature,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum AllowedSlots {
-				#[codec(index = 0)]
-				PrimarySlots,
-				#[codec(index = 1)]
-				PrimaryAndSecondaryPlainSlots,
-				#[codec(index = 2)]
-				PrimaryAndSecondaryVRFSlots,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BabeEpochConfiguration {
-				pub c: (::core::primitive::u64, ::core::primitive::u64),
-				pub allowed_slots: runtime_types::sp_consensus_babe::AllowedSlots,
-			}
-		}
-		pub mod sp_consensus_beefy {
-			use super::runtime_types;
-			pub mod commitment {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub runtime_types::sp_core::ecdsa::Public);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub runtime_types::sp_core::ecdsa::Signature);
-			}
-			pub mod mmr {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BeefyAuthoritySet<_0> {
-					pub id: ::core::primitive::u64,
-					pub len: ::core::primitive::u32,
-					pub root: _0,
-				}
-			}
-			pub mod payload {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Payload(
-					pub  ::std::vec::Vec<(
-						[::core::primitive::u8; 2usize],
-						::std::vec::Vec<::core::primitive::u8>,
-					)>,
-				);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			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;
-			pub mod app {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub runtime_types::sp_core::ed25519::Public);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub runtime_types::sp_core::ed25519::Signature);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			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,
-					>,
-				),
-			}
-		}
-		pub mod sp_consensus_slots {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct EquivocationProof<_0, _1> {
-				pub offender: _1,
-				pub slot: runtime_types::sp_consensus_slots::Slot,
-				pub first_header: _0,
-				pub second_header: _0,
-			}
-			#[derive(
-				:: codec :: Decode,
-				:: codec :: Encode,
-				:: subxt :: ext :: codec :: CompactAs,
-				Clone,
-				Debug,
-				PartialEq,
-			)]
-			pub struct Slot(pub ::core::primitive::u64);
-		}
-		pub mod sp_core {
-			use super::runtime_types;
-			pub mod crypto {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct KeyTypeId(pub [::core::primitive::u8; 4usize]);
-			}
-			pub mod ecdsa {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub [::core::primitive::u8; 33usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 65usize]);
-			}
-			pub mod ed25519 {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub [::core::primitive::u8; 32usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 64usize]);
-			}
-			pub mod offchain {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct OpaqueMultiaddr(pub ::std::vec::Vec<::core::primitive::u8>);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct OpaqueNetworkState {
-					pub peer_id: runtime_types::sp_core::OpaquePeerId,
-					pub external_addresses:
-						::std::vec::Vec<runtime_types::sp_core::offchain::OpaqueMultiaddr>,
-				}
-			}
-			pub mod sr25519 {
-				use super::runtime_types;
-				pub mod vrf {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct VrfSignature {
-						pub output: [::core::primitive::u8; 32usize],
-						pub proof: [::core::primitive::u8; 64usize],
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub [::core::primitive::u8; 32usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 64usize]);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OpaquePeerId(pub ::std::vec::Vec<::core::primitive::u8>);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Void {}
-		}
-		pub mod sp_runtime {
-			use super::runtime_types;
-			pub mod generic {
-				use super::runtime_types;
-				pub mod digest {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum DigestItem {
-						#[codec(index = 6)]
-						PreRuntime(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 4)]
-						Consensus(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 5)]
-						Seal(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 0)]
-						Other(::std::vec::Vec<::core::primitive::u8>),
-						#[codec(index = 8)]
-						RuntimeEnvironmentUpdated,
-					}
-				}
-				pub mod unchecked_extrinsic {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct UncheckedExtrinsic<_0, _1, _2, _3>(
-						pub ::std::vec::Vec<::core::primitive::u8>,
-						#[codec(skip)] pub ::core::marker::PhantomData<(_0, _1, _2, _3)>,
-					);
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum DispatchError {
-				#[codec(index = 0)]
-				Other,
-				#[codec(index = 1)]
-				CannotLookup,
-				#[codec(index = 2)]
-				BadOrigin,
-				#[codec(index = 3)]
-				Module(runtime_types::sp_runtime::ModuleError),
-				#[codec(index = 4)]
-				ConsumerRemaining,
-				#[codec(index = 5)]
-				NoProviders,
-				#[codec(index = 6)]
-				TooManyConsumers,
-				#[codec(index = 7)]
-				Token(runtime_types::sp_runtime::TokenError),
-				#[codec(index = 8)]
-				Arithmetic(runtime_types::sp_arithmetic::ArithmeticError),
-				#[codec(index = 9)]
-				Transactional(runtime_types::sp_runtime::TransactionalError),
-				#[codec(index = 10)]
-				Exhausted,
-				#[codec(index = 11)]
-				Corruption,
-				#[codec(index = 12)]
-				Unavailable,
-				#[codec(index = 13)]
-				RootNotAllowed,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ModuleError {
-				pub index: ::core::primitive::u8,
-				pub error: [::core::primitive::u8; 4usize],
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum MultiSignature {
-				#[codec(index = 0)]
-				Ed25519(runtime_types::sp_core::ed25519::Signature),
-				#[codec(index = 1)]
-				Sr25519(runtime_types::sp_core::sr25519::Signature),
-				#[codec(index = 2)]
-				Ecdsa(runtime_types::sp_core::ecdsa::Signature),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum MultiSigner {
-				#[codec(index = 0)]
-				Ed25519(runtime_types::sp_core::ed25519::Public),
-				#[codec(index = 1)]
-				Sr25519(runtime_types::sp_core::sr25519::Public),
-				#[codec(index = 2)]
-				Ecdsa(runtime_types::sp_core::ecdsa::Public),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum TokenError {
-				#[codec(index = 0)]
-				FundsUnavailable,
-				#[codec(index = 1)]
-				OnlyProvider,
-				#[codec(index = 2)]
-				BelowMinimum,
-				#[codec(index = 3)]
-				CannotCreate,
-				#[codec(index = 4)]
-				UnknownAsset,
-				#[codec(index = 5)]
-				Frozen,
-				#[codec(index = 6)]
-				Unsupported,
-				#[codec(index = 7)]
-				CannotCreateHold,
-				#[codec(index = 8)]
-				NotExpendable,
-				#[codec(index = 9)]
-				Blocked,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum TransactionalError {
-				#[codec(index = 0)]
-				LimitReached,
-				#[codec(index = 1)]
-				NoLayer,
-			}
-		}
-		pub mod sp_staking {
-			use super::runtime_types;
-			pub mod offence {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct OffenceDetails<_0, _1> {
-					pub offender: _1,
-					pub reporters: ::std::vec::Vec<_0>,
-				}
-			}
-		}
-		pub mod sp_version {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RuntimeVersion {
-				pub spec_name: ::std::string::String,
-				pub impl_name: ::std::string::String,
-				pub authoring_version: ::core::primitive::u32,
-				pub spec_version: ::core::primitive::u32,
-				pub impl_version: ::core::primitive::u32,
-				pub apis:
-					::std::vec::Vec<([::core::primitive::u8; 8usize], ::core::primitive::u32)>,
-				pub transaction_version: ::core::primitive::u32,
-				pub state_version: ::core::primitive::u8,
-			}
-		}
-		pub mod sp_weights {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RuntimeDbWeight {
-				pub read: ::core::primitive::u64,
-				pub write: ::core::primitive::u64,
-			}
-		}
-		pub mod xcm {
-			use super::runtime_types;
-			pub mod double_encoded {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DoubleEncoded {
-					pub encoded: ::std::vec::Vec<::core::primitive::u8>,
-				}
-			}
-			pub mod v2 {
-				use super::runtime_types;
-				pub mod junction {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junction {
-						#[codec(index = 0)]
-						Parachain(#[codec(compact)] ::core::primitive::u32),
-						#[codec(index = 1)]
-						AccountId32 {
-							network: runtime_types::xcm::v2::NetworkId,
-							id: [::core::primitive::u8; 32usize],
-						},
-						#[codec(index = 2)]
-						AccountIndex64 {
-							network: runtime_types::xcm::v2::NetworkId,
-							#[codec(compact)]
-							index: ::core::primitive::u64,
-						},
-						#[codec(index = 3)]
-						AccountKey20 {
-							network: runtime_types::xcm::v2::NetworkId,
-							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(
-							runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<
-								::core::primitive::u8,
-							>,
-						),
-						#[codec(index = 7)]
-						OnlyChild,
-						#[codec(index = 8)]
-						Plurality {
-							id: runtime_types::xcm::v2::BodyId,
-							part: runtime_types::xcm::v2::BodyPart,
-						},
-					}
-				}
-				pub mod multiasset {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum AssetId {
-						#[codec(index = 0)]
-						Concrete(runtime_types::xcm::v2::multilocation::MultiLocation),
-						#[codec(index = 1)]
-						Abstract(::std::vec::Vec<::core::primitive::u8>),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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]),
-						#[codec(index = 6)]
-						Blob(::std::vec::Vec<::core::primitive::u8>),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Fungibility {
-						#[codec(index = 0)]
-						Fungible(#[codec(compact)] ::core::primitive::u128),
-						#[codec(index = 1)]
-						NonFungible(runtime_types::xcm::v2::multiasset::AssetInstance),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAsset {
-						pub id: runtime_types::xcm::v2::multiasset::AssetId,
-						pub fun: runtime_types::xcm::v2::multiasset::Fungibility,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum MultiAssetFilter {
-						#[codec(index = 0)]
-						Definite(runtime_types::xcm::v2::multiasset::MultiAssets),
-						#[codec(index = 1)]
-						Wild(runtime_types::xcm::v2::multiasset::WildMultiAsset),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAssets(
-						pub ::std::vec::Vec<runtime_types::xcm::v2::multiasset::MultiAsset>,
-					);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildFungibility {
-						#[codec(index = 0)]
-						Fungible,
-						#[codec(index = 1)]
-						NonFungible,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildMultiAsset {
-						#[codec(index = 0)]
-						All,
-						#[codec(index = 1)]
-						AllOf {
-							id: runtime_types::xcm::v2::multiasset::AssetId,
-							fun: runtime_types::xcm::v2::multiasset::WildFungibility,
-						},
-					}
-				}
-				pub mod multilocation {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junctions {
-						#[codec(index = 0)]
-						Here,
-						#[codec(index = 1)]
-						X1(runtime_types::xcm::v2::junction::Junction),
-						#[codec(index = 2)]
-						X2(
-							runtime_types::xcm::v2::junction::Junction,
-							runtime_types::xcm::v2::junction::Junction,
-						),
-						#[codec(index = 3)]
-						X3(
-							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::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::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::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::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::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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiLocation {
-						pub parents: ::core::primitive::u8,
-						pub interior: runtime_types::xcm::v2::multilocation::Junctions,
-					}
-				}
-				pub mod traits {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						Overflow,
-						#[codec(index = 1)]
-						Unimplemented,
-						#[codec(index = 2)]
-						UntrustedReserveLocation,
-						#[codec(index = 3)]
-						UntrustedTeleportLocation,
-						#[codec(index = 4)]
-						MultiLocationFull,
-						#[codec(index = 5)]
-						MultiLocationNotInvertible,
-						#[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)]
-						UnhandledXcmVersion,
-						#[codec(index = 23)]
-						WeightLimitReached(::core::primitive::u64),
-						#[codec(index = 24)]
-						Barrier,
-						#[codec(index = 25)]
-						WeightNotComputable,
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Instruction {
-					#[codec(index = 0)]
-					WithdrawAsset(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 1)]
-					ReserveAssetDeposited(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 2)]
-					ReceiveTeleportedAsset(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 3)]
-					QueryResponse {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						response: runtime_types::xcm::v2::Response,
-						#[codec(compact)]
-						max_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 4)]
-					TransferAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssets,
-						beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 5)]
-					TransferReserveAsset {
-						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::v2::OriginKind,
-						#[codec(compact)]
-						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)]
-					ClearOrigin,
-					#[codec(index = 11)]
-					DescendOrigin(runtime_types::xcm::v2::multilocation::Junctions),
-					#[codec(index = 12)]
-					ReportError {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						dest: runtime_types::xcm::v2::multilocation::MultiLocation,
-						#[codec(compact)]
-						max_response_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 13)]
-					DepositAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						#[codec(compact)]
-						max_assets: ::core::primitive::u32,
-						beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 14)]
-					DepositReserveAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						#[codec(compact)]
-						max_assets: ::core::primitive::u32,
-						dest: runtime_types::xcm::v2::multilocation::MultiLocation,
-						xcm: runtime_types::xcm::v2::Xcm,
-					},
-					#[codec(index = 15)]
-					ExchangeAsset {
-						give: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						receive: runtime_types::xcm::v2::multiasset::MultiAssets,
-					},
-					#[codec(index = 16)]
-					InitiateReserveWithdraw {
-						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::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::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::v2::multiasset::MultiAsset,
-						weight_limit: runtime_types::xcm::v2::WeightLimit,
-					},
-					#[codec(index = 20)]
-					RefundSurplus,
-					#[codec(index = 21)]
-					SetErrorHandler(runtime_types::xcm::v2::Xcm),
-					#[codec(index = 22)]
-					SetAppendix(runtime_types::xcm::v2::Xcm),
-					#[codec(index = 23)]
-					ClearError,
-					#[codec(index = 24)]
-					ClaimAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssets,
-						ticket: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 25)]
-					Trap(#[codec(compact)] ::core::primitive::u64),
-					#[codec(index = 26)]
-					SubscribeVersion {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						#[codec(compact)]
-						max_response_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 27)]
-					UnsubscribeVersion,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum OriginKind {
-					#[codec(index = 0)]
-					Native,
-					#[codec(index = 1)]
-					SovereignAccount,
-					#[codec(index = 2)]
-					Superuser,
-					#[codec(index = 3)]
-					Xcm,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Response {
-					#[codec(index = 0)]
-					Null,
-					#[codec(index = 1)]
-					Assets(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 2)]
-					ExecutionResult(
-						::core::option::Option<(
-							::core::primitive::u32,
-							runtime_types::xcm::v2::traits::Error,
-						)>,
-					),
-					#[codec(index = 3)]
-					Version(::core::primitive::u32),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum WeightLimit {
-					#[codec(index = 0)]
-					Unlimited,
-					#[codec(index = 1)]
-					Limited(#[codec(compact)] ::core::primitive::u64),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm(pub ::std::vec::Vec<runtime_types::xcm::v2::Instruction>);
-			}
-			pub mod v3 {
-				use super::runtime_types;
-				pub mod junction {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junction {
-						#[codec(index = 0)]
-						Parachain(#[codec(compact)] ::core::primitive::u32),
-						#[codec(index = 1)]
-						AccountId32 {
-							network:
-								::core::option::Option<runtime_types::xcm::v3::junction::NetworkId>,
-							id: [::core::primitive::u8; 32usize],
-						},
-						#[codec(index = 2)]
-						AccountIndex64 {
-							network:
-								::core::option::Option<runtime_types::xcm::v3::junction::NetworkId>,
-							#[codec(compact)]
-							index: ::core::primitive::u64,
-						},
-						#[codec(index = 3)]
-						AccountKey20 {
-							network:
-								::core::option::Option<runtime_types::xcm::v3::junction::NetworkId>,
-							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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum AssetId {
-						#[codec(index = 0)]
-						Concrete(runtime_types::xcm::v3::multilocation::MultiLocation),
-						#[codec(index = 1)]
-						Abstract([::core::primitive::u8; 32usize]),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Fungibility {
-						#[codec(index = 0)]
-						Fungible(#[codec(compact)] ::core::primitive::u128),
-						#[codec(index = 1)]
-						NonFungible(runtime_types::xcm::v3::multiasset::AssetInstance),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAsset {
-						pub id: runtime_types::xcm::v3::multiasset::AssetId,
-						pub fun: runtime_types::xcm::v3::multiasset::Fungibility,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum MultiAssetFilter {
-						#[codec(index = 0)]
-						Definite(runtime_types::xcm::v3::multiasset::MultiAssets),
-						#[codec(index = 1)]
-						Wild(runtime_types::xcm::v3::multiasset::WildMultiAsset),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAssets(
-						pub ::std::vec::Vec<runtime_types::xcm::v3::multiasset::MultiAsset>,
-					);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildFungibility {
-						#[codec(index = 0)]
-						Fungible,
-						#[codec(index = 1)]
-						NonFungible,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiLocation {
-						pub parents: ::core::primitive::u8,
-						pub interior: runtime_types::xcm::v3::junctions::Junctions,
-					}
-				}
-				pub mod traits {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(::sp_weights::Weight),
-						#[codec(index = 37)]
-						Barrier,
-						#[codec(index = 38)]
-						WeightNotComputable,
-						#[codec(index = 39)]
-						ExceedsStackLimit,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Outcome {
-						#[codec(index = 0)]
-						Complete(::sp_weights::Weight),
-						#[codec(index = 1)]
-						Incomplete(::sp_weights::Weight, runtime_types::xcm::v3::traits::Error),
-						#[codec(index = 2)]
-						Error(runtime_types::xcm::v3::traits::Error),
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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: ::sp_weights::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: ::sp_weights::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: ::sp_weights::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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct QueryResponseInfo {
-					pub destination: runtime_types::xcm::v3::multilocation::MultiLocation,
-					#[codec(compact)]
-					pub query_id: ::core::primitive::u64,
-					pub max_weight: ::sp_weights::Weight,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum WeightLimit {
-					#[codec(index = 0)]
-					Unlimited,
-					#[codec(index = 1)]
-					Limited(::sp_weights::Weight),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm(pub ::std::vec::Vec<runtime_types::xcm::v3::Instruction>);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedAssetId {
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::multiasset::AssetId),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedMultiAssets {
-				#[codec(index = 1)]
-				V2(runtime_types::xcm::v2::multiasset::MultiAssets),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::multiasset::MultiAssets),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedMultiLocation {
-				#[codec(index = 1)]
-				V2(runtime_types::xcm::v2::multilocation::MultiLocation),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::multilocation::MultiLocation),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedResponse {
-				#[codec(index = 2)]
-				V2(runtime_types::xcm::v2::Response),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::Response),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedXcm {
-				#[codec(index = 2)]
-				V2(runtime_types::xcm::v2::Xcm),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::Xcm),
-			}
-		}
-	}
-}
diff --git a/bridges/relays/client-rococo/src/lib.rs b/bridges/relays/client-rococo/src/lib.rs
deleted file mode 100644
index 575660504b3a51b05005bfe25f92ee21ec3024a0..0000000000000000000000000000000000000000
--- a/bridges/relays/client-rococo/src/lib.rs
+++ /dev/null
@@ -1,122 +0,0 @@
-// Copyright 2019-2021 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Types used to connect to the Rococo-Substrate chain.
-
-pub mod codegen_runtime;
-
-use bp_polkadot_core::SuffixedCommonSignedExtensionExt;
-use bp_rococo::ROCOCO_SYNCED_HEADERS_GRANDPA_INFO_METHOD;
-use codec::Encode;
-use relay_substrate_client::{
-	Chain, ChainWithBalances, ChainWithGrandpa, ChainWithRuntimeVersion, ChainWithTransactions,
-	Error as SubstrateError, RelayChain, SignParam, SimpleRuntimeVersion, UnderlyingChainProvider,
-	UnsignedTransaction,
-};
-use sp_core::{storage::StorageKey, Pair};
-use sp_runtime::{generic::SignedPayload, traits::IdentifyAccount, MultiAddress};
-use sp_session::MembershipProof;
-use std::time::Duration;
-
-pub use codegen_runtime::api::runtime_types;
-
-pub type RuntimeCall = runtime_types::rococo_runtime::RuntimeCall;
-
-pub type GrandpaCall = runtime_types::pallet_grandpa::pallet::Call;
-
-/// Rococo header id.
-pub type HeaderId = relay_utils::HeaderId<bp_rococo::Hash, bp_rococo::BlockNumber>;
-
-/// Rococo header type used in headers sync.
-pub type SyncHeader = relay_substrate_client::SyncHeader<bp_rococo::Header>;
-
-/// The address format for describing accounts.
-pub type Address = MultiAddress<bp_rococo::AccountId, ()>;
-
-/// Rococo chain definition
-#[derive(Debug, Clone, Copy)]
-pub struct Rococo;
-
-impl UnderlyingChainProvider for Rococo {
-	type Chain = bp_rococo::Rococo;
-}
-
-impl Chain for Rococo {
-	const NAME: &'static str = "Rococo";
-	const BEST_FINALIZED_HEADER_ID_METHOD: &'static str =
-		bp_rococo::BEST_FINALIZED_ROCOCO_HEADER_METHOD;
-	const AVERAGE_BLOCK_INTERVAL: Duration = Duration::from_secs(6);
-
-	type SignedBlock = bp_rococo::SignedBlock;
-	type Call = RuntimeCall;
-}
-
-impl ChainWithGrandpa for Rococo {
-	const SYNCED_HEADERS_GRANDPA_INFO_METHOD: &'static str =
-		ROCOCO_SYNCED_HEADERS_GRANDPA_INFO_METHOD;
-
-	type KeyOwnerProof = MembershipProof;
-}
-
-impl ChainWithBalances for Rococo {
-	fn account_info_storage_key(account_id: &Self::AccountId) -> StorageKey {
-		bp_rococo::AccountInfoStorageMapKeyProvider::final_key(account_id)
-	}
-}
-
-impl RelayChain for Rococo {
-	const PARAS_PALLET_NAME: &'static str = bp_rococo::PARAS_PALLET_NAME;
-}
-
-impl ChainWithTransactions for Rococo {
-	type AccountKeyPair = sp_core::sr25519::Pair;
-	type SignedTransaction =
-		bp_polkadot_core::UncheckedExtrinsic<Self::Call, bp_rococo::SignedExtension>;
-
-	fn sign_transaction(
-		param: SignParam<Self>,
-		unsigned: UnsignedTransaction<Self>,
-	) -> Result<Self::SignedTransaction, SubstrateError> {
-		let raw_payload = SignedPayload::new(
-			unsigned.call,
-			bp_rococo::SignedExtension::from_params(
-				param.spec_version,
-				param.transaction_version,
-				unsigned.era,
-				param.genesis_hash,
-				unsigned.nonce,
-				unsigned.tip,
-				((), ()),
-			),
-		)?;
-
-		let signature = raw_payload.using_encoded(|payload| param.signer.sign(payload));
-		let signer: sp_runtime::MultiSigner = param.signer.public().into();
-		let (call, extra, _) = raw_payload.deconstruct();
-
-		Ok(Self::SignedTransaction::new_signed(
-			call,
-			signer.into_account().into(),
-			signature.into(),
-			extra,
-		))
-	}
-}
-
-impl ChainWithRuntimeVersion for Rococo {
-	const RUNTIME_VERSION: Option<SimpleRuntimeVersion> =
-		Some(SimpleRuntimeVersion { spec_version: 1_008_000, transaction_version: 24 });
-}
diff --git a/bridges/relays/client-westend/Cargo.toml b/bridges/relays/client-westend/Cargo.toml
deleted file mode 100644
index 8b56e51d084d21fb97683605588f2e025cc5a920..0000000000000000000000000000000000000000
--- a/bridges/relays/client-westend/Cargo.toml
+++ /dev/null
@@ -1,31 +0,0 @@
-[package]
-name = "relay-westend-client"
-version = "0.1.0"
-authors = ["Parity Technologies <admin@parity.io>"]
-edition = "2021"
-license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
-
-[lints]
-workspace = true
-
-[dependencies]
-codec = { package = "parity-scale-codec", version = "3.1.5", features = ["derive"] }
-scale-info = { version = "2.11.0", default-features = false, features = ["derive"] }
-subxt = { version = "0.32.1", default-features = false, features = ["native"] }
-
-# Bridge dependencies
-
-bp-polkadot-core = { path = "../../primitives/polkadot-core" }
-bp-runtime = { path = "../../primitives/runtime" }
-bp-westend = { path = "../../chains/chain-westend" }
-
-relay-substrate-client = { path = "../client-substrate" }
-relay-utils = { path = "../utils" }
-
-# Substrate Dependencies
-
-sp-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-sp-weights = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
diff --git a/bridges/relays/client-westend/src/codegen_runtime.rs b/bridges/relays/client-westend/src/codegen_runtime.rs
deleted file mode 100644
index 9422622e48c505d1a1bdb24786c2db62c48f3796..0000000000000000000000000000000000000000
--- a/bridges/relays/client-westend/src/codegen_runtime.rs
+++ /dev/null
@@ -1,6945 +0,0 @@
-// Copyright 2019-2023 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated runtime API
-//! THIS FILE WAS AUTOGENERATED USING parity-bridges-common::runtime-codegen
-//! EXECUTED COMMAND: target/debug/runtime-codegen --from-node-url wss://westend-rpc.polkadot.io:443
-
-#[allow(dead_code, unused_imports, non_camel_case_types)]
-#[allow(clippy::all)]
-pub mod api {
-	use super::api as root_mod;
-	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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BoundedBTreeMap<_0, _1>(pub ::subxt::utils::KeyedVec<_0, _1>);
-			}
-			pub mod bounded_vec {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BoundedVec<_0>(pub ::std::vec::Vec<_0>);
-			}
-			pub mod weak_bounded_vec {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct WeakBoundedVec<_0>(pub ::std::vec::Vec<_0>);
-			}
-		}
-		pub mod finality_grandpa {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Equivocation<_0, _1, _2> {
-				pub round_number: ::core::primitive::u64,
-				pub identity: _0,
-				pub first: (_1, _2),
-				pub second: (_1, _2),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Precommit<_0, _1> {
-				pub target_hash: _0,
-				pub target_number: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Prevote<_0, _1> {
-				pub target_hash: _0,
-				pub target_number: _1,
-			}
-		}
-		pub mod frame_support {
-			use super::runtime_types;
-			pub mod dispatch {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum DispatchClass {
-					#[codec(index = 0)]
-					Normal,
-					#[codec(index = 1)]
-					Operational,
-					#[codec(index = 2)]
-					Mandatory,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DispatchInfo {
-					pub weight: ::sp_weights::Weight,
-					pub class: runtime_types::frame_support::dispatch::DispatchClass,
-					pub pays_fee: runtime_types::frame_support::dispatch::Pays,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Pays {
-					#[codec(index = 0)]
-					Yes,
-					#[codec(index = 1)]
-					No,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PerDispatchClass<_0> {
-					pub normal: _0,
-					pub operational: _0,
-					pub mandatory: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum RawOrigin<_0> {
-					#[codec(index = 0)]
-					Root,
-					#[codec(index = 1)]
-					Signed(_0),
-					#[codec(index = 2)]
-					None,
-				}
-			}
-			pub mod traits {
-				use super::runtime_types;
-				pub mod messages {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum ProcessMessageError {
-						#[codec(index = 0)]
-						BadFormat,
-						#[codec(index = 1)]
-						Corrupt,
-						#[codec(index = 2)]
-						Unsupported,
-						#[codec(index = 3)]
-						Overweight(::sp_weights::Weight),
-						#[codec(index = 4)]
-						Yield,
-					}
-				}
-				pub mod misc {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct WrapperOpaque<_0>(
-						#[codec(compact)] pub ::core::primitive::u32,
-						pub _0,
-					);
-				}
-				pub mod preimages {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Bounded<_0> {
-						#[codec(index = 0)]
-						Legacy {
-							hash: ::subxt::utils::H256,
-						},
-						#[codec(index = 1)]
-						Inline(
-							runtime_types::bounded_collections::bounded_vec::BoundedVec<
-								::core::primitive::u8,
-							>,
-						),
-						#[codec(index = 2)]
-						Lookup {
-							hash: ::subxt::utils::H256,
-							len: ::core::primitive::u32,
-						},
-						__Ignore(::core::marker::PhantomData<_0>),
-					}
-				}
-				pub mod tokens {
-					use super::runtime_types;
-					pub mod misc {
-						use super::runtime_types;
-						#[derive(
-							:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq,
-						)]
-						pub enum BalanceStatus {
-							#[codec(index = 0)]
-							Free,
-							#[codec(index = 1)]
-							Reserved,
-						}
-					}
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct PalletId(pub [::core::primitive::u8; 8usize]);
-		}
-		pub mod frame_system {
-			use super::runtime_types;
-			pub mod extensions {
-				use super::runtime_types;
-				pub mod check_genesis {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckGenesis;
-				}
-				pub mod check_mortality {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckMortality(pub ::sp_runtime::generic::Era);
-				}
-				pub mod check_non_zero_sender {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckNonZeroSender;
-				}
-				pub mod check_nonce {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckNonce(#[codec(compact)] pub ::core::primitive::u32);
-				}
-				pub mod check_spec_version {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckSpecVersion;
-				}
-				pub mod check_tx_version {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckTxVersion;
-				}
-				pub mod check_weight {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct CheckWeight;
-				}
-			}
-			pub mod limits {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BlockLength {
-					pub max: runtime_types::frame_support::dispatch::PerDispatchClass<
-						::core::primitive::u32,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BlockWeights {
-					pub base_block: ::sp_weights::Weight,
-					pub max_block: ::sp_weights::Weight,
-					pub per_class: runtime_types::frame_support::dispatch::PerDispatchClass<
-						runtime_types::frame_system::limits::WeightsPerClass,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct WeightsPerClass {
-					pub base_extrinsic: ::sp_weights::Weight,
-					pub max_extrinsic: ::core::option::Option<::sp_weights::Weight>,
-					pub max_total: ::core::option::Option<::sp_weights::Weight>,
-					pub reserved: ::core::option::Option<::sp_weights::Weight>,
-				}
-			}
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					remark { remark: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 1)]
-					set_heap_pages { pages: ::core::primitive::u64 },
-					#[codec(index = 2)]
-					set_code { code: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 3)]
-					set_code_without_checks { code: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 4)]
-					set_storage {
-						items: ::std::vec::Vec<(
-							::std::vec::Vec<::core::primitive::u8>,
-							::std::vec::Vec<::core::primitive::u8>,
-						)>,
-					},
-					#[codec(index = 5)]
-					kill_storage { keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>> },
-					#[codec(index = 6)]
-					kill_prefix {
-						prefix: ::std::vec::Vec<::core::primitive::u8>,
-						subkeys: ::core::primitive::u32,
-					},
-					#[codec(index = 7)]
-					remark_with_event { remark: ::std::vec::Vec<::core::primitive::u8> },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidSpecName,
-					#[codec(index = 1)]
-					SpecVersionNeedsToIncrease,
-					#[codec(index = 2)]
-					FailedToExtractRuntimeVersion,
-					#[codec(index = 3)]
-					NonDefaultComposite,
-					#[codec(index = 4)]
-					NonZeroRefCount,
-					#[codec(index = 5)]
-					CallFiltered,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					ExtrinsicSuccess {
-						dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo,
-					},
-					#[codec(index = 1)]
-					ExtrinsicFailed {
-						dispatch_error: runtime_types::sp_runtime::DispatchError,
-						dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo,
-					},
-					#[codec(index = 2)]
-					CodeUpdated,
-					#[codec(index = 3)]
-					NewAccount { account: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 4)]
-					KilledAccount { account: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 5)]
-					Remarked { sender: ::sp_core::crypto::AccountId32, hash: ::subxt::utils::H256 },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct AccountInfo<_0, _1> {
-				pub nonce: _0,
-				pub consumers: _0,
-				pub providers: _0,
-				pub sufficients: _0,
-				pub data: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct EventRecord<_0, _1> {
-				pub phase: runtime_types::frame_system::Phase,
-				pub event: _0,
-				pub topics: ::std::vec::Vec<_1>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct LastRuntimeUpgradeInfo {
-				#[codec(compact)]
-				pub spec_version: ::core::primitive::u32,
-				pub spec_name: ::std::string::String,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Phase {
-				#[codec(index = 0)]
-				ApplyExtrinsic(::core::primitive::u32),
-				#[codec(index = 1)]
-				Finalization,
-				#[codec(index = 2)]
-				Initialization,
-			}
-		}
-		pub mod pallet_babe {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					report_equivocation {
-						equivocation_proof: ::std::boxed::Box<
-							runtime_types::sp_consensus_slots::EquivocationProof<
-								::sp_runtime::generic::Header<
-									::core::primitive::u32,
-									::sp_runtime::traits::BlakeTwo256,
-								>,
-								runtime_types::sp_consensus_babe::app::Public,
-							>,
-						>,
-						key_owner_proof: ::sp_session::MembershipProof,
-					},
-					#[codec(index = 1)]
-					report_equivocation_unsigned {
-						equivocation_proof: ::std::boxed::Box<
-							runtime_types::sp_consensus_slots::EquivocationProof<
-								::sp_runtime::generic::Header<
-									::core::primitive::u32,
-									::sp_runtime::traits::BlakeTwo256,
-								>,
-								runtime_types::sp_consensus_babe::app::Public,
-							>,
-						>,
-						key_owner_proof: ::sp_session::MembershipProof,
-					},
-					#[codec(index = 2)]
-					plan_config_change {
-						config: runtime_types::sp_consensus_babe::digests::NextConfigDescriptor,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidEquivocationProof,
-					#[codec(index = 1)]
-					InvalidKeyOwnershipProof,
-					#[codec(index = 2)]
-					DuplicateOffenceReport,
-					#[codec(index = 3)]
-					InvalidConfiguration,
-				}
-			}
-		}
-		pub mod pallet_bags_list {
-			use super::runtime_types;
-			pub mod list {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Bag {
-					pub head: ::core::option::Option<::sp_core::crypto::AccountId32>,
-					pub tail: ::core::option::Option<::sp_core::crypto::AccountId32>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum ListError {
-					#[codec(index = 0)]
-					Duplicate,
-					#[codec(index = 1)]
-					NotHeavier,
-					#[codec(index = 2)]
-					NotInSameBag,
-					#[codec(index = 3)]
-					NodeNotFound,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Node {
-					pub id: ::sp_core::crypto::AccountId32,
-					pub prev: ::core::option::Option<::sp_core::crypto::AccountId32>,
-					pub next: ::core::option::Option<::sp_core::crypto::AccountId32>,
-					pub bag_upper: ::core::primitive::u64,
-					pub score: ::core::primitive::u64,
-				}
-			}
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					rebag {
-						dislocated:
-							::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 1)]
-					put_in_front_of {
-						lighter: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					List(runtime_types::pallet_bags_list::list::ListError),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Rebagged {
-						who: ::sp_core::crypto::AccountId32,
-						from: ::core::primitive::u64,
-						to: ::core::primitive::u64,
-					},
-					#[codec(index = 1)]
-					ScoreUpdated {
-						who: ::sp_core::crypto::AccountId32,
-						new_score: ::core::primitive::u64,
-					},
-				}
-			}
-		}
-		pub mod pallet_balances {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					transfer_allow_death {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					set_balance_deprecated {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						new_free: ::core::primitive::u128,
-						#[codec(compact)]
-						old_reserved: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					force_transfer {
-						source: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					transfer_keep_alive {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					transfer_all {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						keep_alive: ::core::primitive::bool,
-					},
-					#[codec(index = 5)]
-					force_unreserve {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 6)]
-					upgrade_accounts { who: ::std::vec::Vec<::sp_core::crypto::AccountId32> },
-					#[codec(index = 7)]
-					transfer {
-						dest: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 8)]
-					force_set_balance {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						new_free: ::core::primitive::u128,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					VestingBalance,
-					#[codec(index = 1)]
-					LiquidityRestrictions,
-					#[codec(index = 2)]
-					InsufficientBalance,
-					#[codec(index = 3)]
-					ExistentialDeposit,
-					#[codec(index = 4)]
-					Expendability,
-					#[codec(index = 5)]
-					ExistingVestingSchedule,
-					#[codec(index = 6)]
-					DeadAccount,
-					#[codec(index = 7)]
-					TooManyReserves,
-					#[codec(index = 8)]
-					TooManyHolds,
-					#[codec(index = 9)]
-					TooManyFreezes,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Endowed {
-						account: ::sp_core::crypto::AccountId32,
-						free_balance: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					DustLost {
-						account: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					Transfer {
-						from: ::sp_core::crypto::AccountId32,
-						to: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					BalanceSet {
-						who: ::sp_core::crypto::AccountId32,
-						free: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					Reserved {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 5)]
-					Unreserved {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 6)]
-					ReserveRepatriated {
-						from: ::sp_core::crypto::AccountId32,
-						to: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-						destination_status:
-							runtime_types::frame_support::traits::tokens::misc::BalanceStatus,
-					},
-					#[codec(index = 7)]
-					Deposit { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 8)]
-					Withdraw {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 9)]
-					Slashed { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 10)]
-					Minted { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 11)]
-					Burned { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 12)]
-					Suspended {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 13)]
-					Restored {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 14)]
-					Upgraded { who: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 15)]
-					Issued { amount: ::core::primitive::u128 },
-					#[codec(index = 16)]
-					Rescinded { amount: ::core::primitive::u128 },
-					#[codec(index = 17)]
-					Locked { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 18)]
-					Unlocked {
-						who: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 19)]
-					Frozen { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-					#[codec(index = 20)]
-					Thawed { who: ::sp_core::crypto::AccountId32, amount: ::core::primitive::u128 },
-				}
-			}
-			pub mod types {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AccountData<_0> {
-					pub free: _0,
-					pub reserved: _0,
-					pub frozen: _0,
-					pub flags: runtime_types::pallet_balances::types::ExtraFlags,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BalanceLock<_0> {
-					pub id: [::core::primitive::u8; 8usize],
-					pub amount: _0,
-					pub reasons: runtime_types::pallet_balances::types::Reasons,
-				}
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct ExtraFlags(pub ::core::primitive::u128);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct IdAmount<_0, _1> {
-					pub id: _0,
-					pub amount: _1,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Reasons {
-					#[codec(index = 0)]
-					Fee,
-					#[codec(index = 1)]
-					Misc,
-					#[codec(index = 2)]
-					All,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ReserveData<_0, _1> {
-					pub id: _0,
-					pub amount: _1,
-				}
-			}
-		}
-		pub mod pallet_election_provider_multi_phase {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					# [codec (index = 0)] submit_unsigned { raw_solution : :: std :: boxed :: Box < runtime_types :: pallet_election_provider_multi_phase :: RawSolution < runtime_types :: westend_runtime :: NposCompactSolution16 > > , witness : runtime_types :: pallet_election_provider_multi_phase :: SolutionOrSnapshotSize , } , # [codec (index = 1)] set_minimum_untrusted_score { maybe_next_score : :: core :: option :: Option < runtime_types :: sp_npos_elections :: ElectionScore > , } , # [codec (index = 2)] set_emergency_election_result { supports : :: std :: vec :: Vec < (:: sp_core :: crypto :: AccountId32 , runtime_types :: sp_npos_elections :: Support < :: sp_core :: crypto :: AccountId32 > ,) > , } , # [codec (index = 3)] submit { raw_solution : :: std :: boxed :: Box < runtime_types :: pallet_election_provider_multi_phase :: RawSolution < runtime_types :: westend_runtime :: NposCompactSolution16 > > , } , # [codec (index = 4)] governance_fallback { maybe_max_voters : :: core :: option :: Option < :: core :: primitive :: u32 > , maybe_max_targets : :: core :: option :: Option < :: core :: primitive :: u32 > , } , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					PreDispatchEarlySubmission,
-					#[codec(index = 1)]
-					PreDispatchWrongWinnerCount,
-					#[codec(index = 2)]
-					PreDispatchWeakSubmission,
-					#[codec(index = 3)]
-					SignedQueueFull,
-					#[codec(index = 4)]
-					SignedCannotPayDeposit,
-					#[codec(index = 5)]
-					SignedInvalidWitness,
-					#[codec(index = 6)]
-					SignedTooMuchWeight,
-					#[codec(index = 7)]
-					OcwCallWrongEra,
-					#[codec(index = 8)]
-					MissingSnapshotMetadata,
-					#[codec(index = 9)]
-					InvalidSubmissionIndex,
-					#[codec(index = 10)]
-					CallNotAllowed,
-					#[codec(index = 11)]
-					FallbackFailed,
-					#[codec(index = 12)]
-					BoundNotMet,
-					#[codec(index = 13)]
-					TooManyWinners,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					SolutionStored {
-						compute:
-							runtime_types::pallet_election_provider_multi_phase::ElectionCompute,
-						origin: ::core::option::Option<::sp_core::crypto::AccountId32>,
-						prev_ejected: ::core::primitive::bool,
-					},
-					#[codec(index = 1)]
-					ElectionFinalized {
-						compute:
-							runtime_types::pallet_election_provider_multi_phase::ElectionCompute,
-						score: runtime_types::sp_npos_elections::ElectionScore,
-					},
-					#[codec(index = 2)]
-					ElectionFailed,
-					#[codec(index = 3)]
-					Rewarded {
-						account: ::sp_core::crypto::AccountId32,
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					Slashed {
-						account: ::sp_core::crypto::AccountId32,
-						value: ::core::primitive::u128,
-					},
-					#[codec(index = 5)]
-					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 {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SignedSubmission<_0, _1, _2> {
-					pub who: _0,
-					pub deposit: _1,
-					pub raw_solution:
-						runtime_types::pallet_election_provider_multi_phase::RawSolution<_2>,
-					pub call_fee: _1,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ElectionCompute {
-				#[codec(index = 0)]
-				OnChain,
-				#[codec(index = 1)]
-				Signed,
-				#[codec(index = 2)]
-				Unsigned,
-				#[codec(index = 3)]
-				Fallback,
-				#[codec(index = 4)]
-				Emergency,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Phase<_0> {
-				#[codec(index = 0)]
-				Off,
-				#[codec(index = 1)]
-				Signed,
-				#[codec(index = 2)]
-				Unsigned((::core::primitive::bool, _0)),
-				#[codec(index = 3)]
-				Emergency,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RawSolution<_0> {
-				pub solution: _0,
-				pub score: runtime_types::sp_npos_elections::ElectionScore,
-				pub round: ::core::primitive::u32,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ReadySolution {
-				pub supports: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-					::sp_core::crypto::AccountId32,
-					runtime_types::sp_npos_elections::Support<::sp_core::crypto::AccountId32>,
-				)>,
-				pub score: runtime_types::sp_npos_elections::ElectionScore,
-				pub compute: runtime_types::pallet_election_provider_multi_phase::ElectionCompute,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RoundSnapshot<_0, _1> {
-				pub voters: ::std::vec::Vec<_1>,
-				pub targets: ::std::vec::Vec<_0>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct SolutionOrSnapshotSize {
-				#[codec(compact)]
-				pub voters: ::core::primitive::u32,
-				#[codec(compact)]
-				pub targets: ::core::primitive::u32,
-			}
-		}
-		pub mod pallet_fast_unstake {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					register_fast_unstake,
-					#[codec(index = 1)]
-					deregister,
-					#[codec(index = 2)]
-					control { eras_to_check: ::core::primitive::u32 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotController,
-					#[codec(index = 1)]
-					AlreadyQueued,
-					#[codec(index = 2)]
-					NotFullyBonded,
-					#[codec(index = 3)]
-					NotQueued,
-					#[codec(index = 4)]
-					AlreadyHead,
-					#[codec(index = 5)]
-					CallNotAllowed,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Unstaked {
-						stash: ::sp_core::crypto::AccountId32,
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 1)]
-					Slashed {
-						stash: ::sp_core::crypto::AccountId32,
-						amount: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					InternalError,
-					#[codec(index = 3)]
-					BatchChecked { eras: ::std::vec::Vec<::core::primitive::u32> },
-					#[codec(index = 4)]
-					BatchFinished { size: ::core::primitive::u32 },
-				}
-			}
-			pub mod types {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct UnstakeRequest {
-					pub stashes: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-						::sp_core::crypto::AccountId32,
-						::core::primitive::u128,
-					)>,
-					pub checked: runtime_types::bounded_collections::bounded_vec::BoundedVec<
-						::core::primitive::u32,
-					>,
-				}
-			}
-		}
-		pub mod pallet_grandpa {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					report_equivocation {
-						equivocation_proof: ::std::boxed::Box<
-							::sp_consensus_grandpa::EquivocationProof<
-								::subxt::utils::H256,
-								::core::primitive::u32,
-							>,
-						>,
-						key_owner_proof: ::sp_session::MembershipProof,
-					},
-					#[codec(index = 1)]
-					report_equivocation_unsigned {
-						equivocation_proof: ::std::boxed::Box<
-							::sp_consensus_grandpa::EquivocationProof<
-								::subxt::utils::H256,
-								::core::primitive::u32,
-							>,
-						>,
-						key_owner_proof: ::sp_session::MembershipProof,
-					},
-					#[codec(index = 2)]
-					note_stalled {
-						delay: ::core::primitive::u32,
-						best_finalized_block_number: ::core::primitive::u32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					PauseFailed,
-					#[codec(index = 1)]
-					ResumeFailed,
-					#[codec(index = 2)]
-					ChangePending,
-					#[codec(index = 3)]
-					TooSoon,
-					#[codec(index = 4)]
-					InvalidKeyOwnershipProof,
-					#[codec(index = 5)]
-					InvalidEquivocationProof,
-					#[codec(index = 6)]
-					DuplicateOffenceReport,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewAuthorities {
-						authority_set: ::std::vec::Vec<(
-							runtime_types::sp_consensus_grandpa::app::Public,
-							::core::primitive::u64,
-						)>,
-					},
-					#[codec(index = 1)]
-					Paused,
-					#[codec(index = 2)]
-					Resumed,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct StoredPendingChange<_0> {
-				pub scheduled_at: _0,
-				pub delay: _0,
-				pub next_authorities:
-					runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<(
-						runtime_types::sp_consensus_grandpa::app::Public,
-						::core::primitive::u64,
-					)>,
-				pub forced: ::core::option::Option<_0>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum StoredState<_0> {
-				#[codec(index = 0)]
-				Live,
-				#[codec(index = 1)]
-				PendingPause { scheduled_at: _0, delay: _0 },
-				#[codec(index = 2)]
-				Paused,
-				#[codec(index = 3)]
-				PendingResume { scheduled_at: _0, delay: _0 },
-			}
-		}
-		pub mod pallet_identity {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					add_registrar {
-						account: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 1)]
-					set_identity {
-						info:
-							::std::boxed::Box<runtime_types::pallet_identity::types::IdentityInfo>,
-					},
-					#[codec(index = 2)]
-					set_subs {
-						subs: ::std::vec::Vec<(
-							::sp_core::crypto::AccountId32,
-							runtime_types::pallet_identity::types::Data,
-						)>,
-					},
-					#[codec(index = 3)]
-					clear_identity,
-					#[codec(index = 4)]
-					request_judgement {
-						#[codec(compact)]
-						reg_index: ::core::primitive::u32,
-						#[codec(compact)]
-						max_fee: ::core::primitive::u128,
-					},
-					#[codec(index = 5)]
-					cancel_request { reg_index: ::core::primitive::u32 },
-					#[codec(index = 6)]
-					set_fee {
-						#[codec(compact)]
-						index: ::core::primitive::u32,
-						#[codec(compact)]
-						fee: ::core::primitive::u128,
-					},
-					#[codec(index = 7)]
-					set_account_id {
-						#[codec(compact)]
-						index: ::core::primitive::u32,
-						new: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 8)]
-					set_fields {
-						#[codec(compact)]
-						index: ::core::primitive::u32,
-						fields: runtime_types::pallet_identity::types::BitFlags<
-							runtime_types::pallet_identity::types::IdentityField,
-						>,
-					},
-					#[codec(index = 9)]
-					provide_judgement {
-						#[codec(compact)]
-						reg_index: ::core::primitive::u32,
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						judgement: runtime_types::pallet_identity::types::Judgement<
-							::core::primitive::u128,
-						>,
-						identity: ::subxt::utils::H256,
-					},
-					#[codec(index = 10)]
-					kill_identity {
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 11)]
-					add_sub {
-						sub: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						data: runtime_types::pallet_identity::types::Data,
-					},
-					#[codec(index = 12)]
-					rename_sub {
-						sub: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						data: runtime_types::pallet_identity::types::Data,
-					},
-					#[codec(index = 13)]
-					remove_sub {
-						sub: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 14)]
-					quit_sub,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					TooManySubAccounts,
-					#[codec(index = 1)]
-					NotFound,
-					#[codec(index = 2)]
-					NotNamed,
-					#[codec(index = 3)]
-					EmptyIndex,
-					#[codec(index = 4)]
-					FeeChanged,
-					#[codec(index = 5)]
-					NoIdentity,
-					#[codec(index = 6)]
-					StickyJudgement,
-					#[codec(index = 7)]
-					JudgementGiven,
-					#[codec(index = 8)]
-					InvalidJudgement,
-					#[codec(index = 9)]
-					InvalidIndex,
-					#[codec(index = 10)]
-					InvalidTarget,
-					#[codec(index = 11)]
-					TooManyFields,
-					#[codec(index = 12)]
-					TooManyRegistrars,
-					#[codec(index = 13)]
-					AlreadyClaimed,
-					#[codec(index = 14)]
-					NotSub,
-					#[codec(index = 15)]
-					NotOwned,
-					#[codec(index = 16)]
-					JudgementForDifferentIdentity,
-					#[codec(index = 17)]
-					JudgementPaymentFailed,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					IdentitySet { who: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 1)]
-					IdentityCleared {
-						who: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 2)]
-					IdentityKilled {
-						who: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					JudgementRequested {
-						who: ::sp_core::crypto::AccountId32,
-						registrar_index: ::core::primitive::u32,
-					},
-					#[codec(index = 4)]
-					JudgementUnrequested {
-						who: ::sp_core::crypto::AccountId32,
-						registrar_index: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					JudgementGiven {
-						target: ::sp_core::crypto::AccountId32,
-						registrar_index: ::core::primitive::u32,
-					},
-					#[codec(index = 6)]
-					RegistrarAdded { registrar_index: ::core::primitive::u32 },
-					#[codec(index = 7)]
-					SubIdentityAdded {
-						sub: ::sp_core::crypto::AccountId32,
-						main: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 8)]
-					SubIdentityRemoved {
-						sub: ::sp_core::crypto::AccountId32,
-						main: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-					#[codec(index = 9)]
-					SubIdentityRevoked {
-						sub: ::sp_core::crypto::AccountId32,
-						main: ::sp_core::crypto::AccountId32,
-						deposit: ::core::primitive::u128,
-					},
-				}
-			}
-			pub mod types {
-				use super::runtime_types;
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct BitFlags<_0>(
-					pub ::core::primitive::u64,
-					#[codec(skip)] pub ::core::marker::PhantomData<_0>,
-				);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Data {
-					#[codec(index = 0)]
-					None,
-					#[codec(index = 1)]
-					Raw0([::core::primitive::u8; 0usize]),
-					#[codec(index = 2)]
-					Raw1([::core::primitive::u8; 1usize]),
-					#[codec(index = 3)]
-					Raw2([::core::primitive::u8; 2usize]),
-					#[codec(index = 4)]
-					Raw3([::core::primitive::u8; 3usize]),
-					#[codec(index = 5)]
-					Raw4([::core::primitive::u8; 4usize]),
-					#[codec(index = 6)]
-					Raw5([::core::primitive::u8; 5usize]),
-					#[codec(index = 7)]
-					Raw6([::core::primitive::u8; 6usize]),
-					#[codec(index = 8)]
-					Raw7([::core::primitive::u8; 7usize]),
-					#[codec(index = 9)]
-					Raw8([::core::primitive::u8; 8usize]),
-					#[codec(index = 10)]
-					Raw9([::core::primitive::u8; 9usize]),
-					#[codec(index = 11)]
-					Raw10([::core::primitive::u8; 10usize]),
-					#[codec(index = 12)]
-					Raw11([::core::primitive::u8; 11usize]),
-					#[codec(index = 13)]
-					Raw12([::core::primitive::u8; 12usize]),
-					#[codec(index = 14)]
-					Raw13([::core::primitive::u8; 13usize]),
-					#[codec(index = 15)]
-					Raw14([::core::primitive::u8; 14usize]),
-					#[codec(index = 16)]
-					Raw15([::core::primitive::u8; 15usize]),
-					#[codec(index = 17)]
-					Raw16([::core::primitive::u8; 16usize]),
-					#[codec(index = 18)]
-					Raw17([::core::primitive::u8; 17usize]),
-					#[codec(index = 19)]
-					Raw18([::core::primitive::u8; 18usize]),
-					#[codec(index = 20)]
-					Raw19([::core::primitive::u8; 19usize]),
-					#[codec(index = 21)]
-					Raw20([::core::primitive::u8; 20usize]),
-					#[codec(index = 22)]
-					Raw21([::core::primitive::u8; 21usize]),
-					#[codec(index = 23)]
-					Raw22([::core::primitive::u8; 22usize]),
-					#[codec(index = 24)]
-					Raw23([::core::primitive::u8; 23usize]),
-					#[codec(index = 25)]
-					Raw24([::core::primitive::u8; 24usize]),
-					#[codec(index = 26)]
-					Raw25([::core::primitive::u8; 25usize]),
-					#[codec(index = 27)]
-					Raw26([::core::primitive::u8; 26usize]),
-					#[codec(index = 28)]
-					Raw27([::core::primitive::u8; 27usize]),
-					#[codec(index = 29)]
-					Raw28([::core::primitive::u8; 28usize]),
-					#[codec(index = 30)]
-					Raw29([::core::primitive::u8; 29usize]),
-					#[codec(index = 31)]
-					Raw30([::core::primitive::u8; 30usize]),
-					#[codec(index = 32)]
-					Raw31([::core::primitive::u8; 31usize]),
-					#[codec(index = 33)]
-					Raw32([::core::primitive::u8; 32usize]),
-					#[codec(index = 34)]
-					BlakeTwo256([::core::primitive::u8; 32usize]),
-					#[codec(index = 35)]
-					Sha256([::core::primitive::u8; 32usize]),
-					#[codec(index = 36)]
-					Keccak256([::core::primitive::u8; 32usize]),
-					#[codec(index = 37)]
-					ShaThree256([::core::primitive::u8; 32usize]),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum IdentityField {
-					#[codec(index = 1)]
-					Display,
-					#[codec(index = 2)]
-					Legal,
-					#[codec(index = 4)]
-					Web,
-					#[codec(index = 8)]
-					Riot,
-					#[codec(index = 16)]
-					Email,
-					#[codec(index = 32)]
-					PgpFingerprint,
-					#[codec(index = 64)]
-					Image,
-					#[codec(index = 128)]
-					Twitter,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct IdentityInfo {
-					pub additional: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-						runtime_types::pallet_identity::types::Data,
-						runtime_types::pallet_identity::types::Data,
-					)>,
-					pub display: runtime_types::pallet_identity::types::Data,
-					pub legal: runtime_types::pallet_identity::types::Data,
-					pub web: runtime_types::pallet_identity::types::Data,
-					pub riot: runtime_types::pallet_identity::types::Data,
-					pub email: runtime_types::pallet_identity::types::Data,
-					pub pgp_fingerprint: ::core::option::Option<[::core::primitive::u8; 20usize]>,
-					pub image: runtime_types::pallet_identity::types::Data,
-					pub twitter: runtime_types::pallet_identity::types::Data,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Judgement<_0> {
-					#[codec(index = 0)]
-					Unknown,
-					#[codec(index = 1)]
-					FeePaid(_0),
-					#[codec(index = 2)]
-					Reasonable,
-					#[codec(index = 3)]
-					KnownGood,
-					#[codec(index = 4)]
-					OutOfDate,
-					#[codec(index = 5)]
-					LowQuality,
-					#[codec(index = 6)]
-					Erroneous,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RegistrarInfo<_0, _1> {
-					pub account: _1,
-					pub fee: _0,
-					pub fields: runtime_types::pallet_identity::types::BitFlags<
-						runtime_types::pallet_identity::types::IdentityField,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Registration<_0> {
-					pub judgements: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-						::core::primitive::u32,
-						runtime_types::pallet_identity::types::Judgement<_0>,
-					)>,
-					pub deposit: _0,
-					pub info: runtime_types::pallet_identity::types::IdentityInfo,
-				}
-			}
-		}
-		pub mod pallet_im_online {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					heartbeat {
-						heartbeat:
-							runtime_types::pallet_im_online::Heartbeat<::core::primitive::u32>,
-						signature: runtime_types::pallet_im_online::sr25519::app_sr25519::Signature,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidKey,
-					#[codec(index = 1)]
-					DuplicatedHeartbeat,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					HeartbeatReceived {
-						authority_id: runtime_types::pallet_im_online::sr25519::app_sr25519::Public,
-					},
-					#[codec(index = 1)]
-					AllGood,
-					#[codec(index = 2)]
-					SomeOffline {
-						offline: ::std::vec::Vec<(
-							::sp_core::crypto::AccountId32,
-							runtime_types::pallet_staking::Exposure<
-								::sp_core::crypto::AccountId32,
-								::core::primitive::u128,
-							>,
-						)>,
-					},
-				}
-			}
-			pub mod sr25519 {
-				use super::runtime_types;
-				pub mod app_sr25519 {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Signature(pub runtime_types::sp_core::sr25519::Signature);
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BoundedOpaqueNetworkState {
-				pub peer_id: runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<
-					::core::primitive::u8,
-				>,
-				pub external_addresses:
-					runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<
-						runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<
-							::core::primitive::u8,
-						>,
-					>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Heartbeat<_0> {
-				pub block_number: _0,
-				pub network_state: runtime_types::sp_core::offchain::OpaqueNetworkState,
-				pub session_index: _0,
-				pub authority_index: _0,
-				pub validators_len: _0,
-			}
-		}
-		pub mod pallet_indices {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					claim { index: ::core::primitive::u32 },
-					#[codec(index = 1)]
-					transfer {
-						new: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						index: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					free { index: ::core::primitive::u32 },
-					#[codec(index = 3)]
-					force_transfer {
-						new: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						index: ::core::primitive::u32,
-						freeze: ::core::primitive::bool,
-					},
-					#[codec(index = 4)]
-					freeze { index: ::core::primitive::u32 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotAssigned,
-					#[codec(index = 1)]
-					NotOwner,
-					#[codec(index = 2)]
-					InUse,
-					#[codec(index = 3)]
-					NotTransfer,
-					#[codec(index = 4)]
-					Permanent,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					IndexAssigned {
-						who: ::sp_core::crypto::AccountId32,
-						index: ::core::primitive::u32,
-					},
-					#[codec(index = 1)]
-					IndexFreed { index: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					IndexFrozen {
-						index: ::core::primitive::u32,
-						who: ::sp_core::crypto::AccountId32,
-					},
-				}
-			}
-		}
-		pub mod pallet_message_queue {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					# [codec (index = 0)] reap_page { message_origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , page_index : :: core :: primitive :: u32 , } , # [codec (index = 1)] execute_overweight { message_origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , page : :: core :: primitive :: u32 , index : :: core :: primitive :: u32 , weight_limit : :: sp_weights :: Weight , } , }
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotReapable,
-					#[codec(index = 1)]
-					NoPage,
-					#[codec(index = 2)]
-					NoMessage,
-					#[codec(index = 3)]
-					AlreadyProcessed,
-					#[codec(index = 4)]
-					Queued,
-					#[codec(index = 5)]
-					InsufficientWeight,
-					#[codec(index = 6)]
-					TemporarilyUnprocessable,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					# [codec (index = 0)] ProcessingFailed { id : [:: core :: primitive :: u8 ; 32usize] , origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , error : runtime_types :: frame_support :: traits :: messages :: ProcessMessageError , } , # [codec (index = 1)] Processed { id : [:: core :: primitive :: u8 ; 32usize] , origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , weight_used : :: sp_weights :: Weight , success : :: core :: primitive :: bool , } , # [codec (index = 2)] OverweightEnqueued { id : [:: core :: primitive :: u8 ; 32usize] , origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , page_index : :: core :: primitive :: u32 , message_index : :: core :: primitive :: u32 , } , # [codec (index = 3)] PageReaped { origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , index : :: core :: primitive :: u32 , } , }
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BookState<_0> {
-				pub begin: ::core::primitive::u32,
-				pub end: ::core::primitive::u32,
-				pub count: ::core::primitive::u32,
-				pub ready_neighbours:
-					::core::option::Option<runtime_types::pallet_message_queue::Neighbours<_0>>,
-				pub message_count: ::core::primitive::u64,
-				pub size: ::core::primitive::u64,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Neighbours<_0> {
-				pub prev: _0,
-				pub next: _0,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Page<_0> {
-				pub remaining: _0,
-				pub remaining_size: _0,
-				pub first_index: _0,
-				pub first: _0,
-				pub last: _0,
-				pub heap: runtime_types::bounded_collections::bounded_vec::BoundedVec<
-					::core::primitive::u8,
-				>,
-			}
-		}
-		pub mod pallet_multisig {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					as_multi_threshold_1 {
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						call: ::std::boxed::Box<runtime_types::westend_runtime::RuntimeCall>,
-					},
-					#[codec(index = 1)]
-					as_multi {
-						threshold: ::core::primitive::u16,
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						maybe_timepoint: ::core::option::Option<
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						>,
-						call: ::std::boxed::Box<runtime_types::westend_runtime::RuntimeCall>,
-						max_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 2)]
-					approve_as_multi {
-						threshold: ::core::primitive::u16,
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						maybe_timepoint: ::core::option::Option<
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						>,
-						call_hash: [::core::primitive::u8; 32usize],
-						max_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 3)]
-					cancel_as_multi {
-						threshold: ::core::primitive::u16,
-						other_signatories: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					MinimumThreshold,
-					#[codec(index = 1)]
-					AlreadyApproved,
-					#[codec(index = 2)]
-					NoApprovalsNeeded,
-					#[codec(index = 3)]
-					TooFewSignatories,
-					#[codec(index = 4)]
-					TooManySignatories,
-					#[codec(index = 5)]
-					SignatoriesOutOfOrder,
-					#[codec(index = 6)]
-					SenderInSignatories,
-					#[codec(index = 7)]
-					NotFound,
-					#[codec(index = 8)]
-					NotOwner,
-					#[codec(index = 9)]
-					NoTimepoint,
-					#[codec(index = 10)]
-					WrongTimepoint,
-					#[codec(index = 11)]
-					UnexpectedTimepoint,
-					#[codec(index = 12)]
-					MaxWeightTooLow,
-					#[codec(index = 13)]
-					AlreadyStored,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewMultisig {
-						approving: ::sp_core::crypto::AccountId32,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 1)]
-					MultisigApproval {
-						approving: ::sp_core::crypto::AccountId32,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-					#[codec(index = 2)]
-					MultisigExecuted {
-						approving: ::sp_core::crypto::AccountId32,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 3)]
-					MultisigCancelled {
-						cancelling: ::sp_core::crypto::AccountId32,
-						timepoint:
-							runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
-						multisig: ::sp_core::crypto::AccountId32,
-						call_hash: [::core::primitive::u8; 32usize],
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Multisig<_0, _1, _2> {
-				pub when: runtime_types::pallet_multisig::Timepoint<_0>,
-				pub deposit: _1,
-				pub depositor: _2,
-				pub approvals: runtime_types::bounded_collections::bounded_vec::BoundedVec<_2>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Timepoint<_0> {
-				pub height: _0,
-				pub index: _0,
-			}
-		}
-		pub mod pallet_nomination_pools {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					join {
-						#[codec(compact)]
-						amount: ::core::primitive::u128,
-						pool_id: ::core::primitive::u32,
-					},
-					#[codec(index = 1)]
-					bond_extra {
-						extra: runtime_types::pallet_nomination_pools::BondExtra<
-							::core::primitive::u128,
-						>,
-					},
-					#[codec(index = 2)]
-					claim_payout,
-					#[codec(index = 3)]
-					unbond {
-						member_account:
-							::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						#[codec(compact)]
-						unbonding_points: ::core::primitive::u128,
-					},
-					#[codec(index = 4)]
-					pool_withdraw_unbonded {
-						pool_id: ::core::primitive::u32,
-						num_slashing_spans: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					withdraw_unbonded {
-						member_account:
-							::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						num_slashing_spans: ::core::primitive::u32,
-					},
-					#[codec(index = 6)]
-					create {
-						#[codec(compact)]
-						amount: ::core::primitive::u128,
-						root: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						nominator: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						bouncer: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 7)]
-					create_with_pool_id {
-						#[codec(compact)]
-						amount: ::core::primitive::u128,
-						root: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						nominator: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						bouncer: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						pool_id: ::core::primitive::u32,
-					},
-					#[codec(index = 8)]
-					nominate {
-						pool_id: ::core::primitive::u32,
-						validators: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-					},
-					#[codec(index = 9)]
-					set_state {
-						pool_id: ::core::primitive::u32,
-						state: runtime_types::pallet_nomination_pools::PoolState,
-					},
-					#[codec(index = 10)]
-					set_metadata {
-						pool_id: ::core::primitive::u32,
-						metadata: ::std::vec::Vec<::core::primitive::u8>,
-					},
-					#[codec(index = 11)]
-					set_configs {
-						min_join_bond: runtime_types::pallet_nomination_pools::ConfigOp<
-							::core::primitive::u128,
-						>,
-						min_create_bond: runtime_types::pallet_nomination_pools::ConfigOp<
-							::core::primitive::u128,
-						>,
-						max_pools: runtime_types::pallet_nomination_pools::ConfigOp<
-							::core::primitive::u32,
-						>,
-						max_members: runtime_types::pallet_nomination_pools::ConfigOp<
-							::core::primitive::u32,
-						>,
-						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)]
-					update_roles {
-						pool_id: ::core::primitive::u32,
-						new_root: runtime_types::pallet_nomination_pools::ConfigOp<
-							::sp_core::crypto::AccountId32,
-						>,
-						new_nominator: runtime_types::pallet_nomination_pools::ConfigOp<
-							::sp_core::crypto::AccountId32,
-						>,
-						new_bouncer: runtime_types::pallet_nomination_pools::ConfigOp<
-							::sp_core::crypto::AccountId32,
-						>,
-					},
-					#[codec(index = 13)]
-					chill { pool_id: ::core::primitive::u32 },
-					#[codec(index = 14)]
-					bond_extra_other {
-						member: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						extra: runtime_types::pallet_nomination_pools::BondExtra<
-							::core::primitive::u128,
-						>,
-					},
-					#[codec(index = 15)]
-					set_claim_permission {
-						permission: runtime_types::pallet_nomination_pools::ClaimPermission,
-					},
-					#[codec(index = 16)]
-					claim_payout_other { other: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 17)]
-					set_commission {
-						pool_id: ::core::primitive::u32,
-						new_commission: ::core::option::Option<(
-							runtime_types::sp_arithmetic::per_things::Perbill,
-							::sp_core::crypto::AccountId32,
-						)>,
-					},
-					#[codec(index = 18)]
-					set_commission_max {
-						pool_id: ::core::primitive::u32,
-						max_commission: runtime_types::sp_arithmetic::per_things::Perbill,
-					},
-					#[codec(index = 19)]
-					set_commission_change_rate {
-						pool_id: ::core::primitive::u32,
-						change_rate: runtime_types::pallet_nomination_pools::CommissionChangeRate<
-							::core::primitive::u32,
-						>,
-					},
-					#[codec(index = 20)]
-					claim_commission { pool_id: ::core::primitive::u32 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum DefensiveError {
-					#[codec(index = 0)]
-					NotEnoughSpaceInUnbondPool,
-					#[codec(index = 1)]
-					PoolNotFound,
-					#[codec(index = 2)]
-					RewardPoolNotFound,
-					#[codec(index = 3)]
-					SubPoolsNotFound,
-					#[codec(index = 4)]
-					BondedStashKilledPrematurely,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					PoolNotFound,
-					#[codec(index = 1)]
-					PoolMemberNotFound,
-					#[codec(index = 2)]
-					RewardPoolNotFound,
-					#[codec(index = 3)]
-					SubPoolsNotFound,
-					#[codec(index = 4)]
-					AccountBelongsToOtherPool,
-					#[codec(index = 5)]
-					FullyUnbonding,
-					#[codec(index = 6)]
-					MaxUnbondingLimit,
-					#[codec(index = 7)]
-					CannotWithdrawAny,
-					#[codec(index = 8)]
-					MinimumBondNotMet,
-					#[codec(index = 9)]
-					OverflowRisk,
-					#[codec(index = 10)]
-					NotDestroying,
-					#[codec(index = 11)]
-					NotNominator,
-					#[codec(index = 12)]
-					NotKickerOrDestroying,
-					#[codec(index = 13)]
-					NotOpen,
-					#[codec(index = 14)]
-					MaxPools,
-					#[codec(index = 15)]
-					MaxPoolMembers,
-					#[codec(index = 16)]
-					CanNotChangeState,
-					#[codec(index = 17)]
-					DoesNotHavePermission,
-					#[codec(index = 18)]
-					MetadataExceedsMaxLen,
-					#[codec(index = 19)]
-					Defensive(runtime_types::pallet_nomination_pools::pallet::DefensiveError),
-					#[codec(index = 20)]
-					PartialUnbondNotAllowedPermissionlessly,
-					#[codec(index = 21)]
-					MaxCommissionRestricted,
-					#[codec(index = 22)]
-					CommissionExceedsMaximum,
-					#[codec(index = 23)]
-					CommissionChangeThrottled,
-					#[codec(index = 24)]
-					CommissionChangeRateNotAllowed,
-					#[codec(index = 25)]
-					NoPendingCommission,
-					#[codec(index = 26)]
-					NoCommissionCurrentSet,
-					#[codec(index = 27)]
-					PoolIdInUse,
-					#[codec(index = 28)]
-					InvalidPoolId,
-					#[codec(index = 29)]
-					BondExtraRestricted,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Created {
-						depositor: ::sp_core::crypto::AccountId32,
-						pool_id: ::core::primitive::u32,
-					},
-					#[codec(index = 1)]
-					Bonded {
-						member: ::sp_core::crypto::AccountId32,
-						pool_id: ::core::primitive::u32,
-						bonded: ::core::primitive::u128,
-						joined: ::core::primitive::bool,
-					},
-					#[codec(index = 2)]
-					PaidOut {
-						member: ::sp_core::crypto::AccountId32,
-						pool_id: ::core::primitive::u32,
-						payout: ::core::primitive::u128,
-					},
-					#[codec(index = 3)]
-					Unbonded {
-						member: ::sp_core::crypto::AccountId32,
-						pool_id: ::core::primitive::u32,
-						balance: ::core::primitive::u128,
-						points: ::core::primitive::u128,
-						era: ::core::primitive::u32,
-					},
-					#[codec(index = 4)]
-					Withdrawn {
-						member: ::sp_core::crypto::AccountId32,
-						pool_id: ::core::primitive::u32,
-						balance: ::core::primitive::u128,
-						points: ::core::primitive::u128,
-					},
-					#[codec(index = 5)]
-					Destroyed { pool_id: ::core::primitive::u32 },
-					#[codec(index = 6)]
-					StateChanged {
-						pool_id: ::core::primitive::u32,
-						new_state: runtime_types::pallet_nomination_pools::PoolState,
-					},
-					#[codec(index = 7)]
-					MemberRemoved {
-						pool_id: ::core::primitive::u32,
-						member: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 8)]
-					RolesUpdated {
-						root: ::core::option::Option<::sp_core::crypto::AccountId32>,
-						bouncer: ::core::option::Option<::sp_core::crypto::AccountId32>,
-						nominator: ::core::option::Option<::sp_core::crypto::AccountId32>,
-					},
-					#[codec(index = 9)]
-					PoolSlashed {
-						pool_id: ::core::primitive::u32,
-						balance: ::core::primitive::u128,
-					},
-					#[codec(index = 10)]
-					UnbondingPoolSlashed {
-						pool_id: ::core::primitive::u32,
-						era: ::core::primitive::u32,
-						balance: ::core::primitive::u128,
-					},
-					#[codec(index = 11)]
-					PoolCommissionUpdated {
-						pool_id: ::core::primitive::u32,
-						current: ::core::option::Option<(
-							runtime_types::sp_arithmetic::per_things::Perbill,
-							::sp_core::crypto::AccountId32,
-						)>,
-					},
-					#[codec(index = 12)]
-					PoolMaxCommissionUpdated {
-						pool_id: ::core::primitive::u32,
-						max_commission: runtime_types::sp_arithmetic::per_things::Perbill,
-					},
-					#[codec(index = 13)]
-					PoolCommissionChangeRateUpdated {
-						pool_id: ::core::primitive::u32,
-						change_rate: runtime_types::pallet_nomination_pools::CommissionChangeRate<
-							::core::primitive::u32,
-						>,
-					},
-					#[codec(index = 14)]
-					PoolCommissionClaimed {
-						pool_id: ::core::primitive::u32,
-						commission: ::core::primitive::u128,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum BondExtra<_0> {
-				#[codec(index = 0)]
-				FreeBalance(_0),
-				#[codec(index = 1)]
-				Rewards,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BondedPoolInner {
-				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<
-					::sp_core::crypto::AccountId32,
-				>,
-				pub state: runtime_types::pallet_nomination_pools::PoolState,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ClaimPermission {
-				#[codec(index = 0)]
-				Permissioned,
-				#[codec(index = 1)]
-				PermissionlessCompound,
-				#[codec(index = 2)]
-				PermissionlessWithdraw,
-				#[codec(index = 3)]
-				PermissionlessAll,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Commission {
-				pub current: ::core::option::Option<(
-					runtime_types::sp_arithmetic::per_things::Perbill,
-					::sp_core::crypto::AccountId32,
-				)>,
-				pub max: ::core::option::Option<runtime_types::sp_arithmetic::per_things::Perbill>,
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct CommissionChangeRate<_0> {
-				pub max_increase: runtime_types::sp_arithmetic::per_things::Perbill,
-				pub min_delay: _0,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ConfigOp<_0> {
-				#[codec(index = 0)]
-				Noop,
-				#[codec(index = 1)]
-				Set(_0),
-				#[codec(index = 2)]
-				Remove,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct PoolMember {
-				pub pool_id: ::core::primitive::u32,
-				pub points: ::core::primitive::u128,
-				pub last_recorded_reward_counter:
-					runtime_types::sp_arithmetic::fixed_point::FixedU128,
-				pub unbonding_eras:
-					runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap<
-						::core::primitive::u32,
-						::core::primitive::u128,
-					>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct PoolRoles<_0> {
-				pub depositor: _0,
-				pub root: ::core::option::Option<_0>,
-				pub nominator: ::core::option::Option<_0>,
-				pub bouncer: ::core::option::Option<_0>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum PoolState {
-				#[codec(index = 0)]
-				Open,
-				#[codec(index = 1)]
-				Blocked,
-				#[codec(index = 2)]
-				Destroying,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RewardPool {
-				pub last_recorded_reward_counter:
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct SubPools {
-				pub no_era: 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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct UnbondPool {
-				pub points: ::core::primitive::u128,
-				pub balance: ::core::primitive::u128,
-			}
-		}
-		pub mod pallet_offences {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Offence {
-						kind: [::core::primitive::u8; 16usize],
-						timeslot: ::std::vec::Vec<::core::primitive::u8>,
-					},
-				}
-			}
-		}
-		pub mod pallet_preimage {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					note_preimage { bytes: ::std::vec::Vec<::core::primitive::u8> },
-					#[codec(index = 1)]
-					unnote_preimage { hash: ::subxt::utils::H256 },
-					#[codec(index = 2)]
-					request_preimage { hash: ::subxt::utils::H256 },
-					#[codec(index = 3)]
-					unrequest_preimage { hash: ::subxt::utils::H256 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					TooBig,
-					#[codec(index = 1)]
-					AlreadyNoted,
-					#[codec(index = 2)]
-					NotAuthorized,
-					#[codec(index = 3)]
-					NotNoted,
-					#[codec(index = 4)]
-					Requested,
-					#[codec(index = 5)]
-					NotRequested,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Noted { hash: ::subxt::utils::H256 },
-					#[codec(index = 1)]
-					Requested { hash: ::subxt::utils::H256 },
-					#[codec(index = 2)]
-					Cleared { hash: ::subxt::utils::H256 },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RequestStatus<_0, _1> {
-				#[codec(index = 0)]
-				Unrequested { deposit: (_0, _1), len: ::core::primitive::u32 },
-				#[codec(index = 1)]
-				Requested {
-					deposit: ::core::option::Option<(_0, _1)>,
-					count: ::core::primitive::u32,
-					len: ::core::option::Option<::core::primitive::u32>,
-				},
-			}
-		}
-		pub mod pallet_proxy {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					proxy {
-						real: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						force_proxy_type:
-							::core::option::Option<runtime_types::westend_runtime::ProxyType>,
-						call: ::std::boxed::Box<runtime_types::westend_runtime::RuntimeCall>,
-					},
-					#[codec(index = 1)]
-					add_proxy {
-						delegate: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						proxy_type: runtime_types::westend_runtime::ProxyType,
-						delay: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					remove_proxy {
-						delegate: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						proxy_type: runtime_types::westend_runtime::ProxyType,
-						delay: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					remove_proxies,
-					#[codec(index = 4)]
-					create_pure {
-						proxy_type: runtime_types::westend_runtime::ProxyType,
-						delay: ::core::primitive::u32,
-						index: ::core::primitive::u16,
-					},
-					#[codec(index = 5)]
-					kill_pure {
-						spawner: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						proxy_type: runtime_types::westend_runtime::ProxyType,
-						index: ::core::primitive::u16,
-						#[codec(compact)]
-						height: ::core::primitive::u32,
-						#[codec(compact)]
-						ext_index: ::core::primitive::u32,
-					},
-					#[codec(index = 6)]
-					announce {
-						real: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						call_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 7)]
-					remove_announcement {
-						real: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						call_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 8)]
-					reject_announcement {
-						delegate: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						call_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 9)]
-					proxy_announced {
-						delegate: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						real: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						force_proxy_type:
-							::core::option::Option<runtime_types::westend_runtime::ProxyType>,
-						call: ::std::boxed::Box<runtime_types::westend_runtime::RuntimeCall>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					TooMany,
-					#[codec(index = 1)]
-					NotFound,
-					#[codec(index = 2)]
-					NotProxy,
-					#[codec(index = 3)]
-					Unproxyable,
-					#[codec(index = 4)]
-					Duplicate,
-					#[codec(index = 5)]
-					NoPermission,
-					#[codec(index = 6)]
-					Unannounced,
-					#[codec(index = 7)]
-					NoSelfProxy,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					ProxyExecuted {
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 1)]
-					PureCreated {
-						pure: ::sp_core::crypto::AccountId32,
-						who: ::sp_core::crypto::AccountId32,
-						proxy_type: runtime_types::westend_runtime::ProxyType,
-						disambiguation_index: ::core::primitive::u16,
-					},
-					#[codec(index = 2)]
-					Announced {
-						real: ::sp_core::crypto::AccountId32,
-						proxy: ::sp_core::crypto::AccountId32,
-						call_hash: ::subxt::utils::H256,
-					},
-					#[codec(index = 3)]
-					ProxyAdded {
-						delegator: ::sp_core::crypto::AccountId32,
-						delegatee: ::sp_core::crypto::AccountId32,
-						proxy_type: runtime_types::westend_runtime::ProxyType,
-						delay: ::core::primitive::u32,
-					},
-					#[codec(index = 4)]
-					ProxyRemoved {
-						delegator: ::sp_core::crypto::AccountId32,
-						delegatee: ::sp_core::crypto::AccountId32,
-						proxy_type: runtime_types::westend_runtime::ProxyType,
-						delay: ::core::primitive::u32,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Announcement<_0, _1, _2> {
-				pub real: _0,
-				pub call_hash: _1,
-				pub height: _2,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ProxyDefinition<_0, _1, _2> {
-				pub delegate: _0,
-				pub proxy_type: _1,
-				pub delay: _2,
-			}
-		}
-		pub mod pallet_recovery {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					as_recovered {
-						account: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						call: ::std::boxed::Box<runtime_types::westend_runtime::RuntimeCall>,
-					},
-					#[codec(index = 1)]
-					set_recovered {
-						lost: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						rescuer: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 2)]
-					create_recovery {
-						friends: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						threshold: ::core::primitive::u16,
-						delay_period: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					initiate_recovery {
-						account: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 4)]
-					vouch_recovery {
-						lost: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						rescuer: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 5)]
-					claim_recovery {
-						account: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 6)]
-					close_recovery {
-						rescuer: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 7)]
-					remove_recovery,
-					#[codec(index = 8)]
-					cancel_recovered {
-						account: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotAllowed,
-					#[codec(index = 1)]
-					ZeroThreshold,
-					#[codec(index = 2)]
-					NotEnoughFriends,
-					#[codec(index = 3)]
-					MaxFriends,
-					#[codec(index = 4)]
-					NotSorted,
-					#[codec(index = 5)]
-					NotRecoverable,
-					#[codec(index = 6)]
-					AlreadyRecoverable,
-					#[codec(index = 7)]
-					AlreadyStarted,
-					#[codec(index = 8)]
-					NotStarted,
-					#[codec(index = 9)]
-					NotFriend,
-					#[codec(index = 10)]
-					DelayPeriod,
-					#[codec(index = 11)]
-					AlreadyVouched,
-					#[codec(index = 12)]
-					Threshold,
-					#[codec(index = 13)]
-					StillActive,
-					#[codec(index = 14)]
-					AlreadyProxy,
-					#[codec(index = 15)]
-					BadState,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					RecoveryCreated { account: ::sp_core::crypto::AccountId32 },
-					#[codec(index = 1)]
-					RecoveryInitiated {
-						lost_account: ::sp_core::crypto::AccountId32,
-						rescuer_account: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 2)]
-					RecoveryVouched {
-						lost_account: ::sp_core::crypto::AccountId32,
-						rescuer_account: ::sp_core::crypto::AccountId32,
-						sender: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 3)]
-					RecoveryClosed {
-						lost_account: ::sp_core::crypto::AccountId32,
-						rescuer_account: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 4)]
-					AccountRecovered {
-						lost_account: ::sp_core::crypto::AccountId32,
-						rescuer_account: ::sp_core::crypto::AccountId32,
-					},
-					#[codec(index = 5)]
-					RecoveryRemoved { lost_account: ::sp_core::crypto::AccountId32 },
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ActiveRecovery<_0, _1, _2> {
-				pub created: _0,
-				pub deposit: _1,
-				pub friends: _2,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RecoveryConfig<_0, _1, _2> {
-				pub delay_period: _0,
-				pub deposit: _1,
-				pub friends: _2,
-				pub threshold: ::core::primitive::u16,
-			}
-		}
-		pub mod pallet_scheduler {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					schedule {
-						when: ::core::primitive::u32,
-						maybe_periodic: ::core::option::Option<(
-							::core::primitive::u32,
-							::core::primitive::u32,
-						)>,
-						priority: ::core::primitive::u8,
-						call: ::std::boxed::Box<runtime_types::westend_runtime::RuntimeCall>,
-					},
-					#[codec(index = 1)]
-					cancel { when: ::core::primitive::u32, index: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					schedule_named {
-						id: [::core::primitive::u8; 32usize],
-						when: ::core::primitive::u32,
-						maybe_periodic: ::core::option::Option<(
-							::core::primitive::u32,
-							::core::primitive::u32,
-						)>,
-						priority: ::core::primitive::u8,
-						call: ::std::boxed::Box<runtime_types::westend_runtime::RuntimeCall>,
-					},
-					#[codec(index = 3)]
-					cancel_named { id: [::core::primitive::u8; 32usize] },
-					#[codec(index = 4)]
-					schedule_after {
-						after: ::core::primitive::u32,
-						maybe_periodic: ::core::option::Option<(
-							::core::primitive::u32,
-							::core::primitive::u32,
-						)>,
-						priority: ::core::primitive::u8,
-						call: ::std::boxed::Box<runtime_types::westend_runtime::RuntimeCall>,
-					},
-					#[codec(index = 5)]
-					schedule_named_after {
-						id: [::core::primitive::u8; 32usize],
-						after: ::core::primitive::u32,
-						maybe_periodic: ::core::option::Option<(
-							::core::primitive::u32,
-							::core::primitive::u32,
-						)>,
-						priority: ::core::primitive::u8,
-						call: ::std::boxed::Box<runtime_types::westend_runtime::RuntimeCall>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					FailedToSchedule,
-					#[codec(index = 1)]
-					NotFound,
-					#[codec(index = 2)]
-					TargetBlockNumberInPast,
-					#[codec(index = 3)]
-					RescheduleNoChange,
-					#[codec(index = 4)]
-					Named,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Scheduled { when: ::core::primitive::u32, index: ::core::primitive::u32 },
-					#[codec(index = 1)]
-					Canceled { when: ::core::primitive::u32, index: ::core::primitive::u32 },
-					#[codec(index = 2)]
-					Dispatched {
-						task: (::core::primitive::u32, ::core::primitive::u32),
-						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 3)]
-					CallUnavailable {
-						task: (::core::primitive::u32, ::core::primitive::u32),
-						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
-					},
-					#[codec(index = 4)]
-					PeriodicFailed {
-						task: (::core::primitive::u32, ::core::primitive::u32),
-						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
-					},
-					#[codec(index = 5)]
-					PermanentlyOverweight {
-						task: (::core::primitive::u32, ::core::primitive::u32),
-						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Scheduled<_0, _1, _2, _3, _4> {
-				pub maybe_id: ::core::option::Option<_0>,
-				pub priority: ::core::primitive::u8,
-				pub call: _1,
-				pub maybe_periodic: ::core::option::Option<(_2, _2)>,
-				pub origin: _3,
-				#[codec(skip)]
-				pub __subxt_unused_type_params: ::core::marker::PhantomData<_4>,
-			}
-		}
-		pub mod pallet_session {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					set_keys {
-						keys: runtime_types::westend_runtime::SessionKeys,
-						proof: ::std::vec::Vec<::core::primitive::u8>,
-					},
-					#[codec(index = 1)]
-					purge_keys,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					InvalidProof,
-					#[codec(index = 1)]
-					NoAssociatedValidatorId,
-					#[codec(index = 2)]
-					DuplicatedKey,
-					#[codec(index = 3)]
-					NoKeys,
-					#[codec(index = 4)]
-					NoAccount,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					NewSession { session_index: ::core::primitive::u32 },
-				}
-			}
-		}
-		pub mod pallet_staking {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						bond {
-							#[codec(compact)]
-							value: ::core::primitive::u128,
-							payee: runtime_types::pallet_staking::RewardDestination<
-								::sp_core::crypto::AccountId32,
-							>,
-						},
-						#[codec(index = 1)]
-						bond_extra {
-							#[codec(compact)]
-							max_additional: ::core::primitive::u128,
-						},
-						#[codec(index = 2)]
-						unbond {
-							#[codec(compact)]
-							value: ::core::primitive::u128,
-						},
-						#[codec(index = 3)]
-						withdraw_unbonded { num_slashing_spans: ::core::primitive::u32 },
-						#[codec(index = 4)]
-						validate { prefs: runtime_types::pallet_staking::ValidatorPrefs },
-						#[codec(index = 5)]
-						nominate {
-							targets: ::std::vec::Vec<
-								::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-							>,
-						},
-						#[codec(index = 6)]
-						chill,
-						#[codec(index = 7)]
-						set_payee {
-							payee: runtime_types::pallet_staking::RewardDestination<
-								::sp_core::crypto::AccountId32,
-							>,
-						},
-						#[codec(index = 8)]
-						set_controller,
-						#[codec(index = 9)]
-						set_validator_count {
-							#[codec(compact)]
-							new: ::core::primitive::u32,
-						},
-						#[codec(index = 10)]
-						increase_validator_count {
-							#[codec(compact)]
-							additional: ::core::primitive::u32,
-						},
-						#[codec(index = 11)]
-						scale_validator_count {
-							factor: runtime_types::sp_arithmetic::per_things::Percent,
-						},
-						#[codec(index = 12)]
-						force_no_eras,
-						#[codec(index = 13)]
-						force_new_era,
-						#[codec(index = 14)]
-						set_invulnerables {
-							invulnerables: ::std::vec::Vec<::sp_core::crypto::AccountId32>,
-						},
-						#[codec(index = 15)]
-						force_unstake {
-							stash: ::sp_core::crypto::AccountId32,
-							num_slashing_spans: ::core::primitive::u32,
-						},
-						#[codec(index = 16)]
-						force_new_era_always,
-						#[codec(index = 17)]
-						cancel_deferred_slash {
-							era: ::core::primitive::u32,
-							slash_indices: ::std::vec::Vec<::core::primitive::u32>,
-						},
-						#[codec(index = 18)]
-						payout_stakers {
-							validator_stash: ::sp_core::crypto::AccountId32,
-							era: ::core::primitive::u32,
-						},
-						#[codec(index = 19)]
-						rebond {
-							#[codec(compact)]
-							value: ::core::primitive::u128,
-						},
-						#[codec(index = 20)]
-						reap_stash {
-							stash: ::sp_core::crypto::AccountId32,
-							num_slashing_spans: ::core::primitive::u32,
-						},
-						#[codec(index = 21)]
-						kick {
-							who: ::std::vec::Vec<
-								::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-							>,
-						},
-						#[codec(index = 22)]
-						set_staking_configs {
-							min_nominator_bond:
-								runtime_types::pallet_staking::pallet::pallet::ConfigOp<
-									::core::primitive::u128,
-								>,
-							min_validator_bond:
-								runtime_types::pallet_staking::pallet::pallet::ConfigOp<
-									::core::primitive::u128,
-								>,
-							max_nominator_count:
-								runtime_types::pallet_staking::pallet::pallet::ConfigOp<
-									::core::primitive::u32,
-								>,
-							max_validator_count:
-								runtime_types::pallet_staking::pallet::pallet::ConfigOp<
-									::core::primitive::u32,
-								>,
-							chill_threshold:
-								runtime_types::pallet_staking::pallet::pallet::ConfigOp<
-									runtime_types::sp_arithmetic::per_things::Percent,
-								>,
-							min_commission: runtime_types::pallet_staking::pallet::pallet::ConfigOp<
-								runtime_types::sp_arithmetic::per_things::Perbill,
-							>,
-						},
-						#[codec(index = 23)]
-						chill_other { controller: ::sp_core::crypto::AccountId32 },
-						#[codec(index = 24)]
-						force_apply_min_commission {
-							validator_stash: ::sp_core::crypto::AccountId32,
-						},
-						#[codec(index = 25)]
-						set_min_commission {
-							new: runtime_types::sp_arithmetic::per_things::Perbill,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum ConfigOp<_0> {
-						#[codec(index = 0)]
-						Noop,
-						#[codec(index = 1)]
-						Set(_0),
-						#[codec(index = 2)]
-						Remove,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						NotController,
-						#[codec(index = 1)]
-						NotStash,
-						#[codec(index = 2)]
-						AlreadyBonded,
-						#[codec(index = 3)]
-						AlreadyPaired,
-						#[codec(index = 4)]
-						EmptyTargets,
-						#[codec(index = 5)]
-						DuplicateIndex,
-						#[codec(index = 6)]
-						InvalidSlashIndex,
-						#[codec(index = 7)]
-						InsufficientBond,
-						#[codec(index = 8)]
-						NoMoreChunks,
-						#[codec(index = 9)]
-						NoUnlockChunk,
-						#[codec(index = 10)]
-						FundedTarget,
-						#[codec(index = 11)]
-						InvalidEraToReward,
-						#[codec(index = 12)]
-						InvalidNumberOfNominations,
-						#[codec(index = 13)]
-						NotSortedAndUnique,
-						#[codec(index = 14)]
-						AlreadyClaimed,
-						#[codec(index = 15)]
-						IncorrectHistoryDepth,
-						#[codec(index = 16)]
-						IncorrectSlashingSpans,
-						#[codec(index = 17)]
-						BadState,
-						#[codec(index = 18)]
-						TooManyTargets,
-						#[codec(index = 19)]
-						BadTarget,
-						#[codec(index = 20)]
-						CannotChillOther,
-						#[codec(index = 21)]
-						TooManyNominators,
-						#[codec(index = 22)]
-						TooManyValidators,
-						#[codec(index = 23)]
-						CommissionTooLow,
-						#[codec(index = 24)]
-						BoundNotMet,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						EraPaid {
-							era_index: ::core::primitive::u32,
-							validator_payout: ::core::primitive::u128,
-							remainder: ::core::primitive::u128,
-						},
-						#[codec(index = 1)]
-						Rewarded {
-							stash: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 2)]
-						Slashed {
-							staker: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 3)]
-						SlashReported {
-							validator: ::sp_core::crypto::AccountId32,
-							fraction: runtime_types::sp_arithmetic::per_things::Perbill,
-							slash_era: ::core::primitive::u32,
-						},
-						#[codec(index = 4)]
-						OldSlashingReportDiscarded { session_index: ::core::primitive::u32 },
-						#[codec(index = 5)]
-						StakersElected,
-						#[codec(index = 6)]
-						Bonded {
-							stash: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 7)]
-						Unbonded {
-							stash: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 8)]
-						Withdrawn {
-							stash: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 9)]
-						Kicked {
-							nominator: ::sp_core::crypto::AccountId32,
-							stash: ::sp_core::crypto::AccountId32,
-						},
-						#[codec(index = 10)]
-						StakingElectionFailed,
-						#[codec(index = 11)]
-						Chilled { stash: ::sp_core::crypto::AccountId32 },
-						#[codec(index = 12)]
-						PayoutStarted {
-							era_index: ::core::primitive::u32,
-							validator_stash: ::sp_core::crypto::AccountId32,
-						},
-						#[codec(index = 13)]
-						ValidatorPrefsSet {
-							stash: ::sp_core::crypto::AccountId32,
-							prefs: runtime_types::pallet_staking::ValidatorPrefs,
-						},
-						#[codec(index = 14)]
-						ForceEra { mode: runtime_types::pallet_staking::Forcing },
-					}
-				}
-			}
-			pub mod slashing {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SlashingSpans {
-					pub span_index: ::core::primitive::u32,
-					pub last_start: ::core::primitive::u32,
-					pub last_nonzero_slash: ::core::primitive::u32,
-					pub prior: ::std::vec::Vec<::core::primitive::u32>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SpanRecord<_0> {
-					pub slashed: _0,
-					pub paid_out: _0,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ActiveEraInfo {
-				pub index: ::core::primitive::u32,
-				pub start: ::core::option::Option<::core::primitive::u64>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct EraRewardPoints<_0> {
-				pub total: ::core::primitive::u32,
-				pub individual: ::subxt::utils::KeyedVec<_0, ::core::primitive::u32>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Exposure<_0, _1> {
-				#[codec(compact)]
-				pub total: _1,
-				#[codec(compact)]
-				pub own: _1,
-				pub others:
-					::std::vec::Vec<runtime_types::pallet_staking::IndividualExposure<_0, _1>>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Forcing {
-				#[codec(index = 0)]
-				NotForcing,
-				#[codec(index = 1)]
-				ForceNew,
-				#[codec(index = 2)]
-				ForceNone,
-				#[codec(index = 3)]
-				ForceAlways,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct IndividualExposure<_0, _1> {
-				pub who: _0,
-				#[codec(compact)]
-				pub value: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Nominations {
-				pub targets: runtime_types::bounded_collections::bounded_vec::BoundedVec<
-					::sp_core::crypto::AccountId32,
-				>,
-				pub submitted_in: ::core::primitive::u32,
-				pub suppressed: ::core::primitive::bool,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RewardDestination<_0> {
-				#[codec(index = 0)]
-				Staked,
-				#[codec(index = 1)]
-				Stash,
-				#[codec(index = 2)]
-				Controller,
-				#[codec(index = 3)]
-				Account(_0),
-				#[codec(index = 4)]
-				None,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct StakingLedger {
-				pub stash: ::sp_core::crypto::AccountId32,
-				#[codec(compact)]
-				pub total: ::core::primitive::u128,
-				#[codec(compact)]
-				pub active: ::core::primitive::u128,
-				pub unlocking: runtime_types::bounded_collections::bounded_vec::BoundedVec<
-					runtime_types::pallet_staking::UnlockChunk<::core::primitive::u128>,
-				>,
-				pub claimed_rewards: runtime_types::bounded_collections::bounded_vec::BoundedVec<
-					::core::primitive::u32,
-				>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct UnappliedSlash<_0, _1> {
-				pub validator: _0,
-				pub own: _1,
-				pub others: ::std::vec::Vec<(_0, _1)>,
-				pub reporters: ::std::vec::Vec<_0>,
-				pub payout: _1,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct UnlockChunk<_0> {
-				#[codec(compact)]
-				pub value: _0,
-				#[codec(compact)]
-				pub era: ::core::primitive::u32,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ValidatorPrefs {
-				#[codec(compact)]
-				pub commission: runtime_types::sp_arithmetic::per_things::Perbill,
-				pub blocked: ::core::primitive::bool,
-			}
-		}
-		pub mod pallet_sudo {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					sudo { call: ::std::boxed::Box<runtime_types::westend_runtime::RuntimeCall> },
-					#[codec(index = 1)]
-					sudo_unchecked_weight {
-						call: ::std::boxed::Box<runtime_types::westend_runtime::RuntimeCall>,
-						weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 2)]
-					set_key {
-						new: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 3)]
-					sudo_as {
-						who: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						call: ::std::boxed::Box<runtime_types::westend_runtime::RuntimeCall>,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					RequireSudo,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Sudid {
-						sudo_result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-					#[codec(index = 1)]
-					KeyChanged {
-						old_sudoer: ::core::option::Option<::sp_core::crypto::AccountId32>,
-					},
-					#[codec(index = 2)]
-					SudoAsDone {
-						sudo_result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-				}
-			}
-		}
-		pub mod pallet_timestamp {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					set {
-						#[codec(compact)]
-						now: ::core::primitive::u64,
-					},
-				}
-			}
-		}
-		pub mod pallet_transaction_payment {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					TransactionFeePaid {
-						who: ::sp_core::crypto::AccountId32,
-						actual_fee: ::core::primitive::u128,
-						tip: ::core::primitive::u128,
-					},
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ChargeTransactionPayment(#[codec(compact)] pub ::core::primitive::u128);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Releases {
-				#[codec(index = 0)]
-				V1Ancient,
-				#[codec(index = 1)]
-				V2,
-			}
-		}
-		pub mod pallet_utility {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					batch { calls: ::std::vec::Vec<runtime_types::westend_runtime::RuntimeCall> },
-					#[codec(index = 1)]
-					as_derivative {
-						index: ::core::primitive::u16,
-						call: ::std::boxed::Box<runtime_types::westend_runtime::RuntimeCall>,
-					},
-					#[codec(index = 2)]
-					batch_all {
-						calls: ::std::vec::Vec<runtime_types::westend_runtime::RuntimeCall>,
-					},
-					#[codec(index = 3)]
-					dispatch_as {
-						as_origin: ::std::boxed::Box<runtime_types::westend_runtime::OriginCaller>,
-						call: ::std::boxed::Box<runtime_types::westend_runtime::RuntimeCall>,
-					},
-					#[codec(index = 4)]
-					force_batch {
-						calls: ::std::vec::Vec<runtime_types::westend_runtime::RuntimeCall>,
-					},
-					#[codec(index = 5)]
-					with_weight {
-						call: ::std::boxed::Box<runtime_types::westend_runtime::RuntimeCall>,
-						weight: ::sp_weights::Weight,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					TooManyCalls,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					BatchInterrupted {
-						index: ::core::primitive::u32,
-						error: runtime_types::sp_runtime::DispatchError,
-					},
-					#[codec(index = 1)]
-					BatchCompleted,
-					#[codec(index = 2)]
-					BatchCompletedWithErrors,
-					#[codec(index = 3)]
-					ItemCompleted,
-					#[codec(index = 4)]
-					ItemFailed { error: runtime_types::sp_runtime::DispatchError },
-					#[codec(index = 5)]
-					DispatchedAs {
-						result:
-							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
-					},
-				}
-			}
-		}
-		pub mod pallet_vesting {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					vest,
-					#[codec(index = 1)]
-					vest_other {
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-					},
-					#[codec(index = 2)]
-					vested_transfer {
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo<
-							::core::primitive::u128,
-							::core::primitive::u32,
-						>,
-					},
-					#[codec(index = 3)]
-					force_vested_transfer {
-						source: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						target: ::subxt::utils::MultiAddress<::sp_core::crypto::AccountId32, ()>,
-						schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo<
-							::core::primitive::u128,
-							::core::primitive::u32,
-						>,
-					},
-					#[codec(index = 4)]
-					merge_schedules {
-						schedule1_index: ::core::primitive::u32,
-						schedule2_index: ::core::primitive::u32,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					NotVesting,
-					#[codec(index = 1)]
-					AtMaxVestingSchedules,
-					#[codec(index = 2)]
-					AmountLow,
-					#[codec(index = 3)]
-					ScheduleIndexOutOfBounds,
-					#[codec(index = 4)]
-					InvalidScheduleParams,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					VestingUpdated {
-						account: ::sp_core::crypto::AccountId32,
-						unvested: ::core::primitive::u128,
-					},
-					#[codec(index = 1)]
-					VestingCompleted { account: ::sp_core::crypto::AccountId32 },
-				}
-			}
-			pub mod vesting_info {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct VestingInfo<_0, _1> {
-					pub locked: _0,
-					pub per_block: _0,
-					pub starting_block: _1,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Releases {
-				#[codec(index = 0)]
-				V0,
-				#[codec(index = 1)]
-				V1,
-			}
-		}
-		pub mod pallet_xcm {
-			use super::runtime_types;
-			pub mod pallet {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Call {
-					#[codec(index = 0)]
-					send {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						message: ::std::boxed::Box<runtime_types::xcm::VersionedXcm>,
-					},
-					#[codec(index = 1)]
-					teleport_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedMultiAssets>,
-						fee_asset_item: ::core::primitive::u32,
-					},
-					#[codec(index = 2)]
-					reserve_transfer_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedMultiAssets>,
-						fee_asset_item: ::core::primitive::u32,
-					},
-					#[codec(index = 3)]
-					execute {
-						message: ::std::boxed::Box<runtime_types::xcm::VersionedXcm>,
-						max_weight: ::sp_weights::Weight,
-					},
-					#[codec(index = 4)]
-					force_xcm_version {
-						location:
-							::std::boxed::Box<runtime_types::xcm::v3::multilocation::MultiLocation>,
-						xcm_version: ::core::primitive::u32,
-					},
-					#[codec(index = 5)]
-					force_default_xcm_version {
-						maybe_xcm_version: ::core::option::Option<::core::primitive::u32>,
-					},
-					#[codec(index = 6)]
-					force_subscribe_version_notify {
-						location: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-					},
-					#[codec(index = 7)]
-					force_unsubscribe_version_notify {
-						location: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-					},
-					#[codec(index = 8)]
-					limited_reserve_transfer_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedMultiAssets>,
-						fee_asset_item: ::core::primitive::u32,
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-					},
-					#[codec(index = 9)]
-					limited_teleport_assets {
-						dest: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						beneficiary: ::std::boxed::Box<runtime_types::xcm::VersionedMultiLocation>,
-						assets: ::std::boxed::Box<runtime_types::xcm::VersionedMultiAssets>,
-						fee_asset_item: ::core::primitive::u32,
-						weight_limit: runtime_types::xcm::v3::WeightLimit,
-					},
-					#[codec(index = 10)]
-					force_suspension { suspended: ::core::primitive::bool },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Error {
-					#[codec(index = 0)]
-					Unreachable,
-					#[codec(index = 1)]
-					SendFailure,
-					#[codec(index = 2)]
-					Filtered,
-					#[codec(index = 3)]
-					UnweighableMessage,
-					#[codec(index = 4)]
-					DestinationNotInvertible,
-					#[codec(index = 5)]
-					Empty,
-					#[codec(index = 6)]
-					CannotReanchor,
-					#[codec(index = 7)]
-					TooManyAssets,
-					#[codec(index = 8)]
-					InvalidOrigin,
-					#[codec(index = 9)]
-					BadVersion,
-					#[codec(index = 10)]
-					BadLocation,
-					#[codec(index = 11)]
-					NoSubscription,
-					#[codec(index = 12)]
-					AlreadySubscribed,
-					#[codec(index = 13)]
-					InvalidAsset,
-					#[codec(index = 14)]
-					LowBalance,
-					#[codec(index = 15)]
-					TooManyLocks,
-					#[codec(index = 16)]
-					AccountNotSovereign,
-					#[codec(index = 17)]
-					FeesNotMet,
-					#[codec(index = 18)]
-					LockNotFound,
-					#[codec(index = 19)]
-					InUse,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Event {
-					#[codec(index = 0)]
-					Attempted(runtime_types::xcm::v3::traits::Outcome),
-					#[codec(index = 1)]
-					Sent(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::v3::Xcm,
-					),
-					#[codec(index = 2)]
-					UnexpectedResponse(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u64,
-					),
-					#[codec(index = 3)]
-					ResponseReady(::core::primitive::u64, runtime_types::xcm::v3::Response),
-					#[codec(index = 4)]
-					Notified(::core::primitive::u64, ::core::primitive::u8, ::core::primitive::u8),
-					#[codec(index = 5)]
-					NotifyOverweight(
-						::core::primitive::u64,
-						::core::primitive::u8,
-						::core::primitive::u8,
-						::sp_weights::Weight,
-						::sp_weights::Weight,
-					),
-					#[codec(index = 6)]
-					NotifyDispatchError(
-						::core::primitive::u64,
-						::core::primitive::u8,
-						::core::primitive::u8,
-					),
-					#[codec(index = 7)]
-					NotifyDecodeFailed(
-						::core::primitive::u64,
-						::core::primitive::u8,
-						::core::primitive::u8,
-					),
-					#[codec(index = 8)]
-					InvalidResponder(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u64,
-						::core::option::Option<
-							runtime_types::xcm::v3::multilocation::MultiLocation,
-						>,
-					),
-					#[codec(index = 9)]
-					InvalidResponderVersion(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u64,
-					),
-					#[codec(index = 10)]
-					ResponseTaken(::core::primitive::u64),
-					#[codec(index = 11)]
-					AssetsTrapped(
-						::subxt::utils::H256,
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::VersionedMultiAssets,
-					),
-					#[codec(index = 12)]
-					VersionChangeNotified(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u32,
-						runtime_types::xcm::v3::multiasset::MultiAssets,
-					),
-					#[codec(index = 13)]
-					SupportedVersionChanged(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u32,
-					),
-					#[codec(index = 14)]
-					NotifyTargetSendFail(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u64,
-						runtime_types::xcm::v3::traits::Error,
-					),
-					#[codec(index = 15)]
-					NotifyTargetMigrationFail(
-						runtime_types::xcm::VersionedMultiLocation,
-						::core::primitive::u64,
-					),
-					#[codec(index = 16)]
-					InvalidQuerierVersion(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						::core::primitive::u64,
-					),
-					#[codec(index = 17)]
-					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)]
-					VersionNotifyStarted(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::v3::multiasset::MultiAssets,
-					),
-					#[codec(index = 19)]
-					VersionNotifyRequested(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::v3::multiasset::MultiAssets,
-					),
-					#[codec(index = 20)]
-					VersionNotifyUnrequested(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::v3::multiasset::MultiAssets,
-					),
-					#[codec(index = 21)]
-					FeesPaid(
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::v3::multiasset::MultiAssets,
-					),
-					#[codec(index = 22)]
-					AssetsClaimed(
-						::subxt::utils::H256,
-						runtime_types::xcm::v3::multilocation::MultiLocation,
-						runtime_types::xcm::VersionedMultiAssets,
-					),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Origin {
-					#[codec(index = 0)]
-					Xcm(runtime_types::xcm::v3::multilocation::MultiLocation),
-					#[codec(index = 1)]
-					Response(runtime_types::xcm::v3::multilocation::MultiLocation),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum QueryStatus<_0> {
-					#[codec(index = 0)]
-					Pending {
-						responder: runtime_types::xcm::VersionedMultiLocation,
-						maybe_match_querier:
-							::core::option::Option<runtime_types::xcm::VersionedMultiLocation>,
-						maybe_notify:
-							::core::option::Option<(::core::primitive::u8, ::core::primitive::u8)>,
-						timeout: _0,
-					},
-					#[codec(index = 1)]
-					VersionNotifier {
-						origin: runtime_types::xcm::VersionedMultiLocation,
-						is_active: ::core::primitive::bool,
-					},
-					#[codec(index = 2)]
-					Ready { response: runtime_types::xcm::VersionedResponse, at: _0 },
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct RemoteLockedFungibleRecord<_0> {
-					pub amount: ::core::primitive::u128,
-					pub owner: runtime_types::xcm::VersionedMultiLocation,
-					pub locker: runtime_types::xcm::VersionedMultiLocation,
-					pub consumers: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
-						_0,
-						::core::primitive::u128,
-					)>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum VersionMigrationStage {
-					#[codec(index = 0)]
-					MigrateSupportedVersion,
-					#[codec(index = 1)]
-					MigrateVersionNotifiers,
-					#[codec(index = 2)]
-					NotifyCurrentTargets(
-						::core::option::Option<::std::vec::Vec<::core::primitive::u8>>,
-					),
-					#[codec(index = 3)]
-					MigrateAndNotifyOldTargets,
-				}
-			}
-		}
-		pub mod polkadot_core_primitives {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct CandidateHash(pub ::subxt::utils::H256);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundDownwardMessage<_0> {
-				pub sent_at: _0,
-				pub msg: ::std::vec::Vec<::core::primitive::u8>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct InboundHrmpMessage<_0> {
-				pub sent_at: _0,
-				pub data: ::std::vec::Vec<::core::primitive::u8>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OutboundHrmpMessage<_0> {
-				pub recipient: _0,
-				pub data: ::std::vec::Vec<::core::primitive::u8>,
-			}
-		}
-		pub mod polkadot_parachain {
-			use super::runtime_types;
-			pub mod primitives {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HeadData(pub ::std::vec::Vec<::core::primitive::u8>);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HrmpChannelId {
-					pub sender: runtime_types::polkadot_parachain::primitives::Id,
-					pub recipient: runtime_types::polkadot_parachain::primitives::Id,
-				}
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct Id(pub ::core::primitive::u32);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ValidationCode(pub ::std::vec::Vec<::core::primitive::u8>);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ValidationCodeHash(pub ::subxt::utils::H256);
-			}
-		}
-		pub mod polkadot_primitives {
-			use super::runtime_types;
-			pub mod v4 {
-				use super::runtime_types;
-				pub mod assignment_app {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-				}
-				pub mod collator_app {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Signature(pub runtime_types::sp_core::sr25519::Signature);
-				}
-				pub mod executor_params {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct ExecutorParams(
-						pub  ::std::vec::Vec<
-							runtime_types::polkadot_primitives::v4::executor_params::ExecutorParam,
-						>,
-					);
-				}
-				pub mod signed {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct UncheckedSigned<_0, _1> {
-						pub payload: _0,
-						pub validator_index: runtime_types::polkadot_primitives::v4::ValidatorIndex,
-						pub signature:
-							runtime_types::polkadot_primitives::v4::validator_app::Signature,
-						#[codec(skip)]
-						pub __subxt_unused_type_params: ::core::marker::PhantomData<_1>,
-					}
-				}
-				pub mod validator_app {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct Signature(pub runtime_types::sp_core::sr25519::Signature);
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AvailabilityBitfield(
-					pub  ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-				);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BackedCandidate<_0> {
-					pub candidate:
-						runtime_types::polkadot_primitives::v4::CommittedCandidateReceipt<_0>,
-					pub validity_votes: ::std::vec::Vec<
-						runtime_types::polkadot_primitives::v4::ValidityAttestation,
-					>,
-					pub validator_indices: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CandidateCommitments<_0> {
-					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,
-					>,
-					pub head_data: runtime_types::polkadot_parachain::primitives::HeadData,
-					pub processed_downward_messages: _0,
-					pub hrmp_watermark: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CandidateDescriptor<_0> {
-					pub para_id: runtime_types::polkadot_parachain::primitives::Id,
-					pub relay_parent: _0,
-					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::v4::collator_app::Signature,
-					pub para_head: _0,
-					pub validation_code_hash:
-						runtime_types::polkadot_parachain::primitives::ValidationCodeHash,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CandidateReceipt<_0> {
-					pub descriptor: runtime_types::polkadot_primitives::v4::CandidateDescriptor<_0>,
-					pub commitments_hash: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CommittedCandidateReceipt<_0> {
-					pub descriptor: runtime_types::polkadot_primitives::v4::CandidateDescriptor<_0>,
-					pub commitments: runtime_types::polkadot_primitives::v4::CandidateCommitments<
-						::core::primitive::u32,
-					>,
-				}
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct CoreIndex(pub ::core::primitive::u32);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum CoreOccupied {
-					#[codec(index = 0)]
-					Parathread(runtime_types::polkadot_primitives::v4::ParathreadEntry),
-					#[codec(index = 1)]
-					Parachain,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DisputeState<_0> {
-					pub validators_for: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-					pub validators_against: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-					pub start: _0,
-					pub concluded_at: ::core::option::Option<_0>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum DisputeStatement {
-					#[codec(index = 0)]
-					Valid(runtime_types::polkadot_primitives::v4::ValidDisputeStatementKind),
-					#[codec(index = 1)]
-					Invalid(runtime_types::polkadot_primitives::v4::InvalidDisputeStatementKind),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DisputeStatementSet {
-					pub candidate_hash: runtime_types::polkadot_core_primitives::CandidateHash,
-					pub session: ::core::primitive::u32,
-					pub statements: ::std::vec::Vec<(
-						runtime_types::polkadot_primitives::v4::DisputeStatement,
-						runtime_types::polkadot_primitives::v4::ValidatorIndex,
-						runtime_types::polkadot_primitives::v4::validator_app::Signature,
-					)>,
-				}
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct GroupIndex(pub ::core::primitive::u32);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct IndexedVec<_0, _1>(
-					pub ::std::vec::Vec<_1>,
-					#[codec(skip)] pub ::core::marker::PhantomData<_0>,
-				);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct InherentData<_0> {
-					pub bitfields: ::std::vec::Vec<
-						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::v4::BackedCandidate<
-							::subxt::utils::H256,
-						>,
-					>,
-					pub disputes: ::std::vec::Vec<
-						runtime_types::polkadot_primitives::v4::DisputeStatementSet,
-					>,
-					pub parent_header: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum InvalidDisputeStatementKind {
-					#[codec(index = 0)]
-					Explicit,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParathreadClaim(
-					pub runtime_types::polkadot_parachain::primitives::Id,
-					pub runtime_types::polkadot_primitives::v4::collator_app::Public,
-				);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParathreadEntry {
-					pub claim: runtime_types::polkadot_primitives::v4::ParathreadClaim,
-					pub retries: ::core::primitive::u32,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PvfCheckStatement {
-					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::v4::ValidatorIndex,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum PvfExecTimeoutKind {
-					#[codec(index = 0)]
-					Backing,
-					#[codec(index = 1)]
-					Approval,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum PvfPrepTimeoutKind {
-					#[codec(index = 0)]
-					Precheck,
-					#[codec(index = 1)]
-					Lenient,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ScrapedOnChainVotes<_0> {
-					pub session: ::core::primitive::u32,
-					pub backing_validators_per_candidate: ::std::vec::Vec<(
-						runtime_types::polkadot_primitives::v4::CandidateReceipt<_0>,
-						::std::vec::Vec<(
-							runtime_types::polkadot_primitives::v4::ValidatorIndex,
-							runtime_types::polkadot_primitives::v4::ValidityAttestation,
-						)>,
-					)>,
-					pub disputes: ::std::vec::Vec<
-						runtime_types::polkadot_primitives::v4::DisputeStatementSet,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SessionInfo {
-					pub active_validator_indices:
-						::std::vec::Vec<runtime_types::polkadot_primitives::v4::ValidatorIndex>,
-					pub random_seed: [::core::primitive::u8; 32usize],
-					pub dispute_period: ::core::primitive::u32,
-					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<runtime_types::sp_authority_discovery::app::Public>,
-					pub assignment_keys: ::std::vec::Vec<
-						runtime_types::polkadot_primitives::v4::assignment_app::Public,
-					>,
-					pub validator_groups: runtime_types::polkadot_primitives::v4::IndexedVec<
-						runtime_types::polkadot_primitives::v4::GroupIndex,
-						::std::vec::Vec<runtime_types::polkadot_primitives::v4::ValidatorIndex>,
-					>,
-					pub n_cores: ::core::primitive::u32,
-					pub zeroth_delay_tranche_width: ::core::primitive::u32,
-					pub relay_vrf_modulo_samples: ::core::primitive::u32,
-					pub n_delay_tranches: ::core::primitive::u32,
-					pub no_show_slots: ::core::primitive::u32,
-					pub needed_approvals: ::core::primitive::u32,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum UpgradeGoAhead {
-					#[codec(index = 0)]
-					Abort,
-					#[codec(index = 1)]
-					GoAhead,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum UpgradeRestriction {
-					#[codec(index = 0)]
-					Present,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum ValidDisputeStatementKind {
-					#[codec(index = 0)]
-					Explicit,
-					#[codec(index = 1)]
-					BackingSeconded(::subxt::utils::H256),
-					#[codec(index = 2)]
-					BackingValid(::subxt::utils::H256),
-					#[codec(index = 3)]
-					ApprovalChecking,
-				}
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct ValidatorIndex(pub ::core::primitive::u32);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum ValidityAttestation {
-					#[codec(index = 1)]
-					Implicit(runtime_types::polkadot_primitives::v4::validator_app::Signature),
-					#[codec(index = 2)]
-					Explicit(runtime_types::polkadot_primitives::v4::validator_app::Signature),
-				}
-			}
-			pub mod vstaging {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AsyncBackingParams {
-					pub max_candidate_depth: ::core::primitive::u32,
-					pub allowed_ancestry_len: ::core::primitive::u32,
-				}
-			}
-		}
-		pub mod polkadot_runtime_common {
-			use super::runtime_types;
-			pub mod assigned_slots {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						# [codec (index = 0)] assign_perm_parachain_slot { id : runtime_types :: polkadot_parachain :: primitives :: Id , } , # [codec (index = 1)] assign_temp_parachain_slot { id : runtime_types :: polkadot_parachain :: primitives :: Id , lease_period_start : runtime_types :: polkadot_runtime_common :: assigned_slots :: SlotLeasePeriodStart , } , # [codec (index = 2)] unassign_parachain_slot { id : runtime_types :: polkadot_parachain :: primitives :: Id , } , }
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						ParaDoesntExist,
-						#[codec(index = 1)]
-						NotParathread,
-						#[codec(index = 2)]
-						CannotUpgrade,
-						#[codec(index = 3)]
-						CannotDowngrade,
-						#[codec(index = 4)]
-						SlotAlreadyAssigned,
-						#[codec(index = 5)]
-						SlotNotAssigned,
-						#[codec(index = 6)]
-						OngoingLeaseExists,
-						#[codec(index = 7)]
-						MaxPermanentSlotsExceeded,
-						#[codec(index = 8)]
-						MaxTemporarySlotsExceeded,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						PermanentSlotAssigned(runtime_types::polkadot_parachain::primitives::Id),
-						#[codec(index = 1)]
-						TemporarySlotAssigned(runtime_types::polkadot_parachain::primitives::Id),
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParachainTemporarySlot<_0, _1> {
-					pub manager: _0,
-					pub period_begin: _1,
-					pub period_count: _1,
-					pub last_lease: ::core::option::Option<_1>,
-					pub lease_count: _1,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum SlotLeasePeriodStart {
-					#[codec(index = 0)]
-					Current,
-					#[codec(index = 1)]
-					Next,
-				}
-			}
-			pub mod auctions {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						new_auction {
-							#[codec(compact)]
-							duration: ::core::primitive::u32,
-							#[codec(compact)]
-							lease_period_index: ::core::primitive::u32,
-						},
-						#[codec(index = 1)]
-						bid {
-							#[codec(compact)]
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							#[codec(compact)]
-							auction_index: ::core::primitive::u32,
-							#[codec(compact)]
-							first_slot: ::core::primitive::u32,
-							#[codec(compact)]
-							last_slot: ::core::primitive::u32,
-							#[codec(compact)]
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 2)]
-						cancel_auction,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						AuctionInProgress,
-						#[codec(index = 1)]
-						LeasePeriodInPast,
-						#[codec(index = 2)]
-						ParaNotRegistered,
-						#[codec(index = 3)]
-						NotCurrentAuction,
-						#[codec(index = 4)]
-						NotAuction,
-						#[codec(index = 5)]
-						AuctionEnded,
-						#[codec(index = 6)]
-						AlreadyLeasedOut,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						AuctionStarted {
-							auction_index: ::core::primitive::u32,
-							lease_period: ::core::primitive::u32,
-							ending: ::core::primitive::u32,
-						},
-						#[codec(index = 1)]
-						AuctionClosed { auction_index: ::core::primitive::u32 },
-						#[codec(index = 2)]
-						Reserved {
-							bidder: ::sp_core::crypto::AccountId32,
-							extra_reserved: ::core::primitive::u128,
-							total_amount: ::core::primitive::u128,
-						},
-						#[codec(index = 3)]
-						Unreserved {
-							bidder: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 4)]
-						ReserveConfiscated {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							leaser: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 5)]
-						BidAccepted {
-							bidder: ::sp_core::crypto::AccountId32,
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							amount: ::core::primitive::u128,
-							first_slot: ::core::primitive::u32,
-							last_slot: ::core::primitive::u32,
-						},
-						#[codec(index = 6)]
-						WinningOffset {
-							auction_index: ::core::primitive::u32,
-							block_number: ::core::primitive::u32,
-						},
-					}
-				}
-			}
-			pub mod crowdloan {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						create {
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-							#[codec(compact)]
-							cap: ::core::primitive::u128,
-							#[codec(compact)]
-							first_period: ::core::primitive::u32,
-							#[codec(compact)]
-							last_period: ::core::primitive::u32,
-							#[codec(compact)]
-							end: ::core::primitive::u32,
-							verifier:
-								::core::option::Option<runtime_types::sp_runtime::MultiSigner>,
-						},
-						#[codec(index = 1)]
-						contribute {
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-							#[codec(compact)]
-							value: ::core::primitive::u128,
-							signature:
-								::core::option::Option<runtime_types::sp_runtime::MultiSignature>,
-						},
-						#[codec(index = 2)]
-						withdraw {
-							who: ::sp_core::crypto::AccountId32,
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 3)]
-						refund {
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 4)]
-						dissolve {
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 5)]
-						edit {
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-							#[codec(compact)]
-							cap: ::core::primitive::u128,
-							#[codec(compact)]
-							first_period: ::core::primitive::u32,
-							#[codec(compact)]
-							last_period: ::core::primitive::u32,
-							#[codec(compact)]
-							end: ::core::primitive::u32,
-							verifier:
-								::core::option::Option<runtime_types::sp_runtime::MultiSigner>,
-						},
-						#[codec(index = 6)]
-						add_memo {
-							index: runtime_types::polkadot_parachain::primitives::Id,
-							memo: ::std::vec::Vec<::core::primitive::u8>,
-						},
-						#[codec(index = 7)]
-						poke { index: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 8)]
-						contribute_all {
-							#[codec(compact)]
-							index: runtime_types::polkadot_parachain::primitives::Id,
-							signature:
-								::core::option::Option<runtime_types::sp_runtime::MultiSignature>,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						FirstPeriodInPast,
-						#[codec(index = 1)]
-						FirstPeriodTooFarInFuture,
-						#[codec(index = 2)]
-						LastPeriodBeforeFirstPeriod,
-						#[codec(index = 3)]
-						LastPeriodTooFarInFuture,
-						#[codec(index = 4)]
-						CannotEndInPast,
-						#[codec(index = 5)]
-						EndTooFarInFuture,
-						#[codec(index = 6)]
-						Overflow,
-						#[codec(index = 7)]
-						ContributionTooSmall,
-						#[codec(index = 8)]
-						InvalidParaId,
-						#[codec(index = 9)]
-						CapExceeded,
-						#[codec(index = 10)]
-						ContributionPeriodOver,
-						#[codec(index = 11)]
-						InvalidOrigin,
-						#[codec(index = 12)]
-						NotParachain,
-						#[codec(index = 13)]
-						LeaseActive,
-						#[codec(index = 14)]
-						BidOrLeaseActive,
-						#[codec(index = 15)]
-						FundNotEnded,
-						#[codec(index = 16)]
-						NoContributions,
-						#[codec(index = 17)]
-						NotReadyToDissolve,
-						#[codec(index = 18)]
-						InvalidSignature,
-						#[codec(index = 19)]
-						MemoTooLarge,
-						#[codec(index = 20)]
-						AlreadyInNewRaise,
-						#[codec(index = 21)]
-						VrfDelayInProgress,
-						#[codec(index = 22)]
-						NoLeasePeriod,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						Created { para_id: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 1)]
-						Contributed {
-							who: ::sp_core::crypto::AccountId32,
-							fund_index: runtime_types::polkadot_parachain::primitives::Id,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 2)]
-						Withdrew {
-							who: ::sp_core::crypto::AccountId32,
-							fund_index: runtime_types::polkadot_parachain::primitives::Id,
-							amount: ::core::primitive::u128,
-						},
-						#[codec(index = 3)]
-						PartiallyRefunded {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 4)]
-						AllRefunded { para_id: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 5)]
-						Dissolved { para_id: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 6)]
-						HandleBidResult {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							result: ::core::result::Result<
-								(),
-								runtime_types::sp_runtime::DispatchError,
-							>,
-						},
-						#[codec(index = 7)]
-						Edited { para_id: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 8)]
-						MemoUpdated {
-							who: ::sp_core::crypto::AccountId32,
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							memo: ::std::vec::Vec<::core::primitive::u8>,
-						},
-						#[codec(index = 9)]
-						AddedToNewRaise {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-						},
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct FundInfo<_0, _1, _2, _3> {
-					pub depositor: _0,
-					pub verifier: ::core::option::Option<runtime_types::sp_runtime::MultiSigner>,
-					pub deposit: _1,
-					pub raised: _1,
-					pub end: _2,
-					pub cap: _1,
-					pub last_contribution:
-						runtime_types::polkadot_runtime_common::crowdloan::LastContribution<_2>,
-					pub first_period: _2,
-					pub last_period: _2,
-					pub fund_index: _2,
-					#[codec(skip)]
-					pub __subxt_unused_type_params: ::core::marker::PhantomData<_3>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum LastContribution<_0> {
-					#[codec(index = 0)]
-					Never,
-					#[codec(index = 1)]
-					PreEnding(_0),
-					#[codec(index = 2)]
-					Ending(_0),
-				}
-			}
-			pub mod paras_registrar {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						register {
-							id: runtime_types::polkadot_parachain::primitives::Id,
-							genesis_head: runtime_types::polkadot_parachain::primitives::HeadData,
-							validation_code:
-								runtime_types::polkadot_parachain::primitives::ValidationCode,
-						},
-						#[codec(index = 1)]
-						force_register {
-							who: ::sp_core::crypto::AccountId32,
-							deposit: ::core::primitive::u128,
-							id: runtime_types::polkadot_parachain::primitives::Id,
-							genesis_head: runtime_types::polkadot_parachain::primitives::HeadData,
-							validation_code:
-								runtime_types::polkadot_parachain::primitives::ValidationCode,
-						},
-						#[codec(index = 2)]
-						deregister { id: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 3)]
-						swap {
-							id: runtime_types::polkadot_parachain::primitives::Id,
-							other: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 4)]
-						remove_lock { para: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 5)]
-						reserve,
-						#[codec(index = 6)]
-						add_lock { para: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 7)]
-						schedule_code_upgrade {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							new_code: runtime_types::polkadot_parachain::primitives::ValidationCode,
-						},
-						#[codec(index = 8)]
-						set_current_head {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							new_head: runtime_types::polkadot_parachain::primitives::HeadData,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						NotRegistered,
-						#[codec(index = 1)]
-						AlreadyRegistered,
-						#[codec(index = 2)]
-						NotOwner,
-						#[codec(index = 3)]
-						CodeTooLarge,
-						#[codec(index = 4)]
-						HeadDataTooLarge,
-						#[codec(index = 5)]
-						NotParachain,
-						#[codec(index = 6)]
-						NotParathread,
-						#[codec(index = 7)]
-						CannotDeregister,
-						#[codec(index = 8)]
-						CannotDowngrade,
-						#[codec(index = 9)]
-						CannotUpgrade,
-						#[codec(index = 10)]
-						ParaLocked,
-						#[codec(index = 11)]
-						NotReserved,
-						#[codec(index = 12)]
-						EmptyCode,
-						#[codec(index = 13)]
-						CannotSwap,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						Registered {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							manager: ::sp_core::crypto::AccountId32,
-						},
-						#[codec(index = 1)]
-						Deregistered { para_id: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 2)]
-						Reserved {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							who: ::sp_core::crypto::AccountId32,
-						},
-						#[codec(index = 3)]
-						Swapped {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							other_id: runtime_types::polkadot_parachain::primitives::Id,
-						},
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParaInfo<_0, _1> {
-					pub manager: _0,
-					pub deposit: _1,
-					pub locked: ::core::primitive::bool,
-				}
-			}
-			pub mod paras_sudo_wrapper {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						sudo_schedule_para_initialize {
-							id: runtime_types::polkadot_parachain::primitives::Id,
-							genesis:
-								runtime_types::polkadot_runtime_parachains::paras::ParaGenesisArgs,
-						},
-						#[codec(index = 1)]
-						sudo_schedule_para_cleanup {
-							id: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 2)]
-						sudo_schedule_parathread_upgrade {
-							id: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 3)]
-						sudo_schedule_parachain_downgrade {
-							id: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 4)]
-						sudo_queue_downward_xcm {
-							id: runtime_types::polkadot_parachain::primitives::Id,
-							xcm: ::std::boxed::Box<runtime_types::xcm::VersionedXcm>,
-						},
-						#[codec(index = 5)]
-						sudo_establish_hrmp_channel {
-							sender: runtime_types::polkadot_parachain::primitives::Id,
-							recipient: runtime_types::polkadot_parachain::primitives::Id,
-							max_capacity: ::core::primitive::u32,
-							max_message_size: ::core::primitive::u32,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						ParaDoesntExist,
-						#[codec(index = 1)]
-						ParaAlreadyExists,
-						#[codec(index = 2)]
-						ExceedsMaxMessageSize,
-						#[codec(index = 3)]
-						CouldntCleanup,
-						#[codec(index = 4)]
-						NotParathread,
-						#[codec(index = 5)]
-						NotParachain,
-						#[codec(index = 6)]
-						CannotUpgrade,
-						#[codec(index = 7)]
-						CannotDowngrade,
-					}
-				}
-			}
-			pub mod slots {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						force_lease {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							leaser: ::sp_core::crypto::AccountId32,
-							amount: ::core::primitive::u128,
-							period_begin: ::core::primitive::u32,
-							period_count: ::core::primitive::u32,
-						},
-						#[codec(index = 1)]
-						clear_all_leases { para: runtime_types::polkadot_parachain::primitives::Id },
-						#[codec(index = 2)]
-						trigger_onboard { para: runtime_types::polkadot_parachain::primitives::Id },
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						ParaNotOnboarding,
-						#[codec(index = 1)]
-						LeaseError,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						NewLeasePeriod { lease_period: ::core::primitive::u32 },
-						#[codec(index = 1)]
-						Leased {
-							para_id: runtime_types::polkadot_parachain::primitives::Id,
-							leaser: ::sp_core::crypto::AccountId32,
-							period_begin: ::core::primitive::u32,
-							period_count: ::core::primitive::u32,
-							extra_reserved: ::core::primitive::u128,
-							total_amount: ::core::primitive::u128,
-						},
-					}
-				}
-			}
-		}
-		pub mod polkadot_runtime_parachains {
-			use super::runtime_types;
-			pub mod configuration {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						# [codec (index = 0)] set_validation_upgrade_cooldown { new : :: core :: primitive :: u32 , } , # [codec (index = 1)] set_validation_upgrade_delay { new : :: core :: primitive :: u32 , } , # [codec (index = 2)] set_code_retention_period { new : :: core :: primitive :: u32 , } , # [codec (index = 3)] set_max_code_size { new : :: core :: primitive :: u32 , } , # [codec (index = 4)] set_max_pov_size { new : :: core :: primitive :: u32 , } , # [codec (index = 5)] set_max_head_data_size { new : :: core :: primitive :: u32 , } , # [codec (index = 6)] set_parathread_cores { new : :: core :: primitive :: u32 , } , # [codec (index = 7)] set_parathread_retries { new : :: core :: primitive :: u32 , } , # [codec (index = 8)] set_group_rotation_frequency { new : :: core :: primitive :: u32 , } , # [codec (index = 9)] set_chain_availability_period { new : :: core :: primitive :: u32 , } , # [codec (index = 10)] set_thread_availability_period { new : :: core :: primitive :: u32 , } , # [codec (index = 11)] set_scheduling_lookahead { new : :: core :: primitive :: u32 , } , # [codec (index = 12)] set_max_validators_per_core { new : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [codec (index = 13)] set_max_validators { new : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [codec (index = 14)] set_dispute_period { new : :: core :: primitive :: u32 , } , # [codec (index = 15)] set_dispute_post_conclusion_acceptance_period { new : :: core :: primitive :: u32 , } , # [codec (index = 18)] set_no_show_slots { new : :: core :: primitive :: u32 , } , # [codec (index = 19)] set_n_delay_tranches { new : :: core :: primitive :: u32 , } , # [codec (index = 20)] set_zeroth_delay_tranche_width { new : :: core :: primitive :: u32 , } , # [codec (index = 21)] set_needed_approvals { new : :: core :: primitive :: u32 , } , # [codec (index = 22)] set_relay_vrf_modulo_samples { new : :: core :: primitive :: u32 , } , # [codec (index = 23)] set_max_upward_queue_count { new : :: core :: primitive :: u32 , } , # [codec (index = 24)] set_max_upward_queue_size { new : :: core :: primitive :: u32 , } , # [codec (index = 25)] set_max_downward_message_size { new : :: core :: primitive :: u32 , } , # [codec (index = 27)] set_max_upward_message_size { new : :: core :: primitive :: u32 , } , # [codec (index = 28)] set_max_upward_message_num_per_candidate { new : :: core :: primitive :: u32 , } , # [codec (index = 29)] set_hrmp_open_request_ttl { new : :: core :: primitive :: u32 , } , # [codec (index = 30)] set_hrmp_sender_deposit { new : :: core :: primitive :: u128 , } , # [codec (index = 31)] set_hrmp_recipient_deposit { new : :: core :: primitive :: u128 , } , # [codec (index = 32)] set_hrmp_channel_max_capacity { new : :: core :: primitive :: u32 , } , # [codec (index = 33)] set_hrmp_channel_max_total_size { new : :: core :: primitive :: u32 , } , # [codec (index = 34)] set_hrmp_max_parachain_inbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 35)] set_hrmp_max_parathread_inbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 36)] set_hrmp_channel_max_message_size { new : :: core :: primitive :: u32 , } , # [codec (index = 37)] set_hrmp_max_parachain_outbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 38)] set_hrmp_max_parathread_outbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 39)] set_hrmp_max_message_num_per_candidate { new : :: core :: primitive :: u32 , } , # [codec (index = 41)] set_pvf_checking_enabled { new : :: core :: primitive :: bool , } , # [codec (index = 42)] set_pvf_voting_ttl { new : :: core :: primitive :: u32 , } , # [codec (index = 43)] set_minimum_validation_upgrade_delay { new : :: core :: primitive :: u32 , } , # [codec (index = 44)] set_bypass_consistency_check { new : :: core :: primitive :: bool , } , # [codec (index = 45)] set_async_backing_params { new : runtime_types :: polkadot_primitives :: vstaging :: AsyncBackingParams , } , # [codec (index = 46)] set_executor_params { new : runtime_types :: polkadot_primitives :: v4 :: executor_params :: ExecutorParams , } , }
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						InvalidNewValue,
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HostConfiguration<_0> {
-					pub max_code_size: _0,
-					pub max_head_data_size: _0,
-					pub max_upward_queue_count: _0,
-					pub max_upward_queue_size: _0,
-					pub max_upward_message_size: _0,
-					pub max_upward_message_num_per_candidate: _0,
-					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 hrmp_max_parachain_outbound_channels: _0,
-					pub hrmp_max_parathread_outbound_channels: _0,
-					pub hrmp_sender_deposit: ::core::primitive::u128,
-					pub hrmp_recipient_deposit: ::core::primitive::u128,
-					pub hrmp_channel_max_capacity: _0,
-					pub hrmp_channel_max_total_size: _0,
-					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,
-					pub group_rotation_frequency: _0,
-					pub chain_availability_period: _0,
-					pub thread_availability_period: _0,
-					pub scheduling_lookahead: _0,
-					pub max_validators_per_core: ::core::option::Option<_0>,
-					pub max_validators: ::core::option::Option<_0>,
-					pub dispute_period: _0,
-					pub dispute_post_conclusion_acceptance_period: _0,
-					pub no_show_slots: _0,
-					pub n_delay_tranches: _0,
-					pub zeroth_delay_tranche_width: _0,
-					pub needed_approvals: _0,
-					pub relay_vrf_modulo_samples: _0,
-					pub pvf_checking_enabled: ::core::primitive::bool,
-					pub pvf_voting_ttl: _0,
-					pub minimum_validation_upgrade_delay: _0,
-				}
-			}
-			pub mod disputes {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						force_unfreeze,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						DuplicateDisputeStatementSets,
-						#[codec(index = 1)]
-						AncientDisputeStatement,
-						#[codec(index = 2)]
-						ValidatorIndexOutOfBounds,
-						#[codec(index = 3)]
-						InvalidSignature,
-						#[codec(index = 4)]
-						DuplicateStatement,
-						#[codec(index = 5)]
-						SingleSidedDispute,
-						#[codec(index = 6)]
-						MaliciousBacker,
-						#[codec(index = 7)]
-						MissingBackingVotes,
-						#[codec(index = 8)]
-						UnconfirmedDispute,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						DisputeInitiated(
-							runtime_types::polkadot_core_primitives::CandidateHash,
-							runtime_types::polkadot_runtime_parachains::disputes::DisputeLocation,
-						),
-						#[codec(index = 1)]
-						DisputeConcluded(
-							runtime_types::polkadot_core_primitives::CandidateHash,
-							runtime_types::polkadot_runtime_parachains::disputes::DisputeResult,
-						),
-						#[codec(index = 2)]
-						Revert(::core::primitive::u32),
-					}
-				}
-				pub mod slashing {
-					use super::runtime_types;
-					pub mod pallet {
-						use super::runtime_types;
-						#[derive(
-							:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq,
-						)]
-						pub enum Call {
-							# [codec (index = 0)] report_dispute_lost_unsigned { dispute_proof : :: std :: boxed :: Box < runtime_types :: polkadot_runtime_parachains :: disputes :: slashing :: DisputeProof > , key_owner_proof : :: sp_session :: MembershipProof , } , }
-						#[derive(
-							:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq,
-						)]
-						pub enum Error {
-							#[codec(index = 0)]
-							InvalidKeyOwnershipProof,
-							#[codec(index = 1)]
-							InvalidSessionIndex,
-							#[codec(index = 2)]
-							InvalidCandidateHash,
-							#[codec(index = 3)]
-							InvalidValidatorIndex,
-							#[codec(index = 4)]
-							ValidatorIndexIdMismatch,
-							#[codec(index = 5)]
-							DuplicateSlashingReport,
-						}
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct DisputeProof { pub time_slot : runtime_types :: polkadot_runtime_parachains :: disputes :: slashing :: DisputesTimeSlot , pub kind : runtime_types :: polkadot_runtime_parachains :: disputes :: slashing :: SlashingOffenceKind , pub validator_index : runtime_types :: polkadot_primitives :: v4 :: ValidatorIndex , pub validator_id : runtime_types :: polkadot_primitives :: v4 :: validator_app :: Public , }
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct DisputesTimeSlot {
-						pub session_index: ::core::primitive::u32,
-						pub candidate_hash: runtime_types::polkadot_core_primitives::CandidateHash,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct PendingSlashes { pub keys : :: subxt :: utils :: KeyedVec < runtime_types :: polkadot_primitives :: v4 :: ValidatorIndex , runtime_types :: polkadot_primitives :: v4 :: validator_app :: Public > , pub kind : runtime_types :: polkadot_runtime_parachains :: disputes :: slashing :: SlashingOffenceKind , }
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum SlashingOffenceKind {
-						#[codec(index = 0)]
-						ForInvalid,
-						#[codec(index = 1)]
-						AgainstValid,
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum DisputeLocation {
-					#[codec(index = 0)]
-					Local,
-					#[codec(index = 1)]
-					Remote,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum DisputeResult {
-					#[codec(index = 0)]
-					Valid,
-					#[codec(index = 1)]
-					Invalid,
-				}
-			}
-			pub mod hrmp {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						hrmp_init_open_channel {
-							recipient: runtime_types::polkadot_parachain::primitives::Id,
-							proposed_max_capacity: ::core::primitive::u32,
-							proposed_max_message_size: ::core::primitive::u32,
-						},
-						#[codec(index = 1)]
-						hrmp_accept_open_channel {
-							sender: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 2)]
-						hrmp_close_channel {
-							channel_id:
-								runtime_types::polkadot_parachain::primitives::HrmpChannelId,
-						},
-						#[codec(index = 3)]
-						force_clean_hrmp {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							inbound: ::core::primitive::u32,
-							outbound: ::core::primitive::u32,
-						},
-						#[codec(index = 4)]
-						force_process_hrmp_open { channels: ::core::primitive::u32 },
-						#[codec(index = 5)]
-						force_process_hrmp_close { channels: ::core::primitive::u32 },
-						#[codec(index = 6)]
-						hrmp_cancel_open_request {
-							channel_id:
-								runtime_types::polkadot_parachain::primitives::HrmpChannelId,
-							open_requests: ::core::primitive::u32,
-						},
-						#[codec(index = 7)]
-						force_open_hrmp_channel {
-							sender: runtime_types::polkadot_parachain::primitives::Id,
-							recipient: runtime_types::polkadot_parachain::primitives::Id,
-							max_capacity: ::core::primitive::u32,
-							max_message_size: ::core::primitive::u32,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						OpenHrmpChannelToSelf,
-						#[codec(index = 1)]
-						OpenHrmpChannelInvalidRecipient,
-						#[codec(index = 2)]
-						OpenHrmpChannelZeroCapacity,
-						#[codec(index = 3)]
-						OpenHrmpChannelCapacityExceedsLimit,
-						#[codec(index = 4)]
-						OpenHrmpChannelZeroMessageSize,
-						#[codec(index = 5)]
-						OpenHrmpChannelMessageSizeExceedsLimit,
-						#[codec(index = 6)]
-						OpenHrmpChannelAlreadyExists,
-						#[codec(index = 7)]
-						OpenHrmpChannelAlreadyRequested,
-						#[codec(index = 8)]
-						OpenHrmpChannelLimitExceeded,
-						#[codec(index = 9)]
-						AcceptHrmpChannelDoesntExist,
-						#[codec(index = 10)]
-						AcceptHrmpChannelAlreadyConfirmed,
-						#[codec(index = 11)]
-						AcceptHrmpChannelLimitExceeded,
-						#[codec(index = 12)]
-						CloseHrmpChannelUnauthorized,
-						#[codec(index = 13)]
-						CloseHrmpChannelDoesntExist,
-						#[codec(index = 14)]
-						CloseHrmpChannelAlreadyUnderway,
-						#[codec(index = 15)]
-						CancelHrmpOpenChannelUnauthorized,
-						#[codec(index = 16)]
-						OpenHrmpChannelDoesntExist,
-						#[codec(index = 17)]
-						OpenHrmpChannelAlreadyConfirmed,
-						#[codec(index = 18)]
-						WrongWitness,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						OpenChannelRequested(
-							runtime_types::polkadot_parachain::primitives::Id,
-							runtime_types::polkadot_parachain::primitives::Id,
-							::core::primitive::u32,
-							::core::primitive::u32,
-						),
-						#[codec(index = 1)]
-						OpenChannelCanceled(
-							runtime_types::polkadot_parachain::primitives::Id,
-							runtime_types::polkadot_parachain::primitives::HrmpChannelId,
-						),
-						#[codec(index = 2)]
-						OpenChannelAccepted(
-							runtime_types::polkadot_parachain::primitives::Id,
-							runtime_types::polkadot_parachain::primitives::Id,
-						),
-						#[codec(index = 3)]
-						ChannelClosed(
-							runtime_types::polkadot_parachain::primitives::Id,
-							runtime_types::polkadot_parachain::primitives::HrmpChannelId,
-						),
-						#[codec(index = 4)]
-						HrmpChannelForceOpened(
-							runtime_types::polkadot_parachain::primitives::Id,
-							runtime_types::polkadot_parachain::primitives::Id,
-							::core::primitive::u32,
-							::core::primitive::u32,
-						),
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HrmpChannel {
-					pub max_capacity: ::core::primitive::u32,
-					pub max_total_size: ::core::primitive::u32,
-					pub max_message_size: ::core::primitive::u32,
-					pub msg_count: ::core::primitive::u32,
-					pub total_size: ::core::primitive::u32,
-					pub mqc_head: ::core::option::Option<::subxt::utils::H256>,
-					pub sender_deposit: ::core::primitive::u128,
-					pub recipient_deposit: ::core::primitive::u128,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct HrmpOpenChannelRequest {
-					pub confirmed: ::core::primitive::bool,
-					pub _age: ::core::primitive::u32,
-					pub sender_deposit: ::core::primitive::u128,
-					pub max_message_size: ::core::primitive::u32,
-					pub max_capacity: ::core::primitive::u32,
-					pub max_total_size: ::core::primitive::u32,
-				}
-			}
-			pub mod inclusion {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						UnsortedOrDuplicateValidatorIndices,
-						#[codec(index = 1)]
-						UnsortedOrDuplicateDisputeStatementSet,
-						#[codec(index = 2)]
-						UnsortedOrDuplicateBackedCandidates,
-						#[codec(index = 3)]
-						UnexpectedRelayParent,
-						#[codec(index = 4)]
-						WrongBitfieldSize,
-						#[codec(index = 5)]
-						BitfieldAllZeros,
-						#[codec(index = 6)]
-						BitfieldDuplicateOrUnordered,
-						#[codec(index = 7)]
-						ValidatorIndexOutOfBounds,
-						#[codec(index = 8)]
-						InvalidBitfieldSignature,
-						#[codec(index = 9)]
-						UnscheduledCandidate,
-						#[codec(index = 10)]
-						CandidateScheduledBeforeParaFree,
-						#[codec(index = 11)]
-						WrongCollator,
-						#[codec(index = 12)]
-						ScheduledOutOfOrder,
-						#[codec(index = 13)]
-						HeadDataTooLarge,
-						#[codec(index = 14)]
-						PrematureCodeUpgrade,
-						#[codec(index = 15)]
-						NewCodeTooLarge,
-						#[codec(index = 16)]
-						CandidateNotInParentContext,
-						#[codec(index = 17)]
-						InvalidGroupIndex,
-						#[codec(index = 18)]
-						InsufficientBacking,
-						#[codec(index = 19)]
-						InvalidBacking,
-						#[codec(index = 20)]
-						NotCollatorSigned,
-						#[codec(index = 21)]
-						ValidationDataHashMismatch,
-						#[codec(index = 22)]
-						IncorrectDownwardMessageHandling,
-						#[codec(index = 23)]
-						InvalidUpwardMessages,
-						#[codec(index = 24)]
-						HrmpWatermarkMishandling,
-						#[codec(index = 25)]
-						InvalidOutboundHrmp,
-						#[codec(index = 26)]
-						InvalidValidationCodeHash,
-						#[codec(index = 27)]
-						ParaHeadMismatch,
-						#[codec(index = 28)]
-						BitfieldReferencesFreedCore,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						CandidateBacked(
-							runtime_types::polkadot_primitives::v4::CandidateReceipt<
-								::subxt::utils::H256,
-							>,
-							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<
-								::subxt::utils::H256,
-							>,
-							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<
-								::subxt::utils::H256,
-							>,
-							runtime_types::polkadot_parachain::primitives::HeadData,
-							runtime_types::polkadot_primitives::v4::CoreIndex,
-						),
-						#[codec(index = 3)]
-						UpwardMessagesReceived {
-							from: runtime_types::polkadot_parachain::primitives::Id,
-							count: ::core::primitive::u32,
-						},
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum AggregateMessageOrigin {
-					#[codec(index = 0)]
-					Ump(runtime_types::polkadot_runtime_parachains::inclusion::UmpQueueId),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct AvailabilityBitfieldRecord<_0> {
-					pub bitfield: runtime_types::polkadot_primitives::v4::AvailabilityBitfield,
-					pub submitted_at: _0,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CandidatePendingAvailability<_0, _1> {
-					pub core: runtime_types::polkadot_primitives::v4::CoreIndex,
-					pub hash: runtime_types::polkadot_core_primitives::CandidateHash,
-					pub descriptor: runtime_types::polkadot_primitives::v4::CandidateDescriptor<_0>,
-					pub availability_votes: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-					pub backers: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-					pub relay_parent_number: _1,
-					pub backed_in_number: _1,
-					pub backing_group: runtime_types::polkadot_primitives::v4::GroupIndex,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum UmpQueueId {
-					#[codec(index = 0)]
-					Para(runtime_types::polkadot_parachain::primitives::Id),
-				}
-			}
-			pub mod initializer {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						force_approve { up_to: ::core::primitive::u32 },
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct BufferedSessionChange {
-					pub validators: ::std::vec::Vec<
-						runtime_types::polkadot_primitives::v4::validator_app::Public,
-					>,
-					pub queued: ::std::vec::Vec<
-						runtime_types::polkadot_primitives::v4::validator_app::Public,
-					>,
-					pub session_index: ::core::primitive::u32,
-				}
-			}
-			pub mod origin {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Origin {
-						#[codec(index = 0)]
-						Parachain(runtime_types::polkadot_parachain::primitives::Id),
-					}
-				}
-			}
-			pub mod paras {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						force_set_current_code {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							new_code: runtime_types::polkadot_parachain::primitives::ValidationCode,
-						},
-						#[codec(index = 1)]
-						force_set_current_head {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							new_head: runtime_types::polkadot_parachain::primitives::HeadData,
-						},
-						#[codec(index = 2)]
-						force_schedule_code_upgrade {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							new_code: runtime_types::polkadot_parachain::primitives::ValidationCode,
-							relay_parent_number: ::core::primitive::u32,
-						},
-						#[codec(index = 3)]
-						force_note_new_head {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-							new_head: runtime_types::polkadot_parachain::primitives::HeadData,
-						},
-						#[codec(index = 4)]
-						force_queue_action {
-							para: runtime_types::polkadot_parachain::primitives::Id,
-						},
-						#[codec(index = 5)]
-						add_trusted_validation_code {
-							validation_code:
-								runtime_types::polkadot_parachain::primitives::ValidationCode,
-						},
-						#[codec(index = 6)]
-						poke_unused_validation_code {
-							validation_code_hash:
-								runtime_types::polkadot_parachain::primitives::ValidationCodeHash,
-						},
-						#[codec(index = 7)]
-						include_pvf_check_statement {
-							stmt: runtime_types::polkadot_primitives::v4::PvfCheckStatement,
-							signature:
-								runtime_types::polkadot_primitives::v4::validator_app::Signature,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						NotRegistered,
-						#[codec(index = 1)]
-						CannotOnboard,
-						#[codec(index = 2)]
-						CannotOffboard,
-						#[codec(index = 3)]
-						CannotUpgrade,
-						#[codec(index = 4)]
-						CannotDowngrade,
-						#[codec(index = 5)]
-						PvfCheckStatementStale,
-						#[codec(index = 6)]
-						PvfCheckStatementFuture,
-						#[codec(index = 7)]
-						PvfCheckValidatorIndexOutOfBounds,
-						#[codec(index = 8)]
-						PvfCheckInvalidSignature,
-						#[codec(index = 9)]
-						PvfCheckDoubleVote,
-						#[codec(index = 10)]
-						PvfCheckSubjectInvalid,
-						#[codec(index = 11)]
-						CannotUpgradeCode,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Event {
-						#[codec(index = 0)]
-						CurrentCodeUpdated(runtime_types::polkadot_parachain::primitives::Id),
-						#[codec(index = 1)]
-						CurrentHeadUpdated(runtime_types::polkadot_parachain::primitives::Id),
-						#[codec(index = 2)]
-						CodeUpgradeScheduled(runtime_types::polkadot_parachain::primitives::Id),
-						#[codec(index = 3)]
-						NewHeadNoted(runtime_types::polkadot_parachain::primitives::Id),
-						#[codec(index = 4)]
-						ActionQueued(
-							runtime_types::polkadot_parachain::primitives::Id,
-							::core::primitive::u32,
-						),
-						#[codec(index = 5)]
-						PvfCheckStarted(
-							runtime_types::polkadot_parachain::primitives::ValidationCodeHash,
-							runtime_types::polkadot_parachain::primitives::Id,
-						),
-						#[codec(index = 6)]
-						PvfCheckAccepted(
-							runtime_types::polkadot_parachain::primitives::ValidationCodeHash,
-							runtime_types::polkadot_parachain::primitives::Id,
-						),
-						#[codec(index = 7)]
-						PvfCheckRejected(
-							runtime_types::polkadot_parachain::primitives::ValidationCodeHash,
-							runtime_types::polkadot_parachain::primitives::Id,
-						),
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParaGenesisArgs {
-					pub genesis_head: runtime_types::polkadot_parachain::primitives::HeadData,
-					pub validation_code:
-						runtime_types::polkadot_parachain::primitives::ValidationCode,
-					pub para_kind: ::core::primitive::bool,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum ParaLifecycle {
-					#[codec(index = 0)]
-					Onboarding,
-					#[codec(index = 1)]
-					Parathread,
-					#[codec(index = 2)]
-					Parachain,
-					#[codec(index = 3)]
-					UpgradingParathread,
-					#[codec(index = 4)]
-					DowngradingParachain,
-					#[codec(index = 5)]
-					OffboardingParathread,
-					#[codec(index = 6)]
-					OffboardingParachain,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParaPastCodeMeta<_0> {
-					pub upgrade_times: ::std::vec::Vec<
-						runtime_types::polkadot_runtime_parachains::paras::ReplacementTimes<_0>,
-					>,
-					pub last_pruned: ::core::option::Option<_0>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PvfCheckActiveVoteState<_0> {
-					pub votes_accept: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-					pub votes_reject: ::subxt::utils::bits::DecodedBits<
-						::core::primitive::u8,
-						::subxt::utils::bits::Lsb0,
-					>,
-					pub age: _0,
-					pub created_at: _0,
-					pub causes: ::std::vec::Vec<
-						runtime_types::polkadot_runtime_parachains::paras::PvfCheckCause<_0>,
-					>,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum PvfCheckCause<_0> {
-					#[codec(index = 0)]
-					Onboarding(runtime_types::polkadot_parachain::primitives::Id),
-					#[codec(index = 1)]
-					Upgrade {
-						id: runtime_types::polkadot_parachain::primitives::Id,
-						relay_parent_number: _0,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ReplacementTimes<_0> {
-					pub expected_at: _0,
-					pub activated_at: _0,
-				}
-			}
-			pub mod paras_inherent {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {
-						#[codec(index = 0)]
-						enter {
-							data: runtime_types::polkadot_primitives::v4::InherentData<
-								::sp_runtime::generic::Header<
-									::core::primitive::u32,
-									::sp_runtime::traits::BlakeTwo256,
-								>,
-							>,
-						},
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						TooManyInclusionInherents,
-						#[codec(index = 1)]
-						InvalidParentHeader,
-						#[codec(index = 2)]
-						CandidateConcludedInvalid,
-						#[codec(index = 3)]
-						InherentOverweight,
-						#[codec(index = 4)]
-						DisputeStatementsUnsortedOrDuplicates,
-						#[codec(index = 5)]
-						DisputeInvalid,
-					}
-				}
-			}
-			pub mod scheduler {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum AssignmentKind {
-					#[codec(index = 0)]
-					Parachain,
-					#[codec(index = 1)]
-					Parathread(
-						runtime_types::polkadot_primitives::v4::collator_app::Public,
-						::core::primitive::u32,
-					),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct CoreAssignment {
-					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::v4::GroupIndex,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct ParathreadClaimQueue {
-					pub queue: ::std::vec::Vec<
-						runtime_types::polkadot_runtime_parachains::scheduler::QueuedParathread,
-					>,
-					pub next_core_offset: ::core::primitive::u32,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct QueuedParathread {
-					pub claim: runtime_types::polkadot_primitives::v4::ParathreadEntry,
-					pub core_offset: ::core::primitive::u32,
-				}
-			}
-			pub mod shared {
-				use super::runtime_types;
-				pub mod pallet {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Call {}
-				}
-			}
-		}
-		pub mod sp_arithmetic {
-			use super::runtime_types;
-			pub mod fixed_point {
-				use super::runtime_types;
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct FixedU128(pub ::core::primitive::u128);
-			}
-			pub mod per_things {
-				use super::runtime_types;
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct PerU16(pub ::core::primitive::u16);
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct Perbill(pub ::core::primitive::u32);
-				#[derive(
-					:: codec :: Decode,
-					:: codec :: Encode,
-					:: subxt :: ext :: codec :: CompactAs,
-					Clone,
-					Debug,
-					PartialEq,
-				)]
-				pub struct Percent(pub ::core::primitive::u8);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ArithmeticError {
-				#[codec(index = 0)]
-				Underflow,
-				#[codec(index = 1)]
-				Overflow,
-				#[codec(index = 2)]
-				DivisionByZero,
-			}
-		}
-		pub mod sp_authority_discovery {
-			use super::runtime_types;
-			pub mod app {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-			}
-		}
-		pub mod sp_consensus_babe {
-			use super::runtime_types;
-			pub mod app {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub runtime_types::sp_core::sr25519::Public);
-			}
-			pub mod digests {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum NextConfigDescriptor {
-					#[codec(index = 1)]
-					V1 {
-						c: (::core::primitive::u64, ::core::primitive::u64),
-						allowed_slots: runtime_types::sp_consensus_babe::AllowedSlots,
-					},
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum PreDigest {
-					#[codec(index = 1)]
-					Primary(runtime_types::sp_consensus_babe::digests::PrimaryPreDigest),
-					#[codec(index = 2)]
-					SecondaryPlain(
-						runtime_types::sp_consensus_babe::digests::SecondaryPlainPreDigest,
-					),
-					#[codec(index = 3)]
-					SecondaryVRF(runtime_types::sp_consensus_babe::digests::SecondaryVRFPreDigest),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct PrimaryPreDigest {
-					pub authority_index: ::core::primitive::u32,
-					pub slot: runtime_types::sp_consensus_slots::Slot,
-					pub vrf_signature: runtime_types::sp_core::sr25519::vrf::VrfSignature,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SecondaryPlainPreDigest {
-					pub authority_index: ::core::primitive::u32,
-					pub slot: runtime_types::sp_consensus_slots::Slot,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct SecondaryVRFPreDigest {
-					pub authority_index: ::core::primitive::u32,
-					pub slot: runtime_types::sp_consensus_slots::Slot,
-					pub vrf_signature: runtime_types::sp_core::sr25519::vrf::VrfSignature,
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum AllowedSlots {
-				#[codec(index = 0)]
-				PrimarySlots,
-				#[codec(index = 1)]
-				PrimaryAndSecondaryPlainSlots,
-				#[codec(index = 2)]
-				PrimaryAndSecondaryVRFSlots,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct BabeEpochConfiguration {
-				pub c: (::core::primitive::u64, ::core::primitive::u64),
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub runtime_types::sp_core::ed25519::Public);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub runtime_types::sp_core::ed25519::Signature);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			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,
-					>,
-				),
-			}
-		}
-		pub mod sp_consensus_slots {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct EquivocationProof<_0, _1> {
-				pub offender: _1,
-				pub slot: runtime_types::sp_consensus_slots::Slot,
-				pub first_header: _0,
-				pub second_header: _0,
-			}
-			#[derive(
-				:: codec :: Decode,
-				:: codec :: Encode,
-				:: subxt :: ext :: codec :: CompactAs,
-				Clone,
-				Debug,
-				PartialEq,
-			)]
-			pub struct Slot(pub ::core::primitive::u64);
-		}
-		pub mod sp_core {
-			use super::runtime_types;
-			pub mod crypto {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct KeyTypeId(pub [::core::primitive::u8; 4usize]);
-			}
-			pub mod ecdsa {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub [::core::primitive::u8; 33usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 65usize]);
-			}
-			pub mod ed25519 {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub [::core::primitive::u8; 32usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 64usize]);
-			}
-			pub mod offchain {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct OpaqueMultiaddr(pub ::std::vec::Vec<::core::primitive::u8>);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct OpaqueNetworkState {
-					pub peer_id: runtime_types::sp_core::OpaquePeerId,
-					pub external_addresses:
-						::std::vec::Vec<runtime_types::sp_core::offchain::OpaqueMultiaddr>,
-				}
-			}
-			pub mod sr25519 {
-				use super::runtime_types;
-				pub mod vrf {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct VrfSignature {
-						pub output: [::core::primitive::u8; 32usize],
-						pub proof: [::core::primitive::u8; 64usize],
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Public(pub [::core::primitive::u8; 32usize]);
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Signature(pub [::core::primitive::u8; 64usize]);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct OpaquePeerId(pub ::std::vec::Vec<::core::primitive::u8>);
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum Void {}
-		}
-		pub mod sp_npos_elections {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ElectionScore {
-				pub minimal_stake: ::core::primitive::u128,
-				pub sum_stake: ::core::primitive::u128,
-				pub sum_stake_squared: ::core::primitive::u128,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Support<_0> {
-				pub total: ::core::primitive::u128,
-				pub voters: ::std::vec::Vec<(_0, ::core::primitive::u128)>,
-			}
-		}
-		pub mod sp_runtime {
-			use super::runtime_types;
-			pub mod generic {
-				use super::runtime_types;
-				pub mod digest {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum DigestItem {
-						#[codec(index = 6)]
-						PreRuntime(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 4)]
-						Consensus(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 5)]
-						Seal(
-							[::core::primitive::u8; 4usize],
-							::std::vec::Vec<::core::primitive::u8>,
-						),
-						#[codec(index = 0)]
-						Other(::std::vec::Vec<::core::primitive::u8>),
-						#[codec(index = 8)]
-						RuntimeEnvironmentUpdated,
-					}
-				}
-				pub mod unchecked_extrinsic {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct UncheckedExtrinsic<_0, _1, _2, _3>(
-						pub ::std::vec::Vec<::core::primitive::u8>,
-						#[codec(skip)] pub ::core::marker::PhantomData<(_0, _1, _2, _3)>,
-					);
-				}
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum DispatchError {
-				#[codec(index = 0)]
-				Other,
-				#[codec(index = 1)]
-				CannotLookup,
-				#[codec(index = 2)]
-				BadOrigin,
-				#[codec(index = 3)]
-				Module(runtime_types::sp_runtime::ModuleError),
-				#[codec(index = 4)]
-				ConsumerRemaining,
-				#[codec(index = 5)]
-				NoProviders,
-				#[codec(index = 6)]
-				TooManyConsumers,
-				#[codec(index = 7)]
-				Token(runtime_types::sp_runtime::TokenError),
-				#[codec(index = 8)]
-				Arithmetic(runtime_types::sp_arithmetic::ArithmeticError),
-				#[codec(index = 9)]
-				Transactional(runtime_types::sp_runtime::TransactionalError),
-				#[codec(index = 10)]
-				Exhausted,
-				#[codec(index = 11)]
-				Corruption,
-				#[codec(index = 12)]
-				Unavailable,
-				#[codec(index = 13)]
-				RootNotAllowed,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct ModuleError {
-				pub index: ::core::primitive::u8,
-				pub error: [::core::primitive::u8; 4usize],
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum MultiSignature {
-				#[codec(index = 0)]
-				Ed25519(runtime_types::sp_core::ed25519::Signature),
-				#[codec(index = 1)]
-				Sr25519(runtime_types::sp_core::sr25519::Signature),
-				#[codec(index = 2)]
-				Ecdsa(runtime_types::sp_core::ecdsa::Signature),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum MultiSigner {
-				#[codec(index = 0)]
-				Ed25519(runtime_types::sp_core::ed25519::Public),
-				#[codec(index = 1)]
-				Sr25519(runtime_types::sp_core::sr25519::Public),
-				#[codec(index = 2)]
-				Ecdsa(runtime_types::sp_core::ecdsa::Public),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum TokenError {
-				#[codec(index = 0)]
-				FundsUnavailable,
-				#[codec(index = 1)]
-				OnlyProvider,
-				#[codec(index = 2)]
-				BelowMinimum,
-				#[codec(index = 3)]
-				CannotCreate,
-				#[codec(index = 4)]
-				UnknownAsset,
-				#[codec(index = 5)]
-				Frozen,
-				#[codec(index = 6)]
-				Unsupported,
-				#[codec(index = 7)]
-				CannotCreateHold,
-				#[codec(index = 8)]
-				NotExpendable,
-				#[codec(index = 9)]
-				Blocked,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum TransactionalError {
-				#[codec(index = 0)]
-				LimitReached,
-				#[codec(index = 1)]
-				NoLayer,
-			}
-		}
-		pub mod sp_staking {
-			use super::runtime_types;
-			pub mod offence {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct OffenceDetails<_0, _1> {
-					pub offender: _1,
-					pub reporters: ::std::vec::Vec<_0>,
-				}
-			}
-		}
-		pub mod sp_version {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RuntimeVersion {
-				pub spec_name: ::std::string::String,
-				pub impl_name: ::std::string::String,
-				pub authoring_version: ::core::primitive::u32,
-				pub spec_version: ::core::primitive::u32,
-				pub impl_version: ::core::primitive::u32,
-				pub apis:
-					::std::vec::Vec<([::core::primitive::u8; 8usize], ::core::primitive::u32)>,
-				pub transaction_version: ::core::primitive::u32,
-				pub state_version: ::core::primitive::u8,
-			}
-		}
-		pub mod sp_weights {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct RuntimeDbWeight {
-				pub read: ::core::primitive::u64,
-				pub write: ::core::primitive::u64,
-			}
-		}
-		pub mod westend_runtime {
-			use super::runtime_types;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct NposCompactSolution16 {
-				pub votes1: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes2: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					),
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes3: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 2usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes4: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 3usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes5: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 4usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes6: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 5usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes7: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 6usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes8: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 7usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes9: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 8usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes10: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 9usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes11: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 10usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes12: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 11usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes13: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 12usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes14: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 13usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes15: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 14usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-				pub votes16: ::std::vec::Vec<(
-					::subxt::ext::codec::Compact<::core::primitive::u32>,
-					[(
-						::subxt::ext::codec::Compact<::core::primitive::u16>,
-						::subxt::ext::codec::Compact<
-							runtime_types::sp_arithmetic::per_things::PerU16,
-						>,
-					); 15usize],
-					::subxt::ext::codec::Compact<::core::primitive::u16>,
-				)>,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum OriginCaller {
-				#[codec(index = 0)]
-				system(
-					runtime_types::frame_support::dispatch::RawOrigin<
-						::sp_core::crypto::AccountId32,
-					>,
-				),
-				#[codec(index = 41)]
-				ParachainsOrigin(
-					runtime_types::polkadot_runtime_parachains::origin::pallet::Origin,
-				),
-				#[codec(index = 99)]
-				XcmPallet(runtime_types::pallet_xcm::pallet::Origin),
-				#[codec(index = 3)]
-				Void(runtime_types::sp_core::Void),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum ProxyType {
-				#[codec(index = 0)]
-				Any,
-				#[codec(index = 1)]
-				NonTransfer,
-				#[codec(index = 2)]
-				Staking,
-				#[codec(index = 3)]
-				SudoBalances,
-				#[codec(index = 4)]
-				IdentityJudgement,
-				#[codec(index = 5)]
-				CancelProxy,
-				#[codec(index = 6)]
-				Auction,
-				#[codec(index = 7)]
-				NominationPools,
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct Runtime;
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeCall {
-				#[codec(index = 0)]
-				System(runtime_types::frame_system::pallet::Call),
-				#[codec(index = 1)]
-				Babe(runtime_types::pallet_babe::pallet::Call),
-				#[codec(index = 2)]
-				Timestamp(runtime_types::pallet_timestamp::pallet::Call),
-				#[codec(index = 3)]
-				Indices(runtime_types::pallet_indices::pallet::Call),
-				#[codec(index = 4)]
-				Balances(runtime_types::pallet_balances::pallet::Call),
-				#[codec(index = 6)]
-				Staking(runtime_types::pallet_staking::pallet::pallet::Call),
-				#[codec(index = 8)]
-				Session(runtime_types::pallet_session::pallet::Call),
-				#[codec(index = 10)]
-				Grandpa(runtime_types::pallet_grandpa::pallet::Call),
-				#[codec(index = 11)]
-				ImOnline(runtime_types::pallet_im_online::pallet::Call),
-				#[codec(index = 16)]
-				Utility(runtime_types::pallet_utility::pallet::Call),
-				#[codec(index = 17)]
-				Identity(runtime_types::pallet_identity::pallet::Call),
-				#[codec(index = 18)]
-				Recovery(runtime_types::pallet_recovery::pallet::Call),
-				#[codec(index = 19)]
-				Vesting(runtime_types::pallet_vesting::pallet::Call),
-				#[codec(index = 20)]
-				Scheduler(runtime_types::pallet_scheduler::pallet::Call),
-				#[codec(index = 28)]
-				Preimage(runtime_types::pallet_preimage::pallet::Call),
-				#[codec(index = 21)]
-				Sudo(runtime_types::pallet_sudo::pallet::Call),
-				#[codec(index = 22)]
-				Proxy(runtime_types::pallet_proxy::pallet::Call),
-				#[codec(index = 23)]
-				Multisig(runtime_types::pallet_multisig::pallet::Call),
-				#[codec(index = 24)]
-				ElectionProviderMultiPhase(
-					runtime_types::pallet_election_provider_multi_phase::pallet::Call,
-				),
-				#[codec(index = 25)]
-				VoterList(runtime_types::pallet_bags_list::pallet::Call),
-				#[codec(index = 29)]
-				NominationPools(runtime_types::pallet_nomination_pools::pallet::Call),
-				#[codec(index = 30)]
-				FastUnstake(runtime_types::pallet_fast_unstake::pallet::Call),
-				#[codec(index = 42)]
-				Configuration(
-					runtime_types::polkadot_runtime_parachains::configuration::pallet::Call,
-				),
-				#[codec(index = 43)]
-				ParasShared(runtime_types::polkadot_runtime_parachains::shared::pallet::Call),
-				#[codec(index = 44)]
-				ParaInclusion(runtime_types::polkadot_runtime_parachains::inclusion::pallet::Call),
-				#[codec(index = 45)]
-				ParaInherent(
-					runtime_types::polkadot_runtime_parachains::paras_inherent::pallet::Call,
-				),
-				#[codec(index = 47)]
-				Paras(runtime_types::polkadot_runtime_parachains::paras::pallet::Call),
-				#[codec(index = 48)]
-				Initializer(runtime_types::polkadot_runtime_parachains::initializer::pallet::Call),
-				#[codec(index = 51)]
-				Hrmp(runtime_types::polkadot_runtime_parachains::hrmp::pallet::Call),
-				#[codec(index = 53)]
-				ParasDisputes(runtime_types::polkadot_runtime_parachains::disputes::pallet::Call),
-				#[codec(index = 54)]
-				ParasSlashing(
-					runtime_types::polkadot_runtime_parachains::disputes::slashing::pallet::Call,
-				),
-				#[codec(index = 60)]
-				Registrar(runtime_types::polkadot_runtime_common::paras_registrar::pallet::Call),
-				#[codec(index = 61)]
-				Slots(runtime_types::polkadot_runtime_common::slots::pallet::Call),
-				#[codec(index = 62)]
-				ParasSudoWrapper(
-					runtime_types::polkadot_runtime_common::paras_sudo_wrapper::pallet::Call,
-				),
-				#[codec(index = 63)]
-				Auctions(runtime_types::polkadot_runtime_common::auctions::pallet::Call),
-				#[codec(index = 64)]
-				Crowdloan(runtime_types::polkadot_runtime_common::crowdloan::pallet::Call),
-				#[codec(index = 65)]
-				AssignedSlots(runtime_types::polkadot_runtime_common::assigned_slots::pallet::Call),
-				#[codec(index = 99)]
-				XcmPallet(runtime_types::pallet_xcm::pallet::Call),
-				#[codec(index = 100)]
-				MessageQueue(runtime_types::pallet_message_queue::pallet::Call),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum RuntimeEvent {
-				#[codec(index = 0)]
-				System(runtime_types::frame_system::pallet::Event),
-				#[codec(index = 3)]
-				Indices(runtime_types::pallet_indices::pallet::Event),
-				#[codec(index = 4)]
-				Balances(runtime_types::pallet_balances::pallet::Event),
-				#[codec(index = 26)]
-				TransactionPayment(runtime_types::pallet_transaction_payment::pallet::Event),
-				#[codec(index = 6)]
-				Staking(runtime_types::pallet_staking::pallet::pallet::Event),
-				#[codec(index = 7)]
-				Offences(runtime_types::pallet_offences::pallet::Event),
-				#[codec(index = 8)]
-				Session(runtime_types::pallet_session::pallet::Event),
-				#[codec(index = 10)]
-				Grandpa(runtime_types::pallet_grandpa::pallet::Event),
-				#[codec(index = 11)]
-				ImOnline(runtime_types::pallet_im_online::pallet::Event),
-				#[codec(index = 16)]
-				Utility(runtime_types::pallet_utility::pallet::Event),
-				#[codec(index = 17)]
-				Identity(runtime_types::pallet_identity::pallet::Event),
-				#[codec(index = 18)]
-				Recovery(runtime_types::pallet_recovery::pallet::Event),
-				#[codec(index = 19)]
-				Vesting(runtime_types::pallet_vesting::pallet::Event),
-				#[codec(index = 20)]
-				Scheduler(runtime_types::pallet_scheduler::pallet::Event),
-				#[codec(index = 28)]
-				Preimage(runtime_types::pallet_preimage::pallet::Event),
-				#[codec(index = 21)]
-				Sudo(runtime_types::pallet_sudo::pallet::Event),
-				#[codec(index = 22)]
-				Proxy(runtime_types::pallet_proxy::pallet::Event),
-				#[codec(index = 23)]
-				Multisig(runtime_types::pallet_multisig::pallet::Event),
-				#[codec(index = 24)]
-				ElectionProviderMultiPhase(
-					runtime_types::pallet_election_provider_multi_phase::pallet::Event,
-				),
-				#[codec(index = 25)]
-				VoterList(runtime_types::pallet_bags_list::pallet::Event),
-				#[codec(index = 29)]
-				NominationPools(runtime_types::pallet_nomination_pools::pallet::Event),
-				#[codec(index = 30)]
-				FastUnstake(runtime_types::pallet_fast_unstake::pallet::Event),
-				#[codec(index = 44)]
-				ParaInclusion(runtime_types::polkadot_runtime_parachains::inclusion::pallet::Event),
-				#[codec(index = 47)]
-				Paras(runtime_types::polkadot_runtime_parachains::paras::pallet::Event),
-				#[codec(index = 51)]
-				Hrmp(runtime_types::polkadot_runtime_parachains::hrmp::pallet::Event),
-				#[codec(index = 53)]
-				ParasDisputes(runtime_types::polkadot_runtime_parachains::disputes::pallet::Event),
-				#[codec(index = 60)]
-				Registrar(runtime_types::polkadot_runtime_common::paras_registrar::pallet::Event),
-				#[codec(index = 61)]
-				Slots(runtime_types::polkadot_runtime_common::slots::pallet::Event),
-				#[codec(index = 63)]
-				Auctions(runtime_types::polkadot_runtime_common::auctions::pallet::Event),
-				#[codec(index = 64)]
-				Crowdloan(runtime_types::polkadot_runtime_common::crowdloan::pallet::Event),
-				#[codec(index = 65)]
-				AssignedSlots(
-					runtime_types::polkadot_runtime_common::assigned_slots::pallet::Event,
-				),
-				#[codec(index = 99)]
-				XcmPallet(runtime_types::pallet_xcm::pallet::Event),
-				#[codec(index = 100)]
-				MessageQueue(runtime_types::pallet_message_queue::pallet::Event),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub struct SessionKeys {
-				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::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,
-			}
-		}
-		pub mod xcm {
-			use super::runtime_types;
-			pub mod double_encoded {
-				use super::runtime_types;
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct DoubleEncoded {
-					pub encoded: ::std::vec::Vec<::core::primitive::u8>,
-				}
-			}
-			pub mod v2 {
-				use super::runtime_types;
-				pub mod junction {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junction {
-						#[codec(index = 0)]
-						Parachain(#[codec(compact)] ::core::primitive::u32),
-						#[codec(index = 1)]
-						AccountId32 {
-							network: runtime_types::xcm::v2::NetworkId,
-							id: [::core::primitive::u8; 32usize],
-						},
-						#[codec(index = 2)]
-						AccountIndex64 {
-							network: runtime_types::xcm::v2::NetworkId,
-							#[codec(compact)]
-							index: ::core::primitive::u64,
-						},
-						#[codec(index = 3)]
-						AccountKey20 {
-							network: runtime_types::xcm::v2::NetworkId,
-							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(
-							runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<
-								::core::primitive::u8,
-							>,
-						),
-						#[codec(index = 7)]
-						OnlyChild,
-						#[codec(index = 8)]
-						Plurality {
-							id: runtime_types::xcm::v2::BodyId,
-							part: runtime_types::xcm::v2::BodyPart,
-						},
-					}
-				}
-				pub mod multiasset {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum AssetId {
-						#[codec(index = 0)]
-						Concrete(runtime_types::xcm::v2::multilocation::MultiLocation),
-						#[codec(index = 1)]
-						Abstract(::std::vec::Vec<::core::primitive::u8>),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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]),
-						#[codec(index = 6)]
-						Blob(::std::vec::Vec<::core::primitive::u8>),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Fungibility {
-						#[codec(index = 0)]
-						Fungible(#[codec(compact)] ::core::primitive::u128),
-						#[codec(index = 1)]
-						NonFungible(runtime_types::xcm::v2::multiasset::AssetInstance),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAsset {
-						pub id: runtime_types::xcm::v2::multiasset::AssetId,
-						pub fun: runtime_types::xcm::v2::multiasset::Fungibility,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum MultiAssetFilter {
-						#[codec(index = 0)]
-						Definite(runtime_types::xcm::v2::multiasset::MultiAssets),
-						#[codec(index = 1)]
-						Wild(runtime_types::xcm::v2::multiasset::WildMultiAsset),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAssets(
-						pub ::std::vec::Vec<runtime_types::xcm::v2::multiasset::MultiAsset>,
-					);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildFungibility {
-						#[codec(index = 0)]
-						Fungible,
-						#[codec(index = 1)]
-						NonFungible,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildMultiAsset {
-						#[codec(index = 0)]
-						All,
-						#[codec(index = 1)]
-						AllOf {
-							id: runtime_types::xcm::v2::multiasset::AssetId,
-							fun: runtime_types::xcm::v2::multiasset::WildFungibility,
-						},
-					}
-				}
-				pub mod multilocation {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junctions {
-						#[codec(index = 0)]
-						Here,
-						#[codec(index = 1)]
-						X1(runtime_types::xcm::v2::junction::Junction),
-						#[codec(index = 2)]
-						X2(
-							runtime_types::xcm::v2::junction::Junction,
-							runtime_types::xcm::v2::junction::Junction,
-						),
-						#[codec(index = 3)]
-						X3(
-							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::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::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::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::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::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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiLocation {
-						pub parents: ::core::primitive::u8,
-						pub interior: runtime_types::xcm::v2::multilocation::Junctions,
-					}
-				}
-				pub mod traits {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Error {
-						#[codec(index = 0)]
-						Overflow,
-						#[codec(index = 1)]
-						Unimplemented,
-						#[codec(index = 2)]
-						UntrustedReserveLocation,
-						#[codec(index = 3)]
-						UntrustedTeleportLocation,
-						#[codec(index = 4)]
-						MultiLocationFull,
-						#[codec(index = 5)]
-						MultiLocationNotInvertible,
-						#[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)]
-						UnhandledXcmVersion,
-						#[codec(index = 23)]
-						WeightLimitReached(::core::primitive::u64),
-						#[codec(index = 24)]
-						Barrier,
-						#[codec(index = 25)]
-						WeightNotComputable,
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Instruction {
-					#[codec(index = 0)]
-					WithdrawAsset(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 1)]
-					ReserveAssetDeposited(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 2)]
-					ReceiveTeleportedAsset(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 3)]
-					QueryResponse {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						response: runtime_types::xcm::v2::Response,
-						#[codec(compact)]
-						max_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 4)]
-					TransferAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssets,
-						beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 5)]
-					TransferReserveAsset {
-						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::v2::OriginKind,
-						#[codec(compact)]
-						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)]
-					ClearOrigin,
-					#[codec(index = 11)]
-					DescendOrigin(runtime_types::xcm::v2::multilocation::Junctions),
-					#[codec(index = 12)]
-					ReportError {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						dest: runtime_types::xcm::v2::multilocation::MultiLocation,
-						#[codec(compact)]
-						max_response_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 13)]
-					DepositAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						#[codec(compact)]
-						max_assets: ::core::primitive::u32,
-						beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 14)]
-					DepositReserveAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						#[codec(compact)]
-						max_assets: ::core::primitive::u32,
-						dest: runtime_types::xcm::v2::multilocation::MultiLocation,
-						xcm: runtime_types::xcm::v2::Xcm,
-					},
-					#[codec(index = 15)]
-					ExchangeAsset {
-						give: runtime_types::xcm::v2::multiasset::MultiAssetFilter,
-						receive: runtime_types::xcm::v2::multiasset::MultiAssets,
-					},
-					#[codec(index = 16)]
-					InitiateReserveWithdraw {
-						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::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::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::v2::multiasset::MultiAsset,
-						weight_limit: runtime_types::xcm::v2::WeightLimit,
-					},
-					#[codec(index = 20)]
-					RefundSurplus,
-					#[codec(index = 21)]
-					SetErrorHandler(runtime_types::xcm::v2::Xcm),
-					#[codec(index = 22)]
-					SetAppendix(runtime_types::xcm::v2::Xcm),
-					#[codec(index = 23)]
-					ClearError,
-					#[codec(index = 24)]
-					ClaimAsset {
-						assets: runtime_types::xcm::v2::multiasset::MultiAssets,
-						ticket: runtime_types::xcm::v2::multilocation::MultiLocation,
-					},
-					#[codec(index = 25)]
-					Trap(#[codec(compact)] ::core::primitive::u64),
-					#[codec(index = 26)]
-					SubscribeVersion {
-						#[codec(compact)]
-						query_id: ::core::primitive::u64,
-						#[codec(compact)]
-						max_response_weight: ::core::primitive::u64,
-					},
-					#[codec(index = 27)]
-					UnsubscribeVersion,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum OriginKind {
-					#[codec(index = 0)]
-					Native,
-					#[codec(index = 1)]
-					SovereignAccount,
-					#[codec(index = 2)]
-					Superuser,
-					#[codec(index = 3)]
-					Xcm,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum Response {
-					#[codec(index = 0)]
-					Null,
-					#[codec(index = 1)]
-					Assets(runtime_types::xcm::v2::multiasset::MultiAssets),
-					#[codec(index = 2)]
-					ExecutionResult(
-						::core::option::Option<(
-							::core::primitive::u32,
-							runtime_types::xcm::v2::traits::Error,
-						)>,
-					),
-					#[codec(index = 3)]
-					Version(::core::primitive::u32),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum WeightLimit {
-					#[codec(index = 0)]
-					Unlimited,
-					#[codec(index = 1)]
-					Limited(#[codec(compact)] ::core::primitive::u64),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm(pub ::std::vec::Vec<runtime_types::xcm::v2::Instruction>);
-			}
-			pub mod v3 {
-				use super::runtime_types;
-				pub mod junction {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Junction {
-						#[codec(index = 0)]
-						Parachain(#[codec(compact)] ::core::primitive::u32),
-						#[codec(index = 1)]
-						AccountId32 {
-							network:
-								::core::option::Option<runtime_types::xcm::v3::junction::NetworkId>,
-							id: [::core::primitive::u8; 32usize],
-						},
-						#[codec(index = 2)]
-						AccountIndex64 {
-							network:
-								::core::option::Option<runtime_types::xcm::v3::junction::NetworkId>,
-							#[codec(compact)]
-							index: ::core::primitive::u64,
-						},
-						#[codec(index = 3)]
-						AccountKey20 {
-							network:
-								::core::option::Option<runtime_types::xcm::v3::junction::NetworkId>,
-							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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum AssetId {
-						#[codec(index = 0)]
-						Concrete(runtime_types::xcm::v3::multilocation::MultiLocation),
-						#[codec(index = 1)]
-						Abstract([::core::primitive::u8; 32usize]),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Fungibility {
-						#[codec(index = 0)]
-						Fungible(#[codec(compact)] ::core::primitive::u128),
-						#[codec(index = 1)]
-						NonFungible(runtime_types::xcm::v3::multiasset::AssetInstance),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAsset {
-						pub id: runtime_types::xcm::v3::multiasset::AssetId,
-						pub fun: runtime_types::xcm::v3::multiasset::Fungibility,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum MultiAssetFilter {
-						#[codec(index = 0)]
-						Definite(runtime_types::xcm::v3::multiasset::MultiAssets),
-						#[codec(index = 1)]
-						Wild(runtime_types::xcm::v3::multiasset::WildMultiAsset),
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiAssets(
-						pub ::std::vec::Vec<runtime_types::xcm::v3::multiasset::MultiAsset>,
-					);
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum WildFungibility {
-						#[codec(index = 0)]
-						Fungible,
-						#[codec(index = 1)]
-						NonFungible,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub struct MultiLocation {
-						pub parents: ::core::primitive::u8,
-						pub interior: runtime_types::xcm::v3::junctions::Junctions,
-					}
-				}
-				pub mod traits {
-					use super::runtime_types;
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					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(::sp_weights::Weight),
-						#[codec(index = 37)]
-						Barrier,
-						#[codec(index = 38)]
-						WeightNotComputable,
-						#[codec(index = 39)]
-						ExceedsStackLimit,
-					}
-					#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-					pub enum Outcome {
-						#[codec(index = 0)]
-						Complete(::sp_weights::Weight),
-						#[codec(index = 1)]
-						Incomplete(::sp_weights::Weight, runtime_types::xcm::v3::traits::Error),
-						#[codec(index = 2)]
-						Error(runtime_types::xcm::v3::traits::Error),
-					}
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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: ::sp_weights::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: ::sp_weights::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: ::sp_weights::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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct QueryResponseInfo {
-					pub destination: runtime_types::xcm::v3::multilocation::MultiLocation,
-					#[codec(compact)]
-					pub query_id: ::core::primitive::u64,
-					pub max_weight: ::sp_weights::Weight,
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				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(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub enum WeightLimit {
-					#[codec(index = 0)]
-					Unlimited,
-					#[codec(index = 1)]
-					Limited(::sp_weights::Weight),
-				}
-				#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-				pub struct Xcm(pub ::std::vec::Vec<runtime_types::xcm::v3::Instruction>);
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedAssetId {
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::multiasset::AssetId),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedMultiAssets {
-				#[codec(index = 1)]
-				V2(runtime_types::xcm::v2::multiasset::MultiAssets),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::multiasset::MultiAssets),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedMultiLocation {
-				#[codec(index = 1)]
-				V2(runtime_types::xcm::v2::multilocation::MultiLocation),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::multilocation::MultiLocation),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedResponse {
-				#[codec(index = 2)]
-				V2(runtime_types::xcm::v2::Response),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::Response),
-			}
-			#[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)]
-			pub enum VersionedXcm {
-				#[codec(index = 2)]
-				V2(runtime_types::xcm::v2::Xcm),
-				#[codec(index = 3)]
-				V3(runtime_types::xcm::v3::Xcm),
-			}
-		}
-	}
-}
diff --git a/bridges/relays/client-westend/src/lib.rs b/bridges/relays/client-westend/src/lib.rs
deleted file mode 100644
index 42206baecf8f6f3f446004ba2a2a41f552fcbbbe..0000000000000000000000000000000000000000
--- a/bridges/relays/client-westend/src/lib.rs
+++ /dev/null
@@ -1,122 +0,0 @@
-// Copyright 2019-2021 Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Types used to connect to the Westend chain.
-
-pub mod codegen_runtime;
-
-use bp_polkadot_core::SuffixedCommonSignedExtensionExt;
-use bp_westend::WESTEND_SYNCED_HEADERS_GRANDPA_INFO_METHOD;
-use codec::Encode;
-use relay_substrate_client::{
-	Chain, ChainWithBalances, ChainWithGrandpa, ChainWithRuntimeVersion, ChainWithTransactions,
-	Error as SubstrateError, RelayChain, SignParam, SimpleRuntimeVersion, UnderlyingChainProvider,
-	UnsignedTransaction,
-};
-use sp_core::{storage::StorageKey, Pair};
-use sp_runtime::{generic::SignedPayload, traits::IdentifyAccount, MultiAddress};
-use sp_session::MembershipProof;
-use std::time::Duration;
-
-pub use codegen_runtime::api::runtime_types;
-
-pub type RuntimeCall = runtime_types::westend_runtime::RuntimeCall;
-
-pub type GrandpaCall = runtime_types::pallet_grandpa::pallet::Call;
-
-/// Westend header id.
-pub type HeaderId = relay_utils::HeaderId<bp_westend::Hash, bp_westend::BlockNumber>;
-
-/// Westend header type used in headers sync.
-pub type SyncHeader = relay_substrate_client::SyncHeader<bp_westend::Header>;
-
-/// The address format for describing accounts.
-pub type Address = MultiAddress<bp_westend::AccountId, ()>;
-
-/// Westend chain definition
-#[derive(Debug, Clone, Copy)]
-pub struct Westend;
-
-impl UnderlyingChainProvider for Westend {
-	type Chain = bp_westend::Westend;
-}
-
-impl Chain for Westend {
-	const NAME: &'static str = "Westend";
-	const BEST_FINALIZED_HEADER_ID_METHOD: &'static str =
-		bp_westend::BEST_FINALIZED_WESTEND_HEADER_METHOD;
-	const AVERAGE_BLOCK_INTERVAL: Duration = Duration::from_secs(6);
-
-	type SignedBlock = bp_westend::SignedBlock;
-	type Call = RuntimeCall;
-}
-
-impl ChainWithGrandpa for Westend {
-	const SYNCED_HEADERS_GRANDPA_INFO_METHOD: &'static str =
-		WESTEND_SYNCED_HEADERS_GRANDPA_INFO_METHOD;
-
-	type KeyOwnerProof = MembershipProof;
-}
-
-impl RelayChain for Westend {
-	const PARAS_PALLET_NAME: &'static str = bp_westend::PARAS_PALLET_NAME;
-}
-
-impl ChainWithBalances for Westend {
-	fn account_info_storage_key(account_id: &Self::AccountId) -> StorageKey {
-		bp_westend::AccountInfoStorageMapKeyProvider::final_key(account_id)
-	}
-}
-
-impl ChainWithTransactions for Westend {
-	type AccountKeyPair = sp_core::sr25519::Pair;
-	type SignedTransaction =
-		bp_polkadot_core::UncheckedExtrinsic<Self::Call, bp_westend::SignedExtension>;
-
-	fn sign_transaction(
-		param: SignParam<Self>,
-		unsigned: UnsignedTransaction<Self>,
-	) -> Result<Self::SignedTransaction, SubstrateError> {
-		let raw_payload = SignedPayload::new(
-			unsigned.call,
-			bp_westend::SignedExtension::from_params(
-				param.spec_version,
-				param.transaction_version,
-				unsigned.era,
-				param.genesis_hash,
-				unsigned.nonce,
-				unsigned.tip,
-				((), ()),
-			),
-		)?;
-
-		let signature = raw_payload.using_encoded(|payload| param.signer.sign(payload));
-		let signer: sp_runtime::MultiSigner = param.signer.public().into();
-		let (call, extra, _) = raw_payload.deconstruct();
-
-		Ok(Self::SignedTransaction::new_signed(
-			call,
-			signer.into_account().into(),
-			signature.into(),
-			extra,
-		))
-	}
-}
-
-impl ChainWithRuntimeVersion for Westend {
-	const RUNTIME_VERSION: Option<SimpleRuntimeVersion> =
-		Some(SimpleRuntimeVersion { spec_version: 1_008_000, transaction_version: 24 });
-}
diff --git a/bridges/relays/lib-substrate-relay/Cargo.toml b/bridges/relays/lib-substrate-relay/Cargo.toml
index db4c3a7f8875ca17355fef3e70c9791772ab715f..5bd14bb83200803e0465034c9a7c228c865072c7 100644
--- a/bridges/relays/lib-substrate-relay/Cargo.toml
+++ b/bridges/relays/lib-substrate-relay/Cargo.toml
@@ -58,6 +58,6 @@ sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "mas
 [dev-dependencies]
 bp-rococo = { path = "../../chains/chain-rococo" }
 pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-relay-bridge-hub-rococo-client = { path = "../client-bridge-hub-rococo" }
-relay-bridge-hub-westend-client = { path = "../client-bridge-hub-westend" }
-relay-rococo-client = { path = "../client-rococo" }
+relay-bridge-hub-rococo-client = { path = "../../relay-clients/client-bridge-hub-rococo" }
+relay-bridge-hub-westend-client = { path = "../../relay-clients/client-bridge-hub-westend" }
+relay-rococo-client = { path = "../../relay-clients/client-rococo" }