From 95f3ebfe8f3b34ff888132dc369a5832e4f347c8 Mon Sep 17 00:00:00 2001 From: sulijia <984115358@qq.com> Date: Mon, 17 Jun 2024 16:15:23 +0800 Subject: [PATCH 01/22] Inherent uses closures to obtain variables and deletes useless code --- client/consensus/aura/src/collator.rs | 368 ------------------ client/consensus/aura/src/collators/mod.rs | 17 - .../consensus/aura/src/collators/on_demand.rs | 232 ----------- client/consensus/aura/src/lib.rs | 3 - node/src/service.rs | 52 +-- 5 files changed, 27 insertions(+), 645 deletions(-) delete mode 100644 client/consensus/aura/src/collator.rs delete mode 100644 client/consensus/aura/src/collators/mod.rs delete mode 100644 client/consensus/aura/src/collators/on_demand.rs diff --git a/client/consensus/aura/src/collator.rs b/client/consensus/aura/src/collator.rs deleted file mode 100644 index 000caf7..0000000 --- a/client/consensus/aura/src/collator.rs +++ /dev/null @@ -1,368 +0,0 @@ -// Copyright (C) Magnet. -// This file is part of Magnet. - -// Magnet 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. - -// Magnet 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 Magnet. If not, see . - -use codec::{Codec, Encode}; -use cumulus_client_collator::service::ServiceInterface as CollatorServiceInterface; -use cumulus_client_consensus_common::{ - self as consensus_common, ParachainBlockImportMarker, ParachainCandidate, -}; -use cumulus_client_consensus_proposer::ProposerInterface; -use cumulus_primitives_core::{ - relay_chain::Hash as PHash, DigestItem, ParachainBlockData, PersistedValidationData, -}; - -use cumulus_client_parachain_inherent::{ParachainInherentData, ParachainInherentDataProvider}; -use cumulus_relay_chain_interface::RelayChainInterface; - -use polkadot_node_primitives::{Collation, MaybeCompressedPoV}; -use polkadot_primitives::{Header as PHeader, Id as ParaId}; - -use cumulus_client_consensus_aura::collator::seal; -use futures::lock::Mutex; -use futures::prelude::*; -use magnet_primitives_order::OrderRecord; -use sc_consensus::BlockImport; -use sc_consensus_aura::standalone as aura_internal; -use sp_api::ProvideRuntimeApi; -use sp_application_crypto::AppPublic; -use sp_consensus_aura::{AuraApi, Slot, SlotDuration}; -use sp_core::crypto::Pair; -use sp_inherents::{CreateInherentDataProviders, InherentData, InherentDataProvider}; -use sp_keystore::KeystorePtr; -use sp_runtime::{ - generic::Digest, - traits::{Block as BlockT, Member}, -}; -use sp_timestamp::Timestamp; -use std::sync::Arc; -use std::{convert::TryFrom, error::Error, time::Duration}; - -/// Parameters for instantiating a [`Collator`]. -pub struct Params { - /// A builder for inherent data builders. - pub create_inherent_data_providers: CIDP, - /// The block import handle. - pub block_import: BI, - /// An interface to the relay-chain client. - pub relay_client: RClient, - /// The keystore handle used for accessing parachain key material. - pub keystore: KeystorePtr, - /// The identifier of the parachain within the relay-chain. - pub para_id: ParaId, - /// The block proposer used for building blocks. - pub proposer: Proposer, - /// The collator service used for bundling proposals into collations and announcing - /// to the network. - pub collator_service: CS, -} - -/// A utility struct for writing collation logic that makes use of Aura entirely -/// or in part. See module docs for more details. -pub struct Collator { - create_inherent_data_providers: CIDP, - block_import: BI, - relay_client: RClient, - keystore: KeystorePtr, - para_id: ParaId, - proposer: Proposer, - collator_service: CS, - _marker: std::marker::PhantomData<(Block, Box)>, -} - -impl Collator -where - Block: BlockT, - RClient: RelayChainInterface, - CIDP: CreateInherentDataProviders< - Block, - (PHash, Option, ParaId, u64, Option), - > + 'static, - BI: BlockImport + ParachainBlockImportMarker + Send + Sync + 'static, - Proposer: ProposerInterface, - CS: CollatorServiceInterface, - P: Pair, - P::Public: AppPublic + Member, - P::Signature: TryFrom> + Member + Codec, -{ - /// Instantiate a new instance of the `Aura` manager. - pub fn new(params: Params) -> Self { - Collator { - create_inherent_data_providers: params.create_inherent_data_providers, - block_import: params.block_import, - relay_client: params.relay_client, - keystore: params.keystore, - para_id: params.para_id, - proposer: params.proposer, - collator_service: params.collator_service, - _marker: std::marker::PhantomData, - } - } - - /// Explicitly creates the inherent data for parachain block authoring and overrides - /// the timestamp inherent data with the one provided, if any. - pub async fn create_inherent_data( - &self, - relay_parent: PHash, - validation_data: &PersistedValidationData, - parent_hash: Block::Hash, - timestamp: impl Into>, - order_record: Arc>>, - ) -> Result<(ParachainInherentData, InherentData), Box> { - let paras_inherent_data = ParachainInherentDataProvider::create_at( - relay_parent, - &self.relay_client, - validation_data, - self.para_id, - ) - .await; - - let paras_inherent_data = match paras_inherent_data { - Some(p) => p, - None => { - return Err( - format!("Could not create paras inherent data at {:?}", relay_parent).into() - ) - }, - }; - let order_record_local = order_record.lock().await; - let mut other_inherent_data; - if order_record_local.relay_parent.is_none() { - other_inherent_data = self - .create_inherent_data_providers - .create_inherent_data_providers( - parent_hash, - (relay_parent, None, self.para_id, order_record_local.sequence_number, None), - ) - .map_err(|e| e as Box) - .await? - .create_inherent_data() - .await - .map_err(Box::new)?; - } else { - other_inherent_data = self - .create_inherent_data_providers - .create_inherent_data_providers( - parent_hash, - ( - order_record_local.relay_parent.expect("can not get relay_parent hash"), - order_record_local.validation_data.clone(), - self.para_id, - order_record_local.sequence_number, - order_record_local.author_pub.clone(), - ), - ) - .map_err(|e| e as Box) - .await? - .create_inherent_data() - .await - .map_err(Box::new)?; - } - - if let Some(timestamp) = timestamp.into() { - other_inherent_data.replace_data(sp_timestamp::INHERENT_IDENTIFIER, ×tamp); - } - - Ok((paras_inherent_data, other_inherent_data)) - } - - /// Propose, seal, and import a block, packaging it into a collation. - /// - /// Provide the slot to build at as well as any other necessary pre-digest logs, - /// the inherent data, and the proposal duration and PoV size limits. - /// - /// The Aura pre-digest should not be explicitly provided and is set internally. - /// - /// This does not announce the collation to the parachain network or the relay chain. - pub async fn collate( - &mut self, - parent_header: &Block::Header, - slot_claim: &SlotClaim, - additional_pre_digest: impl Into>>, - inherent_data: (ParachainInherentData, InherentData), - proposal_duration: Duration, - max_pov_size: usize, - ) -> Result< - Option<(Collation, ParachainBlockData, Block::Hash)>, - Box, - > { - let mut digest = additional_pre_digest.into().unwrap_or_default(); - digest.push(slot_claim.pre_digest.clone()); - - let maybe_proposal = self - .proposer - .propose( - &parent_header, - &inherent_data.0, - inherent_data.1, - Digest { logs: digest }, - proposal_duration, - Some(max_pov_size), - ) - .await - .map_err(|e| Box::new(e) as Box)?; - - let proposal = match maybe_proposal { - None => return Ok(None), - Some(p) => p, - }; - - let sealed_importable = seal::<_, P>( - proposal.block, - proposal.storage_changes, - &slot_claim.author_pub, - &self.keystore, - ) - .map_err(|e| e as Box)?; - - let post_hash = sealed_importable.post_hash(); - let block = Block::new( - sealed_importable.post_header(), - sealed_importable - .body - .as_ref() - .expect("body always created with this `propose` fn; qed") - .clone(), - ); - - self.block_import - .import_block(sealed_importable) - .map_err(|e| Box::new(e) as Box) - .await?; - - if let Some((collation, block_data)) = self.collator_service.build_collation( - parent_header, - post_hash, - ParachainCandidate { block, proof: proposal.proof }, - ) { - tracing::info!( - target: crate::LOG_TARGET, - "PoV size {{ header: {}kb, extrinsics: {}kb, storage_proof: {}kb }}", - block_data.header().encode().len() as f64 / 1024f64, - block_data.extrinsics().encode().len() as f64 / 1024f64, - block_data.storage_proof().encode().len() as f64 / 1024f64, - ); - - if let MaybeCompressedPoV::Compressed(ref pov) = collation.proof_of_validity { - tracing::info!( - target: crate::LOG_TARGET, - "Compressed PoV size: {}kb", - pov.block_data.0.len() as f64 / 1024f64, - ); - } - - Ok(Some((collation, block_data, post_hash))) - } else { - Err(Box::::from("Unable to produce collation") - as Box) - } - } - - /// Get the underlying collator service. - pub fn collator_service(&self) -> &CS { - &self.collator_service - } -} - -/// A claim on an Aura slot. -pub struct SlotClaim { - author_pub: Pub, - pre_digest: DigestItem, - timestamp: Timestamp, -} - -impl SlotClaim { - /// Create a slot-claim from the given author public key, slot, and timestamp. - /// - /// This does not check whether the author actually owns the slot or the timestamp - /// falls within the slot. - pub fn unchecked

(author_pub: Pub, slot: Slot, timestamp: Timestamp) -> Self - where - P: Pair, - P::Public: Codec, - P::Signature: Codec, - { - SlotClaim { author_pub, timestamp, pre_digest: aura_internal::pre_digest::

(slot) } - } - - /// Get the author's public key. - pub fn author_pub(&self) -> &Pub { - &self.author_pub - } - - /// Get the Aura pre-digest for this slot. - pub fn pre_digest(&self) -> &DigestItem { - &self.pre_digest - } - - /// Get the timestamp corresponding to the relay-chain slot this claim was - /// generated against. - pub fn timestamp(&self) -> Timestamp { - self.timestamp - } -} - -/// Attempt to claim a slot derived from the given relay-parent header's slot. -pub async fn claim_slot( - client: &C, - parent_hash: B::Hash, - relay_parent_header: &PHeader, - slot_duration: SlotDuration, - relay_chain_slot_duration: Duration, - keystore: &KeystorePtr, -) -> Result>, Box> -where - B: BlockT, - C: ProvideRuntimeApi + Send + Sync + 'static, - C::Api: AuraApi, - P: Pair, - P::Public: Codec, - P::Signature: Codec, -{ - // load authorities - let authorities = client.runtime_api().authorities(parent_hash).map_err(Box::new)?; - - // Determine the current slot and timestamp based on the relay-parent's. - let (slot_now, timestamp) = match consensus_common::relay_slot_and_timestamp( - relay_parent_header, - relay_chain_slot_duration, - ) { - Some((r_s, t)) => { - let our_slot = Slot::from_timestamp(t, slot_duration); - tracing::debug!( - target: crate::LOG_TARGET, - relay_slot = ?r_s, - para_slot = ?our_slot, - timestamp = ?t, - ?slot_duration, - ?relay_chain_slot_duration, - "Adjusted relay-chain slot to parachain slot" - ); - (our_slot, t) - }, - None => return Ok(None), - }; - - // Try to claim the slot locally. - let author_pub = { - let res = aura_internal::claim_slot::

(slot_now, &authorities, keystore).await; - match res { - Some(p) => p, - None => return Ok(None), - } - }; - - Ok(Some(SlotClaim::unchecked::

(author_pub, slot_now, timestamp))) -} diff --git a/client/consensus/aura/src/collators/mod.rs b/client/consensus/aura/src/collators/mod.rs deleted file mode 100644 index 716ae56..0000000 --- a/client/consensus/aura/src/collators/mod.rs +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright (C) Magnet. -// This file is part of Magnet. - -// Magnet 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. - -// Magnet 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 Magnet. If not, see . - -pub mod on_demand; diff --git a/client/consensus/aura/src/collators/on_demand.rs b/client/consensus/aura/src/collators/on_demand.rs deleted file mode 100644 index c284653..0000000 --- a/client/consensus/aura/src/collators/on_demand.rs +++ /dev/null @@ -1,232 +0,0 @@ -// Copyright (C) Magnet. -// This file is part of Magnet. - -// Magnet 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. - -// Magnet 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 Magnet. If not, see . - -use codec::{Codec, Decode}; -use cumulus_client_collator::{ - relay_chain_driven::CollationRequest, service::ServiceInterface as CollatorServiceInterface, -}; -use cumulus_client_consensus_common::ParachainBlockImportMarker; -use cumulus_client_consensus_proposer::ProposerInterface; -use cumulus_primitives_core::{ - relay_chain::BlockId as RBlockId, relay_chain::Hash as PHash, CollectCollationInfo, -}; -use cumulus_relay_chain_interface::RelayChainInterface; - -use polkadot_node_primitives::CollationResult; -use polkadot_overseer::Handle as OverseerHandle; -use polkadot_primitives::{CollatorPair, Id as ParaId}; - -use cumulus_primitives_core::PersistedValidationData; -use futures::lock::Mutex; -use futures::prelude::*; -use futures::{channel::mpsc::Receiver, prelude::*}; -use magnet_primitives_order::OrderRecord; -use sc_client_api::{backend::AuxStore, BlockBackend, BlockOf}; -use sc_consensus::BlockImport; -use sp_api::ProvideRuntimeApi; -use sp_application_crypto::AppPublic; -use sp_blockchain::HeaderBackend; -use sp_consensus::SyncOracle; -use sp_consensus_aura::{AuraApi, SlotDuration}; -use sp_core::crypto::Pair; -use sp_inherents::CreateInherentDataProviders; -use sp_keystore::KeystorePtr; -use sp_runtime::traits::{Block as BlockT, Header as HeaderT, Member}; -use std::{convert::TryFrom, sync::Arc, time::Duration}; -/// Parameters for [`run`]. -pub struct Params { - /// Inherent data providers. Only non-consensus inherent data should be provided, i.e. - /// the timestamp, slot, and paras inherents should be omitted, as they are set by this - /// collator. - pub create_inherent_data_providers: CIDP, - /// Used to actually import blocks. - pub block_import: BI, - /// The underlying para client. - pub para_client: Arc, - /// A handle to the relay-chain client. - pub relay_client: RClient, - /// A chain synchronization oracle. - pub sync_oracle: SO, - /// The underlying keystore, which should contain Aura consensus keys. - pub keystore: KeystorePtr, - /// The collator key used to sign collations before submitting to validators. - pub collator_key: CollatorPair, - /// The para's ID. - pub para_id: ParaId, - /// A handle to the relay-chain client's "Overseer" or task orchestrator. - pub overseer_handle: OverseerHandle, - /// The length of slots in this chain. - pub slot_duration: SlotDuration, - /// The length of slots in the relay chain. - pub relay_chain_slot_duration: Duration, - /// The underlying block proposer this should call into. - pub proposer: Proposer, - /// The generic collator service used to plug into this consensus engine. - pub collator_service: CS, - /// The amount of time to spend authoring each block. - pub authoring_duration: Duration, - /// Receiver for collation requests. If `None`, Aura consensus will establish a new receiver. - /// Should be used when a chain migrates from a different consensus algorithm and was already - /// processing collation requests before initializing Aura. - pub collation_request_receiver: Option>, -} - -/// Run bare Aura consensus as a relay-chain-driven collator. -pub fn run( - params: Params, - order_record: Arc>>, -) -> impl Future + Send + 'static -where - Block: BlockT + Send, - Client: ProvideRuntimeApi - + BlockOf - + AuxStore - + HeaderBackend - + BlockBackend - + Send - + Sync - + 'static, - Client::Api: AuraApi + CollectCollationInfo, - RClient: RelayChainInterface + Send + Clone + 'static, - CIDP: CreateInherentDataProviders< - Block, - (PHash, Option, ParaId, u64, Option), - > + Send - + 'static, - CIDP::InherentDataProviders: Send, - BI: BlockImport + ParachainBlockImportMarker + Send + Sync + 'static, - SO: SyncOracle + Send + Sync + Clone + 'static, - Proposer: ProposerInterface + Send + Sync + 'static, - CS: CollatorServiceInterface + Send + Sync + 'static, - P: Pair, - P::Public: AppPublic + Member + Codec, - P::Signature: TryFrom> + Member + Codec, -{ - async move { - let mut collation_requests = match params.collation_request_receiver { - Some(receiver) => receiver, - None => { - cumulus_client_collator::relay_chain_driven::init( - params.collator_key, - params.para_id, - params.overseer_handle, - ) - .await - }, - }; - - let mut collator = { - let params = crate::collator::Params { - create_inherent_data_providers: params.create_inherent_data_providers, - block_import: params.block_import, - relay_client: params.relay_client.clone(), - keystore: params.keystore.clone(), - para_id: params.para_id, - proposer: params.proposer, - collator_service: params.collator_service, - }; - - crate::collator::Collator::::new(params) - }; - - while let Some(request) = collation_requests.next().await { - macro_rules! reject_with_error { - ($err:expr) => {{ - request.complete(None); - tracing::error!(target: crate::LOG_TARGET, err = ?{ $err }); - continue; - }}; - } - - macro_rules! try_request { - ($x:expr) => {{ - match $x { - Ok(x) => x, - Err(e) => reject_with_error!(e), - } - }}; - } - - let validation_data = request.persisted_validation_data(); - - let parent_header = - try_request!(Block::Header::decode(&mut &validation_data.parent_head.0[..])); - - let parent_hash = parent_header.hash(); - - if !collator.collator_service().check_block_status(parent_hash, &parent_header) { - continue; - } - - let relay_parent_header = - match params.relay_client.header(RBlockId::hash(*request.relay_parent())).await { - Err(e) => reject_with_error!(e), - Ok(None) => continue, // sanity: would be inconsistent to get `None` here - Ok(Some(h)) => h, - }; - let claim = match crate::collator::claim_slot::<_, _, P>( - &*params.para_client, - parent_hash, - &relay_parent_header, - params.slot_duration, - params.relay_chain_slot_duration, - ¶ms.keystore, - ) - .await - { - Ok(None) => continue, - Ok(Some(c)) => c, - Err(e) => reject_with_error!(e), - }; - let (parachain_inherent_data, other_inherent_data) = try_request!( - collator - .create_inherent_data( - *request.relay_parent(), - &validation_data, - parent_hash, - claim.timestamp(), - order_record.clone(), - ) - .await - ); - let maybe_collation = try_request!( - collator - .collate( - &parent_header, - &claim, - None, - (parachain_inherent_data, other_inherent_data), - params.authoring_duration, - // Set the block limit to 50% of the maximum PoV size. - // - // TODO: If we got benchmarking that includes the proof size, - // we should be able to use the maximum pov size. - (validation_data.max_pov_size / 2) as usize, - ) - .await - ); - - if let Some((collation, _, post_hash)) = maybe_collation { - let result_sender = - Some(collator.collator_service().announce_with_barrier(post_hash)); - request.complete(Some(CollationResult { collation, result_sender })); - } else { - request.complete(None); - tracing::debug!(target: crate::LOG_TARGET, "No block proposal"); - } - } - } -} diff --git a/client/consensus/aura/src/lib.rs b/client/consensus/aura/src/lib.rs index e806a80..e71099a 100644 --- a/client/consensus/aura/src/lib.rs +++ b/client/consensus/aura/src/lib.rs @@ -14,9 +14,6 @@ // You should have received a copy of the GNU General Public License // along with Magnet. If not, see . -pub mod collator; -pub mod collators; - const LOG_TARGET: &str = "on_demand_aura::magnet"; use sp_core::crypto::{ByteArray, Pair}; diff --git a/node/src/service.rs b/node/src/service.rs index 9f7d483..41340a7 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -550,12 +550,12 @@ fn start_consensus( announce_block: Arc>) + Send + Sync>, order_record: Arc>>, ) -> Result<(), sc_service::Error> { - // use cumulus_client_consensus_aura::collators::basic::{ - // self as basic_aura, Params as BasicAuraParams, - // }; - use magnet_client_consensus_aura::collators::on_demand::{ - self as on_demand_aura, Params as BasicAuraParams, + use cumulus_client_consensus_aura::collators::basic::{ + self as basic_aura, Params as BasicAuraParams, }; + // use magnet_client_consensus_aura::collators::on_demand::{ + // self as on_demand_aura, Params as BasicAuraParams, + // }; // NOTE: because we use Aura here explicitly, we can use `CollatorSybilResistance::Resistant` // when starting the network. @@ -580,16 +580,25 @@ fn start_consensus( ); let relay_chain_interface_clone = relay_chain_interface.clone(); let params = BasicAuraParams { - create_inherent_data_providers: move |_block_hash, - ( - relay_parent, - validation_data, - para_id, - sequence_number, - author_pub, - )| { + // create_inherent_data_providers: move |_, ()| async move { Ok(()) }, + create_inherent_data_providers: move |_, ()| { let relay_chain_interface = relay_chain_interface.clone(); + let order_record_clone = order_record.clone(); async move { + let parent_hash = relay_chain_interface.best_block_hash().await?; + let (relay_parent, validation_data, sequence_number, author_pub) = { + let order_record_local = order_record_clone.lock().await; + if order_record_local.validation_data.is_none() { + (parent_hash, None, order_record_local.sequence_number, None) + } else { + ( + order_record_local.relay_parent.expect("can not get relay_parent hash"), + order_record_local.validation_data.clone(), + order_record_local.sequence_number, + order_record_local.author_pub.clone(), + ) + } + }; let order_inherent = magnet_primitives_order::OrderInherentData::create_at( relay_parent, &relay_chain_interface, @@ -624,18 +633,11 @@ fn start_consensus( collation_request_receiver: None, }; - let fut = on_demand_aura::run::< - Block, - sp_consensus_aura::sr25519::AuthorityPair, - _, - _, - _, - _, - _, - _, - _, - >(params, order_record); - task_manager.spawn_essential_handle().spawn("on_demand_aura", None, fut); + let fut = + basic_aura::run::( + params, + ); + task_manager.spawn_essential_handle().spawn("aura", None, fut); Ok(()) } From adc92d7f15f7e76eb7670a7d8f59a009ed703bc9 Mon Sep 17 00:00:00 2001 From: sulijia <984115358@qq.com> Date: Mon, 17 Jun 2024 22:59:13 +0800 Subject: [PATCH 02/22] add client code of bulk mode --- Cargo.lock | 114 +- client/coretime/bulk/Cargo.toml | 56 + client/coretime/bulk/src/lib.rs | 66 + client/coretime/bulk/src/metadata.rs | 19308 +++++++++++++++++++++++++ node/Cargo.toml | 1 + node/src/service.rs | 2 + 6 files changed, 19513 insertions(+), 34 deletions(-) create mode 100644 client/coretime/bulk/Cargo.toml create mode 100644 client/coretime/bulk/src/lib.rs create mode 100644 client/coretime/bulk/src/metadata.rs diff --git a/Cargo.lock b/Cargo.lock index b5f817e..a2a128e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2979,7 +2979,7 @@ checksum = "7d9ce6874da5d4415896cd45ffbc4d1cfc0c4f9c079427bd870742c30f2f65a9" dependencies = [ "curve25519-dalek 4.1.2", "ed25519", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "hex", "rand_core 0.6.4", "sha2 0.10.8", @@ -2988,9 +2988,9 @@ dependencies = [ [[package]] name = "either" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" +checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" dependencies = [ "serde", ] @@ -4500,9 +4500,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash 0.8.11", "allocator-api2", @@ -4515,7 +4515,7 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" dependencies = [ - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] @@ -4860,7 +4860,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] @@ -4893,9 +4893,9 @@ dependencies = [ [[package]] name = "instant" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ "cfg-if", ] @@ -5860,7 +5860,7 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" dependencies = [ - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] @@ -5994,6 +5994,52 @@ dependencies = [ "tracing", ] +[[package]] +name = "magnet-client-coretime-bulk" +version = "0.1.0" +dependencies = [ + "async-trait", + "cumulus-client-collator", + "cumulus-client-consensus-aura", + "cumulus-client-consensus-common", + "cumulus-client-consensus-proposer", + "cumulus-client-parachain-inherent", + "cumulus-primitives-aura", + "cumulus-primitives-core", + "cumulus-primitives-parachain-inherent", + "cumulus-relay-chain-interface", + "futures", + "log", + "parity-scale-codec", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-overseer", + "polkadot-primitives", + "sc-client-api", + "sc-consensus", + "sc-consensus-aura", + "sc-consensus-babe", + "sc-consensus-slots", + "sc-service", + "sc-telemetry", + "schnellru", + "sp-api", + "sp-application-crypto 30.0.0", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-aura", + "sp-core 28.0.0", + "sp-inherents", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", + "sp-timestamp", + "substrate-prometheus-endpoint", + "subxt", + "tracing", +] + [[package]] name = "magnet-primitives-order" version = "0.2.0" @@ -8460,6 +8506,7 @@ dependencies = [ "jsonrpsee", "log", "magnet-client-consensus-aura", + "magnet-client-coretime-bulk", "magnet-primitives-order", "mp-system", "pallet-balances", @@ -10339,9 +10386,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.81" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" +checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" dependencies = [ "unicode-ident", ] @@ -12510,9 +12557,9 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.11.2" +version = "2.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c453e59a955f81fb62ee5d596b450383d699f152d350e9d23a0db2adb78e4c0" +checksum = "eca070c12893629e2cc820a9761bedf6ce1dcddc9852984d1dc734b8bd9bd024" dependencies = [ "bitvec", "cfg-if", @@ -12524,11 +12571,11 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.11.2" +version = "2.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18cf6c6447f813ef19eb450e985bcce6705f9ce7660db221b59093d15c79c4b7" +checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", "syn 1.0.109", @@ -12775,9 +12822,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.198" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc" +checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" dependencies = [ "serde_derive", ] @@ -12793,9 +12840,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.198" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9" +checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", @@ -12804,9 +12851,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.116" +version = "1.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" +checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" dependencies = [ "itoa", "ryu", @@ -13037,7 +13084,7 @@ dependencies = [ "fnv", "futures-lite 1.13.0", "futures-util", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "hex", "hmac 0.12.1", "itertools 0.11.0", @@ -13091,7 +13138,7 @@ dependencies = [ "fnv", "futures-lite 2.3.0", "futures-util", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "hex", "hmac 0.12.1", "itertools 0.11.0", @@ -13141,7 +13188,7 @@ dependencies = [ "futures-channel", "futures-lite 1.13.0", "futures-util", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "hex", "itertools 0.11.0", "log", @@ -13177,7 +13224,7 @@ dependencies = [ "futures-channel", "futures-lite 2.3.0", "futures-util", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "hex", "itertools 0.11.0", "log", @@ -15161,9 +15208,9 @@ checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" [[package]] name = "thiserror" -version = "1.0.58" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" +checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" dependencies = [ "thiserror-impl", ] @@ -15190,9 +15237,9 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "1.0.58" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" +checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", @@ -15378,9 +15425,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" dependencies = [ "bytes", "futures-core", @@ -15388,7 +15435,6 @@ dependencies = [ "futures-sink", "pin-project-lite 0.2.14", "tokio", - "tracing", ] [[package]] diff --git a/client/coretime/bulk/Cargo.toml b/client/coretime/bulk/Cargo.toml new file mode 100644 index 0000000..bc5a7c1 --- /dev/null +++ b/client/coretime/bulk/Cargo.toml @@ -0,0 +1,56 @@ +[package] +name = "magnet-client-coretime-bulk" +authors = ["Anonymous"] +description = "magnet-coretime" +license = "Apache License 2.0" +homepage = "https://magnet.magport.io/" +repository.workspace = true +edition.workspace = true +version = "0.1.0" + +[dependencies] +async-trait = { workspace = true } +codec = { package = "parity-scale-codec", workspace = true, features = [ "derive" ] } +futures = { workspace = true } +tracing = { workspace = true } +schnellru = { workspace = true } +log = { workspace = true } +subxt = { workspace = true, features = ["substrate-compat"]} + +# Substrate +sc-client-api = { workspace = true } +sc-consensus = { workspace = true } +sc-consensus-aura = { workspace = true } +sc-consensus-babe = { workspace = true } +sc-consensus-slots = { workspace = true } +sc-telemetry = { workspace = true } +sp-api = { workspace = true } +sp-application-crypto = { workspace = true } +sp-block-builder = { workspace = true } +sp-blockchain = { workspace = true } +sp-consensus = { workspace = true } +sp-consensus-aura = { workspace = true } +sp-core = { workspace = true } +sp-inherents = { workspace = true } +sp-keystore = { workspace = true } +sp-runtime = { workspace = true } +sp-timestamp = { workspace = true } +sp-state-machine = { workspace = true } +substrate-prometheus-endpoint = { workspace = true } +sc-service = { workspace = true } + +# Cumulus +cumulus-client-consensus-common = { workspace = true } +cumulus-client-parachain-inherent = { workspace = true } +cumulus-relay-chain-interface = { workspace = true } +cumulus-client-consensus-proposer = { workspace = true } +cumulus-primitives-aura = { workspace = true } +cumulus-primitives-core = { workspace = true } +cumulus-primitives-parachain-inherent = { workspace = true } +cumulus-client-collator = { workspace = true } +cumulus-client-consensus-aura= { workspace = true } +# Polkadot +polkadot-primitives = { workspace = true } +polkadot-node-primitives = { workspace = true } +polkadot-node-subsystem = { workspace = true } +polkadot-overseer = { workspace = true } diff --git a/client/coretime/bulk/src/lib.rs b/client/coretime/bulk/src/lib.rs new file mode 100644 index 0000000..7de61d0 --- /dev/null +++ b/client/coretime/bulk/src/lib.rs @@ -0,0 +1,66 @@ +// Copyright (C) Magnet. +// This file is part of Magnet. + +// Magnet 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. + +// Magnet 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 Magnet. If not, see . +use cumulus_primitives_core::BlockT; +use cumulus_primitives_core::ParaId; +use cumulus_relay_chain_interface::RelayChainInterface; +use sc_client_api::UsageProvider; +use sc_service::TaskManager; +use sp_api::ProvideRuntimeApi; +use std::error::Error; +use std::sync::Arc; +mod metadata; +use subxt::client::OfflineClientT; +use subxt::{ + config::polkadot::PolkadotExtrinsicParamsBuilder as Params, tx::Signer, utils::MultiSignature, + Config, OnlineClient, PolkadotConfig, +}; + +pub fn spawn_bulk_task( + parachain: Arc, + para_id: ParaId, + relay_chain: R, + task_manager: &TaskManager, +) -> sc_service::error::Result<()> +where + Block: BlockT, + R: RelayChainInterface + Clone + 'static, + T: Send + Sync + 'static + ProvideRuntimeApi + UsageProvider, +{ + task_manager.spawn_essential_handle().spawn("bulk task", "magport", { + let parachain = parachain.clone(); + + async move { + let api = OnlineClient::::from_url("127.0.0.1:8855").await.unwrap(); + + loop { + let events = api.events().at_latest().await.unwrap(); + + // We can dynamically decode events: + println!("Dynamic event details:"); + for event in events.iter() { + let event = event.unwrap(); + + let pallet = event.pallet_name(); + let variant = event.variant_name(); + let field_values = event.field_values().unwrap(); + + println!("{pallet}::{variant}: {field_values}"); + } + } + } + }); + Ok(()) +} diff --git a/client/coretime/bulk/src/metadata.rs b/client/coretime/bulk/src/metadata.rs new file mode 100644 index 0000000..5805941 --- /dev/null +++ b/client/coretime/bulk/src/metadata.rs @@ -0,0 +1,19308 @@ +#[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 static PALLETS: [&str; 19usize] = [ + "System", + "ParachainSystem", + "Timestamp", + "ParachainInfo", + "Balances", + "TransactionPayment", + "Authorship", + "CollatorSelection", + "Session", + "Aura", + "AuraExt", + "XcmpQueue", + "PolkadotXcm", + "CumulusXcm", + "MessageQueue", + "Utility", + "Multisig", + "Broker", + "Sudo", + ]; + pub static RUNTIME_APIS: [&str; 12usize] = [ + "AuraApi", + "Core", + "Metadata", + "BlockBuilder", + "TaggedTransactionQueue", + "OffchainWorkerApi", + "SessionKeys", + "AccountNonceApi", + "TransactionPaymentApi", + "TransactionPaymentCallApi", + "CollectCollationInfo", + "GenesisBuilder", + ]; + #[doc = r" The error type returned when there is a runtime issue."] + pub type DispatchError = runtime_types::sp_runtime::DispatchError; + #[doc = r" The outer event enum."] + pub type Event = runtime_types::coretime_rococo_runtime::RuntimeEvent; + #[doc = r" The outer extrinsic enum."] + pub type Call = runtime_types::coretime_rococo_runtime::RuntimeCall; + #[doc = r" The outer error enum representing the DispatchError's Module variant."] + pub type Error = runtime_types::coretime_rococo_runtime::RuntimeError; + pub fn constants() -> ConstantsApi { + ConstantsApi + } + pub fn storage() -> StorageApi { + StorageApi + } + pub fn tx() -> TransactionApi { + TransactionApi + } + pub fn apis() -> runtime_apis::RuntimeApi { + runtime_apis::RuntimeApi + } + pub mod runtime_apis { + use super::root_mod; + use super::runtime_types; + use subxt::ext::codec::Encode; + pub struct RuntimeApi; + impl RuntimeApi { + pub fn aura_api(&self) -> aura_api::AuraApi { + aura_api::AuraApi + } + pub fn core(&self) -> core::Core { + core::Core + } + pub fn metadata(&self) -> metadata::Metadata { + metadata::Metadata + } + pub fn block_builder(&self) -> block_builder::BlockBuilder { + block_builder::BlockBuilder + } + pub fn tagged_transaction_queue( + &self, + ) -> tagged_transaction_queue::TaggedTransactionQueue { + tagged_transaction_queue::TaggedTransactionQueue + } + pub fn offchain_worker_api(&self) -> offchain_worker_api::OffchainWorkerApi { + offchain_worker_api::OffchainWorkerApi + } + pub fn session_keys(&self) -> session_keys::SessionKeys { + session_keys::SessionKeys + } + pub fn account_nonce_api(&self) -> account_nonce_api::AccountNonceApi { + account_nonce_api::AccountNonceApi + } + pub fn transaction_payment_api( + &self, + ) -> transaction_payment_api::TransactionPaymentApi { + transaction_payment_api::TransactionPaymentApi + } + pub fn transaction_payment_call_api( + &self, + ) -> transaction_payment_call_api::TransactionPaymentCallApi { + transaction_payment_call_api::TransactionPaymentCallApi + } + pub fn collect_collation_info(&self) -> collect_collation_info::CollectCollationInfo { + collect_collation_info::CollectCollationInfo + } + pub fn genesis_builder(&self) -> genesis_builder::GenesisBuilder { + genesis_builder::GenesisBuilder + } + } + pub mod aura_api { + use super::root_mod; + use super::runtime_types; + #[doc = " API necessary for block authorship with aura."] + pub struct AuraApi; + impl AuraApi { + #[doc = " Returns the slot duration for Aura."] + #[doc = ""] + #[doc = " Currently, only the value provided by this type at genesis will be used."] + pub fn slot_duration( + &self, + ) -> ::subxt::runtime_api::Payload< + types::SlotDuration, + runtime_types::sp_consensus_slots::SlotDuration, + > { + ::subxt::runtime_api::Payload::new_static( + "AuraApi", + "slot_duration", + types::SlotDuration {}, + [ + 233u8, 210u8, 132u8, 172u8, 100u8, 125u8, 239u8, 92u8, 114u8, 82u8, + 7u8, 110u8, 179u8, 196u8, 10u8, 19u8, 211u8, 15u8, 174u8, 2u8, 91u8, + 73u8, 133u8, 100u8, 205u8, 201u8, 191u8, 60u8, 163u8, 122u8, 215u8, + 10u8, + ], + ) + } + #[doc = " Return the current set of authorities."] + pub fn authorities( + &self, + ) -> ::subxt::runtime_api::Payload< + types::Authorities, + ::std::vec::Vec, + > { + ::subxt::runtime_api::Payload::new_static( + "AuraApi", + "authorities", + types::Authorities {}, + [ + 96u8, 136u8, 226u8, 244u8, 105u8, 189u8, 8u8, 250u8, 71u8, 230u8, 37u8, + 123u8, 218u8, 47u8, 179u8, 16u8, 170u8, 181u8, 165u8, 77u8, 102u8, + 51u8, 43u8, 51u8, 186u8, 84u8, 49u8, 15u8, 208u8, 226u8, 129u8, 230u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SlotDuration {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Authorities {} + } + } + pub mod core { + use super::root_mod; + use super::runtime_types; + #[doc = " The `Core` runtime api that every Substrate runtime needs to implement."] + pub struct Core; + impl Core { + #[doc = " Returns the version of the runtime."] + pub fn version( + &self, + ) -> ::subxt::runtime_api::Payload< + types::Version, + runtime_types::sp_version::RuntimeVersion, + > { + ::subxt::runtime_api::Payload::new_static( + "Core", + "version", + types::Version {}, + [ + 76u8, 202u8, 17u8, 117u8, 189u8, 237u8, 239u8, 237u8, 151u8, 17u8, + 125u8, 159u8, 218u8, 92u8, 57u8, 238u8, 64u8, 147u8, 40u8, 72u8, 157u8, + 116u8, 37u8, 195u8, 156u8, 27u8, 123u8, 173u8, 178u8, 102u8, 136u8, + 6u8, + ], + ) + } + #[doc = " Execute the given block."] + pub fn execute_block( + &self, + block : runtime_types :: sp_runtime :: generic :: block :: Block < runtime_types :: sp_runtime :: generic :: header :: Header < :: core :: primitive :: u32 > , :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) > >, + ) -> ::subxt::runtime_api::Payload { + ::subxt::runtime_api::Payload::new_static( + "Core", + "execute_block", + types::ExecuteBlock { block }, + [ + 133u8, 135u8, 228u8, 65u8, 106u8, 27u8, 85u8, 158u8, 112u8, 254u8, + 93u8, 26u8, 102u8, 201u8, 118u8, 216u8, 249u8, 247u8, 91u8, 74u8, 56u8, + 208u8, 231u8, 115u8, 131u8, 29u8, 209u8, 6u8, 65u8, 57u8, 214u8, 125u8, + ], + ) + } + #[doc = " Initialize a block with the given header."] + pub fn initialize_block( + &self, + header: runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + >, + ) -> ::subxt::runtime_api::Payload { + ::subxt::runtime_api::Payload::new_static( + "Core", + "initialize_block", + types::InitializeBlock { header }, + [ + 146u8, 138u8, 72u8, 240u8, 63u8, 96u8, 110u8, 189u8, 77u8, 92u8, 96u8, + 232u8, 41u8, 217u8, 105u8, 148u8, 83u8, 190u8, 152u8, 219u8, 19u8, + 87u8, 163u8, 1u8, 232u8, 25u8, 221u8, 74u8, 224u8, 67u8, 223u8, 34u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Version {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ExecuteBlock { pub block : runtime_types :: sp_runtime :: generic :: block :: Block < runtime_types :: sp_runtime :: generic :: header :: Header < :: core :: primitive :: u32 > , :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) > > , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct InitializeBlock { + pub header: + runtime_types::sp_runtime::generic::header::Header<::core::primitive::u32>, + } + } + } + pub mod metadata { + use super::root_mod; + use super::runtime_types; + #[doc = " The `Metadata` api trait that returns metadata for the runtime."] + pub struct Metadata; + impl Metadata { + #[doc = " Returns the metadata of a runtime."] + pub fn metadata( + &self, + ) -> ::subxt::runtime_api::Payload< + types::Metadata, + runtime_types::sp_core::OpaqueMetadata, + > { + ::subxt::runtime_api::Payload::new_static( + "Metadata", + "metadata", + types::Metadata {}, + [ + 231u8, 24u8, 67u8, 152u8, 23u8, 26u8, 188u8, 82u8, 229u8, 6u8, 185u8, + 27u8, 175u8, 68u8, 83u8, 122u8, 69u8, 89u8, 185u8, 74u8, 248u8, 87u8, + 217u8, 124u8, 193u8, 252u8, 199u8, 186u8, 196u8, 179u8, 179u8, 96u8, + ], + ) + } + #[doc = " Returns the metadata at a given version."] + #[doc = ""] + #[doc = " If the given `version` isn't supported, this will return `None`."] + #[doc = " Use [`Self::metadata_versions`] to find out about supported metadata version of the runtime."] + pub fn metadata_at_version( + &self, + version: ::core::primitive::u32, + ) -> ::subxt::runtime_api::Payload< + types::MetadataAtVersion, + ::core::option::Option, + > { + ::subxt::runtime_api::Payload::new_static( + "Metadata", + "metadata_at_version", + types::MetadataAtVersion { version }, + [ + 131u8, 53u8, 212u8, 234u8, 16u8, 25u8, 120u8, 252u8, 153u8, 153u8, + 216u8, 28u8, 54u8, 113u8, 52u8, 236u8, 146u8, 68u8, 142u8, 8u8, 10u8, + 169u8, 131u8, 142u8, 204u8, 38u8, 48u8, 108u8, 134u8, 86u8, 226u8, + 61u8, + ], + ) + } + #[doc = " Returns the supported metadata versions."] + #[doc = ""] + #[doc = " This can be used to call `metadata_at_version`."] + pub fn metadata_versions( + &self, + ) -> ::subxt::runtime_api::Payload< + types::MetadataVersions, + ::std::vec::Vec<::core::primitive::u32>, + > { + ::subxt::runtime_api::Payload::new_static( + "Metadata", + "metadata_versions", + types::MetadataVersions {}, + [ + 23u8, 144u8, 137u8, 91u8, 188u8, 39u8, 231u8, 208u8, 252u8, 218u8, + 224u8, 176u8, 77u8, 32u8, 130u8, 212u8, 223u8, 76u8, 100u8, 190u8, + 82u8, 94u8, 190u8, 8u8, 82u8, 244u8, 225u8, 179u8, 85u8, 176u8, 56u8, + 16u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Metadata {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MetadataAtVersion { + pub version: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MetadataVersions {} + } + } + pub mod block_builder { + use super::root_mod; + use super::runtime_types; + #[doc = " The `BlockBuilder` api trait that provides the required functionality for building a block."] + pub struct BlockBuilder; + impl BlockBuilder { + #[doc = " Apply the given extrinsic."] + #[doc = ""] + #[doc = " Returns an inclusion outcome which specifies if this extrinsic is included in"] + #[doc = " this block or not."] + pub fn apply_extrinsic( + &self, + extrinsic : :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) >, + ) -> ::subxt::runtime_api::Payload< + types::ApplyExtrinsic, + ::core::result::Result< + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + runtime_types::sp_runtime::transaction_validity::TransactionValidityError, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "BlockBuilder", + "apply_extrinsic", + types::ApplyExtrinsic { extrinsic }, + [ + 72u8, 54u8, 139u8, 3u8, 118u8, 136u8, 65u8, 47u8, 6u8, 105u8, 125u8, + 223u8, 160u8, 29u8, 103u8, 74u8, 79u8, 149u8, 48u8, 90u8, 237u8, 2u8, + 97u8, 201u8, 123u8, 34u8, 167u8, 37u8, 187u8, 35u8, 176u8, 97u8, + ], + ) + } + #[doc = " Finish the current block."] + pub fn finalize_block( + &self, + ) -> ::subxt::runtime_api::Payload< + types::FinalizeBlock, + runtime_types::sp_runtime::generic::header::Header<::core::primitive::u32>, + > { + ::subxt::runtime_api::Payload::new_static( + "BlockBuilder", + "finalize_block", + types::FinalizeBlock {}, + [ + 244u8, 207u8, 24u8, 33u8, 13u8, 69u8, 9u8, 249u8, 145u8, 143u8, 122u8, + 96u8, 197u8, 55u8, 64u8, 111u8, 238u8, 224u8, 34u8, 201u8, 27u8, 146u8, + 232u8, 99u8, 191u8, 30u8, 114u8, 16u8, 32u8, 220u8, 58u8, 62u8, + ], + ) + } + #[doc = " Generate inherent extrinsics. The inherent data will vary from chain to chain."] pub fn inherent_extrinsics (& self , inherent : runtime_types :: sp_inherents :: InherentData ,) -> :: subxt :: runtime_api :: Payload < types :: InherentExtrinsics , :: std :: vec :: Vec < :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) > > >{ + ::subxt::runtime_api::Payload::new_static( + "BlockBuilder", + "inherent_extrinsics", + types::InherentExtrinsics { inherent }, + [ + 254u8, 110u8, 245u8, 201u8, 250u8, 192u8, 27u8, 228u8, 151u8, 213u8, + 166u8, 89u8, 94u8, 81u8, 189u8, 234u8, 64u8, 18u8, 245u8, 80u8, 29u8, + 18u8, 140u8, 129u8, 113u8, 236u8, 135u8, 55u8, 79u8, 159u8, 175u8, + 183u8, + ], + ) + } + #[doc = " Check that the inherents are valid. The inherent data will vary from chain to chain."] + pub fn check_inherents( + &self, + block : runtime_types :: sp_runtime :: generic :: block :: Block < runtime_types :: sp_runtime :: generic :: header :: Header < :: core :: primitive :: u32 > , :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) > >, + data: runtime_types::sp_inherents::InherentData, + ) -> ::subxt::runtime_api::Payload< + types::CheckInherents, + runtime_types::sp_inherents::CheckInherentsResult, + > { + ::subxt::runtime_api::Payload::new_static( + "BlockBuilder", + "check_inherents", + types::CheckInherents { block, data }, + [ + 153u8, 134u8, 1u8, 215u8, 139u8, 11u8, 53u8, 51u8, 210u8, 175u8, 197u8, + 28u8, 38u8, 209u8, 175u8, 247u8, 142u8, 157u8, 50u8, 151u8, 164u8, + 191u8, 181u8, 118u8, 80u8, 97u8, 160u8, 248u8, 110u8, 217u8, 181u8, + 234u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ApplyExtrinsic { pub extrinsic : :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) > , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct FinalizeBlock {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct InherentExtrinsics { + pub inherent: runtime_types::sp_inherents::InherentData, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CheckInherents { pub block : runtime_types :: sp_runtime :: generic :: block :: Block < runtime_types :: sp_runtime :: generic :: header :: Header < :: core :: primitive :: u32 > , :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) > > , pub data : runtime_types :: sp_inherents :: InherentData , } + } + } + pub mod tagged_transaction_queue { + use super::root_mod; + use super::runtime_types; + #[doc = " The `TaggedTransactionQueue` api trait for interfering with the transaction queue."] + pub struct TaggedTransactionQueue; + impl TaggedTransactionQueue { + #[doc = " Validate the transaction."] + #[doc = ""] + #[doc = " This method is invoked by the transaction pool to learn details about given transaction."] + #[doc = " The implementation should make sure to verify the correctness of the transaction"] + #[doc = " against current state. The given `block_hash` corresponds to the hash of the block"] + #[doc = " that is used as current state."] + #[doc = ""] + #[doc = " Note that this call may be performed by the pool multiple times and transactions"] + #[doc = " might be verified in any possible order."] + pub fn validate_transaction( + &self, + source: runtime_types::sp_runtime::transaction_validity::TransactionSource, + tx : :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) >, + block_hash: ::subxt::utils::H256, + ) -> ::subxt::runtime_api::Payload< + types::ValidateTransaction, + ::core::result::Result< + runtime_types::sp_runtime::transaction_validity::ValidTransaction, + runtime_types::sp_runtime::transaction_validity::TransactionValidityError, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "TaggedTransactionQueue", + "validate_transaction", + types::ValidateTransaction { source, tx, block_hash }, + [ + 196u8, 50u8, 90u8, 49u8, 109u8, 251u8, 200u8, 35u8, 23u8, 150u8, 140u8, + 143u8, 232u8, 164u8, 133u8, 89u8, 32u8, 240u8, 115u8, 39u8, 95u8, 70u8, + 162u8, 76u8, 122u8, 73u8, 151u8, 144u8, 234u8, 120u8, 100u8, 29u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ValidateTransaction { pub source : runtime_types :: sp_runtime :: transaction_validity :: TransactionSource , pub tx : :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) > , pub block_hash : :: subxt :: utils :: H256 , } + } + } + pub mod offchain_worker_api { + use super::root_mod; + use super::runtime_types; + #[doc = " The offchain worker api."] + pub struct OffchainWorkerApi; + impl OffchainWorkerApi { + #[doc = " Starts the off-chain task for given block header."] + pub fn offchain_worker( + &self, + header: runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + >, + ) -> ::subxt::runtime_api::Payload { + ::subxt::runtime_api::Payload::new_static( + "OffchainWorkerApi", + "offchain_worker", + types::OffchainWorker { header }, + [ + 10u8, 135u8, 19u8, 153u8, 33u8, 216u8, 18u8, 242u8, 33u8, 140u8, 4u8, + 223u8, 200u8, 130u8, 103u8, 118u8, 137u8, 24u8, 19u8, 127u8, 161u8, + 29u8, 184u8, 111u8, 222u8, 111u8, 253u8, 73u8, 45u8, 31u8, 79u8, 60u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct OffchainWorker { + pub header: + runtime_types::sp_runtime::generic::header::Header<::core::primitive::u32>, + } + } + } + pub mod session_keys { + use super::root_mod; + use super::runtime_types; + #[doc = " Session keys runtime api."] + pub struct SessionKeys; + impl SessionKeys { + #[doc = " Generate a set of session keys with optionally using the given seed."] + #[doc = " The keys should be stored within the keystore exposed via runtime"] + #[doc = " externalities."] + #[doc = ""] + #[doc = " The seed needs to be a valid `utf8` string."] + #[doc = ""] + #[doc = " Returns the concatenated SCALE encoded public keys."] + pub fn generate_session_keys( + &self, + seed: ::core::option::Option<::std::vec::Vec<::core::primitive::u8>>, + ) -> ::subxt::runtime_api::Payload< + types::GenerateSessionKeys, + ::std::vec::Vec<::core::primitive::u8>, + > { + ::subxt::runtime_api::Payload::new_static( + "SessionKeys", + "generate_session_keys", + types::GenerateSessionKeys { seed }, + [ + 96u8, 171u8, 164u8, 166u8, 175u8, 102u8, 101u8, 47u8, 133u8, 95u8, + 102u8, 202u8, 83u8, 26u8, 238u8, 47u8, 126u8, 132u8, 22u8, 11u8, 33u8, + 190u8, 175u8, 94u8, 58u8, 245u8, 46u8, 80u8, 195u8, 184u8, 107u8, 65u8, + ], + ) + } + #[doc = " Decode the given public session keys."] + #[doc = ""] + #[doc = " Returns the list of public raw public keys + key type."] + pub fn decode_session_keys( + &self, + encoded: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::runtime_api::Payload< + types::DecodeSessionKeys, + ::core::option::Option< + ::std::vec::Vec<( + ::std::vec::Vec<::core::primitive::u8>, + runtime_types::sp_core::crypto::KeyTypeId, + )>, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "SessionKeys", + "decode_session_keys", + types::DecodeSessionKeys { encoded }, + [ + 57u8, 242u8, 18u8, 51u8, 132u8, 110u8, 238u8, 255u8, 39u8, 194u8, 8u8, + 54u8, 198u8, 178u8, 75u8, 151u8, 148u8, 176u8, 144u8, 197u8, 87u8, + 29u8, 179u8, 235u8, 176u8, 78u8, 252u8, 103u8, 72u8, 203u8, 151u8, + 248u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct GenerateSessionKeys { + pub seed: ::core::option::Option<::std::vec::Vec<::core::primitive::u8>>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DecodeSessionKeys { + pub encoded: ::std::vec::Vec<::core::primitive::u8>, + } + } + } + pub mod account_nonce_api { + use super::root_mod; + use super::runtime_types; + #[doc = " The API to query account nonce."] + pub struct AccountNonceApi; + impl AccountNonceApi { + #[doc = " Get current account nonce of given `AccountId`."] + pub fn account_nonce( + &self, + account: ::subxt::utils::AccountId32, + ) -> ::subxt::runtime_api::Payload { + ::subxt::runtime_api::Payload::new_static( + "AccountNonceApi", + "account_nonce", + types::AccountNonce { account }, + [ + 231u8, 82u8, 7u8, 227u8, 131u8, 2u8, 215u8, 252u8, 173u8, 82u8, 11u8, + 103u8, 200u8, 25u8, 114u8, 116u8, 79u8, 229u8, 152u8, 150u8, 236u8, + 37u8, 101u8, 26u8, 220u8, 146u8, 182u8, 101u8, 73u8, 55u8, 191u8, + 171u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AccountNonce { + pub account: ::subxt::utils::AccountId32, + } + } + } + pub mod transaction_payment_api { + use super::root_mod; + use super::runtime_types; + pub struct TransactionPaymentApi; + impl TransactionPaymentApi { + pub fn query_info( + &self, + uxt : :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) >, + len: ::core::primitive::u32, + ) -> ::subxt::runtime_api::Payload< + types::QueryInfo, + runtime_types::pallet_transaction_payment::types::RuntimeDispatchInfo< + ::core::primitive::u128, + runtime_types::sp_weights::weight_v2::Weight, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "TransactionPaymentApi", + "query_info", + types::QueryInfo { uxt, len }, + [ + 56u8, 30u8, 174u8, 34u8, 202u8, 24u8, 177u8, 189u8, 145u8, 36u8, 1u8, + 156u8, 98u8, 209u8, 178u8, 49u8, 198u8, 23u8, 150u8, 173u8, 35u8, + 205u8, 147u8, 129u8, 42u8, 22u8, 69u8, 3u8, 129u8, 8u8, 196u8, 139u8, + ], + ) + } + pub fn query_fee_details( + &self, + uxt : :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) >, + len: ::core::primitive::u32, + ) -> ::subxt::runtime_api::Payload< + types::QueryFeeDetails, + runtime_types::pallet_transaction_payment::types::FeeDetails< + ::core::primitive::u128, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "TransactionPaymentApi", + "query_fee_details", + types::QueryFeeDetails { uxt, len }, + [ + 117u8, 60u8, 137u8, 159u8, 237u8, 252u8, 216u8, 238u8, 232u8, 1u8, + 100u8, 152u8, 26u8, 185u8, 145u8, 125u8, 68u8, 189u8, 4u8, 30u8, 125u8, + 7u8, 196u8, 153u8, 235u8, 51u8, 219u8, 108u8, 185u8, 254u8, 100u8, + 201u8, + ], + ) + } + pub fn query_weight_to_fee( + &self, + weight: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::runtime_api::Payload + { + ::subxt::runtime_api::Payload::new_static( + "TransactionPaymentApi", + "query_weight_to_fee", + types::QueryWeightToFee { weight }, + [ + 206u8, 243u8, 189u8, 83u8, 231u8, 244u8, 247u8, 52u8, 126u8, 208u8, + 224u8, 5u8, 163u8, 108u8, 254u8, 114u8, 214u8, 156u8, 227u8, 217u8, + 211u8, 198u8, 121u8, 164u8, 110u8, 54u8, 181u8, 146u8, 50u8, 146u8, + 146u8, 23u8, + ], + ) + } + pub fn query_length_to_fee( + &self, + length: ::core::primitive::u32, + ) -> ::subxt::runtime_api::Payload + { + ::subxt::runtime_api::Payload::new_static( + "TransactionPaymentApi", + "query_length_to_fee", + types::QueryLengthToFee { length }, + [ + 92u8, 132u8, 29u8, 119u8, 66u8, 11u8, 196u8, 224u8, 129u8, 23u8, 249u8, + 12u8, 32u8, 28u8, 92u8, 50u8, 188u8, 101u8, 203u8, 229u8, 248u8, 216u8, + 130u8, 150u8, 212u8, 161u8, 81u8, 254u8, 116u8, 89u8, 162u8, 48u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct QueryInfo { pub uxt : :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) > , pub len : :: core :: primitive :: u32 , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct QueryFeeDetails { pub uxt : :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) > , pub len : :: core :: primitive :: u32 , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct QueryWeightToFee { + pub weight: runtime_types::sp_weights::weight_v2::Weight, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct QueryLengthToFee { + pub length: ::core::primitive::u32, + } + } + } + pub mod transaction_payment_call_api { + use super::root_mod; + use super::runtime_types; + pub struct TransactionPaymentCallApi; + impl TransactionPaymentCallApi { + #[doc = " Query information of a dispatch class, weight, and fee of a given encoded `Call`."] + pub fn query_call_info( + &self, + call: runtime_types::coretime_rococo_runtime::RuntimeCall, + len: ::core::primitive::u32, + ) -> ::subxt::runtime_api::Payload< + types::QueryCallInfo, + runtime_types::pallet_transaction_payment::types::RuntimeDispatchInfo< + ::core::primitive::u128, + runtime_types::sp_weights::weight_v2::Weight, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "TransactionPaymentCallApi", + "query_call_info", + types::QueryCallInfo { call, len }, + [ + 144u8, 172u8, 193u8, 149u8, 28u8, 82u8, 208u8, 226u8, 171u8, 59u8, + 10u8, 77u8, 230u8, 162u8, 177u8, 49u8, 193u8, 102u8, 128u8, 112u8, + 235u8, 183u8, 35u8, 97u8, 139u8, 157u8, 177u8, 173u8, 205u8, 6u8, + 255u8, 26u8, + ], + ) + } + #[doc = " Query fee details of a given encoded `Call`."] + pub fn query_call_fee_details( + &self, + call: runtime_types::coretime_rococo_runtime::RuntimeCall, + len: ::core::primitive::u32, + ) -> ::subxt::runtime_api::Payload< + types::QueryCallFeeDetails, + runtime_types::pallet_transaction_payment::types::FeeDetails< + ::core::primitive::u128, + >, + > { + ::subxt::runtime_api::Payload::new_static( + "TransactionPaymentCallApi", + "query_call_fee_details", + types::QueryCallFeeDetails { call, len }, + [ + 53u8, 126u8, 3u8, 45u8, 40u8, 132u8, 229u8, 63u8, 8u8, 241u8, 124u8, + 160u8, 30u8, 139u8, 140u8, 97u8, 78u8, 59u8, 151u8, 84u8, 29u8, 36u8, + 232u8, 93u8, 116u8, 66u8, 35u8, 191u8, 43u8, 172u8, 29u8, 8u8, + ], + ) + } + #[doc = " Query the output of the current `WeightToFee` given some input."] + pub fn query_weight_to_fee( + &self, + weight: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::runtime_api::Payload + { + ::subxt::runtime_api::Payload::new_static( + "TransactionPaymentCallApi", + "query_weight_to_fee", + types::QueryWeightToFee { weight }, + [ + 117u8, 91u8, 94u8, 22u8, 248u8, 212u8, 15u8, 23u8, 97u8, 116u8, 64u8, + 228u8, 83u8, 123u8, 87u8, 77u8, 97u8, 7u8, 98u8, 181u8, 6u8, 165u8, + 114u8, 141u8, 164u8, 113u8, 126u8, 88u8, 174u8, 171u8, 224u8, 35u8, + ], + ) + } + #[doc = " Query the output of the current `LengthToFee` given some input."] + pub fn query_length_to_fee( + &self, + length: ::core::primitive::u32, + ) -> ::subxt::runtime_api::Payload + { + ::subxt::runtime_api::Payload::new_static( + "TransactionPaymentCallApi", + "query_length_to_fee", + types::QueryLengthToFee { length }, + [ + 246u8, 40u8, 4u8, 160u8, 152u8, 94u8, 170u8, 53u8, 205u8, 122u8, 5u8, + 69u8, 70u8, 25u8, 128u8, 156u8, 119u8, 134u8, 116u8, 147u8, 14u8, + 164u8, 65u8, 140u8, 86u8, 13u8, 250u8, 218u8, 89u8, 95u8, 234u8, 228u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct QueryCallInfo { + pub call: runtime_types::coretime_rococo_runtime::RuntimeCall, + pub len: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct QueryCallFeeDetails { + pub call: runtime_types::coretime_rococo_runtime::RuntimeCall, + pub len: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct QueryWeightToFee { + pub weight: runtime_types::sp_weights::weight_v2::Weight, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct QueryLengthToFee { + pub length: ::core::primitive::u32, + } + } + } + pub mod collect_collation_info { + use super::root_mod; + use super::runtime_types; + #[doc = " Runtime api to collect information about a collation."] + pub struct CollectCollationInfo; + impl CollectCollationInfo { + #[doc = " Collect information about a collation."] + #[doc = ""] + #[doc = " The given `header` is the header of the built block for that"] + #[doc = " we are collecting the collation info for."] + pub fn collect_collation_info( + &self, + header: runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + >, + ) -> ::subxt::runtime_api::Payload< + types::CollectCollationInfo, + runtime_types::cumulus_primitives_core::CollationInfo, + > { + ::subxt::runtime_api::Payload::new_static( + "CollectCollationInfo", + "collect_collation_info", + types::CollectCollationInfo { header }, + [ + 56u8, 138u8, 105u8, 91u8, 216u8, 40u8, 255u8, 98u8, 86u8, 138u8, 185u8, + 155u8, 80u8, 141u8, 85u8, 48u8, 252u8, 235u8, 178u8, 231u8, 111u8, + 216u8, 71u8, 20u8, 33u8, 202u8, 24u8, 215u8, 214u8, 132u8, 51u8, 166u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CollectCollationInfo { + pub header: + runtime_types::sp_runtime::generic::header::Header<::core::primitive::u32>, + } + } + } + pub mod genesis_builder { + use super::root_mod; + use super::runtime_types; + #[doc = " API to interact with GenesisConfig for the runtime"] + pub struct GenesisBuilder; + impl GenesisBuilder { + #[doc = " Creates the default `GenesisConfig` and returns it as a JSON blob."] + #[doc = ""] + #[doc = " This function instantiates the default `GenesisConfig` struct for the runtime and serializes it into a JSON"] + #[doc = " blob. It returns a `Vec` containing the JSON representation of the default `GenesisConfig`."] + pub fn create_default_config( + &self, + ) -> ::subxt::runtime_api::Payload< + types::CreateDefaultConfig, + ::std::vec::Vec<::core::primitive::u8>, + > { + ::subxt::runtime_api::Payload::new_static( + "GenesisBuilder", + "create_default_config", + types::CreateDefaultConfig {}, + [ + 238u8, 5u8, 139u8, 81u8, 184u8, 155u8, 221u8, 118u8, 190u8, 76u8, + 229u8, 67u8, 132u8, 89u8, 83u8, 80u8, 56u8, 171u8, 169u8, 64u8, 123u8, + 20u8, 129u8, 159u8, 28u8, 135u8, 84u8, 52u8, 192u8, 98u8, 104u8, 214u8, + ], + ) + } + #[doc = " Build `GenesisConfig` from a JSON blob not using any defaults and store it in the storage."] + #[doc = ""] + #[doc = " This function deserializes the full `GenesisConfig` from the given JSON blob and puts it into the storage."] + #[doc = " If the provided JSON blob is incorrect or incomplete or the deserialization fails, an error is returned."] + #[doc = " It is recommended to log any errors encountered during the process."] + #[doc = ""] + #[doc = " Please note that provided json blob must contain all `GenesisConfig` fields, no defaults will be used."] + pub fn build_config( + &self, + json: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::runtime_api::Payload< + types::BuildConfig, + ::core::result::Result<(), ::std::string::String>, + > { + ::subxt::runtime_api::Payload::new_static( + "GenesisBuilder", + "build_config", + types::BuildConfig { json }, + [ + 6u8, 98u8, 68u8, 125u8, 157u8, 26u8, 107u8, 86u8, 213u8, 227u8, 26u8, + 229u8, 122u8, 161u8, 229u8, 114u8, 123u8, 192u8, 66u8, 231u8, 148u8, + 175u8, 5u8, 185u8, 248u8, 88u8, 40u8, 122u8, 230u8, 209u8, 170u8, + 254u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CreateDefaultConfig {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BuildConfig { + pub json: ::std::vec::Vec<::core::primitive::u8>, + } + } + } + } + pub fn custom() -> CustomValuesApi { + CustomValuesApi + } + pub struct CustomValuesApi; + impl CustomValuesApi {} + pub struct ConstantsApi; + impl ConstantsApi { + pub fn system(&self) -> system::constants::ConstantsApi { + system::constants::ConstantsApi + } + pub fn timestamp(&self) -> timestamp::constants::ConstantsApi { + timestamp::constants::ConstantsApi + } + pub fn balances(&self) -> balances::constants::ConstantsApi { + balances::constants::ConstantsApi + } + pub fn transaction_payment(&self) -> transaction_payment::constants::ConstantsApi { + transaction_payment::constants::ConstantsApi + } + pub fn xcmp_queue(&self) -> xcmp_queue::constants::ConstantsApi { + xcmp_queue::constants::ConstantsApi + } + pub fn message_queue(&self) -> message_queue::constants::ConstantsApi { + message_queue::constants::ConstantsApi + } + pub fn utility(&self) -> utility::constants::ConstantsApi { + utility::constants::ConstantsApi + } + pub fn multisig(&self) -> multisig::constants::ConstantsApi { + multisig::constants::ConstantsApi + } + pub fn broker(&self) -> broker::constants::ConstantsApi { + broker::constants::ConstantsApi + } + } + pub struct StorageApi; + impl StorageApi { + pub fn system(&self) -> system::storage::StorageApi { + system::storage::StorageApi + } + pub fn parachain_system(&self) -> parachain_system::storage::StorageApi { + parachain_system::storage::StorageApi + } + pub fn timestamp(&self) -> timestamp::storage::StorageApi { + timestamp::storage::StorageApi + } + pub fn parachain_info(&self) -> parachain_info::storage::StorageApi { + parachain_info::storage::StorageApi + } + pub fn balances(&self) -> balances::storage::StorageApi { + balances::storage::StorageApi + } + pub fn transaction_payment(&self) -> transaction_payment::storage::StorageApi { + transaction_payment::storage::StorageApi + } + pub fn authorship(&self) -> authorship::storage::StorageApi { + authorship::storage::StorageApi + } + pub fn collator_selection(&self) -> collator_selection::storage::StorageApi { + collator_selection::storage::StorageApi + } + pub fn session(&self) -> session::storage::StorageApi { + session::storage::StorageApi + } + pub fn aura(&self) -> aura::storage::StorageApi { + aura::storage::StorageApi + } + pub fn aura_ext(&self) -> aura_ext::storage::StorageApi { + aura_ext::storage::StorageApi + } + pub fn xcmp_queue(&self) -> xcmp_queue::storage::StorageApi { + xcmp_queue::storage::StorageApi + } + pub fn polkadot_xcm(&self) -> polkadot_xcm::storage::StorageApi { + polkadot_xcm::storage::StorageApi + } + pub fn message_queue(&self) -> message_queue::storage::StorageApi { + message_queue::storage::StorageApi + } + pub fn multisig(&self) -> multisig::storage::StorageApi { + multisig::storage::StorageApi + } + pub fn broker(&self) -> broker::storage::StorageApi { + broker::storage::StorageApi + } + pub fn sudo(&self) -> sudo::storage::StorageApi { + sudo::storage::StorageApi + } + } + pub struct TransactionApi; + impl TransactionApi { + pub fn system(&self) -> system::calls::TransactionApi { + system::calls::TransactionApi + } + pub fn parachain_system(&self) -> parachain_system::calls::TransactionApi { + parachain_system::calls::TransactionApi + } + pub fn timestamp(&self) -> timestamp::calls::TransactionApi { + timestamp::calls::TransactionApi + } + pub fn parachain_info(&self) -> parachain_info::calls::TransactionApi { + parachain_info::calls::TransactionApi + } + pub fn balances(&self) -> balances::calls::TransactionApi { + balances::calls::TransactionApi + } + pub fn collator_selection(&self) -> collator_selection::calls::TransactionApi { + collator_selection::calls::TransactionApi + } + pub fn session(&self) -> session::calls::TransactionApi { + session::calls::TransactionApi + } + pub fn xcmp_queue(&self) -> xcmp_queue::calls::TransactionApi { + xcmp_queue::calls::TransactionApi + } + pub fn polkadot_xcm(&self) -> polkadot_xcm::calls::TransactionApi { + polkadot_xcm::calls::TransactionApi + } + pub fn cumulus_xcm(&self) -> cumulus_xcm::calls::TransactionApi { + cumulus_xcm::calls::TransactionApi + } + pub fn message_queue(&self) -> message_queue::calls::TransactionApi { + message_queue::calls::TransactionApi + } + pub fn utility(&self) -> utility::calls::TransactionApi { + utility::calls::TransactionApi + } + pub fn multisig(&self) -> multisig::calls::TransactionApi { + multisig::calls::TransactionApi + } + pub fn broker(&self) -> broker::calls::TransactionApi { + broker::calls::TransactionApi + } + pub fn sudo(&self) -> sudo::calls::TransactionApi { + sudo::calls::TransactionApi + } + } + #[doc = r" check whether the metadata provided is aligned with this statically generated code."] + pub fn is_codegen_valid_for(metadata: &::subxt::Metadata) -> bool { + let runtime_metadata_hash = metadata + .hasher() + .only_these_pallets(&PALLETS) + .only_these_runtime_apis(&RUNTIME_APIS) + .hash(); + runtime_metadata_hash + == [ + 242u8, 249u8, 231u8, 131u8, 221u8, 227u8, 243u8, 80u8, 94u8, 43u8, 167u8, 107u8, + 160u8, 189u8, 68u8, 67u8, 246u8, 202u8, 187u8, 14u8, 58u8, 172u8, 27u8, 33u8, + 232u8, 78u8, 146u8, 148u8, 181u8, 89u8, 134u8, 221u8, + ] + } + pub mod system { + use super::root_mod; + use super::runtime_types; + #[doc = "Error for the System pallet"] + pub type Error = runtime_types::frame_system::pallet::Error; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::frame_system::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Remark { + pub remark: ::std::vec::Vec<::core::primitive::u8>, + } + impl ::subxt::blocks::StaticExtrinsic for Remark { + const PALLET: &'static str = "System"; + const CALL: &'static str = "remark"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetHeapPages { + pub pages: ::core::primitive::u64, + } + impl ::subxt::blocks::StaticExtrinsic for SetHeapPages { + const PALLET: &'static str = "System"; + const CALL: &'static str = "set_heap_pages"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetCode { + pub code: ::std::vec::Vec<::core::primitive::u8>, + } + impl ::subxt::blocks::StaticExtrinsic for SetCode { + const PALLET: &'static str = "System"; + const CALL: &'static str = "set_code"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetCodeWithoutChecks { + pub code: ::std::vec::Vec<::core::primitive::u8>, + } + impl ::subxt::blocks::StaticExtrinsic for SetCodeWithoutChecks { + const PALLET: &'static str = "System"; + const CALL: &'static str = "set_code_without_checks"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetStorage { + pub items: ::std::vec::Vec<( + ::std::vec::Vec<::core::primitive::u8>, + ::std::vec::Vec<::core::primitive::u8>, + )>, + } + impl ::subxt::blocks::StaticExtrinsic for SetStorage { + const PALLET: &'static str = "System"; + const CALL: &'static str = "set_storage"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct KillStorage { + pub keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + } + impl ::subxt::blocks::StaticExtrinsic for KillStorage { + const PALLET: &'static str = "System"; + const CALL: &'static str = "kill_storage"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct KillPrefix { + pub prefix: ::std::vec::Vec<::core::primitive::u8>, + pub subkeys: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for KillPrefix { + const PALLET: &'static str = "System"; + const CALL: &'static str = "kill_prefix"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemarkWithEvent { + pub remark: ::std::vec::Vec<::core::primitive::u8>, + } + impl ::subxt::blocks::StaticExtrinsic for RemarkWithEvent { + const PALLET: &'static str = "System"; + const CALL: &'static str = "remark_with_event"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AuthorizeUpgrade { + pub code_hash: ::subxt::utils::H256, + } + impl ::subxt::blocks::StaticExtrinsic for AuthorizeUpgrade { + const PALLET: &'static str = "System"; + const CALL: &'static str = "authorize_upgrade"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AuthorizeUpgradeWithoutChecks { + pub code_hash: ::subxt::utils::H256, + } + impl ::subxt::blocks::StaticExtrinsic for AuthorizeUpgradeWithoutChecks { + const PALLET: &'static str = "System"; + const CALL: &'static str = "authorize_upgrade_without_checks"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ApplyAuthorizedUpgrade { + pub code: ::std::vec::Vec<::core::primitive::u8>, + } + impl ::subxt::blocks::StaticExtrinsic for ApplyAuthorizedUpgrade { + const PALLET: &'static str = "System"; + const CALL: &'static str = "apply_authorized_upgrade"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "See [`Pallet::remark`]."] + pub fn remark( + &self, + remark: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "System", + "remark", + types::Remark { remark }, + [ + 43u8, 126u8, 180u8, 174u8, 141u8, 48u8, 52u8, 125u8, 166u8, 212u8, + 216u8, 98u8, 100u8, 24u8, 132u8, 71u8, 101u8, 64u8, 246u8, 169u8, 33u8, + 250u8, 147u8, 208u8, 2u8, 40u8, 129u8, 209u8, 232u8, 207u8, 207u8, + 13u8, + ], + ) + } + #[doc = "See [`Pallet::set_heap_pages`]."] + pub fn set_heap_pages( + &self, + pages: ::core::primitive::u64, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "System", + "set_heap_pages", + types::SetHeapPages { pages }, + [ + 188u8, 191u8, 99u8, 216u8, 219u8, 109u8, 141u8, 50u8, 78u8, 235u8, + 215u8, 242u8, 195u8, 24u8, 111u8, 76u8, 229u8, 64u8, 99u8, 225u8, + 134u8, 121u8, 81u8, 209u8, 127u8, 223u8, 98u8, 215u8, 150u8, 70u8, + 57u8, 147u8, + ], + ) + } + #[doc = "See [`Pallet::set_code`]."] + pub fn set_code( + &self, + code: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "System", + "set_code", + types::SetCode { code }, + [ + 233u8, 248u8, 88u8, 245u8, 28u8, 65u8, 25u8, 169u8, 35u8, 237u8, 19u8, + 203u8, 136u8, 160u8, 18u8, 3u8, 20u8, 197u8, 81u8, 169u8, 244u8, 188u8, + 27u8, 147u8, 147u8, 236u8, 65u8, 25u8, 3u8, 143u8, 182u8, 22u8, + ], + ) + } + #[doc = "See [`Pallet::set_code_without_checks`]."] + pub fn set_code_without_checks( + &self, + code: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "System", + "set_code_without_checks", + types::SetCodeWithoutChecks { code }, + [ + 82u8, 212u8, 157u8, 44u8, 70u8, 0u8, 143u8, 15u8, 109u8, 109u8, 107u8, + 157u8, 141u8, 42u8, 169u8, 11u8, 15u8, 186u8, 252u8, 138u8, 10u8, + 147u8, 15u8, 178u8, 247u8, 229u8, 213u8, 98u8, 207u8, 231u8, 119u8, + 115u8, + ], + ) + } + #[doc = "See [`Pallet::set_storage`]."] + pub fn set_storage( + &self, + items: ::std::vec::Vec<( + ::std::vec::Vec<::core::primitive::u8>, + ::std::vec::Vec<::core::primitive::u8>, + )>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "System", + "set_storage", + types::SetStorage { items }, + [ + 141u8, 216u8, 52u8, 222u8, 223u8, 136u8, 123u8, 181u8, 19u8, 75u8, + 163u8, 102u8, 229u8, 189u8, 158u8, 142u8, 95u8, 235u8, 240u8, 49u8, + 150u8, 76u8, 78u8, 137u8, 126u8, 88u8, 183u8, 88u8, 231u8, 146u8, + 234u8, 43u8, + ], + ) + } + #[doc = "See [`Pallet::kill_storage`]."] + pub fn kill_storage( + &self, + keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "System", + "kill_storage", + types::KillStorage { keys }, + [ + 73u8, 63u8, 196u8, 36u8, 144u8, 114u8, 34u8, 213u8, 108u8, 93u8, 209u8, + 234u8, 153u8, 185u8, 33u8, 91u8, 187u8, 195u8, 223u8, 130u8, 58u8, + 156u8, 63u8, 47u8, 228u8, 249u8, 216u8, 139u8, 143u8, 177u8, 41u8, + 35u8, + ], + ) + } + #[doc = "See [`Pallet::kill_prefix`]."] + pub fn kill_prefix( + &self, + prefix: ::std::vec::Vec<::core::primitive::u8>, + subkeys: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "System", + "kill_prefix", + types::KillPrefix { prefix, subkeys }, + [ + 184u8, 57u8, 139u8, 24u8, 208u8, 87u8, 108u8, 215u8, 198u8, 189u8, + 175u8, 242u8, 167u8, 215u8, 97u8, 63u8, 110u8, 166u8, 238u8, 98u8, + 67u8, 236u8, 111u8, 110u8, 234u8, 81u8, 102u8, 5u8, 182u8, 5u8, 214u8, + 85u8, + ], + ) + } + #[doc = "See [`Pallet::remark_with_event`]."] + pub fn remark_with_event( + &self, + remark: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "System", + "remark_with_event", + types::RemarkWithEvent { remark }, + [ + 120u8, 120u8, 153u8, 92u8, 184u8, 85u8, 34u8, 2u8, 174u8, 206u8, 105u8, + 228u8, 233u8, 130u8, 80u8, 246u8, 228u8, 59u8, 234u8, 240u8, 4u8, 49u8, + 147u8, 170u8, 115u8, 91u8, 149u8, 200u8, 228u8, 181u8, 8u8, 154u8, + ], + ) + } + #[doc = "See [`Pallet::authorize_upgrade`]."] + pub fn authorize_upgrade( + &self, + code_hash: ::subxt::utils::H256, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "System", + "authorize_upgrade", + types::AuthorizeUpgrade { code_hash }, + [ + 4u8, 14u8, 76u8, 107u8, 209u8, 129u8, 9u8, 39u8, 193u8, 17u8, 84u8, + 254u8, 170u8, 214u8, 24u8, 155u8, 29u8, 184u8, 249u8, 241u8, 109u8, + 58u8, 145u8, 131u8, 109u8, 63u8, 38u8, 165u8, 107u8, 215u8, 217u8, + 172u8, + ], + ) + } + #[doc = "See [`Pallet::authorize_upgrade_without_checks`]."] + pub fn authorize_upgrade_without_checks( + &self, + code_hash: ::subxt::utils::H256, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "System", + "authorize_upgrade_without_checks", + types::AuthorizeUpgradeWithoutChecks { code_hash }, + [ + 126u8, 126u8, 55u8, 26u8, 47u8, 55u8, 66u8, 8u8, 167u8, 18u8, 29u8, + 136u8, 146u8, 14u8, 189u8, 117u8, 16u8, 227u8, 162u8, 61u8, 149u8, + 197u8, 104u8, 184u8, 185u8, 161u8, 99u8, 154u8, 80u8, 125u8, 181u8, + 233u8, + ], + ) + } + #[doc = "See [`Pallet::apply_authorized_upgrade`]."] + pub fn apply_authorized_upgrade( + &self, + code: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "System", + "apply_authorized_upgrade", + types::ApplyAuthorizedUpgrade { code }, + [ + 232u8, 107u8, 127u8, 38u8, 230u8, 29u8, 97u8, 4u8, 160u8, 191u8, 222u8, + 156u8, 245u8, 102u8, 196u8, 141u8, 44u8, 163u8, 98u8, 68u8, 125u8, + 32u8, 124u8, 101u8, 108u8, 93u8, 211u8, 52u8, 0u8, 231u8, 33u8, 227u8, + ], + ) + } + } + } + #[doc = "Event for the System pallet."] + pub type Event = runtime_types::frame_system::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An extrinsic completed successfully."] + pub struct ExtrinsicSuccess { + pub dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo, + } + impl ::subxt::events::StaticEvent for ExtrinsicSuccess { + const PALLET: &'static str = "System"; + const EVENT: &'static str = "ExtrinsicSuccess"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An extrinsic failed."] + pub struct ExtrinsicFailed { + pub dispatch_error: runtime_types::sp_runtime::DispatchError, + pub dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo, + } + impl ::subxt::events::StaticEvent for ExtrinsicFailed { + const PALLET: &'static str = "System"; + const EVENT: &'static str = "ExtrinsicFailed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "`:code` was updated."] + pub struct CodeUpdated; + impl ::subxt::events::StaticEvent for CodeUpdated { + const PALLET: &'static str = "System"; + const EVENT: &'static str = "CodeUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A new account was created."] + pub struct NewAccount { + pub account: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for NewAccount { + const PALLET: &'static str = "System"; + const EVENT: &'static str = "NewAccount"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An account was reaped."] + pub struct KilledAccount { + pub account: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for KilledAccount { + const PALLET: &'static str = "System"; + const EVENT: &'static str = "KilledAccount"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "On on-chain remark happened."] + pub struct Remarked { + pub sender: ::subxt::utils::AccountId32, + pub hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for Remarked { + const PALLET: &'static str = "System"; + const EVENT: &'static str = "Remarked"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An upgrade was authorized."] + pub struct UpgradeAuthorized { + pub code_hash: ::subxt::utils::H256, + pub check_version: ::core::primitive::bool, + } + impl ::subxt::events::StaticEvent for UpgradeAuthorized { + const PALLET: &'static str = "System"; + const EVENT: &'static str = "UpgradeAuthorized"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The full account information for a particular account ID."] + pub fn account_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::frame_system::AccountInfo< + ::core::primitive::u32, + runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "System", + "Account", + vec![], + [ + 14u8, 233u8, 115u8, 214u8, 0u8, 109u8, 222u8, 121u8, 162u8, 65u8, 60u8, + 175u8, 209u8, 79u8, 222u8, 124u8, 22u8, 235u8, 138u8, 176u8, 133u8, + 124u8, 90u8, 158u8, 85u8, 45u8, 37u8, 174u8, 47u8, 79u8, 47u8, 166u8, + ], + ) + } + #[doc = " The full account information for a particular account ID."] + pub fn account( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::frame_system::AccountInfo< + ::core::primitive::u32, + runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "Account", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 14u8, 233u8, 115u8, 214u8, 0u8, 109u8, 222u8, 121u8, 162u8, 65u8, 60u8, + 175u8, 209u8, 79u8, 222u8, 124u8, 22u8, 235u8, 138u8, 176u8, 133u8, + 124u8, 90u8, 158u8, 85u8, 45u8, 37u8, 174u8, 47u8, 79u8, 47u8, 166u8, + ], + ) + } + #[doc = " Total extrinsics count for the current block."] + pub fn extrinsic_count( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "ExtrinsicCount", + vec![], + [ + 102u8, 76u8, 236u8, 42u8, 40u8, 231u8, 33u8, 222u8, 123u8, 147u8, + 153u8, 148u8, 234u8, 203u8, 181u8, 119u8, 6u8, 187u8, 177u8, 199u8, + 120u8, 47u8, 137u8, 254u8, 96u8, 100u8, 165u8, 182u8, 249u8, 230u8, + 159u8, 79u8, + ], + ) + } + #[doc = " The current weight for the block."] + pub fn block_weight( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::frame_support::dispatch::PerDispatchClass< + runtime_types::sp_weights::weight_v2::Weight, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "BlockWeight", + vec![], + [ + 158u8, 46u8, 228u8, 89u8, 210u8, 214u8, 84u8, 154u8, 50u8, 68u8, 63u8, + 62u8, 43u8, 42u8, 99u8, 27u8, 54u8, 42u8, 146u8, 44u8, 241u8, 216u8, + 229u8, 30u8, 216u8, 255u8, 165u8, 238u8, 181u8, 130u8, 36u8, 102u8, + ], + ) + } + #[doc = " Total length (in bytes) for all extrinsics put together, for the current block."] + pub fn all_extrinsics_len( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "AllExtrinsicsLen", + vec![], + [ + 117u8, 86u8, 61u8, 243u8, 41u8, 51u8, 102u8, 214u8, 137u8, 100u8, + 243u8, 185u8, 122u8, 174u8, 187u8, 117u8, 86u8, 189u8, 63u8, 135u8, + 101u8, 218u8, 203u8, 201u8, 237u8, 254u8, 128u8, 183u8, 169u8, 221u8, + 242u8, 65u8, + ], + ) + } + #[doc = " Map of block numbers to block hashes."] + pub fn block_hash_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::H256, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "System", + "BlockHash", + vec![], + [ + 217u8, 32u8, 215u8, 253u8, 24u8, 182u8, 207u8, 178u8, 157u8, 24u8, + 103u8, 100u8, 195u8, 165u8, 69u8, 152u8, 112u8, 181u8, 56u8, 192u8, + 164u8, 16u8, 20u8, 222u8, 28u8, 214u8, 144u8, 142u8, 146u8, 69u8, + 202u8, 118u8, + ], + ) + } + #[doc = " Map of block numbers to block hashes."] + pub fn block_hash( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::H256, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "BlockHash", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 217u8, 32u8, 215u8, 253u8, 24u8, 182u8, 207u8, 178u8, 157u8, 24u8, + 103u8, 100u8, 195u8, 165u8, 69u8, 152u8, 112u8, 181u8, 56u8, 192u8, + 164u8, 16u8, 20u8, 222u8, 28u8, 214u8, 144u8, 142u8, 146u8, 69u8, + 202u8, 118u8, + ], + ) + } + #[doc = " Extrinsics data for the current block (maps an extrinsic's index to its data)."] + pub fn extrinsic_data_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::core::primitive::u8>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "System", + "ExtrinsicData", + vec![], + [ + 160u8, 180u8, 122u8, 18u8, 196u8, 26u8, 2u8, 37u8, 115u8, 232u8, 133u8, + 220u8, 106u8, 245u8, 4u8, 129u8, 42u8, 84u8, 241u8, 45u8, 199u8, 179u8, + 128u8, 61u8, 170u8, 137u8, 231u8, 156u8, 247u8, 57u8, 47u8, 38u8, + ], + ) + } + #[doc = " Extrinsics data for the current block (maps an extrinsic's index to its data)."] + pub fn extrinsic_data( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::core::primitive::u8>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "ExtrinsicData", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 160u8, 180u8, 122u8, 18u8, 196u8, 26u8, 2u8, 37u8, 115u8, 232u8, 133u8, + 220u8, 106u8, 245u8, 4u8, 129u8, 42u8, 84u8, 241u8, 45u8, 199u8, 179u8, + 128u8, 61u8, 170u8, 137u8, 231u8, 156u8, 247u8, 57u8, 47u8, 38u8, + ], + ) + } + #[doc = " The current block number being processed. Set by `execute_block`."] + pub fn number( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "Number", + vec![], + [ + 30u8, 194u8, 177u8, 90u8, 194u8, 232u8, 46u8, 180u8, 85u8, 129u8, 14u8, + 9u8, 8u8, 8u8, 23u8, 95u8, 230u8, 5u8, 13u8, 105u8, 125u8, 2u8, 22u8, + 200u8, 78u8, 93u8, 115u8, 28u8, 150u8, 113u8, 48u8, 53u8, + ], + ) + } + #[doc = " Hash of the previous block."] + pub fn parent_hash( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::H256, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "ParentHash", + vec![], + [ + 26u8, 130u8, 11u8, 216u8, 155u8, 71u8, 128u8, 170u8, 30u8, 153u8, 21u8, + 192u8, 62u8, 93u8, 137u8, 80u8, 120u8, 81u8, 202u8, 94u8, 248u8, 125u8, + 71u8, 82u8, 141u8, 229u8, 32u8, 56u8, 73u8, 50u8, 101u8, 78u8, + ], + ) + } + #[doc = " Digest of the current block, also part of the block header."] + pub fn digest( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_runtime::generic::digest::Digest, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "Digest", + vec![], + [ + 61u8, 64u8, 237u8, 91u8, 145u8, 232u8, 17u8, 254u8, 181u8, 16u8, 234u8, + 91u8, 51u8, 140u8, 254u8, 131u8, 98u8, 135u8, 21u8, 37u8, 251u8, 20u8, + 58u8, 92u8, 123u8, 141u8, 14u8, 227u8, 146u8, 46u8, 222u8, 117u8, + ], + ) + } + #[doc = " Events deposited for the current block."] + #[doc = ""] + #[doc = " NOTE: The item is unbound and should therefore never be read on chain."] + #[doc = " It could otherwise inflate the PoV size of a block."] + #[doc = ""] + #[doc = " Events have a large in-memory size. Box the events to not go out-of-memory"] + #[doc = " just in case someone still reads them from within the runtime."] + pub fn events( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec< + runtime_types::frame_system::EventRecord< + runtime_types::coretime_rococo_runtime::RuntimeEvent, + ::subxt::utils::H256, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "Events", + vec![], + [ + 116u8, 34u8, 143u8, 0u8, 100u8, 96u8, 191u8, 144u8, 117u8, 233u8, + 245u8, 65u8, 232u8, 97u8, 101u8, 184u8, 150u8, 152u8, 218u8, 179u8, + 195u8, 142u8, 170u8, 211u8, 191u8, 58u8, 100u8, 54u8, 248u8, 57u8, + 227u8, 165u8, + ], + ) + } + #[doc = " The number of events in the `Events` list."] + pub fn event_count( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "EventCount", + vec![], + [ + 175u8, 24u8, 252u8, 184u8, 210u8, 167u8, 146u8, 143u8, 164u8, 80u8, + 151u8, 205u8, 189u8, 189u8, 55u8, 220u8, 47u8, 101u8, 181u8, 33u8, + 254u8, 131u8, 13u8, 143u8, 3u8, 244u8, 245u8, 45u8, 2u8, 210u8, 79u8, + 133u8, + ], + ) + } + #[doc = " Mapping between a topic (represented by T::Hash) and a vector of indexes"] + #[doc = " of events in the `>` list."] + #[doc = ""] + #[doc = " All topic vectors have deterministic storage locations depending on the topic. This"] + #[doc = " allows light-clients to leverage the changes trie storage tracking mechanism and"] + #[doc = " in case of changes fetch the list of events of interest."] + #[doc = ""] + #[doc = " The value has the type `(BlockNumberFor, EventIndex)` because if we used only just"] + #[doc = " the `EventIndex` then in case if the topic has the same contents on the next block"] + #[doc = " no notification will be triggered thus the event might be lost."] + pub fn event_topics_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<(::core::primitive::u32, ::core::primitive::u32)>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "System", + "EventTopics", + vec![], + [ + 40u8, 225u8, 14u8, 75u8, 44u8, 176u8, 76u8, 34u8, 143u8, 107u8, 69u8, + 133u8, 114u8, 13u8, 172u8, 250u8, 141u8, 73u8, 12u8, 65u8, 217u8, 63u8, + 120u8, 241u8, 48u8, 106u8, 143u8, 161u8, 128u8, 100u8, 166u8, 59u8, + ], + ) + } + #[doc = " Mapping between a topic (represented by T::Hash) and a vector of indexes"] + #[doc = " of events in the `>` list."] + #[doc = ""] + #[doc = " All topic vectors have deterministic storage locations depending on the topic. This"] + #[doc = " allows light-clients to leverage the changes trie storage tracking mechanism and"] + #[doc = " in case of changes fetch the list of events of interest."] + #[doc = ""] + #[doc = " The value has the type `(BlockNumberFor, EventIndex)` because if we used only just"] + #[doc = " the `EventIndex` then in case if the topic has the same contents on the next block"] + #[doc = " no notification will be triggered thus the event might be lost."] + pub fn event_topics( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<(::core::primitive::u32, ::core::primitive::u32)>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "EventTopics", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 40u8, 225u8, 14u8, 75u8, 44u8, 176u8, 76u8, 34u8, 143u8, 107u8, 69u8, + 133u8, 114u8, 13u8, 172u8, 250u8, 141u8, 73u8, 12u8, 65u8, 217u8, 63u8, + 120u8, 241u8, 48u8, 106u8, 143u8, 161u8, 128u8, 100u8, 166u8, 59u8, + ], + ) + } + #[doc = " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened."] + pub fn last_runtime_upgrade( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::frame_system::LastRuntimeUpgradeInfo, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "LastRuntimeUpgrade", + vec![], + [ + 137u8, 29u8, 175u8, 75u8, 197u8, 208u8, 91u8, 207u8, 156u8, 87u8, + 148u8, 68u8, 91u8, 140u8, 22u8, 233u8, 1u8, 229u8, 56u8, 34u8, 40u8, + 194u8, 253u8, 30u8, 163u8, 39u8, 54u8, 209u8, 13u8, 27u8, 139u8, 184u8, + ], + ) + } + #[doc = " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not."] + pub fn upgraded_to_u32_ref_count( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::bool, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "UpgradedToU32RefCount", + vec![], + [ + 229u8, 73u8, 9u8, 132u8, 186u8, 116u8, 151u8, 171u8, 145u8, 29u8, 34u8, + 130u8, 52u8, 146u8, 124u8, 175u8, 79u8, 189u8, 147u8, 230u8, 234u8, + 107u8, 124u8, 31u8, 2u8, 22u8, 86u8, 190u8, 4u8, 147u8, 50u8, 245u8, + ], + ) + } + #[doc = " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False"] + #[doc = " (default) if not."] + pub fn upgraded_to_triple_ref_count( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::bool, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "UpgradedToTripleRefCount", + vec![], + [ + 97u8, 66u8, 124u8, 243u8, 27u8, 167u8, 147u8, 81u8, 254u8, 201u8, + 101u8, 24u8, 40u8, 231u8, 14u8, 179u8, 154u8, 163u8, 71u8, 81u8, 185u8, + 167u8, 82u8, 254u8, 189u8, 3u8, 101u8, 207u8, 206u8, 194u8, 155u8, + 151u8, + ], + ) + } + #[doc = " The execution phase of the block."] + pub fn execution_phase( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::frame_system::Phase, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "ExecutionPhase", + vec![], + [ + 191u8, 129u8, 100u8, 134u8, 126u8, 116u8, 154u8, 203u8, 220u8, 200u8, + 0u8, 26u8, 161u8, 250u8, 133u8, 205u8, 146u8, 24u8, 5u8, 156u8, 158u8, + 35u8, 36u8, 253u8, 52u8, 235u8, 86u8, 167u8, 35u8, 100u8, 119u8, 27u8, + ], + ) + } + #[doc = " `Some` if a code upgrade has been authorized."] + pub fn authorized_upgrade( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::frame_system::CodeUpgradeAuthorization, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "AuthorizedUpgrade", + vec![], + [ + 165u8, 97u8, 27u8, 138u8, 2u8, 28u8, 55u8, 92u8, 96u8, 96u8, 168u8, + 169u8, 55u8, 178u8, 44u8, 127u8, 58u8, 140u8, 206u8, 178u8, 1u8, 37u8, + 214u8, 213u8, 251u8, 123u8, 5u8, 111u8, 90u8, 148u8, 217u8, 135u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Block & extrinsics weights: base values and limits."] + pub fn block_weights( + &self, + ) -> ::subxt::constants::Address + { + ::subxt::constants::Address::new_static( + "System", + "BlockWeights", + [ + 176u8, 124u8, 225u8, 136u8, 25u8, 73u8, 247u8, 33u8, 82u8, 206u8, 85u8, + 190u8, 127u8, 102u8, 71u8, 11u8, 185u8, 8u8, 58u8, 0u8, 94u8, 55u8, + 163u8, 177u8, 104u8, 59u8, 60u8, 136u8, 246u8, 116u8, 0u8, 239u8, + ], + ) + } + #[doc = " The maximum length of a block (in bytes)."] + pub fn block_length( + &self, + ) -> ::subxt::constants::Address { + ::subxt::constants::Address::new_static( + "System", + "BlockLength", + [ + 23u8, 242u8, 225u8, 39u8, 225u8, 67u8, 152u8, 41u8, 155u8, 104u8, 68u8, + 229u8, 185u8, 133u8, 10u8, 143u8, 184u8, 152u8, 234u8, 44u8, 140u8, + 96u8, 166u8, 235u8, 162u8, 160u8, 72u8, 7u8, 35u8, 194u8, 3u8, 37u8, + ], + ) + } + #[doc = " Maximum number of block number to block hash mappings to keep (oldest pruned first)."] + pub fn block_hash_count( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "System", + "BlockHashCount", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The weight of runtime database operations the runtime can invoke."] + pub fn db_weight( + &self, + ) -> ::subxt::constants::Address { + ::subxt::constants::Address::new_static( + "System", + "DbWeight", + [ + 42u8, 43u8, 178u8, 142u8, 243u8, 203u8, 60u8, 173u8, 118u8, 111u8, + 200u8, 170u8, 102u8, 70u8, 237u8, 187u8, 198u8, 120u8, 153u8, 232u8, + 183u8, 76u8, 74u8, 10u8, 70u8, 243u8, 14u8, 218u8, 213u8, 126u8, 29u8, + 177u8, + ], + ) + } + #[doc = " Get the chain's current version."] + pub fn version( + &self, + ) -> ::subxt::constants::Address { + ::subxt::constants::Address::new_static( + "System", + "Version", + [ + 219u8, 45u8, 162u8, 245u8, 177u8, 246u8, 48u8, 126u8, 191u8, 157u8, + 228u8, 83u8, 111u8, 133u8, 183u8, 13u8, 148u8, 108u8, 92u8, 102u8, + 72u8, 205u8, 74u8, 242u8, 233u8, 79u8, 20u8, 170u8, 72u8, 202u8, 158u8, + 165u8, + ], + ) + } + #[doc = " The designated SS58 prefix of this chain."] + #[doc = ""] + #[doc = " This replaces the \"ss58Format\" property declared in the chain spec. Reason is"] + #[doc = " that the runtime should know about the prefix in order to make use of it as"] + #[doc = " an identifier of the chain."] + pub fn ss58_prefix(&self) -> ::subxt::constants::Address<::core::primitive::u16> { + ::subxt::constants::Address::new_static( + "System", + "SS58Prefix", + [ + 116u8, 33u8, 2u8, 170u8, 181u8, 147u8, 171u8, 169u8, 167u8, 227u8, + 41u8, 144u8, 11u8, 236u8, 82u8, 100u8, 74u8, 60u8, 184u8, 72u8, 169u8, + 90u8, 208u8, 135u8, 15u8, 117u8, 10u8, 123u8, 128u8, 193u8, 29u8, 70u8, + ], + ) + } + } + } + } + pub mod parachain_system { + use super::root_mod; + use super::runtime_types; + #[doc = "The `Error` enum of this pallet."] + pub type Error = runtime_types::cumulus_pallet_parachain_system::pallet::Error; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::cumulus_pallet_parachain_system::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetValidationData { + pub data: + runtime_types::cumulus_primitives_parachain_inherent::ParachainInherentData, + } + impl ::subxt::blocks::StaticExtrinsic for SetValidationData { + const PALLET: &'static str = "ParachainSystem"; + const CALL: &'static str = "set_validation_data"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SudoSendUpwardMessage { + pub message: ::std::vec::Vec<::core::primitive::u8>, + } + impl ::subxt::blocks::StaticExtrinsic for SudoSendUpwardMessage { + const PALLET: &'static str = "ParachainSystem"; + const CALL: &'static str = "sudo_send_upward_message"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AuthorizeUpgrade { + pub code_hash: ::subxt::utils::H256, + pub check_version: ::core::primitive::bool, + } + impl ::subxt::blocks::StaticExtrinsic for AuthorizeUpgrade { + const PALLET: &'static str = "ParachainSystem"; + const CALL: &'static str = "authorize_upgrade"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct EnactAuthorizedUpgrade { + pub code: ::std::vec::Vec<::core::primitive::u8>, + } + impl ::subxt::blocks::StaticExtrinsic for EnactAuthorizedUpgrade { + const PALLET: &'static str = "ParachainSystem"; + const CALL: &'static str = "enact_authorized_upgrade"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "See [`Pallet::set_validation_data`]."] + pub fn set_validation_data( + &self, + data : runtime_types :: cumulus_primitives_parachain_inherent :: ParachainInherentData, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ParachainSystem", + "set_validation_data", + types::SetValidationData { data }, + [ + 167u8, 126u8, 75u8, 137u8, 220u8, 60u8, 106u8, 214u8, 92u8, 170u8, + 136u8, 176u8, 98u8, 0u8, 234u8, 217u8, 146u8, 113u8, 149u8, 88u8, + 114u8, 141u8, 228u8, 105u8, 136u8, 71u8, 233u8, 18u8, 70u8, 36u8, 24u8, + 249u8, + ], + ) + } + #[doc = "See [`Pallet::sudo_send_upward_message`]."] + pub fn sudo_send_upward_message( + &self, + message: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ParachainSystem", + "sudo_send_upward_message", + types::SudoSendUpwardMessage { message }, + [ + 1u8, 231u8, 11u8, 78u8, 127u8, 117u8, 248u8, 67u8, 230u8, 199u8, 126u8, + 47u8, 20u8, 62u8, 252u8, 138u8, 199u8, 48u8, 41u8, 21u8, 28u8, 157u8, + 218u8, 143u8, 4u8, 253u8, 62u8, 192u8, 94u8, 252u8, 92u8, 180u8, + ], + ) + } + #[doc = "See [`Pallet::authorize_upgrade`]."] + pub fn authorize_upgrade( + &self, + code_hash: ::subxt::utils::H256, + check_version: ::core::primitive::bool, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ParachainSystem", + "authorize_upgrade", + types::AuthorizeUpgrade { code_hash, check_version }, + [ + 213u8, 114u8, 107u8, 169u8, 223u8, 147u8, 205u8, 204u8, 3u8, 81u8, + 228u8, 0u8, 82u8, 57u8, 43u8, 95u8, 12u8, 59u8, 241u8, 176u8, 143u8, + 131u8, 253u8, 166u8, 98u8, 187u8, 94u8, 235u8, 177u8, 110u8, 162u8, + 218u8, + ], + ) + } + #[doc = "See [`Pallet::enact_authorized_upgrade`]."] + pub fn enact_authorized_upgrade( + &self, + code: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ParachainSystem", + "enact_authorized_upgrade", + types::EnactAuthorizedUpgrade { code }, + [ + 232u8, 135u8, 114u8, 87u8, 196u8, 146u8, 244u8, 19u8, 106u8, 73u8, + 88u8, 193u8, 48u8, 14u8, 72u8, 133u8, 247u8, 147u8, 50u8, 95u8, 252u8, + 213u8, 192u8, 47u8, 244u8, 102u8, 195u8, 120u8, 179u8, 87u8, 94u8, 8u8, + ], + ) + } + } + } + #[doc = "The `Event` enum of this pallet"] + pub type Event = runtime_types::cumulus_pallet_parachain_system::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The validation function has been scheduled to apply."] + pub struct ValidationFunctionStored; + impl ::subxt::events::StaticEvent for ValidationFunctionStored { + const PALLET: &'static str = "ParachainSystem"; + const EVENT: &'static str = "ValidationFunctionStored"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The validation function was applied as of the contained relay chain block number."] + pub struct ValidationFunctionApplied { + pub relay_chain_block_num: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for ValidationFunctionApplied { + const PALLET: &'static str = "ParachainSystem"; + const EVENT: &'static str = "ValidationFunctionApplied"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The relay-chain aborted the upgrade process."] + pub struct ValidationFunctionDiscarded; + impl ::subxt::events::StaticEvent for ValidationFunctionDiscarded { + const PALLET: &'static str = "ParachainSystem"; + const EVENT: &'static str = "ValidationFunctionDiscarded"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some downward messages have been received and will be processed."] + pub struct DownwardMessagesReceived { + pub count: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for DownwardMessagesReceived { + const PALLET: &'static str = "ParachainSystem"; + const EVENT: &'static str = "DownwardMessagesReceived"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Downward messages were processed using the given weight."] + pub struct DownwardMessagesProcessed { + pub weight_used: runtime_types::sp_weights::weight_v2::Weight, + pub dmq_head: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for DownwardMessagesProcessed { + const PALLET: &'static str = "ParachainSystem"; + const EVENT: &'static str = "DownwardMessagesProcessed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An upward message was sent to the relay chain."] + pub struct UpwardMessageSent { + pub message_hash: ::core::option::Option<[::core::primitive::u8; 32usize]>, + } + impl ::subxt::events::StaticEvent for UpwardMessageSent { + const PALLET: &'static str = "ParachainSystem"; + const EVENT: &'static str = "UpwardMessageSent"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Latest included block descendants the runtime accepted. In other words, these are"] + #[doc = " ancestors of the currently executing block which have not been included in the observed"] + #[doc = " relay-chain state."] + #[doc = ""] + #[doc = " The segment length is limited by the capacity returned from the [`ConsensusHook`] configured"] + #[doc = " in the pallet."] pub fn unincluded_segment (& self ,) -> :: subxt :: storage :: address :: Address :: < :: subxt :: storage :: address :: StaticStorageMapKey , :: std :: vec :: Vec < runtime_types :: cumulus_pallet_parachain_system :: unincluded_segment :: Ancestor < :: subxt :: utils :: H256 > > , :: subxt :: storage :: address :: Yes , :: subxt :: storage :: address :: Yes , () >{ + ::subxt::storage::address::Address::new_static( + "ParachainSystem", + "UnincludedSegment", + vec![], + [ + 73u8, 83u8, 226u8, 16u8, 203u8, 233u8, 221u8, 109u8, 23u8, 114u8, 56u8, + 154u8, 100u8, 116u8, 253u8, 10u8, 164u8, 22u8, 110u8, 73u8, 245u8, + 226u8, 54u8, 146u8, 67u8, 109u8, 149u8, 142u8, 154u8, 218u8, 55u8, + 178u8, + ], + ) + } + #[doc = " Storage field that keeps track of bandwidth used by the unincluded segment along with the"] + #[doc = " latest HRMP watermark. Used for limiting the acceptance of new blocks with"] + #[doc = " respect to relay chain constraints."] pub fn aggregated_unincluded_segment (& self ,) -> :: subxt :: storage :: address :: Address :: < :: subxt :: storage :: address :: StaticStorageMapKey , runtime_types :: cumulus_pallet_parachain_system :: unincluded_segment :: SegmentTracker < :: subxt :: utils :: H256 > , :: subxt :: storage :: address :: Yes , () , () >{ + ::subxt::storage::address::Address::new_static( + "ParachainSystem", + "AggregatedUnincludedSegment", + vec![], + [ + 165u8, 51u8, 182u8, 156u8, 65u8, 114u8, 167u8, 133u8, 245u8, 52u8, + 32u8, 119u8, 159u8, 65u8, 201u8, 108u8, 99u8, 43u8, 84u8, 63u8, 95u8, + 182u8, 134u8, 163u8, 51u8, 202u8, 243u8, 82u8, 225u8, 192u8, 186u8, + 2u8, + ], + ) + } + #[doc = " In case of a scheduled upgrade, this storage field contains the validation code to be"] + #[doc = " applied."] + #[doc = ""] + #[doc = " As soon as the relay chain gives us the go-ahead signal, we will overwrite the"] + #[doc = " [`:code`][sp_core::storage::well_known_keys::CODE] which will result the next block process"] + #[doc = " with the new validation code. This concludes the upgrade process."] + pub fn pending_validation_code( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::core::primitive::u8>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParachainSystem", + "PendingValidationCode", + vec![], + [ + 78u8, 159u8, 219u8, 211u8, 177u8, 80u8, 102u8, 93u8, 83u8, 146u8, 90u8, + 233u8, 232u8, 11u8, 104u8, 172u8, 93u8, 68u8, 44u8, 228u8, 99u8, 197u8, + 254u8, 28u8, 181u8, 215u8, 247u8, 238u8, 49u8, 49u8, 195u8, 249u8, + ], + ) + } + #[doc = " Validation code that is set by the parachain and is to be communicated to collator and"] + #[doc = " consequently the relay-chain."] + #[doc = ""] + #[doc = " This will be cleared in `on_initialize` of each new block if no other pallet already set"] + #[doc = " the value."] + pub fn new_validation_code( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::core::primitive::u8>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ParachainSystem", + "NewValidationCode", + vec![], + [ + 185u8, 123u8, 152u8, 122u8, 230u8, 136u8, 79u8, 73u8, 206u8, 19u8, + 59u8, 57u8, 75u8, 250u8, 83u8, 185u8, 29u8, 76u8, 89u8, 137u8, 77u8, + 163u8, 25u8, 125u8, 182u8, 67u8, 2u8, 180u8, 48u8, 237u8, 49u8, 171u8, + ], + ) + } + #[doc = " The [`PersistedValidationData`] set for this block."] + #[doc = " This value is expected to be set only once per block and it's never stored"] + #[doc = " in the trie."] + pub fn validation_data( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_primitives::v6::PersistedValidationData< + ::subxt::utils::H256, + ::core::primitive::u32, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ParachainSystem", + "ValidationData", + vec![], + [ + 193u8, 240u8, 25u8, 56u8, 103u8, 173u8, 56u8, 56u8, 229u8, 243u8, 91u8, + 25u8, 249u8, 95u8, 122u8, 93u8, 37u8, 181u8, 54u8, 244u8, 217u8, 200u8, + 62u8, 136u8, 80u8, 148u8, 16u8, 177u8, 124u8, 211u8, 95u8, 24u8, + ], + ) + } + #[doc = " Were the validation data set to notify the relay chain?"] + pub fn did_set_validation_code( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::bool, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParachainSystem", + "DidSetValidationCode", + vec![], + [ + 233u8, 228u8, 48u8, 111u8, 200u8, 35u8, 30u8, 139u8, 251u8, 77u8, + 196u8, 252u8, 35u8, 222u8, 129u8, 235u8, 7u8, 19u8, 156u8, 82u8, 126u8, + 173u8, 29u8, 62u8, 20u8, 67u8, 166u8, 116u8, 108u8, 182u8, 57u8, 246u8, + ], + ) + } + #[doc = " The relay chain block number associated with the last parachain block."] + #[doc = ""] + #[doc = " This is updated in `on_finalize`."] + pub fn last_relay_chain_block_number( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParachainSystem", + "LastRelayChainBlockNumber", + vec![], + [ + 17u8, 65u8, 131u8, 169u8, 195u8, 243u8, 195u8, 93u8, 220u8, 174u8, + 75u8, 216u8, 214u8, 227u8, 96u8, 40u8, 8u8, 153u8, 116u8, 160u8, 79u8, + 255u8, 35u8, 232u8, 242u8, 42u8, 100u8, 150u8, 208u8, 210u8, 142u8, + 186u8, + ], + ) + } + #[doc = " An option which indicates if the relay-chain restricts signalling a validation code upgrade."] + #[doc = " In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced"] + #[doc = " candidate will be invalid."] + #[doc = ""] + #[doc = " This storage item is a mirror of the corresponding value for the current parachain from the"] + #[doc = " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is"] + #[doc = " set after the inherent."] + pub fn upgrade_restriction_signal( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::option::Option< + runtime_types::polkadot_primitives::v6::UpgradeRestriction, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParachainSystem", + "UpgradeRestrictionSignal", + vec![], + [ + 235u8, 240u8, 37u8, 44u8, 181u8, 52u8, 7u8, 216u8, 20u8, 139u8, 69u8, + 124u8, 21u8, 173u8, 237u8, 64u8, 105u8, 88u8, 49u8, 69u8, 123u8, 55u8, + 181u8, 167u8, 112u8, 183u8, 190u8, 231u8, 231u8, 127u8, 77u8, 148u8, + ], + ) + } + #[doc = " Optional upgrade go-ahead signal from the relay-chain."] + #[doc = ""] + #[doc = " This storage item is a mirror of the corresponding value for the current parachain from the"] + #[doc = " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is"] + #[doc = " set after the inherent."] + pub fn upgrade_go_ahead( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::option::Option, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParachainSystem", + "UpgradeGoAhead", + vec![], + [ + 149u8, 144u8, 186u8, 88u8, 180u8, 34u8, 82u8, 226u8, 100u8, 148u8, + 246u8, 55u8, 233u8, 97u8, 43u8, 0u8, 48u8, 31u8, 69u8, 154u8, 29u8, + 147u8, 241u8, 91u8, 81u8, 126u8, 206u8, 117u8, 14u8, 149u8, 87u8, 88u8, + ], + ) + } + #[doc = " The state proof for the last relay parent block."] + #[doc = ""] + #[doc = " This field is meant to be updated each block with the validation data inherent. Therefore,"] + #[doc = " before processing of the inherent, e.g. in `on_initialize` this data may be stale."] + #[doc = ""] + #[doc = " This data is also absent from the genesis."] + pub fn relay_state_proof( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_trie::storage_proof::StorageProof, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ParachainSystem", + "RelayStateProof", + vec![], + [ + 46u8, 115u8, 163u8, 190u8, 246u8, 47u8, 200u8, 159u8, 206u8, 204u8, + 94u8, 250u8, 127u8, 112u8, 109u8, 111u8, 210u8, 195u8, 244u8, 41u8, + 36u8, 187u8, 71u8, 150u8, 149u8, 253u8, 143u8, 33u8, 83u8, 189u8, + 182u8, 238u8, + ], + ) + } + #[doc = " The snapshot of some state related to messaging relevant to the current parachain as per"] + #[doc = " the relay parent."] + #[doc = ""] + #[doc = " This field is meant to be updated each block with the validation data inherent. Therefore,"] + #[doc = " before processing of the inherent, e.g. in `on_initialize` this data may be stale."] + #[doc = ""] + #[doc = " This data is also absent from the genesis."] pub fn relevant_messaging_state (& self ,) -> :: subxt :: storage :: address :: Address :: < :: subxt :: storage :: address :: StaticStorageMapKey , runtime_types :: cumulus_pallet_parachain_system :: relay_state_snapshot :: MessagingStateSnapshot , :: subxt :: storage :: address :: Yes , () , () >{ + ::subxt::storage::address::Address::new_static( + "ParachainSystem", + "RelevantMessagingState", + vec![], + [ + 117u8, 166u8, 186u8, 126u8, 21u8, 174u8, 86u8, 253u8, 163u8, 90u8, + 54u8, 226u8, 186u8, 253u8, 126u8, 168u8, 145u8, 45u8, 155u8, 32u8, + 97u8, 110u8, 208u8, 125u8, 47u8, 113u8, 165u8, 199u8, 210u8, 118u8, + 217u8, 73u8, + ], + ) + } + #[doc = " The parachain host configuration that was obtained from the relay parent."] + #[doc = ""] + #[doc = " This field is meant to be updated each block with the validation data inherent. Therefore,"] + #[doc = " before processing of the inherent, e.g. in `on_initialize` this data may be stale."] + #[doc = ""] + #[doc = " This data is also absent from the genesis."] + pub fn host_configuration( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_primitives::v6::AbridgedHostConfiguration, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ParachainSystem", + "HostConfiguration", + vec![], + [ + 252u8, 23u8, 111u8, 189u8, 120u8, 204u8, 129u8, 223u8, 248u8, 179u8, + 239u8, 173u8, 133u8, 61u8, 140u8, 2u8, 75u8, 32u8, 204u8, 178u8, 69u8, + 21u8, 44u8, 227u8, 178u8, 179u8, 33u8, 26u8, 131u8, 156u8, 78u8, 85u8, + ], + ) + } + #[doc = " The last downward message queue chain head we have observed."] + #[doc = ""] + #[doc = " This value is loaded before and saved after processing inbound downward messages carried"] + #[doc = " by the system inherent."] + pub fn last_dmq_mqc_head( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::cumulus_primitives_parachain_inherent::MessageQueueChain, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParachainSystem", + "LastDmqMqcHead", + vec![], + [ + 1u8, 70u8, 140u8, 40u8, 51u8, 127u8, 75u8, 80u8, 5u8, 49u8, 196u8, + 31u8, 30u8, 61u8, 54u8, 252u8, 0u8, 0u8, 100u8, 115u8, 177u8, 250u8, + 138u8, 48u8, 107u8, 41u8, 93u8, 87u8, 195u8, 107u8, 206u8, 227u8, + ], + ) + } + #[doc = " The message queue chain heads we have observed per each channel incoming channel."] + #[doc = ""] + #[doc = " This value is loaded before and saved after processing inbound downward messages carried"] + #[doc = " by the system inherent."] + pub fn last_hrmp_mqc_heads( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::KeyedVec< + runtime_types::polkadot_parachain_primitives::primitives::Id, + runtime_types::cumulus_primitives_parachain_inherent::MessageQueueChain, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParachainSystem", + "LastHrmpMqcHeads", + vec![], + [ + 131u8, 170u8, 142u8, 30u8, 101u8, 113u8, 131u8, 81u8, 38u8, 168u8, + 98u8, 3u8, 9u8, 109u8, 96u8, 179u8, 115u8, 177u8, 128u8, 11u8, 238u8, + 54u8, 81u8, 60u8, 97u8, 112u8, 224u8, 175u8, 86u8, 133u8, 182u8, 76u8, + ], + ) + } + #[doc = " Number of downward messages processed in a block."] + #[doc = ""] + #[doc = " This will be cleared in `on_initialize` of each new block."] + pub fn processed_downward_messages( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParachainSystem", + "ProcessedDownwardMessages", + vec![], + [ + 151u8, 234u8, 196u8, 87u8, 130u8, 79u8, 4u8, 102u8, 47u8, 10u8, 33u8, + 132u8, 149u8, 118u8, 61u8, 141u8, 5u8, 1u8, 30u8, 120u8, 220u8, 156u8, + 16u8, 11u8, 14u8, 52u8, 126u8, 151u8, 244u8, 149u8, 197u8, 51u8, + ], + ) + } + #[doc = " HRMP watermark that was set in a block."] + #[doc = ""] + #[doc = " This will be cleared in `on_initialize` of each new block."] + pub fn hrmp_watermark( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParachainSystem", + "HrmpWatermark", + vec![], + [ + 77u8, 62u8, 59u8, 220u8, 7u8, 125u8, 98u8, 249u8, 108u8, 212u8, 223u8, + 99u8, 152u8, 13u8, 29u8, 80u8, 166u8, 65u8, 232u8, 113u8, 145u8, 128u8, + 123u8, 35u8, 238u8, 31u8, 113u8, 156u8, 220u8, 104u8, 217u8, 165u8, + ], + ) + } + #[doc = " HRMP messages that were sent in a block."] + #[doc = ""] + #[doc = " This will be cleared in `on_initialize` of each new block."] + pub fn hrmp_outbound_messages( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec< + runtime_types::polkadot_core_primitives::OutboundHrmpMessage< + runtime_types::polkadot_parachain_primitives::primitives::Id, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParachainSystem", + "HrmpOutboundMessages", + vec![], + [ + 42u8, 9u8, 96u8, 217u8, 25u8, 101u8, 129u8, 147u8, 150u8, 20u8, 164u8, + 186u8, 217u8, 178u8, 15u8, 201u8, 233u8, 104u8, 92u8, 120u8, 29u8, + 245u8, 196u8, 13u8, 141u8, 210u8, 102u8, 62u8, 216u8, 80u8, 246u8, + 145u8, + ], + ) + } + #[doc = " Upward messages that were sent in a block."] + #[doc = ""] + #[doc = " This will be cleared in `on_initialize` of each new block."] + pub fn upward_messages( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParachainSystem", + "UpwardMessages", + vec![], + [ + 179u8, 127u8, 8u8, 94u8, 194u8, 246u8, 53u8, 79u8, 80u8, 22u8, 18u8, + 75u8, 116u8, 163u8, 90u8, 161u8, 30u8, 140u8, 57u8, 126u8, 60u8, 91u8, + 23u8, 30u8, 120u8, 245u8, 125u8, 96u8, 152u8, 25u8, 248u8, 85u8, + ], + ) + } + #[doc = " Upward messages that are still pending and not yet send to the relay chain."] + pub fn pending_upward_messages( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParachainSystem", + "PendingUpwardMessages", + vec![], + [ + 239u8, 45u8, 18u8, 173u8, 148u8, 150u8, 55u8, 176u8, 173u8, 156u8, + 246u8, 226u8, 198u8, 214u8, 104u8, 187u8, 186u8, 13u8, 83u8, 194u8, + 153u8, 29u8, 228u8, 109u8, 26u8, 18u8, 212u8, 151u8, 246u8, 24u8, + 133u8, 216u8, + ], + ) + } + #[doc = " The factor to multiply the base delivery fee by for UMP."] + pub fn upward_delivery_fee_factor( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_arithmetic::fixed_point::FixedU128, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParachainSystem", + "UpwardDeliveryFeeFactor", + vec![], + [ + 40u8, 217u8, 164u8, 111u8, 151u8, 132u8, 69u8, 226u8, 163u8, 175u8, + 43u8, 239u8, 179u8, 217u8, 136u8, 161u8, 13u8, 251u8, 163u8, 102u8, + 24u8, 27u8, 168u8, 89u8, 221u8, 83u8, 93u8, 64u8, 96u8, 117u8, 146u8, + 71u8, + ], + ) + } + #[doc = " The number of HRMP messages we observed in `on_initialize` and thus used that number for"] + #[doc = " announcing the weight of `on_initialize` and `on_finalize`."] + pub fn announced_hrmp_messages_per_candidate( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParachainSystem", + "AnnouncedHrmpMessagesPerCandidate", + vec![], + [ + 93u8, 11u8, 229u8, 172u8, 73u8, 87u8, 13u8, 149u8, 15u8, 94u8, 163u8, + 107u8, 156u8, 22u8, 131u8, 177u8, 96u8, 247u8, 213u8, 224u8, 41u8, + 126u8, 157u8, 33u8, 154u8, 194u8, 95u8, 234u8, 65u8, 19u8, 58u8, 161u8, + ], + ) + } + #[doc = " The weight we reserve at the beginning of the block for processing XCMP messages. This"] + #[doc = " overrides the amount set in the Config trait."] + pub fn reserved_xcmp_weight_override( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_weights::weight_v2::Weight, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ParachainSystem", + "ReservedXcmpWeightOverride", + vec![], + [ + 176u8, 93u8, 203u8, 74u8, 18u8, 170u8, 246u8, 203u8, 109u8, 89u8, 86u8, + 77u8, 96u8, 66u8, 189u8, 79u8, 184u8, 253u8, 11u8, 230u8, 87u8, 120u8, + 1u8, 254u8, 215u8, 41u8, 210u8, 86u8, 239u8, 206u8, 60u8, 2u8, + ], + ) + } + #[doc = " The weight we reserve at the beginning of the block for processing DMP messages. This"] + #[doc = " overrides the amount set in the Config trait."] + pub fn reserved_dmp_weight_override( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_weights::weight_v2::Weight, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ParachainSystem", + "ReservedDmpWeightOverride", + vec![], + [ + 205u8, 124u8, 9u8, 156u8, 255u8, 207u8, 208u8, 23u8, 179u8, 132u8, + 254u8, 157u8, 237u8, 240u8, 167u8, 203u8, 253u8, 111u8, 136u8, 32u8, + 100u8, 152u8, 16u8, 19u8, 175u8, 14u8, 108u8, 61u8, 59u8, 231u8, 70u8, + 112u8, + ], + ) + } + #[doc = " A custom head data that should be returned as result of `validate_block`."] + #[doc = ""] + #[doc = " See `Pallet::set_custom_validation_head_data` for more information."] + pub fn custom_validation_head_data( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::core::primitive::u8>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ParachainSystem", + "CustomValidationHeadData", + vec![], + [ + 52u8, 186u8, 187u8, 57u8, 245u8, 171u8, 202u8, 23u8, 92u8, 80u8, 118u8, + 66u8, 251u8, 156u8, 175u8, 254u8, 141u8, 185u8, 115u8, 209u8, 170u8, + 165u8, 1u8, 242u8, 120u8, 234u8, 162u8, 24u8, 135u8, 105u8, 8u8, 177u8, + ], + ) + } + } + } + } + pub mod timestamp { + use super::root_mod; + use super::runtime_types; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::pallet_timestamp::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Set { + #[codec(compact)] + pub now: ::core::primitive::u64, + } + impl ::subxt::blocks::StaticExtrinsic for Set { + const PALLET: &'static str = "Timestamp"; + const CALL: &'static str = "set"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "See [`Pallet::set`]."] + pub fn set(&self, now: ::core::primitive::u64) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Timestamp", + "set", + types::Set { now }, + [ + 37u8, 95u8, 49u8, 218u8, 24u8, 22u8, 0u8, 95u8, 72u8, 35u8, 155u8, + 199u8, 213u8, 54u8, 207u8, 22u8, 185u8, 193u8, 221u8, 70u8, 18u8, + 200u8, 4u8, 231u8, 195u8, 173u8, 6u8, 122u8, 11u8, 203u8, 231u8, 227u8, + ], + ) + } + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The current time for the current block."] + pub fn now( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u64, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Timestamp", + "Now", + vec![], + [ + 44u8, 50u8, 80u8, 30u8, 195u8, 146u8, 123u8, 238u8, 8u8, 163u8, 187u8, + 92u8, 61u8, 39u8, 51u8, 29u8, 173u8, 169u8, 217u8, 158u8, 85u8, 187u8, + 141u8, 26u8, 12u8, 115u8, 51u8, 11u8, 200u8, 244u8, 138u8, 152u8, + ], + ) + } + #[doc = " Whether the timestamp has been updated in this block."] + #[doc = ""] + #[doc = " This value is updated to `true` upon successful submission of a timestamp by a node."] + #[doc = " It is then checked at the end of each block execution in the `on_finalize` hook."] + pub fn did_update( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::bool, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Timestamp", + "DidUpdate", + vec![], + [ + 229u8, 175u8, 246u8, 102u8, 237u8, 158u8, 212u8, 229u8, 238u8, 214u8, + 205u8, 160u8, 164u8, 252u8, 195u8, 75u8, 139u8, 110u8, 22u8, 34u8, + 248u8, 204u8, 107u8, 46u8, 20u8, 200u8, 238u8, 167u8, 71u8, 41u8, + 214u8, 140u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The minimum period between blocks."] + #[doc = ""] + #[doc = " Be aware that this is different to the *expected* period that the block production"] + #[doc = " apparatus provides. Your chosen consensus system will generally work with this to"] + #[doc = " determine a sensible block time. For example, in the Aura pallet it will be double this"] + #[doc = " period on default settings."] + pub fn minimum_period( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u64> { + ::subxt::constants::Address::new_static( + "Timestamp", + "MinimumPeriod", + [ + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, + 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, + 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, + 246u8, + ], + ) + } + } + } + } + pub mod parachain_info { + use super::root_mod; + use super::runtime_types; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::staging_parachain_info::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + } + pub struct TransactionApi; + impl TransactionApi {} + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + pub fn parachain_id( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_parachain_primitives::primitives::Id, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParachainInfo", + "ParachainId", + vec![], + [ + 160u8, 130u8, 74u8, 181u8, 231u8, 180u8, 246u8, 152u8, 204u8, 44u8, + 245u8, 91u8, 113u8, 246u8, 218u8, 50u8, 254u8, 248u8, 35u8, 219u8, + 83u8, 144u8, 228u8, 245u8, 122u8, 53u8, 194u8, 172u8, 222u8, 118u8, + 202u8, 91u8, + ], + ) + } + } + } + } + pub mod balances { + use super::root_mod; + use super::runtime_types; + #[doc = "The `Error` enum of this pallet."] + pub type Error = runtime_types::pallet_balances::pallet::Error; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::pallet_balances::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct TransferAllowDeath { + pub dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub value: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for TransferAllowDeath { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "transfer_allow_death"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceTransfer { + pub source: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub value: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for ForceTransfer { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "force_transfer"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct TransferKeepAlive { + pub dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub value: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for TransferKeepAlive { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "transfer_keep_alive"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct TransferAll { + pub dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub keep_alive: ::core::primitive::bool, + } + impl ::subxt::blocks::StaticExtrinsic for TransferAll { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "transfer_all"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceUnreserve { + pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub amount: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for ForceUnreserve { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "force_unreserve"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UpgradeAccounts { + pub who: ::std::vec::Vec<::subxt::utils::AccountId32>, + } + impl ::subxt::blocks::StaticExtrinsic for UpgradeAccounts { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "upgrade_accounts"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceSetBalance { + pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub new_free: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for ForceSetBalance { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "force_set_balance"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceAdjustTotalIssuance { + pub direction: runtime_types::pallet_balances::types::AdjustmentDirection, + #[codec(compact)] + pub delta: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for ForceAdjustTotalIssuance { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "force_adjust_total_issuance"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "See [`Pallet::transfer_allow_death`]."] + pub fn transfer_allow_death( + &self, + dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + value: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Balances", + "transfer_allow_death", + types::TransferAllowDeath { dest, value }, + [ + 51u8, 166u8, 195u8, 10u8, 139u8, 218u8, 55u8, 130u8, 6u8, 194u8, 35u8, + 140u8, 27u8, 205u8, 214u8, 222u8, 102u8, 43u8, 143u8, 145u8, 86u8, + 219u8, 210u8, 147u8, 13u8, 39u8, 51u8, 21u8, 237u8, 179u8, 132u8, + 130u8, + ], + ) + } + #[doc = "See [`Pallet::force_transfer`]."] + pub fn force_transfer( + &self, + source: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + value: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Balances", + "force_transfer", + types::ForceTransfer { source, dest, value }, + [ + 154u8, 93u8, 222u8, 27u8, 12u8, 248u8, 63u8, 213u8, 224u8, 86u8, 250u8, + 153u8, 249u8, 102u8, 83u8, 160u8, 79u8, 125u8, 105u8, 222u8, 77u8, + 180u8, 90u8, 105u8, 81u8, 217u8, 60u8, 25u8, 213u8, 51u8, 185u8, 96u8, + ], + ) + } + #[doc = "See [`Pallet::transfer_keep_alive`]."] + pub fn transfer_keep_alive( + &self, + dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + value: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Balances", + "transfer_keep_alive", + types::TransferKeepAlive { dest, value }, + [ + 245u8, 14u8, 190u8, 193u8, 32u8, 210u8, 74u8, 92u8, 25u8, 182u8, 76u8, + 55u8, 247u8, 83u8, 114u8, 75u8, 143u8, 236u8, 117u8, 25u8, 54u8, 157u8, + 208u8, 207u8, 233u8, 89u8, 70u8, 161u8, 235u8, 242u8, 222u8, 59u8, + ], + ) + } + #[doc = "See [`Pallet::transfer_all`]."] + pub fn transfer_all( + &self, + dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + keep_alive: ::core::primitive::bool, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Balances", + "transfer_all", + types::TransferAll { dest, keep_alive }, + [ + 105u8, 132u8, 49u8, 144u8, 195u8, 250u8, 34u8, 46u8, 213u8, 248u8, + 112u8, 188u8, 81u8, 228u8, 136u8, 18u8, 67u8, 172u8, 37u8, 38u8, 238u8, + 9u8, 34u8, 15u8, 67u8, 34u8, 148u8, 195u8, 223u8, 29u8, 154u8, 6u8, + ], + ) + } + #[doc = "See [`Pallet::force_unreserve`]."] + pub fn force_unreserve( + &self, + who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + amount: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Balances", + "force_unreserve", + types::ForceUnreserve { who, amount }, + [ + 142u8, 151u8, 64u8, 205u8, 46u8, 64u8, 62u8, 122u8, 108u8, 49u8, 223u8, + 140u8, 120u8, 153u8, 35u8, 165u8, 187u8, 38u8, 157u8, 200u8, 123u8, + 199u8, 198u8, 168u8, 208u8, 159u8, 39u8, 134u8, 92u8, 103u8, 84u8, + 171u8, + ], + ) + } + #[doc = "See [`Pallet::upgrade_accounts`]."] + pub fn upgrade_accounts( + &self, + who: ::std::vec::Vec<::subxt::utils::AccountId32>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Balances", + "upgrade_accounts", + types::UpgradeAccounts { who }, + [ + 66u8, 200u8, 179u8, 104u8, 65u8, 2u8, 101u8, 56u8, 130u8, 161u8, 224u8, + 233u8, 255u8, 124u8, 70u8, 122u8, 8u8, 49u8, 103u8, 178u8, 68u8, 47u8, + 214u8, 166u8, 217u8, 116u8, 178u8, 50u8, 212u8, 164u8, 98u8, 226u8, + ], + ) + } + #[doc = "See [`Pallet::force_set_balance`]."] + pub fn force_set_balance( + &self, + who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + new_free: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Balances", + "force_set_balance", + types::ForceSetBalance { who, new_free }, + [ + 114u8, 229u8, 59u8, 204u8, 180u8, 83u8, 17u8, 4u8, 59u8, 4u8, 55u8, + 39u8, 151u8, 196u8, 124u8, 60u8, 209u8, 65u8, 193u8, 11u8, 44u8, 164u8, + 116u8, 93u8, 169u8, 30u8, 199u8, 165u8, 55u8, 231u8, 223u8, 43u8, + ], + ) + } + #[doc = "See [`Pallet::force_adjust_total_issuance`]."] + pub fn force_adjust_total_issuance( + &self, + direction: runtime_types::pallet_balances::types::AdjustmentDirection, + delta: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Balances", + "force_adjust_total_issuance", + types::ForceAdjustTotalIssuance { direction, delta }, + [ + 208u8, 134u8, 56u8, 133u8, 232u8, 164u8, 10u8, 213u8, 53u8, 193u8, + 190u8, 63u8, 236u8, 186u8, 96u8, 122u8, 104u8, 87u8, 173u8, 38u8, 58u8, + 176u8, 21u8, 78u8, 42u8, 106u8, 46u8, 248u8, 251u8, 190u8, 150u8, + 202u8, + ], + ) + } + } + } + #[doc = "The `Event` enum of this pallet"] + pub type Event = runtime_types::pallet_balances::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An account was created with some free balance."] + pub struct Endowed { + pub account: ::subxt::utils::AccountId32, + pub free_balance: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Endowed { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Endowed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An account was removed whose balance was non-zero but below ExistentialDeposit,"] + #[doc = "resulting in an outright loss."] + pub struct DustLost { + pub account: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for DustLost { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "DustLost"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Transfer succeeded."] + pub struct Transfer { + pub from: ::subxt::utils::AccountId32, + pub to: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Transfer { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Transfer"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A balance was set by root."] + pub struct BalanceSet { + pub who: ::subxt::utils::AccountId32, + pub free: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for BalanceSet { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "BalanceSet"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some balance was reserved (moved from free to reserved)."] + pub struct Reserved { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Reserved { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Reserved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some balance was unreserved (moved from reserved to free)."] + pub struct Unreserved { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Unreserved { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Unreserved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some balance was moved from the reserve of the first account to the second account."] + #[doc = "Final argument indicates the destination balance type."] + pub struct ReserveRepatriated { + pub from: ::subxt::utils::AccountId32, + pub to: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + pub destination_status: + runtime_types::frame_support::traits::tokens::misc::BalanceStatus, + } + impl ::subxt::events::StaticEvent for ReserveRepatriated { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "ReserveRepatriated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some amount was deposited (e.g. for transaction fees)."] + pub struct Deposit { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Deposit { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Deposit"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some amount was withdrawn from the account (e.g. for transaction fees)."] + pub struct Withdraw { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Withdraw { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Withdraw"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some amount was removed from the account (e.g. for misbehavior)."] + pub struct Slashed { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Slashed { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Slashed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some amount was minted into an account."] + pub struct Minted { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Minted { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Minted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some amount was burned from an account."] + pub struct Burned { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Burned { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Burned"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some amount was suspended from an account (it can be restored later)."] + pub struct Suspended { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Suspended { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Suspended"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some amount was restored into an account."] + pub struct Restored { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Restored { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Restored"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An account was upgraded."] + pub struct Upgraded { + pub who: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Upgraded { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Upgraded"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Total issuance was increased by `amount`, creating a credit to be balanced."] + pub struct Issued { + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Issued { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Issued"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Total issuance was decreased by `amount`, creating a debt to be balanced."] + pub struct Rescinded { + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Rescinded { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Rescinded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some balance was locked."] + pub struct Locked { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Locked { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Locked"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some balance was unlocked."] + pub struct Unlocked { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Unlocked { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Unlocked"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some balance was frozen."] + pub struct Frozen { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Frozen { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Frozen"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some balance was thawed."] + pub struct Thawed { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Thawed { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Thawed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `TotalIssuance` was forcefully changed."] + pub struct TotalIssuanceForced { + pub old: ::core::primitive::u128, + pub new: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for TotalIssuanceForced { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "TotalIssuanceForced"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The total units issued in the system."] + pub fn total_issuance( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "TotalIssuance", + vec![], + [ + 116u8, 70u8, 119u8, 194u8, 69u8, 37u8, 116u8, 206u8, 171u8, 70u8, + 171u8, 210u8, 226u8, 111u8, 184u8, 204u8, 206u8, 11u8, 68u8, 72u8, + 255u8, 19u8, 194u8, 11u8, 27u8, 194u8, 81u8, 204u8, 59u8, 224u8, 202u8, + 185u8, + ], + ) + } + #[doc = " The total units of outstanding deactivated balance in the system."] + pub fn inactive_issuance( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "InactiveIssuance", + vec![], + [ + 212u8, 185u8, 19u8, 50u8, 250u8, 72u8, 173u8, 50u8, 4u8, 104u8, 161u8, + 249u8, 77u8, 247u8, 204u8, 248u8, 11u8, 18u8, 57u8, 4u8, 82u8, 110u8, + 30u8, 216u8, 16u8, 37u8, 87u8, 67u8, 189u8, 235u8, 214u8, 155u8, + ], + ) + } + #[doc = " The Balances pallet example of storing the balance of an account."] + #[doc = ""] + #[doc = " # Example"] + #[doc = ""] + #[doc = " ```nocompile"] + #[doc = " impl pallet_balances::Config for Runtime {"] + #[doc = " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>"] + #[doc = " }"] + #[doc = " ```"] + #[doc = ""] + #[doc = " You can also store the balance of an account in the `System` pallet."] + #[doc = ""] + #[doc = " # Example"] + #[doc = ""] + #[doc = " ```nocompile"] + #[doc = " impl pallet_balances::Config for Runtime {"] + #[doc = " type AccountStore = System"] + #[doc = " }"] + #[doc = " ```"] + #[doc = ""] + #[doc = " But this comes with tradeoffs, storing account balances in the system pallet stores"] + #[doc = " `frame_system` data alongside the account data contrary to storing account balances in the"] + #[doc = " `Balances` pallet, which uses a `StorageMap` to store balances data only."] + #[doc = " NOTE: This is only used in the case that this pallet is used to store balances."] + pub fn account_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Account", + vec![], + [ + 213u8, 38u8, 200u8, 69u8, 218u8, 0u8, 112u8, 181u8, 160u8, 23u8, 96u8, + 90u8, 3u8, 88u8, 126u8, 22u8, 103u8, 74u8, 64u8, 69u8, 29u8, 247u8, + 18u8, 17u8, 234u8, 143u8, 189u8, 22u8, 247u8, 194u8, 154u8, 249u8, + ], + ) + } + #[doc = " The Balances pallet example of storing the balance of an account."] + #[doc = ""] + #[doc = " # Example"] + #[doc = ""] + #[doc = " ```nocompile"] + #[doc = " impl pallet_balances::Config for Runtime {"] + #[doc = " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>"] + #[doc = " }"] + #[doc = " ```"] + #[doc = ""] + #[doc = " You can also store the balance of an account in the `System` pallet."] + #[doc = ""] + #[doc = " # Example"] + #[doc = ""] + #[doc = " ```nocompile"] + #[doc = " impl pallet_balances::Config for Runtime {"] + #[doc = " type AccountStore = System"] + #[doc = " }"] + #[doc = " ```"] + #[doc = ""] + #[doc = " But this comes with tradeoffs, storing account balances in the system pallet stores"] + #[doc = " `frame_system` data alongside the account data contrary to storing account balances in the"] + #[doc = " `Balances` pallet, which uses a `StorageMap` to store balances data only."] + #[doc = " NOTE: This is only used in the case that this pallet is used to store balances."] + pub fn account( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Account", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 213u8, 38u8, 200u8, 69u8, 218u8, 0u8, 112u8, 181u8, 160u8, 23u8, 96u8, + 90u8, 3u8, 88u8, 126u8, 22u8, 103u8, 74u8, 64u8, 69u8, 29u8, 247u8, + 18u8, 17u8, 234u8, 143u8, 189u8, 22u8, 247u8, 194u8, 154u8, 249u8, + ], + ) + } + #[doc = " Any liquidity locks on some account balances."] + #[doc = " NOTE: Should only be accessed when setting, changing and freeing a lock."] + pub fn locks_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< + runtime_types::pallet_balances::types::BalanceLock<::core::primitive::u128>, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Locks", + vec![], + [ + 10u8, 223u8, 55u8, 0u8, 249u8, 69u8, 168u8, 41u8, 75u8, 35u8, 120u8, + 167u8, 18u8, 132u8, 9u8, 20u8, 91u8, 51u8, 27u8, 69u8, 136u8, 187u8, + 13u8, 220u8, 163u8, 122u8, 26u8, 141u8, 174u8, 249u8, 85u8, 37u8, + ], + ) + } + #[doc = " Any liquidity locks on some account balances."] + #[doc = " NOTE: Should only be accessed when setting, changing and freeing a lock."] + pub fn locks( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< + runtime_types::pallet_balances::types::BalanceLock<::core::primitive::u128>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Locks", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 10u8, 223u8, 55u8, 0u8, 249u8, 69u8, 168u8, 41u8, 75u8, 35u8, 120u8, + 167u8, 18u8, 132u8, 9u8, 20u8, 91u8, 51u8, 27u8, 69u8, 136u8, 187u8, + 13u8, 220u8, 163u8, 122u8, 26u8, 141u8, 174u8, 249u8, 85u8, 37u8, + ], + ) + } + #[doc = " Named reserves on some account balances."] + pub fn reserves_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::types::ReserveData< + [::core::primitive::u8; 8usize], + ::core::primitive::u128, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Reserves", + vec![], + [ + 112u8, 10u8, 241u8, 77u8, 64u8, 187u8, 106u8, 159u8, 13u8, 153u8, + 140u8, 178u8, 182u8, 50u8, 1u8, 55u8, 149u8, 92u8, 196u8, 229u8, 170u8, + 106u8, 193u8, 88u8, 255u8, 244u8, 2u8, 193u8, 62u8, 235u8, 204u8, 91u8, + ], + ) + } + #[doc = " Named reserves on some account balances."] + pub fn reserves( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::types::ReserveData< + [::core::primitive::u8; 8usize], + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Reserves", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 112u8, 10u8, 241u8, 77u8, 64u8, 187u8, 106u8, 159u8, 13u8, 153u8, + 140u8, 178u8, 182u8, 50u8, 1u8, 55u8, 149u8, 92u8, 196u8, 229u8, 170u8, + 106u8, 193u8, 88u8, 255u8, 244u8, 2u8, 193u8, 62u8, 235u8, 204u8, 91u8, + ], + ) + } + #[doc = " Holds on account balances."] + pub fn holds_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::types::IdAmount< + runtime_types::coretime_rococo_runtime::RuntimeHoldReason, + ::core::primitive::u128, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Holds", + vec![], + [ + 37u8, 176u8, 2u8, 18u8, 109u8, 26u8, 66u8, 81u8, 28u8, 104u8, 149u8, + 117u8, 119u8, 114u8, 196u8, 35u8, 172u8, 155u8, 66u8, 195u8, 98u8, + 37u8, 134u8, 22u8, 106u8, 221u8, 215u8, 97u8, 25u8, 28u8, 21u8, 206u8, + ], + ) + } + #[doc = " Holds on account balances."] + pub fn holds( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::types::IdAmount< + runtime_types::coretime_rococo_runtime::RuntimeHoldReason, + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Holds", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 37u8, 176u8, 2u8, 18u8, 109u8, 26u8, 66u8, 81u8, 28u8, 104u8, 149u8, + 117u8, 119u8, 114u8, 196u8, 35u8, 172u8, 155u8, 66u8, 195u8, 98u8, + 37u8, 134u8, 22u8, 106u8, 221u8, 215u8, 97u8, 25u8, 28u8, 21u8, 206u8, + ], + ) + } + #[doc = " Freeze locks on account balances."] + pub fn freezes_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::types::IdAmount< + (), + ::core::primitive::u128, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Freezes", + vec![], + [ + 69u8, 49u8, 165u8, 76u8, 135u8, 142u8, 179u8, 118u8, 50u8, 109u8, 53u8, + 112u8, 110u8, 94u8, 30u8, 93u8, 173u8, 38u8, 27u8, 142u8, 19u8, 5u8, + 163u8, 4u8, 68u8, 218u8, 179u8, 224u8, 118u8, 218u8, 115u8, 64u8, + ], + ) + } + #[doc = " Freeze locks on account balances."] + pub fn freezes( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::types::IdAmount< + (), + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Freezes", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 69u8, 49u8, 165u8, 76u8, 135u8, 142u8, 179u8, 118u8, 50u8, 109u8, 53u8, + 112u8, 110u8, 94u8, 30u8, 93u8, 173u8, 38u8, 27u8, 142u8, 19u8, 5u8, + 163u8, 4u8, 68u8, 218u8, 179u8, 224u8, 118u8, 218u8, 115u8, 64u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO!"] + #[doc = ""] + #[doc = " If you *really* need it to be zero, you can enable the feature `insecure_zero_ed` for"] + #[doc = " this pallet. However, you do so at your own risk: this will open up a major DoS vector."] + #[doc = " In case you have multiple sources of provider references, you may also get unexpected"] + #[doc = " behaviour if you set this to zero."] + #[doc = ""] + #[doc = " Bottom line: Do yourself a favour and make it at least one!"] + pub fn existential_deposit( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "Balances", + "ExistentialDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The maximum number of locks that should exist on an account."] + #[doc = " Not strictly enforced, but used for weight estimation."] + pub fn max_locks(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Balances", + "MaxLocks", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of named reserves that can exist on an account."] + pub fn max_reserves(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Balances", + "MaxReserves", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of individual freeze locks that can exist on an account at any time."] + pub fn max_freezes(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Balances", + "MaxFreezes", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod transaction_payment { + use super::root_mod; + use super::runtime_types; + #[doc = "The `Event` enum of this pallet"] + pub type Event = runtime_types::pallet_transaction_payment::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"] + #[doc = "has been paid by `who`."] + pub struct TransactionFeePaid { + pub who: ::subxt::utils::AccountId32, + pub actual_fee: ::core::primitive::u128, + pub tip: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for TransactionFeePaid { + const PALLET: &'static str = "TransactionPayment"; + const EVENT: &'static str = "TransactionFeePaid"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + pub fn next_fee_multiplier( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_arithmetic::fixed_point::FixedU128, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "TransactionPayment", + "NextFeeMultiplier", + vec![], + [ + 247u8, 39u8, 81u8, 170u8, 225u8, 226u8, 82u8, 147u8, 34u8, 113u8, + 147u8, 213u8, 59u8, 80u8, 139u8, 35u8, 36u8, 196u8, 152u8, 19u8, 9u8, + 159u8, 176u8, 79u8, 249u8, 201u8, 170u8, 1u8, 129u8, 79u8, 146u8, + 197u8, + ], + ) + } + pub fn storage_version( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_transaction_payment::Releases, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "TransactionPayment", + "StorageVersion", + vec![], + [ + 105u8, 243u8, 158u8, 241u8, 159u8, 231u8, 253u8, 6u8, 4u8, 32u8, 85u8, + 178u8, 126u8, 31u8, 203u8, 134u8, 154u8, 38u8, 122u8, 155u8, 150u8, + 251u8, 174u8, 15u8, 74u8, 134u8, 216u8, 244u8, 168u8, 175u8, 158u8, + 144u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " A fee multiplier for `Operational` extrinsics to compute \"virtual tip\" to boost their"] + #[doc = " `priority`"] + #[doc = ""] + #[doc = " This value is multiplied by the `final_fee` to obtain a \"virtual tip\" that is later"] + #[doc = " added to a tip component in regular `priority` calculations."] + #[doc = " It means that a `Normal` transaction can front-run a similarly-sized `Operational`"] + #[doc = " extrinsic (with no tip), by including a tip value greater than the virtual tip."] + #[doc = ""] + #[doc = " ```rust,ignore"] + #[doc = " // For `Normal`"] + #[doc = " let priority = priority_calc(tip);"] + #[doc = ""] + #[doc = " // For `Operational`"] + #[doc = " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;"] + #[doc = " let priority = priority_calc(tip + virtual_tip);"] + #[doc = " ```"] + #[doc = ""] + #[doc = " Note that since we use `final_fee` the multiplier applies also to the regular `tip`"] + #[doc = " sent with the transaction. So, not only does the transaction get a priority bump based"] + #[doc = " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`"] + #[doc = " transactions."] + pub fn operational_fee_multiplier( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u8> { + ::subxt::constants::Address::new_static( + "TransactionPayment", + "OperationalFeeMultiplier", + [ + 141u8, 130u8, 11u8, 35u8, 226u8, 114u8, 92u8, 179u8, 168u8, 110u8, + 28u8, 91u8, 221u8, 64u8, 4u8, 148u8, 201u8, 193u8, 185u8, 66u8, 226u8, + 114u8, 97u8, 79u8, 62u8, 212u8, 202u8, 114u8, 237u8, 228u8, 183u8, + 165u8, + ], + ) + } + } + } + } + pub mod authorship { + use super::root_mod; + use super::runtime_types; + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Author of current block."] + pub fn author( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::AccountId32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Authorship", + "Author", + vec![], + [ + 247u8, 192u8, 118u8, 227u8, 47u8, 20u8, 203u8, 199u8, 216u8, 87u8, + 220u8, 50u8, 166u8, 61u8, 168u8, 213u8, 253u8, 62u8, 202u8, 199u8, + 61u8, 192u8, 237u8, 53u8, 22u8, 148u8, 164u8, 245u8, 99u8, 24u8, 146u8, + 18u8, + ], + ) + } + } + } + } + pub mod collator_selection { + use super::root_mod; + use super::runtime_types; + #[doc = "The `Error` enum of this pallet."] + pub type Error = runtime_types::pallet_collator_selection::pallet::Error; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::pallet_collator_selection::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetInvulnerables { + pub new: ::std::vec::Vec<::subxt::utils::AccountId32>, + } + impl ::subxt::blocks::StaticExtrinsic for SetInvulnerables { + const PALLET: &'static str = "CollatorSelection"; + const CALL: &'static str = "set_invulnerables"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetDesiredCandidates { + pub max: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetDesiredCandidates { + const PALLET: &'static str = "CollatorSelection"; + const CALL: &'static str = "set_desired_candidates"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetCandidacyBond { + pub bond: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for SetCandidacyBond { + const PALLET: &'static str = "CollatorSelection"; + const CALL: &'static str = "set_candidacy_bond"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RegisterAsCandidate; + impl ::subxt::blocks::StaticExtrinsic for RegisterAsCandidate { + const PALLET: &'static str = "CollatorSelection"; + const CALL: &'static str = "register_as_candidate"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct LeaveIntent; + impl ::subxt::blocks::StaticExtrinsic for LeaveIntent { + const PALLET: &'static str = "CollatorSelection"; + const CALL: &'static str = "leave_intent"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AddInvulnerable { + pub who: ::subxt::utils::AccountId32, + } + impl ::subxt::blocks::StaticExtrinsic for AddInvulnerable { + const PALLET: &'static str = "CollatorSelection"; + const CALL: &'static str = "add_invulnerable"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveInvulnerable { + pub who: ::subxt::utils::AccountId32, + } + impl ::subxt::blocks::StaticExtrinsic for RemoveInvulnerable { + const PALLET: &'static str = "CollatorSelection"; + const CALL: &'static str = "remove_invulnerable"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UpdateBond { + pub new_deposit: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for UpdateBond { + const PALLET: &'static str = "CollatorSelection"; + const CALL: &'static str = "update_bond"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct TakeCandidateSlot { + pub deposit: ::core::primitive::u128, + pub target: ::subxt::utils::AccountId32, + } + impl ::subxt::blocks::StaticExtrinsic for TakeCandidateSlot { + const PALLET: &'static str = "CollatorSelection"; + const CALL: &'static str = "take_candidate_slot"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "See [`Pallet::set_invulnerables`]."] + pub fn set_invulnerables( + &self, + new: ::std::vec::Vec<::subxt::utils::AccountId32>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "CollatorSelection", + "set_invulnerables", + types::SetInvulnerables { new }, + [ + 113u8, 217u8, 14u8, 48u8, 6u8, 198u8, 8u8, 170u8, 8u8, 237u8, 230u8, + 184u8, 17u8, 181u8, 15u8, 126u8, 117u8, 3u8, 208u8, 215u8, 40u8, 16u8, + 150u8, 162u8, 37u8, 196u8, 235u8, 36u8, 247u8, 24u8, 187u8, 17u8, + ], + ) + } + #[doc = "See [`Pallet::set_desired_candidates`]."] + pub fn set_desired_candidates( + &self, + max: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "CollatorSelection", + "set_desired_candidates", + types::SetDesiredCandidates { max }, + [ + 174u8, 44u8, 232u8, 155u8, 228u8, 219u8, 239u8, 75u8, 86u8, 150u8, + 135u8, 214u8, 58u8, 9u8, 25u8, 133u8, 245u8, 101u8, 85u8, 246u8, 15u8, + 248u8, 165u8, 87u8, 88u8, 28u8, 10u8, 196u8, 86u8, 89u8, 28u8, 165u8, + ], + ) + } + #[doc = "See [`Pallet::set_candidacy_bond`]."] + pub fn set_candidacy_bond( + &self, + bond: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "CollatorSelection", + "set_candidacy_bond", + types::SetCandidacyBond { bond }, + [ + 250u8, 4u8, 185u8, 228u8, 101u8, 223u8, 49u8, 44u8, 172u8, 148u8, + 216u8, 242u8, 192u8, 88u8, 228u8, 59u8, 225u8, 222u8, 171u8, 40u8, + 23u8, 1u8, 46u8, 183u8, 189u8, 191u8, 156u8, 12u8, 218u8, 116u8, 76u8, + 59u8, + ], + ) + } + #[doc = "See [`Pallet::register_as_candidate`]."] + pub fn register_as_candidate( + &self, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "CollatorSelection", + "register_as_candidate", + types::RegisterAsCandidate {}, + [ + 69u8, 222u8, 214u8, 106u8, 105u8, 168u8, 82u8, 239u8, 158u8, 117u8, + 224u8, 89u8, 228u8, 51u8, 221u8, 244u8, 88u8, 63u8, 72u8, 119u8, 224u8, + 111u8, 93u8, 39u8, 18u8, 66u8, 72u8, 105u8, 70u8, 66u8, 178u8, 173u8, + ], + ) + } + #[doc = "See [`Pallet::leave_intent`]."] + pub fn leave_intent(&self) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "CollatorSelection", + "leave_intent", + types::LeaveIntent {}, + [ + 126u8, 57u8, 10u8, 67u8, 120u8, 229u8, 70u8, 23u8, 154u8, 215u8, 226u8, + 178u8, 203u8, 152u8, 195u8, 177u8, 157u8, 158u8, 40u8, 17u8, 93u8, + 225u8, 253u8, 217u8, 48u8, 165u8, 55u8, 79u8, 43u8, 123u8, 193u8, + 147u8, + ], + ) + } + #[doc = "See [`Pallet::add_invulnerable`]."] + pub fn add_invulnerable( + &self, + who: ::subxt::utils::AccountId32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "CollatorSelection", + "add_invulnerable", + types::AddInvulnerable { who }, + [ + 115u8, 109u8, 38u8, 19u8, 81u8, 194u8, 124u8, 140u8, 239u8, 23u8, 85u8, + 62u8, 241u8, 83u8, 11u8, 241u8, 14u8, 34u8, 206u8, 63u8, 104u8, 78u8, + 96u8, 182u8, 173u8, 198u8, 230u8, 107u8, 102u8, 6u8, 164u8, 75u8, + ], + ) + } + #[doc = "See [`Pallet::remove_invulnerable`]."] + pub fn remove_invulnerable( + &self, + who: ::subxt::utils::AccountId32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "CollatorSelection", + "remove_invulnerable", + types::RemoveInvulnerable { who }, + [ + 103u8, 146u8, 23u8, 136u8, 61u8, 65u8, 172u8, 157u8, 216u8, 200u8, + 119u8, 28u8, 189u8, 215u8, 13u8, 100u8, 102u8, 13u8, 94u8, 12u8, 78u8, + 156u8, 149u8, 74u8, 126u8, 118u8, 127u8, 49u8, 129u8, 2u8, 12u8, 118u8, + ], + ) + } + #[doc = "See [`Pallet::update_bond`]."] + pub fn update_bond( + &self, + new_deposit: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "CollatorSelection", + "update_bond", + types::UpdateBond { new_deposit }, + [ + 47u8, 184u8, 193u8, 220u8, 160u8, 1u8, 253u8, 203u8, 8u8, 142u8, 43u8, + 151u8, 190u8, 138u8, 201u8, 174u8, 233u8, 112u8, 200u8, 247u8, 251u8, + 94u8, 23u8, 224u8, 150u8, 179u8, 190u8, 140u8, 199u8, 50u8, 2u8, 249u8, + ], + ) + } + #[doc = "See [`Pallet::take_candidate_slot`]."] + pub fn take_candidate_slot( + &self, + deposit: ::core::primitive::u128, + target: ::subxt::utils::AccountId32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "CollatorSelection", + "take_candidate_slot", + types::TakeCandidateSlot { deposit, target }, + [ + 48u8, 150u8, 189u8, 206u8, 199u8, 196u8, 173u8, 3u8, 206u8, 10u8, 50u8, + 160u8, 15u8, 53u8, 189u8, 126u8, 154u8, 36u8, 90u8, 66u8, 235u8, 12u8, + 107u8, 44u8, 117u8, 33u8, 207u8, 194u8, 251u8, 194u8, 224u8, 80u8, + ], + ) + } + } + } + #[doc = "The `Event` enum of this pallet"] + pub type Event = runtime_types::pallet_collator_selection::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "New Invulnerables were set."] + pub struct NewInvulnerables { + pub invulnerables: ::std::vec::Vec<::subxt::utils::AccountId32>, + } + impl ::subxt::events::StaticEvent for NewInvulnerables { + const PALLET: &'static str = "CollatorSelection"; + const EVENT: &'static str = "NewInvulnerables"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A new Invulnerable was added."] + pub struct InvulnerableAdded { + pub account_id: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for InvulnerableAdded { + const PALLET: &'static str = "CollatorSelection"; + const EVENT: &'static str = "InvulnerableAdded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An Invulnerable was removed."] + pub struct InvulnerableRemoved { + pub account_id: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for InvulnerableRemoved { + const PALLET: &'static str = "CollatorSelection"; + const EVENT: &'static str = "InvulnerableRemoved"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The number of desired candidates was set."] + pub struct NewDesiredCandidates { + pub desired_candidates: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for NewDesiredCandidates { + const PALLET: &'static str = "CollatorSelection"; + const EVENT: &'static str = "NewDesiredCandidates"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The candidacy bond was set."] + pub struct NewCandidacyBond { + pub bond_amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for NewCandidacyBond { + const PALLET: &'static str = "CollatorSelection"; + const EVENT: &'static str = "NewCandidacyBond"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A new candidate joined."] + pub struct CandidateAdded { + pub account_id: ::subxt::utils::AccountId32, + pub deposit: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for CandidateAdded { + const PALLET: &'static str = "CollatorSelection"; + const EVENT: &'static str = "CandidateAdded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Bond of a candidate updated."] + pub struct CandidateBondUpdated { + pub account_id: ::subxt::utils::AccountId32, + pub deposit: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for CandidateBondUpdated { + const PALLET: &'static str = "CollatorSelection"; + const EVENT: &'static str = "CandidateBondUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A candidate was removed."] + pub struct CandidateRemoved { + pub account_id: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for CandidateRemoved { + const PALLET: &'static str = "CollatorSelection"; + const EVENT: &'static str = "CandidateRemoved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An account was replaced in the candidate list by another one."] + pub struct CandidateReplaced { + pub old: ::subxt::utils::AccountId32, + pub new: ::subxt::utils::AccountId32, + pub deposit: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for CandidateReplaced { + const PALLET: &'static str = "CollatorSelection"; + const EVENT: &'static str = "CandidateReplaced"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An account was unable to be added to the Invulnerables because they did not have keys"] + #[doc = "registered. Other Invulnerables may have been set."] + pub struct InvalidInvulnerableSkipped { + pub account_id: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for InvalidInvulnerableSkipped { + const PALLET: &'static str = "CollatorSelection"; + const EVENT: &'static str = "InvalidInvulnerableSkipped"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The invulnerable, permissioned collators. This list must be sorted."] + pub fn invulnerables( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::subxt::utils::AccountId32, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "CollatorSelection", + "Invulnerables", + vec![], + [ + 109u8, 180u8, 25u8, 41u8, 152u8, 158u8, 186u8, 214u8, 89u8, 222u8, + 103u8, 14u8, 91u8, 3u8, 65u8, 6u8, 255u8, 62u8, 47u8, 255u8, 132u8, + 164u8, 217u8, 200u8, 130u8, 29u8, 168u8, 23u8, 81u8, 217u8, 35u8, + 123u8, + ], + ) + } + #[doc = " The (community, limited) collation candidates. `Candidates` and `Invulnerables` should be"] + #[doc = " mutually exclusive."] + #[doc = ""] + #[doc = " This list is sorted in ascending order by deposit and when the deposits are equal, the least"] + #[doc = " recently updated is considered greater."] + pub fn candidate_list( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_collator_selection::pallet::CandidateInfo< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "CollatorSelection", + "CandidateList", + vec![], + [ + 77u8, 195u8, 89u8, 139u8, 79u8, 111u8, 151u8, 215u8, 19u8, 152u8, 67u8, + 49u8, 74u8, 76u8, 3u8, 60u8, 51u8, 140u8, 6u8, 134u8, 159u8, 55u8, + 196u8, 57u8, 189u8, 31u8, 219u8, 218u8, 164u8, 189u8, 196u8, 60u8, + ], + ) + } + #[doc = " Last block authored by collator."] + pub fn last_authored_block_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "CollatorSelection", + "LastAuthoredBlock", + vec![], + [ + 176u8, 170u8, 165u8, 244u8, 101u8, 126u8, 24u8, 132u8, 228u8, 138u8, + 72u8, 241u8, 144u8, 100u8, 79u8, 112u8, 9u8, 46u8, 210u8, 80u8, 12u8, + 126u8, 32u8, 214u8, 26u8, 171u8, 155u8, 3u8, 233u8, 22u8, 164u8, 25u8, + ], + ) + } + #[doc = " Last block authored by collator."] + pub fn last_authored_block( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "CollatorSelection", + "LastAuthoredBlock", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 176u8, 170u8, 165u8, 244u8, 101u8, 126u8, 24u8, 132u8, 228u8, 138u8, + 72u8, 241u8, 144u8, 100u8, 79u8, 112u8, 9u8, 46u8, 210u8, 80u8, 12u8, + 126u8, 32u8, 214u8, 26u8, 171u8, 155u8, 3u8, 233u8, 22u8, 164u8, 25u8, + ], + ) + } + #[doc = " Desired number of candidates."] + #[doc = ""] + #[doc = " This should ideally always be less than [`Config::MaxCandidates`] for weights to be correct."] + pub fn desired_candidates( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "CollatorSelection", + "DesiredCandidates", + vec![], + [ + 69u8, 199u8, 130u8, 132u8, 10u8, 127u8, 204u8, 220u8, 59u8, 107u8, + 96u8, 180u8, 42u8, 235u8, 14u8, 126u8, 231u8, 242u8, 162u8, 126u8, + 63u8, 223u8, 15u8, 250u8, 22u8, 210u8, 54u8, 34u8, 235u8, 191u8, 250u8, + 21u8, + ], + ) + } + #[doc = " Fixed amount to deposit to become a collator."] + #[doc = ""] + #[doc = " When a collator calls `leave_intent` they immediately receive the deposit back."] + pub fn candidacy_bond( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "CollatorSelection", + "CandidacyBond", + vec![], + [ + 71u8, 134u8, 156u8, 102u8, 201u8, 83u8, 240u8, 251u8, 189u8, 213u8, + 211u8, 182u8, 126u8, 122u8, 41u8, 174u8, 105u8, 29u8, 216u8, 23u8, + 255u8, 55u8, 245u8, 187u8, 234u8, 234u8, 178u8, 155u8, 145u8, 49u8, + 196u8, 214u8, + ], + ) + } + } + } + } + pub mod session { + use super::root_mod; + use super::runtime_types; + #[doc = "Error for the session pallet."] + pub type Error = runtime_types::pallet_session::pallet::Error; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::pallet_session::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetKeys { + pub keys: runtime_types::coretime_rococo_runtime::SessionKeys, + pub proof: ::std::vec::Vec<::core::primitive::u8>, + } + impl ::subxt::blocks::StaticExtrinsic for SetKeys { + const PALLET: &'static str = "Session"; + const CALL: &'static str = "set_keys"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PurgeKeys; + impl ::subxt::blocks::StaticExtrinsic for PurgeKeys { + const PALLET: &'static str = "Session"; + const CALL: &'static str = "purge_keys"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "See [`Pallet::set_keys`]."] + pub fn set_keys( + &self, + keys: runtime_types::coretime_rococo_runtime::SessionKeys, + proof: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Session", + "set_keys", + types::SetKeys { keys, proof }, + [ + 10u8, 183u8, 202u8, 82u8, 236u8, 202u8, 212u8, 220u8, 51u8, 217u8, + 229u8, 169u8, 238u8, 141u8, 129u8, 231u8, 203u8, 176u8, 97u8, 148u8, + 240u8, 87u8, 177u8, 245u8, 33u8, 109u8, 243u8, 52u8, 46u8, 118u8, + 164u8, 35u8, + ], + ) + } + #[doc = "See [`Pallet::purge_keys`]."] + pub fn purge_keys(&self) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Session", + "purge_keys", + types::PurgeKeys {}, + [ + 215u8, 204u8, 146u8, 236u8, 32u8, 78u8, 198u8, 79u8, 85u8, 214u8, 15u8, + 151u8, 158u8, 31u8, 146u8, 119u8, 119u8, 204u8, 151u8, 169u8, 226u8, + 67u8, 217u8, 39u8, 241u8, 245u8, 203u8, 240u8, 203u8, 172u8, 16u8, + 209u8, + ], + ) + } + } + } + #[doc = "The `Event` enum of this pallet"] + pub type Event = runtime_types::pallet_session::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "New session has happened. Note that the argument is the session index, not the"] + #[doc = "block number as the type might suggest."] + pub struct NewSession { + pub session_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for NewSession { + const PALLET: &'static str = "Session"; + const EVENT: &'static str = "NewSession"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The current set of validators."] + pub fn validators( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::subxt::utils::AccountId32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Session", + "Validators", + vec![], + [ + 50u8, 86u8, 154u8, 222u8, 249u8, 209u8, 156u8, 22u8, 155u8, 25u8, + 133u8, 194u8, 210u8, 50u8, 38u8, 28u8, 139u8, 201u8, 90u8, 139u8, + 115u8, 12u8, 12u8, 141u8, 4u8, 178u8, 201u8, 241u8, 223u8, 234u8, 6u8, + 86u8, + ], + ) + } + #[doc = " Current index of the session."] + pub fn current_index( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Session", + "CurrentIndex", + vec![], + [ + 167u8, 151u8, 125u8, 150u8, 159u8, 21u8, 78u8, 217u8, 237u8, 183u8, + 135u8, 65u8, 187u8, 114u8, 188u8, 206u8, 16u8, 32u8, 69u8, 208u8, + 134u8, 159u8, 232u8, 224u8, 243u8, 27u8, 31u8, 166u8, 145u8, 44u8, + 221u8, 230u8, + ], + ) + } + #[doc = " True if the underlying economic identities or weighting behind the validators"] + #[doc = " has changed in the queued validator set."] + pub fn queued_changed( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::bool, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Session", + "QueuedChanged", + vec![], + [ + 184u8, 137u8, 224u8, 137u8, 31u8, 236u8, 95u8, 164u8, 102u8, 225u8, + 198u8, 227u8, 140u8, 37u8, 113u8, 57u8, 59u8, 4u8, 202u8, 102u8, 117u8, + 36u8, 226u8, 64u8, 113u8, 141u8, 199u8, 111u8, 99u8, 144u8, 198u8, + 153u8, + ], + ) + } + #[doc = " The queued keys for the next session. When the next session begins, these keys"] + #[doc = " will be used to determine the validator's session keys."] + pub fn queued_keys( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<( + ::subxt::utils::AccountId32, + runtime_types::coretime_rococo_runtime::SessionKeys, + )>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Session", + "QueuedKeys", + vec![], + [ + 3u8, 214u8, 191u8, 168u8, 90u8, 94u8, 107u8, 111u8, 170u8, 31u8, 78u8, + 61u8, 240u8, 184u8, 170u8, 104u8, 178u8, 229u8, 159u8, 89u8, 207u8, + 37u8, 49u8, 209u8, 131u8, 165u8, 14u8, 169u8, 13u8, 68u8, 151u8, 144u8, + ], + ) + } + #[doc = " Indices of disabled validators."] + #[doc = ""] + #[doc = " The vec is always kept sorted so that we can find whether a given validator is"] + #[doc = " disabled using binary search. It gets cleared when `on_session_ending` returns"] + #[doc = " a new set of identities."] + pub fn disabled_validators( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Session", + "DisabledValidators", + vec![], + [ + 213u8, 19u8, 168u8, 234u8, 187u8, 200u8, 180u8, 97u8, 234u8, 189u8, + 36u8, 233u8, 158u8, 184u8, 45u8, 35u8, 129u8, 213u8, 133u8, 8u8, 104u8, + 183u8, 46u8, 68u8, 154u8, 240u8, 132u8, 22u8, 247u8, 11u8, 54u8, 221u8, + ], + ) + } + #[doc = " The next session keys for a validator."] + pub fn next_keys_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::coretime_rococo_runtime::SessionKeys, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Session", + "NextKeys", + vec![], + [ + 193u8, 216u8, 53u8, 103u8, 143u8, 241u8, 201u8, 54u8, 108u8, 149u8, + 241u8, 42u8, 3u8, 151u8, 223u8, 246u8, 30u8, 6u8, 239u8, 206u8, 27u8, + 172u8, 43u8, 226u8, 177u8, 111u8, 203u8, 78u8, 49u8, 34u8, 200u8, 6u8, + ], + ) + } + #[doc = " The next session keys for a validator."] + pub fn next_keys( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::coretime_rococo_runtime::SessionKeys, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Session", + "NextKeys", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 193u8, 216u8, 53u8, 103u8, 143u8, 241u8, 201u8, 54u8, 108u8, 149u8, + 241u8, 42u8, 3u8, 151u8, 223u8, 246u8, 30u8, 6u8, 239u8, 206u8, 27u8, + 172u8, 43u8, 226u8, 177u8, 111u8, 203u8, 78u8, 49u8, 34u8, 200u8, 6u8, + ], + ) + } + #[doc = " The owner of a key. The key is the `KeyTypeId` + the encoded key."] + pub fn key_owner_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::AccountId32, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Session", + "KeyOwner", + vec![], + [ + 217u8, 204u8, 21u8, 114u8, 247u8, 129u8, 32u8, 242u8, 93u8, 91u8, + 253u8, 253u8, 248u8, 90u8, 12u8, 202u8, 195u8, 25u8, 18u8, 100u8, + 253u8, 109u8, 88u8, 77u8, 217u8, 140u8, 51u8, 40u8, 118u8, 35u8, 107u8, + 206u8, + ], + ) + } + #[doc = " The owner of a key. The key is the `KeyTypeId` + the encoded key."] + pub fn key_owner_iter1( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::AccountId32, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Session", + "KeyOwner", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 217u8, 204u8, 21u8, 114u8, 247u8, 129u8, 32u8, 242u8, 93u8, 91u8, + 253u8, 253u8, 248u8, 90u8, 12u8, 202u8, 195u8, 25u8, 18u8, 100u8, + 253u8, 109u8, 88u8, 77u8, 217u8, 140u8, 51u8, 40u8, 118u8, 35u8, 107u8, + 206u8, + ], + ) + } + #[doc = " The owner of a key. The key is the `KeyTypeId` + the encoded key."] + pub fn key_owner( + &self, + _0: impl ::std::borrow::Borrow, + _1: impl ::std::borrow::Borrow<[::core::primitive::u8]>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::AccountId32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Session", + "KeyOwner", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 217u8, 204u8, 21u8, 114u8, 247u8, 129u8, 32u8, 242u8, 93u8, 91u8, + 253u8, 253u8, 248u8, 90u8, 12u8, 202u8, 195u8, 25u8, 18u8, 100u8, + 253u8, 109u8, 88u8, 77u8, 217u8, 140u8, 51u8, 40u8, 118u8, 35u8, 107u8, + 206u8, + ], + ) + } + } + } + } + pub mod aura { + use super::root_mod; + use super::runtime_types; + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The current authority set."] + pub fn authorities( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::sp_consensus_aura::sr25519::app_sr25519::Public, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Aura", + "Authorities", + vec![], + [ + 232u8, 129u8, 167u8, 104u8, 47u8, 188u8, 238u8, 164u8, 6u8, 29u8, + 129u8, 45u8, 64u8, 182u8, 194u8, 47u8, 0u8, 73u8, 63u8, 102u8, 204u8, + 94u8, 111u8, 96u8, 137u8, 7u8, 141u8, 110u8, 180u8, 80u8, 228u8, 16u8, + ], + ) + } + #[doc = " The current slot of this block."] + #[doc = ""] + #[doc = " This will be set in `on_initialize`."] + pub fn current_slot( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_consensus_slots::Slot, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Aura", + "CurrentSlot", + vec![], + [ + 112u8, 199u8, 115u8, 248u8, 217u8, 242u8, 45u8, 231u8, 178u8, 53u8, + 236u8, 167u8, 219u8, 238u8, 81u8, 243u8, 39u8, 140u8, 68u8, 19u8, + 201u8, 169u8, 211u8, 133u8, 135u8, 213u8, 150u8, 105u8, 60u8, 252u8, + 43u8, 57u8, + ], + ) + } + } + } + } + pub mod aura_ext { + use super::root_mod; + use super::runtime_types; + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Serves as cache for the authorities."] + #[doc = ""] + #[doc = " The authorities in AuRa are overwritten in `on_initialize` when we switch to a new session,"] + #[doc = " but we require the old authorities to verify the seal when validating a PoV. This will"] + #[doc = " always be updated to the latest AuRa authorities in `on_finalize`."] + pub fn authorities( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::sp_consensus_aura::sr25519::app_sr25519::Public, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "AuraExt", + "Authorities", + vec![], + [ + 232u8, 129u8, 167u8, 104u8, 47u8, 188u8, 238u8, 164u8, 6u8, 29u8, + 129u8, 45u8, 64u8, 182u8, 194u8, 47u8, 0u8, 73u8, 63u8, 102u8, 204u8, + 94u8, 111u8, 96u8, 137u8, 7u8, 141u8, 110u8, 180u8, 80u8, 228u8, 16u8, + ], + ) + } + #[doc = " Current slot paired with a number of authored blocks."] + #[doc = ""] + #[doc = " Updated on each block initialization."] + pub fn slot_info( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + (runtime_types::sp_consensus_slots::Slot, ::core::primitive::u32), + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "AuraExt", + "SlotInfo", + vec![], + [ + 135u8, 135u8, 71u8, 123u8, 102u8, 223u8, 215u8, 76u8, 183u8, 169u8, + 108u8, 60u8, 122u8, 5u8, 24u8, 201u8, 96u8, 59u8, 132u8, 95u8, 253u8, + 100u8, 148u8, 184u8, 133u8, 146u8, 101u8, 201u8, 91u8, 30u8, 76u8, + 169u8, + ], + ) + } + } + } + } + pub mod xcmp_queue { + use super::root_mod; + use super::runtime_types; + #[doc = "The `Error` enum of this pallet."] + pub type Error = runtime_types::cumulus_pallet_xcmp_queue::pallet::Error; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::cumulus_pallet_xcmp_queue::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SuspendXcmExecution; + impl ::subxt::blocks::StaticExtrinsic for SuspendXcmExecution { + const PALLET: &'static str = "XcmpQueue"; + const CALL: &'static str = "suspend_xcm_execution"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ResumeXcmExecution; + impl ::subxt::blocks::StaticExtrinsic for ResumeXcmExecution { + const PALLET: &'static str = "XcmpQueue"; + const CALL: &'static str = "resume_xcm_execution"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UpdateSuspendThreshold { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for UpdateSuspendThreshold { + const PALLET: &'static str = "XcmpQueue"; + const CALL: &'static str = "update_suspend_threshold"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UpdateDropThreshold { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for UpdateDropThreshold { + const PALLET: &'static str = "XcmpQueue"; + const CALL: &'static str = "update_drop_threshold"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UpdateResumeThreshold { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for UpdateResumeThreshold { + const PALLET: &'static str = "XcmpQueue"; + const CALL: &'static str = "update_resume_threshold"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "See [`Pallet::suspend_xcm_execution`]."] + pub fn suspend_xcm_execution( + &self, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "XcmpQueue", + "suspend_xcm_execution", + types::SuspendXcmExecution {}, + [ + 54u8, 120u8, 33u8, 251u8, 74u8, 56u8, 29u8, 76u8, 104u8, 218u8, 115u8, + 198u8, 148u8, 237u8, 9u8, 191u8, 241u8, 48u8, 33u8, 24u8, 60u8, 144u8, + 22u8, 78u8, 58u8, 50u8, 26u8, 188u8, 231u8, 42u8, 201u8, 76u8, + ], + ) + } + #[doc = "See [`Pallet::resume_xcm_execution`]."] + pub fn resume_xcm_execution( + &self, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "XcmpQueue", + "resume_xcm_execution", + types::ResumeXcmExecution {}, + [ + 173u8, 231u8, 78u8, 253u8, 108u8, 234u8, 199u8, 124u8, 184u8, 154u8, + 95u8, 194u8, 13u8, 77u8, 175u8, 7u8, 7u8, 112u8, 161u8, 72u8, 133u8, + 71u8, 63u8, 218u8, 97u8, 226u8, 133u8, 6u8, 93u8, 177u8, 247u8, 109u8, + ], + ) + } + #[doc = "See [`Pallet::update_suspend_threshold`]."] + pub fn update_suspend_threshold( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "XcmpQueue", + "update_suspend_threshold", + types::UpdateSuspendThreshold { new }, + [ + 64u8, 91u8, 172u8, 51u8, 220u8, 174u8, 54u8, 47u8, 57u8, 89u8, 75u8, + 39u8, 126u8, 198u8, 143u8, 35u8, 70u8, 125u8, 167u8, 14u8, 17u8, 18u8, + 146u8, 222u8, 100u8, 92u8, 81u8, 239u8, 173u8, 43u8, 42u8, 174u8, + ], + ) + } + #[doc = "See [`Pallet::update_drop_threshold`]."] + pub fn update_drop_threshold( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "XcmpQueue", + "update_drop_threshold", + types::UpdateDropThreshold { new }, + [ + 123u8, 54u8, 12u8, 180u8, 165u8, 198u8, 141u8, 200u8, 149u8, 168u8, + 186u8, 237u8, 162u8, 91u8, 89u8, 242u8, 229u8, 16u8, 32u8, 254u8, 59u8, + 168u8, 31u8, 134u8, 217u8, 251u8, 0u8, 102u8, 113u8, 194u8, 175u8, 9u8, + ], + ) + } + #[doc = "See [`Pallet::update_resume_threshold`]."] + pub fn update_resume_threshold( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "XcmpQueue", + "update_resume_threshold", + types::UpdateResumeThreshold { new }, + [ + 172u8, 136u8, 11u8, 106u8, 42u8, 157u8, 167u8, 183u8, 87u8, 62u8, + 182u8, 17u8, 184u8, 59u8, 215u8, 230u8, 18u8, 243u8, 212u8, 34u8, 54u8, + 188u8, 95u8, 119u8, 173u8, 20u8, 91u8, 206u8, 212u8, 57u8, 136u8, 77u8, + ], + ) + } + } + } + #[doc = "The `Event` enum of this pallet"] + pub type Event = runtime_types::cumulus_pallet_xcmp_queue::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An HRMP message was sent to a sibling parachain."] + pub struct XcmpMessageSent { + pub message_hash: [::core::primitive::u8; 32usize], + } + impl ::subxt::events::StaticEvent for XcmpMessageSent { + const PALLET: &'static str = "XcmpQueue"; + const EVENT: &'static str = "XcmpMessageSent"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The suspended inbound XCMP channels. All others are not suspended."] + #[doc = ""] + #[doc = " This is a `StorageValue` instead of a `StorageMap` since we expect multiple reads per block"] + #[doc = " to different keys with a one byte payload. The access to `BoundedBTreeSet` will be cached"] + #[doc = " within the block and therefore only included once in the proof size."] + #[doc = ""] + #[doc = " NOTE: The PoV benchmarking cannot know this and will over-estimate, but the actual proof"] + #[doc = " will be smaller."] + pub fn inbound_xcmp_suspended( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_btree_set::BoundedBTreeSet< + runtime_types::polkadot_parachain_primitives::primitives::Id, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "XcmpQueue", + "InboundXcmpSuspended", + vec![], + [ + 110u8, 23u8, 239u8, 104u8, 136u8, 224u8, 179u8, 180u8, 40u8, 159u8, + 54u8, 15u8, 55u8, 111u8, 75u8, 147u8, 131u8, 127u8, 9u8, 57u8, 133u8, + 70u8, 175u8, 181u8, 232u8, 49u8, 13u8, 19u8, 59u8, 151u8, 179u8, 215u8, + ], + ) + } + #[doc = " The non-empty XCMP channels in order of becoming non-empty, and the index of the first"] + #[doc = " and last outbound message. If the two indices are equal, then it indicates an empty"] + #[doc = " queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater"] + #[doc = " than 65535 items. Queue indices for normal messages begin at one; zero is reserved in"] + #[doc = " case of the need to send a high-priority signal message this block."] + #[doc = " The bool is true if there is a signal message waiting to be sent."] + pub fn outbound_xcmp_status( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec< + runtime_types::cumulus_pallet_xcmp_queue::OutboundChannelDetails, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "XcmpQueue", + "OutboundXcmpStatus", + vec![], + [ + 181u8, 5u8, 216u8, 176u8, 154u8, 233u8, 116u8, 14u8, 151u8, 1u8, 114u8, + 16u8, 42u8, 20u8, 63u8, 233u8, 79u8, 122u8, 87u8, 255u8, 75u8, 149u8, + 176u8, 106u8, 23u8, 101u8, 228u8, 120u8, 217u8, 167u8, 127u8, 117u8, + ], + ) + } + #[doc = " The messages outbound in a given XCMP channel."] + pub fn outbound_xcmp_messages_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::core::primitive::u8>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "XcmpQueue", + "OutboundXcmpMessages", + vec![], + [ + 156u8, 3u8, 202u8, 175u8, 175u8, 129u8, 38u8, 144u8, 35u8, 59u8, 228u8, + 159u8, 142u8, 25u8, 19u8, 73u8, 73u8, 6u8, 115u8, 19u8, 236u8, 235u8, + 144u8, 172u8, 31u8, 168u8, 24u8, 65u8, 115u8, 95u8, 77u8, 63u8, + ], + ) + } + #[doc = " The messages outbound in a given XCMP channel."] + pub fn outbound_xcmp_messages_iter1( + &self, + _0: impl ::std::borrow::Borrow< + runtime_types::polkadot_parachain_primitives::primitives::Id, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::core::primitive::u8>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "XcmpQueue", + "OutboundXcmpMessages", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 156u8, 3u8, 202u8, 175u8, 175u8, 129u8, 38u8, 144u8, 35u8, 59u8, 228u8, + 159u8, 142u8, 25u8, 19u8, 73u8, 73u8, 6u8, 115u8, 19u8, 236u8, 235u8, + 144u8, 172u8, 31u8, 168u8, 24u8, 65u8, 115u8, 95u8, 77u8, 63u8, + ], + ) + } + #[doc = " The messages outbound in a given XCMP channel."] + pub fn outbound_xcmp_messages( + &self, + _0: impl ::std::borrow::Borrow< + runtime_types::polkadot_parachain_primitives::primitives::Id, + >, + _1: impl ::std::borrow::Borrow<::core::primitive::u16>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::core::primitive::u8>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "XcmpQueue", + "OutboundXcmpMessages", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 156u8, 3u8, 202u8, 175u8, 175u8, 129u8, 38u8, 144u8, 35u8, 59u8, 228u8, + 159u8, 142u8, 25u8, 19u8, 73u8, 73u8, 6u8, 115u8, 19u8, 236u8, 235u8, + 144u8, 172u8, 31u8, 168u8, 24u8, 65u8, 115u8, 95u8, 77u8, 63u8, + ], + ) + } + #[doc = " Any signal messages waiting to be sent."] + pub fn signal_messages_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::core::primitive::u8>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "XcmpQueue", + "SignalMessages", + vec![], + [ + 182u8, 143u8, 233u8, 233u8, 111u8, 137u8, 174u8, 165u8, 166u8, 7u8, + 229u8, 183u8, 99u8, 108u8, 30u8, 162u8, 71u8, 55u8, 122u8, 124u8, + 249u8, 203u8, 142u8, 124u8, 158u8, 213u8, 182u8, 159u8, 206u8, 249u8, + 180u8, 24u8, + ], + ) + } + #[doc = " Any signal messages waiting to be sent."] + pub fn signal_messages( + &self, + _0: impl ::std::borrow::Borrow< + runtime_types::polkadot_parachain_primitives::primitives::Id, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::core::primitive::u8>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "XcmpQueue", + "SignalMessages", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 182u8, 143u8, 233u8, 233u8, 111u8, 137u8, 174u8, 165u8, 166u8, 7u8, + 229u8, 183u8, 99u8, 108u8, 30u8, 162u8, 71u8, 55u8, 122u8, 124u8, + 249u8, 203u8, 142u8, 124u8, 158u8, 213u8, 182u8, 159u8, 206u8, 249u8, + 180u8, 24u8, + ], + ) + } + #[doc = " The configuration which controls the dynamics of the outbound queue."] + pub fn queue_config( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::cumulus_pallet_xcmp_queue::QueueConfigData, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "XcmpQueue", + "QueueConfig", + vec![], + [ + 185u8, 67u8, 247u8, 243u8, 211u8, 232u8, 57u8, 240u8, 237u8, 181u8, + 23u8, 114u8, 215u8, 128u8, 193u8, 1u8, 176u8, 53u8, 110u8, 195u8, + 148u8, 80u8, 187u8, 143u8, 62u8, 30u8, 143u8, 34u8, 248u8, 109u8, 3u8, + 141u8, + ], + ) + } + #[doc = " Whether or not the XCMP queue is suspended from executing incoming XCMs or not."] + pub fn queue_suspended( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::bool, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "XcmpQueue", + "QueueSuspended", + vec![], + [ + 165u8, 66u8, 105u8, 244u8, 113u8, 43u8, 177u8, 252u8, 212u8, 243u8, + 143u8, 184u8, 87u8, 51u8, 163u8, 104u8, 29u8, 84u8, 119u8, 74u8, 233u8, + 129u8, 203u8, 105u8, 2u8, 101u8, 19u8, 170u8, 69u8, 253u8, 80u8, 132u8, + ], + ) + } + #[doc = " The factor to multiply the base delivery fee by."] + pub fn delivery_fee_factor_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_arithmetic::fixed_point::FixedU128, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "XcmpQueue", + "DeliveryFeeFactor", + vec![], + [ + 43u8, 5u8, 63u8, 235u8, 115u8, 155u8, 130u8, 27u8, 75u8, 216u8, 177u8, + 135u8, 203u8, 147u8, 167u8, 95u8, 208u8, 188u8, 25u8, 14u8, 84u8, 63u8, + 116u8, 41u8, 148u8, 110u8, 115u8, 215u8, 196u8, 36u8, 75u8, 102u8, + ], + ) + } + #[doc = " The factor to multiply the base delivery fee by."] + pub fn delivery_fee_factor( + &self, + _0: impl ::std::borrow::Borrow< + runtime_types::polkadot_parachain_primitives::primitives::Id, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_arithmetic::fixed_point::FixedU128, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "XcmpQueue", + "DeliveryFeeFactor", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 43u8, 5u8, 63u8, 235u8, 115u8, 155u8, 130u8, 27u8, 75u8, 216u8, 177u8, + 135u8, 203u8, 147u8, 167u8, 95u8, 208u8, 188u8, 25u8, 14u8, 84u8, 63u8, + 116u8, 41u8, 148u8, 110u8, 115u8, 215u8, 196u8, 36u8, 75u8, 102u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The maximum number of inbound XCMP channels that can be suspended simultaneously."] + #[doc = ""] + #[doc = " Any further channel suspensions will fail and messages may get dropped without further"] + #[doc = " notice. Choosing a high value (1000) is okay; the trade-off that is described in"] + #[doc = " [`InboundXcmpSuspended`] still applies at that scale."] + pub fn max_inbound_suspended( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "XcmpQueue", + "MaxInboundSuspended", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod polkadot_xcm { + use super::root_mod; + use super::runtime_types; + #[doc = "The `Error` enum of this pallet."] + pub type Error = runtime_types::pallet_xcm::pallet::Error; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::pallet_xcm::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Send { + pub dest: ::std::boxed::Box, + pub message: ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for Send { + const PALLET: &'static str = "PolkadotXcm"; + const CALL: &'static str = "send"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct TeleportAssets { + pub dest: ::std::boxed::Box, + pub beneficiary: ::std::boxed::Box, + pub assets: ::std::boxed::Box, + pub fee_asset_item: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for TeleportAssets { + const PALLET: &'static str = "PolkadotXcm"; + const CALL: &'static str = "teleport_assets"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReserveTransferAssets { + pub dest: ::std::boxed::Box, + pub beneficiary: ::std::boxed::Box, + pub assets: ::std::boxed::Box, + pub fee_asset_item: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for ReserveTransferAssets { + const PALLET: &'static str = "PolkadotXcm"; + const CALL: &'static str = "reserve_transfer_assets"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Execute { + pub message: ::std::boxed::Box, + pub max_weight: runtime_types::sp_weights::weight_v2::Weight, + } + impl ::subxt::blocks::StaticExtrinsic for Execute { + const PALLET: &'static str = "PolkadotXcm"; + const CALL: &'static str = "execute"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceXcmVersion { + pub location: + ::std::boxed::Box, + pub version: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for ForceXcmVersion { + const PALLET: &'static str = "PolkadotXcm"; + const CALL: &'static str = "force_xcm_version"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceDefaultXcmVersion { + pub maybe_xcm_version: ::core::option::Option<::core::primitive::u32>, + } + impl ::subxt::blocks::StaticExtrinsic for ForceDefaultXcmVersion { + const PALLET: &'static str = "PolkadotXcm"; + const CALL: &'static str = "force_default_xcm_version"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceSubscribeVersionNotify { + pub location: ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for ForceSubscribeVersionNotify { + const PALLET: &'static str = "PolkadotXcm"; + const CALL: &'static str = "force_subscribe_version_notify"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceUnsubscribeVersionNotify { + pub location: ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for ForceUnsubscribeVersionNotify { + const PALLET: &'static str = "PolkadotXcm"; + const CALL: &'static str = "force_unsubscribe_version_notify"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct LimitedReserveTransferAssets { + pub dest: ::std::boxed::Box, + pub beneficiary: ::std::boxed::Box, + pub assets: ::std::boxed::Box, + pub fee_asset_item: ::core::primitive::u32, + pub weight_limit: runtime_types::xcm::v3::WeightLimit, + } + impl ::subxt::blocks::StaticExtrinsic for LimitedReserveTransferAssets { + const PALLET: &'static str = "PolkadotXcm"; + const CALL: &'static str = "limited_reserve_transfer_assets"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct LimitedTeleportAssets { + pub dest: ::std::boxed::Box, + pub beneficiary: ::std::boxed::Box, + pub assets: ::std::boxed::Box, + pub fee_asset_item: ::core::primitive::u32, + pub weight_limit: runtime_types::xcm::v3::WeightLimit, + } + impl ::subxt::blocks::StaticExtrinsic for LimitedTeleportAssets { + const PALLET: &'static str = "PolkadotXcm"; + const CALL: &'static str = "limited_teleport_assets"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceSuspension { + pub suspended: ::core::primitive::bool, + } + impl ::subxt::blocks::StaticExtrinsic for ForceSuspension { + const PALLET: &'static str = "PolkadotXcm"; + const CALL: &'static str = "force_suspension"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct TransferAssets { + pub dest: ::std::boxed::Box, + pub beneficiary: ::std::boxed::Box, + pub assets: ::std::boxed::Box, + pub fee_asset_item: ::core::primitive::u32, + pub weight_limit: runtime_types::xcm::v3::WeightLimit, + } + impl ::subxt::blocks::StaticExtrinsic for TransferAssets { + const PALLET: &'static str = "PolkadotXcm"; + const CALL: &'static str = "transfer_assets"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "See [`Pallet::send`]."] + pub fn send( + &self, + dest: runtime_types::xcm::VersionedLocation, + message: runtime_types::xcm::VersionedXcm, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "PolkadotXcm", + "send", + types::Send { + dest: ::std::boxed::Box::new(dest), + message: ::std::boxed::Box::new(message), + }, + [ + 47u8, 63u8, 128u8, 176u8, 10u8, 137u8, 124u8, 238u8, 155u8, 37u8, + 193u8, 160u8, 83u8, 240u8, 21u8, 179u8, 169u8, 131u8, 27u8, 104u8, + 195u8, 208u8, 123u8, 14u8, 221u8, 12u8, 45u8, 81u8, 148u8, 76u8, 17u8, + 100u8, + ], + ) + } + #[doc = "See [`Pallet::teleport_assets`]."] + pub fn teleport_assets( + &self, + dest: runtime_types::xcm::VersionedLocation, + beneficiary: runtime_types::xcm::VersionedLocation, + assets: runtime_types::xcm::VersionedAssets, + fee_asset_item: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "PolkadotXcm", + "teleport_assets", + types::TeleportAssets { + dest: ::std::boxed::Box::new(dest), + beneficiary: ::std::boxed::Box::new(beneficiary), + assets: ::std::boxed::Box::new(assets), + fee_asset_item, + }, + [ + 124u8, 191u8, 118u8, 61u8, 45u8, 225u8, 97u8, 83u8, 198u8, 20u8, 139u8, + 117u8, 241u8, 1u8, 19u8, 54u8, 79u8, 181u8, 131u8, 112u8, 11u8, 118u8, + 147u8, 12u8, 89u8, 156u8, 123u8, 123u8, 195u8, 45u8, 50u8, 107u8, + ], + ) + } + #[doc = "See [`Pallet::reserve_transfer_assets`]."] + pub fn reserve_transfer_assets( + &self, + dest: runtime_types::xcm::VersionedLocation, + beneficiary: runtime_types::xcm::VersionedLocation, + assets: runtime_types::xcm::VersionedAssets, + fee_asset_item: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "PolkadotXcm", + "reserve_transfer_assets", + types::ReserveTransferAssets { + dest: ::std::boxed::Box::new(dest), + beneficiary: ::std::boxed::Box::new(beneficiary), + assets: ::std::boxed::Box::new(assets), + fee_asset_item, + }, + [ + 97u8, 102u8, 230u8, 44u8, 135u8, 197u8, 43u8, 53u8, 182u8, 125u8, + 140u8, 141u8, 229u8, 73u8, 29u8, 55u8, 159u8, 104u8, 197u8, 20u8, + 124u8, 234u8, 250u8, 94u8, 133u8, 253u8, 189u8, 6u8, 216u8, 162u8, + 218u8, 89u8, + ], + ) + } + #[doc = "See [`Pallet::execute`]."] + pub fn execute( + &self, + message: runtime_types::xcm::VersionedXcm2, + max_weight: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "PolkadotXcm", + "execute", + types::Execute { message: ::std::boxed::Box::new(message), max_weight }, + [ + 71u8, 109u8, 92u8, 110u8, 198u8, 150u8, 140u8, 125u8, 248u8, 236u8, + 177u8, 156u8, 198u8, 223u8, 51u8, 15u8, 52u8, 240u8, 20u8, 200u8, 68u8, + 145u8, 36u8, 156u8, 159u8, 153u8, 125u8, 48u8, 181u8, 61u8, 53u8, + 208u8, + ], + ) + } + #[doc = "See [`Pallet::force_xcm_version`]."] + pub fn force_xcm_version( + &self, + location: runtime_types::staging_xcm::v4::location::Location, + version: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "PolkadotXcm", + "force_xcm_version", + types::ForceXcmVersion { + location: ::std::boxed::Box::new(location), + version, + }, + [ + 69u8, 151u8, 198u8, 154u8, 69u8, 181u8, 41u8, 111u8, 145u8, 230u8, + 103u8, 42u8, 237u8, 91u8, 235u8, 6u8, 156u8, 65u8, 187u8, 48u8, 171u8, + 200u8, 49u8, 4u8, 9u8, 210u8, 229u8, 152u8, 187u8, 88u8, 80u8, 246u8, + ], + ) + } + #[doc = "See [`Pallet::force_default_xcm_version`]."] + pub fn force_default_xcm_version( + &self, + maybe_xcm_version: ::core::option::Option<::core::primitive::u32>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "PolkadotXcm", + "force_default_xcm_version", + types::ForceDefaultXcmVersion { maybe_xcm_version }, + [ + 43u8, 114u8, 102u8, 104u8, 209u8, 234u8, 108u8, 173u8, 109u8, 188u8, + 94u8, 214u8, 136u8, 43u8, 153u8, 75u8, 161u8, 192u8, 76u8, 12u8, 221u8, + 237u8, 158u8, 247u8, 41u8, 193u8, 35u8, 174u8, 183u8, 207u8, 79u8, + 213u8, + ], + ) + } + #[doc = "See [`Pallet::force_subscribe_version_notify`]."] + pub fn force_subscribe_version_notify( + &self, + location: runtime_types::xcm::VersionedLocation, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "PolkadotXcm", + "force_subscribe_version_notify", + types::ForceSubscribeVersionNotify { + location: ::std::boxed::Box::new(location), + }, + [ + 203u8, 171u8, 70u8, 130u8, 46u8, 63u8, 76u8, 50u8, 105u8, 23u8, 249u8, + 190u8, 115u8, 74u8, 70u8, 125u8, 132u8, 112u8, 138u8, 60u8, 33u8, 35u8, + 45u8, 29u8, 95u8, 103u8, 187u8, 182u8, 188u8, 196u8, 248u8, 152u8, + ], + ) + } + #[doc = "See [`Pallet::force_unsubscribe_version_notify`]."] + pub fn force_unsubscribe_version_notify( + &self, + location: runtime_types::xcm::VersionedLocation, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "PolkadotXcm", + "force_unsubscribe_version_notify", + types::ForceUnsubscribeVersionNotify { + location: ::std::boxed::Box::new(location), + }, + [ + 6u8, 113u8, 168u8, 215u8, 233u8, 202u8, 249u8, 134u8, 131u8, 8u8, + 142u8, 203u8, 142u8, 95u8, 216u8, 70u8, 38u8, 99u8, 166u8, 97u8, 218u8, + 132u8, 247u8, 14u8, 42u8, 99u8, 4u8, 115u8, 200u8, 180u8, 213u8, 50u8, + ], + ) + } + #[doc = "See [`Pallet::limited_reserve_transfer_assets`]."] + pub fn limited_reserve_transfer_assets( + &self, + dest: runtime_types::xcm::VersionedLocation, + beneficiary: runtime_types::xcm::VersionedLocation, + assets: runtime_types::xcm::VersionedAssets, + fee_asset_item: ::core::primitive::u32, + weight_limit: runtime_types::xcm::v3::WeightLimit, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "PolkadotXcm", + "limited_reserve_transfer_assets", + types::LimitedReserveTransferAssets { + dest: ::std::boxed::Box::new(dest), + beneficiary: ::std::boxed::Box::new(beneficiary), + assets: ::std::boxed::Box::new(assets), + fee_asset_item, + weight_limit, + }, + [ + 198u8, 66u8, 204u8, 162u8, 222u8, 246u8, 141u8, 165u8, 241u8, 62u8, + 43u8, 236u8, 56u8, 200u8, 54u8, 47u8, 174u8, 83u8, 167u8, 220u8, 174u8, + 111u8, 123u8, 202u8, 248u8, 232u8, 166u8, 80u8, 152u8, 223u8, 86u8, + 141u8, + ], + ) + } + #[doc = "See [`Pallet::limited_teleport_assets`]."] + pub fn limited_teleport_assets( + &self, + dest: runtime_types::xcm::VersionedLocation, + beneficiary: runtime_types::xcm::VersionedLocation, + assets: runtime_types::xcm::VersionedAssets, + fee_asset_item: ::core::primitive::u32, + weight_limit: runtime_types::xcm::v3::WeightLimit, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "PolkadotXcm", + "limited_teleport_assets", + types::LimitedTeleportAssets { + dest: ::std::boxed::Box::new(dest), + beneficiary: ::std::boxed::Box::new(beneficiary), + assets: ::std::boxed::Box::new(assets), + fee_asset_item, + weight_limit, + }, + [ + 70u8, 61u8, 32u8, 43u8, 101u8, 104u8, 251u8, 60u8, 212u8, 124u8, 113u8, + 243u8, 241u8, 183u8, 5u8, 231u8, 209u8, 231u8, 136u8, 3u8, 145u8, + 242u8, 179u8, 171u8, 185u8, 185u8, 7u8, 34u8, 5u8, 203u8, 21u8, 210u8, + ], + ) + } + #[doc = "See [`Pallet::force_suspension`]."] + pub fn force_suspension( + &self, + suspended: ::core::primitive::bool, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "PolkadotXcm", + "force_suspension", + types::ForceSuspension { suspended }, + [ + 78u8, 125u8, 93u8, 55u8, 129u8, 44u8, 36u8, 227u8, 75u8, 46u8, 68u8, + 202u8, 81u8, 127u8, 111u8, 92u8, 149u8, 38u8, 225u8, 185u8, 183u8, + 154u8, 89u8, 159u8, 79u8, 10u8, 229u8, 1u8, 226u8, 243u8, 65u8, 238u8, + ], + ) + } + #[doc = "See [`Pallet::transfer_assets`]."] + pub fn transfer_assets( + &self, + dest: runtime_types::xcm::VersionedLocation, + beneficiary: runtime_types::xcm::VersionedLocation, + assets: runtime_types::xcm::VersionedAssets, + fee_asset_item: ::core::primitive::u32, + weight_limit: runtime_types::xcm::v3::WeightLimit, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "PolkadotXcm", + "transfer_assets", + types::TransferAssets { + dest: ::std::boxed::Box::new(dest), + beneficiary: ::std::boxed::Box::new(beneficiary), + assets: ::std::boxed::Box::new(assets), + fee_asset_item, + weight_limit, + }, + [ + 44u8, 155u8, 182u8, 37u8, 123u8, 148u8, 150u8, 191u8, 117u8, 32u8, + 16u8, 238u8, 121u8, 188u8, 217u8, 110u8, 10u8, 236u8, 174u8, 91u8, + 100u8, 201u8, 109u8, 109u8, 60u8, 177u8, 233u8, 66u8, 181u8, 191u8, + 105u8, 37u8, + ], + ) + } + } + } + #[doc = "The `Event` enum of this pallet"] + pub type Event = runtime_types::pallet_xcm::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Execution of an XCM message was attempted."] + pub struct Attempted { + pub outcome: runtime_types::staging_xcm::v4::traits::Outcome, + } + impl ::subxt::events::StaticEvent for Attempted { + const PALLET: &'static str = "PolkadotXcm"; + const EVENT: &'static str = "Attempted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A XCM message was sent."] + pub struct Sent { + pub origin: runtime_types::staging_xcm::v4::location::Location, + pub destination: runtime_types::staging_xcm::v4::location::Location, + pub message: runtime_types::staging_xcm::v4::Xcm, + pub message_id: [::core::primitive::u8; 32usize], + } + impl ::subxt::events::StaticEvent for Sent { + const PALLET: &'static str = "PolkadotXcm"; + const EVENT: &'static str = "Sent"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Query response received which does not match a registered query. This may be because a"] + #[doc = "matching query was never registered, it may be because it is a duplicate response, or"] + #[doc = "because the query timed out."] + pub struct UnexpectedResponse { + pub origin: runtime_types::staging_xcm::v4::location::Location, + pub query_id: ::core::primitive::u64, + } + impl ::subxt::events::StaticEvent for UnexpectedResponse { + const PALLET: &'static str = "PolkadotXcm"; + const EVENT: &'static str = "UnexpectedResponse"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Query response has been received and is ready for taking with `take_response`. There is"] + #[doc = "no registered notification call."] + pub struct ResponseReady { + pub query_id: ::core::primitive::u64, + pub response: runtime_types::staging_xcm::v4::Response, + } + impl ::subxt::events::StaticEvent for ResponseReady { + const PALLET: &'static str = "PolkadotXcm"; + const EVENT: &'static str = "ResponseReady"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Query response has been received and query is removed. The registered notification has"] + #[doc = "been dispatched and executed successfully."] + pub struct Notified { + pub query_id: ::core::primitive::u64, + pub pallet_index: ::core::primitive::u8, + pub call_index: ::core::primitive::u8, + } + impl ::subxt::events::StaticEvent for Notified { + const PALLET: &'static str = "PolkadotXcm"; + const EVENT: &'static str = "Notified"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Query response has been received and query is removed. The registered notification"] + #[doc = "could not be dispatched because the dispatch weight is greater than the maximum weight"] + #[doc = "originally budgeted by this runtime for the query result."] + pub struct NotifyOverweight { + pub query_id: ::core::primitive::u64, + pub pallet_index: ::core::primitive::u8, + pub call_index: ::core::primitive::u8, + pub actual_weight: runtime_types::sp_weights::weight_v2::Weight, + pub max_budgeted_weight: runtime_types::sp_weights::weight_v2::Weight, + } + impl ::subxt::events::StaticEvent for NotifyOverweight { + const PALLET: &'static str = "PolkadotXcm"; + const EVENT: &'static str = "NotifyOverweight"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Query response has been received and query is removed. There was a general error with"] + #[doc = "dispatching the notification call."] + pub struct NotifyDispatchError { + pub query_id: ::core::primitive::u64, + pub pallet_index: ::core::primitive::u8, + pub call_index: ::core::primitive::u8, + } + impl ::subxt::events::StaticEvent for NotifyDispatchError { + const PALLET: &'static str = "PolkadotXcm"; + const EVENT: &'static str = "NotifyDispatchError"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Query response has been received and query is removed. The dispatch was unable to be"] + #[doc = "decoded into a `Call`; this might be due to dispatch function having a signature which"] + #[doc = "is not `(origin, QueryId, Response)`."] + pub struct NotifyDecodeFailed { + pub query_id: ::core::primitive::u64, + pub pallet_index: ::core::primitive::u8, + pub call_index: ::core::primitive::u8, + } + impl ::subxt::events::StaticEvent for NotifyDecodeFailed { + const PALLET: &'static str = "PolkadotXcm"; + const EVENT: &'static str = "NotifyDecodeFailed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Expected query response has been received but the origin location of the response does"] + #[doc = "not match that expected. The query remains registered for a later, valid, response to"] + #[doc = "be received and acted upon."] + pub struct InvalidResponder { + pub origin: runtime_types::staging_xcm::v4::location::Location, + pub query_id: ::core::primitive::u64, + pub expected_location: + ::core::option::Option, + } + impl ::subxt::events::StaticEvent for InvalidResponder { + const PALLET: &'static str = "PolkadotXcm"; + const EVENT: &'static str = "InvalidResponder"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Expected query response has been received but the expected origin location placed in"] + #[doc = "storage by this runtime previously cannot be decoded. The query remains registered."] + #[doc = ""] + #[doc = "This is unexpected (since a location placed in storage in a previously executing"] + #[doc = "runtime should be readable prior to query timeout) and dangerous since the possibly"] + #[doc = "valid response will be dropped. Manual governance intervention is probably going to be"] + #[doc = "needed."] + pub struct InvalidResponderVersion { + pub origin: runtime_types::staging_xcm::v4::location::Location, + pub query_id: ::core::primitive::u64, + } + impl ::subxt::events::StaticEvent for InvalidResponderVersion { + const PALLET: &'static str = "PolkadotXcm"; + const EVENT: &'static str = "InvalidResponderVersion"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Received query response has been read and removed."] + pub struct ResponseTaken { + pub query_id: ::core::primitive::u64, + } + impl ::subxt::events::StaticEvent for ResponseTaken { + const PALLET: &'static str = "PolkadotXcm"; + const EVENT: &'static str = "ResponseTaken"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some assets have been placed in an asset trap."] + pub struct AssetsTrapped { + pub hash: ::subxt::utils::H256, + pub origin: runtime_types::staging_xcm::v4::location::Location, + pub assets: runtime_types::xcm::VersionedAssets, + } + impl ::subxt::events::StaticEvent for AssetsTrapped { + const PALLET: &'static str = "PolkadotXcm"; + const EVENT: &'static str = "AssetsTrapped"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An XCM version change notification message has been attempted to be sent."] + #[doc = ""] + #[doc = "The cost of sending it (borne by the chain) is included."] + pub struct VersionChangeNotified { + pub destination: runtime_types::staging_xcm::v4::location::Location, + pub result: ::core::primitive::u32, + pub cost: runtime_types::staging_xcm::v4::asset::Assets, + pub message_id: [::core::primitive::u8; 32usize], + } + impl ::subxt::events::StaticEvent for VersionChangeNotified { + const PALLET: &'static str = "PolkadotXcm"; + const EVENT: &'static str = "VersionChangeNotified"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The supported version of a location has been changed. This might be through an"] + #[doc = "automatic notification or a manual intervention."] + pub struct SupportedVersionChanged { + pub location: runtime_types::staging_xcm::v4::location::Location, + pub version: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for SupportedVersionChanged { + const PALLET: &'static str = "PolkadotXcm"; + const EVENT: &'static str = "SupportedVersionChanged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A given location which had a version change subscription was dropped owing to an error"] + #[doc = "sending the notification to it."] + pub struct NotifyTargetSendFail { + pub location: runtime_types::staging_xcm::v4::location::Location, + pub query_id: ::core::primitive::u64, + pub error: runtime_types::xcm::v3::traits::Error, + } + impl ::subxt::events::StaticEvent for NotifyTargetSendFail { + const PALLET: &'static str = "PolkadotXcm"; + const EVENT: &'static str = "NotifyTargetSendFail"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A given location which had a version change subscription was dropped owing to an error"] + #[doc = "migrating the location to our new XCM format."] + pub struct NotifyTargetMigrationFail { + pub location: runtime_types::xcm::VersionedLocation, + pub query_id: ::core::primitive::u64, + } + impl ::subxt::events::StaticEvent for NotifyTargetMigrationFail { + const PALLET: &'static str = "PolkadotXcm"; + const EVENT: &'static str = "NotifyTargetMigrationFail"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Expected query response has been received but the expected querier location placed in"] + #[doc = "storage by this runtime previously cannot be decoded. The query remains registered."] + #[doc = ""] + #[doc = "This is unexpected (since a location placed in storage in a previously executing"] + #[doc = "runtime should be readable prior to query timeout) and dangerous since the possibly"] + #[doc = "valid response will be dropped. Manual governance intervention is probably going to be"] + #[doc = "needed."] + pub struct InvalidQuerierVersion { + pub origin: runtime_types::staging_xcm::v4::location::Location, + pub query_id: ::core::primitive::u64, + } + impl ::subxt::events::StaticEvent for InvalidQuerierVersion { + const PALLET: &'static str = "PolkadotXcm"; + const EVENT: &'static str = "InvalidQuerierVersion"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Expected query response has been received but the querier location of the response does"] + #[doc = "not match the expected. The query remains registered for a later, valid, response to"] + #[doc = "be received and acted upon."] + pub struct InvalidQuerier { + pub origin: runtime_types::staging_xcm::v4::location::Location, + pub query_id: ::core::primitive::u64, + pub expected_querier: runtime_types::staging_xcm::v4::location::Location, + pub maybe_actual_querier: + ::core::option::Option, + } + impl ::subxt::events::StaticEvent for InvalidQuerier { + const PALLET: &'static str = "PolkadotXcm"; + const EVENT: &'static str = "InvalidQuerier"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A remote has requested XCM version change notification from us and we have honored it."] + #[doc = "A version information message is sent to them and its cost is included."] + pub struct VersionNotifyStarted { + pub destination: runtime_types::staging_xcm::v4::location::Location, + pub cost: runtime_types::staging_xcm::v4::asset::Assets, + pub message_id: [::core::primitive::u8; 32usize], + } + impl ::subxt::events::StaticEvent for VersionNotifyStarted { + const PALLET: &'static str = "PolkadotXcm"; + const EVENT: &'static str = "VersionNotifyStarted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "We have requested that a remote chain send us XCM version change notifications."] + pub struct VersionNotifyRequested { + pub destination: runtime_types::staging_xcm::v4::location::Location, + pub cost: runtime_types::staging_xcm::v4::asset::Assets, + pub message_id: [::core::primitive::u8; 32usize], + } + impl ::subxt::events::StaticEvent for VersionNotifyRequested { + const PALLET: &'static str = "PolkadotXcm"; + const EVENT: &'static str = "VersionNotifyRequested"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "We have requested that a remote chain stops sending us XCM version change"] + #[doc = "notifications."] + pub struct VersionNotifyUnrequested { + pub destination: runtime_types::staging_xcm::v4::location::Location, + pub cost: runtime_types::staging_xcm::v4::asset::Assets, + pub message_id: [::core::primitive::u8; 32usize], + } + impl ::subxt::events::StaticEvent for VersionNotifyUnrequested { + const PALLET: &'static str = "PolkadotXcm"; + const EVENT: &'static str = "VersionNotifyUnrequested"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Fees were paid from a location for an operation (often for using `SendXcm`)."] + pub struct FeesPaid { + pub paying: runtime_types::staging_xcm::v4::location::Location, + pub fees: runtime_types::staging_xcm::v4::asset::Assets, + } + impl ::subxt::events::StaticEvent for FeesPaid { + const PALLET: &'static str = "PolkadotXcm"; + const EVENT: &'static str = "FeesPaid"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some assets have been claimed from an asset trap"] + pub struct AssetsClaimed { + pub hash: ::subxt::utils::H256, + pub origin: runtime_types::staging_xcm::v4::location::Location, + pub assets: runtime_types::xcm::VersionedAssets, + } + impl ::subxt::events::StaticEvent for AssetsClaimed { + const PALLET: &'static str = "PolkadotXcm"; + const EVENT: &'static str = "AssetsClaimed"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A XCM version migration finished."] + pub struct VersionMigrationFinished { + pub version: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for VersionMigrationFinished { + const PALLET: &'static str = "PolkadotXcm"; + const EVENT: &'static str = "VersionMigrationFinished"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The latest available query index."] + pub fn query_counter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u64, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "PolkadotXcm", + "QueryCounter", + vec![], + [ + 216u8, 73u8, 160u8, 232u8, 60u8, 245u8, 218u8, 219u8, 152u8, 68u8, + 146u8, 219u8, 255u8, 7u8, 86u8, 112u8, 83u8, 49u8, 94u8, 173u8, 64u8, + 203u8, 147u8, 226u8, 236u8, 39u8, 129u8, 106u8, 209u8, 113u8, 150u8, + 50u8, + ], + ) + } + #[doc = " The ongoing queries."] + pub fn queries_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_xcm::pallet::QueryStatus<::core::primitive::u32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "PolkadotXcm", + "Queries", + vec![], + [ + 246u8, 75u8, 240u8, 129u8, 106u8, 114u8, 99u8, 154u8, 176u8, 188u8, + 146u8, 125u8, 244u8, 103u8, 187u8, 171u8, 60u8, 119u8, 4u8, 90u8, 58u8, + 180u8, 48u8, 165u8, 145u8, 125u8, 227u8, 233u8, 11u8, 142u8, 122u8, + 3u8, + ], + ) + } + #[doc = " The ongoing queries."] + pub fn queries( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u64>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_xcm::pallet::QueryStatus<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "PolkadotXcm", + "Queries", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 246u8, 75u8, 240u8, 129u8, 106u8, 114u8, 99u8, 154u8, 176u8, 188u8, + 146u8, 125u8, 244u8, 103u8, 187u8, 171u8, 60u8, 119u8, 4u8, 90u8, 58u8, + 180u8, 48u8, 165u8, 145u8, 125u8, 227u8, 233u8, 11u8, 142u8, 122u8, + 3u8, + ], + ) + } + #[doc = " The existing asset traps."] + #[doc = ""] + #[doc = " Key is the blake2 256 hash of (origin, versioned `Assets`) pair. Value is the number of"] + #[doc = " times this pair has been trapped (usually just 1 if it exists at all)."] + pub fn asset_traps_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "PolkadotXcm", + "AssetTraps", + vec![], + [ + 148u8, 41u8, 254u8, 134u8, 61u8, 172u8, 126u8, 146u8, 78u8, 178u8, + 50u8, 77u8, 226u8, 8u8, 200u8, 78u8, 77u8, 91u8, 26u8, 133u8, 104u8, + 126u8, 28u8, 28u8, 202u8, 62u8, 87u8, 183u8, 231u8, 191u8, 5u8, 181u8, + ], + ) + } + #[doc = " The existing asset traps."] + #[doc = ""] + #[doc = " Key is the blake2 256 hash of (origin, versioned `Assets`) pair. Value is the number of"] + #[doc = " times this pair has been trapped (usually just 1 if it exists at all)."] + pub fn asset_traps( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "PolkadotXcm", + "AssetTraps", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 148u8, 41u8, 254u8, 134u8, 61u8, 172u8, 126u8, 146u8, 78u8, 178u8, + 50u8, 77u8, 226u8, 8u8, 200u8, 78u8, 77u8, 91u8, 26u8, 133u8, 104u8, + 126u8, 28u8, 28u8, 202u8, 62u8, 87u8, 183u8, 231u8, 191u8, 5u8, 181u8, + ], + ) + } + #[doc = " Default version to encode XCM when latest version of destination is unknown. If `None`,"] + #[doc = " then the destinations whose XCM version is unknown are considered unreachable."] + pub fn safe_xcm_version( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "PolkadotXcm", + "SafeXcmVersion", + vec![], + [ + 187u8, 8u8, 74u8, 126u8, 80u8, 215u8, 177u8, 60u8, 223u8, 123u8, 196u8, + 155u8, 166u8, 66u8, 25u8, 164u8, 191u8, 66u8, 116u8, 131u8, 116u8, + 188u8, 224u8, 122u8, 75u8, 195u8, 246u8, 188u8, 83u8, 134u8, 49u8, + 143u8, + ], + ) + } + #[doc = " The Latest versions that we know various locations support."] + pub fn supported_version_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "PolkadotXcm", + "SupportedVersion", + vec![], + [ + 144u8, 218u8, 177u8, 254u8, 210u8, 8u8, 84u8, 149u8, 163u8, 162u8, + 238u8, 37u8, 157u8, 28u8, 140u8, 121u8, 201u8, 173u8, 204u8, 92u8, + 133u8, 45u8, 156u8, 38u8, 61u8, 51u8, 153u8, 161u8, 147u8, 146u8, + 202u8, 24u8, + ], + ) + } + #[doc = " The Latest versions that we know various locations support."] + pub fn supported_version_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "PolkadotXcm", + "SupportedVersion", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 144u8, 218u8, 177u8, 254u8, 210u8, 8u8, 84u8, 149u8, 163u8, 162u8, + 238u8, 37u8, 157u8, 28u8, 140u8, 121u8, 201u8, 173u8, 204u8, 92u8, + 133u8, 45u8, 156u8, 38u8, 61u8, 51u8, 153u8, 161u8, 147u8, 146u8, + 202u8, 24u8, + ], + ) + } + #[doc = " The Latest versions that we know various locations support."] + pub fn supported_version( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "PolkadotXcm", + "SupportedVersion", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 144u8, 218u8, 177u8, 254u8, 210u8, 8u8, 84u8, 149u8, 163u8, 162u8, + 238u8, 37u8, 157u8, 28u8, 140u8, 121u8, 201u8, 173u8, 204u8, 92u8, + 133u8, 45u8, 156u8, 38u8, 61u8, 51u8, 153u8, 161u8, 147u8, 146u8, + 202u8, 24u8, + ], + ) + } + #[doc = " All locations that we have requested version notifications from."] + pub fn version_notifiers_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u64, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "PolkadotXcm", + "VersionNotifiers", + vec![], + [ + 175u8, 206u8, 29u8, 14u8, 111u8, 123u8, 211u8, 109u8, 159u8, 131u8, + 80u8, 149u8, 216u8, 196u8, 181u8, 105u8, 117u8, 138u8, 80u8, 69u8, + 237u8, 116u8, 195u8, 66u8, 209u8, 102u8, 42u8, 126u8, 222u8, 176u8, + 201u8, 49u8, + ], + ) + } + #[doc = " All locations that we have requested version notifications from."] + pub fn version_notifiers_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u64, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "PolkadotXcm", + "VersionNotifiers", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 175u8, 206u8, 29u8, 14u8, 111u8, 123u8, 211u8, 109u8, 159u8, 131u8, + 80u8, 149u8, 216u8, 196u8, 181u8, 105u8, 117u8, 138u8, 80u8, 69u8, + 237u8, 116u8, 195u8, 66u8, 209u8, 102u8, 42u8, 126u8, 222u8, 176u8, + 201u8, 49u8, + ], + ) + } + #[doc = " All locations that we have requested version notifications from."] + pub fn version_notifiers( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u64, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "PolkadotXcm", + "VersionNotifiers", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 175u8, 206u8, 29u8, 14u8, 111u8, 123u8, 211u8, 109u8, 159u8, 131u8, + 80u8, 149u8, 216u8, 196u8, 181u8, 105u8, 117u8, 138u8, 80u8, 69u8, + 237u8, 116u8, 195u8, 66u8, 209u8, 102u8, 42u8, 126u8, 222u8, 176u8, + 201u8, 49u8, + ], + ) + } + #[doc = " The target locations that are subscribed to our version changes, as well as the most recent"] + #[doc = " of our versions we informed them of."] + pub fn version_notify_targets_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ( + ::core::primitive::u64, + runtime_types::sp_weights::weight_v2::Weight, + ::core::primitive::u32, + ), + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "PolkadotXcm", + "VersionNotifyTargets", + vec![], + [ + 113u8, 77u8, 150u8, 42u8, 82u8, 49u8, 195u8, 120u8, 96u8, 80u8, 152u8, + 67u8, 27u8, 142u8, 10u8, 74u8, 66u8, 134u8, 35u8, 202u8, 77u8, 187u8, + 174u8, 22u8, 207u8, 199u8, 57u8, 85u8, 53u8, 208u8, 146u8, 81u8, + ], + ) + } + #[doc = " The target locations that are subscribed to our version changes, as well as the most recent"] + #[doc = " of our versions we informed them of."] + pub fn version_notify_targets_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ( + ::core::primitive::u64, + runtime_types::sp_weights::weight_v2::Weight, + ::core::primitive::u32, + ), + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "PolkadotXcm", + "VersionNotifyTargets", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 113u8, 77u8, 150u8, 42u8, 82u8, 49u8, 195u8, 120u8, 96u8, 80u8, 152u8, + 67u8, 27u8, 142u8, 10u8, 74u8, 66u8, 134u8, 35u8, 202u8, 77u8, 187u8, + 174u8, 22u8, 207u8, 199u8, 57u8, 85u8, 53u8, 208u8, 146u8, 81u8, + ], + ) + } + #[doc = " The target locations that are subscribed to our version changes, as well as the most recent"] + #[doc = " of our versions we informed them of."] + pub fn version_notify_targets( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ( + ::core::primitive::u64, + runtime_types::sp_weights::weight_v2::Weight, + ::core::primitive::u32, + ), + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "PolkadotXcm", + "VersionNotifyTargets", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 113u8, 77u8, 150u8, 42u8, 82u8, 49u8, 195u8, 120u8, 96u8, 80u8, 152u8, + 67u8, 27u8, 142u8, 10u8, 74u8, 66u8, 134u8, 35u8, 202u8, 77u8, 187u8, + 174u8, 22u8, 207u8, 199u8, 57u8, 85u8, 53u8, 208u8, 146u8, 81u8, + ], + ) + } + #[doc = " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and"] + #[doc = " the `u32` counter is the number of times that a send to the destination has been attempted,"] + #[doc = " which is used as a prioritization."] + pub fn version_discovery_queue( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec<( + runtime_types::xcm::VersionedLocation, + ::core::primitive::u32, + )>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "PolkadotXcm", + "VersionDiscoveryQueue", + vec![], + [ + 95u8, 74u8, 97u8, 94u8, 40u8, 140u8, 175u8, 176u8, 224u8, 222u8, 83u8, + 199u8, 170u8, 102u8, 3u8, 77u8, 127u8, 208u8, 155u8, 122u8, 176u8, + 51u8, 15u8, 253u8, 231u8, 245u8, 91u8, 192u8, 60u8, 144u8, 101u8, + 168u8, + ], + ) + } + #[doc = " The current migration's stage, if any."] + pub fn current_migration( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_xcm::pallet::VersionMigrationStage, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "PolkadotXcm", + "CurrentMigration", + vec![], + [ + 74u8, 138u8, 181u8, 162u8, 59u8, 251u8, 37u8, 28u8, 232u8, 51u8, 30u8, + 152u8, 252u8, 133u8, 95u8, 195u8, 47u8, 127u8, 21u8, 44u8, 62u8, 143u8, + 170u8, 234u8, 160u8, 37u8, 131u8, 179u8, 57u8, 241u8, 140u8, 124u8, + ], + ) + } + #[doc = " Fungible assets which we know are locked on a remote chain."] + pub fn remote_locked_fungibles_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_xcm::pallet::RemoteLockedFungibleRecord<()>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "PolkadotXcm", + "RemoteLockedFungibles", + vec![], + [ + 247u8, 124u8, 77u8, 42u8, 208u8, 183u8, 99u8, 196u8, 50u8, 113u8, + 250u8, 221u8, 222u8, 170u8, 10u8, 60u8, 143u8, 172u8, 149u8, 198u8, + 125u8, 154u8, 196u8, 196u8, 145u8, 209u8, 68u8, 28u8, 241u8, 241u8, + 201u8, 150u8, + ], + ) + } + #[doc = " Fungible assets which we know are locked on a remote chain."] + pub fn remote_locked_fungibles_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_xcm::pallet::RemoteLockedFungibleRecord<()>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "PolkadotXcm", + "RemoteLockedFungibles", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 247u8, 124u8, 77u8, 42u8, 208u8, 183u8, 99u8, 196u8, 50u8, 113u8, + 250u8, 221u8, 222u8, 170u8, 10u8, 60u8, 143u8, 172u8, 149u8, 198u8, + 125u8, 154u8, 196u8, 196u8, 145u8, 209u8, 68u8, 28u8, 241u8, 241u8, + 201u8, 150u8, + ], + ) + } + #[doc = " Fungible assets which we know are locked on a remote chain."] + pub fn remote_locked_fungibles_iter2( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_xcm::pallet::RemoteLockedFungibleRecord<()>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "PolkadotXcm", + "RemoteLockedFungibles", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 247u8, 124u8, 77u8, 42u8, 208u8, 183u8, 99u8, 196u8, 50u8, 113u8, + 250u8, 221u8, 222u8, 170u8, 10u8, 60u8, 143u8, 172u8, 149u8, 198u8, + 125u8, 154u8, 196u8, 196u8, 145u8, 209u8, 68u8, 28u8, 241u8, 241u8, + 201u8, 150u8, + ], + ) + } + #[doc = " Fungible assets which we know are locked on a remote chain."] + pub fn remote_locked_fungibles( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + _2: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_xcm::pallet::RemoteLockedFungibleRecord<()>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "PolkadotXcm", + "RemoteLockedFungibles", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_2.borrow()), + ], + [ + 247u8, 124u8, 77u8, 42u8, 208u8, 183u8, 99u8, 196u8, 50u8, 113u8, + 250u8, 221u8, 222u8, 170u8, 10u8, 60u8, 143u8, 172u8, 149u8, 198u8, + 125u8, 154u8, 196u8, 196u8, 145u8, 209u8, 68u8, 28u8, 241u8, 241u8, + 201u8, 150u8, + ], + ) + } + #[doc = " Fungible assets which we know are locked on this chain."] + pub fn locked_fungibles_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec<( + ::core::primitive::u128, + runtime_types::xcm::VersionedLocation, + )>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "PolkadotXcm", + "LockedFungibles", + vec![], + [ + 254u8, 234u8, 1u8, 27u8, 27u8, 32u8, 217u8, 24u8, 47u8, 30u8, 62u8, + 80u8, 86u8, 125u8, 120u8, 24u8, 143u8, 229u8, 161u8, 153u8, 240u8, + 246u8, 80u8, 15u8, 49u8, 189u8, 20u8, 204u8, 239u8, 198u8, 97u8, 174u8, + ], + ) + } + #[doc = " Fungible assets which we know are locked on this chain."] + pub fn locked_fungibles( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec<( + ::core::primitive::u128, + runtime_types::xcm::VersionedLocation, + )>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "PolkadotXcm", + "LockedFungibles", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 254u8, 234u8, 1u8, 27u8, 27u8, 32u8, 217u8, 24u8, 47u8, 30u8, 62u8, + 80u8, 86u8, 125u8, 120u8, 24u8, 143u8, 229u8, 161u8, 153u8, 240u8, + 246u8, 80u8, 15u8, 49u8, 189u8, 20u8, 204u8, 239u8, 198u8, 97u8, 174u8, + ], + ) + } + #[doc = " Global suspension state of the XCM executor."] + pub fn xcm_execution_suspended( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::bool, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "PolkadotXcm", + "XcmExecutionSuspended", + vec![], + [ + 182u8, 54u8, 69u8, 68u8, 78u8, 76u8, 103u8, 79u8, 47u8, 136u8, 99u8, + 104u8, 128u8, 129u8, 249u8, 54u8, 214u8, 136u8, 97u8, 48u8, 178u8, + 42u8, 26u8, 27u8, 82u8, 24u8, 33u8, 77u8, 33u8, 27u8, 20u8, 127u8, + ], + ) + } + } + } + } + pub mod cumulus_xcm { + use super::root_mod; + use super::runtime_types; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::cumulus_pallet_xcm::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + } + pub struct TransactionApi; + impl TransactionApi {} + } + #[doc = "The `Event` enum of this pallet"] + pub type Event = runtime_types::cumulus_pallet_xcm::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Downward message is invalid XCM."] + #[doc = "\\[ id \\]"] + pub struct InvalidFormat(pub [::core::primitive::u8; 32usize]); + impl ::subxt::events::StaticEvent for InvalidFormat { + const PALLET: &'static str = "CumulusXcm"; + const EVENT: &'static str = "InvalidFormat"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Downward message is unsupported version of XCM."] + #[doc = "\\[ id \\]"] + pub struct UnsupportedVersion(pub [::core::primitive::u8; 32usize]); + impl ::subxt::events::StaticEvent for UnsupportedVersion { + const PALLET: &'static str = "CumulusXcm"; + const EVENT: &'static str = "UnsupportedVersion"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Downward message executed with the given outcome."] + #[doc = "\\[ id, outcome \\]"] + pub struct ExecutedDownward( + pub [::core::primitive::u8; 32usize], + pub runtime_types::staging_xcm::v4::traits::Outcome, + ); + impl ::subxt::events::StaticEvent for ExecutedDownward { + const PALLET: &'static str = "CumulusXcm"; + const EVENT: &'static str = "ExecutedDownward"; + } + } + } + pub mod message_queue { + use super::root_mod; + use super::runtime_types; + #[doc = "The `Error` enum of this pallet."] + pub type Error = runtime_types::pallet_message_queue::pallet::Error; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::pallet_message_queue::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReapPage { + pub message_origin: + runtime_types::cumulus_primitives_core::AggregateMessageOrigin, + pub page_index: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for ReapPage { + const PALLET: &'static str = "MessageQueue"; + const CALL: &'static str = "reap_page"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ExecuteOverweight { + pub message_origin: + runtime_types::cumulus_primitives_core::AggregateMessageOrigin, + pub page: ::core::primitive::u32, + pub index: ::core::primitive::u32, + pub weight_limit: runtime_types::sp_weights::weight_v2::Weight, + } + impl ::subxt::blocks::StaticExtrinsic for ExecuteOverweight { + const PALLET: &'static str = "MessageQueue"; + const CALL: &'static str = "execute_overweight"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "See [`Pallet::reap_page`]."] + pub fn reap_page( + &self, + message_origin: runtime_types::cumulus_primitives_core::AggregateMessageOrigin, + page_index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MessageQueue", + "reap_page", + types::ReapPage { message_origin, page_index }, + [ + 116u8, 17u8, 120u8, 238u8, 117u8, 222u8, 10u8, 166u8, 132u8, 181u8, + 114u8, 150u8, 242u8, 202u8, 31u8, 143u8, 212u8, 65u8, 145u8, 249u8, + 27u8, 204u8, 137u8, 133u8, 220u8, 187u8, 137u8, 90u8, 112u8, 55u8, + 104u8, 163u8, + ], + ) + } + #[doc = "See [`Pallet::execute_overweight`]."] + pub fn execute_overweight( + &self, + message_origin: runtime_types::cumulus_primitives_core::AggregateMessageOrigin, + page: ::core::primitive::u32, + index: ::core::primitive::u32, + weight_limit: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MessageQueue", + "execute_overweight", + types::ExecuteOverweight { message_origin, page, index, weight_limit }, + [ + 177u8, 54u8, 82u8, 58u8, 94u8, 125u8, 241u8, 172u8, 52u8, 7u8, 236u8, + 80u8, 66u8, 99u8, 42u8, 199u8, 38u8, 195u8, 65u8, 118u8, 166u8, 246u8, + 239u8, 195u8, 144u8, 153u8, 155u8, 8u8, 224u8, 56u8, 106u8, 135u8, + ], + ) + } + } + } + #[doc = "The `Event` enum of this pallet"] + pub type Event = runtime_types::pallet_message_queue::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Message discarded due to an error in the `MessageProcessor` (usually a format error)."] + pub struct ProcessingFailed { + pub id: ::subxt::utils::H256, + pub origin: runtime_types::cumulus_primitives_core::AggregateMessageOrigin, + pub error: runtime_types::frame_support::traits::messages::ProcessMessageError, + } + impl ::subxt::events::StaticEvent for ProcessingFailed { + const PALLET: &'static str = "MessageQueue"; + const EVENT: &'static str = "ProcessingFailed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Message is processed."] + pub struct Processed { + pub id: ::subxt::utils::H256, + pub origin: runtime_types::cumulus_primitives_core::AggregateMessageOrigin, + pub weight_used: runtime_types::sp_weights::weight_v2::Weight, + pub success: ::core::primitive::bool, + } + impl ::subxt::events::StaticEvent for Processed { + const PALLET: &'static str = "MessageQueue"; + const EVENT: &'static str = "Processed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Message placed in overweight queue."] + pub struct OverweightEnqueued { + pub id: [::core::primitive::u8; 32usize], + pub origin: runtime_types::cumulus_primitives_core::AggregateMessageOrigin, + pub page_index: ::core::primitive::u32, + pub message_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for OverweightEnqueued { + const PALLET: &'static str = "MessageQueue"; + const EVENT: &'static str = "OverweightEnqueued"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "This page was reaped."] + pub struct PageReaped { + pub origin: runtime_types::cumulus_primitives_core::AggregateMessageOrigin, + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for PageReaped { + const PALLET: &'static str = "MessageQueue"; + const EVENT: &'static str = "PageReaped"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The index of the first and last (non-empty) pages."] + pub fn book_state_for_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_message_queue::BookState< + runtime_types::cumulus_primitives_core::AggregateMessageOrigin, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "MessageQueue", + "BookStateFor", + vec![], + [ + 33u8, 240u8, 235u8, 59u8, 150u8, 42u8, 91u8, 248u8, 235u8, 52u8, 170u8, + 52u8, 195u8, 129u8, 6u8, 174u8, 57u8, 242u8, 30u8, 220u8, 232u8, 4u8, + 246u8, 218u8, 162u8, 174u8, 102u8, 95u8, 210u8, 92u8, 133u8, 143u8, + ], + ) + } + #[doc = " The index of the first and last (non-empty) pages."] + pub fn book_state_for( + &self, + _0: impl ::std::borrow::Borrow< + runtime_types::cumulus_primitives_core::AggregateMessageOrigin, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_message_queue::BookState< + runtime_types::cumulus_primitives_core::AggregateMessageOrigin, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "MessageQueue", + "BookStateFor", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 33u8, 240u8, 235u8, 59u8, 150u8, 42u8, 91u8, 248u8, 235u8, 52u8, 170u8, + 52u8, 195u8, 129u8, 6u8, 174u8, 57u8, 242u8, 30u8, 220u8, 232u8, 4u8, + 246u8, 218u8, 162u8, 174u8, 102u8, 95u8, 210u8, 92u8, 133u8, 143u8, + ], + ) + } + #[doc = " The origin at which we should begin servicing."] + pub fn service_head( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::cumulus_primitives_core::AggregateMessageOrigin, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "MessageQueue", + "ServiceHead", + vec![], + [ + 104u8, 146u8, 240u8, 41u8, 171u8, 68u8, 20u8, 147u8, 212u8, 155u8, + 59u8, 39u8, 174u8, 186u8, 97u8, 250u8, 41u8, 247u8, 67u8, 190u8, 252u8, + 167u8, 234u8, 36u8, 124u8, 239u8, 163u8, 72u8, 223u8, 82u8, 82u8, + 171u8, + ], + ) + } + #[doc = " The map of page indices to pages."] + pub fn pages_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_message_queue::Page<::core::primitive::u32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "MessageQueue", + "Pages", + vec![], + [ + 45u8, 202u8, 18u8, 128u8, 31u8, 194u8, 175u8, 173u8, 99u8, 81u8, 161u8, + 44u8, 32u8, 183u8, 238u8, 181u8, 110u8, 240u8, 203u8, 12u8, 152u8, + 58u8, 239u8, 190u8, 144u8, 168u8, 210u8, 33u8, 121u8, 250u8, 137u8, + 142u8, + ], + ) + } + #[doc = " The map of page indices to pages."] + pub fn pages_iter1( + &self, + _0: impl ::std::borrow::Borrow< + runtime_types::cumulus_primitives_core::AggregateMessageOrigin, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_message_queue::Page<::core::primitive::u32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "MessageQueue", + "Pages", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 45u8, 202u8, 18u8, 128u8, 31u8, 194u8, 175u8, 173u8, 99u8, 81u8, 161u8, + 44u8, 32u8, 183u8, 238u8, 181u8, 110u8, 240u8, 203u8, 12u8, 152u8, + 58u8, 239u8, 190u8, 144u8, 168u8, 210u8, 33u8, 121u8, 250u8, 137u8, + 142u8, + ], + ) + } + #[doc = " The map of page indices to pages."] + pub fn pages( + &self, + _0: impl ::std::borrow::Borrow< + runtime_types::cumulus_primitives_core::AggregateMessageOrigin, + >, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_message_queue::Page<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "MessageQueue", + "Pages", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 45u8, 202u8, 18u8, 128u8, 31u8, 194u8, 175u8, 173u8, 99u8, 81u8, 161u8, + 44u8, 32u8, 183u8, 238u8, 181u8, 110u8, 240u8, 203u8, 12u8, 152u8, + 58u8, 239u8, 190u8, 144u8, 168u8, 210u8, 33u8, 121u8, 250u8, 137u8, + 142u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The size of the page; this implies the maximum message size which can be sent."] + #[doc = ""] + #[doc = " A good value depends on the expected message sizes, their weights, the weight that is"] + #[doc = " available for processing them and the maximal needed message size. The maximal message"] + #[doc = " size is slightly lower than this as defined by [`MaxMessageLenOf`]."] + pub fn heap_size(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "MessageQueue", + "HeapSize", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of stale pages (i.e. of overweight messages) allowed before culling"] + #[doc = " can happen. Once there are more stale pages than this, then historical pages may be"] + #[doc = " dropped, even if they contain unprocessed overweight messages."] + pub fn max_stale(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "MessageQueue", + "MaxStale", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The amount of weight (if any) which should be provided to the message queue for"] + #[doc = " servicing enqueued items."] + #[doc = ""] + #[doc = " This may be legitimately `None` in the case that you will call"] + #[doc = " `ServiceQueues::service_queues` manually."] + pub fn service_weight( + &self, + ) -> ::subxt::constants::Address< + ::core::option::Option, + > { + ::subxt::constants::Address::new_static( + "MessageQueue", + "ServiceWeight", + [ + 204u8, 140u8, 63u8, 167u8, 49u8, 8u8, 148u8, 163u8, 190u8, 224u8, 15u8, + 103u8, 86u8, 153u8, 248u8, 117u8, 223u8, 117u8, 210u8, 80u8, 205u8, + 155u8, 40u8, 11u8, 59u8, 63u8, 129u8, 156u8, 17u8, 83u8, 177u8, 250u8, + ], + ) + } + } + } + } + pub mod utility { + use super::root_mod; + use super::runtime_types; + #[doc = "The `Error` enum of this pallet."] + pub type Error = runtime_types::pallet_utility::pallet::Error; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::pallet_utility::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Batch { + pub calls: ::std::vec::Vec, + } + impl ::subxt::blocks::StaticExtrinsic for Batch { + const PALLET: &'static str = "Utility"; + const CALL: &'static str = "batch"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AsDerivative { + pub index: ::core::primitive::u16, + pub call: + ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for AsDerivative { + const PALLET: &'static str = "Utility"; + const CALL: &'static str = "as_derivative"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BatchAll { + pub calls: ::std::vec::Vec, + } + impl ::subxt::blocks::StaticExtrinsic for BatchAll { + const PALLET: &'static str = "Utility"; + const CALL: &'static str = "batch_all"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DispatchAs { + pub as_origin: + ::std::boxed::Box, + pub call: + ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for DispatchAs { + const PALLET: &'static str = "Utility"; + const CALL: &'static str = "dispatch_as"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceBatch { + pub calls: ::std::vec::Vec, + } + impl ::subxt::blocks::StaticExtrinsic for ForceBatch { + const PALLET: &'static str = "Utility"; + const CALL: &'static str = "force_batch"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct WithWeight { + pub call: + ::std::boxed::Box, + pub weight: runtime_types::sp_weights::weight_v2::Weight, + } + impl ::subxt::blocks::StaticExtrinsic for WithWeight { + const PALLET: &'static str = "Utility"; + const CALL: &'static str = "with_weight"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "See [`Pallet::batch`]."] + pub fn batch( + &self, + calls: ::std::vec::Vec, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Utility", + "batch", + types::Batch { calls }, + [ + 196u8, 209u8, 52u8, 231u8, 46u8, 197u8, 7u8, 8u8, 85u8, 223u8, 142u8, + 251u8, 7u8, 60u8, 113u8, 87u8, 8u8, 125u8, 194u8, 180u8, 144u8, 212u8, + 243u8, 127u8, 87u8, 76u8, 7u8, 54u8, 64u8, 141u8, 206u8, 51u8, + ], + ) + } + #[doc = "See [`Pallet::as_derivative`]."] + pub fn as_derivative( + &self, + index: ::core::primitive::u16, + call: runtime_types::coretime_rococo_runtime::RuntimeCall, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Utility", + "as_derivative", + types::AsDerivative { index, call: ::std::boxed::Box::new(call) }, + [ + 126u8, 211u8, 152u8, 5u8, 89u8, 68u8, 210u8, 83u8, 191u8, 217u8, 168u8, + 29u8, 141u8, 230u8, 4u8, 219u8, 91u8, 223u8, 27u8, 85u8, 63u8, 251u8, + 141u8, 0u8, 99u8, 230u8, 91u8, 145u8, 177u8, 106u8, 14u8, 189u8, + ], + ) + } + #[doc = "See [`Pallet::batch_all`]."] + pub fn batch_all( + &self, + calls: ::std::vec::Vec, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Utility", + "batch_all", + types::BatchAll { calls }, + [ + 131u8, 0u8, 44u8, 110u8, 130u8, 180u8, 218u8, 239u8, 123u8, 185u8, + 204u8, 239u8, 83u8, 11u8, 0u8, 138u8, 164u8, 212u8, 139u8, 147u8, 20u8, + 105u8, 176u8, 167u8, 207u8, 66u8, 244u8, 13u8, 56u8, 50u8, 183u8, 26u8, + ], + ) + } + #[doc = "See [`Pallet::dispatch_as`]."] + pub fn dispatch_as( + &self, + as_origin: runtime_types::coretime_rococo_runtime::OriginCaller, + call: runtime_types::coretime_rococo_runtime::RuntimeCall, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Utility", + "dispatch_as", + types::DispatchAs { + as_origin: ::std::boxed::Box::new(as_origin), + call: ::std::boxed::Box::new(call), + }, + [ + 103u8, 50u8, 121u8, 101u8, 30u8, 227u8, 123u8, 125u8, 94u8, 185u8, + 74u8, 165u8, 178u8, 61u8, 204u8, 15u8, 220u8, 149u8, 88u8, 142u8, + 213u8, 16u8, 27u8, 11u8, 233u8, 82u8, 225u8, 11u8, 118u8, 201u8, 160u8, + 99u8, + ], + ) + } + #[doc = "See [`Pallet::force_batch`]."] + pub fn force_batch( + &self, + calls: ::std::vec::Vec, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Utility", + "force_batch", + types::ForceBatch { calls }, + [ + 137u8, 141u8, 119u8, 237u8, 225u8, 180u8, 133u8, 11u8, 223u8, 67u8, + 96u8, 59u8, 207u8, 168u8, 81u8, 69u8, 109u8, 14u8, 202u8, 96u8, 10u8, + 66u8, 102u8, 222u8, 29u8, 9u8, 69u8, 28u8, 2u8, 99u8, 127u8, 173u8, + ], + ) + } + #[doc = "See [`Pallet::with_weight`]."] + pub fn with_weight( + &self, + call: runtime_types::coretime_rococo_runtime::RuntimeCall, + weight: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Utility", + "with_weight", + types::WithWeight { call: ::std::boxed::Box::new(call), weight }, + [ + 169u8, 60u8, 21u8, 80u8, 219u8, 219u8, 154u8, 125u8, 254u8, 169u8, + 22u8, 243u8, 7u8, 4u8, 225u8, 11u8, 134u8, 236u8, 83u8, 184u8, 188u8, + 10u8, 248u8, 127u8, 240u8, 220u8, 74u8, 212u8, 104u8, 60u8, 31u8, + 164u8, + ], + ) + } + } + } + #[doc = "The `Event` enum of this pallet"] + pub type Event = runtime_types::pallet_utility::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"] + #[doc = "well as the error."] + pub struct BatchInterrupted { + pub index: ::core::primitive::u32, + pub error: runtime_types::sp_runtime::DispatchError, + } + impl ::subxt::events::StaticEvent for BatchInterrupted { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "BatchInterrupted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Batch of dispatches completed fully with no error."] + pub struct BatchCompleted; + impl ::subxt::events::StaticEvent for BatchCompleted { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "BatchCompleted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Batch of dispatches completed but has errors."] + pub struct BatchCompletedWithErrors; + impl ::subxt::events::StaticEvent for BatchCompletedWithErrors { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "BatchCompletedWithErrors"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A single item within a Batch of dispatches has completed with no error."] + pub struct ItemCompleted; + impl ::subxt::events::StaticEvent for ItemCompleted { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "ItemCompleted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A single item within a Batch of dispatches has completed with error."] + pub struct ItemFailed { + pub error: runtime_types::sp_runtime::DispatchError, + } + impl ::subxt::events::StaticEvent for ItemFailed { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "ItemFailed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A call was dispatched."] + pub struct DispatchedAs { + pub result: ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for DispatchedAs { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "DispatchedAs"; + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The limit on the number of batched calls."] + pub fn batched_calls_limit( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Utility", + "batched_calls_limit", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod multisig { + use super::root_mod; + use super::runtime_types; + #[doc = "The `Error` enum of this pallet."] + pub type Error = runtime_types::pallet_multisig::pallet::Error; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::pallet_multisig::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AsMultiThreshold1 { + pub other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub call: + ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for AsMultiThreshold1 { + const PALLET: &'static str = "Multisig"; + const CALL: &'static str = "as_multi_threshold_1"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AsMulti { + pub threshold: ::core::primitive::u16, + pub other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub maybe_timepoint: ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + >, + pub call: + ::std::boxed::Box, + pub max_weight: runtime_types::sp_weights::weight_v2::Weight, + } + impl ::subxt::blocks::StaticExtrinsic for AsMulti { + const PALLET: &'static str = "Multisig"; + const CALL: &'static str = "as_multi"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ApproveAsMulti { + pub threshold: ::core::primitive::u16, + pub other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub maybe_timepoint: ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + >, + pub call_hash: [::core::primitive::u8; 32usize], + pub max_weight: runtime_types::sp_weights::weight_v2::Weight, + } + impl ::subxt::blocks::StaticExtrinsic for ApproveAsMulti { + const PALLET: &'static str = "Multisig"; + const CALL: &'static str = "approve_as_multi"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CancelAsMulti { + pub threshold: ::core::primitive::u16, + pub other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub timepoint: + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + pub call_hash: [::core::primitive::u8; 32usize], + } + impl ::subxt::blocks::StaticExtrinsic for CancelAsMulti { + const PALLET: &'static str = "Multisig"; + const CALL: &'static str = "cancel_as_multi"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "See [`Pallet::as_multi_threshold_1`]."] + pub fn as_multi_threshold_1( + &self, + other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + call: runtime_types::coretime_rococo_runtime::RuntimeCall, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Multisig", + "as_multi_threshold_1", + types::AsMultiThreshold1 { + other_signatories, + call: ::std::boxed::Box::new(call), + }, + [ + 254u8, 54u8, 88u8, 235u8, 170u8, 12u8, 95u8, 53u8, 93u8, 170u8, 39u8, + 224u8, 0u8, 128u8, 16u8, 91u8, 152u8, 70u8, 66u8, 52u8, 134u8, 110u8, + 178u8, 37u8, 53u8, 125u8, 162u8, 72u8, 102u8, 78u8, 73u8, 96u8, + ], + ) + } + #[doc = "See [`Pallet::as_multi`]."] + pub fn as_multi( + &self, + threshold: ::core::primitive::u16, + other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + maybe_timepoint: ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + >, + call: runtime_types::coretime_rococo_runtime::RuntimeCall, + max_weight: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Multisig", + "as_multi", + types::AsMulti { + threshold, + other_signatories, + maybe_timepoint, + call: ::std::boxed::Box::new(call), + max_weight, + }, + [ + 125u8, 11u8, 76u8, 234u8, 44u8, 41u8, 237u8, 218u8, 233u8, 225u8, + 254u8, 203u8, 234u8, 214u8, 181u8, 116u8, 14u8, 100u8, 187u8, 243u8, + 166u8, 26u8, 216u8, 0u8, 196u8, 134u8, 66u8, 121u8, 92u8, 100u8, 165u8, + 180u8, + ], + ) + } + #[doc = "See [`Pallet::approve_as_multi`]."] + pub fn approve_as_multi( + &self, + threshold: ::core::primitive::u16, + other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + maybe_timepoint: ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + >, + call_hash: [::core::primitive::u8; 32usize], + max_weight: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Multisig", + "approve_as_multi", + types::ApproveAsMulti { + threshold, + other_signatories, + maybe_timepoint, + call_hash, + max_weight, + }, + [ + 248u8, 46u8, 131u8, 35u8, 204u8, 12u8, 218u8, 150u8, 88u8, 131u8, 89u8, + 13u8, 95u8, 122u8, 87u8, 107u8, 136u8, 154u8, 92u8, 199u8, 108u8, 92u8, + 207u8, 171u8, 113u8, 8u8, 47u8, 248u8, 65u8, 26u8, 203u8, 135u8, + ], + ) + } + #[doc = "See [`Pallet::cancel_as_multi`]."] + pub fn cancel_as_multi( + &self, + threshold: ::core::primitive::u16, + other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + timepoint: runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + call_hash: [::core::primitive::u8; 32usize], + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Multisig", + "cancel_as_multi", + types::CancelAsMulti { threshold, other_signatories, timepoint, call_hash }, + [ + 212u8, 179u8, 123u8, 40u8, 209u8, 228u8, 181u8, 0u8, 109u8, 28u8, 27u8, + 48u8, 15u8, 47u8, 203u8, 54u8, 106u8, 114u8, 28u8, 118u8, 101u8, 201u8, + 95u8, 187u8, 46u8, 182u8, 4u8, 30u8, 227u8, 105u8, 14u8, 81u8, + ], + ) + } + } + } + #[doc = "The `Event` enum of this pallet"] + pub type Event = runtime_types::pallet_multisig::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A new multisig operation has begun."] + pub struct NewMultisig { + pub approving: ::subxt::utils::AccountId32, + pub multisig: ::subxt::utils::AccountId32, + pub call_hash: [::core::primitive::u8; 32usize], + } + impl ::subxt::events::StaticEvent for NewMultisig { + const PALLET: &'static str = "Multisig"; + const EVENT: &'static str = "NewMultisig"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A multisig operation has been approved by someone."] + pub struct MultisigApproval { + pub approving: ::subxt::utils::AccountId32, + pub timepoint: runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + pub multisig: ::subxt::utils::AccountId32, + pub call_hash: [::core::primitive::u8; 32usize], + } + impl ::subxt::events::StaticEvent for MultisigApproval { + const PALLET: &'static str = "Multisig"; + const EVENT: &'static str = "MultisigApproval"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A multisig operation has been executed."] + pub struct MultisigExecuted { + pub approving: ::subxt::utils::AccountId32, + pub timepoint: runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + pub multisig: ::subxt::utils::AccountId32, + pub call_hash: [::core::primitive::u8; 32usize], + pub result: ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for MultisigExecuted { + const PALLET: &'static str = "Multisig"; + const EVENT: &'static str = "MultisigExecuted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A multisig operation has been cancelled."] + pub struct MultisigCancelled { + pub cancelling: ::subxt::utils::AccountId32, + pub timepoint: runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + pub multisig: ::subxt::utils::AccountId32, + pub call_hash: [::core::primitive::u8; 32usize], + } + impl ::subxt::events::StaticEvent for MultisigCancelled { + const PALLET: &'static str = "Multisig"; + const EVENT: &'static str = "MultisigCancelled"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The set of open multisig operations."] + pub fn multisigs_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_multisig::Multisig< + ::core::primitive::u32, + ::core::primitive::u128, + ::subxt::utils::AccountId32, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Multisig", + "Multisigs", + vec![], + [ + 154u8, 109u8, 45u8, 18u8, 155u8, 151u8, 81u8, 28u8, 86u8, 127u8, 189u8, + 151u8, 49u8, 61u8, 12u8, 149u8, 84u8, 61u8, 110u8, 197u8, 200u8, 140u8, + 37u8, 100u8, 14u8, 162u8, 158u8, 161u8, 48u8, 117u8, 102u8, 61u8, + ], + ) + } + #[doc = " The set of open multisig operations."] + pub fn multisigs_iter1( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_multisig::Multisig< + ::core::primitive::u32, + ::core::primitive::u128, + ::subxt::utils::AccountId32, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Multisig", + "Multisigs", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 154u8, 109u8, 45u8, 18u8, 155u8, 151u8, 81u8, 28u8, 86u8, 127u8, 189u8, + 151u8, 49u8, 61u8, 12u8, 149u8, 84u8, 61u8, 110u8, 197u8, 200u8, 140u8, + 37u8, 100u8, 14u8, 162u8, 158u8, 161u8, 48u8, 117u8, 102u8, 61u8, + ], + ) + } + #[doc = " The set of open multisig operations."] + pub fn multisigs( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + _1: impl ::std::borrow::Borrow<[::core::primitive::u8; 32usize]>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_multisig::Multisig< + ::core::primitive::u32, + ::core::primitive::u128, + ::subxt::utils::AccountId32, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Multisig", + "Multisigs", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 154u8, 109u8, 45u8, 18u8, 155u8, 151u8, 81u8, 28u8, 86u8, 127u8, 189u8, + 151u8, 49u8, 61u8, 12u8, 149u8, 84u8, 61u8, 110u8, 197u8, 200u8, 140u8, + 37u8, 100u8, 14u8, 162u8, 158u8, 161u8, 48u8, 117u8, 102u8, 61u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The base amount of currency needed to reserve for creating a multisig execution or to"] + #[doc = " store a dispatch call for later."] + #[doc = ""] + #[doc = " This is held for an additional storage item whose value size is"] + #[doc = " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is"] + #[doc = " `32 + sizeof(AccountId)` bytes."] + pub fn deposit_base(&self) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "Multisig", + "DepositBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount of currency needed per unit threshold when creating a multisig execution."] + #[doc = ""] + #[doc = " This is held for adding 32 bytes more into a pre-existing storage value."] + pub fn deposit_factor( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "Multisig", + "DepositFactor", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The maximum amount of signatories allowed in the multisig."] + pub fn max_signatories( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Multisig", + "MaxSignatories", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod broker { + use super::root_mod; + use super::runtime_types; + #[doc = "The `Error` enum of this pallet."] + pub type Error = runtime_types::pallet_broker::pallet::Error; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::pallet_broker::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Configure { + pub config: runtime_types::pallet_broker::types::ConfigRecord< + ::core::primitive::u32, + ::core::primitive::u32, + >, + } + impl ::subxt::blocks::StaticExtrinsic for Configure { + const PALLET: &'static str = "Broker"; + const CALL: &'static str = "configure"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Reserve { + pub workload: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_broker::types::ScheduleItem, + >, + } + impl ::subxt::blocks::StaticExtrinsic for Reserve { + const PALLET: &'static str = "Broker"; + const CALL: &'static str = "reserve"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Unreserve { + pub item_index: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for Unreserve { + const PALLET: &'static str = "Broker"; + const CALL: &'static str = "unreserve"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetLease { + pub task: ::core::primitive::u32, + pub until: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetLease { + const PALLET: &'static str = "Broker"; + const CALL: &'static str = "set_lease"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct StartSales { + pub initial_price: ::core::primitive::u128, + pub core_count: ::core::primitive::u16, + } + impl ::subxt::blocks::StaticExtrinsic for StartSales { + const PALLET: &'static str = "Broker"; + const CALL: &'static str = "start_sales"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Purchase { + pub price_limit: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for Purchase { + const PALLET: &'static str = "Broker"; + const CALL: &'static str = "purchase"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Renew { + pub core: ::core::primitive::u16, + } + impl ::subxt::blocks::StaticExtrinsic for Renew { + const PALLET: &'static str = "Broker"; + const CALL: &'static str = "renew"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Transfer { + pub region_id: runtime_types::pallet_broker::types::RegionId, + pub new_owner: ::subxt::utils::AccountId32, + } + impl ::subxt::blocks::StaticExtrinsic for Transfer { + const PALLET: &'static str = "Broker"; + const CALL: &'static str = "transfer"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Partition { + pub region_id: runtime_types::pallet_broker::types::RegionId, + pub pivot: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for Partition { + const PALLET: &'static str = "Broker"; + const CALL: &'static str = "partition"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Interlace { + pub region_id: runtime_types::pallet_broker::types::RegionId, + pub pivot: runtime_types::pallet_broker::core_mask::CoreMask, + } + impl ::subxt::blocks::StaticExtrinsic for Interlace { + const PALLET: &'static str = "Broker"; + const CALL: &'static str = "interlace"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Assign { + pub region_id: runtime_types::pallet_broker::types::RegionId, + pub task: ::core::primitive::u32, + pub finality: runtime_types::pallet_broker::types::Finality, + } + impl ::subxt::blocks::StaticExtrinsic for Assign { + const PALLET: &'static str = "Broker"; + const CALL: &'static str = "assign"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Pool { + pub region_id: runtime_types::pallet_broker::types::RegionId, + pub payee: ::subxt::utils::AccountId32, + pub finality: runtime_types::pallet_broker::types::Finality, + } + impl ::subxt::blocks::StaticExtrinsic for Pool { + const PALLET: &'static str = "Broker"; + const CALL: &'static str = "pool"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ClaimRevenue { + pub region_id: runtime_types::pallet_broker::types::RegionId, + pub max_timeslices: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for ClaimRevenue { + const PALLET: &'static str = "Broker"; + const CALL: &'static str = "claim_revenue"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PurchaseCredit { + pub amount: ::core::primitive::u128, + pub beneficiary: ::subxt::utils::AccountId32, + } + impl ::subxt::blocks::StaticExtrinsic for PurchaseCredit { + const PALLET: &'static str = "Broker"; + const CALL: &'static str = "purchase_credit"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DropRegion { + pub region_id: runtime_types::pallet_broker::types::RegionId, + } + impl ::subxt::blocks::StaticExtrinsic for DropRegion { + const PALLET: &'static str = "Broker"; + const CALL: &'static str = "drop_region"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DropContribution { + pub region_id: runtime_types::pallet_broker::types::RegionId, + } + impl ::subxt::blocks::StaticExtrinsic for DropContribution { + const PALLET: &'static str = "Broker"; + const CALL: &'static str = "drop_contribution"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DropHistory { + pub when: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for DropHistory { + const PALLET: &'static str = "Broker"; + const CALL: &'static str = "drop_history"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DropRenewal { + pub core: ::core::primitive::u16, + pub when: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for DropRenewal { + const PALLET: &'static str = "Broker"; + const CALL: &'static str = "drop_renewal"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RequestCoreCount { + pub core_count: ::core::primitive::u16, + } + impl ::subxt::blocks::StaticExtrinsic for RequestCoreCount { + const PALLET: &'static str = "Broker"; + const CALL: &'static str = "request_core_count"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct NotifyCoreCount { + pub core_count: ::core::primitive::u16, + } + impl ::subxt::blocks::StaticExtrinsic for NotifyCoreCount { + const PALLET: &'static str = "Broker"; + const CALL: &'static str = "notify_core_count"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "See [`Pallet::configure`]."] + pub fn configure( + &self, + config: runtime_types::pallet_broker::types::ConfigRecord< + ::core::primitive::u32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Broker", + "configure", + types::Configure { config }, + [ + 47u8, 41u8, 114u8, 129u8, 138u8, 255u8, 77u8, 164u8, 39u8, 215u8, + 231u8, 16u8, 128u8, 220u8, 80u8, 21u8, 199u8, 112u8, 5u8, 209u8, 6u8, + 196u8, 157u8, 38u8, 124u8, 127u8, 134u8, 246u8, 255u8, 191u8, 29u8, + 235u8, + ], + ) + } + #[doc = "See [`Pallet::reserve`]."] + pub fn reserve( + &self, + workload: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_broker::types::ScheduleItem, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Broker", + "reserve", + types::Reserve { workload }, + [ + 179u8, 93u8, 196u8, 189u8, 19u8, 203u8, 18u8, 244u8, 161u8, 158u8, + 222u8, 96u8, 140u8, 137u8, 255u8, 4u8, 126u8, 244u8, 236u8, 163u8, + 99u8, 232u8, 70u8, 173u8, 205u8, 167u8, 26u8, 55u8, 133u8, 249u8, 20u8, + 154u8, + ], + ) + } + #[doc = "See [`Pallet::unreserve`]."] + pub fn unreserve( + &self, + item_index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Broker", + "unreserve", + types::Unreserve { item_index }, + [ + 159u8, 127u8, 127u8, 134u8, 252u8, 69u8, 255u8, 67u8, 14u8, 221u8, + 14u8, 56u8, 194u8, 46u8, 33u8, 150u8, 67u8, 124u8, 122u8, 138u8, 74u8, + 186u8, 185u8, 182u8, 42u8, 20u8, 42u8, 178u8, 245u8, 72u8, 116u8, 18u8, + ], + ) + } + #[doc = "See [`Pallet::set_lease`]."] + pub fn set_lease( + &self, + task: ::core::primitive::u32, + until: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Broker", + "set_lease", + types::SetLease { task, until }, + [ + 183u8, 72u8, 230u8, 156u8, 226u8, 167u8, 172u8, 191u8, 10u8, 221u8, + 224u8, 153u8, 217u8, 195u8, 165u8, 138u8, 154u8, 158u8, 140u8, 121u8, + 77u8, 139u8, 152u8, 7u8, 250u8, 8u8, 33u8, 183u8, 250u8, 150u8, 105u8, + 199u8, + ], + ) + } + #[doc = "See [`Pallet::start_sales`]."] + pub fn start_sales( + &self, + initial_price: ::core::primitive::u128, + core_count: ::core::primitive::u16, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Broker", + "start_sales", + types::StartSales { initial_price, core_count }, + [ + 78u8, 51u8, 30u8, 152u8, 207u8, 24u8, 207u8, 149u8, 236u8, 132u8, 62u8, + 228u8, 250u8, 140u8, 44u8, 240u8, 59u8, 114u8, 148u8, 198u8, 151u8, + 127u8, 221u8, 188u8, 250u8, 161u8, 104u8, 7u8, 225u8, 80u8, 170u8, + 207u8, + ], + ) + } + #[doc = "See [`Pallet::purchase`]."] + pub fn purchase( + &self, + price_limit: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Broker", + "purchase", + types::Purchase { price_limit }, + [ + 180u8, 34u8, 117u8, 232u8, 116u8, 211u8, 229u8, 201u8, 144u8, 72u8, + 36u8, 255u8, 68u8, 70u8, 150u8, 113u8, 230u8, 12u8, 152u8, 88u8, 137u8, + 220u8, 36u8, 6u8, 96u8, 236u8, 108u8, 186u8, 103u8, 92u8, 207u8, 176u8, + ], + ) + } + #[doc = "See [`Pallet::renew`]."] + pub fn renew( + &self, + core: ::core::primitive::u16, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Broker", + "renew", + types::Renew { core }, + [ + 89u8, 65u8, 189u8, 173u8, 166u8, 60u8, 207u8, 186u8, 18u8, 239u8, + 130u8, 6u8, 200u8, 56u8, 74u8, 221u8, 220u8, 88u8, 213u8, 202u8, 125u8, + 44u8, 75u8, 102u8, 192u8, 238u8, 170u8, 18u8, 186u8, 101u8, 181u8, + 105u8, + ], + ) + } + #[doc = "See [`Pallet::transfer`]."] + pub fn transfer( + &self, + region_id: runtime_types::pallet_broker::types::RegionId, + new_owner: ::subxt::utils::AccountId32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Broker", + "transfer", + types::Transfer { region_id, new_owner }, + [ + 80u8, 18u8, 186u8, 227u8, 213u8, 255u8, 214u8, 84u8, 250u8, 102u8, + 108u8, 104u8, 158u8, 4u8, 14u8, 94u8, 122u8, 6u8, 74u8, 182u8, 193u8, + 11u8, 191u8, 226u8, 2u8, 184u8, 104u8, 126u8, 66u8, 22u8, 125u8, 249u8, + ], + ) + } + #[doc = "See [`Pallet::partition`]."] + pub fn partition( + &self, + region_id: runtime_types::pallet_broker::types::RegionId, + pivot: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Broker", + "partition", + types::Partition { region_id, pivot }, + [ + 8u8, 89u8, 3u8, 231u8, 184u8, 148u8, 1u8, 32u8, 90u8, 170u8, 209u8, + 110u8, 243u8, 170u8, 140u8, 168u8, 241u8, 4u8, 223u8, 68u8, 70u8, 52u8, + 109u8, 128u8, 61u8, 167u8, 51u8, 133u8, 74u8, 141u8, 0u8, 36u8, + ], + ) + } + #[doc = "See [`Pallet::interlace`]."] + pub fn interlace( + &self, + region_id: runtime_types::pallet_broker::types::RegionId, + pivot: runtime_types::pallet_broker::core_mask::CoreMask, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Broker", + "interlace", + types::Interlace { region_id, pivot }, + [ + 7u8, 93u8, 42u8, 166u8, 194u8, 35u8, 255u8, 78u8, 40u8, 127u8, 224u8, + 63u8, 218u8, 150u8, 143u8, 233u8, 48u8, 33u8, 140u8, 72u8, 247u8, + 251u8, 179u8, 25u8, 68u8, 157u8, 27u8, 108u8, 183u8, 159u8, 33u8, + 123u8, + ], + ) + } + #[doc = "See [`Pallet::assign`]."] + pub fn assign( + &self, + region_id: runtime_types::pallet_broker::types::RegionId, + task: ::core::primitive::u32, + finality: runtime_types::pallet_broker::types::Finality, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Broker", + "assign", + types::Assign { region_id, task, finality }, + [ + 91u8, 132u8, 233u8, 43u8, 154u8, 152u8, 15u8, 44u8, 202u8, 230u8, + 122u8, 5u8, 3u8, 5u8, 116u8, 221u8, 207u8, 161u8, 160u8, 100u8, 151u8, + 98u8, 161u8, 218u8, 124u8, 92u8, 45u8, 0u8, 103u8, 188u8, 223u8, 53u8, + ], + ) + } + #[doc = "See [`Pallet::pool`]."] + pub fn pool( + &self, + region_id: runtime_types::pallet_broker::types::RegionId, + payee: ::subxt::utils::AccountId32, + finality: runtime_types::pallet_broker::types::Finality, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Broker", + "pool", + types::Pool { region_id, payee, finality }, + [ + 14u8, 189u8, 13u8, 148u8, 5u8, 149u8, 194u8, 194u8, 84u8, 123u8, 52u8, + 69u8, 38u8, 226u8, 26u8, 222u8, 247u8, 149u8, 148u8, 248u8, 145u8, + 205u8, 36u8, 139u8, 40u8, 126u8, 14u8, 54u8, 83u8, 248u8, 240u8, 139u8, + ], + ) + } + #[doc = "See [`Pallet::claim_revenue`]."] + pub fn claim_revenue( + &self, + region_id: runtime_types::pallet_broker::types::RegionId, + max_timeslices: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Broker", + "claim_revenue", + types::ClaimRevenue { region_id, max_timeslices }, + [ + 124u8, 55u8, 35u8, 170u8, 105u8, 123u8, 63u8, 62u8, 63u8, 149u8, 17u8, + 149u8, 185u8, 220u8, 151u8, 206u8, 14u8, 217u8, 84u8, 97u8, 81u8, + 250u8, 122u8, 124u8, 189u8, 144u8, 211u8, 126u8, 158u8, 80u8, 249u8, + 237u8, + ], + ) + } + #[doc = "See [`Pallet::purchase_credit`]."] + pub fn purchase_credit( + &self, + amount: ::core::primitive::u128, + beneficiary: ::subxt::utils::AccountId32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Broker", + "purchase_credit", + types::PurchaseCredit { amount, beneficiary }, + [ + 112u8, 183u8, 193u8, 102u8, 30u8, 216u8, 254u8, 165u8, 45u8, 117u8, + 26u8, 95u8, 232u8, 47u8, 237u8, 81u8, 13u8, 191u8, 179u8, 107u8, 183u8, + 182u8, 168u8, 106u8, 164u8, 89u8, 193u8, 116u8, 36u8, 181u8, 146u8, + 160u8, + ], + ) + } + #[doc = "See [`Pallet::drop_region`]."] + pub fn drop_region( + &self, + region_id: runtime_types::pallet_broker::types::RegionId, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Broker", + "drop_region", + types::DropRegion { region_id }, + [ + 192u8, 116u8, 124u8, 133u8, 187u8, 176u8, 149u8, 187u8, 230u8, 107u8, + 149u8, 185u8, 139u8, 18u8, 154u8, 186u8, 153u8, 56u8, 199u8, 218u8, + 117u8, 84u8, 113u8, 15u8, 233u8, 177u8, 33u8, 224u8, 182u8, 191u8, + 202u8, 234u8, + ], + ) + } + #[doc = "See [`Pallet::drop_contribution`]."] + pub fn drop_contribution( + &self, + region_id: runtime_types::pallet_broker::types::RegionId, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Broker", + "drop_contribution", + types::DropContribution { region_id }, + [ + 174u8, 22u8, 254u8, 7u8, 41u8, 231u8, 26u8, 174u8, 125u8, 110u8, 9u8, + 27u8, 116u8, 152u8, 51u8, 247u8, 167u8, 126u8, 92u8, 232u8, 122u8, + 189u8, 37u8, 166u8, 181u8, 75u8, 33u8, 188u8, 147u8, 110u8, 111u8, + 10u8, + ], + ) + } + #[doc = "See [`Pallet::drop_history`]."] + pub fn drop_history( + &self, + when: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Broker", + "drop_history", + types::DropHistory { when }, + [ + 57u8, 162u8, 131u8, 40u8, 152u8, 60u8, 57u8, 118u8, 165u8, 10u8, 170u8, + 202u8, 43u8, 5u8, 118u8, 213u8, 151u8, 89u8, 119u8, 247u8, 133u8, 78u8, + 13u8, 229u8, 159u8, 106u8, 47u8, 244u8, 140u8, 20u8, 80u8, 106u8, + ], + ) + } + #[doc = "See [`Pallet::drop_renewal`]."] + pub fn drop_renewal( + &self, + core: ::core::primitive::u16, + when: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Broker", + "drop_renewal", + types::DropRenewal { core, when }, + [ + 209u8, 97u8, 211u8, 220u8, 204u8, 144u8, 175u8, 124u8, 55u8, 157u8, + 186u8, 45u8, 197u8, 25u8, 107u8, 108u8, 45u8, 163u8, 95u8, 200u8, + 130u8, 163u8, 22u8, 229u8, 15u8, 249u8, 135u8, 102u8, 12u8, 179u8, + 77u8, 162u8, + ], + ) + } + #[doc = "See [`Pallet::request_core_count`]."] + pub fn request_core_count( + &self, + core_count: ::core::primitive::u16, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Broker", + "request_core_count", + types::RequestCoreCount { core_count }, + [ + 32u8, 197u8, 224u8, 109u8, 148u8, 220u8, 31u8, 58u8, 219u8, 175u8, + 220u8, 169u8, 217u8, 190u8, 128u8, 122u8, 142u8, 12u8, 52u8, 105u8, + 40u8, 236u8, 54u8, 27u8, 246u8, 8u8, 152u8, 213u8, 127u8, 25u8, 118u8, + 20u8, + ], + ) + } + #[doc = "See [`Pallet::notify_core_count`]."] + pub fn notify_core_count( + &self, + core_count: ::core::primitive::u16, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Broker", + "notify_core_count", + types::NotifyCoreCount { core_count }, + [ + 53u8, 44u8, 53u8, 90u8, 247u8, 189u8, 94u8, 149u8, 143u8, 96u8, 51u8, + 87u8, 68u8, 179u8, 121u8, 183u8, 82u8, 109u8, 247u8, 21u8, 164u8, + 180u8, 133u8, 228u8, 247u8, 220u8, 15u8, 48u8, 113u8, 246u8, 112u8, + 49u8, + ], + ) + } + } + } + #[doc = "The `Event` enum of this pallet"] + pub type Event = runtime_types::pallet_broker::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A Region of Bulk Coretime has been purchased."] + pub struct Purchased { + pub who: ::subxt::utils::AccountId32, + pub region_id: runtime_types::pallet_broker::types::RegionId, + pub price: ::core::primitive::u128, + pub duration: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Purchased { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "Purchased"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The workload of a core has become renewable."] + pub struct Renewable { + pub core: ::core::primitive::u16, + pub price: ::core::primitive::u128, + pub begin: ::core::primitive::u32, + pub workload: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_broker::types::ScheduleItem, + >, + } + impl ::subxt::events::StaticEvent for Renewable { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "Renewable"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A workload has been renewed."] + pub struct Renewed { + pub who: ::subxt::utils::AccountId32, + pub price: ::core::primitive::u128, + pub old_core: ::core::primitive::u16, + pub core: ::core::primitive::u16, + pub begin: ::core::primitive::u32, + pub duration: ::core::primitive::u32, + pub workload: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_broker::types::ScheduleItem, + >, + } + impl ::subxt::events::StaticEvent for Renewed { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "Renewed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Ownership of a Region has been transferred."] + pub struct Transferred { + pub region_id: runtime_types::pallet_broker::types::RegionId, + pub duration: ::core::primitive::u32, + pub old_owner: ::subxt::utils::AccountId32, + pub owner: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Transferred { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "Transferred"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A Region has been split into two non-overlapping Regions."] + pub struct Partitioned { + pub old_region_id: runtime_types::pallet_broker::types::RegionId, + pub new_region_ids: ( + runtime_types::pallet_broker::types::RegionId, + runtime_types::pallet_broker::types::RegionId, + ), + } + impl ::subxt::events::StaticEvent for Partitioned { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "Partitioned"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A Region has been converted into two overlapping Regions each of lesser regularity."] + pub struct Interlaced { + pub old_region_id: runtime_types::pallet_broker::types::RegionId, + pub new_region_ids: ( + runtime_types::pallet_broker::types::RegionId, + runtime_types::pallet_broker::types::RegionId, + ), + } + impl ::subxt::events::StaticEvent for Interlaced { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "Interlaced"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A Region has been assigned to a particular task."] + pub struct Assigned { + pub region_id: runtime_types::pallet_broker::types::RegionId, + pub duration: ::core::primitive::u32, + pub task: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Assigned { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "Assigned"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A Region has been added to the Instantaneous Coretime Pool."] + pub struct Pooled { + pub region_id: runtime_types::pallet_broker::types::RegionId, + pub duration: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Pooled { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "Pooled"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A new number of cores has been requested."] + pub struct CoreCountRequested { + pub core_count: ::core::primitive::u16, + } + impl ::subxt::events::StaticEvent for CoreCountRequested { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "CoreCountRequested"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The number of cores available for scheduling has changed."] + pub struct CoreCountChanged { + pub core_count: ::core::primitive::u16, + } + impl ::subxt::events::StaticEvent for CoreCountChanged { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "CoreCountChanged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "There is a new reservation for a workload."] + pub struct ReservationMade { + pub index: ::core::primitive::u32, + pub workload: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_broker::types::ScheduleItem, + >, + } + impl ::subxt::events::StaticEvent for ReservationMade { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "ReservationMade"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A reservation for a workload has been cancelled."] + pub struct ReservationCancelled { + pub index: ::core::primitive::u32, + pub workload: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_broker::types::ScheduleItem, + >, + } + impl ::subxt::events::StaticEvent for ReservationCancelled { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "ReservationCancelled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A new sale has been initialized."] + pub struct SaleInitialized { + pub sale_start: ::core::primitive::u32, + pub leadin_length: ::core::primitive::u32, + pub start_price: ::core::primitive::u128, + pub regular_price: ::core::primitive::u128, + pub region_begin: ::core::primitive::u32, + pub region_end: ::core::primitive::u32, + pub ideal_cores_sold: ::core::primitive::u16, + pub cores_offered: ::core::primitive::u16, + } + impl ::subxt::events::StaticEvent for SaleInitialized { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "SaleInitialized"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A new lease has been created."] + pub struct Leased { + pub task: ::core::primitive::u32, + pub until: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Leased { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "Leased"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A lease is about to end."] + pub struct LeaseEnding { + pub task: ::core::primitive::u32, + pub when: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for LeaseEnding { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "LeaseEnding"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The sale rotation has been started and a new sale is imminent."] + pub struct SalesStarted { + pub price: ::core::primitive::u128, + pub core_count: ::core::primitive::u16, + } + impl ::subxt::events::StaticEvent for SalesStarted { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "SalesStarted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The act of claiming revenue has begun."] + pub struct RevenueClaimBegun { + pub region: runtime_types::pallet_broker::types::RegionId, + pub max_timeslices: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for RevenueClaimBegun { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "RevenueClaimBegun"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A particular timeslice has a non-zero claim."] + pub struct RevenueClaimItem { + pub when: ::core::primitive::u32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for RevenueClaimItem { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "RevenueClaimItem"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A revenue claim has (possibly only in part) been paid."] + pub struct RevenueClaimPaid { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + pub next: ::core::option::Option, + } + impl ::subxt::events::StaticEvent for RevenueClaimPaid { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "RevenueClaimPaid"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some Instantaneous Coretime Pool credit has been purchased."] + pub struct CreditPurchased { + pub who: ::subxt::utils::AccountId32, + pub beneficiary: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for CreditPurchased { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "CreditPurchased"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A Region has been dropped due to being out of date."] + pub struct RegionDropped { + pub region_id: runtime_types::pallet_broker::types::RegionId, + pub duration: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for RegionDropped { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "RegionDropped"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some historical Instantaneous Core Pool contribution record has been dropped."] + pub struct ContributionDropped { + pub region_id: runtime_types::pallet_broker::types::RegionId, + } + impl ::subxt::events::StaticEvent for ContributionDropped { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "ContributionDropped"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some historical Instantaneous Core Pool payment record has been initialized."] + pub struct HistoryInitialized { + pub when: ::core::primitive::u32, + pub private_pool_size: ::core::primitive::u32, + pub system_pool_size: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for HistoryInitialized { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "HistoryInitialized"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some historical Instantaneous Core Pool payment record has been dropped."] + pub struct HistoryDropped { + pub when: ::core::primitive::u32, + pub revenue: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for HistoryDropped { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "HistoryDropped"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some historical Instantaneous Core Pool payment record has been ignored because the"] + #[doc = "timeslice was already known. Governance may need to intervene."] + pub struct HistoryIgnored { + pub when: ::core::primitive::u32, + pub revenue: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for HistoryIgnored { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "HistoryIgnored"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some historical Instantaneous Core Pool Revenue is ready for payout claims."] + pub struct ClaimsReady { + pub when: ::core::primitive::u32, + pub system_payout: ::core::primitive::u128, + pub private_payout: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for ClaimsReady { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "ClaimsReady"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A Core has been assigned to one or more tasks and/or the Pool on the Relay-chain."] + pub struct CoreAssigned { + pub core: ::core::primitive::u16, + pub when: ::core::primitive::u32, + pub assignment: ::std::vec::Vec<( + runtime_types::pallet_broker::coretime_interface::CoreAssignment, + ::core::primitive::u16, + )>, + } + impl ::subxt::events::StaticEvent for CoreAssigned { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "CoreAssigned"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some historical Instantaneous Core Pool payment record has been dropped."] + pub struct AllowedRenewalDropped { + pub when: ::core::primitive::u32, + pub core: ::core::primitive::u16, + } + impl ::subxt::events::StaticEvent for AllowedRenewalDropped { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "AllowedRenewalDropped"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The current configuration of this pallet."] + pub fn configuration( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_broker::types::ConfigRecord< + ::core::primitive::u32, + ::core::primitive::u32, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Broker", + "Configuration", + vec![], + [ + 235u8, 144u8, 177u8, 6u8, 2u8, 211u8, 0u8, 98u8, 225u8, 133u8, 98u8, + 140u8, 13u8, 117u8, 87u8, 151u8, 42u8, 52u8, 237u8, 170u8, 59u8, 108u8, + 169u8, 254u8, 87u8, 225u8, 64u8, 42u8, 226u8, 214u8, 219u8, 255u8, + ], + ) + } + #[doc = " The Polkadot Core reservations (generally tasked with the maintenance of System Chains)."] + pub fn reservations( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_broker::types::ScheduleItem, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Broker", + "Reservations", + vec![], + [ + 181u8, 60u8, 95u8, 87u8, 83u8, 84u8, 101u8, 181u8, 171u8, 223u8, 229u8, + 6u8, 197u8, 87u8, 137u8, 19u8, 132u8, 252u8, 158u8, 51u8, 193u8, 13u8, + 205u8, 24u8, 133u8, 27u8, 53u8, 23u8, 97u8, 160u8, 39u8, 38u8, + ], + ) + } + #[doc = " The Polkadot Core legacy leases."] + pub fn leases( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_broker::types::LeaseRecordItem, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Broker", + "Leases", + vec![], + [ + 120u8, 85u8, 234u8, 191u8, 14u8, 161u8, 200u8, 43u8, 248u8, 220u8, + 220u8, 183u8, 62u8, 101u8, 32u8, 34u8, 2u8, 157u8, 140u8, 107u8, 114u8, + 168u8, 121u8, 161u8, 113u8, 223u8, 86u8, 183u8, 226u8, 233u8, 2u8, + 250u8, + ], + ) + } + #[doc = " The current status of miscellaneous subsystems of this pallet."] + pub fn status( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_broker::types::StatusRecord, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Broker", + "Status", + vec![], + [ + 226u8, 93u8, 147u8, 26u8, 160u8, 235u8, 247u8, 150u8, 187u8, 108u8, + 138u8, 71u8, 227u8, 121u8, 51u8, 106u8, 10u8, 18u8, 58u8, 56u8, 128u8, + 186u8, 93u8, 230u8, 176u8, 248u8, 111u8, 140u8, 148u8, 39u8, 84u8, + 144u8, + ], + ) + } + #[doc = " The details of the current sale, including its properties and status."] + pub fn sale_info( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_broker::types::SaleInfoRecord< + ::core::primitive::u128, + ::core::primitive::u32, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Broker", + "SaleInfo", + vec![], + [ + 127u8, 255u8, 82u8, 247u8, 241u8, 27u8, 105u8, 176u8, 147u8, 196u8, + 190u8, 63u8, 235u8, 1u8, 165u8, 106u8, 91u8, 165u8, 58u8, 132u8, 100u8, + 94u8, 106u8, 224u8, 16u8, 33u8, 50u8, 120u8, 90u8, 163u8, 108u8, 165u8, + ], + ) + } + #[doc = " Records of allowed renewals."] + pub fn allowed_renewals_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_broker::types::AllowedRenewalRecord< + ::core::primitive::u128, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Broker", + "AllowedRenewals", + vec![], + [ + 198u8, 33u8, 189u8, 111u8, 176u8, 156u8, 94u8, 163u8, 130u8, 227u8, + 84u8, 165u8, 51u8, 92u8, 103u8, 62u8, 254u8, 102u8, 161u8, 31u8, 228u8, + 88u8, 91u8, 62u8, 155u8, 23u8, 183u8, 246u8, 73u8, 90u8, 151u8, 209u8, + ], + ) + } + #[doc = " Records of allowed renewals."] + pub fn allowed_renewals( + &self, + _0: impl ::std::borrow::Borrow< + runtime_types::pallet_broker::types::AllowedRenewalId, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_broker::types::AllowedRenewalRecord< + ::core::primitive::u128, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Broker", + "AllowedRenewals", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 198u8, 33u8, 189u8, 111u8, 176u8, 156u8, 94u8, 163u8, 130u8, 227u8, + 84u8, 165u8, 51u8, 92u8, 103u8, 62u8, 254u8, 102u8, 161u8, 31u8, 228u8, + 88u8, 91u8, 62u8, 155u8, 23u8, 183u8, 246u8, 73u8, 90u8, 151u8, 209u8, + ], + ) + } + #[doc = " The current (unassigned) Regions."] + pub fn regions_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_broker::types::RegionRecord< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Broker", + "Regions", + vec![], + [ + 13u8, 138u8, 239u8, 59u8, 188u8, 5u8, 37u8, 111u8, 236u8, 244u8, 11u8, + 46u8, 70u8, 54u8, 140u8, 148u8, 153u8, 181u8, 57u8, 114u8, 27u8, 156u8, + 177u8, 222u8, 211u8, 79u8, 213u8, 252u8, 68u8, 12u8, 150u8, 70u8, + ], + ) + } + #[doc = " The current (unassigned) Regions."] + pub fn regions( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_broker::types::RegionRecord< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Broker", + "Regions", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 13u8, 138u8, 239u8, 59u8, 188u8, 5u8, 37u8, 111u8, 236u8, 244u8, 11u8, + 46u8, 70u8, 54u8, 140u8, 148u8, 153u8, 181u8, 57u8, 114u8, 27u8, 156u8, + 177u8, 222u8, 211u8, 79u8, 213u8, 252u8, 68u8, 12u8, 150u8, 70u8, + ], + ) + } + #[doc = " The work we plan on having each core do at a particular time in the future."] + pub fn workplan_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_broker::types::ScheduleItem, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Broker", + "Workplan", + vec![], + [ + 208u8, 23u8, 159u8, 5u8, 97u8, 15u8, 8u8, 3u8, 120u8, 151u8, 25u8, + 172u8, 99u8, 84u8, 164u8, 151u8, 35u8, 231u8, 194u8, 176u8, 74u8, + 132u8, 110u8, 238u8, 159u8, 197u8, 36u8, 64u8, 54u8, 69u8, 72u8, 163u8, + ], + ) + } + #[doc = " The work we plan on having each core do at a particular time in the future."] + pub fn workplan_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_broker::types::ScheduleItem, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Broker", + "Workplan", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 208u8, 23u8, 159u8, 5u8, 97u8, 15u8, 8u8, 3u8, 120u8, 151u8, 25u8, + 172u8, 99u8, 84u8, 164u8, 151u8, 35u8, 231u8, 194u8, 176u8, 74u8, + 132u8, 110u8, 238u8, 159u8, 197u8, 36u8, 64u8, 54u8, 69u8, 72u8, 163u8, + ], + ) + } + #[doc = " The work we plan on having each core do at a particular time in the future."] + pub fn workplan( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::core::primitive::u16>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_broker::types::ScheduleItem, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Broker", + "Workplan", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 208u8, 23u8, 159u8, 5u8, 97u8, 15u8, 8u8, 3u8, 120u8, 151u8, 25u8, + 172u8, 99u8, 84u8, 164u8, 151u8, 35u8, 231u8, 194u8, 176u8, 74u8, + 132u8, 110u8, 238u8, 159u8, 197u8, 36u8, 64u8, 54u8, 69u8, 72u8, 163u8, + ], + ) + } + #[doc = " The current workload of each core. This gets updated with workplan as timeslices pass."] + pub fn workload_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_broker::types::ScheduleItem, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Broker", + "Workload", + vec![], + [ + 45u8, 113u8, 84u8, 213u8, 62u8, 242u8, 79u8, 85u8, 136u8, 4u8, 216u8, + 202u8, 30u8, 188u8, 60u8, 157u8, 245u8, 141u8, 248u8, 95u8, 247u8, + 119u8, 9u8, 235u8, 164u8, 169u8, 68u8, 99u8, 217u8, 131u8, 250u8, + 137u8, + ], + ) + } + #[doc = " The current workload of each core. This gets updated with workplan as timeslices pass."] + pub fn workload( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u16>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_broker::types::ScheduleItem, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Broker", + "Workload", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 45u8, 113u8, 84u8, 213u8, 62u8, 242u8, 79u8, 85u8, 136u8, 4u8, 216u8, + 202u8, 30u8, 188u8, 60u8, 157u8, 245u8, 141u8, 248u8, 95u8, 247u8, + 119u8, 9u8, 235u8, 164u8, 169u8, 68u8, 99u8, 217u8, 131u8, 250u8, + 137u8, + ], + ) + } + #[doc = " Record of a single contribution to the Instantaneous Coretime Pool."] + pub fn insta_pool_contribution_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_broker::types::ContributionRecord< + ::subxt::utils::AccountId32, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Broker", + "InstaPoolContribution", + vec![], + [ + 225u8, 37u8, 29u8, 149u8, 219u8, 135u8, 224u8, 209u8, 135u8, 209u8, + 121u8, 140u8, 72u8, 231u8, 213u8, 173u8, 125u8, 250u8, 14u8, 41u8, + 65u8, 242u8, 58u8, 65u8, 27u8, 164u8, 32u8, 174u8, 175u8, 253u8, 205u8, + 192u8, + ], + ) + } + #[doc = " Record of a single contribution to the Instantaneous Coretime Pool."] + pub fn insta_pool_contribution( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_broker::types::ContributionRecord< + ::subxt::utils::AccountId32, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Broker", + "InstaPoolContribution", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 225u8, 37u8, 29u8, 149u8, 219u8, 135u8, 224u8, 209u8, 135u8, 209u8, + 121u8, 140u8, 72u8, 231u8, 213u8, 173u8, 125u8, 250u8, 14u8, 41u8, + 65u8, 242u8, 58u8, 65u8, 27u8, 164u8, 32u8, 174u8, 175u8, 253u8, 205u8, + 192u8, + ], + ) + } + #[doc = " Record of Coretime entering or leaving the Instantaneous Coretime Pool."] + pub fn insta_pool_io_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_broker::types::PoolIoRecord, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Broker", + "InstaPoolIo", + vec![], + [ + 162u8, 151u8, 195u8, 176u8, 123u8, 253u8, 27u8, 213u8, 21u8, 145u8, + 189u8, 94u8, 166u8, 4u8, 46u8, 24u8, 68u8, 151u8, 16u8, 131u8, 45u8, + 201u8, 54u8, 188u8, 26u8, 164u8, 35u8, 251u8, 78u8, 56u8, 39u8, 141u8, + ], + ) + } + #[doc = " Record of Coretime entering or leaving the Instantaneous Coretime Pool."] + pub fn insta_pool_io( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_broker::types::PoolIoRecord, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Broker", + "InstaPoolIo", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 162u8, 151u8, 195u8, 176u8, 123u8, 253u8, 27u8, 213u8, 21u8, 145u8, + 189u8, 94u8, 166u8, 4u8, 46u8, 24u8, 68u8, 151u8, 16u8, 131u8, 45u8, + 201u8, 54u8, 188u8, 26u8, 164u8, 35u8, 251u8, 78u8, 56u8, 39u8, 141u8, + ], + ) + } + #[doc = " Total InstaPool rewards for each Timeslice and the number of core parts which contributed."] + pub fn insta_pool_history_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_broker::types::InstaPoolHistoryRecord< + ::core::primitive::u128, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Broker", + "InstaPoolHistory", + vec![], + [ + 126u8, 207u8, 245u8, 55u8, 169u8, 211u8, 138u8, 201u8, 39u8, 31u8, + 176u8, 228u8, 252u8, 247u8, 198u8, 195u8, 134u8, 17u8, 139u8, 200u8, + 58u8, 159u8, 232u8, 213u8, 232u8, 43u8, 30u8, 15u8, 151u8, 236u8, 76u8, + 85u8, + ], + ) + } + #[doc = " Total InstaPool rewards for each Timeslice and the number of core parts which contributed."] + pub fn insta_pool_history( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_broker::types::InstaPoolHistoryRecord< + ::core::primitive::u128, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Broker", + "InstaPoolHistory", + vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], + [ + 126u8, 207u8, 245u8, 55u8, 169u8, 211u8, 138u8, 201u8, 39u8, 31u8, + 176u8, 228u8, 252u8, 247u8, 198u8, 195u8, 134u8, 17u8, 139u8, 200u8, + 58u8, 159u8, 232u8, 213u8, 232u8, 43u8, 30u8, 15u8, 151u8, 236u8, 76u8, + 85u8, + ], + ) + } + #[doc = " Received core count change from the relay chain."] + pub fn core_count_inbox( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u16, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Broker", + "CoreCountInbox", + vec![], + [ + 78u8, 33u8, 242u8, 74u8, 188u8, 71u8, 31u8, 182u8, 130u8, 205u8, 58u8, + 165u8, 83u8, 161u8, 140u8, 26u8, 208u8, 233u8, 130u8, 27u8, 170u8, + 220u8, 249u8, 195u8, 200u8, 141u8, 28u8, 20u8, 68u8, 86u8, 23u8, 182u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Identifier from which the internal Pot is generated."] + pub fn pallet_id( + &self, + ) -> ::subxt::constants::Address { + ::subxt::constants::Address::new_static( + "Broker", + "PalletId", + [ + 56u8, 243u8, 53u8, 83u8, 154u8, 179u8, 170u8, 80u8, 133u8, 173u8, 61u8, + 161u8, 47u8, 225u8, 146u8, 21u8, 50u8, 229u8, 248u8, 27u8, 104u8, 58u8, + 129u8, 197u8, 102u8, 160u8, 168u8, 205u8, 154u8, 42u8, 217u8, 53u8, + ], + ) + } + #[doc = " Number of Relay-chain blocks per timeslice."] + pub fn timeslice_period( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Broker", + "TimeslicePeriod", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Maximum number of legacy leases."] + pub fn max_leased_cores( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Broker", + "MaxLeasedCores", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Maximum number of system cores."] + pub fn max_reserved_cores( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Broker", + "MaxReservedCores", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod sudo { + use super::root_mod; + use super::runtime_types; + #[doc = "Error for the Sudo pallet."] + pub type Error = runtime_types::pallet_sudo::pallet::Error; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::pallet_sudo::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Sudo { + pub call: + ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for Sudo { + const PALLET: &'static str = "Sudo"; + const CALL: &'static str = "sudo"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SudoUncheckedWeight { + pub call: + ::std::boxed::Box, + pub weight: runtime_types::sp_weights::weight_v2::Weight, + } + impl ::subxt::blocks::StaticExtrinsic for SudoUncheckedWeight { + const PALLET: &'static str = "Sudo"; + const CALL: &'static str = "sudo_unchecked_weight"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetKey { + pub new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + impl ::subxt::blocks::StaticExtrinsic for SetKey { + const PALLET: &'static str = "Sudo"; + const CALL: &'static str = "set_key"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SudoAs { + pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub call: + ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for SudoAs { + const PALLET: &'static str = "Sudo"; + const CALL: &'static str = "sudo_as"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveKey; + impl ::subxt::blocks::StaticExtrinsic for RemoveKey { + const PALLET: &'static str = "Sudo"; + const CALL: &'static str = "remove_key"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "See [`Pallet::sudo`]."] + pub fn sudo( + &self, + call: runtime_types::coretime_rococo_runtime::RuntimeCall, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Sudo", + "sudo", + types::Sudo { call: ::std::boxed::Box::new(call) }, + [ + 41u8, 23u8, 149u8, 206u8, 108u8, 62u8, 70u8, 168u8, 244u8, 16u8, 168u8, + 159u8, 122u8, 103u8, 32u8, 146u8, 180u8, 215u8, 7u8, 163u8, 102u8, + 243u8, 125u8, 59u8, 3u8, 110u8, 165u8, 65u8, 4u8, 53u8, 119u8, 111u8, + ], + ) + } + #[doc = "See [`Pallet::sudo_unchecked_weight`]."] + pub fn sudo_unchecked_weight( + &self, + call: runtime_types::coretime_rococo_runtime::RuntimeCall, + weight: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Sudo", + "sudo_unchecked_weight", + types::SudoUncheckedWeight { call: ::std::boxed::Box::new(call), weight }, + [ + 141u8, 64u8, 170u8, 4u8, 89u8, 149u8, 62u8, 1u8, 203u8, 56u8, 131u8, + 201u8, 8u8, 108u8, 213u8, 253u8, 101u8, 187u8, 26u8, 39u8, 246u8, + 185u8, 39u8, 3u8, 113u8, 211u8, 223u8, 198u8, 195u8, 81u8, 35u8, 90u8, + ], + ) + } + #[doc = "See [`Pallet::set_key`]."] + pub fn set_key( + &self, + new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Sudo", + "set_key", + types::SetKey { new }, + [ + 9u8, 73u8, 39u8, 205u8, 188u8, 127u8, 143u8, 54u8, 128u8, 94u8, 8u8, + 227u8, 197u8, 44u8, 70u8, 93u8, 228u8, 196u8, 64u8, 165u8, 226u8, + 158u8, 101u8, 192u8, 22u8, 193u8, 102u8, 84u8, 21u8, 35u8, 92u8, 198u8, + ], + ) + } + #[doc = "See [`Pallet::sudo_as`]."] + pub fn sudo_as( + &self, + who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + call: runtime_types::coretime_rococo_runtime::RuntimeCall, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Sudo", + "sudo_as", + types::SudoAs { who, call: ::std::boxed::Box::new(call) }, + [ + 202u8, 135u8, 76u8, 156u8, 213u8, 15u8, 106u8, 60u8, 139u8, 153u8, + 152u8, 67u8, 89u8, 46u8, 122u8, 149u8, 139u8, 226u8, 189u8, 19u8, + 248u8, 220u8, 26u8, 196u8, 246u8, 244u8, 124u8, 25u8, 169u8, 181u8, + 119u8, 96u8, + ], + ) + } + #[doc = "See [`Pallet::remove_key`]."] + pub fn remove_key(&self) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Sudo", + "remove_key", + types::RemoveKey {}, + [ + 133u8, 253u8, 54u8, 175u8, 202u8, 239u8, 5u8, 198u8, 180u8, 138u8, + 25u8, 28u8, 109u8, 40u8, 30u8, 56u8, 126u8, 100u8, 52u8, 205u8, 250u8, + 191u8, 61u8, 195u8, 172u8, 142u8, 184u8, 239u8, 247u8, 10u8, 211u8, + 79u8, + ], + ) + } + } + } + #[doc = "The `Event` enum of this pallet"] + pub type Event = runtime_types::pallet_sudo::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A sudo call just took place."] + pub struct Sudid { + pub sudo_result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for Sudid { + const PALLET: &'static str = "Sudo"; + const EVENT: &'static str = "Sudid"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The sudo key has been updated."] + pub struct KeyChanged { + pub old: ::core::option::Option<::subxt::utils::AccountId32>, + pub new: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for KeyChanged { + const PALLET: &'static str = "Sudo"; + const EVENT: &'static str = "KeyChanged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The key was permanently removed."] + pub struct KeyRemoved; + impl ::subxt::events::StaticEvent for KeyRemoved { + const PALLET: &'static str = "Sudo"; + const EVENT: &'static str = "KeyRemoved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A [sudo_as](Pallet::sudo_as) call just took place."] + pub struct SudoAsDone { + pub sudo_result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for SudoAsDone { + const PALLET: &'static str = "Sudo"; + const EVENT: &'static str = "SudoAsDone"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The `AccountId` of the sudo key."] + pub fn key( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::AccountId32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Sudo", + "Key", + vec![], + [ + 72u8, 14u8, 225u8, 162u8, 205u8, 247u8, 227u8, 105u8, 116u8, 57u8, 4u8, + 31u8, 84u8, 137u8, 227u8, 228u8, 133u8, 245u8, 206u8, 227u8, 117u8, + 36u8, 252u8, 151u8, 107u8, 15u8, 180u8, 4u8, 4u8, 152u8, 195u8, 144u8, + ], + ) + } + } + } + } + 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BoundedBTreeSet<_0>(pub ::std::vec::Vec<_0>); + } + pub mod bounded_vec { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BoundedVec<_0>(pub ::std::vec::Vec<_0>); + } + pub mod weak_bounded_vec { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct WeakBoundedVec<_0>(pub ::std::vec::Vec<_0>); + } + } + pub mod coretime_rococo_runtime { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum OriginCaller { + #[codec(index = 0)] + system( + runtime_types::frame_support::dispatch::RawOrigin<::subxt::utils::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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Runtime; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum RuntimeCall { + #[codec(index = 0)] + System(runtime_types::frame_system::pallet::Call), + #[codec(index = 1)] + ParachainSystem(runtime_types::cumulus_pallet_parachain_system::pallet::Call), + #[codec(index = 3)] + Timestamp(runtime_types::pallet_timestamp::pallet::Call), + #[codec(index = 4)] + 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 = 34)] + MessageQueue(runtime_types::pallet_message_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)] + Broker(runtime_types::pallet_broker::pallet::Call), + #[codec(index = 100)] + Sudo(runtime_types::pallet_sudo::pallet::Call), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum 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 = 34)] + MessageQueue(runtime_types::pallet_message_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)] + Broker(runtime_types::pallet_broker::pallet::Error), + #[codec(index = 100)] + Sudo(runtime_types::pallet_sudo::pallet::Error), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum 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 = 34)] + MessageQueue(runtime_types::pallet_message_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)] + Broker(runtime_types::pallet_broker::pallet::Event), + #[codec(index = 100)] + Sudo(runtime_types::pallet_sudo::pallet::Event), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum RuntimeHoldReason {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SessionKeys { + pub aura: runtime_types::sp_consensus_aura::sr25519::app_sr25519::Public, + } + } + pub mod cumulus_pallet_parachain_system { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub enum Call { + # [codec (index = 0)] # [doc = "See [`Pallet::set_validation_data`]."] set_validation_data { data : runtime_types :: cumulus_primitives_parachain_inherent :: ParachainInherentData , } , # [codec (index = 1)] # [doc = "See [`Pallet::sudo_send_upward_message`]."] sudo_send_upward_message { message : :: std :: vec :: Vec < :: core :: primitive :: u8 > , } , # [codec (index = 2)] # [doc = "See [`Pallet::authorize_upgrade`]."] authorize_upgrade { code_hash : :: subxt :: utils :: H256 , check_version : :: core :: primitive :: bool , } , # [codec (index = 3)] # [doc = "See [`Pallet::enact_authorized_upgrade`]."] enact_authorized_upgrade { code : :: std :: vec :: Vec < :: core :: primitive :: u8 > , } , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Error` enum of this pallet."] + pub enum Error { + #[codec(index = 0)] + #[doc = "Attempt to upgrade validation function while existing upgrade pending."] + OverlappingUpgrades, + #[codec(index = 1)] + #[doc = "Polkadot currently prohibits this parachain from upgrading its validation function."] + ProhibitedByPolkadot, + #[codec(index = 2)] + #[doc = "The supplied validation function has compiled into a blob larger than Polkadot is"] + #[doc = "willing to run."] + TooBig, + #[codec(index = 3)] + #[doc = "The inherent which supplies the validation data did not run this block."] + ValidationDataNotAvailable, + #[codec(index = 4)] + #[doc = "The inherent which supplies the host configuration did not run this block."] + HostConfigurationNotAvailable, + #[codec(index = 5)] + #[doc = "No validation function upgrade is currently scheduled."] + NotScheduled, + #[codec(index = 6)] + #[doc = "No code upgrade has been authorized."] + NothingAuthorized, + #[codec(index = 7)] + #[doc = "The given code upgrade has not been authorized."] + Unauthorized, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Event` enum of this pallet"] + pub enum Event { + #[codec(index = 0)] + #[doc = "The validation function has been scheduled to apply."] + ValidationFunctionStored, + #[codec(index = 1)] + #[doc = "The validation function was applied as of the contained relay chain block number."] + ValidationFunctionApplied { relay_chain_block_num: ::core::primitive::u32 }, + #[codec(index = 2)] + #[doc = "The relay-chain aborted the upgrade process."] + ValidationFunctionDiscarded, + #[codec(index = 3)] + #[doc = "Some downward messages have been received and will be processed."] + DownwardMessagesReceived { count: ::core::primitive::u32 }, + #[codec(index = 4)] + #[doc = "Downward messages were processed using the given weight."] + DownwardMessagesProcessed { + weight_used: runtime_types::sp_weights::weight_v2::Weight, + dmq_head: ::subxt::utils::H256, + }, + #[codec(index = 5)] + #[doc = "An upward message was sent to the relay chain."] + UpwardMessageSent { + message_hash: ::core::option::Option<[::core::primitive::u8; 32usize]>, + }, + } + } + pub mod relay_state_snapshot { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RelayDispatchQueueRemainingCapacity { + pub remaining_count: ::core::primitive::u32, + pub remaining_size: ::core::primitive::u32, + } + } + pub mod unincluded_segment { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct HrmpChannelUpdate { + pub msg_count: ::core::primitive::u32, + pub total_bytes: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub enum Call {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Event` enum of this pallet"] + pub enum Event { + #[codec(index = 0)] + #[doc = "Downward message is invalid XCM."] + #[doc = "\\[ id \\]"] + InvalidFormat([::core::primitive::u8; 32usize]), + #[codec(index = 1)] + #[doc = "Downward message is unsupported version of XCM."] + #[doc = "\\[ id \\]"] + UnsupportedVersion([::core::primitive::u8; 32usize]), + #[codec(index = 2)] + #[doc = "Downward message executed with the given outcome."] + #[doc = "\\[ id, outcome \\]"] + ExecutedDownward( + [::core::primitive::u8; 32usize], + runtime_types::staging_xcm::v4::traits::Outcome, + ), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Origin { + #[codec(index = 0)] + 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub enum Call { + #[codec(index = 1)] + #[doc = "See [`Pallet::suspend_xcm_execution`]."] + suspend_xcm_execution, + #[codec(index = 2)] + #[doc = "See [`Pallet::resume_xcm_execution`]."] + resume_xcm_execution, + #[codec(index = 3)] + #[doc = "See [`Pallet::update_suspend_threshold`]."] + update_suspend_threshold { new: ::core::primitive::u32 }, + #[codec(index = 4)] + #[doc = "See [`Pallet::update_drop_threshold`]."] + update_drop_threshold { new: ::core::primitive::u32 }, + #[codec(index = 5)] + #[doc = "See [`Pallet::update_resume_threshold`]."] + update_resume_threshold { new: ::core::primitive::u32 }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Error` enum of this pallet."] + pub enum Error { + #[codec(index = 0)] + #[doc = "Setting the queue config failed since one of its values was invalid."] + BadQueueConfig, + #[codec(index = 1)] + #[doc = "The execution is already suspended."] + AlreadySuspended, + #[codec(index = 2)] + #[doc = "The execution is already resumed."] + AlreadyResumed, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Event` enum of this pallet"] + pub enum Event { + #[codec(index = 0)] + #[doc = "An HRMP message was sent to a sibling parachain."] + XcmpMessageSent { message_hash: [::core::primitive::u8; 32usize] }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum OutboundState { + #[codec(index = 0)] + Ok, + #[codec(index = 1)] + Suspended, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + 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_core { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum AggregateMessageOrigin { + #[codec(index = 0)] + Here, + #[codec(index = 1)] + Parent, + #[codec(index = 2)] + Sibling(runtime_types::polkadot_parachain_primitives::primitives::Id), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MessageQueueChain(pub ::subxt::utils::H256); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct 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 frame_support { + use super::runtime_types; + pub mod dispatch { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum DispatchClass { + #[codec(index = 0)] + Normal, + #[codec(index = 1)] + Operational, + #[codec(index = 2)] + Mandatory, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DispatchInfo { + pub weight: runtime_types::sp_weights::weight_v2::Weight, + pub class: runtime_types::frame_support::dispatch::DispatchClass, + pub pays_fee: runtime_types::frame_support::dispatch::Pays, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Pays { + #[codec(index = 0)] + Yes, + #[codec(index = 1)] + No, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PerDispatchClass<_0> { + pub normal: _0, + pub operational: _0, + pub mandatory: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum ProcessMessageError { + #[codec(index = 0)] + BadFormat, + #[codec(index = 1)] + Corrupt, + #[codec(index = 2)] + Unsupported, + #[codec(index = 3)] + Overweight(runtime_types::sp_weights::weight_v2::Weight), + #[codec(index = 4)] + Yield, + } + } + pub mod tokens { + use super::runtime_types; + pub mod misc { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum BalanceStatus { + #[codec(index = 0)] + Free, + #[codec(index = 1)] + Reserved, + } + } + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PalletId(pub [::core::primitive::u8; 8usize]); + } + pub mod frame_system { + use super::runtime_types; + pub mod extensions { + use super::runtime_types; + pub mod check_genesis { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CheckGenesis; + } + pub mod check_mortality { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CheckMortality(pub runtime_types::sp_runtime::generic::era::Era); + } + pub mod check_non_zero_sender { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CheckNonZeroSender; + } + pub mod check_nonce { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CheckNonce(#[codec(compact)] pub ::core::primitive::u32); + } + pub mod check_spec_version { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CheckSpecVersion; + } + pub mod check_tx_version { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CheckTxVersion; + } + pub mod check_weight { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CheckWeight; + } + } + pub mod limits { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BlockLength { + pub max: runtime_types::frame_support::dispatch::PerDispatchClass< + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BlockWeights { + pub base_block: runtime_types::sp_weights::weight_v2::Weight, + pub max_block: runtime_types::sp_weights::weight_v2::Weight, + pub per_class: runtime_types::frame_support::dispatch::PerDispatchClass< + runtime_types::frame_system::limits::WeightsPerClass, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct WeightsPerClass { + pub base_extrinsic: runtime_types::sp_weights::weight_v2::Weight, + pub max_extrinsic: + ::core::option::Option, + pub max_total: + ::core::option::Option, + pub reserved: + ::core::option::Option, + } + } + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub enum Call { + #[codec(index = 0)] + #[doc = "See [`Pallet::remark`]."] + remark { remark: ::std::vec::Vec<::core::primitive::u8> }, + #[codec(index = 1)] + #[doc = "See [`Pallet::set_heap_pages`]."] + set_heap_pages { pages: ::core::primitive::u64 }, + #[codec(index = 2)] + #[doc = "See [`Pallet::set_code`]."] + set_code { code: ::std::vec::Vec<::core::primitive::u8> }, + #[codec(index = 3)] + #[doc = "See [`Pallet::set_code_without_checks`]."] + set_code_without_checks { code: ::std::vec::Vec<::core::primitive::u8> }, + #[codec(index = 4)] + #[doc = "See [`Pallet::set_storage`]."] + set_storage { + items: ::std::vec::Vec<( + ::std::vec::Vec<::core::primitive::u8>, + ::std::vec::Vec<::core::primitive::u8>, + )>, + }, + #[codec(index = 5)] + #[doc = "See [`Pallet::kill_storage`]."] + kill_storage { keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>> }, + #[codec(index = 6)] + #[doc = "See [`Pallet::kill_prefix`]."] + kill_prefix { + prefix: ::std::vec::Vec<::core::primitive::u8>, + subkeys: ::core::primitive::u32, + }, + #[codec(index = 7)] + #[doc = "See [`Pallet::remark_with_event`]."] + remark_with_event { remark: ::std::vec::Vec<::core::primitive::u8> }, + #[codec(index = 9)] + #[doc = "See [`Pallet::authorize_upgrade`]."] + authorize_upgrade { code_hash: ::subxt::utils::H256 }, + #[codec(index = 10)] + #[doc = "See [`Pallet::authorize_upgrade_without_checks`]."] + authorize_upgrade_without_checks { code_hash: ::subxt::utils::H256 }, + #[codec(index = 11)] + #[doc = "See [`Pallet::apply_authorized_upgrade`]."] + apply_authorized_upgrade { code: ::std::vec::Vec<::core::primitive::u8> }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Error for the System pallet"] + pub enum Error { + #[codec(index = 0)] + #[doc = "The name of specification does not match between the current runtime"] + #[doc = "and the new runtime."] + InvalidSpecName, + #[codec(index = 1)] + #[doc = "The specification version is not allowed to decrease between the current runtime"] + #[doc = "and the new runtime."] + SpecVersionNeedsToIncrease, + #[codec(index = 2)] + #[doc = "Failed to extract the runtime version from the new runtime."] + #[doc = ""] + #[doc = "Either calling `Core_version` or decoding `RuntimeVersion` failed."] + FailedToExtractRuntimeVersion, + #[codec(index = 3)] + #[doc = "Suicide called when the account has non-default composite data."] + NonDefaultComposite, + #[codec(index = 4)] + #[doc = "There is a non-zero reference count preventing the account from being purged."] + NonZeroRefCount, + #[codec(index = 5)] + #[doc = "The origin filter prevent the call to be dispatched."] + CallFiltered, + #[codec(index = 6)] + #[doc = "No upgrade authorized."] + NothingAuthorized, + #[codec(index = 7)] + #[doc = "The submitted code is not authorized."] + Unauthorized, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Event for the System pallet."] + pub enum Event { + #[codec(index = 0)] + #[doc = "An extrinsic completed successfully."] + ExtrinsicSuccess { + dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo, + }, + #[codec(index = 1)] + #[doc = "An extrinsic failed."] + ExtrinsicFailed { + dispatch_error: runtime_types::sp_runtime::DispatchError, + dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo, + }, + #[codec(index = 2)] + #[doc = "`:code` was updated."] + CodeUpdated, + #[codec(index = 3)] + #[doc = "A new account was created."] + NewAccount { account: ::subxt::utils::AccountId32 }, + #[codec(index = 4)] + #[doc = "An account was reaped."] + KilledAccount { account: ::subxt::utils::AccountId32 }, + #[codec(index = 5)] + #[doc = "On on-chain remark happened."] + Remarked { sender: ::subxt::utils::AccountId32, hash: ::subxt::utils::H256 }, + #[codec(index = 6)] + #[doc = "An upgrade was authorized."] + UpgradeAuthorized { + code_hash: ::subxt::utils::H256, + check_version: ::core::primitive::bool, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CodeUpgradeAuthorization { + pub code_hash: ::subxt::utils::H256, + pub check_version: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct EventRecord<_0, _1> { + pub phase: runtime_types::frame_system::Phase, + pub event: _0, + pub topics: ::std::vec::Vec<_1>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct LastRuntimeUpgradeInfo { + #[codec(compact)] + pub spec_version: ::core::primitive::u32, + pub spec_name: ::std::string::String, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Phase { + #[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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub enum Call { + #[codec(index = 0)] + #[doc = "See [`Pallet::transfer_allow_death`]."] + transfer_allow_death { + dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + value: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "See [`Pallet::force_transfer`]."] + force_transfer { + source: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + value: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "See [`Pallet::transfer_keep_alive`]."] + transfer_keep_alive { + dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + value: ::core::primitive::u128, + }, + #[codec(index = 4)] + #[doc = "See [`Pallet::transfer_all`]."] + transfer_all { + dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + keep_alive: ::core::primitive::bool, + }, + #[codec(index = 5)] + #[doc = "See [`Pallet::force_unreserve`]."] + force_unreserve { + who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + amount: ::core::primitive::u128, + }, + #[codec(index = 6)] + #[doc = "See [`Pallet::upgrade_accounts`]."] + upgrade_accounts { who: ::std::vec::Vec<::subxt::utils::AccountId32> }, + #[codec(index = 8)] + #[doc = "See [`Pallet::force_set_balance`]."] + force_set_balance { + who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + new_free: ::core::primitive::u128, + }, + #[codec(index = 9)] + #[doc = "See [`Pallet::force_adjust_total_issuance`]."] + force_adjust_total_issuance { + direction: runtime_types::pallet_balances::types::AdjustmentDirection, + #[codec(compact)] + delta: ::core::primitive::u128, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Error` enum of this pallet."] + pub enum Error { + #[codec(index = 0)] + #[doc = "Vesting balance too high to send value."] + VestingBalance, + #[codec(index = 1)] + #[doc = "Account liquidity restrictions prevent withdrawal."] + LiquidityRestrictions, + #[codec(index = 2)] + #[doc = "Balance too low to send value."] + InsufficientBalance, + #[codec(index = 3)] + #[doc = "Value too low to create account due to existential deposit."] + ExistentialDeposit, + #[codec(index = 4)] + #[doc = "Transfer/payment would kill account."] + Expendability, + #[codec(index = 5)] + #[doc = "A vesting schedule already exists for this account."] + ExistingVestingSchedule, + #[codec(index = 6)] + #[doc = "Beneficiary account must pre-exist."] + DeadAccount, + #[codec(index = 7)] + #[doc = "Number of named reserves exceed `MaxReserves`."] + TooManyReserves, + #[codec(index = 8)] + #[doc = "Number of holds exceed `VariantCountOf`."] + TooManyHolds, + #[codec(index = 9)] + #[doc = "Number of freezes exceed `MaxFreezes`."] + TooManyFreezes, + #[codec(index = 10)] + #[doc = "The issuance cannot be modified since it is already deactivated."] + IssuanceDeactivated, + #[codec(index = 11)] + #[doc = "The delta cannot be zero."] + DeltaZero, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Event` enum of this pallet"] + pub enum Event { + #[codec(index = 0)] + #[doc = "An account was created with some free balance."] + Endowed { + account: ::subxt::utils::AccountId32, + free_balance: ::core::primitive::u128, + }, + #[codec(index = 1)] + #[doc = "An account was removed whose balance was non-zero but below ExistentialDeposit,"] + #[doc = "resulting in an outright loss."] + DustLost { + account: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "Transfer succeeded."] + Transfer { + from: ::subxt::utils::AccountId32, + to: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "A balance was set by root."] + BalanceSet { who: ::subxt::utils::AccountId32, free: ::core::primitive::u128 }, + #[codec(index = 4)] + #[doc = "Some balance was reserved (moved from free to reserved)."] + Reserved { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, + #[codec(index = 5)] + #[doc = "Some balance was unreserved (moved from reserved to free)."] + Unreserved { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, + #[codec(index = 6)] + #[doc = "Some balance was moved from the reserve of the first account to the second account."] + #[doc = "Final argument indicates the destination balance type."] + ReserveRepatriated { + from: ::subxt::utils::AccountId32, + to: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + destination_status: + runtime_types::frame_support::traits::tokens::misc::BalanceStatus, + }, + #[codec(index = 7)] + #[doc = "Some amount was deposited (e.g. for transaction fees)."] + Deposit { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, + #[codec(index = 8)] + #[doc = "Some amount was withdrawn from the account (e.g. for transaction fees)."] + Withdraw { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, + #[codec(index = 9)] + #[doc = "Some amount was removed from the account (e.g. for misbehavior)."] + Slashed { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, + #[codec(index = 10)] + #[doc = "Some amount was minted into an account."] + Minted { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, + #[codec(index = 11)] + #[doc = "Some amount was burned from an account."] + Burned { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, + #[codec(index = 12)] + #[doc = "Some amount was suspended from an account (it can be restored later)."] + Suspended { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, + #[codec(index = 13)] + #[doc = "Some amount was restored into an account."] + Restored { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, + #[codec(index = 14)] + #[doc = "An account was upgraded."] + Upgraded { who: ::subxt::utils::AccountId32 }, + #[codec(index = 15)] + #[doc = "Total issuance was increased by `amount`, creating a credit to be balanced."] + Issued { amount: ::core::primitive::u128 }, + #[codec(index = 16)] + #[doc = "Total issuance was decreased by `amount`, creating a debt to be balanced."] + Rescinded { amount: ::core::primitive::u128 }, + #[codec(index = 17)] + #[doc = "Some balance was locked."] + Locked { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, + #[codec(index = 18)] + #[doc = "Some balance was unlocked."] + Unlocked { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, + #[codec(index = 19)] + #[doc = "Some balance was frozen."] + Frozen { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, + #[codec(index = 20)] + #[doc = "Some balance was thawed."] + Thawed { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, + #[codec(index = 21)] + #[doc = "The `TotalIssuance` was forcefully changed."] + TotalIssuanceForced { + old: ::core::primitive::u128, + new: ::core::primitive::u128, + }, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AccountData<_0> { + pub free: _0, + pub reserved: _0, + pub frozen: _0, + pub flags: runtime_types::pallet_balances::types::ExtraFlags, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum AdjustmentDirection { + #[codec(index = 0)] + Increase, + #[codec(index = 1)] + Decrease, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BalanceLock<_0> { + pub id: [::core::primitive::u8; 8usize], + pub amount: _0, + pub reasons: runtime_types::pallet_balances::types::Reasons, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ExtraFlags(pub ::core::primitive::u128); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct IdAmount<_0, _1> { + pub id: _0, + pub amount: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Reasons { + #[codec(index = 0)] + Fee, + #[codec(index = 1)] + Misc, + #[codec(index = 2)] + All, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReserveData<_0, _1> { + pub id: _0, + pub amount: _1, + } + } + } + pub mod pallet_broker { + use super::runtime_types; + pub mod core_mask { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CoreMask(pub [::core::primitive::u8; 10usize]); + } + pub mod coretime_interface { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum CoreAssignment { + #[codec(index = 0)] + Idle, + #[codec(index = 1)] + Pool, + #[codec(index = 2)] + Task(::core::primitive::u32), + } + } + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub enum Call { + #[codec(index = 0)] + #[doc = "See [`Pallet::configure`]."] + configure { + config: runtime_types::pallet_broker::types::ConfigRecord< + ::core::primitive::u32, + ::core::primitive::u32, + >, + }, + #[codec(index = 1)] + #[doc = "See [`Pallet::reserve`]."] + reserve { + workload: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_broker::types::ScheduleItem, + >, + }, + #[codec(index = 2)] + #[doc = "See [`Pallet::unreserve`]."] + unreserve { item_index: ::core::primitive::u32 }, + #[codec(index = 3)] + #[doc = "See [`Pallet::set_lease`]."] + set_lease { task: ::core::primitive::u32, until: ::core::primitive::u32 }, + #[codec(index = 4)] + #[doc = "See [`Pallet::start_sales`]."] + start_sales { + initial_price: ::core::primitive::u128, + core_count: ::core::primitive::u16, + }, + #[codec(index = 5)] + #[doc = "See [`Pallet::purchase`]."] + purchase { price_limit: ::core::primitive::u128 }, + #[codec(index = 6)] + #[doc = "See [`Pallet::renew`]."] + renew { core: ::core::primitive::u16 }, + #[codec(index = 7)] + #[doc = "See [`Pallet::transfer`]."] + transfer { + region_id: runtime_types::pallet_broker::types::RegionId, + new_owner: ::subxt::utils::AccountId32, + }, + #[codec(index = 8)] + #[doc = "See [`Pallet::partition`]."] + partition { + region_id: runtime_types::pallet_broker::types::RegionId, + pivot: ::core::primitive::u32, + }, + #[codec(index = 9)] + #[doc = "See [`Pallet::interlace`]."] + interlace { + region_id: runtime_types::pallet_broker::types::RegionId, + pivot: runtime_types::pallet_broker::core_mask::CoreMask, + }, + #[codec(index = 10)] + #[doc = "See [`Pallet::assign`]."] + assign { + region_id: runtime_types::pallet_broker::types::RegionId, + task: ::core::primitive::u32, + finality: runtime_types::pallet_broker::types::Finality, + }, + #[codec(index = 11)] + #[doc = "See [`Pallet::pool`]."] + pool { + region_id: runtime_types::pallet_broker::types::RegionId, + payee: ::subxt::utils::AccountId32, + finality: runtime_types::pallet_broker::types::Finality, + }, + #[codec(index = 12)] + #[doc = "See [`Pallet::claim_revenue`]."] + claim_revenue { + region_id: runtime_types::pallet_broker::types::RegionId, + max_timeslices: ::core::primitive::u32, + }, + #[codec(index = 13)] + #[doc = "See [`Pallet::purchase_credit`]."] + purchase_credit { + amount: ::core::primitive::u128, + beneficiary: ::subxt::utils::AccountId32, + }, + #[codec(index = 14)] + #[doc = "See [`Pallet::drop_region`]."] + drop_region { region_id: runtime_types::pallet_broker::types::RegionId }, + #[codec(index = 15)] + #[doc = "See [`Pallet::drop_contribution`]."] + drop_contribution { region_id: runtime_types::pallet_broker::types::RegionId }, + #[codec(index = 16)] + #[doc = "See [`Pallet::drop_history`]."] + drop_history { when: ::core::primitive::u32 }, + #[codec(index = 17)] + #[doc = "See [`Pallet::drop_renewal`]."] + drop_renewal { core: ::core::primitive::u16, when: ::core::primitive::u32 }, + #[codec(index = 18)] + #[doc = "See [`Pallet::request_core_count`]."] + request_core_count { core_count: ::core::primitive::u16 }, + #[codec(index = 19)] + #[doc = "See [`Pallet::notify_core_count`]."] + notify_core_count { core_count: ::core::primitive::u16 }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Error` enum of this pallet."] + pub enum Error { + #[codec(index = 0)] + #[doc = "The given region identity is not known."] + UnknownRegion, + #[codec(index = 1)] + #[doc = "The owner of the region is not the origin."] + NotOwner, + #[codec(index = 2)] + #[doc = "The pivot point of the partition at or after the end of the region."] + PivotTooLate, + #[codec(index = 3)] + #[doc = "The pivot point of the partition at the beginning of the region."] + PivotTooEarly, + #[codec(index = 4)] + #[doc = "The pivot mask for the interlacing is not contained within the region's interlace mask."] + ExteriorPivot, + #[codec(index = 5)] + #[doc = "The pivot mask for the interlacing is void (and therefore unschedulable)."] + VoidPivot, + #[codec(index = 6)] + #[doc = "The pivot mask for the interlacing is complete (and therefore not a strict subset)."] + CompletePivot, + #[codec(index = 7)] + #[doc = "The workplan of the pallet's state is invalid. This indicates a state corruption."] + CorruptWorkplan, + #[codec(index = 8)] + #[doc = "There is no sale happening currently."] + NoSales, + #[codec(index = 9)] + #[doc = "The price limit is exceeded."] + Overpriced, + #[codec(index = 10)] + #[doc = "There are no cores available."] + Unavailable, + #[codec(index = 11)] + #[doc = "The sale limit has been reached."] + SoldOut, + #[codec(index = 12)] + #[doc = "The renewal operation is not valid at the current time (it may become valid in the next"] + #[doc = "sale)."] + WrongTime, + #[codec(index = 13)] + #[doc = "Invalid attempt to renew."] + NotAllowed, + #[codec(index = 14)] + #[doc = "This pallet has not yet been initialized."] + Uninitialized, + #[codec(index = 15)] + #[doc = "The purchase cannot happen yet as the sale period is yet to begin."] + TooEarly, + #[codec(index = 16)] + #[doc = "There is no work to be done."] + NothingToDo, + #[codec(index = 17)] + #[doc = "The maximum amount of reservations has already been reached."] + TooManyReservations, + #[codec(index = 18)] + #[doc = "The maximum amount of leases has already been reached."] + TooManyLeases, + #[codec(index = 19)] + #[doc = "The revenue for the Instantaneous Core Sales of this period is not (yet) known and thus"] + #[doc = "this operation cannot proceed."] + UnknownRevenue, + #[codec(index = 20)] + #[doc = "The identified contribution to the Instantaneous Core Pool is unknown."] + UnknownContribution, + #[codec(index = 21)] + #[doc = "The workload assigned for renewal is incomplete. This is unexpected and indicates a"] + #[doc = "logic error."] + IncompleteAssignment, + #[codec(index = 22)] + #[doc = "An item cannot be dropped because it is still valid."] + StillValid, + #[codec(index = 23)] + #[doc = "The history item does not exist."] + NoHistory, + #[codec(index = 24)] + #[doc = "No reservation of the given index exists."] + UnknownReservation, + #[codec(index = 25)] + #[doc = "The renewal record cannot be found."] + UnknownRenewal, + #[codec(index = 26)] + #[doc = "The lease expiry time has already passed."] + AlreadyExpired, + #[codec(index = 27)] + #[doc = "The configuration could not be applied because it is invalid."] + InvalidConfig, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Event` enum of this pallet"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A Region of Bulk Coretime has been purchased."] + Purchased { + who: ::subxt::utils::AccountId32, + region_id: runtime_types::pallet_broker::types::RegionId, + price: ::core::primitive::u128, + duration: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "The workload of a core has become renewable."] + Renewable { + core: ::core::primitive::u16, + price: ::core::primitive::u128, + begin: ::core::primitive::u32, + workload: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_broker::types::ScheduleItem, + >, + }, + #[codec(index = 2)] + #[doc = "A workload has been renewed."] + Renewed { + who: ::subxt::utils::AccountId32, + price: ::core::primitive::u128, + old_core: ::core::primitive::u16, + core: ::core::primitive::u16, + begin: ::core::primitive::u32, + duration: ::core::primitive::u32, + workload: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_broker::types::ScheduleItem, + >, + }, + #[codec(index = 3)] + #[doc = "Ownership of a Region has been transferred."] + Transferred { + region_id: runtime_types::pallet_broker::types::RegionId, + duration: ::core::primitive::u32, + old_owner: ::subxt::utils::AccountId32, + owner: ::subxt::utils::AccountId32, + }, + #[codec(index = 4)] + #[doc = "A Region has been split into two non-overlapping Regions."] + Partitioned { + old_region_id: runtime_types::pallet_broker::types::RegionId, + new_region_ids: ( + runtime_types::pallet_broker::types::RegionId, + runtime_types::pallet_broker::types::RegionId, + ), + }, + #[codec(index = 5)] + #[doc = "A Region has been converted into two overlapping Regions each of lesser regularity."] + Interlaced { + old_region_id: runtime_types::pallet_broker::types::RegionId, + new_region_ids: ( + runtime_types::pallet_broker::types::RegionId, + runtime_types::pallet_broker::types::RegionId, + ), + }, + #[codec(index = 6)] + #[doc = "A Region has been assigned to a particular task."] + Assigned { + region_id: runtime_types::pallet_broker::types::RegionId, + duration: ::core::primitive::u32, + task: ::core::primitive::u32, + }, + #[codec(index = 7)] + #[doc = "A Region has been added to the Instantaneous Coretime Pool."] + Pooled { + region_id: runtime_types::pallet_broker::types::RegionId, + duration: ::core::primitive::u32, + }, + #[codec(index = 8)] + #[doc = "A new number of cores has been requested."] + CoreCountRequested { core_count: ::core::primitive::u16 }, + #[codec(index = 9)] + #[doc = "The number of cores available for scheduling has changed."] + CoreCountChanged { core_count: ::core::primitive::u16 }, + #[codec(index = 10)] + #[doc = "There is a new reservation for a workload."] + ReservationMade { + index: ::core::primitive::u32, + workload: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_broker::types::ScheduleItem, + >, + }, + #[codec(index = 11)] + #[doc = "A reservation for a workload has been cancelled."] + ReservationCancelled { + index: ::core::primitive::u32, + workload: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_broker::types::ScheduleItem, + >, + }, + #[codec(index = 12)] + #[doc = "A new sale has been initialized."] + SaleInitialized { + sale_start: ::core::primitive::u32, + leadin_length: ::core::primitive::u32, + start_price: ::core::primitive::u128, + regular_price: ::core::primitive::u128, + region_begin: ::core::primitive::u32, + region_end: ::core::primitive::u32, + ideal_cores_sold: ::core::primitive::u16, + cores_offered: ::core::primitive::u16, + }, + #[codec(index = 13)] + #[doc = "A new lease has been created."] + Leased { task: ::core::primitive::u32, until: ::core::primitive::u32 }, + #[codec(index = 14)] + #[doc = "A lease is about to end."] + LeaseEnding { task: ::core::primitive::u32, when: ::core::primitive::u32 }, + #[codec(index = 15)] + #[doc = "The sale rotation has been started and a new sale is imminent."] + SalesStarted { + price: ::core::primitive::u128, + core_count: ::core::primitive::u16, + }, + #[codec(index = 16)] + #[doc = "The act of claiming revenue has begun."] + RevenueClaimBegun { + region: runtime_types::pallet_broker::types::RegionId, + max_timeslices: ::core::primitive::u32, + }, + #[codec(index = 17)] + #[doc = "A particular timeslice has a non-zero claim."] + RevenueClaimItem { + when: ::core::primitive::u32, + amount: ::core::primitive::u128, + }, + #[codec(index = 18)] + #[doc = "A revenue claim has (possibly only in part) been paid."] + RevenueClaimPaid { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + next: ::core::option::Option, + }, + #[codec(index = 19)] + #[doc = "Some Instantaneous Coretime Pool credit has been purchased."] + CreditPurchased { + who: ::subxt::utils::AccountId32, + beneficiary: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 20)] + #[doc = "A Region has been dropped due to being out of date."] + RegionDropped { + region_id: runtime_types::pallet_broker::types::RegionId, + duration: ::core::primitive::u32, + }, + #[codec(index = 21)] + #[doc = "Some historical Instantaneous Core Pool contribution record has been dropped."] + ContributionDropped { region_id: runtime_types::pallet_broker::types::RegionId }, + #[codec(index = 22)] + #[doc = "Some historical Instantaneous Core Pool payment record has been initialized."] + HistoryInitialized { + when: ::core::primitive::u32, + private_pool_size: ::core::primitive::u32, + system_pool_size: ::core::primitive::u32, + }, + #[codec(index = 23)] + #[doc = "Some historical Instantaneous Core Pool payment record has been dropped."] + HistoryDropped { + when: ::core::primitive::u32, + revenue: ::core::primitive::u128, + }, + #[codec(index = 24)] + #[doc = "Some historical Instantaneous Core Pool payment record has been ignored because the"] + #[doc = "timeslice was already known. Governance may need to intervene."] + HistoryIgnored { + when: ::core::primitive::u32, + revenue: ::core::primitive::u128, + }, + #[codec(index = 25)] + #[doc = "Some historical Instantaneous Core Pool Revenue is ready for payout claims."] + ClaimsReady { + when: ::core::primitive::u32, + system_payout: ::core::primitive::u128, + private_payout: ::core::primitive::u128, + }, + #[codec(index = 26)] + #[doc = "A Core has been assigned to one or more tasks and/or the Pool on the Relay-chain."] + CoreAssigned { + core: ::core::primitive::u16, + when: ::core::primitive::u32, + assignment: ::std::vec::Vec<( + runtime_types::pallet_broker::coretime_interface::CoreAssignment, + ::core::primitive::u16, + )>, + }, + #[codec(index = 27)] + #[doc = "Some historical Instantaneous Core Pool payment record has been dropped."] + AllowedRenewalDropped { + when: ::core::primitive::u32, + core: ::core::primitive::u16, + }, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AllowedRenewalId { + pub core: ::core::primitive::u16, + pub when: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AllowedRenewalRecord<_0> { + pub price: _0, + pub completion: runtime_types::pallet_broker::types::CompletionStatus, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum CompletionStatus { + #[codec(index = 0)] + Partial(runtime_types::pallet_broker::core_mask::CoreMask), + #[codec(index = 1)] + Complete( + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_broker::types::ScheduleItem, + >, + ), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ConfigRecord<_0, _1> { + pub advance_notice: _1, + pub interlude_length: _0, + pub leadin_length: _0, + pub region_length: ::core::primitive::u32, + pub ideal_bulk_proportion: runtime_types::sp_arithmetic::per_things::Perbill, + pub limit_cores_offered: ::core::option::Option<::core::primitive::u16>, + pub renewal_bump: runtime_types::sp_arithmetic::per_things::Perbill, + pub contribution_timeout: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ContributionRecord<_0> { + pub length: ::core::primitive::u32, + pub payee: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Finality { + #[codec(index = 0)] + Provisional, + #[codec(index = 1)] + Final, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct InstaPoolHistoryRecord<_0> { + pub private_contributions: ::core::primitive::u32, + pub system_contributions: ::core::primitive::u32, + pub maybe_payout: ::core::option::Option<_0>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct LeaseRecordItem { + pub until: ::core::primitive::u32, + pub task: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PoolIoRecord { + pub private: ::core::primitive::i32, + pub system: ::core::primitive::i32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RegionId { + pub begin: ::core::primitive::u32, + pub core: ::core::primitive::u16, + pub mask: runtime_types::pallet_broker::core_mask::CoreMask, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RegionRecord<_0, _1> { + pub end: ::core::primitive::u32, + pub owner: _0, + pub paid: ::core::option::Option<_1>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SaleInfoRecord<_0, _1> { + pub sale_start: _1, + pub leadin_length: _1, + pub price: _0, + pub region_begin: ::core::primitive::u32, + pub region_end: ::core::primitive::u32, + pub ideal_cores_sold: ::core::primitive::u16, + pub cores_offered: ::core::primitive::u16, + pub first_core: ::core::primitive::u16, + pub sellout_price: ::core::option::Option<_0>, + pub cores_sold: ::core::primitive::u16, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ScheduleItem { + pub mask: runtime_types::pallet_broker::core_mask::CoreMask, + pub assignment: + runtime_types::pallet_broker::coretime_interface::CoreAssignment, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct StatusRecord { + pub core_count: ::core::primitive::u16, + pub private_pool_size: ::core::primitive::u32, + pub system_pool_size: ::core::primitive::u32, + pub last_committed_timeslice: ::core::primitive::u32, + pub last_timeslice: ::core::primitive::u32, + } + } + } + pub mod pallet_collator_selection { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub enum Call { + #[codec(index = 0)] + #[doc = "See [`Pallet::set_invulnerables`]."] + set_invulnerables { new: ::std::vec::Vec<::subxt::utils::AccountId32> }, + #[codec(index = 1)] + #[doc = "See [`Pallet::set_desired_candidates`]."] + set_desired_candidates { max: ::core::primitive::u32 }, + #[codec(index = 2)] + #[doc = "See [`Pallet::set_candidacy_bond`]."] + set_candidacy_bond { bond: ::core::primitive::u128 }, + #[codec(index = 3)] + #[doc = "See [`Pallet::register_as_candidate`]."] + register_as_candidate, + #[codec(index = 4)] + #[doc = "See [`Pallet::leave_intent`]."] + leave_intent, + #[codec(index = 5)] + #[doc = "See [`Pallet::add_invulnerable`]."] + add_invulnerable { who: ::subxt::utils::AccountId32 }, + #[codec(index = 6)] + #[doc = "See [`Pallet::remove_invulnerable`]."] + remove_invulnerable { who: ::subxt::utils::AccountId32 }, + #[codec(index = 7)] + #[doc = "See [`Pallet::update_bond`]."] + update_bond { new_deposit: ::core::primitive::u128 }, + #[codec(index = 8)] + #[doc = "See [`Pallet::take_candidate_slot`]."] + take_candidate_slot { + deposit: ::core::primitive::u128, + target: ::subxt::utils::AccountId32, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CandidateInfo<_0, _1> { + pub who: _0, + pub deposit: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Error` enum of this pallet."] + pub enum Error { + #[codec(index = 0)] + #[doc = "The pallet has too many candidates."] + TooManyCandidates, + #[codec(index = 1)] + #[doc = "Leaving would result in too few candidates."] + TooFewEligibleCollators, + #[codec(index = 2)] + #[doc = "Account is already a candidate."] + AlreadyCandidate, + #[codec(index = 3)] + #[doc = "Account is not a candidate."] + NotCandidate, + #[codec(index = 4)] + #[doc = "There are too many Invulnerables."] + TooManyInvulnerables, + #[codec(index = 5)] + #[doc = "Account is already an Invulnerable."] + AlreadyInvulnerable, + #[codec(index = 6)] + #[doc = "Account is not an Invulnerable."] + NotInvulnerable, + #[codec(index = 7)] + #[doc = "Account has no associated validator ID."] + NoAssociatedValidatorId, + #[codec(index = 8)] + #[doc = "Validator ID is not yet registered."] + ValidatorNotRegistered, + #[codec(index = 9)] + #[doc = "Could not insert in the candidate list."] + InsertToCandidateListFailed, + #[codec(index = 10)] + #[doc = "Could not remove from the candidate list."] + RemoveFromCandidateListFailed, + #[codec(index = 11)] + #[doc = "New deposit amount would be below the minimum candidacy bond."] + DepositTooLow, + #[codec(index = 12)] + #[doc = "Could not update the candidate list."] + UpdateCandidateListFailed, + #[codec(index = 13)] + #[doc = "Deposit amount is too low to take the target's slot in the candidate list."] + InsufficientBond, + #[codec(index = 14)] + #[doc = "The target account to be replaced in the candidate list is not a candidate."] + TargetIsNotCandidate, + #[codec(index = 15)] + #[doc = "The updated deposit amount is equal to the amount already reserved."] + IdenticalDeposit, + #[codec(index = 16)] + #[doc = "Cannot lower candidacy bond while occupying a future collator slot in the list."] + InvalidUnreserve, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Event` enum of this pallet"] + pub enum Event { + #[codec(index = 0)] + #[doc = "New Invulnerables were set."] + NewInvulnerables { invulnerables: ::std::vec::Vec<::subxt::utils::AccountId32> }, + #[codec(index = 1)] + #[doc = "A new Invulnerable was added."] + InvulnerableAdded { account_id: ::subxt::utils::AccountId32 }, + #[codec(index = 2)] + #[doc = "An Invulnerable was removed."] + InvulnerableRemoved { account_id: ::subxt::utils::AccountId32 }, + #[codec(index = 3)] + #[doc = "The number of desired candidates was set."] + NewDesiredCandidates { desired_candidates: ::core::primitive::u32 }, + #[codec(index = 4)] + #[doc = "The candidacy bond was set."] + NewCandidacyBond { bond_amount: ::core::primitive::u128 }, + #[codec(index = 5)] + #[doc = "A new candidate joined."] + CandidateAdded { + account_id: ::subxt::utils::AccountId32, + deposit: ::core::primitive::u128, + }, + #[codec(index = 6)] + #[doc = "Bond of a candidate updated."] + CandidateBondUpdated { + account_id: ::subxt::utils::AccountId32, + deposit: ::core::primitive::u128, + }, + #[codec(index = 7)] + #[doc = "A candidate was removed."] + CandidateRemoved { account_id: ::subxt::utils::AccountId32 }, + #[codec(index = 8)] + #[doc = "An account was replaced in the candidate list by another one."] + CandidateReplaced { + old: ::subxt::utils::AccountId32, + new: ::subxt::utils::AccountId32, + deposit: ::core::primitive::u128, + }, + #[codec(index = 9)] + #[doc = "An account was unable to be added to the Invulnerables because they did not have keys"] + #[doc = "registered. Other Invulnerables may have been set."] + InvalidInvulnerableSkipped { account_id: ::subxt::utils::AccountId32 }, + } + } + } + pub mod pallet_message_queue { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub enum Call { + #[codec(index = 0)] + #[doc = "See [`Pallet::reap_page`]."] + reap_page { + message_origin: + runtime_types::cumulus_primitives_core::AggregateMessageOrigin, + page_index: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "See [`Pallet::execute_overweight`]."] + execute_overweight { + message_origin: + runtime_types::cumulus_primitives_core::AggregateMessageOrigin, + page: ::core::primitive::u32, + index: ::core::primitive::u32, + weight_limit: runtime_types::sp_weights::weight_v2::Weight, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Error` enum of this pallet."] + pub enum Error { + #[codec(index = 0)] + #[doc = "Page is not reapable because it has items remaining to be processed and is not old"] + #[doc = "enough."] + NotReapable, + #[codec(index = 1)] + #[doc = "Page to be reaped does not exist."] + NoPage, + #[codec(index = 2)] + #[doc = "The referenced message could not be found."] + NoMessage, + #[codec(index = 3)] + #[doc = "The message was already processed and cannot be processed again."] + AlreadyProcessed, + #[codec(index = 4)] + #[doc = "The message is queued for future execution."] + Queued, + #[codec(index = 5)] + #[doc = "There is temporarily not enough weight to continue servicing messages."] + InsufficientWeight, + #[codec(index = 6)] + #[doc = "This message is temporarily unprocessable."] + #[doc = ""] + #[doc = "Such errors are expected, but not guaranteed, to resolve themselves eventually through"] + #[doc = "retrying."] + TemporarilyUnprocessable, + #[codec(index = 7)] + #[doc = "The queue is paused and no message can be executed from it."] + #[doc = ""] + #[doc = "This can change at any time and may resolve in the future by re-trying."] + QueuePaused, + #[codec(index = 8)] + #[doc = "Another call is in progress and needs to finish before this call can happen."] + RecursiveDisallowed, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Event` enum of this pallet"] + pub enum Event { + #[codec(index = 0)] + #[doc = "Message discarded due to an error in the `MessageProcessor` (usually a format error)."] + ProcessingFailed { + id: ::subxt::utils::H256, + origin: runtime_types::cumulus_primitives_core::AggregateMessageOrigin, + error: runtime_types::frame_support::traits::messages::ProcessMessageError, + }, + #[codec(index = 1)] + #[doc = "Message is processed."] + Processed { + id: ::subxt::utils::H256, + origin: runtime_types::cumulus_primitives_core::AggregateMessageOrigin, + weight_used: runtime_types::sp_weights::weight_v2::Weight, + success: ::core::primitive::bool, + }, + #[codec(index = 2)] + #[doc = "Message placed in overweight queue."] + OverweightEnqueued { + id: [::core::primitive::u8; 32usize], + origin: runtime_types::cumulus_primitives_core::AggregateMessageOrigin, + page_index: ::core::primitive::u32, + message_index: ::core::primitive::u32, + }, + #[codec(index = 3)] + #[doc = "This page was reaped."] + PageReaped { + origin: runtime_types::cumulus_primitives_core::AggregateMessageOrigin, + index: ::core::primitive::u32, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BookState<_0> { + pub begin: ::core::primitive::u32, + pub end: ::core::primitive::u32, + pub count: ::core::primitive::u32, + pub ready_neighbours: + ::core::option::Option>, + pub message_count: ::core::primitive::u64, + pub size: ::core::primitive::u64, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Neighbours<_0> { + pub prev: _0, + pub next: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub enum Call { + #[codec(index = 0)] + #[doc = "See [`Pallet::as_multi_threshold_1`]."] + as_multi_threshold_1 { + other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + call: + ::std::boxed::Box, + }, + #[codec(index = 1)] + #[doc = "See [`Pallet::as_multi`]."] + as_multi { + threshold: ::core::primitive::u16, + other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + maybe_timepoint: ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + >, + call: + ::std::boxed::Box, + max_weight: runtime_types::sp_weights::weight_v2::Weight, + }, + #[codec(index = 2)] + #[doc = "See [`Pallet::approve_as_multi`]."] + approve_as_multi { + threshold: ::core::primitive::u16, + other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + maybe_timepoint: ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + >, + call_hash: [::core::primitive::u8; 32usize], + max_weight: runtime_types::sp_weights::weight_v2::Weight, + }, + #[codec(index = 3)] + #[doc = "See [`Pallet::cancel_as_multi`]."] + cancel_as_multi { + threshold: ::core::primitive::u16, + other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + timepoint: + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + call_hash: [::core::primitive::u8; 32usize], + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Error` enum of this pallet."] + pub enum Error { + #[codec(index = 0)] + #[doc = "Threshold must be 2 or greater."] + MinimumThreshold, + #[codec(index = 1)] + #[doc = "Call is already approved by this signatory."] + AlreadyApproved, + #[codec(index = 2)] + #[doc = "Call doesn't need any (more) approvals."] + NoApprovalsNeeded, + #[codec(index = 3)] + #[doc = "There are too few signatories in the list."] + TooFewSignatories, + #[codec(index = 4)] + #[doc = "There are too many signatories in the list."] + TooManySignatories, + #[codec(index = 5)] + #[doc = "The signatories were provided out of order; they should be ordered."] + SignatoriesOutOfOrder, + #[codec(index = 6)] + #[doc = "The sender was contained in the other signatories; it shouldn't be."] + SenderInSignatories, + #[codec(index = 7)] + #[doc = "Multisig operation not found when attempting to cancel."] + NotFound, + #[codec(index = 8)] + #[doc = "Only the account that originally created the multisig is able to cancel it."] + NotOwner, + #[codec(index = 9)] + #[doc = "No timepoint was given, yet the multisig operation is already underway."] + NoTimepoint, + #[codec(index = 10)] + #[doc = "A different timepoint was given to the multisig operation that is underway."] + WrongTimepoint, + #[codec(index = 11)] + #[doc = "A timepoint was given, yet no multisig operation is underway."] + UnexpectedTimepoint, + #[codec(index = 12)] + #[doc = "The maximum weight information provided was too low."] + MaxWeightTooLow, + #[codec(index = 13)] + #[doc = "The data to be stored is already stored."] + AlreadyStored, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Event` enum of this pallet"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A new multisig operation has begun."] + NewMultisig { + approving: ::subxt::utils::AccountId32, + multisig: ::subxt::utils::AccountId32, + call_hash: [::core::primitive::u8; 32usize], + }, + #[codec(index = 1)] + #[doc = "A multisig operation has been approved by someone."] + MultisigApproval { + approving: ::subxt::utils::AccountId32, + timepoint: + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + multisig: ::subxt::utils::AccountId32, + call_hash: [::core::primitive::u8; 32usize], + }, + #[codec(index = 2)] + #[doc = "A multisig operation has been executed."] + MultisigExecuted { + approving: ::subxt::utils::AccountId32, + timepoint: + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + multisig: ::subxt::utils::AccountId32, + call_hash: [::core::primitive::u8; 32usize], + result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + }, + #[codec(index = 3)] + #[doc = "A multisig operation has been cancelled."] + MultisigCancelled { + cancelling: ::subxt::utils::AccountId32, + timepoint: + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + multisig: ::subxt::utils::AccountId32, + call_hash: [::core::primitive::u8; 32usize], + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Timepoint<_0> { + pub height: _0, + pub index: ::core::primitive::u32, + } + } + pub mod pallet_session { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub enum Call { + #[codec(index = 0)] + #[doc = "See [`Pallet::set_keys`]."] + set_keys { + keys: runtime_types::coretime_rococo_runtime::SessionKeys, + proof: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 1)] + #[doc = "See [`Pallet::purge_keys`]."] + purge_keys, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Error for the session pallet."] + pub enum Error { + #[codec(index = 0)] + #[doc = "Invalid ownership proof."] + InvalidProof, + #[codec(index = 1)] + #[doc = "No associated validator ID for account."] + NoAssociatedValidatorId, + #[codec(index = 2)] + #[doc = "Registered duplicate key."] + DuplicatedKey, + #[codec(index = 3)] + #[doc = "No keys are associated with this account."] + NoKeys, + #[codec(index = 4)] + #[doc = "Key setting account is not live, so it's impossible to associate keys."] + NoAccount, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Event` enum of this pallet"] + pub enum Event { + #[codec(index = 0)] + #[doc = "New session has happened. Note that the argument is the session index, not the"] + #[doc = "block number as the type might suggest."] + NewSession { session_index: ::core::primitive::u32 }, + } + } + } + pub mod pallet_sudo { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub enum Call { + #[codec(index = 0)] + #[doc = "See [`Pallet::sudo`]."] + sudo { + call: + ::std::boxed::Box, + }, + #[codec(index = 1)] + #[doc = "See [`Pallet::sudo_unchecked_weight`]."] + sudo_unchecked_weight { + call: + ::std::boxed::Box, + weight: runtime_types::sp_weights::weight_v2::Weight, + }, + #[codec(index = 2)] + #[doc = "See [`Pallet::set_key`]."] + set_key { new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()> }, + #[codec(index = 3)] + #[doc = "See [`Pallet::sudo_as`]."] + sudo_as { + who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + call: + ::std::boxed::Box, + }, + #[codec(index = 4)] + #[doc = "See [`Pallet::remove_key`]."] + remove_key, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Error for the Sudo pallet."] + pub enum Error { + #[codec(index = 0)] + #[doc = "Sender must be the Sudo account."] + RequireSudo, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Event` enum of this pallet"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A sudo call just took place."] + Sudid { + sudo_result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + }, + #[codec(index = 1)] + #[doc = "The sudo key has been updated."] + KeyChanged { + old: ::core::option::Option<::subxt::utils::AccountId32>, + new: ::subxt::utils::AccountId32, + }, + #[codec(index = 2)] + #[doc = "The key was permanently removed."] + KeyRemoved, + #[codec(index = 3)] + #[doc = "A [sudo_as](Pallet::sudo_as) call just took place."] + 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub enum Call { + #[codec(index = 0)] + #[doc = "See [`Pallet::set`]."] + set { + #[codec(compact)] + now: ::core::primitive::u64, + }, + } + } + } + pub mod pallet_transaction_payment { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Event` enum of this pallet"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"] + #[doc = "has been paid by `who`."] + TransactionFeePaid { + who: ::subxt::utils::AccountId32, + actual_fee: ::core::primitive::u128, + tip: ::core::primitive::u128, + }, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct FeeDetails<_0> { + pub inclusion_fee: ::core::option::Option< + runtime_types::pallet_transaction_payment::types::InclusionFee<_0>, + >, + pub tip: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct InclusionFee<_0> { + pub base_fee: _0, + pub len_fee: _0, + pub adjusted_weight_fee: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RuntimeDispatchInfo<_0, _1> { + pub weight: _1, + pub class: runtime_types::frame_support::dispatch::DispatchClass, + pub partial_fee: _0, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ChargeTransactionPayment(#[codec(compact)] pub ::core::primitive::u128); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Releases { + #[codec(index = 0)] + V1Ancient, + #[codec(index = 1)] + V2, + } + } + pub mod pallet_utility { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub enum Call { + #[codec(index = 0)] + #[doc = "See [`Pallet::batch`]."] + batch { + calls: ::std::vec::Vec, + }, + #[codec(index = 1)] + #[doc = "See [`Pallet::as_derivative`]."] + as_derivative { + index: ::core::primitive::u16, + call: + ::std::boxed::Box, + }, + #[codec(index = 2)] + #[doc = "See [`Pallet::batch_all`]."] + batch_all { + calls: ::std::vec::Vec, + }, + #[codec(index = 3)] + #[doc = "See [`Pallet::dispatch_as`]."] + dispatch_as { + as_origin: + ::std::boxed::Box, + call: + ::std::boxed::Box, + }, + #[codec(index = 4)] + #[doc = "See [`Pallet::force_batch`]."] + force_batch { + calls: ::std::vec::Vec, + }, + #[codec(index = 5)] + #[doc = "See [`Pallet::with_weight`]."] + with_weight { + call: + ::std::boxed::Box, + weight: runtime_types::sp_weights::weight_v2::Weight, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Error` enum of this pallet."] + pub enum Error { + #[codec(index = 0)] + #[doc = "Too many calls batched."] + TooManyCalls, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Event` enum of this pallet"] + pub enum Event { + #[codec(index = 0)] + #[doc = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"] + #[doc = "well as the error."] + BatchInterrupted { + index: ::core::primitive::u32, + error: runtime_types::sp_runtime::DispatchError, + }, + #[codec(index = 1)] + #[doc = "Batch of dispatches completed fully with no error."] + BatchCompleted, + #[codec(index = 2)] + #[doc = "Batch of dispatches completed but has errors."] + BatchCompletedWithErrors, + #[codec(index = 3)] + #[doc = "A single item within a Batch of dispatches has completed with no error."] + ItemCompleted, + #[codec(index = 4)] + #[doc = "A single item within a Batch of dispatches has completed with error."] + ItemFailed { error: runtime_types::sp_runtime::DispatchError }, + #[codec(index = 5)] + #[doc = "A call was dispatched."] + 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub enum Call { + #[codec(index = 0)] + #[doc = "See [`Pallet::send`]."] + send { + dest: ::std::boxed::Box, + message: ::std::boxed::Box, + }, + #[codec(index = 1)] + #[doc = "See [`Pallet::teleport_assets`]."] + teleport_assets { + dest: ::std::boxed::Box, + beneficiary: ::std::boxed::Box, + assets: ::std::boxed::Box, + fee_asset_item: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "See [`Pallet::reserve_transfer_assets`]."] + reserve_transfer_assets { + dest: ::std::boxed::Box, + beneficiary: ::std::boxed::Box, + assets: ::std::boxed::Box, + fee_asset_item: ::core::primitive::u32, + }, + #[codec(index = 3)] + #[doc = "See [`Pallet::execute`]."] + execute { + message: ::std::boxed::Box, + max_weight: runtime_types::sp_weights::weight_v2::Weight, + }, + #[codec(index = 4)] + #[doc = "See [`Pallet::force_xcm_version`]."] + force_xcm_version { + location: + ::std::boxed::Box, + version: ::core::primitive::u32, + }, + #[codec(index = 5)] + #[doc = "See [`Pallet::force_default_xcm_version`]."] + force_default_xcm_version { + maybe_xcm_version: ::core::option::Option<::core::primitive::u32>, + }, + #[codec(index = 6)] + #[doc = "See [`Pallet::force_subscribe_version_notify`]."] + force_subscribe_version_notify { + location: ::std::boxed::Box, + }, + #[codec(index = 7)] + #[doc = "See [`Pallet::force_unsubscribe_version_notify`]."] + force_unsubscribe_version_notify { + location: ::std::boxed::Box, + }, + #[codec(index = 8)] + #[doc = "See [`Pallet::limited_reserve_transfer_assets`]."] + limited_reserve_transfer_assets { + dest: ::std::boxed::Box, + beneficiary: ::std::boxed::Box, + assets: ::std::boxed::Box, + fee_asset_item: ::core::primitive::u32, + weight_limit: runtime_types::xcm::v3::WeightLimit, + }, + #[codec(index = 9)] + #[doc = "See [`Pallet::limited_teleport_assets`]."] + limited_teleport_assets { + dest: ::std::boxed::Box, + beneficiary: ::std::boxed::Box, + assets: ::std::boxed::Box, + fee_asset_item: ::core::primitive::u32, + weight_limit: runtime_types::xcm::v3::WeightLimit, + }, + #[codec(index = 10)] + #[doc = "See [`Pallet::force_suspension`]."] + force_suspension { suspended: ::core::primitive::bool }, + #[codec(index = 11)] + #[doc = "See [`Pallet::transfer_assets`]."] + transfer_assets { + dest: ::std::boxed::Box, + beneficiary: ::std::boxed::Box, + assets: ::std::boxed::Box, + fee_asset_item: ::core::primitive::u32, + weight_limit: runtime_types::xcm::v3::WeightLimit, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Error` enum of this pallet."] + pub enum Error { + #[codec(index = 0)] + #[doc = "The desired destination was unreachable, generally because there is a no way of routing"] + #[doc = "to it."] + Unreachable, + #[codec(index = 1)] + #[doc = "There was some other issue (i.e. not to do with routing) in sending the message."] + #[doc = "Perhaps a lack of space for buffering the message."] + SendFailure, + #[codec(index = 2)] + #[doc = "The message execution fails the filter."] + Filtered, + #[codec(index = 3)] + #[doc = "The message's weight could not be determined."] + UnweighableMessage, + #[codec(index = 4)] + #[doc = "The destination `Location` provided cannot be inverted."] + DestinationNotInvertible, + #[codec(index = 5)] + #[doc = "The assets to be sent are empty."] + Empty, + #[codec(index = 6)] + #[doc = "Could not re-anchor the assets to declare the fees for the destination chain."] + CannotReanchor, + #[codec(index = 7)] + #[doc = "Too many assets have been attempted for transfer."] + TooManyAssets, + #[codec(index = 8)] + #[doc = "Origin is invalid for sending."] + InvalidOrigin, + #[codec(index = 9)] + #[doc = "The version of the `Versioned` value used is not able to be interpreted."] + BadVersion, + #[codec(index = 10)] + #[doc = "The given location could not be used (e.g. because it cannot be expressed in the"] + #[doc = "desired version of XCM)."] + BadLocation, + #[codec(index = 11)] + #[doc = "The referenced subscription could not be found."] + NoSubscription, + #[codec(index = 12)] + #[doc = "The location is invalid since it already has a subscription from us."] + AlreadySubscribed, + #[codec(index = 13)] + #[doc = "Could not check-out the assets for teleportation to the destination chain."] + CannotCheckOutTeleport, + #[codec(index = 14)] + #[doc = "The owner does not own (all) of the asset that they wish to do the operation on."] + LowBalance, + #[codec(index = 15)] + #[doc = "The asset owner has too many locks on the asset."] + TooManyLocks, + #[codec(index = 16)] + #[doc = "The given account is not an identifiable sovereign account for any location."] + AccountNotSovereign, + #[codec(index = 17)] + #[doc = "The operation required fees to be paid which the initiator could not meet."] + FeesNotMet, + #[codec(index = 18)] + #[doc = "A remote lock with the corresponding data could not be found."] + LockNotFound, + #[codec(index = 19)] + #[doc = "The unlock operation cannot succeed because there are still consumers of the lock."] + InUse, + #[codec(index = 20)] + #[doc = "Invalid non-concrete asset."] + InvalidAssetNotConcrete, + #[codec(index = 21)] + #[doc = "Invalid asset, reserve chain could not be determined for it."] + InvalidAssetUnknownReserve, + #[codec(index = 22)] + #[doc = "Invalid asset, do not support remote asset reserves with different fees reserves."] + InvalidAssetUnsupportedReserve, + #[codec(index = 23)] + #[doc = "Too many assets with different reserve locations have been attempted for transfer."] + TooManyReserves, + #[codec(index = 24)] + #[doc = "Local XCM execution incomplete."] + LocalExecutionIncomplete, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Event` enum of this pallet"] + pub enum Event { + #[codec(index = 0)] + #[doc = "Execution of an XCM message was attempted."] + Attempted { outcome: runtime_types::staging_xcm::v4::traits::Outcome }, + #[codec(index = 1)] + #[doc = "A XCM message was sent."] + 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)] + #[doc = "Query response received which does not match a registered query. This may be because a"] + #[doc = "matching query was never registered, it may be because it is a duplicate response, or"] + #[doc = "because the query timed out."] + UnexpectedResponse { + origin: runtime_types::staging_xcm::v4::location::Location, + query_id: ::core::primitive::u64, + }, + #[codec(index = 3)] + #[doc = "Query response has been received and is ready for taking with `take_response`. There is"] + #[doc = "no registered notification call."] + ResponseReady { + query_id: ::core::primitive::u64, + response: runtime_types::staging_xcm::v4::Response, + }, + #[codec(index = 4)] + #[doc = "Query response has been received and query is removed. The registered notification has"] + #[doc = "been dispatched and executed successfully."] + Notified { + query_id: ::core::primitive::u64, + pallet_index: ::core::primitive::u8, + call_index: ::core::primitive::u8, + }, + #[codec(index = 5)] + #[doc = "Query response has been received and query is removed. The registered notification"] + #[doc = "could not be dispatched because the dispatch weight is greater than the maximum weight"] + #[doc = "originally budgeted by this runtime for the query result."] + NotifyOverweight { + query_id: ::core::primitive::u64, + pallet_index: ::core::primitive::u8, + call_index: ::core::primitive::u8, + actual_weight: runtime_types::sp_weights::weight_v2::Weight, + max_budgeted_weight: runtime_types::sp_weights::weight_v2::Weight, + }, + #[codec(index = 6)] + #[doc = "Query response has been received and query is removed. There was a general error with"] + #[doc = "dispatching the notification call."] + NotifyDispatchError { + query_id: ::core::primitive::u64, + pallet_index: ::core::primitive::u8, + call_index: ::core::primitive::u8, + }, + #[codec(index = 7)] + #[doc = "Query response has been received and query is removed. The dispatch was unable to be"] + #[doc = "decoded into a `Call`; this might be due to dispatch function having a signature which"] + #[doc = "is not `(origin, QueryId, Response)`."] + NotifyDecodeFailed { + query_id: ::core::primitive::u64, + pallet_index: ::core::primitive::u8, + call_index: ::core::primitive::u8, + }, + #[codec(index = 8)] + #[doc = "Expected query response has been received but the origin location of the response does"] + #[doc = "not match that expected. The query remains registered for a later, valid, response to"] + #[doc = "be received and acted upon."] + 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)] + #[doc = "Expected query response has been received but the expected origin location placed in"] + #[doc = "storage by this runtime previously cannot be decoded. The query remains registered."] + #[doc = ""] + #[doc = "This is unexpected (since a location placed in storage in a previously executing"] + #[doc = "runtime should be readable prior to query timeout) and dangerous since the possibly"] + #[doc = "valid response will be dropped. Manual governance intervention is probably going to be"] + #[doc = "needed."] + InvalidResponderVersion { + origin: runtime_types::staging_xcm::v4::location::Location, + query_id: ::core::primitive::u64, + }, + #[codec(index = 10)] + #[doc = "Received query response has been read and removed."] + ResponseTaken { query_id: ::core::primitive::u64 }, + #[codec(index = 11)] + #[doc = "Some assets have been placed in an asset trap."] + AssetsTrapped { + hash: ::subxt::utils::H256, + origin: runtime_types::staging_xcm::v4::location::Location, + assets: runtime_types::xcm::VersionedAssets, + }, + #[codec(index = 12)] + #[doc = "An XCM version change notification message has been attempted to be sent."] + #[doc = ""] + #[doc = "The cost of sending it (borne by the chain) is included."] + 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)] + #[doc = "The supported version of a location has been changed. This might be through an"] + #[doc = "automatic notification or a manual intervention."] + SupportedVersionChanged { + location: runtime_types::staging_xcm::v4::location::Location, + version: ::core::primitive::u32, + }, + #[codec(index = 14)] + #[doc = "A given location which had a version change subscription was dropped owing to an error"] + #[doc = "sending the notification to it."] + NotifyTargetSendFail { + location: runtime_types::staging_xcm::v4::location::Location, + query_id: ::core::primitive::u64, + error: runtime_types::xcm::v3::traits::Error, + }, + #[codec(index = 15)] + #[doc = "A given location which had a version change subscription was dropped owing to an error"] + #[doc = "migrating the location to our new XCM format."] + NotifyTargetMigrationFail { + location: runtime_types::xcm::VersionedLocation, + query_id: ::core::primitive::u64, + }, + #[codec(index = 16)] + #[doc = "Expected query response has been received but the expected querier location placed in"] + #[doc = "storage by this runtime previously cannot be decoded. The query remains registered."] + #[doc = ""] + #[doc = "This is unexpected (since a location placed in storage in a previously executing"] + #[doc = "runtime should be readable prior to query timeout) and dangerous since the possibly"] + #[doc = "valid response will be dropped. Manual governance intervention is probably going to be"] + #[doc = "needed."] + InvalidQuerierVersion { + origin: runtime_types::staging_xcm::v4::location::Location, + query_id: ::core::primitive::u64, + }, + #[codec(index = 17)] + #[doc = "Expected query response has been received but the querier location of the response does"] + #[doc = "not match the expected. The query remains registered for a later, valid, response to"] + #[doc = "be received and acted upon."] + 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)] + #[doc = "A remote has requested XCM version change notification from us and we have honored it."] + #[doc = "A version information message is sent to them and its cost is included."] + 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)] + #[doc = "We have requested that a remote chain send us XCM version change notifications."] + 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)] + #[doc = "We have requested that a remote chain stops sending us XCM version change"] + #[doc = "notifications."] + 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)] + #[doc = "Fees were paid from a location for an operation (often for using `SendXcm`)."] + FeesPaid { + paying: runtime_types::staging_xcm::v4::location::Location, + fees: runtime_types::staging_xcm::v4::asset::Assets, + }, + #[codec(index = 22)] + #[doc = "Some assets have been claimed from an asset trap"] + AssetsClaimed { + hash: ::subxt::utils::H256, + origin: runtime_types::staging_xcm::v4::location::Location, + assets: runtime_types::xcm::VersionedAssets, + }, + #[codec(index = 23)] + #[doc = "A XCM version migration finished."] + VersionMigrationFinished { version: ::core::primitive::u32 }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Origin { + #[codec(index = 0)] + Xcm(runtime_types::staging_xcm::v4::location::Location), + #[codec(index = 1)] + Response(runtime_types::staging_xcm::v4::location::Location), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum QueryStatus<_0> { + #[codec(index = 0)] + Pending { + responder: runtime_types::xcm::VersionedLocation, + maybe_match_querier: + ::core::option::Option, + 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoteLockedFungibleRecord<_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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum VersionMigrationStage { + #[codec(index = 0)] + MigrateSupportedVersion, + #[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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct InboundDownwardMessage<_0> { + pub sent_at: _0, + pub msg: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct InboundHrmpMessage<_0> { + pub sent_at: _0, + pub data: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct HeadData(pub ::std::vec::Vec<::core::primitive::u8>); + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Id(pub ::core::primitive::u32); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ValidationCode(pub ::std::vec::Vec<::core::primitive::u8>); + } + } + pub mod polkadot_primitives { + use super::runtime_types; + pub mod v6 { + use super::runtime_types; + pub mod async_backing { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AsyncBackingParams { + pub max_candidate_depth: ::core::primitive::u32, + pub allowed_ancestry_len: ::core::primitive::u32, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PersistedValidationData<_0, _1> { + pub parent_head: + runtime_types::polkadot_parachain_primitives::primitives::HeadData, + pub relay_parent_number: _1, + pub relay_parent_storage_root: _0, + pub max_pov_size: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum UpgradeGoAhead { + #[codec(index = 0)] + Abort, + #[codec(index = 1)] + GoAhead, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum UpgradeRestriction { + #[codec(index = 0)] + Present, + } + } + } + pub mod sp_arithmetic { + use super::runtime_types; + pub mod fixed_point { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct FixedU128(pub ::core::primitive::u128); + } + pub mod per_things { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Perbill(pub ::core::primitive::u32); + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum ArithmeticError { + #[codec(index = 0)] + Underflow, + #[codec(index = 1)] + Overflow, + #[codec(index = 2)] + DivisionByZero, + } + } + pub mod sp_consensus_aura { + use super::runtime_types; + pub mod sr25519 { + use super::runtime_types; + pub mod app_sr25519 { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Public(pub runtime_types::sp_core::sr25519::Public); + } + } + } + pub mod sp_consensus_slots { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Slot(pub ::core::primitive::u64); + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SlotDuration(pub ::core::primitive::u64); + } + pub mod sp_core { + use super::runtime_types; + pub mod crypto { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct KeyTypeId(pub [::core::primitive::u8; 4usize]); + } + pub mod ecdsa { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Signature(pub [::core::primitive::u8; 65usize]); + } + pub mod ed25519 { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Signature(pub [::core::primitive::u8; 64usize]); + } + pub mod sr25519 { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Public(pub [::core::primitive::u8; 32usize]); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Signature(pub [::core::primitive::u8; 64usize]); + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct OpaqueMetadata(pub ::std::vec::Vec<::core::primitive::u8>); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Void {} + } + pub mod sp_inherents { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CheckInherentsResult { + pub okay: ::core::primitive::bool, + pub fatal_error: ::core::primitive::bool, + pub errors: runtime_types::sp_inherents::InherentData, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct InherentData { + pub data: ::subxt::utils::KeyedVec< + [::core::primitive::u8; 8usize], + ::std::vec::Vec<::core::primitive::u8>, + >, + } + } + pub mod sp_runtime { + use super::runtime_types; + pub mod generic { + use super::runtime_types; + pub mod block { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Block<_0, _1> { + pub header: _0, + pub extrinsics: ::std::vec::Vec<_1>, + } + } + pub mod digest { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Digest { + pub logs: + ::std::vec::Vec, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum 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 era { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Era { + #[codec(index = 0)] + Immortal, + #[codec(index = 1)] + Mortal1(::core::primitive::u8), + #[codec(index = 2)] + Mortal2(::core::primitive::u8), + #[codec(index = 3)] + Mortal3(::core::primitive::u8), + #[codec(index = 4)] + Mortal4(::core::primitive::u8), + #[codec(index = 5)] + Mortal5(::core::primitive::u8), + #[codec(index = 6)] + Mortal6(::core::primitive::u8), + #[codec(index = 7)] + Mortal7(::core::primitive::u8), + #[codec(index = 8)] + Mortal8(::core::primitive::u8), + #[codec(index = 9)] + Mortal9(::core::primitive::u8), + #[codec(index = 10)] + Mortal10(::core::primitive::u8), + #[codec(index = 11)] + Mortal11(::core::primitive::u8), + #[codec(index = 12)] + Mortal12(::core::primitive::u8), + #[codec(index = 13)] + Mortal13(::core::primitive::u8), + #[codec(index = 14)] + Mortal14(::core::primitive::u8), + #[codec(index = 15)] + Mortal15(::core::primitive::u8), + #[codec(index = 16)] + Mortal16(::core::primitive::u8), + #[codec(index = 17)] + Mortal17(::core::primitive::u8), + #[codec(index = 18)] + Mortal18(::core::primitive::u8), + #[codec(index = 19)] + Mortal19(::core::primitive::u8), + #[codec(index = 20)] + Mortal20(::core::primitive::u8), + #[codec(index = 21)] + Mortal21(::core::primitive::u8), + #[codec(index = 22)] + Mortal22(::core::primitive::u8), + #[codec(index = 23)] + Mortal23(::core::primitive::u8), + #[codec(index = 24)] + Mortal24(::core::primitive::u8), + #[codec(index = 25)] + Mortal25(::core::primitive::u8), + #[codec(index = 26)] + Mortal26(::core::primitive::u8), + #[codec(index = 27)] + Mortal27(::core::primitive::u8), + #[codec(index = 28)] + Mortal28(::core::primitive::u8), + #[codec(index = 29)] + Mortal29(::core::primitive::u8), + #[codec(index = 30)] + Mortal30(::core::primitive::u8), + #[codec(index = 31)] + Mortal31(::core::primitive::u8), + #[codec(index = 32)] + Mortal32(::core::primitive::u8), + #[codec(index = 33)] + Mortal33(::core::primitive::u8), + #[codec(index = 34)] + Mortal34(::core::primitive::u8), + #[codec(index = 35)] + Mortal35(::core::primitive::u8), + #[codec(index = 36)] + Mortal36(::core::primitive::u8), + #[codec(index = 37)] + Mortal37(::core::primitive::u8), + #[codec(index = 38)] + Mortal38(::core::primitive::u8), + #[codec(index = 39)] + Mortal39(::core::primitive::u8), + #[codec(index = 40)] + Mortal40(::core::primitive::u8), + #[codec(index = 41)] + Mortal41(::core::primitive::u8), + #[codec(index = 42)] + Mortal42(::core::primitive::u8), + #[codec(index = 43)] + Mortal43(::core::primitive::u8), + #[codec(index = 44)] + Mortal44(::core::primitive::u8), + #[codec(index = 45)] + Mortal45(::core::primitive::u8), + #[codec(index = 46)] + Mortal46(::core::primitive::u8), + #[codec(index = 47)] + Mortal47(::core::primitive::u8), + #[codec(index = 48)] + Mortal48(::core::primitive::u8), + #[codec(index = 49)] + Mortal49(::core::primitive::u8), + #[codec(index = 50)] + Mortal50(::core::primitive::u8), + #[codec(index = 51)] + Mortal51(::core::primitive::u8), + #[codec(index = 52)] + Mortal52(::core::primitive::u8), + #[codec(index = 53)] + Mortal53(::core::primitive::u8), + #[codec(index = 54)] + Mortal54(::core::primitive::u8), + #[codec(index = 55)] + Mortal55(::core::primitive::u8), + #[codec(index = 56)] + Mortal56(::core::primitive::u8), + #[codec(index = 57)] + Mortal57(::core::primitive::u8), + #[codec(index = 58)] + Mortal58(::core::primitive::u8), + #[codec(index = 59)] + Mortal59(::core::primitive::u8), + #[codec(index = 60)] + Mortal60(::core::primitive::u8), + #[codec(index = 61)] + Mortal61(::core::primitive::u8), + #[codec(index = 62)] + Mortal62(::core::primitive::u8), + #[codec(index = 63)] + Mortal63(::core::primitive::u8), + #[codec(index = 64)] + Mortal64(::core::primitive::u8), + #[codec(index = 65)] + Mortal65(::core::primitive::u8), + #[codec(index = 66)] + Mortal66(::core::primitive::u8), + #[codec(index = 67)] + Mortal67(::core::primitive::u8), + #[codec(index = 68)] + Mortal68(::core::primitive::u8), + #[codec(index = 69)] + Mortal69(::core::primitive::u8), + #[codec(index = 70)] + Mortal70(::core::primitive::u8), + #[codec(index = 71)] + Mortal71(::core::primitive::u8), + #[codec(index = 72)] + Mortal72(::core::primitive::u8), + #[codec(index = 73)] + Mortal73(::core::primitive::u8), + #[codec(index = 74)] + Mortal74(::core::primitive::u8), + #[codec(index = 75)] + Mortal75(::core::primitive::u8), + #[codec(index = 76)] + Mortal76(::core::primitive::u8), + #[codec(index = 77)] + Mortal77(::core::primitive::u8), + #[codec(index = 78)] + Mortal78(::core::primitive::u8), + #[codec(index = 79)] + Mortal79(::core::primitive::u8), + #[codec(index = 80)] + Mortal80(::core::primitive::u8), + #[codec(index = 81)] + Mortal81(::core::primitive::u8), + #[codec(index = 82)] + Mortal82(::core::primitive::u8), + #[codec(index = 83)] + Mortal83(::core::primitive::u8), + #[codec(index = 84)] + Mortal84(::core::primitive::u8), + #[codec(index = 85)] + Mortal85(::core::primitive::u8), + #[codec(index = 86)] + Mortal86(::core::primitive::u8), + #[codec(index = 87)] + Mortal87(::core::primitive::u8), + #[codec(index = 88)] + Mortal88(::core::primitive::u8), + #[codec(index = 89)] + Mortal89(::core::primitive::u8), + #[codec(index = 90)] + Mortal90(::core::primitive::u8), + #[codec(index = 91)] + Mortal91(::core::primitive::u8), + #[codec(index = 92)] + Mortal92(::core::primitive::u8), + #[codec(index = 93)] + Mortal93(::core::primitive::u8), + #[codec(index = 94)] + Mortal94(::core::primitive::u8), + #[codec(index = 95)] + Mortal95(::core::primitive::u8), + #[codec(index = 96)] + Mortal96(::core::primitive::u8), + #[codec(index = 97)] + Mortal97(::core::primitive::u8), + #[codec(index = 98)] + Mortal98(::core::primitive::u8), + #[codec(index = 99)] + Mortal99(::core::primitive::u8), + #[codec(index = 100)] + Mortal100(::core::primitive::u8), + #[codec(index = 101)] + Mortal101(::core::primitive::u8), + #[codec(index = 102)] + Mortal102(::core::primitive::u8), + #[codec(index = 103)] + Mortal103(::core::primitive::u8), + #[codec(index = 104)] + Mortal104(::core::primitive::u8), + #[codec(index = 105)] + Mortal105(::core::primitive::u8), + #[codec(index = 106)] + Mortal106(::core::primitive::u8), + #[codec(index = 107)] + Mortal107(::core::primitive::u8), + #[codec(index = 108)] + Mortal108(::core::primitive::u8), + #[codec(index = 109)] + Mortal109(::core::primitive::u8), + #[codec(index = 110)] + Mortal110(::core::primitive::u8), + #[codec(index = 111)] + Mortal111(::core::primitive::u8), + #[codec(index = 112)] + Mortal112(::core::primitive::u8), + #[codec(index = 113)] + Mortal113(::core::primitive::u8), + #[codec(index = 114)] + Mortal114(::core::primitive::u8), + #[codec(index = 115)] + Mortal115(::core::primitive::u8), + #[codec(index = 116)] + Mortal116(::core::primitive::u8), + #[codec(index = 117)] + Mortal117(::core::primitive::u8), + #[codec(index = 118)] + Mortal118(::core::primitive::u8), + #[codec(index = 119)] + Mortal119(::core::primitive::u8), + #[codec(index = 120)] + Mortal120(::core::primitive::u8), + #[codec(index = 121)] + Mortal121(::core::primitive::u8), + #[codec(index = 122)] + Mortal122(::core::primitive::u8), + #[codec(index = 123)] + Mortal123(::core::primitive::u8), + #[codec(index = 124)] + Mortal124(::core::primitive::u8), + #[codec(index = 125)] + Mortal125(::core::primitive::u8), + #[codec(index = 126)] + Mortal126(::core::primitive::u8), + #[codec(index = 127)] + Mortal127(::core::primitive::u8), + #[codec(index = 128)] + Mortal128(::core::primitive::u8), + #[codec(index = 129)] + Mortal129(::core::primitive::u8), + #[codec(index = 130)] + Mortal130(::core::primitive::u8), + #[codec(index = 131)] + Mortal131(::core::primitive::u8), + #[codec(index = 132)] + Mortal132(::core::primitive::u8), + #[codec(index = 133)] + Mortal133(::core::primitive::u8), + #[codec(index = 134)] + Mortal134(::core::primitive::u8), + #[codec(index = 135)] + Mortal135(::core::primitive::u8), + #[codec(index = 136)] + Mortal136(::core::primitive::u8), + #[codec(index = 137)] + Mortal137(::core::primitive::u8), + #[codec(index = 138)] + Mortal138(::core::primitive::u8), + #[codec(index = 139)] + Mortal139(::core::primitive::u8), + #[codec(index = 140)] + Mortal140(::core::primitive::u8), + #[codec(index = 141)] + Mortal141(::core::primitive::u8), + #[codec(index = 142)] + Mortal142(::core::primitive::u8), + #[codec(index = 143)] + Mortal143(::core::primitive::u8), + #[codec(index = 144)] + Mortal144(::core::primitive::u8), + #[codec(index = 145)] + Mortal145(::core::primitive::u8), + #[codec(index = 146)] + Mortal146(::core::primitive::u8), + #[codec(index = 147)] + Mortal147(::core::primitive::u8), + #[codec(index = 148)] + Mortal148(::core::primitive::u8), + #[codec(index = 149)] + Mortal149(::core::primitive::u8), + #[codec(index = 150)] + Mortal150(::core::primitive::u8), + #[codec(index = 151)] + Mortal151(::core::primitive::u8), + #[codec(index = 152)] + Mortal152(::core::primitive::u8), + #[codec(index = 153)] + Mortal153(::core::primitive::u8), + #[codec(index = 154)] + Mortal154(::core::primitive::u8), + #[codec(index = 155)] + Mortal155(::core::primitive::u8), + #[codec(index = 156)] + Mortal156(::core::primitive::u8), + #[codec(index = 157)] + Mortal157(::core::primitive::u8), + #[codec(index = 158)] + Mortal158(::core::primitive::u8), + #[codec(index = 159)] + Mortal159(::core::primitive::u8), + #[codec(index = 160)] + Mortal160(::core::primitive::u8), + #[codec(index = 161)] + Mortal161(::core::primitive::u8), + #[codec(index = 162)] + Mortal162(::core::primitive::u8), + #[codec(index = 163)] + Mortal163(::core::primitive::u8), + #[codec(index = 164)] + Mortal164(::core::primitive::u8), + #[codec(index = 165)] + Mortal165(::core::primitive::u8), + #[codec(index = 166)] + Mortal166(::core::primitive::u8), + #[codec(index = 167)] + Mortal167(::core::primitive::u8), + #[codec(index = 168)] + Mortal168(::core::primitive::u8), + #[codec(index = 169)] + Mortal169(::core::primitive::u8), + #[codec(index = 170)] + Mortal170(::core::primitive::u8), + #[codec(index = 171)] + Mortal171(::core::primitive::u8), + #[codec(index = 172)] + Mortal172(::core::primitive::u8), + #[codec(index = 173)] + Mortal173(::core::primitive::u8), + #[codec(index = 174)] + Mortal174(::core::primitive::u8), + #[codec(index = 175)] + Mortal175(::core::primitive::u8), + #[codec(index = 176)] + Mortal176(::core::primitive::u8), + #[codec(index = 177)] + Mortal177(::core::primitive::u8), + #[codec(index = 178)] + Mortal178(::core::primitive::u8), + #[codec(index = 179)] + Mortal179(::core::primitive::u8), + #[codec(index = 180)] + Mortal180(::core::primitive::u8), + #[codec(index = 181)] + Mortal181(::core::primitive::u8), + #[codec(index = 182)] + Mortal182(::core::primitive::u8), + #[codec(index = 183)] + Mortal183(::core::primitive::u8), + #[codec(index = 184)] + Mortal184(::core::primitive::u8), + #[codec(index = 185)] + Mortal185(::core::primitive::u8), + #[codec(index = 186)] + Mortal186(::core::primitive::u8), + #[codec(index = 187)] + Mortal187(::core::primitive::u8), + #[codec(index = 188)] + Mortal188(::core::primitive::u8), + #[codec(index = 189)] + Mortal189(::core::primitive::u8), + #[codec(index = 190)] + Mortal190(::core::primitive::u8), + #[codec(index = 191)] + Mortal191(::core::primitive::u8), + #[codec(index = 192)] + Mortal192(::core::primitive::u8), + #[codec(index = 193)] + Mortal193(::core::primitive::u8), + #[codec(index = 194)] + Mortal194(::core::primitive::u8), + #[codec(index = 195)] + Mortal195(::core::primitive::u8), + #[codec(index = 196)] + Mortal196(::core::primitive::u8), + #[codec(index = 197)] + Mortal197(::core::primitive::u8), + #[codec(index = 198)] + Mortal198(::core::primitive::u8), + #[codec(index = 199)] + Mortal199(::core::primitive::u8), + #[codec(index = 200)] + Mortal200(::core::primitive::u8), + #[codec(index = 201)] + Mortal201(::core::primitive::u8), + #[codec(index = 202)] + Mortal202(::core::primitive::u8), + #[codec(index = 203)] + Mortal203(::core::primitive::u8), + #[codec(index = 204)] + Mortal204(::core::primitive::u8), + #[codec(index = 205)] + Mortal205(::core::primitive::u8), + #[codec(index = 206)] + Mortal206(::core::primitive::u8), + #[codec(index = 207)] + Mortal207(::core::primitive::u8), + #[codec(index = 208)] + Mortal208(::core::primitive::u8), + #[codec(index = 209)] + Mortal209(::core::primitive::u8), + #[codec(index = 210)] + Mortal210(::core::primitive::u8), + #[codec(index = 211)] + Mortal211(::core::primitive::u8), + #[codec(index = 212)] + Mortal212(::core::primitive::u8), + #[codec(index = 213)] + Mortal213(::core::primitive::u8), + #[codec(index = 214)] + Mortal214(::core::primitive::u8), + #[codec(index = 215)] + Mortal215(::core::primitive::u8), + #[codec(index = 216)] + Mortal216(::core::primitive::u8), + #[codec(index = 217)] + Mortal217(::core::primitive::u8), + #[codec(index = 218)] + Mortal218(::core::primitive::u8), + #[codec(index = 219)] + Mortal219(::core::primitive::u8), + #[codec(index = 220)] + Mortal220(::core::primitive::u8), + #[codec(index = 221)] + Mortal221(::core::primitive::u8), + #[codec(index = 222)] + Mortal222(::core::primitive::u8), + #[codec(index = 223)] + Mortal223(::core::primitive::u8), + #[codec(index = 224)] + Mortal224(::core::primitive::u8), + #[codec(index = 225)] + Mortal225(::core::primitive::u8), + #[codec(index = 226)] + Mortal226(::core::primitive::u8), + #[codec(index = 227)] + Mortal227(::core::primitive::u8), + #[codec(index = 228)] + Mortal228(::core::primitive::u8), + #[codec(index = 229)] + Mortal229(::core::primitive::u8), + #[codec(index = 230)] + Mortal230(::core::primitive::u8), + #[codec(index = 231)] + Mortal231(::core::primitive::u8), + #[codec(index = 232)] + Mortal232(::core::primitive::u8), + #[codec(index = 233)] + Mortal233(::core::primitive::u8), + #[codec(index = 234)] + Mortal234(::core::primitive::u8), + #[codec(index = 235)] + Mortal235(::core::primitive::u8), + #[codec(index = 236)] + Mortal236(::core::primitive::u8), + #[codec(index = 237)] + Mortal237(::core::primitive::u8), + #[codec(index = 238)] + Mortal238(::core::primitive::u8), + #[codec(index = 239)] + Mortal239(::core::primitive::u8), + #[codec(index = 240)] + Mortal240(::core::primitive::u8), + #[codec(index = 241)] + Mortal241(::core::primitive::u8), + #[codec(index = 242)] + Mortal242(::core::primitive::u8), + #[codec(index = 243)] + Mortal243(::core::primitive::u8), + #[codec(index = 244)] + Mortal244(::core::primitive::u8), + #[codec(index = 245)] + Mortal245(::core::primitive::u8), + #[codec(index = 246)] + Mortal246(::core::primitive::u8), + #[codec(index = 247)] + Mortal247(::core::primitive::u8), + #[codec(index = 248)] + Mortal248(::core::primitive::u8), + #[codec(index = 249)] + Mortal249(::core::primitive::u8), + #[codec(index = 250)] + Mortal250(::core::primitive::u8), + #[codec(index = 251)] + Mortal251(::core::primitive::u8), + #[codec(index = 252)] + Mortal252(::core::primitive::u8), + #[codec(index = 253)] + Mortal253(::core::primitive::u8), + #[codec(index = 254)] + Mortal254(::core::primitive::u8), + #[codec(index = 255)] + Mortal255(::core::primitive::u8), + } + } + pub mod header { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Header<_0> { + pub parent_hash: ::subxt::utils::H256, + #[codec(compact)] + pub number: _0, + pub state_root: ::subxt::utils::H256, + pub extrinsics_root: ::subxt::utils::H256, + pub digest: runtime_types::sp_runtime::generic::digest::Digest, + } + } + } + pub mod transaction_validity { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum InvalidTransaction { + #[codec(index = 0)] + Call, + #[codec(index = 1)] + Payment, + #[codec(index = 2)] + Future, + #[codec(index = 3)] + Stale, + #[codec(index = 4)] + BadProof, + #[codec(index = 5)] + AncientBirthBlock, + #[codec(index = 6)] + ExhaustsResources, + #[codec(index = 7)] + Custom(::core::primitive::u8), + #[codec(index = 8)] + BadMandatory, + #[codec(index = 9)] + MandatoryValidation, + #[codec(index = 10)] + BadSigner, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum TransactionSource { + #[codec(index = 0)] + InBlock, + #[codec(index = 1)] + Local, + #[codec(index = 2)] + External, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum TransactionValidityError { + #[codec(index = 0)] + Invalid(runtime_types::sp_runtime::transaction_validity::InvalidTransaction), + #[codec(index = 1)] + Unknown(runtime_types::sp_runtime::transaction_validity::UnknownTransaction), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum UnknownTransaction { + #[codec(index = 0)] + CannotLookup, + #[codec(index = 1)] + NoUnsignedValidator, + #[codec(index = 2)] + Custom(::core::primitive::u8), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ValidTransaction { + pub priority: ::core::primitive::u64, + pub requires: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + pub provides: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + pub longevity: ::core::primitive::u64, + pub propagate: ::core::primitive::bool, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum DispatchError { + #[codec(index = 0)] + Other, + #[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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ModuleError { + pub index: ::core::primitive::u8, + pub error: [::core::primitive::u8; 4usize], + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum MultiSignature { + #[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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum TokenError { + #[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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum TransactionalError { + #[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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct StorageProof { + pub trie_nodes: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + } + } + } + pub mod sp_version { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct 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; + pub mod weight_v2 { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Weight { + #[codec(compact)] + pub ref_time: ::core::primitive::u64, + #[codec(compact)] + pub proof_size: ::core::primitive::u64, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MultiLocation { + pub parents: ::core::primitive::u8, + pub interior: runtime_types::xcm::v3::junctions::Junctions, + } + } + } + pub mod v4 { + use super::runtime_types; + pub mod asset { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Asset { + pub id: runtime_types::staging_xcm::v4::asset::AssetId, + pub fun: runtime_types::staging_xcm::v4::asset::Fungibility, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum AssetFilter { + #[codec(index = 0)] + Definite(runtime_types::staging_xcm::v4::asset::Assets), + #[codec(index = 1)] + Wild(runtime_types::staging_xcm::v4::asset::WildAsset), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AssetId(pub runtime_types::staging_xcm::v4::location::Location); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum AssetInstance { + #[codec(index = 0)] + Undefined, + #[codec(index = 1)] + Index(#[codec(compact)] ::core::primitive::u128), + #[codec(index = 2)] + Array4([::core::primitive::u8; 4usize]), + #[codec(index = 3)] + Array8([::core::primitive::u8; 8usize]), + #[codec(index = 4)] + Array16([::core::primitive::u8; 16usize]), + #[codec(index = 5)] + Array32([::core::primitive::u8; 32usize]), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Assets( + pub ::std::vec::Vec, + ); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Fungibility { + #[codec(index = 0)] + Fungible(#[codec(compact)] ::core::primitive::u128), + #[codec(index = 1)] + NonFungible(runtime_types::staging_xcm::v4::asset::AssetInstance), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum WildFungibility { + #[codec(index = 0)] + Fungible, + #[codec(index = 1)] + NonFungible, + } + } + pub mod junction { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum NetworkId { + #[codec(index = 0)] + ByGenesis([::core::primitive::u8; 32usize]), + #[codec(index = 1)] + ByFork { + block_number: ::core::primitive::u64, + block_hash: [::core::primitive::u8; 32usize], + }, + #[codec(index = 2)] + Polkadot, + #[codec(index = 3)] + Kusama, + #[codec(index = 4)] + Westend, + #[codec(index = 5)] + Rococo, + #[codec(index = 6)] + Wococo, + #[codec(index = 7)] + Ethereum { + #[codec(compact)] + chain_id: ::core::primitive::u64, + }, + #[codec(index = 8)] + BitcoinCore, + #[codec(index = 9)] + BitcoinCash, + #[codec(index = 10)] + PolkadotBulletin, + } + } + pub mod junctions { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Junctions { + #[codec(index = 0)] + Here, + #[codec(index = 1)] + X1([runtime_types::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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Outcome { + #[codec(index = 0)] + Complete { used: runtime_types::sp_weights::weight_v2::Weight }, + #[codec(index = 1)] + Incomplete { + used: runtime_types::sp_weights::weight_v2::Weight, + error: runtime_types::xcm::v3::traits::Error, + }, + #[codec(index = 2)] + Error { error: runtime_types::xcm::v3::traits::Error }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Instruction { + #[codec(index = 0)] + WithdrawAsset(runtime_types::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: runtime_types::sp_weights::weight_v2::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: runtime_types::sp_weights::weight_v2::Weight, + call: runtime_types::xcm::double_encoded::DoubleEncoded, + }, + #[codec(index = 7)] + HrmpNewChannelOpenRequest { + #[codec(compact)] + sender: ::core::primitive::u32, + #[codec(compact)] + max_message_size: ::core::primitive::u32, + #[codec(compact)] + max_capacity: ::core::primitive::u32, + }, + #[codec(index = 8)] + HrmpChannelAccepted { + #[codec(compact)] + recipient: ::core::primitive::u32, + }, + #[codec(index = 9)] + HrmpChannelClosing { + #[codec(compact)] + initiator: ::core::primitive::u32, + #[codec(compact)] + sender: ::core::primitive::u32, + #[codec(compact)] + recipient: ::core::primitive::u32, + }, + #[codec(index = 10)] + ClearOrigin, + #[codec(index = 11)] + DescendOrigin(runtime_types::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: runtime_types::sp_weights::weight_v2::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, + ), + #[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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum 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: runtime_types::sp_weights::weight_v2::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: runtime_types::sp_weights::weight_v2::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: runtime_types::sp_weights::weight_v2::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, + ), + #[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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PalletInfo { + #[codec(compact)] + pub index: ::core::primitive::u32, + pub name: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + pub module_name: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + #[codec(compact)] + pub major: ::core::primitive::u32, + #[codec(compact)] + pub minor: ::core::primitive::u32, + #[codec(compact)] + pub patch: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct QueryResponseInfo { + pub destination: runtime_types::staging_xcm::v4::location::Location, + #[codec(compact)] + pub query_id: ::core::primitive::u64, + pub max_weight: runtime_types::sp_weights::weight_v2::Weight, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Response { + #[codec(index = 0)] + Null, + #[codec(index = 1)] + Assets(runtime_types::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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Xcm(pub ::std::vec::Vec); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Xcm2(pub ::std::vec::Vec); + } + } + pub mod xcm { + use super::runtime_types; + pub mod double_encoded { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DoubleEncoded { + pub encoded: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DoubleEncoded2 { + pub encoded: ::std::vec::Vec<::core::primitive::u8>, + } + } + pub mod v2 { + use super::runtime_types; + pub mod junction { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum AssetId { + #[codec(index = 0)] + Concrete(runtime_types::xcm::v2::multilocation::MultiLocation), + #[codec(index = 1)] + Abstract(::std::vec::Vec<::core::primitive::u8>), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Fungibility { + #[codec(index = 0)] + Fungible(#[codec(compact)] ::core::primitive::u128), + #[codec(index = 1)] + NonFungible(runtime_types::xcm::v2::multiasset::AssetInstance), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MultiAsset { + pub id: runtime_types::xcm::v2::multiasset::AssetId, + pub fun: runtime_types::xcm::v2::multiasset::Fungibility, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum MultiAssetFilter { + #[codec(index = 0)] + Definite(runtime_types::xcm::v2::multiasset::MultiAssets), + #[codec(index = 1)] + Wild(runtime_types::xcm::v2::multiasset::WildMultiAsset), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MultiAssets( + pub ::std::vec::Vec, + ); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum WildFungibility { + #[codec(index = 0)] + Fungible, + #[codec(index = 1)] + NonFungible, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum WildMultiAsset { + #[codec(index = 0)] + All, + #[codec(index = 1)] + AllOf { + id: runtime_types::xcm::v2::multiasset::AssetId, + fun: runtime_types::xcm::v2::multiasset::WildFungibility, + }, + } + } + pub mod multilocation { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MultiLocation { + pub parents: ::core::primitive::u8, + pub interior: runtime_types::xcm::v2::multilocation::Junctions, + } + } + pub mod traits { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Error { + #[codec(index = 0)] + Overflow, + #[codec(index = 1)] + Unimplemented, + #[codec(index = 2)] + UntrustedReserveLocation, + #[codec(index = 3)] + UntrustedTeleportLocation, + #[codec(index = 4)] + 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum BodyId { + #[codec(index = 0)] + Unit, + #[codec(index = 1)] + Named( + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< + ::core::primitive::u8, + >, + ), + #[codec(index = 2)] + Index(#[codec(compact)] ::core::primitive::u32), + #[codec(index = 3)] + Executive, + #[codec(index = 4)] + Technical, + #[codec(index = 5)] + Legislative, + #[codec(index = 6)] + Judicial, + #[codec(index = 7)] + Defense, + #[codec(index = 8)] + Administration, + #[codec(index = 9)] + Treasury, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum BodyPart { + #[codec(index = 0)] + Voice, + #[codec(index = 1)] + Members { + #[codec(compact)] + count: ::core::primitive::u32, + }, + #[codec(index = 2)] + Fraction { + #[codec(compact)] + nom: ::core::primitive::u32, + #[codec(compact)] + denom: ::core::primitive::u32, + }, + #[codec(index = 3)] + AtLeastProportion { + #[codec(compact)] + nom: ::core::primitive::u32, + #[codec(compact)] + denom: ::core::primitive::u32, + }, + #[codec(index = 4)] + MoreThanProportion { + #[codec(compact)] + nom: ::core::primitive::u32, + #[codec(compact)] + denom: ::core::primitive::u32, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Instruction { + #[codec(index = 0)] + WithdrawAsset(runtime_types::xcm::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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum NetworkId { + #[codec(index = 0)] + Any, + #[codec(index = 1)] + Named( + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< + ::core::primitive::u8, + >, + ), + #[codec(index = 2)] + Polkadot, + #[codec(index = 3)] + Kusama, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum OriginKind { + #[codec(index = 0)] + Native, + #[codec(index = 1)] + SovereignAccount, + #[codec(index = 2)] + Superuser, + #[codec(index = 3)] + Xcm, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Response { + #[codec(index = 0)] + Null, + #[codec(index = 1)] + Assets(runtime_types::xcm::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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum WeightLimit { + #[codec(index = 0)] + Unlimited, + #[codec(index = 1)] + Limited(#[codec(compact)] ::core::primitive::u64), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Xcm(pub ::std::vec::Vec); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Xcm2(pub ::std::vec::Vec); + } + pub mod v3 { + use super::runtime_types; + pub mod junction { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum BodyId { + #[codec(index = 0)] + Unit, + #[codec(index = 1)] + Moniker([::core::primitive::u8; 4usize]), + #[codec(index = 2)] + Index(#[codec(compact)] ::core::primitive::u32), + #[codec(index = 3)] + Executive, + #[codec(index = 4)] + Technical, + #[codec(index = 5)] + Legislative, + #[codec(index = 6)] + Judicial, + #[codec(index = 7)] + Defense, + #[codec(index = 8)] + Administration, + #[codec(index = 9)] + Treasury, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum BodyPart { + #[codec(index = 0)] + Voice, + #[codec(index = 1)] + Members { + #[codec(compact)] + count: ::core::primitive::u32, + }, + #[codec(index = 2)] + Fraction { + #[codec(compact)] + nom: ::core::primitive::u32, + #[codec(compact)] + denom: ::core::primitive::u32, + }, + #[codec(index = 3)] + AtLeastProportion { + #[codec(compact)] + nom: ::core::primitive::u32, + #[codec(compact)] + denom: ::core::primitive::u32, + }, + #[codec(index = 4)] + MoreThanProportion { + #[codec(compact)] + nom: ::core::primitive::u32, + #[codec(compact)] + denom: ::core::primitive::u32, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Junction { + #[codec(index = 0)] + Parachain(#[codec(compact)] ::core::primitive::u32), + #[codec(index = 1)] + AccountId32 { + network: + ::core::option::Option, + id: [::core::primitive::u8; 32usize], + }, + #[codec(index = 2)] + AccountIndex64 { + network: + ::core::option::Option, + #[codec(compact)] + index: ::core::primitive::u64, + }, + #[codec(index = 3)] + AccountKey20 { + network: + ::core::option::Option, + key: [::core::primitive::u8; 20usize], + }, + #[codec(index = 4)] + PalletInstance(::core::primitive::u8), + #[codec(index = 5)] + GeneralIndex(#[codec(compact)] ::core::primitive::u128), + #[codec(index = 6)] + GeneralKey { + length: ::core::primitive::u8, + data: [::core::primitive::u8; 32usize], + }, + #[codec(index = 7)] + OnlyChild, + #[codec(index = 8)] + Plurality { + id: runtime_types::xcm::v3::junction::BodyId, + part: runtime_types::xcm::v3::junction::BodyPart, + }, + #[codec(index = 9)] + GlobalConsensus(runtime_types::xcm::v3::junction::NetworkId), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum NetworkId { + #[codec(index = 0)] + ByGenesis([::core::primitive::u8; 32usize]), + #[codec(index = 1)] + ByFork { + block_number: ::core::primitive::u64, + block_hash: [::core::primitive::u8; 32usize], + }, + #[codec(index = 2)] + Polkadot, + #[codec(index = 3)] + Kusama, + #[codec(index = 4)] + Westend, + #[codec(index = 5)] + Rococo, + #[codec(index = 6)] + Wococo, + #[codec(index = 7)] + Ethereum { + #[codec(compact)] + chain_id: ::core::primitive::u64, + }, + #[codec(index = 8)] + BitcoinCore, + #[codec(index = 9)] + BitcoinCash, + #[codec(index = 10)] + PolkadotBulletin, + } + } + pub mod junctions { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Junctions { + #[codec(index = 0)] + Here, + #[codec(index = 1)] + X1(runtime_types::xcm::v3::junction::Junction), + #[codec(index = 2)] + X2( + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + ), + #[codec(index = 3)] + X3( + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + ), + #[codec(index = 4)] + X4( + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + ), + #[codec(index = 5)] + X5( + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + ), + #[codec(index = 6)] + X6( + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + ), + #[codec(index = 7)] + X7( + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + ), + #[codec(index = 8)] + X8( + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + ), + } + } + pub mod multiasset { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum AssetId { + #[codec(index = 0)] + Concrete(runtime_types::staging_xcm::v3::multilocation::MultiLocation), + #[codec(index = 1)] + Abstract([::core::primitive::u8; 32usize]), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum AssetInstance { + #[codec(index = 0)] + Undefined, + #[codec(index = 1)] + Index(#[codec(compact)] ::core::primitive::u128), + #[codec(index = 2)] + Array4([::core::primitive::u8; 4usize]), + #[codec(index = 3)] + Array8([::core::primitive::u8; 8usize]), + #[codec(index = 4)] + Array16([::core::primitive::u8; 16usize]), + #[codec(index = 5)] + Array32([::core::primitive::u8; 32usize]), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Fungibility { + #[codec(index = 0)] + Fungible(#[codec(compact)] ::core::primitive::u128), + #[codec(index = 1)] + NonFungible(runtime_types::xcm::v3::multiasset::AssetInstance), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MultiAsset { + pub id: runtime_types::xcm::v3::multiasset::AssetId, + pub fun: runtime_types::xcm::v3::multiasset::Fungibility, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum MultiAssetFilter { + #[codec(index = 0)] + Definite(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 1)] + Wild(runtime_types::xcm::v3::multiasset::WildMultiAsset), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MultiAssets( + pub ::std::vec::Vec, + ); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum WildFungibility { + #[codec(index = 0)] + Fungible, + #[codec(index = 1)] + NonFungible, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum WildMultiAsset { + #[codec(index = 0)] + All, + #[codec(index = 1)] + AllOf { + id: runtime_types::xcm::v3::multiasset::AssetId, + fun: runtime_types::xcm::v3::multiasset::WildFungibility, + }, + #[codec(index = 2)] + AllCounted(#[codec(compact)] ::core::primitive::u32), + #[codec(index = 3)] + AllOfCounted { + id: runtime_types::xcm::v3::multiasset::AssetId, + fun: runtime_types::xcm::v3::multiasset::WildFungibility, + #[codec(compact)] + count: ::core::primitive::u32, + }, + } + } + pub mod traits { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Error { + #[codec(index = 0)] + Overflow, + #[codec(index = 1)] + Unimplemented, + #[codec(index = 2)] + UntrustedReserveLocation, + #[codec(index = 3)] + UntrustedTeleportLocation, + #[codec(index = 4)] + LocationFull, + #[codec(index = 5)] + LocationNotInvertible, + #[codec(index = 6)] + BadOrigin, + #[codec(index = 7)] + InvalidLocation, + #[codec(index = 8)] + AssetNotFound, + #[codec(index = 9)] + FailedToTransactAsset, + #[codec(index = 10)] + NotWithdrawable, + #[codec(index = 11)] + LocationCannotHold, + #[codec(index = 12)] + ExceedsMaxMessageSize, + #[codec(index = 13)] + DestinationUnsupported, + #[codec(index = 14)] + Transport, + #[codec(index = 15)] + Unroutable, + #[codec(index = 16)] + UnknownClaim, + #[codec(index = 17)] + FailedToDecode, + #[codec(index = 18)] + MaxWeightInvalid, + #[codec(index = 19)] + NotHoldingFees, + #[codec(index = 20)] + TooExpensive, + #[codec(index = 21)] + Trap(::core::primitive::u64), + #[codec(index = 22)] + ExpectationFalse, + #[codec(index = 23)] + PalletNotFound, + #[codec(index = 24)] + NameMismatch, + #[codec(index = 25)] + VersionIncompatible, + #[codec(index = 26)] + HoldingWouldOverflow, + #[codec(index = 27)] + ExportError, + #[codec(index = 28)] + ReanchorFailed, + #[codec(index = 29)] + NoDeal, + #[codec(index = 30)] + FeesNotMet, + #[codec(index = 31)] + LockError, + #[codec(index = 32)] + NoPermission, + #[codec(index = 33)] + Unanchored, + #[codec(index = 34)] + NotDepositable, + #[codec(index = 35)] + UnhandledXcmVersion, + #[codec(index = 36)] + WeightLimitReached(runtime_types::sp_weights::weight_v2::Weight), + #[codec(index = 37)] + Barrier, + #[codec(index = 38)] + WeightNotComputable, + #[codec(index = 39)] + ExceedsStackLimit, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Instruction { + #[codec(index = 0)] + WithdrawAsset(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 1)] + ReserveAssetDeposited(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 2)] + ReceiveTeleportedAsset(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 3)] + QueryResponse { + #[codec(compact)] + query_id: ::core::primitive::u64, + response: runtime_types::xcm::v3::Response, + max_weight: runtime_types::sp_weights::weight_v2::Weight, + querier: ::core::option::Option< + runtime_types::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: runtime_types::sp_weights::weight_v2::Weight, + call: runtime_types::xcm::double_encoded::DoubleEncoded, + }, + #[codec(index = 7)] + HrmpNewChannelOpenRequest { + #[codec(compact)] + sender: ::core::primitive::u32, + #[codec(compact)] + max_message_size: ::core::primitive::u32, + #[codec(compact)] + max_capacity: ::core::primitive::u32, + }, + #[codec(index = 8)] + HrmpChannelAccepted { + #[codec(compact)] + recipient: ::core::primitive::u32, + }, + #[codec(index = 9)] + HrmpChannelClosing { + #[codec(compact)] + initiator: ::core::primitive::u32, + #[codec(compact)] + sender: ::core::primitive::u32, + #[codec(compact)] + recipient: ::core::primitive::u32, + }, + #[codec(index = 10)] + ClearOrigin, + #[codec(index = 11)] + DescendOrigin(runtime_types::xcm::v3::junctions::Junctions), + #[codec(index = 12)] + ReportError(runtime_types::xcm::v3::QueryResponseInfo), + #[codec(index = 13)] + DepositAsset { + assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter, + beneficiary: runtime_types::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: runtime_types::sp_weights::weight_v2::Weight, + }, + #[codec(index = 27)] + UnsubscribeVersion, + #[codec(index = 28)] + BurnAsset(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 29)] + ExpectAsset(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 30)] + ExpectOrigin( + ::core::option::Option< + runtime_types::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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum 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: runtime_types::sp_weights::weight_v2::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: runtime_types::sp_weights::weight_v2::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: runtime_types::sp_weights::weight_v2::Weight, + }, + #[codec(index = 27)] + UnsubscribeVersion, + #[codec(index = 28)] + BurnAsset(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 29)] + ExpectAsset(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 30)] + ExpectOrigin( + ::core::option::Option< + runtime_types::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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum MaybeErrorCode { + #[codec(index = 0)] + Success, + #[codec(index = 1)] + Error( + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ), + #[codec(index = 2)] + TruncatedError( + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PalletInfo { + #[codec(compact)] + pub index: ::core::primitive::u32, + pub name: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + pub module_name: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + #[codec(compact)] + pub major: ::core::primitive::u32, + #[codec(compact)] + pub minor: ::core::primitive::u32, + #[codec(compact)] + pub patch: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct QueryResponseInfo { + pub destination: runtime_types::staging_xcm::v3::multilocation::MultiLocation, + #[codec(compact)] + pub query_id: ::core::primitive::u64, + pub max_weight: runtime_types::sp_weights::weight_v2::Weight, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Response { + #[codec(index = 0)] + Null, + #[codec(index = 1)] + Assets(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 2)] + ExecutionResult( + ::core::option::Option<( + ::core::primitive::u32, + runtime_types::xcm::v3::traits::Error, + )>, + ), + #[codec(index = 3)] + Version(::core::primitive::u32), + #[codec(index = 4)] + PalletsInfo( + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::xcm::v3::PalletInfo, + >, + ), + #[codec(index = 5)] + DispatchResult(runtime_types::xcm::v3::MaybeErrorCode), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum WeightLimit { + #[codec(index = 0)] + Unlimited, + #[codec(index = 1)] + Limited(runtime_types::sp_weights::weight_v2::Weight), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Xcm(pub ::std::vec::Vec); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Xcm2(pub ::std::vec::Vec); + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum VersionedAssetId { + #[codec(index = 3)] + V3(runtime_types::xcm::v3::multiasset::AssetId), + #[codec(index = 4)] + V4(runtime_types::staging_xcm::v4::asset::AssetId), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum 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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum VersionedResponse { + #[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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum VersionedXcm { + #[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( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum 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/node/Cargo.toml b/node/Cargo.toml index 13560cd..a9024a1 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -33,6 +33,7 @@ magnet-primitives-order = { path = "../primitives/order"} magnet-client-consensus-aura = {path ="../client/consensus/aura"} pallet-pot-rpc = { path = "../pallets/pot/rpc" } mp-system = { path = "../primitives/system"} +magnet-client-coretime-bulk = {path ="../client/coretime/bulk"} # Substrate frame-benchmarking = { workspace = true } diff --git a/node/src/service.rs b/node/src/service.rs index 41340a7..ed725d0 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -24,6 +24,7 @@ use cumulus_relay_chain_interface::{OverseerHandle, RelayChainInterface}; // Substrate Imports use frame_benchmarking_cli::SUBSTRATE_REFERENCE_HARDWARE; +use magnet_client_coretime_bulk::spawn_bulk_task; use sc_client_api::Backend; use sc_consensus::ImportQueue; use sc_executor::{ @@ -478,6 +479,7 @@ async fn start_node_impl( order_record.clone(), rpc_address, )?; + spawn_bulk_task(client.clone(), para_id, relay_chain_interface.clone(), &task_manager)?; start_consensus( client.clone(), block_import, From 0b07e013b0cb5233cee8ca771e675331036f5784 Mon Sep 17 00:00:00 2001 From: sulijia <984115358@qq.com> Date: Tue, 18 Jun 2024 22:21:16 +0800 Subject: [PATCH 03/22] Add get purchase event --- client/coretime/bulk/src/lib.rs | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/client/coretime/bulk/src/lib.rs b/client/coretime/bulk/src/lib.rs index 7de61d0..44f8682 100644 --- a/client/coretime/bulk/src/lib.rs +++ b/client/coretime/bulk/src/lib.rs @@ -43,21 +43,19 @@ where let parachain = parachain.clone(); async move { - let api = OnlineClient::::from_url("127.0.0.1:8855").await.unwrap(); + let api = + OnlineClient::::from_url("ws://127.0.0.1:8855").await.unwrap(); loop { let events = api.events().at_latest().await.unwrap(); - // We can dynamically decode events: - println!("Dynamic event details:"); - for event in events.iter() { - let event = event.unwrap(); - - let pallet = event.pallet_name(); - let variant = event.variant_name(); - let field_values = event.field_values().unwrap(); - - println!("{pallet}::{variant}: {field_values}"); + let purchase_event = + events.find_first::().unwrap(); + if let Some(ev) = purchase_event { + println!( + "Purchased success: value: {:?},{:?},{:?},{:?}", + ev.who, ev.region_id, ev.price, ev.duration + ); } } } From 99884e04d03fb0bdf299e4abf2e55f4a4949a118 Mon Sep 17 00:00:00 2001 From: sulijia <984115358@qq.com> Date: Thu, 20 Jun 2024 23:01:15 +0800 Subject: [PATCH 04/22] add read proof from coretime parachain --- Cargo.lock | 16 +++ Cargo.toml | 4 +- client/coretime/bulk/Cargo.toml | 6 + client/coretime/bulk/src/lib.rs | 25 +++- primitives/chain-state-snapshot/Cargo.toml | 24 ++++ primitives/chain-state-snapshot/src/lib.rs | 141 +++++++++++++++++++++ primitives/order/Cargo.toml | 3 + primitives/order/src/well_known_keys.rs | 14 +- 8 files changed, 228 insertions(+), 5 deletions(-) create mode 100644 primitives/chain-state-snapshot/Cargo.toml create mode 100644 primitives/chain-state-snapshot/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index a2a128e..2f04642 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2885,6 +2885,17 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +[[package]] +name = "dp-chain-state-snapshot" +version = "0.1.0" +dependencies = [ + "cumulus-primitives-core", + "parity-scale-codec", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", + "sp-trie 29.0.0", +] + [[package]] name = "dtoa" version = "1.0.9" @@ -6008,8 +6019,11 @@ dependencies = [ "cumulus-primitives-core", "cumulus-primitives-parachain-inherent", "cumulus-relay-chain-interface", + "dp-chain-state-snapshot", "futures", "log", + "magnet-primitives-order", + "pallet-broker", "parity-scale-codec", "polkadot-node-primitives", "polkadot-node-subsystem", @@ -6034,6 +6048,7 @@ dependencies = [ "sp-keystore 0.34.0", "sp-runtime 31.0.1", "sp-state-machine 0.35.0", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", "sp-timestamp", "substrate-prometheus-endpoint", "subxt", @@ -6049,6 +6064,7 @@ dependencies = [ "cumulus-relay-chain-interface", "hex-literal", "log", + "pallet-broker", "parity-scale-codec", "scale-info", "sp-api", diff --git a/Cargo.toml b/Cargo.toml index 1dcf507..3914fc6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -111,8 +111,8 @@ sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", bran sp-trie = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } sp-version = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } sp-weights = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } - - +pallet-broker = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } +sp-storage = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } # Substrate FRAME frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } diff --git a/client/coretime/bulk/Cargo.toml b/client/coretime/bulk/Cargo.toml index bc5a7c1..b46df04 100644 --- a/client/coretime/bulk/Cargo.toml +++ b/client/coretime/bulk/Cargo.toml @@ -17,6 +17,10 @@ schnellru = { workspace = true } log = { workspace = true } subxt = { workspace = true, features = ["substrate-compat"]} +# Local +dp-chain-state-snapshot = { path = "../../../primitives/chain-state-snapshot"} +magnet-primitives-order = { path = "../../../primitives/order"} + # Substrate sc-client-api = { workspace = true } sc-consensus = { workspace = true } @@ -38,6 +42,8 @@ sp-timestamp = { workspace = true } sp-state-machine = { workspace = true } substrate-prometheus-endpoint = { workspace = true } sc-service = { workspace = true } +pallet-broker = { workspace = true} +sp-storage = { workspace = true } # Cumulus cumulus-client-consensus-common = { workspace = true } diff --git a/client/coretime/bulk/src/lib.rs b/client/coretime/bulk/src/lib.rs index 44f8682..289cdfe 100644 --- a/client/coretime/bulk/src/lib.rs +++ b/client/coretime/bulk/src/lib.rs @@ -22,9 +22,15 @@ use sp_api::ProvideRuntimeApi; use std::error::Error; use std::sync::Arc; mod metadata; +use magnet_primitives_order::{self, well_known_keys::broker_regions}; +use pallet_broker::{CoreMask, RegionId}; +use sp_storage::StorageKey; use subxt::client::OfflineClientT; use subxt::{ - config::polkadot::PolkadotExtrinsicParamsBuilder as Params, tx::Signer, utils::MultiSignature, + backend::{legacy::LegacyRpcMethods, rpc::RpcClient}, + config::polkadot::PolkadotExtrinsicParamsBuilder as Params, + tx::Signer, + utils::MultiSignature, Config, OnlineClient, PolkadotConfig, }; @@ -43,8 +49,9 @@ where let parachain = parachain.clone(); async move { + let rpc_client = RpcClient::from_url("ws://127.0.0.1:9944").await.unwrap(); let api = - OnlineClient::::from_url("ws://127.0.0.1:8855").await.unwrap(); + OnlineClient::::from_url("ws://127.0.0.1:9944").await.unwrap(); loop { let events = api.events().at_latest().await.unwrap(); @@ -56,6 +63,20 @@ where "Purchased success: value: {:?},{:?},{:?},{:?}", ev.who, ev.region_id, ev.price, ev.duration ); + let rpc = LegacyRpcMethods::::new(rpc_client.clone()); + // let xxx = ev.region_id.mask.0.into(); + // let coreMask = CoreMask::from(xxx); + // let region_id =RegionId{ + // begin:ev.region_id.begin, + // core:ev.region_id.core, + // mask:coreMask, + // }; + // let key = broker_regions(region_id); + // let mut relevant_keys = Vec::new(); + // relevant_keys.push(key.as_slice()); + // // let storage_keys: Vec = relevant_keys.into_iter().map(StorageKey).collect(); + // let proof = rpc.state_get_read_proof(relevant_keys, Some(events.block_hash())).await; + // println!("{:?}", proof); } } } diff --git a/primitives/chain-state-snapshot/Cargo.toml b/primitives/chain-state-snapshot/Cargo.toml new file mode 100644 index 0000000..eb20666 --- /dev/null +++ b/primitives/chain-state-snapshot/Cargo.toml @@ -0,0 +1,24 @@ +[package] +name = "dp-chain-state-snapshot" +authors = { workspace = true } +description = "Primitives related to chain state snapshot" +edition = "2021" +license = "GPL-3.0-only" +version = "0.1.0" + +[package.metadata.docs.rs] +targets = [ "x86_64-unknown-linux-gnu" ] +[dependencies] + +# Substrate +parity-scale-codec = { workspace = true } +sp-runtime = { workspace = true } +sp-state-machine = { workspace = true } +sp-trie = { workspace = true } + +# Cumulus +cumulus-primitives-core = { workspace = true } + +[features] +default = [ "std" ] +std = [ "cumulus-primitives-core/std", "parity-scale-codec/std", "sp-runtime/std", "sp-state-machine/std", "sp-trie/std" ] diff --git a/primitives/chain-state-snapshot/src/lib.rs b/primitives/chain-state-snapshot/src/lib.rs new file mode 100644 index 0000000..30ce68a --- /dev/null +++ b/primitives/chain-state-snapshot/src/lib.rs @@ -0,0 +1,141 @@ +// Copyright (C) Moondance Labs Ltd. +// This file is part of Tanssi. + +// Tanssi 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. + +// Tanssi 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 Tanssi. If not, see + +//! # Chain Snapshot Primitives +//! +//! This crate defines those primitives to retrieve keys from a defined Backend + +#![cfg_attr(not(feature = "std"), no_std)] + +use { + parity_scale_codec::Decode, + sp_runtime::traits::HashingFor, + sp_state_machine::{Backend, TrieBackend, TrieBackendBuilder}, + sp_trie::{HashDBT, MemoryDB, StorageProof, EMPTY_PREFIX}, +}; + +#[derive(Debug)] +pub enum ReadEntryErr { + /// The value cannot be extracted from the proof. + Proof, + /// The value cannot be decoded. + Decode, + /// The value is expected to be present on the relay chain, but it doesn't exist. + Absent, + /// The proof provided does not match the root provided + RootMismatch, +} + +/// Read an entry given by the key and try to decode it. If the value specified by the key according +/// to the proof is empty, the `fallback` value will be returned. +/// +/// Returns `Err` in case the backend can't return the value under the specific key (likely due to +/// a malformed proof), in case the decoding fails, or in case where the value is empty in the relay +/// chain state and no fallback was provided. +fn read_entry(backend: &B, key: &[u8], fallback: Option) -> Result +where + T: Decode, + B: Backend>, + Block: sp_runtime::traits::Block, +{ + backend + .storage(key) + .map_err(|_| ReadEntryErr::Proof)? + .map(|raw_entry| T::decode(&mut &raw_entry[..]).map_err(|_| ReadEntryErr::Decode)) + .transpose()? + .or(fallback) + .ok_or(ReadEntryErr::Absent) +} + +/// Read an optional entry given by the key and try to decode it. +/// Returns `None` if the value specified by the key according to the proof is empty. +/// +/// Returns `Err` in case the backend can't return the value under the specific key (likely due to +/// a malformed proof) or if the value couldn't be decoded. +fn read_optional_entry(backend: &B, key: &[u8]) -> Result, ReadEntryErr> +where + T: Decode, + B: Backend>, + Block: sp_runtime::traits::Block, +{ + match read_entry::(backend, key, None) { + Ok(v) => Ok(Some(v)), + Err(ReadEntryErr::Absent) => Ok(None), + Err(err) => Err(err), + } +} + +/// A state proof extracted from the relay chain. +/// +/// This state proof is extracted from the relay chain block we are building on top of. +pub struct GenericStateProof { + trie_backend: TrieBackend>, HashingFor>, +} + +impl GenericStateProof { + /// Create a new instance of `Self`. + /// + /// Returns an error if the given `relay_parent_storage_root` is not the root of the given + /// `proof`. + pub fn new( + relay_parent_storage_root: Block::Hash, + proof: StorageProof, + ) -> Result { + // Retrieve whether the proof is empty + let proof_empty = proof.is_empty(); + + let db = proof.into_memory_db::>(); + // If the proof is empty we should not compare against any root, but rather, expect that the pallet + // will dot he job when looking for certain keys + if !db.contains(&relay_parent_storage_root, EMPTY_PREFIX) && !proof_empty { + return Err(ReadEntryErr::RootMismatch); + } + let trie_backend = TrieBackendBuilder::new(db, relay_parent_storage_root).build(); + + Ok(Self { trie_backend }) + } + + /// Read an entry given by the key and try to decode it. If the value specified by the key according + /// to the proof is empty, the `fallback` value will be returned. + /// + /// Returns `Err` in case the backend can't return the value under the specific key (likely due to + /// a malformed proof), in case the decoding fails, or in case where the value is empty in the relay + /// chain state and no fallback was provided. + pub fn read_entry(&self, key: &[u8], fallback: Option) -> Result + where + T: Decode, + { + read_entry::>, HashingFor>, Block>( + &self.trie_backend, + key, + fallback, + ) + } + + /// Read an optional entry given by the key and try to decode it. + /// + /// Returns `Err` in case the backend can't return the value under the specific key (likely due to + /// a malformed proof) or if the value couldn't be decoded. + pub fn read_optional_entry(&self, key: &[u8]) -> Result, ReadEntryErr> + where + T: Decode, + { + read_optional_entry::>, HashingFor>, Block>( + &self.trie_backend, + key, + ) + } +} diff --git a/primitives/order/Cargo.toml b/primitives/order/Cargo.toml index 2a9c3f4..bf0256d 100644 --- a/primitives/order/Cargo.toml +++ b/primitives/order/Cargo.toml @@ -28,6 +28,8 @@ sp-std = { workspace = true, default-features = false } sp-weights = { workspace = true, default-features = false } sp-session = { workspace = true, default-features = false } sp-consensus-grandpa = { workspace = true, default-features = false } +pallet-broker = { workspace = true, default-features = false } + [features] default = [ "std" ] @@ -49,4 +51,5 @@ std = [ "sp-weights/std", "sp-session/std", "sp-consensus-grandpa/std", + "pallet-broker/std", ] \ No newline at end of file diff --git a/primitives/order/src/well_known_keys.rs b/primitives/order/src/well_known_keys.rs index d591e3b..2429eee 100644 --- a/primitives/order/src/well_known_keys.rs +++ b/primitives/order/src/well_known_keys.rs @@ -20,8 +20,9 @@ use cumulus_primitives_core::relay_chain::CoreIndex; use { cumulus_primitives_core::ParaId, + pallet_broker::RegionId, sp_core::Encode, - sp_io::hashing::{twox_256, twox_64}, + sp_io::hashing::{blake2_128, twox_256, twox_64}, sp_std::vec::Vec, }; @@ -72,3 +73,14 @@ pub fn paras_core_descriptors(core_index: CoreIndex) -> Vec { CORE_DESCRIPTORS.iter().chain(twox_256(core_index).iter()).cloned().collect() }) } + +// XXHash a String:Broker Regions +pub const REGIONS: &[u8] = + &hex_literal::hex!["4dcb50595177a3177648411a42aca0f53dc63b0b76ffd6f80704a090da6f8719"]; + +/// assigner coretime storage CoreDescriptors +pub fn broker_regions(region_id: RegionId) -> Vec { + region_id.using_encoded(|core_index: &[u8]| { + REGIONS.iter().chain(blake2_128(core_index).iter()).cloned().collect() + }) +} From 2cc47ac9a9d431f86cb21d52fecc22c7f133551b Mon Sep 17 00:00:00 2001 From: sulijia <984115358@qq.com> Date: Fri, 21 Jun 2024 23:07:12 +0800 Subject: [PATCH 05/22] read proof of purchase then verify success --- client/coretime/bulk/src/lib.rs | 98 +++++++++++++++++++------ primitives/order/src/well_known_keys.rs | 7 +- 2 files changed, 80 insertions(+), 25 deletions(-) diff --git a/client/coretime/bulk/src/lib.rs b/client/coretime/bulk/src/lib.rs index 289cdfe..87954e1 100644 --- a/client/coretime/bulk/src/lib.rs +++ b/client/coretime/bulk/src/lib.rs @@ -16,14 +16,21 @@ use cumulus_primitives_core::BlockT; use cumulus_primitives_core::ParaId; use cumulus_relay_chain_interface::RelayChainInterface; +use polkadot_primitives::AccountId; +use polkadot_primitives::Balance; use sc_client_api::UsageProvider; use sc_service::TaskManager; use sp_api::ProvideRuntimeApi; use std::error::Error; use std::sync::Arc; mod metadata; +use dp_chain_state_snapshot::GenericStateProof; +use magnet_primitives_order::well_known_keys::REGIONS; use magnet_primitives_order::{self, well_known_keys::broker_regions}; +use metadata::api::{runtime_types, runtime_types::coretime_rococo_runtime as polakdot_runtime}; +use pallet_broker::RegionRecord; use pallet_broker::{CoreMask, RegionId}; +use sp_state_machine::StorageProof; use sp_storage::StorageKey; use subxt::client::OfflineClientT; use subxt::{ @@ -34,6 +41,14 @@ use subxt::{ Config, OnlineClient, PolkadotConfig, }; +fn u8_array_to_u128(array: [u8; 10]) -> u128 { + let mut result: u128 = 0; + for &byte in &array { + result = (result << 8) | byte as u128; + } + result +} + pub fn spawn_bulk_task( parachain: Arc, para_id: ParaId, @@ -49,34 +64,69 @@ where let parachain = parachain.clone(); async move { - let rpc_client = RpcClient::from_url("ws://127.0.0.1:9944").await.unwrap(); + let rpc_client = RpcClient::from_url("ws://127.0.0.1:8855").await.unwrap(); let api = - OnlineClient::::from_url("ws://127.0.0.1:9944").await.unwrap(); + OnlineClient::::from_url("ws://127.0.0.1:8855").await.unwrap(); loop { - let events = api.events().at_latest().await.unwrap(); + let mut blocks_sub = api.blocks().subscribe_finalized().await.unwrap(); + + // For each block, print a bunch of information about it: + while let Some(block) = blocks_sub.next().await { + let block = block.unwrap(); + + let block_number = block.header().number; + let block_hash = block.hash(); - let purchase_event = - events.find_first::().unwrap(); - if let Some(ev) = purchase_event { - println!( - "Purchased success: value: {:?},{:?},{:?},{:?}", - ev.who, ev.region_id, ev.price, ev.duration - ); - let rpc = LegacyRpcMethods::::new(rpc_client.clone()); - // let xxx = ev.region_id.mask.0.into(); - // let coreMask = CoreMask::from(xxx); - // let region_id =RegionId{ - // begin:ev.region_id.begin, - // core:ev.region_id.core, - // mask:coreMask, - // }; - // let key = broker_regions(region_id); - // let mut relevant_keys = Vec::new(); - // relevant_keys.push(key.as_slice()); - // // let storage_keys: Vec = relevant_keys.into_iter().map(StorageKey).collect(); - // let proof = rpc.state_get_read_proof(relevant_keys, Some(events.block_hash())).await; - // println!("{:?}", proof); + println!("Block #{block_number}:"); + println!(" Hash: {block_hash}"); + println!(" Extrinsics:"); + let extrinsics = block.extrinsics().await.unwrap(); + for ext in extrinsics.iter() { + let ext = ext.unwrap(); + let events = ext.events().await.unwrap(); + let purchase_event = events + .find_first::() + .unwrap(); + if let Some(ev) = purchase_event { + println!( + "Purchased success: value: {:?},{:?},{:?},{:?}", + ev.who, ev.region_id, ev.price, ev.duration + ); + let rpc = LegacyRpcMethods::::new(rpc_client.clone()); + let mask = u8_array_to_u128(ev.region_id.mask.0); + let core_mask = CoreMask::from(mask); + let region_id = RegionId { + begin: ev.region_id.begin, + core: ev.region_id.core, + mask: core_mask, + }; + println!("region_id:{:?}", region_id); + let key = broker_regions(region_id); + println!("key:{:?}", key); + let mut relevant_keys = Vec::new(); + relevant_keys.push(key.as_slice()); + let proof = rpc + .state_get_read_proof(relevant_keys, Some(events.block_hash())) + .await + .unwrap(); + let storage_proof = StorageProof::new( + proof.proof.into_iter().map(|bytes| bytes.to_vec()), + ); + println!("{:?}", storage_proof); + let storage_root = block.header().state_root; + let relay_storage_rooted_proof: GenericStateProof< + cumulus_primitives_core::relay_chain::Block, + > = GenericStateProof::new(storage_root, storage_proof).unwrap(); + let head_data = relay_storage_rooted_proof + .read_entry::>( + key.as_slice(), + None, + ) + .ok(); + println!("head_data:{:?}", head_data); + } + } } } } diff --git a/primitives/order/src/well_known_keys.rs b/primitives/order/src/well_known_keys.rs index 2429eee..a1a4424 100644 --- a/primitives/order/src/well_known_keys.rs +++ b/primitives/order/src/well_known_keys.rs @@ -81,6 +81,11 @@ pub const REGIONS: &[u8] = /// assigner coretime storage CoreDescriptors pub fn broker_regions(region_id: RegionId) -> Vec { region_id.using_encoded(|core_index: &[u8]| { - REGIONS.iter().chain(blake2_128(core_index).iter()).cloned().collect() + REGIONS + .iter() + .chain(blake2_128(core_index).iter()) + .chain(core_index.iter()) + .cloned() + .collect() }) } From a887360742a29abfdbafb21099478af59d550a07 Mon Sep 17 00:00:00 2001 From: sulijia <984115358@qq.com> Date: Sun, 23 Jun 2024 21:18:19 +0800 Subject: [PATCH 06/22] 1.complete bulk mode basic code 2. reconstruct code --- Cargo.lock | 259 +- Cargo.toml | 3 +- client/coretime/bulk/Cargo.toml | 7 +- client/coretime/bulk/src/lib.rs | 201 +- .../aura => coretime/common}/Cargo.toml | 14 +- client/coretime/common/src/lib.rs | 64 + node/Cargo.toml | 8 +- node/src/chain_spec.rs | 8 +- node/src/main.rs | 4 +- node/src/on_demand_order.rs | 662 -- node/src/service.rs | 128 +- node/src/submit_order.rs | 143 - pallets/{order => bulk}/Cargo.toml | 12 +- pallets/{order => bulk}/README.md | 0 pallets/bulk/src/benchmarking.rs | 40 + pallets/bulk/src/lib.rs | 205 + pallets/bulk/src/mock.rs | 183 + pallets/bulk/src/proof_data.rs | 29 + pallets/bulk/src/tests.rs | 82 + pallets/{order => bulk}/src/weights.rs | 0 pallets/liquidation/Cargo.toml | 4 +- pallets/liquidation/src/lib.rs | 25 +- pallets/order/src/benchmarking.rs | 40 - pallets/order/src/lib.rs | 489 -- pallets/order/src/mock.rs | 183 - pallets/order/src/proof_data.rs | 29 - pallets/order/src/tests.rs | 82 - .../{order => coretime/bulk}/Cargo.toml | 4 +- .../coretime/bulk/src/inherent_client.rs | 89 + primitives/coretime/bulk/src/lib.rs | 65 + .../coretime/bulk/src/well_known_keys.rs | 43 + primitives/coretime/common/Cargo.toml | 53 + primitives/coretime/common/src/lib.rs | 30 + .../coretime/common/src/well_known_keys.rs | 50 +- primitives/order/src/inherent_client.rs | 89 - primitives/order/src/lib.rs | 111 - primitives/order/src/metadata.rs | 5350 ----------------- primitives/order/src/well_known_keys.rs | 91 - runtime/Cargo.toml | 11 +- runtime/src/lib.rs | 158 +- 40 files changed, 1408 insertions(+), 7640 deletions(-) rename client/{consensus/aura => coretime/common}/Cargo.toml (82%) create mode 100644 client/coretime/common/src/lib.rs delete mode 100644 node/src/on_demand_order.rs delete mode 100644 node/src/submit_order.rs rename pallets/{order => bulk}/Cargo.toml (87%) rename pallets/{order => bulk}/README.md (100%) create mode 100644 pallets/bulk/src/benchmarking.rs create mode 100644 pallets/bulk/src/lib.rs create mode 100644 pallets/bulk/src/mock.rs create mode 100644 pallets/bulk/src/proof_data.rs create mode 100644 pallets/bulk/src/tests.rs rename pallets/{order => bulk}/src/weights.rs (100%) delete mode 100644 pallets/order/src/benchmarking.rs delete mode 100644 pallets/order/src/lib.rs delete mode 100644 pallets/order/src/mock.rs delete mode 100644 pallets/order/src/proof_data.rs delete mode 100644 pallets/order/src/tests.rs rename primitives/{order => coretime/bulk}/Cargo.toml (94%) create mode 100644 primitives/coretime/bulk/src/inherent_client.rs create mode 100644 primitives/coretime/bulk/src/lib.rs create mode 100644 primitives/coretime/bulk/src/well_known_keys.rs create mode 100644 primitives/coretime/common/Cargo.toml create mode 100644 primitives/coretime/common/src/lib.rs rename client/consensus/aura/src/lib.rs => primitives/coretime/common/src/well_known_keys.rs (51%) delete mode 100644 primitives/order/src/inherent_client.rs delete mode 100644 primitives/order/src/lib.rs delete mode 100644 primitives/order/src/metadata.rs delete mode 100644 primitives/order/src/well_known_keys.rs diff --git a/Cargo.lock b/Cargo.lock index 2f04642..9e123f2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5961,7 +5961,53 @@ dependencies = [ ] [[package]] -name = "magnet-client-consensus-aura" +name = "maplit" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" + +[[package]] +name = "match_cfg" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" + +[[package]] +name = "matchers" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1" +dependencies = [ + "regex-automata 0.1.10", +] + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + +[[package]] +name = "matches" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" + +[[package]] +name = "matrixmultiply" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2" +dependencies = [ + "autocfg", + "rawpointer", +] + +[[package]] +name = "mc-coretime-bulk" version = "0.1.0" dependencies = [ "async-trait", @@ -5974,9 +6020,12 @@ dependencies = [ "cumulus-primitives-core", "cumulus-primitives-parachain-inherent", "cumulus-relay-chain-interface", + "dp-chain-state-snapshot", "futures", "log", - "magnet-primitives-order", + "mc-coretime-common", + "mp-coretime-bulk", + "pallet-broker", "parity-scale-codec", "polkadot-node-primitives", "polkadot-node-subsystem", @@ -5987,6 +6036,7 @@ dependencies = [ "sc-consensus-aura", "sc-consensus-babe", "sc-consensus-slots", + "sc-service", "sc-telemetry", "schnellru", "sp-api", @@ -6000,13 +6050,15 @@ dependencies = [ "sp-keystore 0.34.0", "sp-runtime 31.0.1", "sp-state-machine 0.35.0", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", "sp-timestamp", "substrate-prometheus-endpoint", + "subxt", "tracing", ] [[package]] -name = "magnet-client-coretime-bulk" +name = "mc-coretime-common" version = "0.1.0" dependencies = [ "async-trait", @@ -6019,16 +6071,16 @@ dependencies = [ "cumulus-primitives-core", "cumulus-primitives-parachain-inherent", "cumulus-relay-chain-interface", - "dp-chain-state-snapshot", "futures", "log", - "magnet-primitives-order", + "mp-coretime-common", "pallet-broker", "parity-scale-codec", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-overseer", "polkadot-primitives", + "polkadot-runtime-parachains", "sc-client-api", "sc-consensus", "sc-consensus-aura", @@ -6055,78 +6107,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "magnet-primitives-order" -version = "0.2.0" -dependencies = [ - "async-trait", - "cumulus-primitives-core", - "cumulus-relay-chain-interface", - "hex-literal", - "log", - "pallet-broker", - "parity-scale-codec", - "scale-info", - "sp-api", - "sp-consensus-aura", - "sp-consensus-grandpa", - "sp-core 28.0.0", - "sp-inherents", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-session", - "sp-state-machine 0.35.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-trie 29.0.0", - "sp-weights 27.0.0", -] - -[[package]] -name = "maplit" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" - -[[package]] -name = "match_cfg" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" - -[[package]] -name = "matchers" -version = "0.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1" -dependencies = [ - "regex-automata 0.1.10", -] - -[[package]] -name = "matchers" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" -dependencies = [ - "regex-automata 0.1.10", -] - -[[package]] -name = "matches" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" - -[[package]] -name = "matrixmultiply" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2" -dependencies = [ - "autocfg", - "rawpointer", -] - [[package]] name = "memchr" version = "2.7.2" @@ -6325,6 +6305,57 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "mp-coretime-bulk" +version = "0.2.0" +dependencies = [ + "async-trait", + "cumulus-primitives-core", + "cumulus-relay-chain-interface", + "hex-literal", + "log", + "pallet-broker", + "parity-scale-codec", + "scale-info", + "sp-api", + "sp-consensus-aura", + "sp-consensus-grandpa", + "sp-core 28.0.0", + "sp-inherents", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-session", + "sp-state-machine 0.35.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-trie 29.0.0", + "sp-weights 27.0.0", +] + +[[package]] +name = "mp-coretime-common" +version = "0.2.0" +dependencies = [ + "async-trait", + "cumulus-primitives-core", + "cumulus-relay-chain-interface", + "hex-literal", + "log", + "parity-scale-codec", + "scale-info", + "sp-api", + "sp-consensus-aura", + "sp-consensus-grandpa", + "sp-core 28.0.0", + "sp-inherents", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-session", + "sp-state-machine 0.35.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-trie 29.0.0", + "sp-weights 27.0.0", +] + [[package]] name = "mp-system" version = "0.1.0" @@ -7263,6 +7294,39 @@ dependencies = [ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", ] +[[package]] +name = "pallet-bulk" +version = "0.2.0" +dependencies = [ + "cumulus-pallet-parachain-system", + "cumulus-primitives-core", + "dp-chain-state-snapshot", + "frame-benchmarking", + "frame-support", + "frame-system", + "hex", + "hex-literal", + "log", + "mp-coretime-bulk", + "pallet-balances", + "pallet-broker", + "pallet-collective", + "pallet-society", + "pallet-xcm", + "parachains-common", + "parity-scale-codec", + "polkadot-primitives", + "polkadot-runtime-parachains", + "scale-info", + "serde", + "sp-consensus-aura", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-trie 29.0.0", + "staging-xcm-builder", +] + [[package]] name = "pallet-child-bounties" version = "27.0.0" @@ -7726,7 +7790,6 @@ dependencies = [ "mp-system", "pallet-assets", "pallet-balances", - "pallet-order", "pallet-pot", "pallet-transaction-payment", "pallet-utility", @@ -7922,37 +7985,6 @@ dependencies = [ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", ] -[[package]] -name = "pallet-order" -version = "0.2.0" -dependencies = [ - "cumulus-pallet-parachain-system", - "cumulus-primitives-core", - "frame-benchmarking", - "frame-support", - "frame-system", - "hex", - "hex-literal", - "log", - "magnet-primitives-order", - "pallet-balances", - "pallet-collective", - "pallet-society", - "pallet-xcm", - "parachains-common", - "parity-scale-codec", - "polkadot-primitives", - "polkadot-runtime-parachains", - "scale-info", - "serde", - "sp-consensus-aura", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-trie 29.0.0", - "staging-xcm-builder", -] - [[package]] name = "pallet-pot" version = "0.1.0" @@ -8521,9 +8553,8 @@ dependencies = [ "hex-literal", "jsonrpsee", "log", - "magnet-client-consensus-aura", - "magnet-client-coretime-bulk", - "magnet-primitives-order", + "mc-coretime-bulk", + "mp-coretime-bulk", "mp-system", "pallet-balances", "pallet-pot-rpc", @@ -8574,6 +8605,7 @@ dependencies = [ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", "sp-timestamp", "sp-transaction-pool", + "sp-trie 29.0.0", "staging-xcm", "substrate-build-script-utils", "substrate-frame-rpc-system", @@ -8610,7 +8642,6 @@ dependencies = [ "frame-try-runtime", "hex-literal", "log", - "magnet-primitives-order", "mp-system", "pallet-assets", "pallet-assets-bridge", @@ -8619,6 +8650,7 @@ dependencies = [ "pallet-authorship", "pallet-balances", "pallet-base-fee", + "pallet-bulk", "pallet-collator-selection", "pallet-collective", "pallet-contracts", @@ -8635,7 +8667,6 @@ dependencies = [ "pallet-insecure-randomness-collective-flip", "pallet-liquidation", "pallet-message-queue", - "pallet-order", "pallet-pot", "pallet-pot-runtime-api", "pallet-precompile-substrate-utils", diff --git a/Cargo.toml b/Cargo.toml index 3914fc6..c3c54cb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,7 +17,8 @@ overflow-checks = true members = [ "node", "runtime", - "pallets/order", +# "pallets/order", + "pallets/bulk", "primitives/system", "pallets/evm-utils", "pallets/evm/precompile/substrate-utils", diff --git a/client/coretime/bulk/Cargo.toml b/client/coretime/bulk/Cargo.toml index b46df04..0691b3e 100644 --- a/client/coretime/bulk/Cargo.toml +++ b/client/coretime/bulk/Cargo.toml @@ -1,7 +1,7 @@ [package] -name = "magnet-client-coretime-bulk" +name = "mc-coretime-bulk" authors = ["Anonymous"] -description = "magnet-coretime" +description = "client of magnet coretime bulk mode" license = "Apache License 2.0" homepage = "https://magnet.magport.io/" repository.workspace = true @@ -19,7 +19,8 @@ subxt = { workspace = true, features = ["substrate-compat"]} # Local dp-chain-state-snapshot = { path = "../../../primitives/chain-state-snapshot"} -magnet-primitives-order = { path = "../../../primitives/order"} +mp-coretime-bulk = { path = "../../../primitives/coretime/bulk"} +mc-coretime-common = { path = "../common"} # Substrate sc-client-api = { workspace = true } diff --git a/client/coretime/bulk/src/lib.rs b/client/coretime/bulk/src/lib.rs index 87954e1..fd5deb8 100644 --- a/client/coretime/bulk/src/lib.rs +++ b/client/coretime/bulk/src/lib.rs @@ -21,17 +21,29 @@ use polkadot_primitives::Balance; use sc_client_api::UsageProvider; use sc_service::TaskManager; use sp_api::ProvideRuntimeApi; +use sp_core::ByteArray; use std::error::Error; use std::sync::Arc; mod metadata; +use codec::{Codec, Decode}; use dp_chain_state_snapshot::GenericStateProof; -use magnet_primitives_order::well_known_keys::REGIONS; -use magnet_primitives_order::{self, well_known_keys::broker_regions}; +use futures::{lock::Mutex, pin_mut, select, FutureExt, Stream, StreamExt}; +use mc_coretime_common::is_parathread; use metadata::api::{runtime_types, runtime_types::coretime_rococo_runtime as polakdot_runtime}; +use mp_coretime_bulk::well_known_keys::REGIONS; +use mp_coretime_bulk::BulkMemRecord; +use mp_coretime_bulk::{self, well_known_keys::broker_regions}; use pallet_broker::RegionRecord; use pallet_broker::{CoreMask, RegionId}; +use sp_application_crypto::AppPublic; +use sp_core::{crypto::Pair, H256}; +use sp_runtime::{ + codec::Encode, + traits::{AtLeast32BitUnsigned, Header as HeaderT, MaybeDisplay, Member}, +}; use sp_state_machine::StorageProof; use sp_storage::StorageKey; +use std::fmt::Debug; use subxt::client::OfflineClientT; use subxt::{ backend::{legacy::LegacyRpcMethods, rpc::RpcClient}, @@ -49,87 +61,130 @@ fn u8_array_to_u128(array: [u8; 10]) -> u128 { result } +pub async fn coretime_bulk_task( + relay_chain: R, + p_hash: H256, + para_id: ParaId, + bulk_record: Arc>, +) -> Result<(), Box> +where + R: RelayChainInterface + Clone, +{ + // Determine whether it is a parathread + let parathread = is_parathread(relay_chain, p_hash, para_id).await?; + if !parathread { + return Ok(()); + } + // Query CoreAssigned Event + let api = OnlineClient::::from_url("ws://127.0.0.1:8855").await?; + let block = api.blocks().at_latest().await?; + let events = block.events().await?; + for event in events.iter() { + let event = event?; + let pallet = event.pallet_name(); + let variant = event.variant_name(); + let field_values = event.field_values()?; + log::info!("{:?},{:?},{:?}", pallet, variant, field_values); + let event_detail = event.as_event::(); + if let Ok(assigned_event) = event_detail { + if let Some(ev) = assigned_event { + log::info!("{:?},{:?},{:?}", ev.region_id, ev.task, ev.duration); + let pid: u32 = para_id.into(); + if ev.task == pid { + // + let rpc_client = RpcClient::from_url("ws://127.0.0.1:8855").await?; + let rpc = LegacyRpcMethods::::new(rpc_client.clone()); + let mask = u8_array_to_u128(ev.region_id.mask.0); + let core_mask = CoreMask::from(mask); + let region_id = RegionId { + begin: ev.region_id.begin, + core: ev.region_id.core, + mask: core_mask, + }; + println!("region_id:{:?}", region_id); + let key = broker_regions(region_id); + println!("key:{:?}", key); + let mut relevant_keys = Vec::new(); + relevant_keys.push(key.as_slice()); + let proof = rpc + .state_get_read_proof(relevant_keys, Some(events.block_hash())) + .await + .unwrap(); + let storage_proof = + StorageProof::new(proof.proof.into_iter().map(|bytes| bytes.to_vec())); + println!("{:?}", storage_proof); + let storage_root = block.header().state_root; + let relay_storage_rooted_proof: GenericStateProof< + cumulus_primitives_core::relay_chain::Block, + > = GenericStateProof::new(storage_root, storage_proof.clone()).unwrap(); + let head_data = relay_storage_rooted_proof + .read_entry::>(key.as_slice(), None) + .ok(); + println!("head_data:{:?}", head_data); + if let Some(region_record) = head_data { + let mut bulk_record_local = bulk_record.lock().await; + bulk_record_local.storage_proof = storage_proof; + bulk_record_local.storage_root = storage_root; + bulk_record_local.region_id = region_id; + } + } + } + } + } + Ok(()) +} + +pub async fn run_coretime_bulk_task( + relay_chain: R, + para_id: ParaId, + bulk_record: Arc>, +) where + R: RelayChainInterface + Clone, +{ + let relay_chain_notification = async move { + let new_best_heads = relay_chain + .new_best_notification_stream() + .await? + .filter_map(move |n| async move { Some((n.number, n.hash())) }) + .fuse(); + pin_mut!(new_best_heads); + loop { + select! { + h = new_best_heads.next() => { + match h { + Some((height, hash)) => { + log::info!("{:?},{:?}",height, hash); + coretime_bulk_task(relay_chain.clone(), hash, para_id, bulk_record.clone()).await?; + }, + None => { + return Ok::<(), Box>(()); + } + } + } + } + } + }; + select! { + _ = relay_chain_notification.fuse() => {}, + } +} + pub fn spawn_bulk_task( parachain: Arc, para_id: ParaId, relay_chain: R, task_manager: &TaskManager, + bulk_record: Arc>, ) -> sc_service::error::Result<()> where Block: BlockT, R: RelayChainInterface + Clone + 'static, T: Send + Sync + 'static + ProvideRuntimeApi + UsageProvider, { - task_manager.spawn_essential_handle().spawn("bulk task", "magport", { - let parachain = parachain.clone(); - - async move { - let rpc_client = RpcClient::from_url("ws://127.0.0.1:8855").await.unwrap(); - let api = - OnlineClient::::from_url("ws://127.0.0.1:8855").await.unwrap(); - - loop { - let mut blocks_sub = api.blocks().subscribe_finalized().await.unwrap(); - - // For each block, print a bunch of information about it: - while let Some(block) = blocks_sub.next().await { - let block = block.unwrap(); - - let block_number = block.header().number; - let block_hash = block.hash(); - - println!("Block #{block_number}:"); - println!(" Hash: {block_hash}"); - println!(" Extrinsics:"); - let extrinsics = block.extrinsics().await.unwrap(); - for ext in extrinsics.iter() { - let ext = ext.unwrap(); - let events = ext.events().await.unwrap(); - let purchase_event = events - .find_first::() - .unwrap(); - if let Some(ev) = purchase_event { - println!( - "Purchased success: value: {:?},{:?},{:?},{:?}", - ev.who, ev.region_id, ev.price, ev.duration - ); - let rpc = LegacyRpcMethods::::new(rpc_client.clone()); - let mask = u8_array_to_u128(ev.region_id.mask.0); - let core_mask = CoreMask::from(mask); - let region_id = RegionId { - begin: ev.region_id.begin, - core: ev.region_id.core, - mask: core_mask, - }; - println!("region_id:{:?}", region_id); - let key = broker_regions(region_id); - println!("key:{:?}", key); - let mut relevant_keys = Vec::new(); - relevant_keys.push(key.as_slice()); - let proof = rpc - .state_get_read_proof(relevant_keys, Some(events.block_hash())) - .await - .unwrap(); - let storage_proof = StorageProof::new( - proof.proof.into_iter().map(|bytes| bytes.to_vec()), - ); - println!("{:?}", storage_proof); - let storage_root = block.header().state_root; - let relay_storage_rooted_proof: GenericStateProof< - cumulus_primitives_core::relay_chain::Block, - > = GenericStateProof::new(storage_root, storage_proof).unwrap(); - let head_data = relay_storage_rooted_proof - .read_entry::>( - key.as_slice(), - None, - ) - .ok(); - println!("head_data:{:?}", head_data); - } - } - } - } - } - }); + let coretime_bulk_task = + run_coretime_bulk_task(relay_chain.clone(), para_id, bulk_record.clone()); + task_manager + .spawn_essential_handle() + .spawn("bulk task", "magport", coretime_bulk_task); Ok(()) } diff --git a/client/consensus/aura/Cargo.toml b/client/coretime/common/Cargo.toml similarity index 82% rename from client/consensus/aura/Cargo.toml rename to client/coretime/common/Cargo.toml index ddc6edb..ef8b15c 100644 --- a/client/consensus/aura/Cargo.toml +++ b/client/coretime/common/Cargo.toml @@ -1,7 +1,7 @@ [package] -name = "magnet-client-consensus-aura" +name = "mc-coretime-common" authors = ["Anonymous"] -description = "magnet-consensus" +description = "magnet-coretime" license = "Apache License 2.0" homepage = "https://magnet.magport.io/" repository.workspace = true @@ -15,9 +15,9 @@ futures = { workspace = true } tracing = { workspace = true } schnellru = { workspace = true } log = { workspace = true } +subxt = { workspace = true, features = ["substrate-compat"]} -# Local -magnet-primitives-order = { path = "../../../primitives/order"} +mp-coretime-common = { path = "../../../primitives/coretime/common"} # Substrate sc-client-api = { workspace = true } @@ -39,6 +39,9 @@ sp-runtime = { workspace = true } sp-timestamp = { workspace = true } sp-state-machine = { workspace = true } substrate-prometheus-endpoint = { workspace = true } +sc-service = { workspace = true } +pallet-broker = { workspace = true} +sp-storage = { workspace = true } # Cumulus cumulus-client-consensus-common = { workspace = true } @@ -50,8 +53,9 @@ cumulus-primitives-core = { workspace = true } cumulus-primitives-parachain-inherent = { workspace = true } cumulus-client-collator = { workspace = true } cumulus-client-consensus-aura= { workspace = true } +runtime-parachains = { workspace = true } # Polkadot polkadot-primitives = { workspace = true } polkadot-node-primitives = { workspace = true } polkadot-node-subsystem = { workspace = true } -polkadot-overseer = { workspace = true } \ No newline at end of file +polkadot-overseer = { workspace = true } diff --git a/client/coretime/common/src/lib.rs b/client/coretime/common/src/lib.rs new file mode 100644 index 0000000..462d57c --- /dev/null +++ b/client/coretime/common/src/lib.rs @@ -0,0 +1,64 @@ +// Copyright (C) Magnet. +// This file is part of Magnet. + +// Magnet 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. + +// Magnet 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 Magnet. If not, see . +use codec::{Codec, Decode}; +use cumulus_primitives_core::BlockT; +use cumulus_primitives_core::ParaId; +use cumulus_relay_chain_interface::RelayChainInterface; +use mp_coretime_common::well_known_keys::paras_para_lifecycles; +use pallet_broker::RegionRecord; +use pallet_broker::{CoreMask, RegionId}; +use polkadot_primitives::AccountId; +use polkadot_primitives::Balance; +use runtime_parachains::{configuration::HostConfiguration, paras::ParaLifecycle}; +use sc_client_api::UsageProvider; +use sc_service::TaskManager; +use sp_api::ProvideRuntimeApi; +use sp_core::H256; +use sp_state_machine::StorageProof; +use sp_storage::StorageKey; +use std::error::Error; +use std::sync::Arc; +use subxt::client::OfflineClientT; +use subxt::{ + backend::{legacy::LegacyRpcMethods, rpc::RpcClient}, + config::polkadot::PolkadotExtrinsicParamsBuilder as Params, + tx::Signer, + utils::MultiSignature, + Config, OnlineClient, PolkadotConfig, +}; + +pub async fn is_parathread( + relay_chain: impl RelayChainInterface + Clone, + p_hash: H256, + para_id: ParaId, +) -> Result> { + let para_lifecycles_storage = relay_chain + .get_storage_by_key(p_hash, paras_para_lifecycles(para_id).as_slice()) + .await?; + let para_lifecycles = para_lifecycles_storage + .map(|raw| ::decode(&mut &raw[..])) + .transpose()?; + let is_parathread = match para_lifecycles { + Some(lifecycles) => matches!( + lifecycles, + ParaLifecycle::Parathread + | ParaLifecycle::UpgradingParathread + | ParaLifecycle::OffboardingParathread + ), + None => false, + }; + Ok(is_parathread) +} diff --git a/node/Cargo.toml b/node/Cargo.toml index a9024a1..89aac85 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -29,11 +29,12 @@ subxt-signer = { workspace = true } # Local parachain-magnet-runtime = { path = "../runtime" } -magnet-primitives-order = { path = "../primitives/order"} -magnet-client-consensus-aura = {path ="../client/consensus/aura"} +#magnet-primitives-order = { path = "../primitives/order"} +#magnet-client-consensus-aura = {path ="../client/consensus/aura"} pallet-pot-rpc = { path = "../pallets/pot/rpc" } mp-system = { path = "../primitives/system"} -magnet-client-coretime-bulk = {path ="../client/coretime/bulk"} +mc-coretime-bulk = {path ="../client/coretime/bulk"} +mp-coretime-bulk = { path = "../primitives/coretime/bulk"} # Substrate frame-benchmarking = { workspace = true } @@ -78,6 +79,7 @@ frame-system = { workspace = true } pallet-transaction-payment = { workspace = true } sp-application-crypto= { workspace = true } sp-std = { workspace = true } +sp-trie = { workspace = true } # Polkadot polkadot-cli = { workspace = true, features = ["rococo-native"] } diff --git a/node/src/chain_spec.rs b/node/src/chain_spec.rs index 2527bc8..238d32d 100644 --- a/node/src/chain_spec.rs +++ b/node/src/chain_spec.rs @@ -75,7 +75,7 @@ pub fn development_config() -> ChainSpec { Extensions { relay_chain: "rococo-local".into(), // You MUST set this to the correct network! - para_id: 1000, + para_id: 2000, }, ) .with_name("Development") @@ -108,7 +108,7 @@ pub fn development_config() -> ChainSpec { get_account_id_from_seed::("Ferdie//stash"), ], get_account_id_from_seed::("Alice"), - 1000.into(), + 2000.into(), )) .build() } @@ -126,7 +126,7 @@ pub fn local_testnet_config() -> ChainSpec { Extensions { relay_chain: "rococo-local".into(), // You MUST set this to the correct network! - para_id: 1000, + para_id: 2000, }, ) .with_name("Local Testnet") @@ -159,7 +159,7 @@ pub fn local_testnet_config() -> ChainSpec { get_account_id_from_seed::("Ferdie//stash"), ], get_account_id_from_seed::("Alice"), - 1000.into(), + 2000.into(), )) .with_protocol_id("magnet-local") .with_properties(properties) diff --git a/node/src/main.rs b/node/src/main.rs index 86543b7..8fdc1de 100644 --- a/node/src/main.rs +++ b/node/src/main.rs @@ -10,9 +10,9 @@ mod client; mod command; mod eth; mod metadata; -mod on_demand_order; +// mod on_demand_order; mod rpc; -mod submit_order; +// mod submit_order; fn main() -> sc_cli::Result<()> { command::run() diff --git a/node/src/on_demand_order.rs b/node/src/on_demand_order.rs deleted file mode 100644 index dd51960..0000000 --- a/node/src/on_demand_order.rs +++ /dev/null @@ -1,662 +0,0 @@ -// Copyright (C) Magnet. -// This file is part of Magnet. - -// Magnet 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. - -// Magnet 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 Magnet. If not, see . - -//! Ondemand order Spawner -//! -//! The logic of placing an order to purchase core is as follows. -//! Every time a relay chain block is received, check whether the parachain is in parallel thread mode. -//! If so, read the events of the relay chain to see if there is an order to purchase core. , if there is a purchase, -//! record the purchase information. If not, then determine whether it is necessary to purchase core, such as whether -//! the transactions in the mempool reach a certain threshold. -//! -use crate::{ - metadata::api::runtime_types::pallet_broker::coretime_interface::CoreAssignment, - submit_order::{build_rpc_for_submit_order, SubmitOrderError}, -}; -use codec::{Codec, Decode}; - -use crate::metadata::api::runtime_types::polkadot_runtime_parachains::assigner_coretime::CoreDescriptor; -use cumulus_primitives_core::{ - relay_chain::BlockNumber as RelayBlockNumber, ParaId, PersistedValidationData, -}; -use cumulus_relay_chain_interface::{RelayChainInterface, RelayChainResult}; -use futures::{lock::Mutex, pin_mut, select, FutureExt, Stream, StreamExt}; -use magnet_primitives_order::{ - self, - well_known_keys::{paras_core_descriptors, paras_para_lifecycles}, - well_known_keys::{ACTIVE_CONFIG, ON_DEMAND_QUEUE, SPOT_TRAFFIC, SYSTEM_EVENTS}, - OrderRecord, OrderRuntimeApi, OrderStatus, -}; -use mp_system::OnRelayChainApi; -pub use pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi; -use polkadot_primitives::OccupiedCoreAssumption; -use runtime_parachains::{configuration::HostConfiguration, paras::ParaLifecycle}; -use sc_client_api::UsageProvider; -use sc_service::TaskManager; -use sc_transaction_pool_api::{InPoolTransaction, MaintainedTransactionPool}; -use sp_api::ProvideRuntimeApi; -use sp_application_crypto::AppPublic; -use sp_consensus_aura::AuraApi; -use sp_core::ByteArray; -use sp_core::{crypto::Pair, H256}; -use sp_keystore::KeystorePtr; -use sp_runtime::{ - codec::Encode, - traits::{ - AtLeast32BitUnsigned, Block as BlockT, Header as HeaderT, MaybeDisplay, Member, - SaturatedConversion, - }, - FixedPointNumber, FixedU128, -}; -use std::cmp::Ordering; -use std::{convert::TryFrom, error::Error, fmt::Debug, sync::Arc}; - -#[derive(Encode, Decode, Debug, PartialEq, Clone)] -struct EnqueuedOrder { - /// Parachain ID - pub para_id: ParaId, -} - -/// Order type -#[derive(Clone, PartialEq)] -pub enum OrderType { - /// The mem pool gas reaches the threshold. - Normal, - /// Reaching the forced block threshold. - Force, - /// Receive xcm transaction from relay chain. - XCMEvent, -} - -/// Get the spot price of the relay chain. -async fn get_spot_price( - relay_chain: impl RelayChainInterface + Clone, - hash: H256, -) -> Option -where - Balance: Codec + MaybeDisplay + 'static + Debug + From, -{ - let spot_traffic_storage = relay_chain.get_storage_by_key(hash, SPOT_TRAFFIC).await.ok()?; - let p_spot_traffic = spot_traffic_storage - .map(|raw| ::decode(&mut &raw[..])) - .transpose() - .ok()?; - let active_config_storage = relay_chain.get_storage_by_key(hash, ACTIVE_CONFIG).await.ok()?; - let p_active_config = active_config_storage - .map(|raw| >::decode(&mut &raw[..])) - .transpose() - .ok()?; - if p_spot_traffic.is_some() && p_active_config.is_some() { - let spot_traffic = p_spot_traffic.unwrap(); - let active_config = p_active_config.unwrap(); - let spot_price = spot_traffic - .saturating_mul_int(active_config.on_demand_base_fee.saturated_into::()); - Some(Balance::from(spot_price)) - } else { - None - } -} - -/// Whether the relay chain has ondemand function enabled. -async fn start_on_demand( - relay_chain: impl RelayChainInterface + Clone, - hash: H256, - para_id: ParaId, -) -> Option { - let active_config_storage = relay_chain.get_storage_by_key(hash, ACTIVE_CONFIG).await.ok()?; - let p_active_config = active_config_storage - .map(|raw| >::decode(&mut &raw[..])) - .transpose() - .ok()?; - if p_active_config.is_some() { - let mut result = false; - let cores = p_active_config.unwrap().coretime_cores; - for core in 0..cores { - let key = paras_core_descriptors(polkadot_primitives::CoreIndex(core)); - let core_descriptors_storage = - relay_chain.get_storage_by_key(hash, key.as_slice()).await.ok()?; - let p_core_descriptors = core_descriptors_storage - .map(|raw| >::decode(&mut &raw[..])) - .transpose() - .ok()?; - if p_core_descriptors.is_some() { - let p_current_work = p_core_descriptors?.current_work; - if p_current_work.is_some() { - let current_work = p_current_work?; - for (assign, _) in current_work.assignments { - if assign == CoreAssignment::Task(para_id.into()) { - return Some(false); - } else if assign == CoreAssignment::Pool { - result = true - } - } - } - } - } - Some(result) - } else { - None - } -} - -/// Create an order to purchase core. -async fn try_place_order( - hash: H256, - keystore: KeystorePtr, - para_id: ParaId, - url: String, - max_amount: Balance, - slot_block: u32, - height: RelayBlockNumber, - relay_chain: impl RelayChainInterface + Clone, - number: u32, -) -> Result<(), SubmitOrderError> -where - Balance: Codec + MaybeDisplay + 'static + Debug + Into, - ParaId: From, -{ - let max_amount_128 = max_amount.into(); - build_rpc_for_submit_order( - &url, - para_id, - max_amount_128, - hash, - keystore, - slot_block, - height, - relay_chain, - number, - ) - .await -} - -/// Whether the mem pool reaches the threshold for purchasing cores. -async fn reach_txpool_threshold( - parachain: &P, - transaction_pool: Arc, - height: RelayBlockNumber, - snap_txs: Vec, -) -> Option<(bool, OrderType)> -where - Block: BlockT, - P: ProvideRuntimeApi + UsageProvider, - Balance: Codec + MaybeDisplay + 'static + Debug + AtLeast32BitUnsigned + Copy, - P::Api: TransactionPaymentApi - + OrderRuntimeApi - + OnRelayChainApi, - ExPool: MaintainedTransactionPool::Hash> + 'static, - PB: Pair, - PB::Public: AppPublic + Member + Codec, - PB::Signature: TryFrom> + Member + Codec, -{ - let mut pending_iterator = transaction_pool.ready(); - let mut is_place_order = false; - let mut all_gas_value = Balance::from(0u32); - let block_hash = parachain.usage_info().chain.best_hash; - let mut back_txs: Vec = vec![]; - loop { - let pending_tx = - if let Some(pending_tx) = pending_iterator.next() { pending_tx } else { break }; - let pending_tx_data = pending_tx.data().clone(); - let utx_length = pending_tx_data.encode().len() as u32; - let query_fee = parachain - .runtime_api() - .query_fee_details(block_hash, pending_tx_data, utx_length) - .ok()?; - all_gas_value = query_fee.final_fee().add(all_gas_value); - if transaction_pool.status().ready != 0 { - is_place_order = - parachain.runtime_api().reach_txpool_threshold(block_hash, all_gas_value).ok()?; - } - log::info!( - "tx_fee:{:?},all_fee:{:?},can_order:{:?},status:{:?}", - query_fee.final_fee(), - all_gas_value, - is_place_order, - transaction_pool.status() - ); - back_txs.push(H256::from_slice(pending_tx.hash().as_ref())); - } - let mut order_type = OrderType::Normal; - if !is_place_order { - //check is need force bid coretime - let force_bid = parachain.runtime_api().on_relaychain(block_hash, height).ok()?; - if all_gas_value.cmp(&Balance::from(0u32)) == Ordering::Greater && force_bid == 1 { - is_place_order = true; - order_type = OrderType::Force; - } - } - if is_place_order { - if back_txs == snap_txs { - is_place_order = false; - } - } - log::info!("back_txs:{:?}", back_txs); - log::info!("snap_txs:{:?}", snap_txs); - Some((is_place_order, order_type)) -} - -/// Whether the xcm transaction event of the relay chain is received. -async fn relay_chain_xcm_event( - relay_chain_interface: impl RelayChainInterface + Clone, - para_id: ParaId, - relay_parent: H256, -) -> Option<(bool, OrderType)> { - let downward_messages = - relay_chain_interface.retrieve_dmq_contents(para_id, relay_parent).await.ok()?; - let horizontal_messages = relay_chain_interface - .retrieve_all_inbound_hrmp_channel_contents(para_id, relay_parent) - .await - .ok()?; - let can_order = downward_messages.len() > 0 || horizontal_messages.len() > 0; - return Some((can_order, OrderType::XCMEvent)); -} - -/// Get the transactions in the ready queue in the mem pool -async fn get_txs(transaction_pool: Arc) -> Vec -where - Block: BlockT, - ExPool: MaintainedTransactionPool::Hash> + 'static, -{ - let mut pending_iterator = transaction_pool.ready(); - let mut back_txs: Vec = vec![]; - loop { - let pending_tx = - if let Some(pending_tx) = pending_iterator.next() { pending_tx } else { break }; - back_txs.push(H256::from_slice(pending_tx.hash().as_ref())); - } - return back_txs; -} - -/// The main processing logic of purchasing core. -async fn handle_new_best_parachain_head( - validation_data: PersistedValidationData, - height: RelayBlockNumber, - parachain: &P, - keystore: KeystorePtr, - relay_chain: impl RelayChainInterface + Clone, - p_hash: H256, - para_id: ParaId, - order_record: Arc>>, - transaction_pool: Arc, - url: String, -) -> Result<(), Box> -where - Block: BlockT, - P: ProvideRuntimeApi + UsageProvider, - Balance: Codec - + MaybeDisplay - + 'static - + Debug - + Into - + AtLeast32BitUnsigned - + Copy - + From, - P::Api: AuraApi - + OrderRuntimeApi - + TransactionPaymentApi - + OnRelayChainApi, - PB: Pair, - PB::Public: AppPublic + Member + Codec, - PB::Signature: TryFrom> + Member + Codec, - ExPool: MaintainedTransactionPool::Hash> + 'static, -{ - let para_lifecycles_storage = relay_chain - .get_storage_by_key(p_hash, paras_para_lifecycles(para_id).as_slice()) - .await?; - let para_lifecycles = para_lifecycles_storage - .map(|raw| ::decode(&mut &raw[..])) - .transpose()?; - let is_parathread = match para_lifecycles { - Some(lifecycles) => matches!( - lifecycles, - ParaLifecycle::Parathread - | ParaLifecycle::UpgradingParathread - | ParaLifecycle::OffboardingParathread - ), - None => false, - }; - if !is_parathread { - //parachain mode - let mut order_record_local = order_record.lock().await; - order_record_local.validation_data = None; - order_record_local.author_pub = None; - order_record_local.relay_parent = None; - return Ok(()); - } else { - //parathread - let p_on_demand = start_on_demand(relay_chain.clone(), p_hash, para_id).await; - if p_on_demand.is_some() { - let on_demand = p_on_demand.unwrap(); - if !on_demand { - return Ok(()); - } - } - let order_record_local = order_record.lock().await; - if order_record_local.relay_height == height { - return Ok(()); - } - } - let head = validation_data.clone().parent_head.0; - let parachain_head = match <::Header>::decode(&mut &head[..]) { - Ok(header) => header, - Err(err) => return Err(format!("get parachain head error:{:?}", err).into()), - }; - - let hash = parachain_head.hash(); - let authorities = parachain.runtime_api().authorities(hash).map_err(Box::new)?; - let slot_width = parachain.runtime_api().slot_width(hash)?; - let auth_len = authorities.len() as u32; - let idx = (height >> slot_width) % auth_len; - let collator_public = - magnet_client_consensus_aura::order_slot::(idx, &authorities, &keystore).await; - let base = 2 as u32; - let slot_block = base.pow(slot_width); - if height % slot_block == 0 { - let mut order_record_local = order_record.lock().await; - order_record_local.relay_base = p_hash; - order_record_local.relay_base_height = height; - order_record_local.order_status = OrderStatus::Init; - } - let mut relevant_keys = Vec::new(); - //System Events - relevant_keys.push(SYSTEM_EVENTS.to_vec()); - let storage_proof = relay_chain.prove_read(p_hash, &relevant_keys).await?; - let order_placed = parachain.runtime_api().order_placed( - hash, - storage_proof, - validation_data.clone(), - para_id, - )?; - match order_placed { - Some(author) => { - let mut order_record_local = order_record.lock().await; - order_record_local.relay_parent = Some(p_hash); - order_record_local.relay_height = height; - order_record_local.validation_data = Some(validation_data); - order_record_local.author_pub = Some(author); - order_record_local.para_id = para_id; - let sequence_number = parachain.runtime_api().sequence_number(hash)?; - order_record_local.sequence_number = sequence_number; - order_record_local.txs = get_txs(transaction_pool.clone()).await; - }, - None => { - let sequence_number = parachain.runtime_api().sequence_number(hash)?; - let order_executed = parachain.runtime_api().order_executed(hash, sequence_number)?; - if order_executed { - return Ok(()); - } - let mut order_record_local = order_record.lock().await; - if collator_public.is_some() { - //your turn - let reached = reach_txpool_threshold::<_, _, _, _, PB>( - parachain, - transaction_pool, - height, - order_record_local.txs.clone(), - ) - .await; - let mut can_order = false; - let mut order_type = OrderType::Normal; - if let Some((reach, o_t)) = reached { - if reach { - order_type = o_t; - let mut exist_order = false; - // key = OnDemandAssignmentProvider OnDemandQueue - let on_demand_queue_storage = - relay_chain.get_storage_by_key(p_hash, ON_DEMAND_QUEUE).await?; - let on_demand_queue = on_demand_queue_storage - .map(|raw| >::decode(&mut &raw[..])) - .transpose()?; - if let Some(vvs) = on_demand_queue.clone() { - for vv in vvs.into_iter() { - if vv.para_id == para_id { - exist_order = true; - break; - } - } - } - if !exist_order { - can_order = true; - } - } else { - let trig_xcm_event = - relay_chain_xcm_event(relay_chain.clone(), para_id, p_hash).await; - if let Some((trig_flag, o_t)) = trig_xcm_event { - can_order = trig_flag; - order_type = o_t; - } - } - } - if can_order { - if height - order_record_local.relay_height > slot_block { - if order_record_local.order_status == OrderStatus::Init { - let max_amount = parachain.runtime_api().order_max_amount(hash)?; - let p_spot_price = - get_spot_price::(relay_chain.clone(), p_hash).await; - let spot_price; - if p_spot_price.is_some() { - spot_price = p_spot_price.unwrap(); - } else { - spot_price = max_amount; - } - match order_type { - OrderType::Normal => { - log::info!( - "============normal place order======================" - ); - }, - OrderType::Force => { - log::info!( - "============force place order======================" - ); - }, - OrderType::XCMEvent => { - log::info!("============xcm place order======================"); - }, - } - let order_result = try_place_order::( - order_record_local.relay_base, - keystore, - para_id, - url, - spot_price, - slot_block, - height, - relay_chain.clone(), - order_record_local.relay_base_height, - ) - .await; - log::info!("===========place order completed==============",); - order_record_local.order_status = OrderStatus::Order; - if order_result.is_err() { - log::info!( - "===========place_order error:=============={:?}", - order_result - ); - } - } - } - } - } - }, - } - Ok(()) -} - -async fn new_best_heads( - relay_chain: impl RelayChainInterface + Clone, - para_id: ParaId, -) -> RelayChainResult> { - let new_best_notification_stream = - relay_chain.new_best_notification_stream().await?.filter_map(move |n| { - let relay_chain = relay_chain.clone(); - async move { - let relay_head: PersistedValidationData = relay_chain - .persisted_validation_data(n.hash(), para_id, OccupiedCoreAssumption::TimedOut) - .await - .map(|s| s.map(|s| s)) - .ok() - .flatten()?; - Some((n.number, relay_head, n.hash())) - } - }); - - Ok(new_best_notification_stream) -} -async fn relay_chain_notification( - para_id: ParaId, - parachain: Arc

, - relay_chain: R, - keystore: KeystorePtr, - order_record: Arc>>, - transaction_pool: Arc, - url: String, -) where - R: RelayChainInterface + Clone, - Block: BlockT, - Balance: Codec - + MaybeDisplay - + 'static - + Debug - + Into - + AtLeast32BitUnsigned - + Copy - + From, - P: ProvideRuntimeApi + UsageProvider, - P::Api: AuraApi - + OrderRuntimeApi - + TransactionPaymentApi - + OnRelayChainApi, - PB: Pair, - PB::Public: AppPublic + Member + Codec, - PB::Signature: TryFrom> + Member + Codec, - ExPool: MaintainedTransactionPool::Hash> + 'static, -{ - let new_best_heads = match new_best_heads(relay_chain.clone(), para_id).await { - Ok(best_heads_stream) => best_heads_stream.fuse(), - Err(_err) => { - return; - }, - }; - pin_mut!(new_best_heads); - loop { - select! { - h = new_best_heads.next() => { - match h { - Some((height, head, hash)) => { - let _ = handle_new_best_parachain_head::<_,_,PB,_,_>(head,height, &*parachain,keystore.clone(), relay_chain.clone(), hash, para_id, order_record.clone(),transaction_pool.clone(), url.clone()).await; - }, - None => { - return; - } - } - }, - } - } -} - -pub async fn run_on_demand_task( - para_id: ParaId, - parachain: Arc

, - relay_chain: R, - keystore: KeystorePtr, - order_record: Arc>>, - transaction_pool: Arc, - url: String, -) where - R: RelayChainInterface + Clone, - Block: BlockT, - P: ProvideRuntimeApi + UsageProvider, - Balance: Codec - + MaybeDisplay - + 'static - + Debug - + Into - + AtLeast32BitUnsigned - + Copy - + From, - P::Api: AuraApi - + OrderRuntimeApi - + TransactionPaymentApi - + OnRelayChainApi, - PB: Pair, - PB::Public: AppPublic + Member + Codec, - PB::Signature: TryFrom> + Member + Codec, - ExPool: MaintainedTransactionPool::Hash> + 'static, -{ - let relay_chain_notification = relay_chain_notification::<_, _, _, PB, _, _>( - para_id, - parachain.clone(), - relay_chain, - keystore, - order_record, - transaction_pool, - url, - ); - select! { - _ = relay_chain_notification.fuse() => {}, - } -} - -pub fn spawn_on_demand_order( - parachain: Arc, - para_id: ParaId, - relay_chain: R, - transaction_pool: Arc, - task_manager: &TaskManager, - keystore: KeystorePtr, - order_record: Arc>>, - url: String, -) -> sc_service::error::Result<()> -where - Block: BlockT, - R: RelayChainInterface + Clone + 'static, - Balance: Codec - + MaybeDisplay - + 'static - + Debug - + Send - + Into - + AtLeast32BitUnsigned - + Copy - + From, - T: Send + Sync + 'static + ProvideRuntimeApi + UsageProvider, - ExPool: MaintainedTransactionPool::Hash> + 'static, - T::Api: AuraApi - + OrderRuntimeApi - + TransactionPaymentApi - + OnRelayChainApi, - PB: Pair + 'static, - PB::Public: AppPublic + Member + Codec, - PB::Signature: TryFrom> + Member + Codec, -{ - let on_demand_order_task = run_on_demand_task::<_, _, _, PB, _, _>( - para_id, - parachain.clone(), - relay_chain.clone(), - keystore, - order_record, - transaction_pool.clone(), - url, - ); - task_manager.spawn_essential_handle().spawn_blocking( - "on_demand_order_task", - None, - on_demand_order_task, - ); - Ok(()) -} diff --git a/node/src/service.rs b/node/src/service.rs index ed725d0..f3244b4 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -24,7 +24,6 @@ use cumulus_relay_chain_interface::{OverseerHandle, RelayChainInterface}; // Substrate Imports use frame_benchmarking_cli::SUBSTRATE_REFERENCE_HARDWARE; -use magnet_client_coretime_bulk::spawn_bulk_task; use sc_client_api::Backend; use sc_consensus::ImportQueue; use sc_executor::{ @@ -47,9 +46,14 @@ use crate::eth::{ FrontierBlockImport as TFrontierBlockImport, FrontierPartialComponents, }; -use crate::on_demand_order::spawn_on_demand_order; +// use crate::on_demand_order::spawn_on_demand_order; use futures::lock::Mutex; -use magnet_primitives_order::{OrderRecord, OrderStatus}; +// use magnet_primitives_order::{OrderRecord, OrderStatus}; +use mc_coretime_bulk::spawn_bulk_task; +use mp_coretime_bulk::BulkMemRecord; +use sp_core::ByteArray; +use sp_runtime::AccountId32; +use sp_trie::StorageProof; /// Native executor type. pub struct ParachainNativeExecutor; @@ -456,30 +460,41 @@ async fn start_node_impl( sync_service: sync_service.clone(), })?; if validator { - let order_record = - Arc::new(Mutex::new(OrderRecord:: { - relay_parent: None, - relay_height: 0, - relay_base: Default::default(), - relay_base_height: 0, - order_status: OrderStatus::Init, - validation_data: None, - para_id, - sequence_number: 0, - author_pub: None, - txs: vec![], - })); - spawn_on_demand_order::<_, _, _, _, sp_consensus_aura::sr25519::AuthorityPair, _>( + // let order_record = + // Arc::new(Mutex::new(OrderRecord:: { + // relay_parent: None, + // relay_height: 0, + // relay_base: Default::default(), + // relay_base_height: 0, + // order_status: OrderStatus::Init, + // validation_data: None, + // para_id, + // sequence_number: 0, + // author_pub: None, + // txs: vec![], + // })); + // spawn_on_demand_order::<_, _, _, _, sp_consensus_aura::sr25519::AuthorityPair, _>( + // client.clone(), + // para_id, + // relay_chain_interface.clone(), + // transaction_pool.clone(), + // &task_manager, + // params.keystore_container.keystore(), + // order_record.clone(), + // rpc_address, + // )?; + let bulk_mem_record = Arc::new(Mutex::new(BulkMemRecord { + storage_proof: StorageProof::empty(), + storage_root: Default::default(), + region_id: 0u128.into(), + })); + spawn_bulk_task( client.clone(), para_id, relay_chain_interface.clone(), - transaction_pool.clone(), &task_manager, - params.keystore_container.keystore(), - order_record.clone(), - rpc_address, + bulk_mem_record.clone(), )?; - spawn_bulk_task(client.clone(), para_id, relay_chain_interface.clone(), &task_manager)?; start_consensus( client.clone(), block_import, @@ -495,7 +510,8 @@ async fn start_node_impl( collator_key.expect("Command line arguments do not allow this. qed"), overseer_handle, announce_block, - order_record, + // order_record, + bulk_mem_record, )?; } @@ -550,7 +566,8 @@ fn start_consensus( collator_key: CollatorPair, overseer_handle: OverseerHandle, announce_block: Arc>) + Send + Sync>, - order_record: Arc>>, + // order_record: Arc>>, + bulk_mem_record: Arc>, ) -> Result<(), sc_service::Error> { use cumulus_client_consensus_aura::collators::basic::{ self as basic_aura, Params as BasicAuraParams, @@ -584,38 +601,51 @@ fn start_consensus( let params = BasicAuraParams { // create_inherent_data_providers: move |_, ()| async move { Ok(()) }, create_inherent_data_providers: move |_, ()| { - let relay_chain_interface = relay_chain_interface.clone(); - let order_record_clone = order_record.clone(); + // let relay_chain_interface = relay_chain_interface.clone(); + let bulk_mem_record_clone = bulk_mem_record.clone(); async move { - let parent_hash = relay_chain_interface.best_block_hash().await?; - let (relay_parent, validation_data, sequence_number, author_pub) = { - let order_record_local = order_record_clone.lock().await; - if order_record_local.validation_data.is_none() { - (parent_hash, None, order_record_local.sequence_number, None) - } else { - ( - order_record_local.relay_parent.expect("can not get relay_parent hash"), - order_record_local.validation_data.clone(), - order_record_local.sequence_number, - order_record_local.author_pub.clone(), - ) - } - }; - let order_inherent = magnet_primitives_order::OrderInherentData::create_at( - relay_parent, - &relay_chain_interface, - &validation_data, - para_id, - sequence_number, - &author_pub, + // let parent_hash = relay_chain_interface.best_block_hash().await?; + // let (relay_parent, validation_data, sequence_number, author_pub) = { + // let order_record_local = order_record_clone.lock().await; + // if order_record_local.validation_data.is_none() { + // (parent_hash, None, order_record_local.sequence_number, None) + // } else { + // ( + // order_record_local.relay_parent.expect("can not get relay_parent hash"), + // order_record_local.validation_data.clone(), + // order_record_local.sequence_number, + // order_record_local.author_pub.clone(), + // ) + // } + // }; + // let order_inherent = magnet_primitives_order::OrderInherentData::create_at( + // relay_parent, + // &relay_chain_interface, + // &validation_data, + // para_id, + // sequence_number, + // &author_pub, + // ) + // .await; + // let order_inherent = order_inherent.ok_or_else(|| { + // Box::::from( + // "Failed to create order inherent", + // ) + // })?; + // Ok(order_inherent) + let bulk_mem_record_clone_local = bulk_mem_record_clone.lock().await; + let bulk_inherent = mp_coretime_bulk::BulkInherentData::create_at( + &bulk_mem_record_clone_local.storage_proof, + bulk_mem_record_clone_local.storage_root, + bulk_mem_record_clone_local.region_id, ) .await; - let order_inherent = order_inherent.ok_or_else(|| { + let bulk_inherent = bulk_inherent.ok_or_else(|| { Box::::from( "Failed to create order inherent", ) })?; - Ok(order_inherent) + Ok(bulk_inherent) } }, block_import, diff --git a/node/src/submit_order.rs b/node/src/submit_order.rs deleted file mode 100644 index eb639e4..0000000 --- a/node/src/submit_order.rs +++ /dev/null @@ -1,143 +0,0 @@ -// Copyright (C) Magnet. -// This file is part of Magnet. - -// Magnet 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. - -// Magnet 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 Magnet. If not, see . - -//! The code here is implemented, constructing a transaction from the parachain and sending it to the relay chain to purchase core. -//! -//! Subxt is used here to construct and submit the transaction. -//! -use crate::metadata; -use cumulus_primitives_core::{ - relay_chain::BlockId, relay_chain::BlockNumber as RelayBlockNumber, ParaId, -}; -use cumulus_relay_chain_interface::{RelayChainInterface, RelayChainResult}; -use sp_application_crypto::AppCrypto; -use sp_core::ByteArray; -use sp_core::H256; -use sp_keystore::KeystorePtr; -use sp_runtime::{ - traits::{IdentifyAccount, Verify}, - MultiSignature as SpMultiSignature, -}; -use subxt::client::OfflineClientT; -use subxt::{ - config::polkadot::PolkadotExtrinsicParamsBuilder as Params, tx::Signer, utils::MultiSignature, - Config, OnlineClient, PolkadotConfig, -}; - -#[derive(Debug)] -pub enum SubmitOrderError { - RPCUrlError, - RPCConnectError, - RPCCallException, - NonceGetError, - StorageGetError, - GetBlockError, - GetHeadError, -} - -#[derive(Clone, Copy, PartialEq, Eq)] -pub struct Signature(pub [u8; 64]); - -impl From for MultiSignature { - fn from(value: Signature) -> Self { - MultiSignature::Sr25519(value.0) - } -} -pub struct SignerKeystore { - /// Account ID - account_id: T::AccountId, - /// Keystore of node - keystore: KeystorePtr, -} -impl SignerKeystore -where - T: Config, - T::AccountId: From<[u8; 32]>, -{ - pub fn new(keystore: KeystorePtr) -> Self { - let pub_key = - keystore.sr25519_public_keys(sp_consensus_aura::sr25519::AuthorityPair::ID)[0]; - - let binding = ::Signer::from(pub_key).into_account().clone(); - - let account_id = binding.as_slice(); - let mut r = [0u8; 32]; - r.copy_from_slice(account_id); - let acc = T::AccountId::try_from(r).ok().unwrap(); - Self { account_id: acc.clone(), keystore } - } -} -impl Signer for SignerKeystore -where - T: Config, - T::AccountId: From<[u8; 32]>, - T::Signature: From, -{ - fn account_id(&self) -> T::AccountId { - self.account_id.clone() - } - - fn address(&self) -> T::Address { - self.account_id.clone().into() - } - - /// Use aura's key to sign - /// TODO:Modify to other keys, or load the key in some way. - fn sign(&self, signer_payload: &[u8]) -> T::Signature { - let pub_key = - self.keystore.sr25519_public_keys(sp_consensus_aura::sr25519::AuthorityPair::ID)[0]; - - let signature = self - .keystore - .sr25519_sign(sp_consensus_aura::sr25519::AuthorityPair::ID, &pub_key, signer_payload) - .unwrap() - .unwrap(); - - Signature(signature.0).into() - } -} - -/// Construct the transaction and sign it, and then submit the transaction through the rpc interface. -pub async fn build_rpc_for_submit_order( - url: &str, - para_id: ParaId, - max_amount: u128, - hash: H256, - keystore: KeystorePtr, - slot_block: u32, - height: RelayBlockNumber, - relay_chain: impl RelayChainInterface + Clone, - number: u32, -) -> Result<(), SubmitOrderError> { - let client = OnlineClient::::from_url(url) - .await - .map_err(|_e| SubmitOrderError::RPCConnectError)?; - - let place_order = metadata::api::tx().on_demand_assignment_provider().place_order_allow_death( - max_amount, - metadata::api::runtime_types::polkadot_parachain_primitives::primitives::Id(para_id.into()), - ); - - let signer_keystore = SignerKeystore::::new(keystore.clone()); - - // let tx_params = Params::new().mortal_unchecked(number.into(), hash , slot_block.into()).build(); - - let submit_result = client.tx().sign_and_submit_default(&place_order, &signer_keystore).await; - log::info!("submit_result:{:?},{:?},{:?}", submit_result, height, hash); - submit_result.map_err(|_e| SubmitOrderError::RPCCallException)?; - - Ok(()) -} diff --git a/pallets/order/Cargo.toml b/pallets/bulk/Cargo.toml similarity index 87% rename from pallets/order/Cargo.toml rename to pallets/bulk/Cargo.toml index 7537d41..f139818 100644 --- a/pallets/order/Cargo.toml +++ b/pallets/bulk/Cargo.toml @@ -1,7 +1,7 @@ [package] -name = "pallet-order" +name = "pallet-bulk" authors = ["Anonymous"] -description = "On demand order runtime logic." +description = "bulk mode runtime logic." version = "0.2.0" license = "Apache-2.0" homepage = "https://magnet.magport.io/" @@ -18,7 +18,8 @@ log = { workspace = true, default-features = false } hex-literal = { workspace = true } # Local -magnet-primitives-order = { path = "../../primitives/order", default-features = false } +mp-coretime-bulk = { path = "../../primitives/coretime/bulk", default-features = false } +dp-chain-state-snapshot = { path = "../../primitives/chain-state-snapshot", default-features = false} # Cumulus cumulus-pallet-parachain-system = { workspace = true, default-features = false} @@ -37,6 +38,7 @@ sp-runtime = { workspace = true, default-features = false} sp-trie = { workspace = true, default-features = false } pallet-balances = { workspace = true, default-features = false } sp-core = { workspace = true , default-features = false} +pallet-broker = { workspace = true, default-features = false } [dev-dependencies] serde = { workspace = true } @@ -73,7 +75,7 @@ std = [ "sp-core/std", "sp-io/std", "sp-runtime/std", - "magnet-primitives-order/std", + "mp-coretime-bulk/std", "log/std", "cumulus-pallet-parachain-system/std", "cumulus-primitives-core/std", @@ -82,6 +84,8 @@ std = [ "sp-trie/std", "pallet-balances/std", "sp-core/std", + "dp-chain-state-snapshot/std", + "pallet-broker/std", ] try-runtime = [ "frame-support/try-runtime", diff --git a/pallets/order/README.md b/pallets/bulk/README.md similarity index 100% rename from pallets/order/README.md rename to pallets/bulk/README.md diff --git a/pallets/bulk/src/benchmarking.rs b/pallets/bulk/src/benchmarking.rs new file mode 100644 index 0000000..3abea2f --- /dev/null +++ b/pallets/bulk/src/benchmarking.rs @@ -0,0 +1,40 @@ +// // Copyright (C) Magnet. +// // This file is part of Magnet. + +// // Magnet 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. + +// // Magnet 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 Magnet. If not, see . + +// //! Benchmarking setup for pallet-order + +// use super::*; + +// #[allow(unused)] +// use crate::Pallet as Order; +// use frame_benchmarking::{benchmarks, impl_benchmark_test_suite, whitelisted_caller}; +// use frame_system::RawOrigin; + +// benchmarks! { +// set_parameter { +// let s in 0 .. 100; +// let caller: T::AccountId = whitelisted_caller(); +// let test_balance = BalanceOf::::from(200000000 as u32); +// let test_threshold = BalanceOf::::from(3000000000 as u32); +// }: _(RawOrigin::Root, Some(4), Some(test_balance), Some(test_threshold)) +// verify { +// assert_eq!(SlotWidth::::get(), 4); +// assert_eq!(OrderMaxAmount::::get(), test_balance); +// assert_eq!(TxPoolThreshold::::get(), test_threshold); +// } +// } + +// impl_benchmark_test_suite!(Order, crate::mock::ExtBuilder::default().build(), crate::mock::Test,); diff --git a/pallets/bulk/src/lib.rs b/pallets/bulk/src/lib.rs new file mode 100644 index 0000000..6b44f41 --- /dev/null +++ b/pallets/bulk/src/lib.rs @@ -0,0 +1,205 @@ +// Copyright (C) Magnet. +// This file is part of Magnet. + +// Magnet 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. + +// Magnet 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 Magnet. If not, see . + +//! # Order Pallet +//! +//! This pallet implements the recording and query functions of purchasing ondemand core. +//! +//! By obtaining the inherent nature of the block, parsing it out of the validation_data of the relaychain, +//! and querying whether there is an OnDemandOrderPlaced event, obtaining the order account and price from the event, +//! and then writing this record to the blockchain. +//! +//! Provides many query methods for node or other pallets to use, such as querying the gas consumed by placing an order in a certain block, +//! whether the order has been executed, whether the order threshold has been reached, etc. + +#![cfg_attr(not(feature = "std"), no_std)] +use codec::{Decode, MaxEncodedLen}; +use cumulus_pallet_parachain_system::{ + relay_state_snapshot::Error as Relay_Error, RelayChainStateProof, +}; +use frame_support::{ + dispatch::DispatchResultWithPostInfo, dispatch::PostDispatchInfo, pallet_prelude::*, + traits::Currency, +}; +use frame_system::pallet_prelude::*; +use frame_system::{self, EventRecord}; +use mp_coretime_bulk::well_known_keys::{broker_regions, REGIONS}; +pub use pallet::*; +use primitives::Balance; +use primitives::{Id as ParaId, PersistedValidationData}; +use sp_runtime::sp_std::{prelude::*, vec}; +use sp_runtime::{traits::Member, RuntimeAppPublic}; +pub mod weights; +use dp_chain_state_snapshot::GenericStateProof; +use pallet_broker::RegionRecord; +use sp_core::crypto::ByteArray; +use weights::WeightInfo; +// #[cfg(test)] +// mod mock; + +// #[cfg(test)] +// mod tests; + +// #[cfg(any(test, feature = "runtime-benchmarks"))] +// mod benchmarking; +// mod proof_data; + +type BalanceOf = + <::Currency as Currency<::AccountId>>::Balance; + +/// ondemand order information. +#[derive(Encode, Decode, Default, Clone, Copy, TypeInfo, MaxEncodedLen, Debug)] +pub struct BulkRecord { + /// Account for purchase. + pub purchaser: AuthorityId, + /// Purchase price. + pub price: Balance, + /// Purchase duration. + pub duration: u32, +} +#[frame_support::pallet] +pub mod pallet { + use super::*; + + /// Configure the pallet by specifying the parameters and types on which it depends. + #[pallet::config] + pub trait Config: frame_system::Config { + /// Because this pallet emits events, it depends on the runtime's definition of an event. + type RuntimeEvent: From> + IsType<::RuntimeEvent>; + + type Currency: Currency; + + type AuthorityId: Member + + Parameter + + RuntimeAppPublic + + MaybeSerializeDeserialize + + MaxEncodedLen + + for<'a> TryFrom<&'a [u8]>; + + type UpdateOrigin: EnsureOrigin; + + type WeightInfo: WeightInfo; + } + + #[pallet::pallet] + pub struct Pallet(PhantomData); + + #[pallet::type_value] + pub fn RecordIndexOnEmpty() -> u32 { + 0 + } + + #[pallet::storage] + #[pallet::getter(fn record_index)] + pub type RecordIndex = StorageValue<_, u32, ValueQuery, RecordIndexOnEmpty>; + + /// Order Information Map. + #[pallet::storage] + #[pallet::getter(fn bulk_records)] + pub type BulkRecords = + StorageMap<_, Twox64Concat, u32, BulkRecord, T::AuthorityId>, OptionQuery>; + + #[pallet::event] + #[pallet::generate_deposit(pub(super) fn deposit_event)] + pub enum Event { + /// Create order event. + OrderCreate { sequence_number: u64, orderer: T::AuthorityId }, + } + + #[pallet::error] + pub enum Error { + /// Error reading data. + FailedReading, + } + + #[pallet::hooks] + impl Hooks> for Pallet { + fn on_finalize(block_number: BlockNumberFor) {} + } + + #[pallet::inherent] + impl ProvideInherent for Pallet { + type Call = Call; + type Error = MakeFatalError<()>; + + const INHERENT_IDENTIFIER: InherentIdentifier = mp_coretime_bulk::INHERENT_IDENTIFIER; + + fn create_inherent(data: &InherentData) -> Option { + let data = data.get_data(&mp_coretime_bulk::INHERENT_IDENTIFIER).ok().flatten(); + match data { + Some(data) => Some(Call::create_record { data }), + None => None, + } + } + fn is_inherent(call: &Self::Call) -> bool { + matches!(call, Call::create_record { .. }) + } + } + + #[pallet::call] + impl Pallet { + /// Create an order, which is called by the pallet. + /// Users cannot actively call this function. + /// Obtain order information by parsing inherited data. + /// + /// Parameters: + /// - `data`: The inherent data. + #[pallet::call_index(0)] + #[pallet::weight((0, DispatchClass::Mandatory))] + pub fn create_record( + origin: OriginFor, + data: mp_coretime_bulk::BulkInherentData, + ) -> DispatchResultWithPostInfo { + ensure_none(origin)?; + + let mp_coretime_bulk::BulkInherentData { storage_proof, storage_root, region_id } = + data; + let relay_storage_rooted_proof: GenericStateProof< + cumulus_primitives_core::relay_chain::Block, + > = GenericStateProof::new(storage_root, storage_proof).unwrap(); + let key = broker_regions(region_id); + let region_record_data = relay_storage_rooted_proof + .read_entry::>>(key.as_slice(), None) + .ok(); + if let Some(region_record) = region_record_data { + let old_record_index = RecordIndex::::get(); + BulkRecords::::insert( + old_record_index, + BulkRecord::, T::AuthorityId> { + purchaser: region_record.owner, + price: region_record.paid.unwrap(), + duration: region_record.end, + }, + ); + } + + let total_weight = T::DbWeight::get().reads_writes(2, 1); + Ok(PostDispatchInfo { actual_weight: Some(total_weight), pays_fee: Pays::No }) + } + } +} + +impl Pallet {} + +// pub trait OrderGasCost { +// /// Gas consumed by placing an order in a certain block. +// /// +// /// Parameters: +// /// - `block_number`: The block number of para chain. +// fn gas_cost( +// block_number: BlockNumberFor, +// ) -> Result, DispatchError>; +// } diff --git a/pallets/bulk/src/mock.rs b/pallets/bulk/src/mock.rs new file mode 100644 index 0000000..71fa00d --- /dev/null +++ b/pallets/bulk/src/mock.rs @@ -0,0 +1,183 @@ +// // Copyright (C) Magnet. +// // This file is part of Magnet. + +// // Magnet 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. + +// // Magnet 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 Magnet. If not, see . + +// use crate::{self as order_pallet, OrderGasCost}; +// use codec::Encode; +// pub use frame_support::{ +// construct_runtime, derive_impl, parameter_types, +// traits::{Everything, Hooks}, +// }; +// use frame_system as system; +// use frame_system::{pallet_prelude::BlockNumberFor, EnsureRoot}; +// pub use sp_consensus_aura::sr25519::AuthorityId as AuraId; +// use sp_core::{crypto::AccountId32, H256}; +// use sp_runtime::{ +// traits::{BlakeTwo256, IdentifyAccount, IdentityLookup, Verify}, +// BuildStorage, MultiSignature, +// }; + +// type Block = frame_system::mocking::MockBlock; +// type Signature = MultiSignature; +// type AccountId = <::Signer as IdentifyAccount>::AccountId; +// type Balance = u128; +// // Configure a mock runtime to test the pallet. +// construct_runtime!( +// pub enum Test +// { +// System: frame_system::{Pallet, Call, Config, Storage, Event}, +// Balances: pallet_balances::{Pallet, Call, Event}, +// OrderPallet: order_pallet::{Pallet, Call, Storage, Event}, +// MockPallet: mock_pallet, +// } +// ); + +// parameter_types! { +// pub const BlockHashCount: u64 = 250; +// pub const SS58Prefix: u8 = 42; +// } + +// #[derive_impl(frame_system::config_preludes::ParaChainDefaultConfig as frame_system::DefaultConfig)] +// impl system::Config for Test { +// type BaseCallFilter = Everything; +// type BlockWeights = (); +// type BlockLength = (); +// type DbWeight = (); +// type RuntimeOrigin = RuntimeOrigin; +// type RuntimeCall = RuntimeCall; +// type Nonce = u64; +// type Hash = H256; +// type Hashing = BlakeTwo256; +// type AccountId = AccountId32; +// type Lookup = IdentityLookup; +// type Block = Block; +// type RuntimeEvent = RuntimeEvent; +// type BlockHashCount = BlockHashCount; +// type Version = (); +// type PalletInfo = PalletInfo; +// type AccountData = pallet_balances::AccountData; +// type OnNewAccount = (); +// type OnKilledAccount = (); +// type SystemWeightInfo = (); +// type SS58Prefix = SS58Prefix; +// type OnSetCode = (); +// type MaxConsumers = frame_support::traits::ConstU32<16>; +// } +// parameter_types! { +// pub const ExistentialDeposit: u64 = 5; +// } +// impl pallet_balances::Config for Test { +// type MaxLocks = (); +// type MaxReserves = (); +// type ReserveIdentifier = [u8; 8]; +// type Balance = u128; +// type RuntimeEvent = RuntimeEvent; +// type DustRemoval = (); +// type ExistentialDeposit = ExistentialDeposit; +// type AccountStore = System; +// type WeightInfo = (); +// type FreezeIdentifier = (); +// type MaxFreezes = (); +// type RuntimeHoldReason = (); +// type RuntimeFreezeReason = (); +// } +// parameter_types! { +// pub const SlotWidth: u32 = 2; +// pub const OrderMaxAmount:Balance = 200000000; +// pub const TxPoolThreshold:Balance = 3000000000; +// } +// impl crate::Config for Test { +// type RuntimeEvent = RuntimeEvent; +// type AuthorityId = AuraId; +// type UpdateOrigin = EnsureRoot; +// type Currency = Balances; +// type OrderMaxAmount = OrderMaxAmount; +// type SlotWidth = SlotWidth; +// type TxPoolThreshold = TxPoolThreshold; +// type WeightInfo = (); +// } +// pub struct OrderGasCostHandler(); + +// impl OrderGasCost for OrderGasCostHandler +// where +// T: crate::Config, +// T::AccountId: From<[u8; 32]>, +// { +// fn gas_cost( +// block_number: BlockNumberFor, +// ) -> Result, sp_runtime::DispatchError> { +// let sequece_number = >::block_2_sequence(block_number); +// if sequece_number.is_none() { +// return Ok(None); +// } +// let order = >::order_map( +// sequece_number.ok_or(sp_runtime::DispatchError::Other("sequece_number is none"))?, +// ) +// .ok_or(sp_runtime::DispatchError::Other("Not exist order"))?; +// let mut r = [0u8; 32]; +// r.copy_from_slice(order.orderer.encode().as_slice()); +// let account = T::AccountId::try_from(r) +// .map_err(|_| sp_runtime::DispatchError::Other("Account error"))?; +// Ok(Some((account, order.price))) +// } +// } + +// #[frame_support::pallet] +// pub mod mock_pallet { +// use super::*; +// #[pallet::config] +// pub trait Config: frame_system::Config { +// type OrderGasCost: OrderGasCost; +// } + +// #[pallet::call] +// impl Pallet {} + +// #[pallet::pallet] +// #[pallet::without_storage_info] +// pub struct Pallet(_); + +// impl Pallet { +// pub fn get_gas_cost(block_number: BlockNumberFor) -> Option<(T::AccountId, Balance)> { +// T::OrderGasCost::gas_cost(block_number).unwrap() +// } +// } +// } + +// impl mock_pallet::Config for Test { +// type OrderGasCost = OrderGasCostHandler; +// } +// pub struct ExtBuilder { +// balances: Vec<(AccountId32, u128)>, +// } + +// impl Default for ExtBuilder { +// fn default() -> Self { +// Self { balances: Default::default() } +// } +// } + +// impl ExtBuilder { +// pub fn build(self) -> sp_io::TestExternalities { +// // Build genesis storage according to the mock runtime. +// let mut t = frame_system::GenesisConfig::::default().build_storage().unwrap(); +// pallet_balances::GenesisConfig:: { balances: self.balances } +// .assimilate_storage(&mut t) +// .unwrap(); +// let mut ext = sp_io::TestExternalities::new(t); +// ext.execute_with(|| System::set_block_number(1)); +// ext +// } +// } diff --git a/pallets/bulk/src/proof_data.rs b/pallets/bulk/src/proof_data.rs new file mode 100644 index 0000000..5239a0f --- /dev/null +++ b/pallets/bulk/src/proof_data.rs @@ -0,0 +1,29 @@ +// // Copyright (C) Magnet. +// // This file is part of Magnet. + +// // Magnet 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. + +// // Magnet 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 Magnet. If not, see . + +// #[allow(dead_code)] +// pub const ENCODED_PROOFS: &[(&str, &[&str])] = &[ +// ("6b7db61c1bee66952742baa01b5a16efe3b6dbc015db0bbbc0d50349eb86279e",&[ +// "2000000000000000a2e9b53d55170200000001000000000007c09b001b01390202000000020000000408d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27de96725030000000000000000000000000000020000000408d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d809698000000000000000000000000000000020000004200e8030000809698000000000000000000000000000000020000000407fe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860ee96725030000000000000000000000000000020000002100d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27de96725030000000000000000000000000000000000000000000000000000000000000200000000001a037449c93a000000", +// "3ed41e5e16056765bc8461851072c9d74259dee8a67b8efa0538928edcd6d3dc677e250771c8f75fa2e6cc8942f06f84", +// "800104801a93e89e41a278828d5caad67eb07073bca1b6cccc49807dbb0476cb27dced8b80c11c1757f8dc26ef0d97db7c703034b9a9001ad382ed9e1ff900f6ac927cea97", +// "80c19c8040ccdfa3ac9b91388fa827571930b3c1e805eb35304412ff42cc6df33ca548ee806bd20dcb3f9e7c87137961ace69ccd74eb92eb3ca730ea10fc736b7f261cbd7380257442a3193ebf64fb8a0019b2d9fc1d97734011eb5a8d2ea414f5ff9a27952b804a061d1ed9340acbb3bfeeb8dd6662b24e093240981c068dafa7044ed379307f80c692d333d8a2af1468e95d1583f2ff2dcde7a5607f9490af0e17dff8a1330cc48005beaee4aeb1f362f62d090d987e09cee98c4bbafd8042732406115019b3b6b2809c048073a3a4c42b9174519d6fdac372683ca85cc3b0cac1a1a9ddaf243b59b1", +// "80ffff805f00b947f4aaec99e6613e9511e9cda57d739ea73a0f2db02c08509a021ac7c180c63e2c041524586654422f91098a9b35e5d0ea88d44c334c4ffa6112e7aa696f80f40031d9a794a6cd84c0d942827d55968e796a5350b0df1d18c410b8903ce59980b8acbbf86a4082fb580470e18b67d0099be087b38e04c862e8d2ad2b4b984f68801c8066816a9737e80e67d14190ebabfe1f77c68975a57867a3e721759387b16f800cb049cc6bc5b79fb79d7da92aadb3c7d5df71e403364142445ab1e212424b7c80c0c6776ecc8630ecc28971e2155751cdeead63676a6d5313771f902a26a528a0805b682132c52908705526057f73ab7fccab4af6d72a9805634dd8d3cc53f130d18012b1a0dc047d3b9d5e8792fb372059a04d44300f0f667a2a14a8777ccfe7fdff80de00eff4d3f779a7434826e0d0f3a1ec71dd4028c42e90718c657e3f1c2ed23680af18bd988a60b703c96993f291b836fe5f6df4ea5a7d36c9d1e65cd44bc1c5a98037af338c5d64d1babf36777405396255681f8bef661a6cd600052dceffba87ab80f4429c1b9ec6915b41ad4f0b3aa4f0fcf7ef80690cab6590739ce7e415f4e966800117ab1066009e6ab3db03ed63038d60ed339fccef41d35668e22d99ba0a7142806bfdbbf0e0bedcb993b65c9cea1e929a56d78a3b7bc53d1b7ca6fc488e2295ee8011cf4cd49d702989ad1e066e4983740ef04216f8945156021e524d97b57e240a", +// "9eaa394eea5630e07c48ae0c9558cef7398f80a506ec64a470c01c9ac42ea190d29a5f5d900256035bd485a0563a428f7d0369809aea767c8a069c1f1759636c9f4672b4483e36cc35d06881c141bd5e4c40d75e505f0e7b9012096b41c4eb3aaf947f6ea4290800004c5f0684a022a34dd8bfa2baaf44f172b71004018004952dfbd3c381037ea2a1ddd3c7252f15de49dd55db9697c7513fd0750e1ca980a22e4b0da2642d6cda7bd1dc00e5fd760e4d6e18684676b9612f3045023088cf80809890dfdabf4da4f92e0ffab00c1cedd68369e0cc3ce4432de6f8abe9220b5380690a57078e6f7e247b25365dad04c1fef7b0d5401cad9087216ca0f33d7788a06c5f09cce9c888469bb1a0dceaa129672ef824599318726f636f636f" +// ]) +// ]; +// #[allow(dead_code)] +// pub const HEAD_DATA:&[&str] = &["00000000000000000000000000000000000000000000000000000000000000000070049f18759406809dc703bba5534cd06df7453974b4599e08d6709db651e0a203170a2e7597b7b7e3d84c05391d139a62b157e78786d8c082f29dcf4c11131400"]; diff --git a/pallets/bulk/src/tests.rs b/pallets/bulk/src/tests.rs new file mode 100644 index 0000000..f12f8c5 --- /dev/null +++ b/pallets/bulk/src/tests.rs @@ -0,0 +1,82 @@ +// // Copyright (C) Magnet. +// // This file is part of Magnet. + +// // Magnet 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. + +// // Magnet 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 Magnet. If not, see . + +// use crate::mock::*; +// use codec::Decode; +// use cumulus_primitives_core::{ParaId, PersistedValidationData}; +// use frame_support::{ +// inherent::{InherentData, ProvideInherent}, +// traits::UnfilteredDispatchable, +// }; +// use frame_system::RawOrigin; +// use parachains_common::AccountId; +// use primitives::HeadData; +// use sp_trie::StorageProof; + +// use crate::proof_data::{ENCODED_PROOFS, HEAD_DATA}; +// #[test] +// fn order_default_value() { +// ExtBuilder::default().build().execute_with(|| { +// assert_eq!(OrderPallet::slot_width(), 2); +// }); +// } + +// #[test] +// fn order_normal_test() { +// ExtBuilder::default().build().execute_with(|| { +// System::set_block_number(1); + +// let encoded = ENCODED_PROOFS[0]; +// let root = hex::decode(encoded.0).unwrap(); +// let relay_chain_state_proof = +// StorageProof::new(encoded.1.iter().map(|s| hex::decode(s).unwrap())); +// let relay_root: cumulus_primitives_core::relay_chain::Hash = +// <[u8; 32]>::try_from(root).unwrap().into(); +// let mut inherent_data = InherentData::default(); +// let head_data = hex::decode(HEAD_DATA[0]).unwrap(); +// let perist_data = PersistedValidationData { +// parent_head: HeadData::decode(&mut head_data.as_slice()).unwrap(), +// relay_parent_number: 29, +// relay_parent_storage_root: relay_root, +// max_pov_size: 5242880 as u32, +// }; +// let order_inherent_data = magnet_primitives_order::OrderInherentData { +// relay_storage_proof: relay_chain_state_proof, +// validation_data: Some(perist_data), +// para_id: ParaId::from(1000), +// sequence_number: 0, +// author_pub: Some(AccountId::from(hex_literal::hex!( +// "d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d" +// ))), +// }; +// inherent_data +// .put_data(magnet_primitives_order::INHERENT_IDENTIFIER, &order_inherent_data) +// .expect("failed to put VFP inherent"); +// OrderPallet::create_inherent(&inherent_data) +// .expect("got an inherent") +// .dispatch_bypass_filter(RawOrigin::None.into()) +// .expect("dispatch succeeded"); +// OrderPallet::on_finalize(1); +// assert_eq!(OrderPallet::sequence_number(), 1); +// let gas_cost = MockPallet::get_gas_cost(1).unwrap(); +// assert_eq!( +// gas_cost.0, +// AccountId::from(hex_literal::hex!( +// "d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d" +// )) +// ); +// }); +// } diff --git a/pallets/order/src/weights.rs b/pallets/bulk/src/weights.rs similarity index 100% rename from pallets/order/src/weights.rs rename to pallets/bulk/src/weights.rs diff --git a/pallets/liquidation/Cargo.toml b/pallets/liquidation/Cargo.toml index 0ec4b1a..f43018b 100644 --- a/pallets/liquidation/Cargo.toml +++ b/pallets/liquidation/Cargo.toml @@ -19,7 +19,7 @@ log = {workspace = true, default-features = false} scale-info = { workspace = true, default-features = false, features = ["derive"] } smallvec = { workspace = true } -pallet-order = {path = "../order", default-features = false} +#pallet-order = {path = "../order", default-features = false} pallet-pot = {path = "../pot", default-features = false} mp-system = { path = "../../primitives/system", default-features = false } @@ -58,7 +58,7 @@ std = [ "frame-system/std", "pallet-balances/std", "pallet-assets/std", - "pallet-order/std", +# "pallet-order/std", "pallet-pot/std", "mp-system/std", "pallet-utility/std", diff --git a/pallets/liquidation/src/lib.rs b/pallets/liquidation/src/lib.rs index 2ca4b5a..135ee0e 100644 --- a/pallets/liquidation/src/lib.rs +++ b/pallets/liquidation/src/lib.rs @@ -41,8 +41,17 @@ pub mod pallet { use super::*; use frame_support::pallet_prelude::*; use pallet_balances; - use pallet_order::OrderGasCost; + // use pallet_order::OrderGasCost; use pallet_utility; + pub trait OrderGasCost { + /// Gas consumed by placing an order in a certain block. + /// + /// Parameters: + /// - `block_number`: The block number of para chain. + fn gas_cost( + block_number: BlockNumberFor, + ) -> Result, DispatchError>; + } #[pallet::pallet] #[pallet::without_storage_info] @@ -52,7 +61,7 @@ pub mod pallet { #[pallet::config] pub trait Config: frame_system::Config - + pallet_order::Config + // + pallet_order::Config + pallet_pot::Config + pallet_balances::Config + pallet_utility::Config @@ -482,3 +491,15 @@ pub mod pallet { } } } + +impl OrderGasCost for () +where + T: frame_system::Config, + T::AccountId: From<[u8; 32]>, +{ + fn gas_cost( + block_number: BlockNumberFor, + ) -> Result, sp_runtime::DispatchError> { + Ok(None) + } +} diff --git a/pallets/order/src/benchmarking.rs b/pallets/order/src/benchmarking.rs deleted file mode 100644 index 545e8a1..0000000 --- a/pallets/order/src/benchmarking.rs +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright (C) Magnet. -// This file is part of Magnet. - -// Magnet 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. - -// Magnet 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 Magnet. If not, see . - -//! Benchmarking setup for pallet-order - -use super::*; - -#[allow(unused)] -use crate::Pallet as Order; -use frame_benchmarking::{benchmarks, impl_benchmark_test_suite, whitelisted_caller}; -use frame_system::RawOrigin; - -benchmarks! { - set_parameter { - let s in 0 .. 100; - let caller: T::AccountId = whitelisted_caller(); - let test_balance = BalanceOf::::from(200000000 as u32); - let test_threshold = BalanceOf::::from(3000000000 as u32); - }: _(RawOrigin::Root, Some(4), Some(test_balance), Some(test_threshold)) - verify { - assert_eq!(SlotWidth::::get(), 4); - assert_eq!(OrderMaxAmount::::get(), test_balance); - assert_eq!(TxPoolThreshold::::get(), test_threshold); - } -} - -impl_benchmark_test_suite!(Order, crate::mock::ExtBuilder::default().build(), crate::mock::Test,); diff --git a/pallets/order/src/lib.rs b/pallets/order/src/lib.rs deleted file mode 100644 index 287bdcb..0000000 --- a/pallets/order/src/lib.rs +++ /dev/null @@ -1,489 +0,0 @@ -// Copyright (C) Magnet. -// This file is part of Magnet. - -// Magnet 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. - -// Magnet 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 Magnet. If not, see . - -//! # Order Pallet -//! -//! This pallet implements the recording and query functions of purchasing ondemand core. -//! -//! By obtaining the inherent nature of the block, parsing it out of the validation_data of the relaychain, -//! and querying whether there is an OnDemandOrderPlaced event, obtaining the order account and price from the event, -//! and then writing this record to the blockchain. -//! -//! Provides many query methods for node or other pallets to use, such as querying the gas consumed by placing an order in a certain block, -//! whether the order has been executed, whether the order threshold has been reached, etc. - -#![cfg_attr(not(feature = "std"), no_std)] -use codec::{Decode, MaxEncodedLen}; -use cumulus_pallet_parachain_system::{ - relay_state_snapshot::Error as Relay_Error, RelayChainStateProof, -}; -use frame_support::{ - dispatch::DispatchResultWithPostInfo, dispatch::PostDispatchInfo, pallet_prelude::*, - traits::Currency, -}; -use frame_system::pallet_prelude::*; -use frame_system::{self, EventRecord}; -use magnet_primitives_order::{ - metadata::api::{runtime_types, runtime_types::rococo_runtime as polakdot_runtime}, - well_known_keys::SYSTEM_EVENTS, -}; -pub use pallet::*; -use primitives::Balance; -use primitives::{Id as ParaId, PersistedValidationData}; -use sp_runtime::sp_std::{prelude::*, vec}; -use sp_runtime::{traits::Member, RuntimeAppPublic}; -pub mod weights; -use sp_core::crypto::ByteArray; -use weights::WeightInfo; -#[cfg(test)] -mod mock; - -#[cfg(test)] -mod tests; - -#[cfg(any(test, feature = "runtime-benchmarks"))] -mod benchmarking; -mod proof_data; - -type BalanceOf = - <::Currency as Currency<::AccountId>>::Balance; - -/// ondemand order information. -#[derive(Encode, Decode, Default, Clone, Copy, TypeInfo, MaxEncodedLen, Debug)] -pub struct Order { - /// The number used to record the order, incremented each time. - pub sequence_number: u64, - // relaychain_block_hash:Hash, - // relaychain_block_height:u32, - /// Account for placing order. - pub orderer: AuthorityId, - /// Order price. - pub price: Balance, - /// Whether the order was executed. - pub executed: bool, -} -#[frame_support::pallet] -pub mod pallet { - use super::*; - - /// Configure the pallet by specifying the parameters and types on which it depends. - #[pallet::config] - pub trait Config: frame_system::Config { - /// Because this pallet emits events, it depends on the runtime's definition of an event. - type RuntimeEvent: From> + IsType<::RuntimeEvent>; - - type Currency: Currency; - - type AuthorityId: Member - + Parameter - + RuntimeAppPublic - + MaybeSerializeDeserialize - + MaxEncodedLen - + for<'a> TryFrom<&'a [u8]>; - - type UpdateOrigin: EnsureOrigin; - - type WeightInfo: WeightInfo; - /// The default value of w. - #[pallet::constant] - type SlotWidth: Get; - - /// The max value of place order. - #[pallet::constant] - type OrderMaxAmount: Get>; - - /// The gas threshold required to place an order. - #[pallet::constant] - type TxPoolThreshold: Get>; - } - - #[pallet::pallet] - pub struct Pallet(PhantomData); - - /// Sequence number,number of each order. - #[pallet::storage] - #[pallet::getter(fn sequence_number)] - pub type SequenceNumber = StorageValue<_, u64, ValueQuery>; - - /// Record the relaychain block height of the latest order - #[pallet::storage] - #[pallet::getter(fn current_relay_height)] - pub type CurrentRelayHeight = StorageValue<_, u32, ValueQuery>; - - #[pallet::type_value] - pub fn SlotWidthOnEmpty() -> u32 { - T::SlotWidth::get() - } - #[pallet::type_value] - pub fn OrderMaxAmountOnEmpty() -> BalanceOf { - T::OrderMaxAmount::get() - } - #[pallet::type_value] - pub fn TxPoolThresholdOnEmpty() -> BalanceOf { - T::TxPoolThreshold::get() - } - - /// The order interval is 2^slotwidth. - #[pallet::storage] - #[pallet::getter(fn slot_width)] - pub(super) type SlotWidth = StorageValue<_, u32, ValueQuery, SlotWidthOnEmpty>; - - /// The maximum price the user is willing to pay when placing an order. - #[pallet::storage] - #[pallet::getter(fn order_max_amount)] - pub(super) type OrderMaxAmount = - StorageValue<_, BalanceOf, ValueQuery, OrderMaxAmountOnEmpty>; - - /// Gas threshold that triggers order placement. - #[pallet::storage] - #[pallet::getter(fn txpool_threshold)] - pub(super) type TxPoolThreshold = - StorageValue<_, BalanceOf, ValueQuery, TxPoolThresholdOnEmpty>; - - /// Order Information Map. - #[pallet::storage] - #[pallet::getter(fn order_map)] - pub type OrderMap = - StorageMap<_, Twox64Concat, u64, Order, OptionQuery>; - - /// Convert block height to sequence number. - #[pallet::storage] - #[pallet::getter(fn block_2_sequence)] - pub type Block2Sequence = - StorageMap<_, Twox64Concat, BlockNumberFor, u64, OptionQuery>; - - #[pallet::event] - #[pallet::generate_deposit(pub(super) fn deposit_event)] - pub enum Event { - /// Create order event. - OrderCreate { sequence_number: u64, orderer: T::AuthorityId }, - } - - #[pallet::error] - pub enum Error { - /// Error reading data. - FailedReading, - /// Order already exists. - OrderExist, - /// Failed to create order. - CreateOrderFail, - /// Invalid Validation data. - InvalidValidation, - /// Incorrect sequence number - WrongSequenceNumber, - } - - #[pallet::hooks] - impl Hooks> for Pallet { - /// Called at the end of each block to check whether an order has been placed. - /// If so, modify the execution status and increase the sequencer number. - fn on_finalize(block_number: BlockNumberFor) { - let old_sequence_number = SequenceNumber::::get(); - let order = OrderMap::::get(old_sequence_number); - if let Some(t_order) = order { - let orderer = t_order.orderer; - OrderMap::::remove(old_sequence_number); - OrderMap::::insert( - old_sequence_number, - Order:: { - sequence_number: old_sequence_number, - orderer: orderer.clone(), - price: t_order.price, - executed: true, - }, - ); - SequenceNumber::::set(old_sequence_number + 1); - Block2Sequence::::insert(block_number, old_sequence_number); - Self::deposit_event(Event::OrderCreate { - sequence_number: old_sequence_number, - orderer, - }); - } - } - } - - #[pallet::inherent] - impl ProvideInherent for Pallet { - type Call = Call; - type Error = MakeFatalError<()>; - - const INHERENT_IDENTIFIER: InherentIdentifier = - magnet_primitives_order::INHERENT_IDENTIFIER; - fn create_inherent(data: &InherentData) -> Option { - let data: magnet_primitives_order::OrderInherentData = data - .get_data(&magnet_primitives_order::INHERENT_IDENTIFIER) - .ok() - .flatten() - .expect("there is not data to be posted; qed"); - if data.validation_data.is_some() { - Some(Call::create_order { data }) - } else { - None - } - } - fn is_inherent(call: &Self::Call) -> bool { - matches!(call, Call::create_order { .. }) - } - } - - #[pallet::call] - impl Pallet { - /// Create an order, which is called by the pallet. - /// Users cannot actively call this function. - /// Obtain order information by parsing inherited data. - /// - /// Parameters: - /// - `data`: The inherent data. - #[pallet::call_index(0)] - #[pallet::weight((0, DispatchClass::Mandatory))] - pub fn create_order( - origin: OriginFor, - data: magnet_primitives_order::OrderInherentData, - ) -> DispatchResultWithPostInfo { - ensure_none(origin)?; - - let magnet_primitives_order::OrderInherentData { - relay_storage_proof, - validation_data, - sequence_number, - para_id, - author_pub, - } = data; - let total_weight = match validation_data { - Some(validation_data) => { - let (_, price) = Self::check_order_proof( - relay_storage_proof, - validation_data.clone(), - author_pub.clone(), - para_id, - ) - .ok_or(Error::::CreateOrderFail)?; - let old_sequence_number = SequenceNumber::::get(); - let order = OrderMap::::get(old_sequence_number); - if sequence_number != old_sequence_number { - // In the worst-case scenario, if there are multiple orders at the same - // time, it may be due to system issues or it may be due to human - // intervention. Currently, we only support running one order at the same - // time Err(Error::::WrongSequenceNumber)?; - // Continuing to produce blocks, recording errors - log::info!("========WrongSequenceNumber:{:?}========", sequence_number); - } - if order.is_none() { - OrderMap::::insert( - old_sequence_number, - Order:: { - sequence_number: old_sequence_number, - orderer: author_pub.unwrap(), - price, - executed: false, - }, - ); - CurrentRelayHeight::::set(validation_data.relay_parent_number); - } else { - Err(Error::::OrderExist)?; - } - T::DbWeight::get().reads_writes(2, 1) - }, - None => T::DbWeight::get().reads_writes(0, 0), - }; - Ok(PostDispatchInfo { actual_weight: Some(total_weight), pays_fee: Pays::No }) - } - - /// Order pallet parameter settings. - /// It can only be called by accounts with sudo privileges or authorized organization members. - /// - /// Parameters: - /// - `slot_width`: The order interval is 2^slotwidth.. - /// - `order_max_amount`: The maximum price the user is willing to pay when placing an order. - /// - `tx_pool_threshold`: Gas threshold that triggers order placement. - #[pallet::call_index(1)] - #[pallet::weight(T::WeightInfo::set_parameter(*slot_width))] - pub fn set_parameter( - origin: OriginFor, - slot_width: Option, - order_max_amount: Option>, - tx_pool_threshold: Option>, - ) -> DispatchResultWithPostInfo { - T::UpdateOrigin::ensure_origin(origin)?; - - if let Some(t_slot_width) = slot_width { - >::put(t_slot_width); - } - if let Some(t_order_max_amount) = order_max_amount { - >::put(t_order_max_amount); - } - if let Some(t_tx_pool_threshold) = tx_pool_threshold { - >::put(t_tx_pool_threshold); - } - Ok(().into()) - } - } -} - -impl Pallet { - /// Obtain the order account and price from the relaychain's validation. - /// - /// Parameters: - /// - `relay_storage_proof`: The proof of relay chain storage. - ///- `validation_data`: The validation data. - /// - `para_id`: ID of parachain. - fn get_author_from_proof( - relay_storage_proof: sp_trie::StorageProof, - validation_data: PersistedValidationData, - para_id: ParaId, - ) -> Option<(T::AuthorityId, Balance)> { - let relay_storage_root = validation_data.relay_parent_storage_root; - let relay_storage_rooted_proof = - RelayChainStateProof::new(para_id, relay_storage_root, relay_storage_proof) - .expect("Invalid relay chain state proof"); - let head_data = relay_storage_rooted_proof - .read_entry::>>>( - SYSTEM_EVENTS, - None, - ) - .ok()?; - let v_price: Vec = head_data - .iter() - .filter_map(|item| { - if let polakdot_runtime::RuntimeEvent::OnDemandAssignmentProvider( - runtime_types::polkadot_runtime_parachains::assigner_on_demand::pallet::Event::OnDemandOrderPlaced{ - para_id: pid, - spot_price: sprice, - }) = &item.event - { - if pid.encode() == para_id.encode() { - Some(*sprice) - } else { - None - } - } else { - None - } - }) - .collect(); - let orderer: Vec<(T::AuthorityId, u128)> = v_price - .iter() - .filter_map(|item| { - let mut orderer = None; - let _: Vec<_> = head_data - .iter() - .filter_map(|event| { - if let polakdot_runtime::RuntimeEvent::Balances( - runtime_types::pallet_balances::pallet::Event::Withdraw { - who: ref order, - amount: eprice, - }, - ) = event.event - { - if eprice == *item { - orderer = match T::AuthorityId::try_from(order.clone().as_slice()) { - Ok(order) => Some((order, eprice)), - Err(_) => None, - }; - Some(()) - } else { - None - } - } else { - None - } - }) - .collect(); - orderer - }) - .collect(); - if orderer.len() > 0 { - Some(orderer[0].clone()) - } else { - None - } - } - - /// Check whether the account is in the validation of relaychain. - /// - /// Parameters: - /// - `relay_storage_proof`: The proof of relay chain storage. - /// - `validation_data`: The validation data. - /// - `author_pub`: Account. - /// - `para_id`: ID of parachain. - fn check_order_proof( - relay_storage_proof: sp_trie::StorageProof, - validation_data: PersistedValidationData, - author_pub: Option, - para_id: ParaId, - ) -> Option<(T::AuthorityId, Balance)> { - let op_author = Self::get_author_from_proof(relay_storage_proof, validation_data, para_id); - match op_author { - Some((author, spot_price)) => { - if author_pub == Some(author.clone()) { - Some((author, spot_price)) - } else { - None - } - }, - None => None, - } - } - - /// Check whether there is an order event in the validation of relaychain. - /// - /// Parameters: - /// - `relay_storage_proof`: The proof of relay chain storage. - /// - `validation_data`: The validation data. - /// - `para_id`: ID of parachain. - pub fn order_placed( - relay_storage_proof: sp_trie::StorageProof, - validation_data: PersistedValidationData, - para_id: ParaId, - ) -> Option { - let op_author = Self::get_author_from_proof(relay_storage_proof, validation_data, para_id); - match op_author { - Some((author, _)) => Some(author), - None => None, - } - } - - /// Whether the gas threshold for placing an order has been reached. - /// - /// Parameters: - /// - `gas_balance`: The total gas. - pub fn reach_txpool_threshold(gas_balance: BalanceOf) -> bool { - let txpool_threshold = TxPoolThreshold::::get(); - gas_balance > txpool_threshold - } - - /// Whether the order with the specified sequence number is executed. - /// - /// Parameters: - /// - `sequence_number`: The sequence number. - pub fn order_executed(sequence_number: u64) -> bool { - let order_map = OrderMap::::get(sequence_number); - match order_map { - Some(order) => order.executed, - None => false, - } - } -} - -pub trait OrderGasCost { - /// Gas consumed by placing an order in a certain block. - /// - /// Parameters: - /// - `block_number`: The block number of para chain. - fn gas_cost( - block_number: BlockNumberFor, - ) -> Result, DispatchError>; -} diff --git a/pallets/order/src/mock.rs b/pallets/order/src/mock.rs deleted file mode 100644 index ff681f3..0000000 --- a/pallets/order/src/mock.rs +++ /dev/null @@ -1,183 +0,0 @@ -// Copyright (C) Magnet. -// This file is part of Magnet. - -// Magnet 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. - -// Magnet 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 Magnet. If not, see . - -use crate::{self as order_pallet, OrderGasCost}; -use codec::Encode; -pub use frame_support::{ - construct_runtime, derive_impl, parameter_types, - traits::{Everything, Hooks}, -}; -use frame_system as system; -use frame_system::{pallet_prelude::BlockNumberFor, EnsureRoot}; -pub use sp_consensus_aura::sr25519::AuthorityId as AuraId; -use sp_core::{crypto::AccountId32, H256}; -use sp_runtime::{ - traits::{BlakeTwo256, IdentifyAccount, IdentityLookup, Verify}, - BuildStorage, MultiSignature, -}; - -type Block = frame_system::mocking::MockBlock; -type Signature = MultiSignature; -type AccountId = <::Signer as IdentifyAccount>::AccountId; -type Balance = u128; -// Configure a mock runtime to test the pallet. -construct_runtime!( - pub enum Test - { - System: frame_system::{Pallet, Call, Config, Storage, Event}, - Balances: pallet_balances::{Pallet, Call, Event}, - OrderPallet: order_pallet::{Pallet, Call, Storage, Event}, - MockPallet: mock_pallet, - } -); - -parameter_types! { - pub const BlockHashCount: u64 = 250; - pub const SS58Prefix: u8 = 42; -} - -#[derive_impl(frame_system::config_preludes::ParaChainDefaultConfig as frame_system::DefaultConfig)] -impl system::Config for Test { - type BaseCallFilter = Everything; - type BlockWeights = (); - type BlockLength = (); - type DbWeight = (); - type RuntimeOrigin = RuntimeOrigin; - type RuntimeCall = RuntimeCall; - type Nonce = u64; - type Hash = H256; - type Hashing = BlakeTwo256; - type AccountId = AccountId32; - type Lookup = IdentityLookup; - type Block = Block; - type RuntimeEvent = RuntimeEvent; - type BlockHashCount = BlockHashCount; - type Version = (); - type PalletInfo = PalletInfo; - type AccountData = pallet_balances::AccountData; - type OnNewAccount = (); - type OnKilledAccount = (); - type SystemWeightInfo = (); - type SS58Prefix = SS58Prefix; - type OnSetCode = (); - type MaxConsumers = frame_support::traits::ConstU32<16>; -} -parameter_types! { - pub const ExistentialDeposit: u64 = 5; -} -impl pallet_balances::Config for Test { - type MaxLocks = (); - type MaxReserves = (); - type ReserveIdentifier = [u8; 8]; - type Balance = u128; - type RuntimeEvent = RuntimeEvent; - type DustRemoval = (); - type ExistentialDeposit = ExistentialDeposit; - type AccountStore = System; - type WeightInfo = (); - type FreezeIdentifier = (); - type MaxFreezes = (); - type RuntimeHoldReason = (); - type RuntimeFreezeReason = (); -} -parameter_types! { - pub const SlotWidth: u32 = 2; - pub const OrderMaxAmount:Balance = 200000000; - pub const TxPoolThreshold:Balance = 3000000000; -} -impl crate::Config for Test { - type RuntimeEvent = RuntimeEvent; - type AuthorityId = AuraId; - type UpdateOrigin = EnsureRoot; - type Currency = Balances; - type OrderMaxAmount = OrderMaxAmount; - type SlotWidth = SlotWidth; - type TxPoolThreshold = TxPoolThreshold; - type WeightInfo = (); -} -pub struct OrderGasCostHandler(); - -impl OrderGasCost for OrderGasCostHandler -where - T: crate::Config, - T::AccountId: From<[u8; 32]>, -{ - fn gas_cost( - block_number: BlockNumberFor, - ) -> Result, sp_runtime::DispatchError> { - let sequece_number = >::block_2_sequence(block_number); - if sequece_number.is_none() { - return Ok(None); - } - let order = >::order_map( - sequece_number.ok_or(sp_runtime::DispatchError::Other("sequece_number is none"))?, - ) - .ok_or(sp_runtime::DispatchError::Other("Not exist order"))?; - let mut r = [0u8; 32]; - r.copy_from_slice(order.orderer.encode().as_slice()); - let account = T::AccountId::try_from(r) - .map_err(|_| sp_runtime::DispatchError::Other("Account error"))?; - Ok(Some((account, order.price))) - } -} - -#[frame_support::pallet] -pub mod mock_pallet { - use super::*; - #[pallet::config] - pub trait Config: frame_system::Config { - type OrderGasCost: OrderGasCost; - } - - #[pallet::call] - impl Pallet {} - - #[pallet::pallet] - #[pallet::without_storage_info] - pub struct Pallet(_); - - impl Pallet { - pub fn get_gas_cost(block_number: BlockNumberFor) -> Option<(T::AccountId, Balance)> { - T::OrderGasCost::gas_cost(block_number).unwrap() - } - } -} - -impl mock_pallet::Config for Test { - type OrderGasCost = OrderGasCostHandler; -} -pub struct ExtBuilder { - balances: Vec<(AccountId32, u128)>, -} - -impl Default for ExtBuilder { - fn default() -> Self { - Self { balances: Default::default() } - } -} - -impl ExtBuilder { - pub fn build(self) -> sp_io::TestExternalities { - // Build genesis storage according to the mock runtime. - let mut t = frame_system::GenesisConfig::::default().build_storage().unwrap(); - pallet_balances::GenesisConfig:: { balances: self.balances } - .assimilate_storage(&mut t) - .unwrap(); - let mut ext = sp_io::TestExternalities::new(t); - ext.execute_with(|| System::set_block_number(1)); - ext - } -} diff --git a/pallets/order/src/proof_data.rs b/pallets/order/src/proof_data.rs deleted file mode 100644 index 4777a2a..0000000 --- a/pallets/order/src/proof_data.rs +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright (C) Magnet. -// This file is part of Magnet. - -// Magnet 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. - -// Magnet 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 Magnet. If not, see . - -#[allow(dead_code)] -pub const ENCODED_PROOFS: &[(&str, &[&str])] = &[ - ("6b7db61c1bee66952742baa01b5a16efe3b6dbc015db0bbbc0d50349eb86279e",&[ -"2000000000000000a2e9b53d55170200000001000000000007c09b001b01390202000000020000000408d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27de96725030000000000000000000000000000020000000408d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d809698000000000000000000000000000000020000004200e8030000809698000000000000000000000000000000020000000407fe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860ee96725030000000000000000000000000000020000002100d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27de96725030000000000000000000000000000000000000000000000000000000000000200000000001a037449c93a000000", -"3ed41e5e16056765bc8461851072c9d74259dee8a67b8efa0538928edcd6d3dc677e250771c8f75fa2e6cc8942f06f84", -"800104801a93e89e41a278828d5caad67eb07073bca1b6cccc49807dbb0476cb27dced8b80c11c1757f8dc26ef0d97db7c703034b9a9001ad382ed9e1ff900f6ac927cea97", -"80c19c8040ccdfa3ac9b91388fa827571930b3c1e805eb35304412ff42cc6df33ca548ee806bd20dcb3f9e7c87137961ace69ccd74eb92eb3ca730ea10fc736b7f261cbd7380257442a3193ebf64fb8a0019b2d9fc1d97734011eb5a8d2ea414f5ff9a27952b804a061d1ed9340acbb3bfeeb8dd6662b24e093240981c068dafa7044ed379307f80c692d333d8a2af1468e95d1583f2ff2dcde7a5607f9490af0e17dff8a1330cc48005beaee4aeb1f362f62d090d987e09cee98c4bbafd8042732406115019b3b6b2809c048073a3a4c42b9174519d6fdac372683ca85cc3b0cac1a1a9ddaf243b59b1", -"80ffff805f00b947f4aaec99e6613e9511e9cda57d739ea73a0f2db02c08509a021ac7c180c63e2c041524586654422f91098a9b35e5d0ea88d44c334c4ffa6112e7aa696f80f40031d9a794a6cd84c0d942827d55968e796a5350b0df1d18c410b8903ce59980b8acbbf86a4082fb580470e18b67d0099be087b38e04c862e8d2ad2b4b984f68801c8066816a9737e80e67d14190ebabfe1f77c68975a57867a3e721759387b16f800cb049cc6bc5b79fb79d7da92aadb3c7d5df71e403364142445ab1e212424b7c80c0c6776ecc8630ecc28971e2155751cdeead63676a6d5313771f902a26a528a0805b682132c52908705526057f73ab7fccab4af6d72a9805634dd8d3cc53f130d18012b1a0dc047d3b9d5e8792fb372059a04d44300f0f667a2a14a8777ccfe7fdff80de00eff4d3f779a7434826e0d0f3a1ec71dd4028c42e90718c657e3f1c2ed23680af18bd988a60b703c96993f291b836fe5f6df4ea5a7d36c9d1e65cd44bc1c5a98037af338c5d64d1babf36777405396255681f8bef661a6cd600052dceffba87ab80f4429c1b9ec6915b41ad4f0b3aa4f0fcf7ef80690cab6590739ce7e415f4e966800117ab1066009e6ab3db03ed63038d60ed339fccef41d35668e22d99ba0a7142806bfdbbf0e0bedcb993b65c9cea1e929a56d78a3b7bc53d1b7ca6fc488e2295ee8011cf4cd49d702989ad1e066e4983740ef04216f8945156021e524d97b57e240a", -"9eaa394eea5630e07c48ae0c9558cef7398f80a506ec64a470c01c9ac42ea190d29a5f5d900256035bd485a0563a428f7d0369809aea767c8a069c1f1759636c9f4672b4483e36cc35d06881c141bd5e4c40d75e505f0e7b9012096b41c4eb3aaf947f6ea4290800004c5f0684a022a34dd8bfa2baaf44f172b71004018004952dfbd3c381037ea2a1ddd3c7252f15de49dd55db9697c7513fd0750e1ca980a22e4b0da2642d6cda7bd1dc00e5fd760e4d6e18684676b9612f3045023088cf80809890dfdabf4da4f92e0ffab00c1cedd68369e0cc3ce4432de6f8abe9220b5380690a57078e6f7e247b25365dad04c1fef7b0d5401cad9087216ca0f33d7788a06c5f09cce9c888469bb1a0dceaa129672ef824599318726f636f636f" -]) -]; -#[allow(dead_code)] -pub const HEAD_DATA:&[&str] = &["00000000000000000000000000000000000000000000000000000000000000000070049f18759406809dc703bba5534cd06df7453974b4599e08d6709db651e0a203170a2e7597b7b7e3d84c05391d139a62b157e78786d8c082f29dcf4c11131400"]; diff --git a/pallets/order/src/tests.rs b/pallets/order/src/tests.rs deleted file mode 100644 index 793f8e1..0000000 --- a/pallets/order/src/tests.rs +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright (C) Magnet. -// This file is part of Magnet. - -// Magnet 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. - -// Magnet 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 Magnet. If not, see . - -use crate::mock::*; -use codec::Decode; -use cumulus_primitives_core::{ParaId, PersistedValidationData}; -use frame_support::{ - inherent::{InherentData, ProvideInherent}, - traits::UnfilteredDispatchable, -}; -use frame_system::RawOrigin; -use parachains_common::AccountId; -use primitives::HeadData; -use sp_trie::StorageProof; - -use crate::proof_data::{ENCODED_PROOFS, HEAD_DATA}; -#[test] -fn order_default_value() { - ExtBuilder::default().build().execute_with(|| { - assert_eq!(OrderPallet::slot_width(), 2); - }); -} - -#[test] -fn order_normal_test() { - ExtBuilder::default().build().execute_with(|| { - System::set_block_number(1); - - let encoded = ENCODED_PROOFS[0]; - let root = hex::decode(encoded.0).unwrap(); - let relay_chain_state_proof = - StorageProof::new(encoded.1.iter().map(|s| hex::decode(s).unwrap())); - let relay_root: cumulus_primitives_core::relay_chain::Hash = - <[u8; 32]>::try_from(root).unwrap().into(); - let mut inherent_data = InherentData::default(); - let head_data = hex::decode(HEAD_DATA[0]).unwrap(); - let perist_data = PersistedValidationData { - parent_head: HeadData::decode(&mut head_data.as_slice()).unwrap(), - relay_parent_number: 29, - relay_parent_storage_root: relay_root, - max_pov_size: 5242880 as u32, - }; - let order_inherent_data = magnet_primitives_order::OrderInherentData { - relay_storage_proof: relay_chain_state_proof, - validation_data: Some(perist_data), - para_id: ParaId::from(1000), - sequence_number: 0, - author_pub: Some(AccountId::from(hex_literal::hex!( - "d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d" - ))), - }; - inherent_data - .put_data(magnet_primitives_order::INHERENT_IDENTIFIER, &order_inherent_data) - .expect("failed to put VFP inherent"); - OrderPallet::create_inherent(&inherent_data) - .expect("got an inherent") - .dispatch_bypass_filter(RawOrigin::None.into()) - .expect("dispatch succeeded"); - OrderPallet::on_finalize(1); - assert_eq!(OrderPallet::sequence_number(), 1); - let gas_cost = MockPallet::get_gas_cost(1).unwrap(); - assert_eq!( - gas_cost.0, - AccountId::from(hex_literal::hex!( - "d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d" - )) - ); - }); -} diff --git a/primitives/order/Cargo.toml b/primitives/coretime/bulk/Cargo.toml similarity index 94% rename from primitives/order/Cargo.toml rename to primitives/coretime/bulk/Cargo.toml index bf0256d..b1719ce 100644 --- a/primitives/order/Cargo.toml +++ b/primitives/coretime/bulk/Cargo.toml @@ -1,7 +1,7 @@ [package] -name = "magnet-primitives-order" +name = "mp-coretime-bulk" authors.workspace = true -description = "Runtime API definition of magnet-primitives-order" +description = "primitives related to bulk inherent" edition.workspace = true license = "Unlicense" version = "0.2.0" diff --git a/primitives/coretime/bulk/src/inherent_client.rs b/primitives/coretime/bulk/src/inherent_client.rs new file mode 100644 index 0000000..72fb223 --- /dev/null +++ b/primitives/coretime/bulk/src/inherent_client.rs @@ -0,0 +1,89 @@ +// Copyright (C) Magnet. +// This file is part of Magnet. + +// Magnet 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. + +// Magnet 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 Magnet. If not, see . + +use crate::well_known_keys::broker_regions; +use cumulus_primitives_core::relay_chain::Balance; +use pallet_broker::RegionId; +use sp_consensus_aura::sr25519::AuthorityId; +use { + crate::BulkInherentData, + cumulus_primitives_core::{ParaId, PersistedValidationData}, + cumulus_relay_chain_interface::{PHash, RelayChainInterface}, +}; + +/// Collect the relevant coretime para chain state in form of a proof +/// for putting it into the bulk inherent. +// async fn collect_coretime_parachain_storage_proof( +// region_id: RegionId, +// ) -> Option { +// let mut relevant_keys = Vec::new(); +// //Broker Regions +// relevant_keys.push(broker_regions(region_id)); + +// // let relay_storage_proof = relay_chain_interface.prove_read(relay_parent, &relevant_keys).await; +// // match relay_storage_proof { +// // Ok(proof) => Some(proof), +// // Err(err) => { +// // log::info!("RelayChainError:{:?}", err); +// // None +// // }, +// // } +// None +// } + +impl BulkInherentData { + /// Create the [`BulkInherentData`] at the given `relay_parent`. + /// + /// Returns `None` if the creation failed. + pub async fn create_at( + // relay_parent: PHash, + // author_pub: &AuthorityId, + // region_id: RegionId, + storage_proof: &sp_trie::StorageProof, + storage_root: PHash, + region_id: RegionId, + ) -> Option { + // let storage_proof = collect_coretime_parachain_storage_proof(region_id).await?; + + Some(BulkInherentData { + storage_proof: storage_proof.clone(), + storage_root, + region_id, + // purchaser: author_pub.clone(), + // price: 0, + // duration: 0, + }) + } +} + +// Implementation of InherentDataProvider +#[async_trait::async_trait] +impl sp_inherents::InherentDataProvider for BulkInherentData { + async fn provide_inherent_data( + &self, + inherent_data: &mut sp_inherents::InherentData, + ) -> Result<(), sp_inherents::Error> { + inherent_data.put_data(crate::INHERENT_IDENTIFIER, &self) + } + + async fn try_handle_error( + &self, + _: &sp_inherents::InherentIdentifier, + _: &[u8], + ) -> Option> { + None + } +} diff --git a/primitives/coretime/bulk/src/lib.rs b/primitives/coretime/bulk/src/lib.rs new file mode 100644 index 0000000..4e82b34 --- /dev/null +++ b/primitives/coretime/bulk/src/lib.rs @@ -0,0 +1,65 @@ +// Copyright (C) Magnet. +// This file is part of Magnet. + +// Magnet 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. + +// Magnet 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 Magnet. If not, see . + +//! # Order Inherent Primitives +//! +//! This crate defines those primitives that should be taken into account when building +//! the order pallet inherent +//! +#![cfg_attr(not(feature = "std"), no_std)] +use cumulus_primitives_core::{ + relay_chain::BlockNumber as RelayBlockNumber, relay_chain::Hash as PHash, ParaId, + PersistedValidationData, +}; +use sp_core::H256; +use sp_runtime::sp_std::vec::Vec; +use sp_runtime::traits::MaybeDisplay; +#[cfg(feature = "std")] +pub mod inherent_client; +pub mod well_known_keys; +use codec::{Codec, Decode, Encode}; +use pallet_broker::RegionId; +use {scale_info::TypeInfo, sp_inherents::InherentIdentifier}; + +#[derive(Encode, Decode, sp_core::RuntimeDebug, Clone, PartialEq, TypeInfo)] +pub struct BulkInherentData { + /// Proof of coretime parachain storage. + pub storage_proof: sp_trie::StorageProof, + /// Root of coretime parachain storage. + pub storage_root: PHash, + pub region_id: RegionId, +} + +#[derive(Clone)] +pub struct BulkMemRecord { + /// Proof of coretime parachain storage. + pub storage_proof: sp_trie::StorageProof, + /// Root of coretime parachain storage. + pub storage_root: PHash, + pub region_id: RegionId, +} +// Identifier of the order inherent +pub const INHERENT_IDENTIFIER: InherentIdentifier = *b"bulkihrt"; + +// sp_api::decl_runtime_apis! { +// #[api_version(2)] +// pub trait BulkRuntimeApi where +// Balance: Codec + MaybeDisplay, +// AuthorityId:Codec +// { + +// } +// } diff --git a/primitives/coretime/bulk/src/well_known_keys.rs b/primitives/coretime/bulk/src/well_known_keys.rs new file mode 100644 index 0000000..952c190 --- /dev/null +++ b/primitives/coretime/bulk/src/well_known_keys.rs @@ -0,0 +1,43 @@ +// Copyright (C) Magnet. +// This file is part of Magnet. + +// Magnet 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. + +// Magnet 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 Magnet. If not, see . + +//! Keys of well known. +#![cfg_attr(not(feature = "std"), no_std)] + +use cumulus_primitives_core::relay_chain::CoreIndex; +use { + cumulus_primitives_core::ParaId, + pallet_broker::RegionId, + sp_core::Encode, + sp_io::hashing::{blake2_128, twox_256, twox_64}, + sp_std::vec::Vec, +}; + +// XXHash a String:Broker Regions +pub const REGIONS: &[u8] = + &hex_literal::hex!["4dcb50595177a3177648411a42aca0f53dc63b0b76ffd6f80704a090da6f8719"]; + +/// Broker Regions +pub fn broker_regions(region_id: RegionId) -> Vec { + region_id.using_encoded(|region_id_bytes: &[u8]| { + REGIONS + .iter() + .chain(blake2_128(region_id_bytes).iter()) + .chain(region_id_bytes.iter()) + .cloned() + .collect() + }) +} diff --git a/primitives/coretime/common/Cargo.toml b/primitives/coretime/common/Cargo.toml new file mode 100644 index 0000000..23822f4 --- /dev/null +++ b/primitives/coretime/common/Cargo.toml @@ -0,0 +1,53 @@ +[package] +name = "mp-coretime-common" +authors.workspace = true +description = "primitives related to coretime" +edition.workspace = true +license = "Unlicense" +version = "0.2.0" + +[dependencies] +log = { workspace = true, default-features = false } +hex-literal = { workspace = true } +async-trait = { workspace = true, optional = true } +scale-info = { workspace = true, default-features = false } +codec = { package = "parity-scale-codec", workspace = true, default-features = false, features = [ + "derive","full", "bit-vec" +] } +sp-api = { workspace = true, default-features = false} +sp-runtime = { workspace = true, default-features = false } +sp-inherents = { workspace = true, default-features = false } +sp-core = { workspace = true, default-features = false } +sp-trie = { workspace = true, default-features = false } +cumulus-relay-chain-interface = { workspace = true, default-features = false , optional = true } +sp-state-machine = { workspace = true, default-features = false } +cumulus-primitives-core = { workspace = true , default-features = false } +sp-consensus-aura= { workspace = true, default-features = false } +sp-io ={ workspace = true, default-features = false } +sp-std = { workspace = true, default-features = false } +sp-weights = { workspace = true, default-features = false } +sp-session = { workspace = true, default-features = false } +sp-consensus-grandpa = { workspace = true, default-features = false } + + +[features] +default = [ "std" ] +std = [ + "async-trait", + "codec/std", + "sp-api/std", + "sp-runtime/std", + "scale-info/std", + "sp-inherents/std", + "sp-core/std", + "sp-trie/std", + "cumulus-relay-chain-interface", + "sp-state-machine/std", + "cumulus-primitives-core/std", + "sp-consensus-aura/std", + "sp-io/std", + "sp-std/std", + "sp-weights/std", + "sp-session/std", + "sp-consensus-grandpa/std", +] \ No newline at end of file diff --git a/primitives/coretime/common/src/lib.rs b/primitives/coretime/common/src/lib.rs new file mode 100644 index 0000000..eea99a8 --- /dev/null +++ b/primitives/coretime/common/src/lib.rs @@ -0,0 +1,30 @@ +// Copyright (C) Magnet. +// This file is part of Magnet. + +// Magnet 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. + +// Magnet 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 Magnet. If not, see . + +//! # Order Inherent Primitives +//! +//! This crate defines those primitives that should be taken into account when building +//! the order pallet inherent +//! +#![cfg_attr(not(feature = "std"), no_std)] +use cumulus_primitives_core::{ + relay_chain::BlockNumber as RelayBlockNumber, relay_chain::Hash as PHash, ParaId, + PersistedValidationData, +}; +use sp_core::H256; +use sp_runtime::sp_std::vec::Vec; +use sp_runtime::traits::MaybeDisplay; +pub mod well_known_keys; diff --git a/client/consensus/aura/src/lib.rs b/primitives/coretime/common/src/well_known_keys.rs similarity index 51% rename from client/consensus/aura/src/lib.rs rename to primitives/coretime/common/src/well_known_keys.rs index e71099a..269454c 100644 --- a/client/consensus/aura/src/lib.rs +++ b/primitives/coretime/common/src/well_known_keys.rs @@ -14,30 +14,28 @@ // You should have received a copy of the GNU General Public License // along with Magnet. If not, see . -const LOG_TARGET: &str = "on_demand_aura::magnet"; - -use sp_core::crypto::{ByteArray, Pair}; -use sp_keystore::KeystorePtr; - -type AuthorityId

=

::Public; - -pub async fn order_slot( - idx: u32, - authorities: &[AuthorityId

], - keystore: &KeystorePtr, -) -> Option { - if authorities.is_empty() { - return None; - } - - let expected_author = authorities.get(idx as usize).expect( - "authorities not empty; index constrained to list length;this is a valid index; qed", - ); - - if keystore.has_keys(&[(expected_author.to_raw_vec(), sp_application_crypto::key_types::AURA)]) - { - Some(expected_author.clone()) - } else { - None - } +//! Keys of well known. +#![cfg_attr(not(feature = "std"), no_std)] + +use cumulus_primitives_core::relay_chain::CoreIndex; +use { + cumulus_primitives_core::ParaId, + sp_core::Encode, + sp_io::hashing::{blake2_128, twox_256, twox_64}, + sp_std::vec::Vec, +}; + +pub const PARAS_PARA_LIFECYCLES: &[u8] = + &hex_literal::hex!["cd710b30bd2eab0352ddcc26417aa194281e0bfde17b36573208a06cb5cfba6b"]; + +// Paras pallet storage ParaLifecycles +pub fn paras_para_lifecycles(para_id: ParaId) -> Vec { + para_id.using_encoded(|para_id: &[u8]| { + PARAS_PARA_LIFECYCLES + .iter() + .chain(twox_64(para_id).iter()) + .chain(para_id.iter()) + .cloned() + .collect() + }) } diff --git a/primitives/order/src/inherent_client.rs b/primitives/order/src/inherent_client.rs deleted file mode 100644 index 84dd5d7..0000000 --- a/primitives/order/src/inherent_client.rs +++ /dev/null @@ -1,89 +0,0 @@ -// Copyright (C) Magnet. -// This file is part of Magnet. - -// Magnet 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. - -// Magnet 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 Magnet. If not, see . - -use sp_consensus_aura::sr25519::AuthorityId; -use { - crate::OrderInherentData, - cumulus_primitives_core::{ParaId, PersistedValidationData}, - cumulus_relay_chain_interface::{PHash, RelayChainInterface}, -}; - -/// Collect the relevant relay chain state in form of a proof -/// for putting it into the order inherent. -async fn collect_relay_storage_proof( - relay_chain_interface: &impl RelayChainInterface, - relay_parent: PHash, -) -> Option { - let mut relevant_keys = Vec::new(); - //System Events - relevant_keys.push( - hex_literal::hex!["26aa394eea5630e07c48ae0c9558cef780d41e5e16056765bc8461851072c9d7"] - .to_vec(), - ); - - let relay_storage_proof = relay_chain_interface.prove_read(relay_parent, &relevant_keys).await; - match relay_storage_proof { - Ok(proof) => Some(proof), - Err(err) => { - log::info!("RelayChainError:{:?}", err); - None - }, - } -} - -impl OrderInherentData { - /// Create the [`OrderInherentData`] at the given `relay_parent`. - /// - /// Returns `None` if the creation failed. - pub async fn create_at( - relay_parent: PHash, - relay_chain_interface: &impl RelayChainInterface, - validation_data: &Option, - para_id: ParaId, - sequence_number: u64, - author_pub: &Option, - ) -> Option> { - let relay_storage_proof = - collect_relay_storage_proof(relay_chain_interface, relay_parent).await?; - - Some(OrderInherentData { - relay_storage_proof: relay_storage_proof.clone(), - validation_data: validation_data.clone(), - para_id, - sequence_number, - author_pub: author_pub.clone(), - }) - } -} - -// Implementation of InherentDataProvider -#[async_trait::async_trait] -impl sp_inherents::InherentDataProvider for OrderInherentData { - async fn provide_inherent_data( - &self, - inherent_data: &mut sp_inherents::InherentData, - ) -> Result<(), sp_inherents::Error> { - inherent_data.put_data(crate::INHERENT_IDENTIFIER, &self) - } - - async fn try_handle_error( - &self, - _: &sp_inherents::InherentIdentifier, - _: &[u8], - ) -> Option> { - None - } -} diff --git a/primitives/order/src/lib.rs b/primitives/order/src/lib.rs deleted file mode 100644 index 87505dd..0000000 --- a/primitives/order/src/lib.rs +++ /dev/null @@ -1,111 +0,0 @@ -// Copyright (C) Magnet. -// This file is part of Magnet. - -// Magnet 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. - -// Magnet 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 Magnet. If not, see . - -//! # Order Inherent Primitives -//! -//! This crate defines those primitives that should be taken into account when building -//! the order pallet inherent -//! -#![cfg_attr(not(feature = "std"), no_std)] -use cumulus_primitives_core::{ - relay_chain::BlockNumber as RelayBlockNumber, relay_chain::Hash as PHash, ParaId, - PersistedValidationData, -}; -use sp_core::H256; -use sp_runtime::sp_std::vec::Vec; -use sp_runtime::traits::MaybeDisplay; -#[cfg(feature = "std")] -pub mod inherent_client; -pub mod metadata; -pub mod well_known_keys; -use codec::{Codec, Decode, Encode}; -use {scale_info::TypeInfo, sp_inherents::InherentIdentifier}; - -#[derive(Encode, Decode, sp_core::RuntimeDebug, Clone, PartialEq, TypeInfo)] -pub struct OrderInherentData { - /// Proof of relaychain storage. - pub relay_storage_proof: sp_trie::StorageProof, - /// Validation data. - pub validation_data: Option, - /// Parachain ID. - pub para_id: ParaId, - /// Sequence number of order. - pub sequence_number: u64, - /// Author of order. - pub author_pub: Option, -} - -// Identifier of the order inherent -pub const INHERENT_IDENTIFIER: InherentIdentifier = *b"orderiht"; - -#[derive(Clone, PartialEq)] -pub enum OrderStatus { - Init, - Order, - Execute, - Complete, -} - -#[derive(Clone)] -pub struct OrderRecord { - /// Hash of relaychain block. - pub relay_parent: Option, - /// Relaychain block height. - pub relay_height: RelayBlockNumber, - /// Hash of relaychain block,block number is special. - pub relay_base: PHash, - /// Relaychain block height,block number is special. - pub relay_base_height: RelayBlockNumber, - /// Order status - pub order_status: OrderStatus, - /// Validation data. - pub validation_data: Option, - /// Parachain ID. - pub para_id: ParaId, - /// Sequence number of order. - pub sequence_number: u64, - /// Author of order. - pub author_pub: Option, - /// Backup transactions hash. - pub txs: Vec, -} - -sp_api::decl_runtime_apis! { - #[api_version(2)] - pub trait OrderRuntimeApi where - Balance: Codec + MaybeDisplay, - AuthorityId:Codec - { - - fn slot_width()-> u32; - - fn sequence_number()-> u64; - - fn current_relay_height()->u32; - - fn order_max_amount() -> Balance; - - fn order_placed( - relay_storage_proof: sp_trie::StorageProof, - validation_data: PersistedValidationData, - para_id:ParaId, - )-> Option; - - fn reach_txpool_threshold(gas_balance:Balance) -> bool; - - fn order_executed(sequence_number:u64) -> bool ; - } -} diff --git a/primitives/order/src/metadata.rs b/primitives/order/src/metadata.rs deleted file mode 100644 index cfbd9bc..0000000 --- a/primitives/order/src/metadata.rs +++ /dev/null @@ -1,5350 +0,0 @@ -#[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 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, - Eq, - scale_info::TypeInfo, - )] - pub enum Event { - #[codec(index = 0)] - ValidatorsRegistered(::sp_std::vec::Vec<::sp_core::crypto::AccountId32>), - #[codec(index = 1)] - ValidatorsDeregistered(::sp_std::vec::Vec<::sp_core::crypto::AccountId32>), - } - } - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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, - #[codec(index = 7)] - OnDemandOrdering, - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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::Event2), - #[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::Event2), - #[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 = 66)] - OnDemandAssignmentProvider( - runtime_types::polkadot_runtime_parachains::assigner_on_demand::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), - } - } - pub mod pallet_indices { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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_transaction_payment { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum Event { - #[codec(index = 0)] - TransactionFeePaid { - who: ::sp_core::crypto::AccountId32, - actual_fee: ::core::primitive::u128, - tip: ::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, - Eq, - scale_info::TypeInfo, - )] - pub enum Event { - #[codec(index = 0)] - Offence { - kind: [::core::primitive::u8; 16usize], - timeslot: ::sp_std::vec::Vec<::core::primitive::u8>, - }, - } - } - } - pub mod pallet_session { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum Event { - #[codec(index = 0)] - NewSession { session_index: ::core::primitive::u32 }, - } - } - } - pub mod sp_consensus_grandpa { - use super::runtime_types; - pub mod app { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct Public(pub runtime_types::sp_core::ed25519::Public); - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct Signature(pub runtime_types::sp_core::ed25519::Signature); - } - } - pub mod pallet_grandpa { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum Event { - #[codec(index = 0)] - NewAuthorities { - authority_set: ::sp_std::vec::Vec<( - runtime_types::sp_consensus_grandpa::app::Public, - ::core::primitive::u64, - )>, - }, - #[codec(index = 1)] - Paused, - #[codec(index = 2)] - Resumed, - } - } - } - pub mod pallet_im_online { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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: ::sp_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, - Eq, - scale_info::TypeInfo, - )] - pub struct Public(pub runtime_types::sp_core::sr25519::Public); - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct Signature(pub runtime_types::sp_core::sr25519::Signature); - } - } - } - pub mod pallet_democracy { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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: runtime_types::primitive_types::H256, - until: ::core::primitive::u32, - }, - #[codec(index = 10)] - Blacklisted { proposal_hash: runtime_types::primitive_types::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: runtime_types::primitive_types::H256, - }, - #[codec(index = 15)] - MetadataCleared { - owner: runtime_types::pallet_democracy::types::MetadataOwner, - hash: runtime_types::primitive_types::H256, - }, - #[codec(index = 16)] - MetadataTransferred { - prev_owner: runtime_types::pallet_democracy::types::MetadataOwner, - owner: runtime_types::pallet_democracy::types::MetadataOwner, - hash: runtime_types::primitive_types::H256, - }, - } - } - pub mod types { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum MetadataOwner { - #[codec(index = 0)] - External, - #[codec(index = 1)] - Proposal(::core::primitive::u32), - #[codec(index = 2)] - Referendum(::core::primitive::u32), - } - } - pub mod vote { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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, - // :: subxt :: ext :: codec :: CompactAs, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct Vote(pub ::core::primitive::u8); - } - pub mod vote_threshold { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum VoteThreshold { - #[codec(index = 0)] - SuperMajorityApprove, - #[codec(index = 1)] - SuperMajorityAgainst, - #[codec(index = 2)] - SimpleMajority, - } - } - } - pub mod pallet_collective { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum Event { - #[codec(index = 0)] - Proposed { - account: ::sp_core::crypto::AccountId32, - proposal_index: ::core::primitive::u32, - proposal_hash: runtime_types::primitive_types::H256, - threshold: ::core::primitive::u32, - }, - #[codec(index = 1)] - Voted { - account: ::sp_core::crypto::AccountId32, - proposal_hash: runtime_types::primitive_types::H256, - voted: ::core::primitive::bool, - yes: ::core::primitive::u32, - no: ::core::primitive::u32, - }, - #[codec(index = 2)] - Approved { proposal_hash: runtime_types::primitive_types::H256 }, - #[codec(index = 3)] - Disapproved { proposal_hash: runtime_types::primitive_types::H256 }, - #[codec(index = 4)] - Executed { - proposal_hash: runtime_types::primitive_types::H256, - result: - ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, - }, - #[codec(index = 5)] - MemberExecuted { - proposal_hash: runtime_types::primitive_types::H256, - result: - ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, - }, - #[codec(index = 6)] - Closed { - proposal_hash: runtime_types::primitive_types::H256, - yes: ::core::primitive::u32, - no: ::core::primitive::u32, - }, - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum Event2 { - #[codec(index = 0)] - Proposed { - account: ::sp_core::crypto::AccountId32, - proposal_index: ::core::primitive::u32, - proposal_hash: runtime_types::primitive_types::H256, - threshold: ::core::primitive::u32, - }, - #[codec(index = 1)] - Voted { - account: ::sp_core::crypto::AccountId32, - proposal_hash: runtime_types::primitive_types::H256, - voted: ::core::primitive::bool, - yes: ::core::primitive::u32, - no: ::core::primitive::u32, - }, - #[codec(index = 2)] - Approved { proposal_hash: runtime_types::primitive_types::H256 }, - #[codec(index = 3)] - Disapproved { proposal_hash: runtime_types::primitive_types::H256 }, - #[codec(index = 4)] - Executed { - proposal_hash: runtime_types::primitive_types::H256, - result: - ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, - }, - #[codec(index = 5)] - MemberExecuted { - proposal_hash: runtime_types::primitive_types::H256, - result: - ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, - }, - #[codec(index = 6)] - Closed { - proposal_hash: runtime_types::primitive_types::H256, - yes: ::core::primitive::u32, - no: ::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, - Eq, - scale_info::TypeInfo, - )] - pub enum Event { - #[codec(index = 0)] - NewTerm { - new_members: ::sp_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, - }, - } - } - } - pub mod pallet_membership { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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_treasury { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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, - }, - } - } - } - pub mod pallet_identity { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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 pallet_society { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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: ::sp_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)] - NewParams { - params: runtime_types::pallet_society::GroupParams<::core::primitive::u128>, - }, - #[codec(index = 14)] - Unfounded { founder: ::sp_core::crypto::AccountId32 }, - #[codec(index = 15)] - Deposit { value: ::core::primitive::u128 }, - #[codec(index = 16)] - Elevated { - member: ::sp_core::crypto::AccountId32, - rank: ::core::primitive::u32, - }, - } - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct GroupParams<_0> { - pub max_members: ::core::primitive::u32, - pub max_intake: ::core::primitive::u32, - pub max_strikes: ::core::primitive::u32, - pub candidate_deposit: _0, - } - } - pub mod pallet_recovery { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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 }, - } - } - } - pub mod pallet_utility { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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, - Eq, - scale_info::TypeInfo, - )] - 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 pallet_scheduler { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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]>, - }, - } - } - } - pub mod pallet_proxy { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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: runtime_types::primitive_types::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, - }, - } - } - } - pub mod pallet_multisig { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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, - Eq, - scale_info::TypeInfo, - )] - pub struct Timepoint<_0> { - pub height: _0, - pub index: ::core::primitive::u32, - } - } - pub mod pallet_preimage { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum Event { - #[codec(index = 0)] - Noted { hash: runtime_types::primitive_types::H256 }, - #[codec(index = 1)] - Requested { hash: runtime_types::primitive_types::H256 }, - #[codec(index = 2)] - Cleared { hash: runtime_types::primitive_types::H256 }, - } - } - } - pub mod pallet_bounties { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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 }, - } - } - } - pub mod pallet_child_bounties { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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 }, - } - } - } - pub mod pallet_tips { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum Event { - #[codec(index = 0)] - NewTip { tip_hash: runtime_types::primitive_types::H256 }, - #[codec(index = 1)] - TipClosing { tip_hash: runtime_types::primitive_types::H256 }, - #[codec(index = 2)] - TipClosed { - tip_hash: runtime_types::primitive_types::H256, - who: ::sp_core::crypto::AccountId32, - payout: ::core::primitive::u128, - }, - #[codec(index = 3)] - TipRetracted { tip_hash: runtime_types::primitive_types::H256 }, - #[codec(index = 4)] - TipSlashed { - tip_hash: runtime_types::primitive_types::H256, - finder: ::sp_core::crypto::AccountId32, - deposit: ::core::primitive::u128, - }, - } - } - } - pub mod pallet_nis { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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, - }, - } - } - } - pub mod polkadot_core_primitives { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct CandidateHash(pub runtime_types::primitive_types::H256); - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct InboundDownwardMessage<_0> { - pub sent_at: _0, - pub msg: ::sp_std::vec::Vec<::core::primitive::u8>, - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct InboundHrmpMessage<_0> { - pub sent_at: _0, - pub data: ::sp_std::vec::Vec<::core::primitive::u8>, - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct OutboundHrmpMessage<_0> { - pub recipient: _0, - pub data: ::sp_std::vec::Vec<::core::primitive::u8>, - } - } - pub mod polkadot_primitives { - use super::runtime_types; - pub mod v5 { - 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, - Eq, - scale_info::TypeInfo, - )] - pub struct Public(pub runtime_types::sp_core::sr25519::Public); - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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::v5::PvfPrepTimeoutKind, - // ::core::primitive::u64, - // ), - // #[codec(index = 6)] - // PvfExecTimeout( - // runtime_types::polkadot_primitives::v5::PvfExecTimeoutKind, - // ::core::primitive::u64, - // ), - // #[codec(index = 7)] - // WasmExtBulkMemory, - // } - // #[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)] - // pub struct ExecutorParams( - // pub ::sp_std::vec::Vec< - // runtime_types::polkadot_primitives::v5::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::v5::ValidatorIndex, - // pub signature: - // runtime_types::polkadot_primitives::v5::validator_app::Signature, - // #[codec(skip)] - // pub __subxt_unused_type_params: ::core::marker::PhantomData<_1>, - // } - // } - // pub mod slashing { - // use super::runtime_types; - // #[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)] - // pub struct DisputeProof { - // pub time_slot: - // runtime_types::polkadot_primitives::v5::slashing::DisputesTimeSlot, - // pub kind: - // runtime_types::polkadot_primitives::v5::slashing::SlashingOffenceKind, - // pub validator_index: runtime_types::polkadot_primitives::v5::ValidatorIndex, - // pub validator_id: - // runtime_types::polkadot_primitives::v5::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 OpaqueKeyOwnershipProof(pub ::sp_std::vec::Vec<::core::primitive::u8>); - // #[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)] - // pub struct PendingSlashes { - // pub keys: ::subxt::utils::KeyedVec< - // runtime_types::polkadot_primitives::v5::ValidatorIndex, - // runtime_types::polkadot_primitives::v5::validator_app::Public, - // >, - // pub kind: - // runtime_types::polkadot_primitives::v5::slashing::SlashingOffenceKind, - // } - // #[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)] - // pub enum SlashingOffenceKind { - // #[codec(index = 0)] - // ForInvalid, - // #[codec(index = 1)] - // AgainstValid, - // } - // } - // 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 Assignment { - // pub para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, - // } - // #[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::v5::CommittedCandidateReceipt<_0>, - // pub validity_votes: ::sp_std::vec::Vec< - // runtime_types::polkadot_primitives::v5::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< - // ::sp_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::primitives::Id, - // >, - // >, - // pub new_validation_code: ::core::option::Option< - // runtime_types::polkadot_parachain_primitives::primitives::ValidationCode, - // >, - // pub head_data: - // runtime_types::polkadot_parachain_primitives::primitives::HeadData, - // pub processed_downward_messages: ::core::primitive::u32, - // pub hrmp_watermark: _0, - // } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct CandidateDescriptor < _0 > { pub para_id : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , pub relay_parent : _0 , pub collator : runtime_types :: polkadot_primitives :: v5 :: collator_app :: Public , pub persisted_validation_data_hash : runtime_types::primitive_types::H256 , pub pov_hash : runtime_types::primitive_types::H256 , pub erasure_root : runtime_types::primitive_types::H256 , pub signature : runtime_types :: polkadot_primitives :: v5 :: collator_app :: Signature , pub para_head : runtime_types::primitive_types::H256 , pub validation_code_hash : runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCodeHash , } - // #[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)] - // pub enum CandidateEvent<_0> { - // #[codec(index = 0)] - // CandidateBacked( - // runtime_types::polkadot_primitives::v5::CandidateReceipt<_0>, - // runtime_types::polkadot_parachain_primitives::primitives::HeadData, - // runtime_types::polkadot_primitives::v5::CoreIndex, - // runtime_types::polkadot_primitives::v5::GroupIndex, - // ), - // #[codec(index = 1)] - // CandidateIncluded( - // runtime_types::polkadot_primitives::v5::CandidateReceipt<_0>, - // runtime_types::polkadot_parachain_primitives::primitives::HeadData, - // runtime_types::polkadot_primitives::v5::CoreIndex, - // runtime_types::polkadot_primitives::v5::GroupIndex, - // ), - // #[codec(index = 2)] - // CandidateTimedOut( - // runtime_types::polkadot_primitives::v5::CandidateReceipt<_0>, - // runtime_types::polkadot_parachain_primitives::primitives::HeadData, - // runtime_types::polkadot_primitives::v5::CoreIndex, - // ), - // } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct CandidateReceipt<_0> { - pub descriptor: runtime_types::polkadot_primitives::v5::CandidateDescriptor<_0>, - pub commitments_hash: runtime_types::primitive_types::H256, - } - // #[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)] - // pub struct CommittedCandidateReceipt<_0> { - // pub descriptor: runtime_types::polkadot_primitives::v5::CandidateDescriptor<_0>, - // pub commitments: runtime_types::polkadot_primitives::v5::CandidateCommitments< - // ::core::primitive::u32, - // >, - // } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - // :: subxt :: ext :: codec :: CompactAs, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct CoreIndex(pub ::core::primitive::u32); - // #[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)] - // pub enum CoreOccupied<_0> { - // #[codec(index = 0)] - // Free, - // #[codec(index = 1)] - // Paras(runtime_types::polkadot_primitives::v5::ParasEntry<_0>), - // } - // #[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)] - // pub enum CoreState<_0, _1> { - // #[codec(index = 0)] - // Occupied(runtime_types::polkadot_primitives::v5::OccupiedCore<_0, _1>), - // #[codec(index = 1)] - // Scheduled(runtime_types::polkadot_primitives::v5::ScheduledCore), - // #[codec(index = 2)] - // Free, - // } - // #[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::v5::ValidDisputeStatementKind), - // #[codec(index = 1)] - // Invalid(runtime_types::polkadot_primitives::v5::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: ::sp_std::vec::Vec<( - // runtime_types::polkadot_primitives::v5::DisputeStatement, - // runtime_types::polkadot_primitives::v5::ValidatorIndex, - // runtime_types::polkadot_primitives::v5::validator_app::Signature, - // )>, - // } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - // :: subxt :: ext :: codec :: CompactAs, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct GroupIndex(pub ::core::primitive::u32); - // #[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)] - // pub struct GroupRotationInfo<_0> { - // pub session_start_block: _0, - // pub group_rotation_frequency: _0, - // pub now: _0, - // } - // #[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)] - // pub struct IndexedVec<_0, _1>( - // pub ::sp_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: ::sp_std::vec::Vec< - // runtime_types::polkadot_primitives::v5::signed::UncheckedSigned< - // runtime_types::polkadot_primitives::v5::AvailabilityBitfield, - // runtime_types::polkadot_primitives::v5::AvailabilityBitfield, - // >, - // >, - // pub backed_candidates: ::sp_std::vec::Vec< - // runtime_types::polkadot_primitives::v5::BackedCandidate< - // ::subxt::utils::H256, - // >, - // >, - // pub disputes: ::sp_std::vec::Vec< - // runtime_types::polkadot_primitives::v5::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 OccupiedCore<_0, _1> { - // pub next_up_on_available: ::core::option::Option< - // runtime_types::polkadot_primitives::v5::ScheduledCore, - // >, - // pub occupied_since: _1, - // pub time_out_at: _1, - // pub next_up_on_time_out: ::core::option::Option< - // runtime_types::polkadot_primitives::v5::ScheduledCore, - // >, - // pub availability: ::subxt::utils::bits::DecodedBits< - // ::core::primitive::u8, - // ::subxt::utils::bits::Lsb0, - // >, - // pub group_responsible: runtime_types::polkadot_primitives::v5::GroupIndex, - // pub candidate_hash: runtime_types::polkadot_core_primitives::CandidateHash, - // pub candidate_descriptor: - // runtime_types::polkadot_primitives::v5::CandidateDescriptor<_0>, - // } - // #[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)] - // pub enum OccupiedCoreAssumption { - // #[codec(index = 0)] - // Included, - // #[codec(index = 1)] - // TimedOut, - // #[codec(index = 2)] - // Free, - // } - // #[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)] - // pub struct ParasEntry<_0> { - // pub assignment: runtime_types::polkadot_primitives::v5::Assignment, - // pub availability_timeouts: ::core::primitive::u32, - // pub ttl: _0, - // } - // #[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 struct PvfCheckStatement { pub accept : :: core :: primitive :: bool , pub subject : runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCodeHash , pub session_index : :: core :: primitive :: u32 , pub validator_index : runtime_types :: polkadot_primitives :: v5 :: 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 ScheduledCore { - // pub para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, - // pub collator: ::core::option::Option< - // runtime_types::polkadot_primitives::v5::collator_app::Public, - // >, - // } - // #[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)] - // pub struct ScrapedOnChainVotes<_0> { - // pub session: ::core::primitive::u32, - // pub backing_validators_per_candidate: ::sp_std::vec::Vec<( - // runtime_types::polkadot_primitives::v5::CandidateReceipt<_0>, - // ::sp_std::vec::Vec<( - // runtime_types::polkadot_primitives::v5::ValidatorIndex, - // runtime_types::polkadot_primitives::v5::ValidityAttestation, - // )>, - // )>, - // pub disputes: ::sp_std::vec::Vec< - // runtime_types::polkadot_primitives::v5::DisputeStatementSet, - // >, - // } - // #[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)] - // pub struct SessionInfo { - // pub active_validator_indices: - // ::sp_std::vec::Vec, - // pub random_seed: [::core::primitive::u8; 32usize], - // pub dispute_period: ::core::primitive::u32, - // pub validators: runtime_types::polkadot_primitives::v5::IndexedVec< - // runtime_types::polkadot_primitives::v5::ValidatorIndex, - // runtime_types::polkadot_primitives::v5::validator_app::Public, - // >, - // pub discovery_keys: - // ::sp_std::vec::Vec, - // pub assignment_keys: ::sp_std::vec::Vec< - // runtime_types::polkadot_primitives::v5::assignment_app::Public, - // >, - // pub validator_groups: runtime_types::polkadot_primitives::v5::IndexedVec< - // runtime_types::polkadot_primitives::v5::GroupIndex, - // ::sp_std::vec::Vec, - // >, - // 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::v5::validator_app::Signature), - // #[codec(index = 2)] - // Explicit(runtime_types::polkadot_primitives::v5::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, - // } - // #[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)] - // pub struct BackingState<_0, _1> { - // pub constraints: runtime_types::polkadot_primitives::vstaging::Constraints<_1>, - // pub pending_availability: ::sp_std::vec::Vec< - // runtime_types::polkadot_primitives::vstaging::CandidatePendingAvailability< - // _0, - // _1, - // >, - // >, - // } - // #[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)] - // pub struct CandidatePendingAvailability<_0, _1> { - // pub candidate_hash: runtime_types::polkadot_core_primitives::CandidateHash, - // pub descriptor: runtime_types::polkadot_primitives::v5::CandidateDescriptor<_0>, - // pub commitments: - // runtime_types::polkadot_primitives::v5::CandidateCommitments<_1>, - // pub relay_parent_number: _1, - // pub max_pov_size: ::core::primitive::u32, - // } - // #[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)] - // pub struct Constraints < _0 > { pub min_relay_parent_number : _0 , pub max_pov_size : :: core :: primitive :: u32 , pub max_code_size : :: core :: primitive :: u32 , pub ump_remaining : :: core :: primitive :: u32 , pub ump_remaining_bytes : :: core :: primitive :: u32 , pub max_ump_num_per_candidate : :: core :: primitive :: u32 , pub dmp_remaining_messages : :: std :: vec :: Vec < _0 > , pub hrmp_inbound : runtime_types :: polkadot_primitives :: vstaging :: InboundHrmpLimitations < _0 > , pub hrmp_channels_out : :: std :: vec :: Vec < (runtime_types :: polkadot_parachain_primitives :: primitives :: Id , runtime_types :: polkadot_primitives :: vstaging :: OutboundHrmpChannelLimitations ,) > , pub max_hrmp_num_per_candidate : :: core :: primitive :: u32 , pub required_parent : runtime_types :: polkadot_parachain_primitives :: primitives :: HeadData , pub validation_code_hash : runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCodeHash , pub upgrade_restriction : :: core :: option :: Option < runtime_types :: polkadot_primitives :: v5 :: UpgradeRestriction > , pub future_validation_code : :: core :: option :: Option < (_0 , runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCodeHash ,) > , } - // #[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)] - // pub struct InboundHrmpLimitations<_0> { - // pub valid_watermarks: ::sp_std::vec::Vec<_0>, - // } - // #[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)] - // pub struct OutboundHrmpChannelLimitations { - // pub bytes_remaining: ::core::primitive::u32, - // pub messages_remaining: ::core::primitive::u32, - // } - } - } - pub mod sp_core { - use super::runtime_types; - pub mod crypto { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct KeyTypeId(pub [::core::primitive::u8; 4usize]); - } - pub mod ecdsa { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct Public(pub [::core::primitive::u8; 33usize]); - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct Signature(pub [::core::primitive::u8; 65usize]); - } - pub mod ed25519 { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct Public(pub [::core::primitive::u8; 32usize]); - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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, - Eq, - scale_info::TypeInfo, - )] - pub struct VrfSignature { - pub output: [::core::primitive::u8; 32usize], - pub proof: [::core::primitive::u8; 64usize], - } - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct Public(pub [::core::primitive::u8; 32usize]); - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct Signature(pub [::core::primitive::u8; 64usize]); - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct OpaqueMetadata(pub ::sp_std::vec::Vec<::core::primitive::u8>); - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum Void {} - } - pub mod pallet_message_queue { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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 , } , } - } - } - pub mod pallet_xcm { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum Event { - #[codec(index = 0)] - Attempted { outcome: runtime_types::staging_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::staging_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::staging_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: runtime_types::primitive_types::H256, - origin: runtime_types::staging_xcm::v3::multilocation::MultiLocation, - assets: runtime_types::staging_xcm::VersionedMultiAssets, - }, - #[codec(index = 12)] - VersionChangeNotified { - destination: runtime_types::staging_xcm::v3::multilocation::MultiLocation, - result: ::core::primitive::u32, - cost: runtime_types::staging_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::staging_xcm::v3::traits::Error, - }, - #[codec(index = 15)] - NotifyTargetMigrationFail { - location: runtime_types::staging_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::staging_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::staging_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::staging_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::staging_xcm::v3::multiasset::MultiAssets, - }, - #[codec(index = 22)] - AssetsClaimed { - hash: runtime_types::primitive_types::H256, - origin: runtime_types::staging_xcm::v3::multilocation::MultiLocation, - assets: runtime_types::staging_xcm::VersionedMultiAssets, - }, - } - } - } - pub mod staging_xcm { - use super::runtime_types; - pub mod double_encoded { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct DoubleEncoded { - pub encoded: ::sp_std::vec::Vec<::core::primitive::u8>, - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct DoubleEncoded2 { - pub encoded: ::sp_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, - Eq, - scale_info::TypeInfo, - )] - pub enum Junction { - #[codec(index = 0)] - Parachain(#[codec(compact)] ::core::primitive::u32), - #[codec(index = 1)] - AccountId32 { - network: runtime_types::staging_xcm::v2::NetworkId, - id: [::core::primitive::u8; 32usize], - }, - #[codec(index = 2)] - AccountIndex64 { - network: runtime_types::staging_xcm::v2::NetworkId, - #[codec(compact)] - index: ::core::primitive::u64, - }, - #[codec(index = 3)] - AccountKey20 { - network: runtime_types::staging_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::staging_xcm::v2::BodyId, - part: runtime_types::staging_xcm::v2::BodyPart, - }, - } - } - pub mod multiasset { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum AssetId { - #[codec(index = 0)] - Concrete(runtime_types::staging_xcm::v2::multilocation::MultiLocation), - #[codec(index = 1)] - Abstract(::sp_std::vec::Vec<::core::primitive::u8>), - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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(::sp_std::vec::Vec<::core::primitive::u8>), - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum Fungibility { - #[codec(index = 0)] - Fungible(#[codec(compact)] ::core::primitive::u128), - #[codec(index = 1)] - NonFungible(runtime_types::staging_xcm::v2::multiasset::AssetInstance), - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct MultiAsset { - pub id: runtime_types::staging_xcm::v2::multiasset::AssetId, - pub fun: runtime_types::staging_xcm::v2::multiasset::Fungibility, - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum MultiAssetFilter { - #[codec(index = 0)] - Definite(runtime_types::staging_xcm::v2::multiasset::MultiAssets), - #[codec(index = 1)] - Wild(runtime_types::staging_xcm::v2::multiasset::WildMultiAsset), - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct MultiAssets( - pub ::sp_std::vec::Vec< - runtime_types::staging_xcm::v2::multiasset::MultiAsset, - >, - ); - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum WildFungibility { - #[codec(index = 0)] - Fungible, - #[codec(index = 1)] - NonFungible, - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum WildMultiAsset { - #[codec(index = 0)] - All, - #[codec(index = 1)] - AllOf { - id: runtime_types::staging_xcm::v2::multiasset::AssetId, - fun: runtime_types::staging_xcm::v2::multiasset::WildFungibility, - }, - } - } - pub mod multilocation { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum Junctions { - #[codec(index = 0)] - Here, - #[codec(index = 1)] - X1(runtime_types::staging_xcm::v2::junction::Junction), - #[codec(index = 2)] - X2( - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - ), - #[codec(index = 3)] - X3( - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - ), - #[codec(index = 4)] - X4( - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - ), - #[codec(index = 5)] - X5( - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - ), - #[codec(index = 6)] - X6( - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - ), - #[codec(index = 7)] - X7( - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - ), - #[codec(index = 8)] - X8( - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - runtime_types::staging_xcm::v2::junction::Junction, - ), - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct MultiLocation { - pub parents: ::core::primitive::u8, - pub interior: runtime_types::staging_xcm::v2::multilocation::Junctions, - } - } - pub mod traits { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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, - Eq, - scale_info::TypeInfo, - )] - 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, - Eq, - scale_info::TypeInfo, - )] - 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, - Eq, - scale_info::TypeInfo, - )] - pub enum Instruction { - #[codec(index = 0)] - WithdrawAsset(runtime_types::staging_xcm::v2::multiasset::MultiAssets), - #[codec(index = 1)] - ReserveAssetDeposited(runtime_types::staging_xcm::v2::multiasset::MultiAssets), - #[codec(index = 2)] - ReceiveTeleportedAsset(runtime_types::staging_xcm::v2::multiasset::MultiAssets), - #[codec(index = 3)] - QueryResponse { - #[codec(compact)] - query_id: ::core::primitive::u64, - response: runtime_types::staging_xcm::v2::Response, - #[codec(compact)] - max_weight: ::core::primitive::u64, - }, - #[codec(index = 4)] - TransferAsset { - assets: runtime_types::staging_xcm::v2::multiasset::MultiAssets, - beneficiary: runtime_types::staging_xcm::v2::multilocation::MultiLocation, - }, - #[codec(index = 5)] - TransferReserveAsset { - assets: runtime_types::staging_xcm::v2::multiasset::MultiAssets, - dest: runtime_types::staging_xcm::v2::multilocation::MultiLocation, - xcm: runtime_types::staging_xcm::v2::Xcm, - }, - #[codec(index = 6)] - Transact { - origin_type: runtime_types::staging_xcm::v2::OriginKind, - #[codec(compact)] - require_weight_at_most: ::core::primitive::u64, - call: runtime_types::staging_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::v2::multilocation::Junctions), - #[codec(index = 12)] - ReportError { - #[codec(compact)] - query_id: ::core::primitive::u64, - dest: runtime_types::staging_xcm::v2::multilocation::MultiLocation, - #[codec(compact)] - max_response_weight: ::core::primitive::u64, - }, - #[codec(index = 13)] - DepositAsset { - assets: runtime_types::staging_xcm::v2::multiasset::MultiAssetFilter, - #[codec(compact)] - max_assets: ::core::primitive::u32, - beneficiary: runtime_types::staging_xcm::v2::multilocation::MultiLocation, - }, - #[codec(index = 14)] - DepositReserveAsset { - assets: runtime_types::staging_xcm::v2::multiasset::MultiAssetFilter, - #[codec(compact)] - max_assets: ::core::primitive::u32, - dest: runtime_types::staging_xcm::v2::multilocation::MultiLocation, - xcm: runtime_types::staging_xcm::v2::Xcm, - }, - #[codec(index = 15)] - ExchangeAsset { - give: runtime_types::staging_xcm::v2::multiasset::MultiAssetFilter, - receive: runtime_types::staging_xcm::v2::multiasset::MultiAssets, - }, - #[codec(index = 16)] - InitiateReserveWithdraw { - assets: runtime_types::staging_xcm::v2::multiasset::MultiAssetFilter, - reserve: runtime_types::staging_xcm::v2::multilocation::MultiLocation, - xcm: runtime_types::staging_xcm::v2::Xcm, - }, - #[codec(index = 17)] - InitiateTeleport { - assets: runtime_types::staging_xcm::v2::multiasset::MultiAssetFilter, - dest: runtime_types::staging_xcm::v2::multilocation::MultiLocation, - xcm: runtime_types::staging_xcm::v2::Xcm, - }, - #[codec(index = 18)] - QueryHolding { - #[codec(compact)] - query_id: ::core::primitive::u64, - dest: runtime_types::staging_xcm::v2::multilocation::MultiLocation, - assets: runtime_types::staging_xcm::v2::multiasset::MultiAssetFilter, - #[codec(compact)] - max_response_weight: ::core::primitive::u64, - }, - #[codec(index = 19)] - BuyExecution { - fees: runtime_types::staging_xcm::v2::multiasset::MultiAsset, - weight_limit: runtime_types::staging_xcm::v2::WeightLimit, - }, - #[codec(index = 20)] - RefundSurplus, - #[codec(index = 21)] - SetErrorHandler(runtime_types::staging_xcm::v2::Xcm), - #[codec(index = 22)] - SetAppendix(runtime_types::staging_xcm::v2::Xcm), - #[codec(index = 23)] - ClearError, - #[codec(index = 24)] - ClaimAsset { - assets: runtime_types::staging_xcm::v2::multiasset::MultiAssets, - ticket: runtime_types::staging_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, - Eq, - scale_info::TypeInfo, - )] - pub enum Instruction2 { - #[codec(index = 0)] - WithdrawAsset(runtime_types::staging_xcm::v2::multiasset::MultiAssets), - #[codec(index = 1)] - ReserveAssetDeposited(runtime_types::staging_xcm::v2::multiasset::MultiAssets), - #[codec(index = 2)] - ReceiveTeleportedAsset(runtime_types::staging_xcm::v2::multiasset::MultiAssets), - #[codec(index = 3)] - QueryResponse { - #[codec(compact)] - query_id: ::core::primitive::u64, - response: runtime_types::staging_xcm::v2::Response, - #[codec(compact)] - max_weight: ::core::primitive::u64, - }, - #[codec(index = 4)] - TransferAsset { - assets: runtime_types::staging_xcm::v2::multiasset::MultiAssets, - beneficiary: runtime_types::staging_xcm::v2::multilocation::MultiLocation, - }, - #[codec(index = 5)] - TransferReserveAsset { - assets: runtime_types::staging_xcm::v2::multiasset::MultiAssets, - dest: runtime_types::staging_xcm::v2::multilocation::MultiLocation, - xcm: runtime_types::staging_xcm::v2::Xcm, - }, - #[codec(index = 6)] - Transact { - origin_type: runtime_types::staging_xcm::v2::OriginKind, - #[codec(compact)] - require_weight_at_most: ::core::primitive::u64, - call: runtime_types::staging_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::v2::multilocation::Junctions), - #[codec(index = 12)] - ReportError { - #[codec(compact)] - query_id: ::core::primitive::u64, - dest: runtime_types::staging_xcm::v2::multilocation::MultiLocation, - #[codec(compact)] - max_response_weight: ::core::primitive::u64, - }, - #[codec(index = 13)] - DepositAsset { - assets: runtime_types::staging_xcm::v2::multiasset::MultiAssetFilter, - #[codec(compact)] - max_assets: ::core::primitive::u32, - beneficiary: runtime_types::staging_xcm::v2::multilocation::MultiLocation, - }, - #[codec(index = 14)] - DepositReserveAsset { - assets: runtime_types::staging_xcm::v2::multiasset::MultiAssetFilter, - #[codec(compact)] - max_assets: ::core::primitive::u32, - dest: runtime_types::staging_xcm::v2::multilocation::MultiLocation, - xcm: runtime_types::staging_xcm::v2::Xcm, - }, - #[codec(index = 15)] - ExchangeAsset { - give: runtime_types::staging_xcm::v2::multiasset::MultiAssetFilter, - receive: runtime_types::staging_xcm::v2::multiasset::MultiAssets, - }, - #[codec(index = 16)] - InitiateReserveWithdraw { - assets: runtime_types::staging_xcm::v2::multiasset::MultiAssetFilter, - reserve: runtime_types::staging_xcm::v2::multilocation::MultiLocation, - xcm: runtime_types::staging_xcm::v2::Xcm, - }, - #[codec(index = 17)] - InitiateTeleport { - assets: runtime_types::staging_xcm::v2::multiasset::MultiAssetFilter, - dest: runtime_types::staging_xcm::v2::multilocation::MultiLocation, - xcm: runtime_types::staging_xcm::v2::Xcm, - }, - #[codec(index = 18)] - QueryHolding { - #[codec(compact)] - query_id: ::core::primitive::u64, - dest: runtime_types::staging_xcm::v2::multilocation::MultiLocation, - assets: runtime_types::staging_xcm::v2::multiasset::MultiAssetFilter, - #[codec(compact)] - max_response_weight: ::core::primitive::u64, - }, - #[codec(index = 19)] - BuyExecution { - fees: runtime_types::staging_xcm::v2::multiasset::MultiAsset, - weight_limit: runtime_types::staging_xcm::v2::WeightLimit, - }, - #[codec(index = 20)] - RefundSurplus, - #[codec(index = 21)] - SetErrorHandler(runtime_types::staging_xcm::v2::Xcm2), - #[codec(index = 22)] - SetAppendix(runtime_types::staging_xcm::v2::Xcm2), - #[codec(index = 23)] - ClearError, - #[codec(index = 24)] - ClaimAsset { - assets: runtime_types::staging_xcm::v2::multiasset::MultiAssets, - ticket: runtime_types::staging_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, - Eq, - scale_info::TypeInfo, - )] - 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, - Eq, - scale_info::TypeInfo, - )] - 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, - Eq, - scale_info::TypeInfo, - )] - pub enum Response { - #[codec(index = 0)] - Null, - #[codec(index = 1)] - Assets(runtime_types::staging_xcm::v2::multiasset::MultiAssets), - #[codec(index = 2)] - ExecutionResult( - ::core::option::Option<( - ::core::primitive::u32, - runtime_types::staging_xcm::v2::traits::Error, - )>, - ), - #[codec(index = 3)] - Version(::core::primitive::u32), - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum WeightLimit { - #[codec(index = 0)] - Unlimited, - #[codec(index = 1)] - Limited(#[codec(compact)] ::core::primitive::u64), - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct Xcm(pub ::sp_std::vec::Vec); - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct Xcm2( - pub ::sp_std::vec::Vec, - ); - } - pub mod v3 { - use super::runtime_types; - pub mod junction { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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, - Eq, - scale_info::TypeInfo, - )] - 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, - Eq, - scale_info::TypeInfo, - )] - pub enum Junction { - #[codec(index = 0)] - Parachain(#[codec(compact)] ::core::primitive::u32), - #[codec(index = 1)] - AccountId32 { - network: ::core::option::Option< - runtime_types::staging_xcm::v3::junction::NetworkId, - >, - id: [::core::primitive::u8; 32usize], - }, - #[codec(index = 2)] - AccountIndex64 { - network: ::core::option::Option< - runtime_types::staging_xcm::v3::junction::NetworkId, - >, - #[codec(compact)] - index: ::core::primitive::u64, - }, - #[codec(index = 3)] - AccountKey20 { - network: ::core::option::Option< - runtime_types::staging_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::staging_xcm::v3::junction::BodyId, - part: runtime_types::staging_xcm::v3::junction::BodyPart, - }, - #[codec(index = 9)] - GlobalConsensus(runtime_types::staging_xcm::v3::junction::NetworkId), - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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, - Eq, - scale_info::TypeInfo, - )] - pub enum Junctions { - #[codec(index = 0)] - Here, - #[codec(index = 1)] - X1(runtime_types::staging_xcm::v3::junction::Junction), - #[codec(index = 2)] - X2( - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - ), - #[codec(index = 3)] - X3( - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - ), - #[codec(index = 4)] - X4( - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - ), - #[codec(index = 5)] - X5( - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - ), - #[codec(index = 6)] - X6( - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - ), - #[codec(index = 7)] - X7( - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - ), - #[codec(index = 8)] - X8( - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - runtime_types::staging_xcm::v3::junction::Junction, - ), - } - } - pub mod multiasset { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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, - Eq, - scale_info::TypeInfo, - )] - 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, - Eq, - scale_info::TypeInfo, - )] - pub enum Fungibility { - #[codec(index = 0)] - Fungible(#[codec(compact)] ::core::primitive::u128), - #[codec(index = 1)] - NonFungible(runtime_types::staging_xcm::v3::multiasset::AssetInstance), - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct MultiAsset { - pub id: runtime_types::staging_xcm::v3::multiasset::AssetId, - pub fun: runtime_types::staging_xcm::v3::multiasset::Fungibility, - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum MultiAssetFilter { - #[codec(index = 0)] - Definite(runtime_types::staging_xcm::v3::multiasset::MultiAssets), - #[codec(index = 1)] - Wild(runtime_types::staging_xcm::v3::multiasset::WildMultiAsset), - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct MultiAssets( - pub ::sp_std::vec::Vec< - runtime_types::staging_xcm::v3::multiasset::MultiAsset, - >, - ); - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum WildFungibility { - #[codec(index = 0)] - Fungible, - #[codec(index = 1)] - NonFungible, - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum WildMultiAsset { - #[codec(index = 0)] - All, - #[codec(index = 1)] - AllOf { - id: runtime_types::staging_xcm::v3::multiasset::AssetId, - fun: runtime_types::staging_xcm::v3::multiasset::WildFungibility, - }, - #[codec(index = 2)] - AllCounted(#[codec(compact)] ::core::primitive::u32), - #[codec(index = 3)] - AllOfCounted { - id: runtime_types::staging_xcm::v3::multiasset::AssetId, - fun: runtime_types::staging_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, - Eq, - scale_info::TypeInfo, - )] - pub struct MultiLocation { - pub parents: ::core::primitive::u8, - pub interior: runtime_types::staging_xcm::v3::junctions::Junctions, - } - } - - pub mod traits { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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, - Eq, - scale_info::TypeInfo, - )] - pub enum Outcome { - #[codec(index = 0)] - Complete(::sp_weights::Weight), - #[codec(index = 1)] - Incomplete( - ::sp_weights::Weight, - runtime_types::staging_xcm::v3::traits::Error, - ), - #[codec(index = 2)] - Error(runtime_types::staging_xcm::v3::traits::Error), - } - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum Instruction { - #[codec(index = 0)] - WithdrawAsset(runtime_types::staging_xcm::v3::multiasset::MultiAssets), - #[codec(index = 1)] - ReserveAssetDeposited(runtime_types::staging_xcm::v3::multiasset::MultiAssets), - #[codec(index = 2)] - ReceiveTeleportedAsset(runtime_types::staging_xcm::v3::multiasset::MultiAssets), - #[codec(index = 3)] - QueryResponse { - #[codec(compact)] - query_id: ::core::primitive::u64, - response: runtime_types::staging_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::staging_xcm::v3::multiasset::MultiAssets, - beneficiary: runtime_types::staging_xcm::v3::multilocation::MultiLocation, - }, - #[codec(index = 5)] - TransferReserveAsset { - assets: runtime_types::staging_xcm::v3::multiasset::MultiAssets, - dest: runtime_types::staging_xcm::v3::multilocation::MultiLocation, - xcm: runtime_types::staging_xcm::v3::Xcm, - }, - #[codec(index = 6)] - Transact { - origin_kind: runtime_types::staging_xcm::v2::OriginKind, - require_weight_at_most: ::sp_weights::Weight, - call: runtime_types::staging_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::v3::junctions::Junctions), - #[codec(index = 12)] - ReportError(runtime_types::staging_xcm::v3::QueryResponseInfo), - #[codec(index = 13)] - DepositAsset { - assets: runtime_types::staging_xcm::v3::multiasset::MultiAssetFilter, - beneficiary: runtime_types::staging_xcm::v3::multilocation::MultiLocation, - }, - #[codec(index = 14)] - DepositReserveAsset { - assets: runtime_types::staging_xcm::v3::multiasset::MultiAssetFilter, - dest: runtime_types::staging_xcm::v3::multilocation::MultiLocation, - xcm: runtime_types::staging_xcm::v3::Xcm, - }, - #[codec(index = 15)] - ExchangeAsset { - give: runtime_types::staging_xcm::v3::multiasset::MultiAssetFilter, - want: runtime_types::staging_xcm::v3::multiasset::MultiAssets, - maximal: ::core::primitive::bool, - }, - #[codec(index = 16)] - InitiateReserveWithdraw { - assets: runtime_types::staging_xcm::v3::multiasset::MultiAssetFilter, - reserve: runtime_types::staging_xcm::v3::multilocation::MultiLocation, - xcm: runtime_types::staging_xcm::v3::Xcm, - }, - #[codec(index = 17)] - InitiateTeleport { - assets: runtime_types::staging_xcm::v3::multiasset::MultiAssetFilter, - dest: runtime_types::staging_xcm::v3::multilocation::MultiLocation, - xcm: runtime_types::staging_xcm::v3::Xcm, - }, - #[codec(index = 18)] - ReportHolding { - response_info: runtime_types::staging_xcm::v3::QueryResponseInfo, - assets: runtime_types::staging_xcm::v3::multiasset::MultiAssetFilter, - }, - #[codec(index = 19)] - BuyExecution { - fees: runtime_types::staging_xcm::v3::multiasset::MultiAsset, - weight_limit: runtime_types::staging_xcm::v3::WeightLimit, - }, - #[codec(index = 20)] - RefundSurplus, - #[codec(index = 21)] - SetErrorHandler(runtime_types::staging_xcm::v3::Xcm), - #[codec(index = 22)] - SetAppendix(runtime_types::staging_xcm::v3::Xcm), - #[codec(index = 23)] - ClearError, - #[codec(index = 24)] - ClaimAsset { - assets: runtime_types::staging_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::staging_xcm::v3::multiasset::MultiAssets), - #[codec(index = 29)] - ExpectAsset(runtime_types::staging_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::staging_xcm::v3::traits::Error, - )>, - ), - #[codec(index = 32)] - ExpectTransactStatus(runtime_types::staging_xcm::v3::MaybeErrorCode), - #[codec(index = 33)] - QueryPallet { - module_name: ::sp_std::vec::Vec<::core::primitive::u8>, - response_info: runtime_types::staging_xcm::v3::QueryResponseInfo, - }, - #[codec(index = 34)] - ExpectPallet { - #[codec(compact)] - index: ::core::primitive::u32, - name: ::sp_std::vec::Vec<::core::primitive::u8>, - module_name: ::sp_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::v3::QueryResponseInfo), - #[codec(index = 36)] - ClearTransactStatus, - #[codec(index = 37)] - UniversalOrigin(runtime_types::staging_xcm::v3::junction::Junction), - #[codec(index = 38)] - ExportMessage { - network: runtime_types::staging_xcm::v3::junction::NetworkId, - destination: runtime_types::staging_xcm::v3::junctions::Junctions, - xcm: runtime_types::staging_xcm::v3::Xcm, - }, - #[codec(index = 39)] - LockAsset { - asset: runtime_types::staging_xcm::v3::multiasset::MultiAsset, - unlocker: runtime_types::staging_xcm::v3::multilocation::MultiLocation, - }, - #[codec(index = 40)] - UnlockAsset { - asset: runtime_types::staging_xcm::v3::multiasset::MultiAsset, - target: runtime_types::staging_xcm::v3::multilocation::MultiLocation, - }, - #[codec(index = 41)] - NoteUnlockable { - asset: runtime_types::staging_xcm::v3::multiasset::MultiAsset, - owner: runtime_types::staging_xcm::v3::multilocation::MultiLocation, - }, - #[codec(index = 42)] - RequestUnlock { - asset: runtime_types::staging_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::staging_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::staging_xcm::v3::multiasset::MultiAssets), - // #[codec(index = 1)] - // ReserveAssetDeposited(runtime_types::staging_xcm::v3::multiasset::MultiAssets), - // #[codec(index = 2)] - // ReceiveTeleportedAsset(runtime_types::staging_xcm::v3::multiasset::MultiAssets), - // #[codec(index = 3)] - // QueryResponse { - // #[codec(compact)] - // query_id: ::core::primitive::u64, - // response: runtime_types::staging_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::staging_xcm::v3::multiasset::MultiAssets, - // beneficiary: runtime_types::staging_xcm::v3::multilocation::MultiLocation, - // }, - // #[codec(index = 5)] - // TransferReserveAsset { - // assets: runtime_types::staging_xcm::v3::multiasset::MultiAssets, - // dest: runtime_types::staging_xcm::v3::multilocation::MultiLocation, - // xcm: runtime_types::staging_xcm::v3::Xcm, - // }, - // #[codec(index = 6)] - // Transact { - // origin_kind: runtime_types::staging_xcm::v2::OriginKind, - // require_weight_at_most: ::sp_weights::Weight, - // call: runtime_types::staging_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::v3::junctions::Junctions), - // #[codec(index = 12)] - // ReportError(runtime_types::staging_xcm::v3::QueryResponseInfo), - // #[codec(index = 13)] - // DepositAsset { - // assets: runtime_types::staging_xcm::v3::multiasset::MultiAssetFilter, - // beneficiary: runtime_types::staging_xcm::v3::multilocation::MultiLocation, - // }, - // #[codec(index = 14)] - // DepositReserveAsset { - // assets: runtime_types::staging_xcm::v3::multiasset::MultiAssetFilter, - // dest: runtime_types::staging_xcm::v3::multilocation::MultiLocation, - // xcm: runtime_types::staging_xcm::v3::Xcm, - // }, - // #[codec(index = 15)] - // ExchangeAsset { - // give: runtime_types::staging_xcm::v3::multiasset::MultiAssetFilter, - // want: runtime_types::staging_xcm::v3::multiasset::MultiAssets, - // maximal: ::core::primitive::bool, - // }, - // #[codec(index = 16)] - // InitiateReserveWithdraw { - // assets: runtime_types::staging_xcm::v3::multiasset::MultiAssetFilter, - // reserve: runtime_types::staging_xcm::v3::multilocation::MultiLocation, - // xcm: runtime_types::staging_xcm::v3::Xcm, - // }, - // #[codec(index = 17)] - // InitiateTeleport { - // assets: runtime_types::staging_xcm::v3::multiasset::MultiAssetFilter, - // dest: runtime_types::staging_xcm::v3::multilocation::MultiLocation, - // xcm: runtime_types::staging_xcm::v3::Xcm, - // }, - // #[codec(index = 18)] - // ReportHolding { - // response_info: runtime_types::staging_xcm::v3::QueryResponseInfo, - // assets: runtime_types::staging_xcm::v3::multiasset::MultiAssetFilter, - // }, - // #[codec(index = 19)] - // BuyExecution { - // fees: runtime_types::staging_xcm::v3::multiasset::MultiAsset, - // weight_limit: runtime_types::staging_xcm::v3::WeightLimit, - // }, - // #[codec(index = 20)] - // RefundSurplus, - // #[codec(index = 21)] - // SetErrorHandler(runtime_types::staging_xcm::v3::Xcm2), - // #[codec(index = 22)] - // SetAppendix(runtime_types::staging_xcm::v3::Xcm2), - // #[codec(index = 23)] - // ClearError, - // #[codec(index = 24)] - // ClaimAsset { - // assets: runtime_types::staging_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::staging_xcm::v3::multiasset::MultiAssets), - // #[codec(index = 29)] - // ExpectAsset(runtime_types::staging_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::staging_xcm::v3::traits::Error, - // )>, - // ), - // #[codec(index = 32)] - // ExpectTransactStatus(runtime_types::staging_xcm::v3::MaybeErrorCode), - // #[codec(index = 33)] - // QueryPallet { - // module_name: ::sp_std::vec::Vec<::core::primitive::u8>, - // response_info: runtime_types::staging_xcm::v3::QueryResponseInfo, - // }, - // #[codec(index = 34)] - // ExpectPallet { - // #[codec(compact)] - // index: ::core::primitive::u32, - // name: ::sp_std::vec::Vec<::core::primitive::u8>, - // module_name: ::sp_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::v3::QueryResponseInfo), - // #[codec(index = 36)] - // ClearTransactStatus, - // #[codec(index = 37)] - // UniversalOrigin(runtime_types::staging_xcm::v3::junction::Junction), - // #[codec(index = 38)] - // ExportMessage { - // network: runtime_types::staging_xcm::v3::junction::NetworkId, - // destination: runtime_types::staging_xcm::v3::junctions::Junctions, - // xcm: runtime_types::staging_xcm::v3::Xcm, - // }, - // #[codec(index = 39)] - // LockAsset { - // asset: runtime_types::staging_xcm::v3::multiasset::MultiAsset, - // unlocker: runtime_types::staging_xcm::v3::multilocation::MultiLocation, - // }, - // #[codec(index = 40)] - // UnlockAsset { - // asset: runtime_types::staging_xcm::v3::multiasset::MultiAsset, - // target: runtime_types::staging_xcm::v3::multilocation::MultiLocation, - // }, - // #[codec(index = 41)] - // NoteUnlockable { - // asset: runtime_types::staging_xcm::v3::multiasset::MultiAsset, - // owner: runtime_types::staging_xcm::v3::multilocation::MultiLocation, - // }, - // #[codec(index = 42)] - // RequestUnlock { - // asset: runtime_types::staging_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::staging_xcm::v3::WeightLimit, - // check_origin: ::core::option::Option< - // runtime_types::staging_xcm::v3::multilocation::MultiLocation, - // >, - // }, - // } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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, - Eq, - scale_info::TypeInfo, - )] - 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, - Eq, - scale_info::TypeInfo, - )] - 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, - Eq, - scale_info::TypeInfo, - )] - pub enum Response { - #[codec(index = 0)] - Null, - #[codec(index = 1)] - Assets(runtime_types::staging_xcm::v3::multiasset::MultiAssets), - #[codec(index = 2)] - ExecutionResult( - ::core::option::Option<( - ::core::primitive::u32, - runtime_types::staging_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::v3::PalletInfo, - >, - ), - #[codec(index = 5)] - DispatchResult(runtime_types::staging_xcm::v3::MaybeErrorCode), - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum WeightLimit { - #[codec(index = 0)] - Unlimited, - #[codec(index = 1)] - Limited(::sp_weights::Weight), - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct Xcm(pub ::sp_std::vec::Vec); - // #[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)] - // pub struct Xcm2(pub ::sp_std::vec::Vec); - } - // #[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)] - // pub enum VersionedAssetId { - // #[codec(index = 3)] - // V3(runtime_types::staging_xcm::v3::multiasset::AssetId), - // } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum VersionedMultiAssets { - #[codec(index = 1)] - V2(runtime_types::staging_xcm::v2::multiasset::MultiAssets), - #[codec(index = 3)] - V3(runtime_types::staging_xcm::v3::multiasset::MultiAssets), - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum VersionedMultiLocation { - #[codec(index = 1)] - V2(runtime_types::staging_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::staging_xcm::v2::Response), - // #[codec(index = 3)] - // V3(runtime_types::staging_xcm::v3::Response), - // } - // #[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)] - // pub enum VersionedXcm { - // #[codec(index = 2)] - // V2(runtime_types::staging_xcm::v2::Xcm), - // #[codec(index = 3)] - // V3(runtime_types::staging_xcm::v3::Xcm), - // } - // #[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)] - // pub enum VersionedXcm2 { - // #[codec(index = 2)] - // V2(runtime_types::staging_xcm::v2::Xcm2), - // #[codec(index = 3)] - // V3(runtime_types::staging_xcm::v3::Xcm2), - // } - } - - 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, - Eq, - scale_info::TypeInfo, - )] - pub enum Event { - #[codec(index = 0)] - PermanentSlotAssigned( - runtime_types::polkadot_parachain_primitives::primitives::Id, - ), - #[codec(index = 1)] - TemporarySlotAssigned( - runtime_types::polkadot_parachain_primitives::primitives::Id, - ), - #[codec(index = 2)] - MaxPermanentSlotsChanged { slots: ::core::primitive::u32 }, - #[codec(index = 3)] - MaxTemporarySlotsChanged { slots: ::core::primitive::u32 }, - } - } - } - pub mod auctions { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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::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::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, - Eq, - scale_info::TypeInfo, - )] - 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, - Eq, - scale_info::TypeInfo, - )] - pub struct EthereumAddress(pub [::core::primitive::u8; 20usize]); - } - pub mod crowdloan { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum Event { - #[codec(index = 0)] - Created { - para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, - }, - #[codec(index = 1)] - Contributed { - who: ::sp_core::crypto::AccountId32, - fund_index: - runtime_types::polkadot_parachain_primitives::primitives::Id, - amount: ::core::primitive::u128, - }, - #[codec(index = 2)] - Withdrew { - who: ::sp_core::crypto::AccountId32, - fund_index: - runtime_types::polkadot_parachain_primitives::primitives::Id, - amount: ::core::primitive::u128, - }, - #[codec(index = 3)] - PartiallyRefunded { - para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, - }, - #[codec(index = 4)] - AllRefunded { - para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, - }, - #[codec(index = 5)] - Dissolved { - para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, - }, - #[codec(index = 6)] - HandleBidResult { - para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, - result: ::core::result::Result< - (), - runtime_types::sp_runtime::DispatchError, - >, - }, - #[codec(index = 7)] - Edited { - para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, - }, - #[codec(index = 8)] - MemoUpdated { - who: ::sp_core::crypto::AccountId32, - para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, - memo: ::sp_std::vec::Vec<::core::primitive::u8>, - }, - #[codec(index = 9)] - AddedToNewRaise { - para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, - }, - } - } - } - pub mod paras_registrar { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum Event { - #[codec(index = 0)] - Registered { - para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, - manager: ::sp_core::crypto::AccountId32, - }, - #[codec(index = 1)] - Deregistered { - para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, - }, - #[codec(index = 2)] - Reserved { - para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, - who: ::sp_core::crypto::AccountId32, - }, - #[codec(index = 3)] - Swapped { - para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, - other_id: runtime_types::polkadot_parachain_primitives::primitives::Id, - }, - } - } - } - pub mod slots { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum Event { - #[codec(index = 0)] - NewLeasePeriod { lease_period: ::core::primitive::u32 }, - #[codec(index = 1)] - Leased { - para_id: runtime_types::polkadot_parachain_primitives::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 pallet_state_trie_migration { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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, - Eq, - scale_info::TypeInfo, - )] - 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, - Eq, - scale_info::TypeInfo, - )] - pub enum MigrationCompute { - #[codec(index = 0)] - Signed, - #[codec(index = 1)] - Auto, - } - } - } - pub mod bounded_collections { - use super::runtime_types; - pub mod bounded_vec { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct BoundedVec<_0>(pub ::sp_std::vec::Vec<_0>); - } - pub mod weak_bounded_vec { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct WeakBoundedVec<_0>(pub ::sp_std::vec::Vec<_0>); - } - } - pub mod primitive_types { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct H256(pub [::core::primitive::u8; 32usize]); - } - pub mod frame_system { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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: runtime_types::primitive_types::H256, - }, - } - } - } - pub mod frame_support { - use super::runtime_types; - pub mod dispatch { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum DispatchClass { - #[codec(index = 0)] - Normal, - #[codec(index = 1)] - Operational, - #[codec(index = 2)] - Mandatory, - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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, - Eq, - scale_info::TypeInfo, - )] - pub enum Pays { - #[codec(index = 0)] - Yes, - #[codec(index = 1)] - No, - } - } - pub mod traits { - use super::runtime_types; - pub mod messages { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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, - Eq, - scale_info::TypeInfo, - )] - pub enum BalanceStatus { - #[codec(index = 0)] - Free, - #[codec(index = 1)] - Reserved, - } - } - } - } - } - pub mod pallet_balances { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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 }, - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum Event2 { - #[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 polkadot_runtime_parachains { - use super::runtime_types; - pub mod assigner_on_demand { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum Event { - #[codec(index = 0)] - OnDemandOrderPlaced { - para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, - spot_price: ::core::primitive::u128, - }, - #[codec(index = 1)] - SpotTrafficSet { - traffic: runtime_types::sp_arithmetic::fixed_point::FixedU128, - }, - } - } - } - pub mod inclusion { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum Event { - #[codec(index = 0)] - CandidateBacked( - runtime_types::polkadot_primitives::v5::CandidateReceipt< - runtime_types::primitive_types::H256, - >, - runtime_types::polkadot_parachain_primitives::primitives::HeadData, - runtime_types::polkadot_primitives::v5::CoreIndex, - runtime_types::polkadot_primitives::v5::GroupIndex, - ), - #[codec(index = 1)] - CandidateIncluded( - runtime_types::polkadot_primitives::v5::CandidateReceipt< - runtime_types::primitive_types::H256, - >, - runtime_types::polkadot_parachain_primitives::primitives::HeadData, - runtime_types::polkadot_primitives::v5::CoreIndex, - runtime_types::polkadot_primitives::v5::GroupIndex, - ), - #[codec(index = 2)] - CandidateTimedOut( - runtime_types::polkadot_primitives::v5::CandidateReceipt< - runtime_types::primitive_types::H256, - >, - runtime_types::polkadot_parachain_primitives::primitives::HeadData, - runtime_types::polkadot_primitives::v5::CoreIndex, - ), - #[codec(index = 3)] - UpwardMessagesReceived { - from: runtime_types::polkadot_parachain_primitives::primitives::Id, - count: ::core::primitive::u32, - }, - } - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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::v5::AvailabilityBitfield, - // pub submitted_at: _0, - // } - // #[derive(:: codec :: Decode, :: codec :: Encode, Clone, Debug, PartialEq)] - // pub struct CandidatePendingAvailability<_0, _1> { - // pub core: runtime_types::polkadot_primitives::v5::CoreIndex, - // pub hash: runtime_types::polkadot_core_primitives::CandidateHash, - // pub descriptor: runtime_types::polkadot_primitives::v5::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::v5::GroupIndex, - // } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum UmpQueueId { - #[codec(index = 0)] - Para(runtime_types::polkadot_parachain_primitives::primitives::Id), - } - } - pub mod paras { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum Event { - # [codec (index = 0)] CurrentCodeUpdated (runtime_types :: polkadot_parachain_primitives :: primitives :: Id ,) , # [codec (index = 1)] CurrentHeadUpdated (runtime_types :: polkadot_parachain_primitives :: primitives :: Id ,) , # [codec (index = 2)] CodeUpgradeScheduled (runtime_types :: polkadot_parachain_primitives :: primitives :: Id ,) , # [codec (index = 3)] NewHeadNoted (runtime_types :: polkadot_parachain_primitives :: primitives :: Id ,) , # [codec (index = 4)] ActionQueued (runtime_types :: polkadot_parachain_primitives :: primitives :: Id , :: core :: primitive :: u32 ,) , # [codec (index = 5)] PvfCheckStarted (runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCodeHash , runtime_types :: polkadot_parachain_primitives :: primitives :: Id ,) , # [codec (index = 6)] PvfCheckAccepted (runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCodeHash , runtime_types :: polkadot_parachain_primitives :: primitives :: Id ,) , # [codec (index = 7)] PvfCheckRejected (runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCodeHash , runtime_types :: polkadot_parachain_primitives :: primitives :: Id ,) , } - } - } - pub mod hrmp { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum Event { - #[codec(index = 0)] - OpenChannelRequested( - runtime_types::polkadot_parachain_primitives::primitives::Id, - runtime_types::polkadot_parachain_primitives::primitives::Id, - ::core::primitive::u32, - ::core::primitive::u32, - ), - #[codec(index = 1)] - OpenChannelCanceled( - runtime_types::polkadot_parachain_primitives::primitives::Id, - runtime_types::polkadot_parachain_primitives::primitives::HrmpChannelId, - ), - #[codec(index = 2)] - OpenChannelAccepted( - runtime_types::polkadot_parachain_primitives::primitives::Id, - runtime_types::polkadot_parachain_primitives::primitives::Id, - ), - #[codec(index = 3)] - ChannelClosed( - runtime_types::polkadot_parachain_primitives::primitives::Id, - runtime_types::polkadot_parachain_primitives::primitives::HrmpChannelId, - ), - #[codec(index = 4)] - HrmpChannelForceOpened( - runtime_types::polkadot_parachain_primitives::primitives::Id, - runtime_types::polkadot_parachain_primitives::primitives::Id, - ::core::primitive::u32, - ::core::primitive::u32, - ), - } - } - } - pub mod disputes { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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), - } - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum DisputeLocation { - #[codec(index = 0)] - Local, - #[codec(index = 1)] - Remote, - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum DisputeResult { - #[codec(index = 0)] - Valid, - #[codec(index = 1)] - Invalid, - } - } - } - pub mod polkadot_parachain_primitives { - use super::runtime_types; - pub mod primitives { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct HeadData(pub ::sp_std::vec::Vec<::core::primitive::u8>); - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct HrmpChannelId { - pub sender: runtime_types::polkadot_parachain_primitives::primitives::Id, - pub recipient: runtime_types::polkadot_parachain_primitives::primitives::Id, - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - // :: subxt :: ext :: codec :: CompactAs, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct Id(pub ::core::primitive::u32); - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct ValidationCode(pub ::sp_std::vec::Vec<::core::primitive::u8>); - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct ValidationCodeHash(pub runtime_types::primitive_types::H256); - } - } - pub mod pallet_sudo { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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 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, - Eq, - scale_info::TypeInfo, - )] - 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, - Eq, - scale_info::TypeInfo, - )] - pub struct Perbill(pub ::core::primitive::u32); - #[derive( - :: codec :: Decode, - :: codec :: Encode, - // :: subxt :: ext :: codec :: CompactAs, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct Percent(pub ::core::primitive::u8); - #[derive( - :: codec :: Decode, - :: codec :: Encode, - // :: subxt :: ext :: codec :: CompactAs, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct Permill(pub ::core::primitive::u32); - #[derive( - :: codec :: Decode, - :: codec :: Encode, - // :: subxt :: ext :: codec :: CompactAs, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub struct Perquintill(pub ::core::primitive::u64); - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - pub enum ArithmeticError { - #[codec(index = 0)] - Underflow, - #[codec(index = 1)] - Overflow, - #[codec(index = 2)] - DivisionByZero, - } - } - pub mod sp_runtime { - use super::runtime_types; - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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, - Eq, - scale_info::TypeInfo, - )] - pub struct ModuleError { - pub index: ::core::primitive::u8, - pub error: [::core::primitive::u8; 4usize], - } - #[derive( - :: codec :: Decode, - :: codec :: Encode, - Clone, - Debug, - PartialEq, - Eq, - scale_info::TypeInfo, - )] - 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, - Eq, - scale_info::TypeInfo, - )] - pub enum TransactionalError { - #[codec(index = 0)] - LimitReached, - #[codec(index = 1)] - NoLayer, - } - } - } -} diff --git a/primitives/order/src/well_known_keys.rs b/primitives/order/src/well_known_keys.rs deleted file mode 100644 index a1a4424..0000000 --- a/primitives/order/src/well_known_keys.rs +++ /dev/null @@ -1,91 +0,0 @@ -// Copyright (C) Magnet. -// This file is part of Magnet. - -// Magnet 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. - -// Magnet 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 Magnet. If not, see . - -//! Keys of well known. -#![cfg_attr(not(feature = "std"), no_std)] - -use cumulus_primitives_core::relay_chain::CoreIndex; -use { - cumulus_primitives_core::ParaId, - pallet_broker::RegionId, - sp_core::Encode, - sp_io::hashing::{blake2_128, twox_256, twox_64}, - sp_std::vec::Vec, -}; - -pub const PARAS_PARA_LIFECYCLES: &[u8] = - &hex_literal::hex!["cd710b30bd2eab0352ddcc26417aa194281e0bfde17b36573208a06cb5cfba6b"]; - -// Paras pallet storage ParaLifecycles -pub fn paras_para_lifecycles(para_id: ParaId) -> Vec { - para_id.using_encoded(|para_id: &[u8]| { - PARAS_PARA_LIFECYCLES - .iter() - .chain(twox_64(para_id).iter()) - .chain(para_id.iter()) - .cloned() - .collect() - }) -} - -/// System pallet -pub const SYSTEM_BLOCKHASH: &[u8] = &hex_literal::hex![ - "26aa394eea5630e07c48ae0c9558cef7a44704b568d21667356a5a050c118746b4def25cfda6ef3a00000000" -]; - -pub const SYSTEM_ACCOUNT: &[u8] = - &hex_literal::hex!["26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9"]; - -pub const SYSTEM_EVENTS: &[u8] = - &hex_literal::hex!["26aa394eea5630e07c48ae0c9558cef780d41e5e16056765bc8461851072c9d7"]; - -//OnDemandAssignmentProvider OnDemandQueue -pub const ON_DEMAND_QUEUE: &[u8] = - &hex_literal::hex!["8f32430b49607f8d60bfd3a003ddf4b53f35b69d817556cf6b886e5b4f01fbdc"]; - -//OnDemandAssignmentProvider SpotTraffic -pub const SPOT_TRAFFIC: &[u8] = - &hex_literal::hex!["8f32430b49607f8d60bfd3a003ddf4b5c9308a8e0e640735727536bd9069b11e"]; - -//Configuration ActiveConfig -pub const ACTIVE_CONFIG: &[u8] = - &hex_literal::hex!["06de3d8a54d27e44a9d5ce189618f22db4b49d95320d9021994c850f25b8e385"]; - -pub const CORE_DESCRIPTORS: &[u8] = - &hex_literal::hex!["638595eebaa445ce03a13547bece90e704e6ac775a3245623103ffec2cb2c92f"]; - -/// assigner coretime storage CoreDescriptors -pub fn paras_core_descriptors(core_index: CoreIndex) -> Vec { - core_index.using_encoded(|core_index: &[u8]| { - CORE_DESCRIPTORS.iter().chain(twox_256(core_index).iter()).cloned().collect() - }) -} - -// XXHash a String:Broker Regions -pub const REGIONS: &[u8] = - &hex_literal::hex!["4dcb50595177a3177648411a42aca0f53dc63b0b76ffd6f80704a090da6f8719"]; - -/// assigner coretime storage CoreDescriptors -pub fn broker_regions(region_id: RegionId) -> Vec { - region_id.using_encoded(|core_index: &[u8]| { - REGIONS - .iter() - .chain(blake2_128(core_index).iter()) - .chain(core_index.iter()) - .cloned() - .collect() - }) -} diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index 9c8c7ed..e4abff8 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -27,12 +27,11 @@ pallet-assets-bridge = { path = "../pallets/assets-bridge", default-features = f pallet-evm-utils = { path = "../pallets/evm-utils", default-features = false } pallet-precompile-substrate-utils = { path = "../pallets/evm/precompile/substrate-utils", default-features = false } pallet-precompile-transfer-to-magnet = { path = "../pallets/evm/precompile/transfer-to-magnet", default-features = false } -pallet-order = { path = "../pallets/order", default-features = false } -magnet-primitives-order = { path = "../primitives/order", default-features = false } pallet-pot = { path = "../pallets/pot", default-features = false } pallet-pot-runtime-api = { path = "../pallets/pot/runtime-api", default-features = false } pallet-assurance = { path = "../pallets/assurance", default-features = false } pallet-liquidation = {path = "../pallets/liquidation", default-features = false} +pallet-bulk = { path = "../pallets/bulk", default-features = false } # Substrate frame-benchmarking = { workspace = true, default-features = false, optional = true} @@ -191,8 +190,6 @@ std = [ "pallet-evm-utils/std", "pallet-precompile-substrate-utils/std", "pallet-precompile-transfer-to-magnet/std", - "magnet-primitives-order/std", - "pallet-order/std", "sp-trie/std", "cumulus-primitives-timestamp/std", "pallet-liquidation/std", @@ -206,7 +203,8 @@ std = [ "pallet-ranked-collective/std", "pallet-scheduler/std", "pallet-insecure-randomness-collective-flip/std", - "pallet-contracts/std", + "pallet-contracts/std", + "pallet-bulk/std", ] runtime-benchmarks = [ @@ -232,7 +230,7 @@ runtime-benchmarks = [ "pallet-evm-utils/runtime-benchmarks", "pallet-precompile-substrate-utils/runtime-benchmarks", "pallet-precompile-transfer-to-magnet/runtime-benchmarks", - "pallet-order/runtime-benchmarks", +# "pallet-order/runtime-benchmarks", "pallet-collective/runtime-benchmarks", "pallet-society/runtime-benchmarks", "pallet-evm/runtime-benchmarks", @@ -277,7 +275,6 @@ try-runtime = [ "pallet-evm-utils/try-runtime", "pallet-precompile-substrate-utils/try-runtime", "pallet-precompile-transfer-to-magnet/try-runtime", - "pallet-order/try-runtime", "pallet-liquidation/try-runtime", "pallet-assets/try-runtime", "pallet-assets-bridge/try-runtime", diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index ce93b1b..ecf8d83 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -86,7 +86,8 @@ use weights::{BlockExecutionWeight, ExtrinsicBaseWeight}; // XCM Imports use cumulus_primitives_core::{AggregateMessageOrigin, ParaId, PersistedValidationData}; -pub use pallet_order::{self, OrderGasCost}; +pub use pallet_bulk; +// pub use pallet_order::{self, OrderGasCost}; use xcm::latest::prelude::{ Asset as MultiAsset, BodyId, InteriorLocation as InteriorMultiLocation, Junction::PalletInstance, Location as MultiLocation, @@ -333,7 +334,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { /// up by `pallet_aura` to implement `fn slot_duration()`. /// /// Change this to adjust the block time. -pub const MILLISECS_PER_BLOCK: u64 = 12000; +pub const MILLISECS_PER_BLOCK: u64 = 6000; pub const WEIGHT_MILLISECS_PER_BLOCK: u64 = 2000; // NOTE: Currently it is not possible to change the slot duration after the chain has started. @@ -689,52 +690,60 @@ impl pallet_collator_selection::Config for Runtime { type WeightInfo = (); } -pub struct OrderGasCostHandler(); - -impl OrderGasCost for OrderGasCostHandler -where - T: pallet_order::Config, - T::AccountId: From<[u8; 32]>, -{ - fn gas_cost( - block_number: BlockNumberFor, - ) -> Result, sp_runtime::DispatchError> { - let sequece_number = >::block_2_sequence(block_number); - if sequece_number.is_none() { - return Ok(None); - } - let order = >::order_map( - sequece_number.ok_or(sp_runtime::DispatchError::Other("sequece_number is none"))?, - ) - .ok_or(sp_runtime::DispatchError::Other("Not exist order"))?; - let mut r = [0u8; 32]; - r.copy_from_slice(order.orderer.encode().as_slice()); - let account = T::AccountId::try_from(r) - .map_err(|_| sp_runtime::DispatchError::Other("Account error"))?; - Ok(Some((account, order.price))) - } -} - -parameter_types! { - pub const SlotWidth: u32 = 2; - pub const OrderMaxAmount:Balance = 200000000; - pub const TxPoolThreshold:Balance = 3000000000; -} +// pub struct OrderGasCostHandler(); + +// impl OrderGasCost for OrderGasCostHandler +// where +// T: pallet_order::Config, +// T::AccountId: From<[u8; 32]>, +// { +// fn gas_cost( +// block_number: BlockNumberFor, +// ) -> Result, sp_runtime::DispatchError> { +// let sequece_number = >::block_2_sequence(block_number); +// if sequece_number.is_none() { +// return Ok(None); +// } +// let order = >::order_map( +// sequece_number.ok_or(sp_runtime::DispatchError::Other("sequece_number is none"))?, +// ) +// .ok_or(sp_runtime::DispatchError::Other("Not exist order"))?; +// let mut r = [0u8; 32]; +// r.copy_from_slice(order.orderer.encode().as_slice()); +// let account = T::AccountId::try_from(r) +// .map_err(|_| sp_runtime::DispatchError::Other("Account error"))?; +// Ok(Some((account, order.price))) +// } +// } + +// parameter_types! { +// pub const SlotWidth: u32 = 2; +// pub const OrderMaxAmount:Balance = 200000000; +// pub const TxPoolThreshold:Balance = 3000000000; +// } type EnsureRootOrHalf = EitherOfDiverse< EnsureRoot, pallet_collective::EnsureProportionMoreThan, >; -impl pallet_order::Config for Runtime { +// impl pallet_order::Config for Runtime { +// type RuntimeEvent = RuntimeEvent; +// type AuthorityId = AuraId; +// type Currency = Balances; +// type UpdateOrigin = EnsureRootOrHalf; +// type OrderMaxAmount = OrderMaxAmount; +// type SlotWidth = SlotWidth; +// type TxPoolThreshold = TxPoolThreshold; +// type WeightInfo = pallet_order::weights::SubstrateWeight; +// } + +impl pallet_bulk::Config for Runtime { type RuntimeEvent = RuntimeEvent; type AuthorityId = AuraId; type Currency = Balances; type UpdateOrigin = EnsureRootOrHalf; - type OrderMaxAmount = OrderMaxAmount; - type SlotWidth = SlotWidth; - type TxPoolThreshold = TxPoolThreshold; - type WeightInfo = pallet_order::weights::SubstrateWeight; + type WeightInfo = (); } parameter_types! { @@ -970,7 +979,7 @@ impl pallet_liquidation::Config for Runtime { type Currency = Balances; type XcmSender = xcm_config::XcmRouter; type WeightToFee = WeightToFee; - type OrderGasCost = OrderGasCostHandler; + type OrderGasCost = (); type SystemRatio = SystemRatio; type TreasuryRatio = TreasuryRatio; type OperationRatio = OperationRatio; @@ -1167,7 +1176,7 @@ construct_runtime!( HotfixSufficients: pallet_hotfix_sufficients = 45, //Magnet - OrderPallet: pallet_order = 51, + // OrderPallet: pallet_order = 51, EVMUtils: pallet_evm_utils = 60, Pot: pallet_pot = 61, Assurance: pallet_assurance = 62, @@ -1176,6 +1185,7 @@ construct_runtime!( //Contracts RandomnessCollectiveFlip: pallet_insecure_randomness_collective_flip = 70, Contracts: pallet_contracts = 71, + BulkPallet: pallet_bulk = 72, } ); @@ -1189,7 +1199,7 @@ mod benches { [pallet_sudo, Sudo] [pallet_collator_selection, CollatorSelection] [cumulus_pallet_xcmp_queue, XcmpQueue] - [pallet_order, OrderPallet] + // [pallet_order, OrderPallet] ); } @@ -1537,39 +1547,39 @@ impl_runtime_apis! { ParachainSystem::collect_collation_info(header) } } - impl magnet_primitives_order::OrderRuntimeApi for Runtime { - - fn slot_width()-> u32{ - OrderPallet::slot_width() - } - fn order_max_amount() -> Balance { - OrderPallet::order_max_amount() - } - fn sequence_number()-> u64 { - OrderPallet::sequence_number() - } - - fn current_relay_height()-> u32 { - OrderPallet::current_relay_height() - } - - fn order_placed( - relay_storage_proof: sp_trie::StorageProof, - validation_data: PersistedValidationData, - para_id:ParaId, - )-> Option { - OrderPallet::order_placed(relay_storage_proof, validation_data, para_id) - } - - fn reach_txpool_threshold(gas_balance:Balance) -> bool { - OrderPallet::reach_txpool_threshold(gas_balance) - } - - - fn order_executed(sequence_number:u64) -> bool { - OrderPallet::order_executed(sequence_number) - } - } + // impl magnet_primitives_order::OrderRuntimeApi for Runtime { + + // fn slot_width()-> u32{ + // OrderPallet::slot_width() + // } + // fn order_max_amount() -> Balance { + // OrderPallet::order_max_amount() + // } + // fn sequence_number()-> u64 { + // OrderPallet::sequence_number() + // } + + // fn current_relay_height()-> u32 { + // OrderPallet::current_relay_height() + // } + + // fn order_placed( + // relay_storage_proof: sp_trie::StorageProof, + // validation_data: PersistedValidationData, + // para_id:ParaId, + // )-> Option { + // OrderPallet::order_placed(relay_storage_proof, validation_data, para_id) + // } + + // fn reach_txpool_threshold(gas_balance:Balance) -> bool { + // OrderPallet::reach_txpool_threshold(gas_balance) + // } + + + // fn order_executed(sequence_number:u64) -> bool { + // OrderPallet::order_executed(sequence_number) + // } + // } impl mp_system::OnRelayChainApi for Runtime { fn on_relaychain(block_number: u32) -> i32 { From c7b73ea4b723ea1a2de818e338505f72e443dd83 Mon Sep 17 00:00:00 2001 From: sulijia <984115358@qq.com> Date: Tue, 25 Jun 2024 21:32:20 +0800 Subject: [PATCH 07/22] feat:Randomly select a collator to listen to events --- client/coretime/bulk/src/lib.rs | 78 +++++++++++++++++++++++------ client/coretime/common/src/lib.rs | 24 +++++++++ node/src/service.rs | 6 ++- primitives/coretime/bulk/src/lib.rs | 2 + 4 files changed, 92 insertions(+), 18 deletions(-) diff --git a/client/coretime/bulk/src/lib.rs b/client/coretime/bulk/src/lib.rs index fd5deb8..2f04325 100644 --- a/client/coretime/bulk/src/lib.rs +++ b/client/coretime/bulk/src/lib.rs @@ -13,7 +13,6 @@ // You should have received a copy of the GNU General Public License // along with Magnet. If not, see . -use cumulus_primitives_core::BlockT; use cumulus_primitives_core::ParaId; use cumulus_relay_chain_interface::RelayChainInterface; use polkadot_primitives::AccountId; @@ -26,6 +25,7 @@ use std::error::Error; use std::sync::Arc; mod metadata; use codec::{Codec, Decode}; +use cumulus_primitives_core::relay_chain::BlockNumber as RelayBlockNumber; use dp_chain_state_snapshot::GenericStateProof; use futures::{lock::Mutex, pin_mut, select, FutureExt, Stream, StreamExt}; use mc_coretime_common::is_parathread; @@ -36,10 +36,12 @@ use mp_coretime_bulk::{self, well_known_keys::broker_regions}; use pallet_broker::RegionRecord; use pallet_broker::{CoreMask, RegionId}; use sp_application_crypto::AppPublic; +use sp_consensus_aura::AuraApi; use sp_core::{crypto::Pair, H256}; +use sp_keystore::KeystorePtr; use sp_runtime::{ codec::Encode, - traits::{AtLeast32BitUnsigned, Header as HeaderT, MaybeDisplay, Member}, + traits::{AtLeast32BitUnsigned, Block as BlockT, Header as HeaderT, MaybeDisplay, Member}, }; use sp_state_machine::StorageProof; use sp_storage::StorageKey; @@ -61,30 +63,57 @@ fn u8_array_to_u128(array: [u8; 10]) -> u128 { result } -pub async fn coretime_bulk_task( +pub async fn coretime_bulk_task( + parachain: &P, relay_chain: R, + height: RelayBlockNumber, p_hash: H256, para_id: ParaId, bulk_record: Arc>, + keystore: KeystorePtr, ) -> Result<(), Box> where + Block: BlockT, + P: ProvideRuntimeApi + UsageProvider, R: RelayChainInterface + Clone, + P::Api: AuraApi, + PB: Pair + 'static, + PB::Public: AppPublic + Member + Codec, + PB::Signature: TryFrom> + Member + Codec, { // Determine whether it is a parathread let parathread = is_parathread(relay_chain, p_hash, para_id).await?; if !parathread { return Ok(()); } - // Query CoreAssigned Event + + // Randomly select a collator to perform the following operations. + let hash = parachain.usage_info().chain.finalized_hash; + let authorities = parachain.runtime_api().authorities(hash).map_err(Box::new)?; + let auth_len = authorities.len() as u32; + let idx = height % auth_len; + let collator_public = mc_coretime_common::order_slot::(idx, &authorities, &keystore).await; + + if collator_public.is_none() { + return Ok(()); + } + // Query Broker Assigned Event let api = OnlineClient::::from_url("ws://127.0.0.1:8855").await?; let block = api.blocks().at_latest().await?; + { + let mut bulk_record_local = bulk_record.lock().await; + let pre_block_height = bulk_record_local.coretime_para_height; + let block_number = block.number(); + if pre_block_height != block_number { + bulk_record_local.coretime_para_height = block_number; + } else { + return Ok(()); + } + } + let events = block.events().await?; for event in events.iter() { let event = event?; - let pallet = event.pallet_name(); - let variant = event.variant_name(); - let field_values = event.field_values()?; - log::info!("{:?},{:?},{:?}", pallet, variant, field_values); let event_detail = event.as_event::(); if let Ok(assigned_event) = event_detail { if let Some(ev) = assigned_event { @@ -134,12 +163,20 @@ where Ok(()) } -pub async fn run_coretime_bulk_task( +pub async fn run_coretime_bulk_task( + parachain: Arc

, relay_chain: R, para_id: ParaId, bulk_record: Arc>, + keystore: KeystorePtr, ) where + Block: BlockT, + P: ProvideRuntimeApi + UsageProvider, R: RelayChainInterface + Clone, + P::Api: AuraApi, + PB: Pair + 'static, + PB::Public: AppPublic + Member + Codec, + PB::Signature: TryFrom> + Member + Codec, { let relay_chain_notification = async move { let new_best_heads = relay_chain @@ -153,8 +190,7 @@ pub async fn run_coretime_bulk_task( h = new_best_heads.next() => { match h { Some((height, hash)) => { - log::info!("{:?},{:?}",height, hash); - coretime_bulk_task(relay_chain.clone(), hash, para_id, bulk_record.clone()).await?; + coretime_bulk_task::<_,_,_, PB>(&*parachain, relay_chain.clone(), height, hash, para_id, bulk_record.clone(), keystore.clone()).await?; }, None => { return Ok::<(), Box>(()); @@ -169,20 +205,30 @@ pub async fn run_coretime_bulk_task( } } -pub fn spawn_bulk_task( - parachain: Arc, +pub fn spawn_bulk_task( + parachain: Arc

, para_id: ParaId, relay_chain: R, task_manager: &TaskManager, bulk_record: Arc>, + keystore: KeystorePtr, ) -> sc_service::error::Result<()> where Block: BlockT, R: RelayChainInterface + Clone + 'static, - T: Send + Sync + 'static + ProvideRuntimeApi + UsageProvider, + P: Send + Sync + 'static + ProvideRuntimeApi + UsageProvider, + P::Api: AuraApi, + PB: Pair + 'static, + PB::Public: AppPublic + Member + Codec, + PB::Signature: TryFrom> + Member + Codec, { - let coretime_bulk_task = - run_coretime_bulk_task(relay_chain.clone(), para_id, bulk_record.clone()); + let coretime_bulk_task = run_coretime_bulk_task::<_, _, _, PB>( + parachain.clone(), + relay_chain.clone(), + para_id, + bulk_record.clone(), + keystore, + ); task_manager .spawn_essential_handle() .spawn("bulk task", "magport", coretime_bulk_task); diff --git a/client/coretime/common/src/lib.rs b/client/coretime/common/src/lib.rs index 462d57c..6c9ff84 100644 --- a/client/coretime/common/src/lib.rs +++ b/client/coretime/common/src/lib.rs @@ -26,7 +26,9 @@ use runtime_parachains::{configuration::HostConfiguration, paras::ParaLifecycle} use sc_client_api::UsageProvider; use sc_service::TaskManager; use sp_api::ProvideRuntimeApi; +use sp_core::crypto::{ByteArray, Pair}; use sp_core::H256; +use sp_keystore::KeystorePtr; use sp_state_machine::StorageProof; use sp_storage::StorageKey; use std::error::Error; @@ -39,6 +41,7 @@ use subxt::{ utils::MultiSignature, Config, OnlineClient, PolkadotConfig, }; +type AuthorityId

=

::Public; pub async fn is_parathread( relay_chain: impl RelayChainInterface + Clone, @@ -62,3 +65,24 @@ pub async fn is_parathread( }; Ok(is_parathread) } + +pub async fn order_slot( + idx: u32, + authorities: &[AuthorityId

], + keystore: &KeystorePtr, +) -> Option { + if authorities.is_empty() { + return None; + } + + let expected_author = authorities.get(idx as usize).expect( + "authorities not empty; index constrained to list length;this is a valid index; qed", + ); + + if keystore.has_keys(&[(expected_author.to_raw_vec(), sp_application_crypto::key_types::AURA)]) + { + Some(expected_author.clone()) + } else { + None + } +} diff --git a/node/src/service.rs b/node/src/service.rs index f3244b4..f435913 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -486,14 +486,16 @@ async fn start_node_impl( let bulk_mem_record = Arc::new(Mutex::new(BulkMemRecord { storage_proof: StorageProof::empty(), storage_root: Default::default(), + coretime_para_height: 0, region_id: 0u128.into(), })); - spawn_bulk_task( + spawn_bulk_task::<_, _, _, sp_consensus_aura::sr25519::AuthorityPair>( client.clone(), para_id, relay_chain_interface.clone(), &task_manager, bulk_mem_record.clone(), + params.keystore_container.keystore().clone(), )?; start_consensus( client.clone(), @@ -642,7 +644,7 @@ fn start_consensus( .await; let bulk_inherent = bulk_inherent.ok_or_else(|| { Box::::from( - "Failed to create order inherent", + "Failed to create bulk inherent", ) })?; Ok(bulk_inherent) diff --git a/primitives/coretime/bulk/src/lib.rs b/primitives/coretime/bulk/src/lib.rs index 4e82b34..c3fc180 100644 --- a/primitives/coretime/bulk/src/lib.rs +++ b/primitives/coretime/bulk/src/lib.rs @@ -47,6 +47,8 @@ pub struct BulkInherentData { pub struct BulkMemRecord { /// Proof of coretime parachain storage. pub storage_proof: sp_trie::StorageProof, + /// Block height of coretime parachain. + pub coretime_para_height: u32, /// Root of coretime parachain storage. pub storage_root: PHash, pub region_id: RegionId, From 4d557e9cba1d300c96440f615903daa6ba14cb74 Mon Sep 17 00:00:00 2001 From: sulijia <984115358@qq.com> Date: Wed, 26 Jun 2024 21:27:49 +0800 Subject: [PATCH 08/22] 1.add genis config 2.add trait for get gas cost --- Cargo.lock | 1 + client/coretime/bulk/src/lib.rs | 165 ++++++++++++------ node/src/service.rs | 48 ++--- pallets/bulk/src/lib.rs | 107 ++++++++++-- .../coretime/bulk/src/inherent_client.rs | 38 +--- primitives/coretime/bulk/src/lib.rs | 46 +++-- primitives/coretime/common/src/lib.rs | 7 - .../coretime/common/src/well_known_keys.rs | 8 +- runtime/Cargo.toml | 3 + runtime/src/lib.rs | 26 ++- 10 files changed, 291 insertions(+), 158 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9e123f2..f1b0f16 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8642,6 +8642,7 @@ dependencies = [ "frame-try-runtime", "hex-literal", "log", + "mp-coretime-bulk", "mp-system", "pallet-assets", "pallet-assets-bridge", diff --git a/client/coretime/bulk/src/lib.rs b/client/coretime/bulk/src/lib.rs index 2f04325..61759b5 100644 --- a/client/coretime/bulk/src/lib.rs +++ b/client/coretime/bulk/src/lib.rs @@ -15,6 +15,7 @@ // along with Magnet. If not, see . use cumulus_primitives_core::ParaId; use cumulus_relay_chain_interface::RelayChainInterface; +use mp_coretime_bulk::BulkStatus; use polkadot_primitives::AccountId; use polkadot_primitives::Balance; use sc_client_api::UsageProvider; @@ -29,10 +30,12 @@ use cumulus_primitives_core::relay_chain::BlockNumber as RelayBlockNumber; use dp_chain_state_snapshot::GenericStateProof; use futures::{lock::Mutex, pin_mut, select, FutureExt, Stream, StreamExt}; use mc_coretime_common::is_parathread; +use metadata::api::runtime_types::pallet_broker::coretime_interface; use metadata::api::{runtime_types, runtime_types::coretime_rococo_runtime as polakdot_runtime}; use mp_coretime_bulk::well_known_keys::REGIONS; use mp_coretime_bulk::BulkMemRecord; use mp_coretime_bulk::{self, well_known_keys::broker_regions}; +use pallet_broker::CoreAssignment; use pallet_broker::RegionRecord; use pallet_broker::{CoreMask, RegionId}; use sp_application_crypto::AppPublic; @@ -54,6 +57,10 @@ use subxt::{ utils::MultiSignature, Config, OnlineClient, PolkadotConfig, }; +// use subxt::ext::scale_encode; +// use subxt::ext::scale_decode; +// use subxt::ext::scale_decode::DecodeAsType; +// use subxt::ext::scale_encode::EncodeAsType; fn u8_array_to_u128(array: [u8; 10]) -> u128 { let mut result: u128 = 0; @@ -63,6 +70,32 @@ fn u8_array_to_u128(array: [u8; 10]) -> u128 { result } +// #[derive(Encode, Decode)] +// enum CoretimeParaRuntimePallets { +// #[codec(index = 50)] +// Broker(BrokerProviderEvents), +// } + +// #[derive(Encode, Decode, EncodeAsType, DecodeAsType)] +// struct CoreAssigned { +// /// The index of the Core which has been assigned. +// core: u16, +// /// The Relay-chain block at which this assignment should take effect. +// when: u32, +// /// The workload to be done on the Core. +// assignment: Vec<(CoreAssignment, u16)>, +// } +// impl subxt::events::StaticEvent for CoreAssigned { +// const PALLET: &'static str = "Broker"; +// const EVENT: &'static str = "CoreAssigned"; +// } + +// #[derive(Encode, Decode)] +// enum BrokerProviderEvents { +// #[codec(index = 26)] +// CoreAssigned(CoreAssigned), +// } + pub async fn coretime_bulk_task( parachain: &P, relay_chain: R, @@ -94,67 +127,93 @@ where let idx = height % auth_len; let collator_public = mc_coretime_common::order_slot::(idx, &authorities, &keystore).await; - if collator_public.is_none() { - return Ok(()); - } + // if collator_public.is_none() { + // return Ok(()); + // } + let mut bulk_record_local = bulk_record.lock().await; + let bulk_status = bulk_record_local.status.clone(); // Query Broker Assigned Event let api = OnlineClient::::from_url("ws://127.0.0.1:8855").await?; let block = api.blocks().at_latest().await?; - { - let mut bulk_record_local = bulk_record.lock().await; - let pre_block_height = bulk_record_local.coretime_para_height; - let block_number = block.number(); - if pre_block_height != block_number { - bulk_record_local.coretime_para_height = block_number; - } else { - return Ok(()); - } + let pre_block_height = bulk_record_local.coretime_para_height; + let block_number = block.number(); + if pre_block_height != block_number { + bulk_record_local.coretime_para_height = block_number; + } else { + return Ok(()); } let events = block.events().await?; for event in events.iter() { let event = event?; - let event_detail = event.as_event::(); - if let Ok(assigned_event) = event_detail { - if let Some(ev) = assigned_event { - log::info!("{:?},{:?},{:?}", ev.region_id, ev.task, ev.duration); - let pid: u32 = para_id.into(); - if ev.task == pid { - // - let rpc_client = RpcClient::from_url("ws://127.0.0.1:8855").await?; - let rpc = LegacyRpcMethods::::new(rpc_client.clone()); - let mask = u8_array_to_u128(ev.region_id.mask.0); - let core_mask = CoreMask::from(mask); - let region_id = RegionId { - begin: ev.region_id.begin, - core: ev.region_id.core, - mask: core_mask, - }; - println!("region_id:{:?}", region_id); - let key = broker_regions(region_id); - println!("key:{:?}", key); - let mut relevant_keys = Vec::new(); - relevant_keys.push(key.as_slice()); - let proof = rpc - .state_get_read_proof(relevant_keys, Some(events.block_hash())) - .await - .unwrap(); - let storage_proof = - StorageProof::new(proof.proof.into_iter().map(|bytes| bytes.to_vec())); - println!("{:?}", storage_proof); - let storage_root = block.header().state_root; - let relay_storage_rooted_proof: GenericStateProof< - cumulus_primitives_core::relay_chain::Block, - > = GenericStateProof::new(storage_root, storage_proof.clone()).unwrap(); - let head_data = relay_storage_rooted_proof - .read_entry::>(key.as_slice(), None) - .ok(); - println!("head_data:{:?}", head_data); - if let Some(region_record) = head_data { - let mut bulk_record_local = bulk_record.lock().await; - bulk_record_local.storage_proof = storage_proof; - bulk_record_local.storage_root = storage_root; - bulk_record_local.region_id = region_id; + if bulk_status == BulkStatus::Purchased { + let ev_assigned = event.as_event::(); + if let Ok(assigned_event) = ev_assigned { + if let Some(ev) = assigned_event { + log::info!("{:?},{:?},{:?}", ev.region_id, ev.task, ev.duration); + let pid: u32 = para_id.into(); + if ev.task == pid { + // + let rpc_client = RpcClient::from_url("ws://127.0.0.1:8855").await?; + let rpc = LegacyRpcMethods::::new(rpc_client.clone()); + let mask = u8_array_to_u128(ev.region_id.mask.0); + let core_mask = CoreMask::from(mask); + let region_id = RegionId { + begin: ev.region_id.begin, + core: ev.region_id.core, + mask: core_mask, + }; + println!("region_id:{:?}", region_id); + let key = broker_regions(region_id); + println!("key:{:?}", key); + let mut relevant_keys = Vec::new(); + relevant_keys.push(key.as_slice()); + let proof = rpc + .state_get_read_proof(relevant_keys, Some(events.block_hash())) + .await + .unwrap(); + let storage_proof = + StorageProof::new(proof.proof.into_iter().map(|bytes| bytes.to_vec())); + println!("{:?}", storage_proof); + let storage_root = block.header().state_root; + let relay_storage_rooted_proof: GenericStateProof< + cumulus_primitives_core::relay_chain::Block, + > = GenericStateProof::new(storage_root, storage_proof.clone()).unwrap(); + let head_data = relay_storage_rooted_proof + .read_entry::>(key.as_slice(), None) + .ok(); + println!("head_data:{:?}", head_data); + if let Some(region_record) = head_data { + bulk_record_local.storage_proof = storage_proof; + bulk_record_local.storage_root = storage_root; + bulk_record_local.region_id = region_id; + bulk_record_local.status = BulkStatus::Assigned; + bulk_record_local.duration = ev.duration; + } + } + } + continue; + } + } + if bulk_status == BulkStatus::Assigned { + let ev_core_assigned = event.as_event::(); + if let Ok(core_assigned_event) = ev_core_assigned { + if let Some(ev) = core_assigned_event { + log::info!("{:?},{:?},{:?}", ev.core, ev.when, ev.assignment); + for (core_assign, _) in ev.assignment { + if let coretime_interface::CoreAssignment::Task(id) = core_assign { + let pid: u32 = para_id.into(); + if id == pid { + bulk_record_local.start_relaychain_height = ev.when; + let constant_query = + metadata::api::ConstantsApi.broker().timeslice_period(); + let time_slice = api.constants().at(&constant_query)?; + bulk_record_local.end_relaychain_height = + ev.when + bulk_record_local.duration * time_slice; + // find it. + bulk_record_local.status = BulkStatus::CoreAssigned; + } + } } } } diff --git a/node/src/service.rs b/node/src/service.rs index f435913..ac01f7c 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -51,6 +51,7 @@ use futures::lock::Mutex; // use magnet_primitives_order::{OrderRecord, OrderStatus}; use mc_coretime_bulk::spawn_bulk_task; use mp_coretime_bulk::BulkMemRecord; +use mp_coretime_bulk::BulkStatus; use sp_core::ByteArray; use sp_runtime::AccountId32; use sp_trie::StorageProof; @@ -488,6 +489,10 @@ async fn start_node_impl( storage_root: Default::default(), coretime_para_height: 0, region_id: 0u128.into(), + start_relaychain_height: 0, + end_relaychain_height: 0, + status: BulkStatus::Purchased, + duration: 0, })); spawn_bulk_task::<_, _, _, sp_consensus_aura::sr25519::AuthorityPair>( client.clone(), @@ -603,45 +608,24 @@ fn start_consensus( let params = BasicAuraParams { // create_inherent_data_providers: move |_, ()| async move { Ok(()) }, create_inherent_data_providers: move |_, ()| { - // let relay_chain_interface = relay_chain_interface.clone(); let bulk_mem_record_clone = bulk_mem_record.clone(); async move { - // let parent_hash = relay_chain_interface.best_block_hash().await?; - // let (relay_parent, validation_data, sequence_number, author_pub) = { - // let order_record_local = order_record_clone.lock().await; - // if order_record_local.validation_data.is_none() { - // (parent_hash, None, order_record_local.sequence_number, None) - // } else { - // ( - // order_record_local.relay_parent.expect("can not get relay_parent hash"), - // order_record_local.validation_data.clone(), - // order_record_local.sequence_number, - // order_record_local.author_pub.clone(), - // ) - // } - // }; - // let order_inherent = magnet_primitives_order::OrderInherentData::create_at( - // relay_parent, - // &relay_chain_interface, - // &validation_data, - // para_id, - // sequence_number, - // &author_pub, - // ) - // .await; - // let order_inherent = order_inherent.ok_or_else(|| { - // Box::::from( - // "Failed to create order inherent", - // ) - // })?; - // Ok(order_inherent) - let bulk_mem_record_clone_local = bulk_mem_record_clone.lock().await; + let mut bulk_mem_record_clone_local = bulk_mem_record_clone.lock().await; + let storage_proof = + if bulk_mem_record_clone_local.status == BulkStatus::CoreAssigned { + Some(&bulk_mem_record_clone_local.storage_proof) + } else { + None + }; let bulk_inherent = mp_coretime_bulk::BulkInherentData::create_at( - &bulk_mem_record_clone_local.storage_proof, + storage_proof, bulk_mem_record_clone_local.storage_root, bulk_mem_record_clone_local.region_id, + bulk_mem_record_clone_local.start_relaychain_height, + bulk_mem_record_clone_local.end_relaychain_height, ) .await; + bulk_mem_record_clone_local.status = BulkStatus::Purchased; let bulk_inherent = bulk_inherent.ok_or_else(|| { Box::::from( "Failed to create bulk inherent", diff --git a/pallets/bulk/src/lib.rs b/pallets/bulk/src/lib.rs index 6b44f41..318cb82 100644 --- a/pallets/bulk/src/lib.rs +++ b/pallets/bulk/src/lib.rs @@ -69,6 +69,10 @@ pub struct BulkRecord { pub price: Balance, /// Purchase duration. pub duration: u32, + /// Relaychain block number of start schedule coretime core. + pub start_relaychain_height: u32, + /// Relaychain block number of end schedule coretime core. + pub end_relaychain_height: u32, } #[frame_support::pallet] pub mod pallet { @@ -82,6 +86,8 @@ pub mod pallet { type Currency: Currency; + type RelayChainStateProvider: cumulus_pallet_parachain_system::RelaychainStateProvider; + type AuthorityId: Member + Parameter + RuntimeAppPublic @@ -92,11 +98,20 @@ pub mod pallet { type UpdateOrigin: EnsureOrigin; type WeightInfo: WeightInfo; + + /// Max length of url, coretime parachain rpc url. + #[pallet::constant] + type MaxUrlLength: Get; } #[pallet::pallet] pub struct Pallet(PhantomData); + /// Url storage. + #[pallet::storage] + #[pallet::getter(fn coretime_rpc_url)] + pub type RpcUrl = StorageValue<_, BoundedVec, OptionQuery>; + #[pallet::type_value] pub fn RecordIndexOnEmpty() -> u32 { 0 @@ -112,6 +127,25 @@ pub mod pallet { pub type BulkRecords = StorageMap<_, Twox64Concat, u32, BulkRecord, T::AuthorityId>, OptionQuery>; + #[pallet::genesis_config] + pub struct GenesisConfig { + pub rpc_url: BoundedVec, + pub _marker: PhantomData, + } + + impl Default for GenesisConfig { + fn default() -> Self { + Self { rpc_url: BoundedVec::new(), _marker: Default::default() } + } + } + + #[pallet::genesis_build] + impl BuildGenesisConfig for GenesisConfig { + fn build(&self) { + RpcUrl::::put(&self.rpc_url); + } + } + #[pallet::event] #[pallet::generate_deposit(pub(super) fn deposit_event)] pub enum Event { @@ -138,9 +172,16 @@ pub mod pallet { const INHERENT_IDENTIFIER: InherentIdentifier = mp_coretime_bulk::INHERENT_IDENTIFIER; fn create_inherent(data: &InherentData) -> Option { - let data = data.get_data(&mp_coretime_bulk::INHERENT_IDENTIFIER).ok().flatten(); + let data: Option = + data.get_data(&mp_coretime_bulk::INHERENT_IDENTIFIER).ok().flatten(); match data { - Some(data) => Some(Call::create_record { data }), + Some(data) => { + if data.storage_proof.is_none() { + None + } else { + Some(Call::create_record { data }) + } + }, None => None, } } @@ -165,11 +206,16 @@ pub mod pallet { ) -> DispatchResultWithPostInfo { ensure_none(origin)?; - let mp_coretime_bulk::BulkInherentData { storage_proof, storage_root, region_id } = - data; + let mp_coretime_bulk::BulkInherentData { + storage_proof, + storage_root, + region_id, + start_relaychain_height, + end_relaychain_height, + } = data; let relay_storage_rooted_proof: GenericStateProof< cumulus_primitives_core::relay_chain::Block, - > = GenericStateProof::new(storage_root, storage_proof).unwrap(); + > = GenericStateProof::new(storage_root, storage_proof.unwrap()).unwrap(); let key = broker_regions(region_id); let region_record_data = relay_storage_rooted_proof .read_entry::>>(key.as_slice(), None) @@ -182,24 +228,53 @@ pub mod pallet { purchaser: region_record.owner, price: region_record.paid.unwrap(), duration: region_record.end, + start_relaychain_height, + end_relaychain_height, }, ); + RecordIndex::::set(old_record_index + 1); } let total_weight = T::DbWeight::get().reads_writes(2, 1); Ok(PostDispatchInfo { actual_weight: Some(total_weight), pays_fee: Pays::No }) } + + /// Set coretime parachain rpc url. + /// + /// Parameters: + /// - `url`: Url. + #[pallet::call_index(1)] + #[pallet::weight(0)] + pub fn set_rpc_url( + origin: OriginFor, + url: BoundedVec, + ) -> DispatchResult { + T::UpdateOrigin::ensure_origin(origin)?; + + RpcUrl::::put(url.clone()); + + Ok(()) + } + } +} + +impl Pallet { + pub fn rpc_url() -> Vec { + let rpc_url = RpcUrl::::get(); + if let Some(url) = rpc_url { + url.into() + } else { + Vec::new() + } } } -impl Pallet {} - -// pub trait OrderGasCost { -// /// Gas consumed by placing an order in a certain block. -// /// -// /// Parameters: -// /// - `block_number`: The block number of para chain. -// fn gas_cost( -// block_number: BlockNumberFor, -// ) -> Result, DispatchError>; -// } +pub trait BulkGasCost { + /// In Bulk mode, the average gas consumed by a block. + /// + /// Parameters: + /// - `block_number`: The block number of para chain. + fn gas_cost( + block_number: BlockNumberFor, + ) -> Result, DispatchError>; +} diff --git a/primitives/coretime/bulk/src/inherent_client.rs b/primitives/coretime/bulk/src/inherent_client.rs index 72fb223..3ad57b3 100644 --- a/primitives/coretime/bulk/src/inherent_client.rs +++ b/primitives/coretime/bulk/src/inherent_client.rs @@ -24,47 +24,25 @@ use { cumulus_relay_chain_interface::{PHash, RelayChainInterface}, }; -/// Collect the relevant coretime para chain state in form of a proof -/// for putting it into the bulk inherent. -// async fn collect_coretime_parachain_storage_proof( -// region_id: RegionId, -// ) -> Option { -// let mut relevant_keys = Vec::new(); -// //Broker Regions -// relevant_keys.push(broker_regions(region_id)); - -// // let relay_storage_proof = relay_chain_interface.prove_read(relay_parent, &relevant_keys).await; -// // match relay_storage_proof { -// // Ok(proof) => Some(proof), -// // Err(err) => { -// // log::info!("RelayChainError:{:?}", err); -// // None -// // }, -// // } -// None -// } - impl BulkInherentData { /// Create the [`BulkInherentData`] at the given `relay_parent`. /// /// Returns `None` if the creation failed. pub async fn create_at( - // relay_parent: PHash, - // author_pub: &AuthorityId, - // region_id: RegionId, - storage_proof: &sp_trie::StorageProof, + storage_proof: Option<&sp_trie::StorageProof>, storage_root: PHash, region_id: RegionId, + start: u32, + end: u32, ) -> Option { - // let storage_proof = collect_coretime_parachain_storage_proof(region_id).await?; - + let storage_proof = + if let Some(proof) = storage_proof { Some(proof.clone()) } else { None }; Some(BulkInherentData { - storage_proof: storage_proof.clone(), + storage_proof, storage_root, region_id, - // purchaser: author_pub.clone(), - // price: 0, - // duration: 0, + start_relaychain_height: start, + end_relaychain_height: end, }) } } diff --git a/primitives/coretime/bulk/src/lib.rs b/primitives/coretime/bulk/src/lib.rs index c3fc180..311c20a 100644 --- a/primitives/coretime/bulk/src/lib.rs +++ b/primitives/coretime/bulk/src/lib.rs @@ -37,31 +37,53 @@ use {scale_info::TypeInfo, sp_inherents::InherentIdentifier}; #[derive(Encode, Decode, sp_core::RuntimeDebug, Clone, PartialEq, TypeInfo)] pub struct BulkInherentData { /// Proof of coretime parachain storage. - pub storage_proof: sp_trie::StorageProof, + pub storage_proof: Option, /// Root of coretime parachain storage. pub storage_root: PHash, + /// The identity of the Region. pub region_id: RegionId, + /// Relaychain block number of start schedule coretime core. + pub start_relaychain_height: u32, + /// Relaychain block number of end schedule coretime core. + pub end_relaychain_height: u32, +} + +/// Status of bulk purchased then assigned. +#[derive(Clone, PartialEq, Eq)] +pub enum BulkStatus { + /// User call broker purchase. + Purchased, + /// User call broker assign. + Assigned, + /// broker do_tick(). + CoreAssigned, } #[derive(Clone)] pub struct BulkMemRecord { - /// Proof of coretime parachain storage. - pub storage_proof: sp_trie::StorageProof, /// Block height of coretime parachain. pub coretime_para_height: u32, + /// Proof of coretime parachain storage. + pub storage_proof: sp_trie::StorageProof, /// Root of coretime parachain storage. pub storage_root: PHash, + /// The identity of the Region. pub region_id: RegionId, + /// Relaychain block number of start schedule coretime core. + pub start_relaychain_height: u32, + /// Relaychain block number of end schedule coretime core. + pub end_relaychain_height: u32, + pub duration: u32, + pub status: BulkStatus, } + // Identifier of the order inherent pub const INHERENT_IDENTIFIER: InherentIdentifier = *b"bulkihrt"; -// sp_api::decl_runtime_apis! { -// #[api_version(2)] -// pub trait BulkRuntimeApi where -// Balance: Codec + MaybeDisplay, -// AuthorityId:Codec -// { - -// } -// } +sp_api::decl_runtime_apis! { + #[api_version(2)] + pub trait BulkRuntimeApi + { + fn rpc_url() -> Vec; + } +} diff --git a/primitives/coretime/common/src/lib.rs b/primitives/coretime/common/src/lib.rs index eea99a8..236265b 100644 --- a/primitives/coretime/common/src/lib.rs +++ b/primitives/coretime/common/src/lib.rs @@ -20,11 +20,4 @@ //! the order pallet inherent //! #![cfg_attr(not(feature = "std"), no_std)] -use cumulus_primitives_core::{ - relay_chain::BlockNumber as RelayBlockNumber, relay_chain::Hash as PHash, ParaId, - PersistedValidationData, -}; -use sp_core::H256; -use sp_runtime::sp_std::vec::Vec; -use sp_runtime::traits::MaybeDisplay; pub mod well_known_keys; diff --git a/primitives/coretime/common/src/well_known_keys.rs b/primitives/coretime/common/src/well_known_keys.rs index 269454c..a8bb99e 100644 --- a/primitives/coretime/common/src/well_known_keys.rs +++ b/primitives/coretime/common/src/well_known_keys.rs @@ -17,13 +17,7 @@ //! Keys of well known. #![cfg_attr(not(feature = "std"), no_std)] -use cumulus_primitives_core::relay_chain::CoreIndex; -use { - cumulus_primitives_core::ParaId, - sp_core::Encode, - sp_io::hashing::{blake2_128, twox_256, twox_64}, - sp_std::vec::Vec, -}; +use {cumulus_primitives_core::ParaId, sp_core::Encode, sp_io::hashing::twox_64, sp_std::vec::Vec}; pub const PARAS_PARA_LIFECYCLES: &[u8] = &hex_literal::hex!["cd710b30bd2eab0352ddcc26417aa194281e0bfde17b36573208a06cb5cfba6b"]; diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index e4abff8..4b8471f 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -32,6 +32,8 @@ pallet-pot-runtime-api = { path = "../pallets/pot/runtime-api", default-features pallet-assurance = { path = "../pallets/assurance", default-features = false } pallet-liquidation = {path = "../pallets/liquidation", default-features = false} pallet-bulk = { path = "../pallets/bulk", default-features = false } +mp-coretime-bulk = { path = "../primitives/coretime/bulk", default-features = false } + # Substrate frame-benchmarking = { workspace = true, default-features = false, optional = true} @@ -205,6 +207,7 @@ std = [ "pallet-insecure-randomness-collective-flip/std", "pallet-contracts/std", "pallet-bulk/std", + "mp-coretime-bulk/std", ] runtime-benchmarks = [ diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index ecf8d83..a413ae9 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -86,7 +86,7 @@ use weights::{BlockExecutionWeight, ExtrinsicBaseWeight}; // XCM Imports use cumulus_primitives_core::{AggregateMessageOrigin, ParaId, PersistedValidationData}; -pub use pallet_bulk; +pub use pallet_bulk::{self, BulkGasCost}; // pub use pallet_order::{self, OrderGasCost}; use xcm::latest::prelude::{ Asset as MultiAsset, BodyId, InteriorLocation as InteriorMultiLocation, @@ -737,12 +737,30 @@ type EnsureRootOrHalf = EitherOfDiverse< // type TxPoolThreshold = TxPoolThreshold; // type WeightInfo = pallet_order::weights::SubstrateWeight; // } +pub struct OrderGasCostHandler(); + +impl BulkGasCost for OrderGasCostHandler +where + T: pallet_bulk::Config, + T::AccountId: From<[u8; 32]>, +{ + fn gas_cost( + block_number: BlockNumberFor, + ) -> Result, sp_runtime::DispatchError> { + Ok(None) + } +} +parameter_types! { + pub const MaxUrlLength: u32 = 300; +} impl pallet_bulk::Config for Runtime { type RuntimeEvent = RuntimeEvent; type AuthorityId = AuraId; type Currency = Balances; + type RelayChainStateProvider = cumulus_pallet_parachain_system::RelaychainDataProvider; type UpdateOrigin = EnsureRootOrHalf; + type MaxUrlLength = MaxUrlLength; type WeightInfo = (); } @@ -1580,6 +1598,12 @@ impl_runtime_apis! { // OrderPallet::order_executed(sequence_number) // } // } + impl mp_coretime_bulk::BulkRuntimeApi for Runtime { + + fn rpc_url()-> Vec{ + BulkPallet::rpc_url() + } + } impl mp_system::OnRelayChainApi for Runtime { fn on_relaychain(block_number: u32) -> i32 { From f892b1a0b4e53ba76fc1f6ecd4b046264929439b Mon Sep 17 00:00:00 2001 From: sulijia <984115358@qq.com> Date: Thu, 27 Jun 2024 16:18:59 +0800 Subject: [PATCH 09/22] complete bulk mode gas cost function.make workflow cargo test normal --- client/coretime/bulk/src/lib.rs | 13 ++++++---- node/src/chain_spec.rs | 3 +++ pallets/bulk/src/lib.rs | 8 ++++++ pallets/liquidation/src/mock.rs | 38 ++++++++++++++--------------- primitives/coretime/bulk/src/lib.rs | 1 + runtime/src/lib.rs | 34 +++++++++++++++++++++++--- 6 files changed, 70 insertions(+), 27 deletions(-) diff --git a/client/coretime/bulk/src/lib.rs b/client/coretime/bulk/src/lib.rs index 61759b5..5e90150 100644 --- a/client/coretime/bulk/src/lib.rs +++ b/client/coretime/bulk/src/lib.rs @@ -34,6 +34,7 @@ use metadata::api::runtime_types::pallet_broker::coretime_interface; use metadata::api::{runtime_types, runtime_types::coretime_rococo_runtime as polakdot_runtime}; use mp_coretime_bulk::well_known_keys::REGIONS; use mp_coretime_bulk::BulkMemRecord; +use mp_coretime_bulk::BulkRuntimeApi; use mp_coretime_bulk::{self, well_known_keys::broker_regions}; use pallet_broker::CoreAssignment; use pallet_broker::RegionRecord; @@ -109,7 +110,7 @@ where Block: BlockT, P: ProvideRuntimeApi + UsageProvider, R: RelayChainInterface + Clone, - P::Api: AuraApi, + P::Api: AuraApi + BulkRuntimeApi, PB: Pair + 'static, PB::Public: AppPublic + Member + Codec, PB::Signature: TryFrom> + Member + Codec, @@ -133,7 +134,9 @@ where let mut bulk_record_local = bulk_record.lock().await; let bulk_status = bulk_record_local.status.clone(); // Query Broker Assigned Event - let api = OnlineClient::::from_url("ws://127.0.0.1:8855").await?; + let url = parachain.runtime_api().rpc_url(hash)?; + let rpc_url = std::str::from_utf8(&url)?; + let api = OnlineClient::::from_url(rpc_url).await?; let block = api.blocks().at_latest().await?; let pre_block_height = bulk_record_local.coretime_para_height; let block_number = block.number(); @@ -154,7 +157,7 @@ where let pid: u32 = para_id.into(); if ev.task == pid { // - let rpc_client = RpcClient::from_url("ws://127.0.0.1:8855").await?; + let rpc_client = RpcClient::from_url(rpc_url).await?; let rpc = LegacyRpcMethods::::new(rpc_client.clone()); let mask = u8_array_to_u128(ev.region_id.mask.0); let core_mask = CoreMask::from(mask); @@ -232,7 +235,7 @@ pub async fn run_coretime_bulk_task( Block: BlockT, P: ProvideRuntimeApi + UsageProvider, R: RelayChainInterface + Clone, - P::Api: AuraApi, + P::Api: AuraApi + BulkRuntimeApi, PB: Pair + 'static, PB::Public: AppPublic + Member + Codec, PB::Signature: TryFrom> + Member + Codec, @@ -276,7 +279,7 @@ where Block: BlockT, R: RelayChainInterface + Clone + 'static, P: Send + Sync + 'static + ProvideRuntimeApi + UsageProvider, - P::Api: AuraApi, + P::Api: AuraApi + BulkRuntimeApi, PB: Pair + 'static, PB::Public: AppPublic + Member + Codec, PB::Signature: TryFrom> + Member + Codec, diff --git a/node/src/chain_spec.rs b/node/src/chain_spec.rs index 238d32d..1749e9a 100644 --- a/node/src/chain_spec.rs +++ b/node/src/chain_spec.rs @@ -282,5 +282,8 @@ fn testnet_genesis( }, "evm": { "accounts": evm_accounts }, + "bulkPallet":{ + "rpcUrl": b"ws://127.0.0.1:8855".to_vec() + }, }) } diff --git a/pallets/bulk/src/lib.rs b/pallets/bulk/src/lib.rs index 318cb82..bdda5bd 100644 --- a/pallets/bulk/src/lib.rs +++ b/pallets/bulk/src/lib.rs @@ -43,6 +43,7 @@ use primitives::{Id as ParaId, PersistedValidationData}; use sp_runtime::sp_std::{prelude::*, vec}; use sp_runtime::{traits::Member, RuntimeAppPublic}; pub mod weights; +use cumulus_pallet_parachain_system::RelaychainStateProvider; use dp_chain_state_snapshot::GenericStateProof; use pallet_broker::RegionRecord; use sp_core::crypto::ByteArray; @@ -259,6 +260,7 @@ pub mod pallet { } impl Pallet { + /// Get coretime parachain rpc url. pub fn rpc_url() -> Vec { let rpc_url = RpcUrl::::get(); if let Some(url) = rpc_url { @@ -267,6 +269,12 @@ impl Pallet { Vec::new() } } + + /// Get relaychain blocknumber. + pub fn relaychain_block_number() -> u32 { + let relay_chain_state = T::RelayChainStateProvider::current_relay_chain_state(); + relay_chain_state.number + } } pub trait BulkGasCost { diff --git a/pallets/liquidation/src/mock.rs b/pallets/liquidation/src/mock.rs index 1308232..b9a8a09 100644 --- a/pallets/liquidation/src/mock.rs +++ b/pallets/liquidation/src/mock.rs @@ -19,8 +19,8 @@ use sp_runtime::{ AccountId32, BuildStorage, Perbill, }; +use crate::OrderGasCost; use frame_system::pallet_prelude::BlockNumberFor; -use pallet_order::OrderGasCost; use sp_consensus_aura::sr25519::AuthorityId as AuraId; use sp_std::{cell::RefCell, collections::btree_map::BTreeMap}; use xcm::latest::{Assets, Location, SendError, SendResult, SendXcm, Xcm, XcmHash}; @@ -44,7 +44,7 @@ frame_support::construct_runtime!( { System: frame_system::{Pallet, Call, Config, Storage, Event}, Balances: pallet_balances::{Pallet, Call, Storage, Config, Event}, - OrderPallet: pallet_order::{Pallet, Storage, Event}, + // OrderPallet: pallet_order::{Pallet, Storage, Event}, Pot: pallet_pot::{Pallet, Call, Storage, Event}, Utility: pallet_utility::{Pallet, Call, Storage, Event}, Liquidation: pallet_liquidation::{Pallet, Storage, Event}, @@ -134,22 +134,22 @@ impl pallet_utility::Config for Test { type WeightInfo = (); } -parameter_types! { - pub const SlotWidth: u32 = 2; - pub const OrderMaxAmount:Balance = 200000000; - pub const TxPoolThreshold:Balance = 3000000000; -} - -impl pallet_order::Config for Test { - type RuntimeEvent = RuntimeEvent; - type AuthorityId = AuraId; - type Currency = Balances; - type UpdateOrigin = frame_system::EnsureRoot; - type OrderMaxAmount = OrderMaxAmount; - type SlotWidth = SlotWidth; - type TxPoolThreshold = TxPoolThreshold; - type WeightInfo = (); -} +// parameter_types! { +// pub const SlotWidth: u32 = 2; +// pub const OrderMaxAmount:Balance = 200000000; +// pub const TxPoolThreshold:Balance = 3000000000; +// } + +// impl pallet_order::Config for Test { +// type RuntimeEvent = RuntimeEvent; +// type AuthorityId = AuraId; +// type Currency = Balances; +// type UpdateOrigin = frame_system::EnsureRoot; +// type OrderMaxAmount = OrderMaxAmount; +// type SlotWidth = SlotWidth; +// type TxPoolThreshold = TxPoolThreshold; +// type WeightInfo = (); +// } use pallet_pot::PotNameBtreemap; use pallet_xcm::TestWeightInfo; @@ -310,7 +310,7 @@ impl WeightToFeePolynomial for WeightToFee { pub struct MockOrderGasCostHandler; impl OrderGasCost for MockOrderGasCostHandler where - T: pallet_order::Config, + T: crate::Config, T::AccountId: From<[u8; 32]>, { fn gas_cost( diff --git a/primitives/coretime/bulk/src/lib.rs b/primitives/coretime/bulk/src/lib.rs index 311c20a..06a9428 100644 --- a/primitives/coretime/bulk/src/lib.rs +++ b/primitives/coretime/bulk/src/lib.rs @@ -85,5 +85,6 @@ sp_api::decl_runtime_apis! { pub trait BulkRuntimeApi { fn rpc_url() -> Vec; + fn relaychain_block_number()->u32; } } diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index a413ae9..bd31392 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -11,6 +11,8 @@ mod weights; pub mod xcm_config; pub mod xcms; +use core::ops::Div; + use codec::{Decode, Encode}; use cumulus_pallet_parachain_system::RelayNumberStrictlyIncreases; @@ -24,7 +26,7 @@ use sp_runtime::{ create_runtime_str, generic, impl_opaque_keys, traits::{ AccountIdLookup, BlakeTwo256, Block as BlockT, DispatchInfoOf, Dispatchable, Get, - IdentifyAccount, PostDispatchInfoOf, UniqueSaturatedInto, Verify, + IdentifyAccount, PostDispatchInfoOf, Saturating, UniqueSaturatedInto, Verify, }, transaction_validity::{TransactionSource, TransactionValidity, TransactionValidityError}, ApplyExtrinsicResult, ConsensusEngineId, MultiSignature, Percent, @@ -82,8 +84,8 @@ pub use parachains_common::message_queue::{NarrowOriginToSibling, ParaIdToSiblin use polkadot_runtime_common::xcm_sender::NoPriceForMessageDelivery; use polkadot_runtime_common::{BlockHashCount, SlowAdjustingFeeUpdate}; +use sp_runtime::SaturatedConversion; use weights::{BlockExecutionWeight, ExtrinsicBaseWeight}; - // XCM Imports use cumulus_primitives_core::{AggregateMessageOrigin, ParaId, PersistedValidationData}; pub use pallet_bulk::{self, BulkGasCost}; @@ -747,7 +749,29 @@ where fn gas_cost( block_number: BlockNumberFor, ) -> Result, sp_runtime::DispatchError> { - Ok(None) + let record_index = >::record_index(); + let mut result = None; + for i in 0..record_index { + let bulk_record = >::bulk_records(i); + if let Some(record) = bulk_record { + if block_number.into() >= record.start_relaychain_height.into() + && block_number.into() <= record.end_relaychain_height.into() + { + let price: u128 = record.price.saturated_into(); + let duration = + (record.end_relaychain_height - record.start_relaychain_height) as u128; + let balance = price + .checked_div(duration) + .ok_or(sp_runtime::DispatchError::Other("duration error"))?; + let mut r = [0u8; 32]; + r.copy_from_slice(record.purchaser.encode().as_slice()); + let account = T::AccountId::try_from(r) + .map_err(|_| sp_runtime::DispatchError::Other("Account error"))?; + result = Some((account, balance)); + } + } + } + Ok(result) } } parameter_types! { @@ -1603,6 +1627,10 @@ impl_runtime_apis! { fn rpc_url()-> Vec{ BulkPallet::rpc_url() } + + fn relaychain_block_number()->u32 { + BulkPallet::relaychain_block_number() + } } impl mp_system::OnRelayChainApi for Runtime { From a335113f85dc31658eab34ed0315134f1d735676 Mon Sep 17 00:00:00 2001 From: sulijia <984115358@qq.com> Date: Thu, 27 Jun 2024 21:49:43 +0800 Subject: [PATCH 10/22] add bulk test code,cargo test success --- client/coretime/bulk/src/lib.rs | 2 + node/src/service.rs | 4 +- pallets/bulk/Cargo.toml | 1 + pallets/bulk/src/lib.rs | 11 +- pallets/bulk/src/mock.rs | 375 ++++++++++++++-------------- pallets/bulk/src/proof_data.rs | 49 ++-- pallets/bulk/src/tests.rs | 135 +++++----- primitives/coretime/bulk/src/lib.rs | 4 +- 8 files changed, 288 insertions(+), 293 deletions(-) diff --git a/client/coretime/bulk/src/lib.rs b/client/coretime/bulk/src/lib.rs index 5e90150..29b0603 100644 --- a/client/coretime/bulk/src/lib.rs +++ b/client/coretime/bulk/src/lib.rs @@ -200,6 +200,7 @@ where } if bulk_status == BulkStatus::Assigned { let ev_core_assigned = event.as_event::(); + log::info!("ev_core_assigned:{:?}", ev_core_assigned); if let Ok(core_assigned_event) = ev_core_assigned { if let Some(ev) = core_assigned_event { log::info!("{:?},{:?},{:?}", ev.core, ev.when, ev.assignment); @@ -222,6 +223,7 @@ where } } } + log::info!("bulk_record:{:?}", bulk_record_local); Ok(()) } diff --git a/node/src/service.rs b/node/src/service.rs index ac01f7c..412e52b 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -625,7 +625,9 @@ fn start_consensus( bulk_mem_record_clone_local.end_relaychain_height, ) .await; - bulk_mem_record_clone_local.status = BulkStatus::Purchased; + if storage_proof.is_some() { + bulk_mem_record_clone_local.status = BulkStatus::Purchased; + } let bulk_inherent = bulk_inherent.ok_or_else(|| { Box::::from( "Failed to create bulk inherent", diff --git a/pallets/bulk/Cargo.toml b/pallets/bulk/Cargo.toml index f139818..db6da54 100644 --- a/pallets/bulk/Cargo.toml +++ b/pallets/bulk/Cargo.toml @@ -56,6 +56,7 @@ pallet-xcm = { workspace = true, default-features = false} pallet-society ={ workspace = true, default-features = false} xcm-builder = { workspace = true, default-features = false } parachains-common = { workspace = true, default-features = false } +cumulus-pallet-parachain-system = { workspace = true, default-features = false, features = ["parameterized-consensus-hook",] } [features] default = [ "std" ] diff --git a/pallets/bulk/src/lib.rs b/pallets/bulk/src/lib.rs index bdda5bd..946564e 100644 --- a/pallets/bulk/src/lib.rs +++ b/pallets/bulk/src/lib.rs @@ -48,15 +48,15 @@ use dp_chain_state_snapshot::GenericStateProof; use pallet_broker::RegionRecord; use sp_core::crypto::ByteArray; use weights::WeightInfo; -// #[cfg(test)] -// mod mock; +#[cfg(test)] +mod mock; -// #[cfg(test)] -// mod tests; +#[cfg(test)] +mod tests; // #[cfg(any(test, feature = "runtime-benchmarks"))] // mod benchmarking; -// mod proof_data; +mod proof_data; type BalanceOf = <::Currency as Currency<::AccountId>>::Balance; @@ -214,6 +214,7 @@ pub mod pallet { start_relaychain_height, end_relaychain_height, } = data; + let relay_storage_rooted_proof: GenericStateProof< cumulus_primitives_core::relay_chain::Block, > = GenericStateProof::new(storage_root, storage_proof.unwrap()).unwrap(); diff --git a/pallets/bulk/src/mock.rs b/pallets/bulk/src/mock.rs index 71fa00d..ecec2e9 100644 --- a/pallets/bulk/src/mock.rs +++ b/pallets/bulk/src/mock.rs @@ -1,183 +1,192 @@ -// // Copyright (C) Magnet. -// // This file is part of Magnet. - -// // Magnet 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. - -// // Magnet 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 Magnet. If not, see . - -// use crate::{self as order_pallet, OrderGasCost}; -// use codec::Encode; -// pub use frame_support::{ -// construct_runtime, derive_impl, parameter_types, -// traits::{Everything, Hooks}, -// }; -// use frame_system as system; -// use frame_system::{pallet_prelude::BlockNumberFor, EnsureRoot}; -// pub use sp_consensus_aura::sr25519::AuthorityId as AuraId; -// use sp_core::{crypto::AccountId32, H256}; -// use sp_runtime::{ -// traits::{BlakeTwo256, IdentifyAccount, IdentityLookup, Verify}, -// BuildStorage, MultiSignature, -// }; - -// type Block = frame_system::mocking::MockBlock; -// type Signature = MultiSignature; -// type AccountId = <::Signer as IdentifyAccount>::AccountId; -// type Balance = u128; -// // Configure a mock runtime to test the pallet. -// construct_runtime!( -// pub enum Test -// { -// System: frame_system::{Pallet, Call, Config, Storage, Event}, -// Balances: pallet_balances::{Pallet, Call, Event}, -// OrderPallet: order_pallet::{Pallet, Call, Storage, Event}, -// MockPallet: mock_pallet, -// } -// ); - -// parameter_types! { -// pub const BlockHashCount: u64 = 250; -// pub const SS58Prefix: u8 = 42; -// } - -// #[derive_impl(frame_system::config_preludes::ParaChainDefaultConfig as frame_system::DefaultConfig)] -// impl system::Config for Test { -// type BaseCallFilter = Everything; -// type BlockWeights = (); -// type BlockLength = (); -// type DbWeight = (); -// type RuntimeOrigin = RuntimeOrigin; -// type RuntimeCall = RuntimeCall; -// type Nonce = u64; -// type Hash = H256; -// type Hashing = BlakeTwo256; -// type AccountId = AccountId32; -// type Lookup = IdentityLookup; -// type Block = Block; -// type RuntimeEvent = RuntimeEvent; -// type BlockHashCount = BlockHashCount; -// type Version = (); -// type PalletInfo = PalletInfo; -// type AccountData = pallet_balances::AccountData; -// type OnNewAccount = (); -// type OnKilledAccount = (); -// type SystemWeightInfo = (); -// type SS58Prefix = SS58Prefix; -// type OnSetCode = (); -// type MaxConsumers = frame_support::traits::ConstU32<16>; -// } -// parameter_types! { -// pub const ExistentialDeposit: u64 = 5; -// } -// impl pallet_balances::Config for Test { -// type MaxLocks = (); -// type MaxReserves = (); -// type ReserveIdentifier = [u8; 8]; -// type Balance = u128; -// type RuntimeEvent = RuntimeEvent; -// type DustRemoval = (); -// type ExistentialDeposit = ExistentialDeposit; -// type AccountStore = System; -// type WeightInfo = (); -// type FreezeIdentifier = (); -// type MaxFreezes = (); -// type RuntimeHoldReason = (); -// type RuntimeFreezeReason = (); -// } -// parameter_types! { -// pub const SlotWidth: u32 = 2; -// pub const OrderMaxAmount:Balance = 200000000; -// pub const TxPoolThreshold:Balance = 3000000000; -// } -// impl crate::Config for Test { -// type RuntimeEvent = RuntimeEvent; -// type AuthorityId = AuraId; -// type UpdateOrigin = EnsureRoot; -// type Currency = Balances; -// type OrderMaxAmount = OrderMaxAmount; -// type SlotWidth = SlotWidth; -// type TxPoolThreshold = TxPoolThreshold; -// type WeightInfo = (); -// } -// pub struct OrderGasCostHandler(); - -// impl OrderGasCost for OrderGasCostHandler -// where -// T: crate::Config, -// T::AccountId: From<[u8; 32]>, -// { -// fn gas_cost( -// block_number: BlockNumberFor, -// ) -> Result, sp_runtime::DispatchError> { -// let sequece_number = >::block_2_sequence(block_number); -// if sequece_number.is_none() { -// return Ok(None); -// } -// let order = >::order_map( -// sequece_number.ok_or(sp_runtime::DispatchError::Other("sequece_number is none"))?, -// ) -// .ok_or(sp_runtime::DispatchError::Other("Not exist order"))?; -// let mut r = [0u8; 32]; -// r.copy_from_slice(order.orderer.encode().as_slice()); -// let account = T::AccountId::try_from(r) -// .map_err(|_| sp_runtime::DispatchError::Other("Account error"))?; -// Ok(Some((account, order.price))) -// } -// } - -// #[frame_support::pallet] -// pub mod mock_pallet { -// use super::*; -// #[pallet::config] -// pub trait Config: frame_system::Config { -// type OrderGasCost: OrderGasCost; -// } - -// #[pallet::call] -// impl Pallet {} - -// #[pallet::pallet] -// #[pallet::without_storage_info] -// pub struct Pallet(_); - -// impl Pallet { -// pub fn get_gas_cost(block_number: BlockNumberFor) -> Option<(T::AccountId, Balance)> { -// T::OrderGasCost::gas_cost(block_number).unwrap() -// } -// } -// } - -// impl mock_pallet::Config for Test { -// type OrderGasCost = OrderGasCostHandler; -// } -// pub struct ExtBuilder { -// balances: Vec<(AccountId32, u128)>, -// } - -// impl Default for ExtBuilder { -// fn default() -> Self { -// Self { balances: Default::default() } -// } -// } - -// impl ExtBuilder { -// pub fn build(self) -> sp_io::TestExternalities { -// // Build genesis storage according to the mock runtime. -// let mut t = frame_system::GenesisConfig::::default().build_storage().unwrap(); -// pallet_balances::GenesisConfig:: { balances: self.balances } -// .assimilate_storage(&mut t) -// .unwrap(); -// let mut ext = sp_io::TestExternalities::new(t); -// ext.execute_with(|| System::set_block_number(1)); -// ext -// } -// } +// Copyright (C) Magnet. +// This file is part of Magnet. + +// Magnet 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. + +// Magnet 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 Magnet. If not, see . + +use crate::{self as bulk_pallet, BulkGasCost}; +use codec::Encode; +use cumulus_pallet_parachain_system::{RelayChainState, RelaychainStateProvider}; +pub use frame_support::{ + construct_runtime, derive_impl, parameter_types, + traits::{Everything, Hooks}, +}; +use frame_system as system; +use frame_system::{pallet_prelude::BlockNumberFor, EnsureRoot}; +pub use sp_consensus_aura::sr25519::AuthorityId as AuraId; +use sp_core::{crypto::AccountId32, H256}; +use sp_runtime::{ + traits::{BlakeTwo256, IdentifyAccount, IdentityLookup, Verify}, + BuildStorage, MultiSignature, +}; + +type Block = frame_system::mocking::MockBlock; +type Signature = MultiSignature; +type AccountId = <::Signer as IdentifyAccount>::AccountId; +type Balance = u128; +// Configure a mock runtime to test the pallet. +construct_runtime!( + pub enum Test + { + System: frame_system::{Pallet, Call, Config, Storage, Event}, + Balances: pallet_balances::{Pallet, Call, Event}, + BulkPallet: bulk_pallet::{Pallet, Call, Storage, Event}, + MockPallet: mock_pallet, + } +); + +parameter_types! { + pub const BlockHashCount: u64 = 250; + pub const SS58Prefix: u8 = 42; +} + +#[derive_impl(frame_system::config_preludes::ParaChainDefaultConfig as frame_system::DefaultConfig)] +impl system::Config for Test { + type BaseCallFilter = Everything; + type BlockWeights = (); + type BlockLength = (); + type DbWeight = (); + type RuntimeOrigin = RuntimeOrigin; + type RuntimeCall = RuntimeCall; + type Nonce = u64; + type Hash = H256; + type Hashing = BlakeTwo256; + type AccountId = AccountId32; + type Lookup = IdentityLookup; + type Block = Block; + type RuntimeEvent = RuntimeEvent; + type BlockHashCount = BlockHashCount; + type Version = (); + type PalletInfo = PalletInfo; + type AccountData = pallet_balances::AccountData; + type OnNewAccount = (); + type OnKilledAccount = (); + type SystemWeightInfo = (); + type SS58Prefix = SS58Prefix; + type OnSetCode = (); + type MaxConsumers = frame_support::traits::ConstU32<16>; +} +parameter_types! { + pub const ExistentialDeposit: u64 = 5; +} +impl pallet_balances::Config for Test { + type MaxLocks = (); + type MaxReserves = (); + type ReserveIdentifier = [u8; 8]; + type Balance = u128; + type RuntimeEvent = RuntimeEvent; + type DustRemoval = (); + type ExistentialDeposit = ExistentialDeposit; + type AccountStore = System; + type WeightInfo = (); + type FreezeIdentifier = (); + type MaxFreezes = (); + type RuntimeHoldReason = (); + type RuntimeFreezeReason = (); +} + +pub(crate) const MOCK_RELAY_ROOT_KEY: &[u8] = b"MOCK_RELAY_ROOT_KEY"; + +pub struct MockRelayStateProvider; + +impl RelaychainStateProvider for MockRelayStateProvider { + fn current_relay_chain_state() -> RelayChainState { + let root = frame_support::storage::unhashed::get(MOCK_RELAY_ROOT_KEY) + .expect("root should be set by mock"); + + RelayChainState { + state_root: root, + number: 0, // block number is not relevant here + } + } + + #[cfg(feature = "runtime-benchmarks")] + fn set_current_relay_chain_state(state: RelayChainState) { + frame_support::storage::unhashed::put(b"MOCK_RELAY_ROOT_KEY", &state.state_root); + } +} + +parameter_types! { + pub const MaxUrlLength: u32 = 300; +} + +impl crate::Config for Test { + type RuntimeEvent = RuntimeEvent; + type AuthorityId = AuraId; + type UpdateOrigin = EnsureRoot; + type Currency = Balances; + type RelayChainStateProvider = MockRelayStateProvider; + type MaxUrlLength = MaxUrlLength; + type WeightInfo = (); +} +pub struct BulkGasCostHandler(); + +impl BulkGasCost for BulkGasCostHandler +where + T: crate::Config, + T::AccountId: From<[u8; 32]>, +{ + fn gas_cost( + block_number: BlockNumberFor, + ) -> Result, sp_runtime::DispatchError> { + Ok(None) + } +} + +#[frame_support::pallet] +pub mod mock_pallet { + use super::*; + #[pallet::config] + pub trait Config: frame_system::Config { + type BulkGasCost: BulkGasCost; + } + + #[pallet::call] + impl Pallet {} + + #[pallet::pallet] + #[pallet::without_storage_info] + pub struct Pallet(_); + + impl Pallet { + pub fn get_gas_cost(block_number: BlockNumberFor) -> Option<(T::AccountId, Balance)> { + T::BulkGasCost::gas_cost(block_number).unwrap() + } + } +} + +impl mock_pallet::Config for Test { + type BulkGasCost = BulkGasCostHandler; +} +pub struct ExtBuilder { + balances: Vec<(AccountId32, u128)>, +} + +impl Default for ExtBuilder { + fn default() -> Self { + Self { balances: Default::default() } + } +} + +impl ExtBuilder { + pub fn build(self) -> sp_io::TestExternalities { + // Build genesis storage according to the mock runtime. + let mut t = frame_system::GenesisConfig::::default().build_storage().unwrap(); + pallet_balances::GenesisConfig:: { balances: self.balances } + .assimilate_storage(&mut t) + .unwrap(); + let mut ext = sp_io::TestExternalities::new(t); + ext.execute_with(|| System::set_block_number(1)); + ext + } +} diff --git a/pallets/bulk/src/proof_data.rs b/pallets/bulk/src/proof_data.rs index 5239a0f..93d41cd 100644 --- a/pallets/bulk/src/proof_data.rs +++ b/pallets/bulk/src/proof_data.rs @@ -1,29 +1,28 @@ -// // Copyright (C) Magnet. -// // This file is part of Magnet. +// Copyright (C) Magnet. +// This file is part of Magnet. -// // Magnet 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. +// Magnet 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. -// // Magnet 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. +// Magnet 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 Magnet. If not, see . +// You should have received a copy of the GNU General Public License +// along with Magnet. If not, see . -// #[allow(dead_code)] -// pub const ENCODED_PROOFS: &[(&str, &[&str])] = &[ -// ("6b7db61c1bee66952742baa01b5a16efe3b6dbc015db0bbbc0d50349eb86279e",&[ -// "2000000000000000a2e9b53d55170200000001000000000007c09b001b01390202000000020000000408d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27de96725030000000000000000000000000000020000000408d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d809698000000000000000000000000000000020000004200e8030000809698000000000000000000000000000000020000000407fe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860ee96725030000000000000000000000000000020000002100d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27de96725030000000000000000000000000000000000000000000000000000000000000200000000001a037449c93a000000", -// "3ed41e5e16056765bc8461851072c9d74259dee8a67b8efa0538928edcd6d3dc677e250771c8f75fa2e6cc8942f06f84", -// "800104801a93e89e41a278828d5caad67eb07073bca1b6cccc49807dbb0476cb27dced8b80c11c1757f8dc26ef0d97db7c703034b9a9001ad382ed9e1ff900f6ac927cea97", -// "80c19c8040ccdfa3ac9b91388fa827571930b3c1e805eb35304412ff42cc6df33ca548ee806bd20dcb3f9e7c87137961ace69ccd74eb92eb3ca730ea10fc736b7f261cbd7380257442a3193ebf64fb8a0019b2d9fc1d97734011eb5a8d2ea414f5ff9a27952b804a061d1ed9340acbb3bfeeb8dd6662b24e093240981c068dafa7044ed379307f80c692d333d8a2af1468e95d1583f2ff2dcde7a5607f9490af0e17dff8a1330cc48005beaee4aeb1f362f62d090d987e09cee98c4bbafd8042732406115019b3b6b2809c048073a3a4c42b9174519d6fdac372683ca85cc3b0cac1a1a9ddaf243b59b1", -// "80ffff805f00b947f4aaec99e6613e9511e9cda57d739ea73a0f2db02c08509a021ac7c180c63e2c041524586654422f91098a9b35e5d0ea88d44c334c4ffa6112e7aa696f80f40031d9a794a6cd84c0d942827d55968e796a5350b0df1d18c410b8903ce59980b8acbbf86a4082fb580470e18b67d0099be087b38e04c862e8d2ad2b4b984f68801c8066816a9737e80e67d14190ebabfe1f77c68975a57867a3e721759387b16f800cb049cc6bc5b79fb79d7da92aadb3c7d5df71e403364142445ab1e212424b7c80c0c6776ecc8630ecc28971e2155751cdeead63676a6d5313771f902a26a528a0805b682132c52908705526057f73ab7fccab4af6d72a9805634dd8d3cc53f130d18012b1a0dc047d3b9d5e8792fb372059a04d44300f0f667a2a14a8777ccfe7fdff80de00eff4d3f779a7434826e0d0f3a1ec71dd4028c42e90718c657e3f1c2ed23680af18bd988a60b703c96993f291b836fe5f6df4ea5a7d36c9d1e65cd44bc1c5a98037af338c5d64d1babf36777405396255681f8bef661a6cd600052dceffba87ab80f4429c1b9ec6915b41ad4f0b3aa4f0fcf7ef80690cab6590739ce7e415f4e966800117ab1066009e6ab3db03ed63038d60ed339fccef41d35668e22d99ba0a7142806bfdbbf0e0bedcb993b65c9cea1e929a56d78a3b7bc53d1b7ca6fc488e2295ee8011cf4cd49d702989ad1e066e4983740ef04216f8945156021e524d97b57e240a", -// "9eaa394eea5630e07c48ae0c9558cef7398f80a506ec64a470c01c9ac42ea190d29a5f5d900256035bd485a0563a428f7d0369809aea767c8a069c1f1759636c9f4672b4483e36cc35d06881c141bd5e4c40d75e505f0e7b9012096b41c4eb3aaf947f6ea4290800004c5f0684a022a34dd8bfa2baaf44f172b71004018004952dfbd3c381037ea2a1ddd3c7252f15de49dd55db9697c7513fd0750e1ca980a22e4b0da2642d6cda7bd1dc00e5fd760e4d6e18684676b9612f3045023088cf80809890dfdabf4da4f92e0ffab00c1cedd68369e0cc3ce4432de6f8abe9220b5380690a57078e6f7e247b25365dad04c1fef7b0d5401cad9087216ca0f33d7788a06c5f09cce9c888469bb1a0dceaa129672ef824599318726f636f636f" -// ]) -// ]; -// #[allow(dead_code)] -// pub const HEAD_DATA:&[&str] = &["00000000000000000000000000000000000000000000000000000000000000000070049f18759406809dc703bba5534cd06df7453974b4599e08d6709db651e0a203170a2e7597b7b7e3d84c05391d139a62b157e78786d8c082f29dcf4c11131400"]; +#[allow(dead_code)] +pub const STORAGE_PROOF: &[&str] = &[ +"16000000d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d01000e2707000000000000000000000000", +"3f2007d04ec0ed1186e131723f64ef181e1c0c0000000100ffffffffffffffffffff358b741885135ef388abcf1fffd8290678a3a09a9b044f19e46f900f5ffc052f", +"80202080c526dfbf4a65e5d298e8b6c1cdac88ca71fd54975b7c6421b42973529c8e122980b57459b0fad405fcc8486156b1470fbf5da3e704b1905743fa11c028b774b890", +"80bff88002196afa3517dd88d98df436d300706cba9f2508c809bdd2cb2b556869b52d6780c4f7d82fa54c259feb751f64d63cc93749ee0d1f597b163c528d28d137907e3580c0cdd088d3767a4996a380bac2a88c7741b45b4b928c47f8d6ea84536f37e8bf80d53186d94b57d88622a71b3f7734455caedbdd97140df7b5056af030a28c8b6580d6b012f7b6fe3aa5e92edd95403a941a475f81d169e337e28e3f858e31cda40e808bbfc9f2049917e614e48154e3514abd53eabf6abf9a03fbfa079216c2ad0c478009a2de8fe94fc80a905b30932d17cf3490b0e1c46450870631882c287a13dea680adaad05a15ff0002ee84c917bcdbb7d7e97da1921f09c236e613c8f67bf907f380d62b78e6c0701b9acd2abb83656deedca91088aebcd26bb1a763ef7dab77d47880e8cafbef50a072daa5de180d2be3869dcb1187f5fb62e391aa55d235ef772c38808a3d2f156da5d357a1a063bb1d300aaa8cde71a200bcbf86f7512e9640d42f3380ad26a440ead6e38e025ea27e4c61d8f74734893728e00f9d57eb4521e576ec97", +"9ecb50595177a3177648411a42aca0f53b2880ccfcb9650f1764ce72092cd8c2a9b2a237dee22b6a4b42facfbddc0d2dded2bc8038eaec222e3ad57272dadec1b6f8b33b1f2c831f3e1280662847bb6080e8d5ec80ab19bc967e9c7be013655549197002712b4e3cba3803c35236badc872fdf3f2f505f0e7b9012096b41c4eb3aaf947f6ea429080000805c4823a2c831fae207465959acd4250e8edb3b4c5f6ab6e4344aca3baa9eaf2280acc3fdd3a823110b0a67f332f6a4c2588c2e3a7bbba188464f4a28cfbd13b41f80deaed939d20f6089a99e8cf9a2d6fb1117bc1bfbe3592553bf1288fe2d59c6de", +"9f0dc63b0b76ffd6f80704a090da6f8719180080dc89902e909ee4918e5b69cf45cdf2dbc64681fc967849e20d901aa3baf97880806844f5ceff6f4e914d758565e90802e3739ed53e7b7c91727fcd10ce1bbb6d10", +]; +#[allow(dead_code)] +pub const STORAGE_ROOT: &[&str] = + &["3fa15d051c9e13076dbfc98f5aaac3b60dc07f208c1dd652a1abb3a2badabcf1"]; diff --git a/pallets/bulk/src/tests.rs b/pallets/bulk/src/tests.rs index f12f8c5..0f5c3d2 100644 --- a/pallets/bulk/src/tests.rs +++ b/pallets/bulk/src/tests.rs @@ -1,82 +1,63 @@ -// // Copyright (C) Magnet. -// // This file is part of Magnet. +// Copyright (C) Magnet. +// This file is part of Magnet. -// // Magnet 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. +// Magnet 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. -// // Magnet 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. +// Magnet 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 Magnet. If not, see . +// You should have received a copy of the GNU General Public License +// along with Magnet. If not, see . -// use crate::mock::*; -// use codec::Decode; -// use cumulus_primitives_core::{ParaId, PersistedValidationData}; -// use frame_support::{ -// inherent::{InherentData, ProvideInherent}, -// traits::UnfilteredDispatchable, -// }; -// use frame_system::RawOrigin; -// use parachains_common::AccountId; -// use primitives::HeadData; -// use sp_trie::StorageProof; +use crate::mock::*; +use crate::proof_data::{STORAGE_PROOF, STORAGE_ROOT}; +use codec::Decode; +use cumulus_primitives_core::{ParaId, PersistedValidationData}; +use frame_support::{ + inherent::{InherentData, ProvideInherent}, + traits::UnfilteredDispatchable, +}; +use frame_system::RawOrigin; +use pallet_broker::{CoreMask, RegionId}; +use parachains_common::AccountId; +use primitives::HeadData; +use sp_trie::StorageProof; -// use crate::proof_data::{ENCODED_PROOFS, HEAD_DATA}; -// #[test] -// fn order_default_value() { -// ExtBuilder::default().build().execute_with(|| { -// assert_eq!(OrderPallet::slot_width(), 2); -// }); -// } - -// #[test] -// fn order_normal_test() { -// ExtBuilder::default().build().execute_with(|| { -// System::set_block_number(1); - -// let encoded = ENCODED_PROOFS[0]; -// let root = hex::decode(encoded.0).unwrap(); -// let relay_chain_state_proof = -// StorageProof::new(encoded.1.iter().map(|s| hex::decode(s).unwrap())); -// let relay_root: cumulus_primitives_core::relay_chain::Hash = -// <[u8; 32]>::try_from(root).unwrap().into(); -// let mut inherent_data = InherentData::default(); -// let head_data = hex::decode(HEAD_DATA[0]).unwrap(); -// let perist_data = PersistedValidationData { -// parent_head: HeadData::decode(&mut head_data.as_slice()).unwrap(), -// relay_parent_number: 29, -// relay_parent_storage_root: relay_root, -// max_pov_size: 5242880 as u32, -// }; -// let order_inherent_data = magnet_primitives_order::OrderInherentData { -// relay_storage_proof: relay_chain_state_proof, -// validation_data: Some(perist_data), -// para_id: ParaId::from(1000), -// sequence_number: 0, -// author_pub: Some(AccountId::from(hex_literal::hex!( -// "d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d" -// ))), -// }; -// inherent_data -// .put_data(magnet_primitives_order::INHERENT_IDENTIFIER, &order_inherent_data) -// .expect("failed to put VFP inherent"); -// OrderPallet::create_inherent(&inherent_data) -// .expect("got an inherent") -// .dispatch_bypass_filter(RawOrigin::None.into()) -// .expect("dispatch succeeded"); -// OrderPallet::on_finalize(1); -// assert_eq!(OrderPallet::sequence_number(), 1); -// let gas_cost = MockPallet::get_gas_cost(1).unwrap(); -// assert_eq!( -// gas_cost.0, -// AccountId::from(hex_literal::hex!( -// "d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d" -// )) -// ); -// }); -// } +#[test] +fn bulk_inherent_test() { + ExtBuilder::default().build().execute_with(|| { + System::set_block_number(1); + let root = hex::decode(STORAGE_ROOT[0]).unwrap(); + let coretime_chain_state_proof = + StorageProof::new(STORAGE_PROOF.iter().map(|s| hex::decode(s).unwrap())); + let storage_root: cumulus_primitives_core::relay_chain::Hash = + <[u8; 32]>::try_from(root).unwrap().into(); + let core_mask = CoreMask::from(0xFFFFFFFFFFFFFFFFFFFF); + let region_id = RegionId { begin: 12, core: 1, mask: core_mask }; + let mut inherent_data = InherentData::default(); + let bulk_inherent_data = mp_coretime_bulk::BulkInherentData { + storage_proof: Some(coretime_chain_state_proof), + storage_root, + region_id, + start_relaychain_height: 120, + end_relaychain_height: 220, + }; + inherent_data + .put_data(mp_coretime_bulk::INHERENT_IDENTIFIER, &bulk_inherent_data) + .expect("failed to put VFP inherent"); + BulkPallet::create_inherent(&inherent_data) + .expect("got an inherent") + .dispatch_bypass_filter(RawOrigin::None.into()) + .expect("dispatch succeeded"); + BulkPallet::on_finalize(1); + assert_eq!(BulkPallet::record_index(), 1); + let record = BulkPallet::bulk_records(0).unwrap(); + assert_eq!(record.start_relaychain_height, 120); + assert_eq!(record.end_relaychain_height, 220); + }); +} diff --git a/primitives/coretime/bulk/src/lib.rs b/primitives/coretime/bulk/src/lib.rs index 06a9428..de7880d 100644 --- a/primitives/coretime/bulk/src/lib.rs +++ b/primitives/coretime/bulk/src/lib.rs @@ -49,7 +49,7 @@ pub struct BulkInherentData { } /// Status of bulk purchased then assigned. -#[derive(Clone, PartialEq, Eq)] +#[derive(Clone, PartialEq, Eq, Debug)] pub enum BulkStatus { /// User call broker purchase. Purchased, @@ -59,7 +59,7 @@ pub enum BulkStatus { CoreAssigned, } -#[derive(Clone)] +#[derive(Clone, Debug)] pub struct BulkMemRecord { /// Block height of coretime parachain. pub coretime_para_height: u32, From 234cce17ee4fb58d6975f74c2f3518338307ed98 Mon Sep 17 00:00:00 2001 From: sulijia <984115358@qq.com> Date: Fri, 28 Jun 2024 16:03:57 +0800 Subject: [PATCH 11/22] update weights.rs, add set_rpc_url weight --- pallets/bulk/src/benchmarking.rs | 76 +++++++++++++++----------------- pallets/bulk/src/lib.rs | 6 +-- pallets/bulk/src/weights.rs | 49 ++++++++++---------- runtime/Cargo.toml | 3 +- runtime/src/lib.rs | 3 +- 5 files changed, 66 insertions(+), 71 deletions(-) diff --git a/pallets/bulk/src/benchmarking.rs b/pallets/bulk/src/benchmarking.rs index 3abea2f..2344657 100644 --- a/pallets/bulk/src/benchmarking.rs +++ b/pallets/bulk/src/benchmarking.rs @@ -1,40 +1,36 @@ -// // Copyright (C) Magnet. -// // This file is part of Magnet. - -// // Magnet 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. - -// // Magnet 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 Magnet. If not, see . - -// //! Benchmarking setup for pallet-order - -// use super::*; - -// #[allow(unused)] -// use crate::Pallet as Order; -// use frame_benchmarking::{benchmarks, impl_benchmark_test_suite, whitelisted_caller}; -// use frame_system::RawOrigin; - -// benchmarks! { -// set_parameter { -// let s in 0 .. 100; -// let caller: T::AccountId = whitelisted_caller(); -// let test_balance = BalanceOf::::from(200000000 as u32); -// let test_threshold = BalanceOf::::from(3000000000 as u32); -// }: _(RawOrigin::Root, Some(4), Some(test_balance), Some(test_threshold)) -// verify { -// assert_eq!(SlotWidth::::get(), 4); -// assert_eq!(OrderMaxAmount::::get(), test_balance); -// assert_eq!(TxPoolThreshold::::get(), test_threshold); -// } -// } - -// impl_benchmark_test_suite!(Order, crate::mock::ExtBuilder::default().build(), crate::mock::Test,); +// Copyright (C) Magnet. +// This file is part of Magnet. + +// Magnet 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. + +// Magnet 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 Magnet. If not, see . + +//! Benchmarking setup for pallet-bulk + +use super::*; + +#[allow(unused)] +use crate::Pallet as Bulk; +use frame_benchmarking::{benchmarks, impl_benchmark_test_suite, whitelisted_caller}; +use frame_system::RawOrigin; + +benchmarks! { + set_rpc_url { + let s in 0 .. 100; + let url = BoundedVec::try_from("ws://127.0.0.1:8855".as_bytes().to_vec()).unwrap(); + }: _(RawOrigin::Root, url.clone()) + verify { + assert_eq!(RpcUrl::::get(), Some(url)); + } +} + +impl_benchmark_test_suite!(Bulk, crate::mock::ExtBuilder::default().build(), crate::mock::Test,); diff --git a/pallets/bulk/src/lib.rs b/pallets/bulk/src/lib.rs index 946564e..c70c80d 100644 --- a/pallets/bulk/src/lib.rs +++ b/pallets/bulk/src/lib.rs @@ -54,8 +54,8 @@ mod mock; #[cfg(test)] mod tests; -// #[cfg(any(test, feature = "runtime-benchmarks"))] -// mod benchmarking; +#[cfg(any(test, feature = "runtime-benchmarks"))] +mod benchmarking; mod proof_data; type BalanceOf = @@ -246,7 +246,7 @@ pub mod pallet { /// Parameters: /// - `url`: Url. #[pallet::call_index(1)] - #[pallet::weight(0)] + #[pallet::weight(::WeightInfo::set_rpc_url())] pub fn set_rpc_url( origin: OriginFor, url: BoundedVec, diff --git a/pallets/bulk/src/weights.rs b/pallets/bulk/src/weights.rs index 6563e21..0c6bf90 100644 --- a/pallets/bulk/src/weights.rs +++ b/pallets/bulk/src/weights.rs @@ -1,10 +1,10 @@ -//! Autogenerated weights for `pallet_order` +//! Autogenerated weights for `pallet_bulk` //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2024-01-19, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2024-06-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `sulijia-pc`, CPU: `AMD Ryzen 7 5800U with Radeon Graphics` +//! HOSTNAME: ``, CPU: `AMD Ryzen 7 5800U with Radeon Graphics` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: 1024 // Executed Command: @@ -16,7 +16,7 @@ // --execution=wasm // --wasm-execution=compiled // --pallet -// pallet_order +// pallet_bulk // --extrinsic // * // --steps @@ -24,47 +24,44 @@ // --repeat // 20 // --output -// pallets/order/src/weights.rs +// weights.rs #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] #![allow(unused_imports)] #![allow(missing_docs)] -use frame_support::{traits::Get, weights::Weight}; +use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}}; use core::marker::PhantomData; -use frame_support::weights::constants::RocksDbWeight; - +/// Weight functions needed for pallet. pub trait WeightInfo { - fn set_parameter(s: Option, ) -> Weight; + fn set_rpc_url() -> Weight; } -/// Weight functions for `pallet_order`. +/// Weight functions for `pallet_bulk`. pub struct SubstrateWeight(PhantomData); impl WeightInfo for SubstrateWeight { - /// Storage: `OrderPallet::SlotWidth` (r:0 w:1) - /// Proof: `OrderPallet::SlotWidth` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `OrderPallet::TxPoolThreshold` (r:0 w:1) - /// Proof: `OrderPallet::TxPoolThreshold` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `OrderPallet::OrderMaxAmount` (r:0 w:1) - /// Proof: `OrderPallet::OrderMaxAmount` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + /// Storage: `BulkPallet::RpcUrl` (r:0 w:1) + /// Proof: `BulkPallet::RpcUrl` (`max_values`: Some(1), `max_size`: Some(302), added: 797, mode: `MaxEncodedLen`) /// The range of component `s` is `[0, 100]`. - fn set_parameter(_s: Option, ) -> Weight { + fn set_rpc_url() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 4_649_000 picoseconds. - Weight::from_parts(5_090_860, 0) + // Minimum execution time: 3_486_000 picoseconds. + Weight::from_parts(4_089_957, 0) .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(T::DbWeight::get().writes(1)) } } impl WeightInfo for () { - fn set_parameter(_s: Option, ) -> Weight { - Weight::from_parts(5_090_860, 0) - .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 2_411 + fn set_rpc_url() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_486_000 picoseconds. + Weight::from_parts(4_089_957, 0) .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(RocksDbWeight::get().writes(3)) + .saturating_add(RocksDbWeight::get().writes(1)) } } \ No newline at end of file diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index 4b8471f..8b46185 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -248,7 +248,8 @@ runtime-benchmarks = [ "pallet-conviction-voting/runtime-benchmarks", "pallet-ranked-collective/runtime-benchmarks", "pallet-scheduler/runtime-benchmarks", - "pallet-contracts/runtime-benchmarks", + "pallet-contracts/runtime-benchmarks", + "pallet-bulk/runtime-benchmarks", ] try-runtime = [ diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index bd31392..f3b1932 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -785,7 +785,7 @@ impl pallet_bulk::Config for Runtime { type RelayChainStateProvider = cumulus_pallet_parachain_system::RelaychainDataProvider; type UpdateOrigin = EnsureRootOrHalf; type MaxUrlLength = MaxUrlLength; - type WeightInfo = (); + type WeightInfo = pallet_bulk::weights::SubstrateWeight; } parameter_types! { @@ -1241,6 +1241,7 @@ mod benches { [pallet_sudo, Sudo] [pallet_collator_selection, CollatorSelection] [cumulus_pallet_xcmp_queue, XcmpQueue] + [pallet_bulk, BulkPallet] // [pallet_order, OrderPallet] ); } From e0f2a76e4ff3d07b26a6737e14f8d68322795f34 Mon Sep 17 00:00:00 2001 From: sulijia <984115358@qq.com> Date: Sat, 29 Jun 2024 11:32:11 +0800 Subject: [PATCH 12/22] 1.remove useless import 2.add comment of coretime client and coretime primitives 3.reconstruct state snapshot code --- Cargo.lock | 19 +- client/coretime/bulk/Cargo.toml | 4 +- client/coretime/bulk/src/lib.rs | 175 +- client/coretime/bulk/src/metadata.rs | 19414 +--------------- client/coretime/common/Cargo.toml | 2 +- client/coretime/common/src/lib.rs | 36 +- node/src/service.rs | 1 - pallets/bulk/Cargo.toml | 4 +- pallets/bulk/src/lib.rs | 12 +- primitives/chain-state-snapshot/Cargo.toml | 24 - primitives/coretime/bulk/Cargo.toml | 4 +- .../coretime/bulk/src/inherent_client.rs | 9 +- primitives/coretime/bulk/src/lib.rs | 20 +- .../coretime/bulk/src/well_known_keys.rs | 9 +- primitives/coretime/common/Cargo.toml | 6 +- .../common/src/chain_state_snapshot.rs} | 12 +- primitives/coretime/common/src/lib.rs | 5 +- 17 files changed, 239 insertions(+), 19517 deletions(-) delete mode 100644 primitives/chain-state-snapshot/Cargo.toml rename primitives/{chain-state-snapshot/src/lib.rs => coretime/common/src/chain_state_snapshot.rs} (94%) diff --git a/Cargo.lock b/Cargo.lock index f1b0f16..dd6212f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2885,17 +2885,6 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" -[[package]] -name = "dp-chain-state-snapshot" -version = "0.1.0" -dependencies = [ - "cumulus-primitives-core", - "parity-scale-codec", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "sp-trie 29.0.0", -] - [[package]] name = "dtoa" version = "1.0.9" @@ -6020,11 +6009,11 @@ dependencies = [ "cumulus-primitives-core", "cumulus-primitives-parachain-inherent", "cumulus-relay-chain-interface", - "dp-chain-state-snapshot", "futures", "log", "mc-coretime-common", "mp-coretime-bulk", + "mp-coretime-common", "pallet-broker", "parity-scale-codec", "polkadot-node-primitives", @@ -6307,7 +6296,7 @@ dependencies = [ [[package]] name = "mp-coretime-bulk" -version = "0.2.0" +version = "0.1.0" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -6333,7 +6322,7 @@ dependencies = [ [[package]] name = "mp-coretime-common" -version = "0.2.0" +version = "0.1.0" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -7300,7 +7289,6 @@ version = "0.2.0" dependencies = [ "cumulus-pallet-parachain-system", "cumulus-primitives-core", - "dp-chain-state-snapshot", "frame-benchmarking", "frame-support", "frame-system", @@ -7308,6 +7296,7 @@ dependencies = [ "hex-literal", "log", "mp-coretime-bulk", + "mp-coretime-common", "pallet-balances", "pallet-broker", "pallet-collective", diff --git a/client/coretime/bulk/Cargo.toml b/client/coretime/bulk/Cargo.toml index 0691b3e..520a191 100644 --- a/client/coretime/bulk/Cargo.toml +++ b/client/coretime/bulk/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "mc-coretime-bulk" -authors = ["Anonymous"] +authors = ["Magnet"] description = "client of magnet coretime bulk mode" license = "Apache License 2.0" homepage = "https://magnet.magport.io/" @@ -18,8 +18,8 @@ log = { workspace = true } subxt = { workspace = true, features = ["substrate-compat"]} # Local -dp-chain-state-snapshot = { path = "../../../primitives/chain-state-snapshot"} mp-coretime-bulk = { path = "../../../primitives/coretime/bulk"} +mp-coretime-common = { path = "../../../primitives/coretime/common"} mc-coretime-common = { path = "../common"} # Substrate diff --git a/client/coretime/bulk/src/lib.rs b/client/coretime/bulk/src/lib.rs index 29b0603..c4f11b9 100644 --- a/client/coretime/bulk/src/lib.rs +++ b/client/coretime/bulk/src/lib.rs @@ -13,56 +13,45 @@ // You should have received a copy of the GNU General Public License // along with Magnet. If not, see . -use cumulus_primitives_core::ParaId; + +//! Coretime bulk mode Spawner +//! +//! The technical implementation logic here is to periodically call the background task here based on the interval between +//! parachain releases as the time period. +//! Each time it is called, it first checks the final block of the coretime parachain to see if there is an Assigned event +//! and assigns it to the current parachain. If so, it records it and then looks for subsequent block events to see if there +//! is a CoreAssigned event. If so, it means that coretime is assigned to the parachain, +//! and then the information recorded in the memory is passed to the block through inherent data. +//! +mod metadata; + +use codec::Codec; +use cumulus_primitives_core::{relay_chain::BlockNumber as RelayBlockNumber, ParaId}; use cumulus_relay_chain_interface::RelayChainInterface; -use mp_coretime_bulk::BulkStatus; -use polkadot_primitives::AccountId; -use polkadot_primitives::Balance; +use futures::{lock::Mutex, pin_mut, select, FutureExt, StreamExt}; +use mc_coretime_common::is_parathread; +use mp_coretime_bulk::{ + self, well_known_keys::broker_regions, BulkMemRecord, BulkRuntimeApi, BulkStatus, +}; +use mp_coretime_common::chain_state_snapshot::GenericStateProof; +use pallet_broker::{CoreMask, RegionId, RegionRecord}; +use polkadot_primitives::{AccountId, Balance}; use sc_client_api::UsageProvider; use sc_service::TaskManager; use sp_api::ProvideRuntimeApi; -use sp_core::ByteArray; -use std::error::Error; -use std::sync::Arc; -mod metadata; -use codec::{Codec, Decode}; -use cumulus_primitives_core::relay_chain::BlockNumber as RelayBlockNumber; -use dp_chain_state_snapshot::GenericStateProof; -use futures::{lock::Mutex, pin_mut, select, FutureExt, Stream, StreamExt}; -use mc_coretime_common::is_parathread; -use metadata::api::runtime_types::pallet_broker::coretime_interface; -use metadata::api::{runtime_types, runtime_types::coretime_rococo_runtime as polakdot_runtime}; -use mp_coretime_bulk::well_known_keys::REGIONS; -use mp_coretime_bulk::BulkMemRecord; -use mp_coretime_bulk::BulkRuntimeApi; -use mp_coretime_bulk::{self, well_known_keys::broker_regions}; -use pallet_broker::CoreAssignment; -use pallet_broker::RegionRecord; -use pallet_broker::{CoreMask, RegionId}; use sp_application_crypto::AppPublic; use sp_consensus_aura::AuraApi; use sp_core::{crypto::Pair, H256}; use sp_keystore::KeystorePtr; -use sp_runtime::{ - codec::Encode, - traits::{AtLeast32BitUnsigned, Block as BlockT, Header as HeaderT, MaybeDisplay, Member}, -}; +use sp_runtime::traits::{Block as BlockT, Member}; use sp_state_machine::StorageProof; -use sp_storage::StorageKey; -use std::fmt::Debug; -use subxt::client::OfflineClientT; +use std::{error::Error, sync::Arc}; use subxt::{ backend::{legacy::LegacyRpcMethods, rpc::RpcClient}, - config::polkadot::PolkadotExtrinsicParamsBuilder as Params, - tx::Signer, - utils::MultiSignature, - Config, OnlineClient, PolkadotConfig, + OnlineClient, PolkadotConfig, }; -// use subxt::ext::scale_encode; -// use subxt::ext::scale_decode; -// use subxt::ext::scale_decode::DecodeAsType; -// use subxt::ext::scale_encode::EncodeAsType; +/// [u8;10] to u128 fn u8_array_to_u128(array: [u8; 10]) -> u128 { let mut result: u128 = 0; for &byte in &array { @@ -71,32 +60,7 @@ fn u8_array_to_u128(array: [u8; 10]) -> u128 { result } -// #[derive(Encode, Decode)] -// enum CoretimeParaRuntimePallets { -// #[codec(index = 50)] -// Broker(BrokerProviderEvents), -// } - -// #[derive(Encode, Decode, EncodeAsType, DecodeAsType)] -// struct CoreAssigned { -// /// The index of the Core which has been assigned. -// core: u16, -// /// The Relay-chain block at which this assignment should take effect. -// when: u32, -// /// The workload to be done on the Core. -// assignment: Vec<(CoreAssignment, u16)>, -// } -// impl subxt::events::StaticEvent for CoreAssigned { -// const PALLET: &'static str = "Broker"; -// const EVENT: &'static str = "CoreAssigned"; -// } - -// #[derive(Encode, Decode)] -// enum BrokerProviderEvents { -// #[codec(index = 26)] -// CoreAssigned(CoreAssigned), -// } - +/// The main logic of bulk task. pub async fn coretime_bulk_task( parachain: &P, relay_chain: R, @@ -104,7 +68,6 @@ pub async fn coretime_bulk_task( p_hash: H256, para_id: ParaId, bulk_record: Arc>, - keystore: KeystorePtr, ) -> Result<(), Box> where Block: BlockT, @@ -121,25 +84,25 @@ where return Ok(()); } - // Randomly select a collator to perform the following operations. let hash = parachain.usage_info().chain.finalized_hash; - let authorities = parachain.runtime_api().authorities(hash).map_err(Box::new)?; - let auth_len = authorities.len() as u32; - let idx = height % auth_len; - let collator_public = mc_coretime_common::order_slot::(idx, &authorities, &keystore).await; - - // if collator_public.is_none() { - // return Ok(()); - // } + let mut bulk_record_local = bulk_record.lock().await; + let bulk_status = bulk_record_local.status.clone(); - // Query Broker Assigned Event + // Get the final block of the coretime parachain through subxt. let url = parachain.runtime_api().rpc_url(hash)?; + let rpc_url = std::str::from_utf8(&url)?; + let api = OnlineClient::::from_url(rpc_url).await?; + let block = api.blocks().at_latest().await?; + let pre_block_height = bulk_record_local.coretime_para_height; + let block_number = block.number(); + + // If the block number has not changed, it will be returned without any processing. if pre_block_height != block_number { bulk_record_local.coretime_para_height = block_number; } else { @@ -149,44 +112,61 @@ where let events = block.events().await?; for event in events.iter() { let event = event?; + // Init status is Purchased,assume that a user has already purchased coretime. if bulk_status == BulkStatus::Purchased { - let ev_assigned = event.as_event::(); + // Query Broker Assigned Event + let ev_assigned = event.as_event::(); + if let Ok(assigned_event) = ev_assigned { if let Some(ev) = assigned_event { - log::info!("{:?},{:?},{:?}", ev.region_id, ev.task, ev.duration); + log::info!( + "Find Assigned event:{:?},{:?},{:?}", + ev.region_id, + ev.task, + ev.duration + ); + let pid: u32 = para_id.into(); + if ev.task == pid { - // + // Call rpc state_getReadProof. let rpc_client = RpcClient::from_url(rpc_url).await?; + let rpc = LegacyRpcMethods::::new(rpc_client.clone()); + let mask = u8_array_to_u128(ev.region_id.mask.0); + let core_mask = CoreMask::from(mask); + let region_id = RegionId { begin: ev.region_id.begin, core: ev.region_id.core, mask: core_mask, }; - println!("region_id:{:?}", region_id); + let key = broker_regions(region_id); - println!("key:{:?}", key); + let mut relevant_keys = Vec::new(); relevant_keys.push(key.as_slice()); + let proof = rpc .state_get_read_proof(relevant_keys, Some(events.block_hash())) .await .unwrap(); let storage_proof = StorageProof::new(proof.proof.into_iter().map(|bytes| bytes.to_vec())); - println!("{:?}", storage_proof); + let storage_root = block.header().state_root; + // Create coretime parachain storage root proof. let relay_storage_rooted_proof: GenericStateProof< cumulus_primitives_core::relay_chain::Block, > = GenericStateProof::new(storage_root, storage_proof.clone()).unwrap(); + let head_data = relay_storage_rooted_proof .read_entry::>(key.as_slice(), None) .ok(); - println!("head_data:{:?}", head_data); - if let Some(region_record) = head_data { + // Check proof is ok. + if head_data.is_some() { bulk_record_local.storage_proof = storage_proof; bulk_record_local.storage_root = storage_root; bulk_record_local.region_id = region_id; @@ -198,20 +178,32 @@ where continue; } } + // Should first record Assigned event info. if bulk_status == BulkStatus::Assigned { - let ev_core_assigned = event.as_event::(); - log::info!("ev_core_assigned:{:?}", ev_core_assigned); + // Query CoreAssigned event. + let ev_core_assigned = event.as_event::(); + if let Ok(core_assigned_event) = ev_core_assigned { if let Some(ev) = core_assigned_event { - log::info!("{:?},{:?},{:?}", ev.core, ev.when, ev.assignment); + log::info!( + "Find CoreAssigned event: {:?},{:?},{:?}", + ev.core, + ev.when, + ev.assignment + ); + for (core_assign, _) in ev.assignment { - if let coretime_interface::CoreAssignment::Task(id) = core_assign { + if let metadata::CoreAssignment::Task(id) = core_assign { let pid: u32 = para_id.into(); if id == pid { bulk_record_local.start_relaychain_height = ev.when; + let constant_query = - metadata::api::ConstantsApi.broker().timeslice_period(); - let time_slice = api.constants().at(&constant_query)?; + subxt::dynamic::constant("Broker", "TimeslicePeriod"); + + let time_slice = + api.constants().at(&constant_query)?.to_value()?.context; + bulk_record_local.end_relaychain_height = ev.when + bulk_record_local.duration * time_slice; // find it. @@ -223,7 +215,6 @@ where } } } - log::info!("bulk_record:{:?}", bulk_record_local); Ok(()) } @@ -232,7 +223,6 @@ pub async fn run_coretime_bulk_task( relay_chain: R, para_id: ParaId, bulk_record: Arc>, - keystore: KeystorePtr, ) where Block: BlockT, P: ProvideRuntimeApi + UsageProvider, @@ -254,7 +244,7 @@ pub async fn run_coretime_bulk_task( h = new_best_heads.next() => { match h { Some((height, hash)) => { - coretime_bulk_task::<_,_,_, PB>(&*parachain, relay_chain.clone(), height, hash, para_id, bulk_record.clone(), keystore.clone()).await?; + coretime_bulk_task::<_,_,_, PB>(&*parachain, relay_chain.clone(), height, hash, para_id, bulk_record.clone()).await?; }, None => { return Ok::<(), Box>(()); @@ -269,13 +259,13 @@ pub async fn run_coretime_bulk_task( } } +/// Spawn task for bulk mode pub fn spawn_bulk_task( parachain: Arc

, para_id: ParaId, relay_chain: R, task_manager: &TaskManager, bulk_record: Arc>, - keystore: KeystorePtr, ) -> sc_service::error::Result<()> where Block: BlockT, @@ -291,7 +281,6 @@ where relay_chain.clone(), para_id, bulk_record.clone(), - keystore, ); task_manager .spawn_essential_handle() diff --git a/client/coretime/bulk/src/metadata.rs b/client/coretime/bulk/src/metadata.rs index 5805941..9aa3fd0 100644 --- a/client/coretime/bulk/src/metadata.rs +++ b/client/coretime/bulk/src/metadata.rs @@ -1,19308 +1,108 @@ -#[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 static PALLETS: [&str; 19usize] = [ - "System", - "ParachainSystem", - "Timestamp", - "ParachainInfo", - "Balances", - "TransactionPayment", - "Authorship", - "CollatorSelection", - "Session", - "Aura", - "AuraExt", - "XcmpQueue", - "PolkadotXcm", - "CumulusXcm", - "MessageQueue", - "Utility", - "Multisig", - "Broker", - "Sudo", - ]; - pub static RUNTIME_APIS: [&str; 12usize] = [ - "AuraApi", - "Core", - "Metadata", - "BlockBuilder", - "TaggedTransactionQueue", - "OffchainWorkerApi", - "SessionKeys", - "AccountNonceApi", - "TransactionPaymentApi", - "TransactionPaymentCallApi", - "CollectCollationInfo", - "GenesisBuilder", - ]; - #[doc = r" The error type returned when there is a runtime issue."] - pub type DispatchError = runtime_types::sp_runtime::DispatchError; - #[doc = r" The outer event enum."] - pub type Event = runtime_types::coretime_rococo_runtime::RuntimeEvent; - #[doc = r" The outer extrinsic enum."] - pub type Call = runtime_types::coretime_rococo_runtime::RuntimeCall; - #[doc = r" The outer error enum representing the DispatchError's Module variant."] - pub type Error = runtime_types::coretime_rococo_runtime::RuntimeError; - pub fn constants() -> ConstantsApi { - ConstantsApi - } - pub fn storage() -> StorageApi { - StorageApi - } - pub fn tx() -> TransactionApi { - TransactionApi - } - pub fn apis() -> runtime_apis::RuntimeApi { - runtime_apis::RuntimeApi - } - pub mod runtime_apis { - use super::root_mod; - use super::runtime_types; - use subxt::ext::codec::Encode; - pub struct RuntimeApi; - impl RuntimeApi { - pub fn aura_api(&self) -> aura_api::AuraApi { - aura_api::AuraApi - } - pub fn core(&self) -> core::Core { - core::Core - } - pub fn metadata(&self) -> metadata::Metadata { - metadata::Metadata - } - pub fn block_builder(&self) -> block_builder::BlockBuilder { - block_builder::BlockBuilder - } - pub fn tagged_transaction_queue( - &self, - ) -> tagged_transaction_queue::TaggedTransactionQueue { - tagged_transaction_queue::TaggedTransactionQueue - } - pub fn offchain_worker_api(&self) -> offchain_worker_api::OffchainWorkerApi { - offchain_worker_api::OffchainWorkerApi - } - pub fn session_keys(&self) -> session_keys::SessionKeys { - session_keys::SessionKeys - } - pub fn account_nonce_api(&self) -> account_nonce_api::AccountNonceApi { - account_nonce_api::AccountNonceApi - } - pub fn transaction_payment_api( - &self, - ) -> transaction_payment_api::TransactionPaymentApi { - transaction_payment_api::TransactionPaymentApi - } - pub fn transaction_payment_call_api( - &self, - ) -> transaction_payment_call_api::TransactionPaymentCallApi { - transaction_payment_call_api::TransactionPaymentCallApi - } - pub fn collect_collation_info(&self) -> collect_collation_info::CollectCollationInfo { - collect_collation_info::CollectCollationInfo - } - pub fn genesis_builder(&self) -> genesis_builder::GenesisBuilder { - genesis_builder::GenesisBuilder - } - } - pub mod aura_api { - use super::root_mod; - use super::runtime_types; - #[doc = " API necessary for block authorship with aura."] - pub struct AuraApi; - impl AuraApi { - #[doc = " Returns the slot duration for Aura."] - #[doc = ""] - #[doc = " Currently, only the value provided by this type at genesis will be used."] - pub fn slot_duration( - &self, - ) -> ::subxt::runtime_api::Payload< - types::SlotDuration, - runtime_types::sp_consensus_slots::SlotDuration, - > { - ::subxt::runtime_api::Payload::new_static( - "AuraApi", - "slot_duration", - types::SlotDuration {}, - [ - 233u8, 210u8, 132u8, 172u8, 100u8, 125u8, 239u8, 92u8, 114u8, 82u8, - 7u8, 110u8, 179u8, 196u8, 10u8, 19u8, 211u8, 15u8, 174u8, 2u8, 91u8, - 73u8, 133u8, 100u8, 205u8, 201u8, 191u8, 60u8, 163u8, 122u8, 215u8, - 10u8, - ], - ) - } - #[doc = " Return the current set of authorities."] - pub fn authorities( - &self, - ) -> ::subxt::runtime_api::Payload< - types::Authorities, - ::std::vec::Vec, - > { - ::subxt::runtime_api::Payload::new_static( - "AuraApi", - "authorities", - types::Authorities {}, - [ - 96u8, 136u8, 226u8, 244u8, 105u8, 189u8, 8u8, 250u8, 71u8, 230u8, 37u8, - 123u8, 218u8, 47u8, 179u8, 16u8, 170u8, 181u8, 165u8, 77u8, 102u8, - 51u8, 43u8, 51u8, 186u8, 84u8, 49u8, 15u8, 208u8, 226u8, 129u8, 230u8, - ], - ) - } - } - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SlotDuration {} - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Authorities {} - } - } - pub mod core { - use super::root_mod; - use super::runtime_types; - #[doc = " The `Core` runtime api that every Substrate runtime needs to implement."] - pub struct Core; - impl Core { - #[doc = " Returns the version of the runtime."] - pub fn version( - &self, - ) -> ::subxt::runtime_api::Payload< - types::Version, - runtime_types::sp_version::RuntimeVersion, - > { - ::subxt::runtime_api::Payload::new_static( - "Core", - "version", - types::Version {}, - [ - 76u8, 202u8, 17u8, 117u8, 189u8, 237u8, 239u8, 237u8, 151u8, 17u8, - 125u8, 159u8, 218u8, 92u8, 57u8, 238u8, 64u8, 147u8, 40u8, 72u8, 157u8, - 116u8, 37u8, 195u8, 156u8, 27u8, 123u8, 173u8, 178u8, 102u8, 136u8, - 6u8, - ], - ) - } - #[doc = " Execute the given block."] - pub fn execute_block( - &self, - block : runtime_types :: sp_runtime :: generic :: block :: Block < runtime_types :: sp_runtime :: generic :: header :: Header < :: core :: primitive :: u32 > , :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) > >, - ) -> ::subxt::runtime_api::Payload { - ::subxt::runtime_api::Payload::new_static( - "Core", - "execute_block", - types::ExecuteBlock { block }, - [ - 133u8, 135u8, 228u8, 65u8, 106u8, 27u8, 85u8, 158u8, 112u8, 254u8, - 93u8, 26u8, 102u8, 201u8, 118u8, 216u8, 249u8, 247u8, 91u8, 74u8, 56u8, - 208u8, 231u8, 115u8, 131u8, 29u8, 209u8, 6u8, 65u8, 57u8, 214u8, 125u8, - ], - ) - } - #[doc = " Initialize a block with the given header."] - pub fn initialize_block( - &self, - header: runtime_types::sp_runtime::generic::header::Header< - ::core::primitive::u32, - >, - ) -> ::subxt::runtime_api::Payload { - ::subxt::runtime_api::Payload::new_static( - "Core", - "initialize_block", - types::InitializeBlock { header }, - [ - 146u8, 138u8, 72u8, 240u8, 63u8, 96u8, 110u8, 189u8, 77u8, 92u8, 96u8, - 232u8, 41u8, 217u8, 105u8, 148u8, 83u8, 190u8, 152u8, 219u8, 19u8, - 87u8, 163u8, 1u8, 232u8, 25u8, 221u8, 74u8, 224u8, 67u8, 223u8, 34u8, - ], - ) - } - } - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Version {} - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ExecuteBlock { pub block : runtime_types :: sp_runtime :: generic :: block :: Block < runtime_types :: sp_runtime :: generic :: header :: Header < :: core :: primitive :: u32 > , :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) > > , } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct InitializeBlock { - pub header: - runtime_types::sp_runtime::generic::header::Header<::core::primitive::u32>, - } - } - } - pub mod metadata { - use super::root_mod; - use super::runtime_types; - #[doc = " The `Metadata` api trait that returns metadata for the runtime."] - pub struct Metadata; - impl Metadata { - #[doc = " Returns the metadata of a runtime."] - pub fn metadata( - &self, - ) -> ::subxt::runtime_api::Payload< - types::Metadata, - runtime_types::sp_core::OpaqueMetadata, - > { - ::subxt::runtime_api::Payload::new_static( - "Metadata", - "metadata", - types::Metadata {}, - [ - 231u8, 24u8, 67u8, 152u8, 23u8, 26u8, 188u8, 82u8, 229u8, 6u8, 185u8, - 27u8, 175u8, 68u8, 83u8, 122u8, 69u8, 89u8, 185u8, 74u8, 248u8, 87u8, - 217u8, 124u8, 193u8, 252u8, 199u8, 186u8, 196u8, 179u8, 179u8, 96u8, - ], - ) - } - #[doc = " Returns the metadata at a given version."] - #[doc = ""] - #[doc = " If the given `version` isn't supported, this will return `None`."] - #[doc = " Use [`Self::metadata_versions`] to find out about supported metadata version of the runtime."] - pub fn metadata_at_version( - &self, - version: ::core::primitive::u32, - ) -> ::subxt::runtime_api::Payload< - types::MetadataAtVersion, - ::core::option::Option, - > { - ::subxt::runtime_api::Payload::new_static( - "Metadata", - "metadata_at_version", - types::MetadataAtVersion { version }, - [ - 131u8, 53u8, 212u8, 234u8, 16u8, 25u8, 120u8, 252u8, 153u8, 153u8, - 216u8, 28u8, 54u8, 113u8, 52u8, 236u8, 146u8, 68u8, 142u8, 8u8, 10u8, - 169u8, 131u8, 142u8, 204u8, 38u8, 48u8, 108u8, 134u8, 86u8, 226u8, - 61u8, - ], - ) - } - #[doc = " Returns the supported metadata versions."] - #[doc = ""] - #[doc = " This can be used to call `metadata_at_version`."] - pub fn metadata_versions( - &self, - ) -> ::subxt::runtime_api::Payload< - types::MetadataVersions, - ::std::vec::Vec<::core::primitive::u32>, - > { - ::subxt::runtime_api::Payload::new_static( - "Metadata", - "metadata_versions", - types::MetadataVersions {}, - [ - 23u8, 144u8, 137u8, 91u8, 188u8, 39u8, 231u8, 208u8, 252u8, 218u8, - 224u8, 176u8, 77u8, 32u8, 130u8, 212u8, 223u8, 76u8, 100u8, 190u8, - 82u8, 94u8, 190u8, 8u8, 82u8, 244u8, 225u8, 179u8, 85u8, 176u8, 56u8, - 16u8, - ], - ) - } - } - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Metadata {} - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct MetadataAtVersion { - pub version: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct MetadataVersions {} - } - } - pub mod block_builder { - use super::root_mod; - use super::runtime_types; - #[doc = " The `BlockBuilder` api trait that provides the required functionality for building a block."] - pub struct BlockBuilder; - impl BlockBuilder { - #[doc = " Apply the given extrinsic."] - #[doc = ""] - #[doc = " Returns an inclusion outcome which specifies if this extrinsic is included in"] - #[doc = " this block or not."] - pub fn apply_extrinsic( - &self, - extrinsic : :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) >, - ) -> ::subxt::runtime_api::Payload< - types::ApplyExtrinsic, - ::core::result::Result< - ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, - runtime_types::sp_runtime::transaction_validity::TransactionValidityError, - >, - > { - ::subxt::runtime_api::Payload::new_static( - "BlockBuilder", - "apply_extrinsic", - types::ApplyExtrinsic { extrinsic }, - [ - 72u8, 54u8, 139u8, 3u8, 118u8, 136u8, 65u8, 47u8, 6u8, 105u8, 125u8, - 223u8, 160u8, 29u8, 103u8, 74u8, 79u8, 149u8, 48u8, 90u8, 237u8, 2u8, - 97u8, 201u8, 123u8, 34u8, 167u8, 37u8, 187u8, 35u8, 176u8, 97u8, - ], - ) - } - #[doc = " Finish the current block."] - pub fn finalize_block( - &self, - ) -> ::subxt::runtime_api::Payload< - types::FinalizeBlock, - runtime_types::sp_runtime::generic::header::Header<::core::primitive::u32>, - > { - ::subxt::runtime_api::Payload::new_static( - "BlockBuilder", - "finalize_block", - types::FinalizeBlock {}, - [ - 244u8, 207u8, 24u8, 33u8, 13u8, 69u8, 9u8, 249u8, 145u8, 143u8, 122u8, - 96u8, 197u8, 55u8, 64u8, 111u8, 238u8, 224u8, 34u8, 201u8, 27u8, 146u8, - 232u8, 99u8, 191u8, 30u8, 114u8, 16u8, 32u8, 220u8, 58u8, 62u8, - ], - ) - } - #[doc = " Generate inherent extrinsics. The inherent data will vary from chain to chain."] pub fn inherent_extrinsics (& self , inherent : runtime_types :: sp_inherents :: InherentData ,) -> :: subxt :: runtime_api :: Payload < types :: InherentExtrinsics , :: std :: vec :: Vec < :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) > > >{ - ::subxt::runtime_api::Payload::new_static( - "BlockBuilder", - "inherent_extrinsics", - types::InherentExtrinsics { inherent }, - [ - 254u8, 110u8, 245u8, 201u8, 250u8, 192u8, 27u8, 228u8, 151u8, 213u8, - 166u8, 89u8, 94u8, 81u8, 189u8, 234u8, 64u8, 18u8, 245u8, 80u8, 29u8, - 18u8, 140u8, 129u8, 113u8, 236u8, 135u8, 55u8, 79u8, 159u8, 175u8, - 183u8, - ], - ) - } - #[doc = " Check that the inherents are valid. The inherent data will vary from chain to chain."] - pub fn check_inherents( - &self, - block : runtime_types :: sp_runtime :: generic :: block :: Block < runtime_types :: sp_runtime :: generic :: header :: Header < :: core :: primitive :: u32 > , :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) > >, - data: runtime_types::sp_inherents::InherentData, - ) -> ::subxt::runtime_api::Payload< - types::CheckInherents, - runtime_types::sp_inherents::CheckInherentsResult, - > { - ::subxt::runtime_api::Payload::new_static( - "BlockBuilder", - "check_inherents", - types::CheckInherents { block, data }, - [ - 153u8, 134u8, 1u8, 215u8, 139u8, 11u8, 53u8, 51u8, 210u8, 175u8, 197u8, - 28u8, 38u8, 209u8, 175u8, 247u8, 142u8, 157u8, 50u8, 151u8, 164u8, - 191u8, 181u8, 118u8, 80u8, 97u8, 160u8, 248u8, 110u8, 217u8, 181u8, - 234u8, - ], - ) - } - } - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ApplyExtrinsic { pub extrinsic : :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) > , } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct FinalizeBlock {} - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct InherentExtrinsics { - pub inherent: runtime_types::sp_inherents::InherentData, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CheckInherents { pub block : runtime_types :: sp_runtime :: generic :: block :: Block < runtime_types :: sp_runtime :: generic :: header :: Header < :: core :: primitive :: u32 > , :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) > > , pub data : runtime_types :: sp_inherents :: InherentData , } - } - } - pub mod tagged_transaction_queue { - use super::root_mod; - use super::runtime_types; - #[doc = " The `TaggedTransactionQueue` api trait for interfering with the transaction queue."] - pub struct TaggedTransactionQueue; - impl TaggedTransactionQueue { - #[doc = " Validate the transaction."] - #[doc = ""] - #[doc = " This method is invoked by the transaction pool to learn details about given transaction."] - #[doc = " The implementation should make sure to verify the correctness of the transaction"] - #[doc = " against current state. The given `block_hash` corresponds to the hash of the block"] - #[doc = " that is used as current state."] - #[doc = ""] - #[doc = " Note that this call may be performed by the pool multiple times and transactions"] - #[doc = " might be verified in any possible order."] - pub fn validate_transaction( - &self, - source: runtime_types::sp_runtime::transaction_validity::TransactionSource, - tx : :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) >, - block_hash: ::subxt::utils::H256, - ) -> ::subxt::runtime_api::Payload< - types::ValidateTransaction, - ::core::result::Result< - runtime_types::sp_runtime::transaction_validity::ValidTransaction, - runtime_types::sp_runtime::transaction_validity::TransactionValidityError, - >, - > { - ::subxt::runtime_api::Payload::new_static( - "TaggedTransactionQueue", - "validate_transaction", - types::ValidateTransaction { source, tx, block_hash }, - [ - 196u8, 50u8, 90u8, 49u8, 109u8, 251u8, 200u8, 35u8, 23u8, 150u8, 140u8, - 143u8, 232u8, 164u8, 133u8, 89u8, 32u8, 240u8, 115u8, 39u8, 95u8, 70u8, - 162u8, 76u8, 122u8, 73u8, 151u8, 144u8, 234u8, 120u8, 100u8, 29u8, - ], - ) - } - } - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ValidateTransaction { pub source : runtime_types :: sp_runtime :: transaction_validity :: TransactionSource , pub tx : :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) > , pub block_hash : :: subxt :: utils :: H256 , } - } - } - pub mod offchain_worker_api { - use super::root_mod; - use super::runtime_types; - #[doc = " The offchain worker api."] - pub struct OffchainWorkerApi; - impl OffchainWorkerApi { - #[doc = " Starts the off-chain task for given block header."] - pub fn offchain_worker( - &self, - header: runtime_types::sp_runtime::generic::header::Header< - ::core::primitive::u32, - >, - ) -> ::subxt::runtime_api::Payload { - ::subxt::runtime_api::Payload::new_static( - "OffchainWorkerApi", - "offchain_worker", - types::OffchainWorker { header }, - [ - 10u8, 135u8, 19u8, 153u8, 33u8, 216u8, 18u8, 242u8, 33u8, 140u8, 4u8, - 223u8, 200u8, 130u8, 103u8, 118u8, 137u8, 24u8, 19u8, 127u8, 161u8, - 29u8, 184u8, 111u8, 222u8, 111u8, 253u8, 73u8, 45u8, 31u8, 79u8, 60u8, - ], - ) - } - } - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct OffchainWorker { - pub header: - runtime_types::sp_runtime::generic::header::Header<::core::primitive::u32>, - } - } - } - pub mod session_keys { - use super::root_mod; - use super::runtime_types; - #[doc = " Session keys runtime api."] - pub struct SessionKeys; - impl SessionKeys { - #[doc = " Generate a set of session keys with optionally using the given seed."] - #[doc = " The keys should be stored within the keystore exposed via runtime"] - #[doc = " externalities."] - #[doc = ""] - #[doc = " The seed needs to be a valid `utf8` string."] - #[doc = ""] - #[doc = " Returns the concatenated SCALE encoded public keys."] - pub fn generate_session_keys( - &self, - seed: ::core::option::Option<::std::vec::Vec<::core::primitive::u8>>, - ) -> ::subxt::runtime_api::Payload< - types::GenerateSessionKeys, - ::std::vec::Vec<::core::primitive::u8>, - > { - ::subxt::runtime_api::Payload::new_static( - "SessionKeys", - "generate_session_keys", - types::GenerateSessionKeys { seed }, - [ - 96u8, 171u8, 164u8, 166u8, 175u8, 102u8, 101u8, 47u8, 133u8, 95u8, - 102u8, 202u8, 83u8, 26u8, 238u8, 47u8, 126u8, 132u8, 22u8, 11u8, 33u8, - 190u8, 175u8, 94u8, 58u8, 245u8, 46u8, 80u8, 195u8, 184u8, 107u8, 65u8, - ], - ) - } - #[doc = " Decode the given public session keys."] - #[doc = ""] - #[doc = " Returns the list of public raw public keys + key type."] - pub fn decode_session_keys( - &self, - encoded: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::runtime_api::Payload< - types::DecodeSessionKeys, - ::core::option::Option< - ::std::vec::Vec<( - ::std::vec::Vec<::core::primitive::u8>, - runtime_types::sp_core::crypto::KeyTypeId, - )>, - >, - > { - ::subxt::runtime_api::Payload::new_static( - "SessionKeys", - "decode_session_keys", - types::DecodeSessionKeys { encoded }, - [ - 57u8, 242u8, 18u8, 51u8, 132u8, 110u8, 238u8, 255u8, 39u8, 194u8, 8u8, - 54u8, 198u8, 178u8, 75u8, 151u8, 148u8, 176u8, 144u8, 197u8, 87u8, - 29u8, 179u8, 235u8, 176u8, 78u8, 252u8, 103u8, 72u8, 203u8, 151u8, - 248u8, - ], - ) - } - } - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct GenerateSessionKeys { - pub seed: ::core::option::Option<::std::vec::Vec<::core::primitive::u8>>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct DecodeSessionKeys { - pub encoded: ::std::vec::Vec<::core::primitive::u8>, - } - } - } - pub mod account_nonce_api { - use super::root_mod; - use super::runtime_types; - #[doc = " The API to query account nonce."] - pub struct AccountNonceApi; - impl AccountNonceApi { - #[doc = " Get current account nonce of given `AccountId`."] - pub fn account_nonce( - &self, - account: ::subxt::utils::AccountId32, - ) -> ::subxt::runtime_api::Payload { - ::subxt::runtime_api::Payload::new_static( - "AccountNonceApi", - "account_nonce", - types::AccountNonce { account }, - [ - 231u8, 82u8, 7u8, 227u8, 131u8, 2u8, 215u8, 252u8, 173u8, 82u8, 11u8, - 103u8, 200u8, 25u8, 114u8, 116u8, 79u8, 229u8, 152u8, 150u8, 236u8, - 37u8, 101u8, 26u8, 220u8, 146u8, 182u8, 101u8, 73u8, 55u8, 191u8, - 171u8, - ], - ) - } - } - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AccountNonce { - pub account: ::subxt::utils::AccountId32, - } - } - } - pub mod transaction_payment_api { - use super::root_mod; - use super::runtime_types; - pub struct TransactionPaymentApi; - impl TransactionPaymentApi { - pub fn query_info( - &self, - uxt : :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) >, - len: ::core::primitive::u32, - ) -> ::subxt::runtime_api::Payload< - types::QueryInfo, - runtime_types::pallet_transaction_payment::types::RuntimeDispatchInfo< - ::core::primitive::u128, - runtime_types::sp_weights::weight_v2::Weight, - >, - > { - ::subxt::runtime_api::Payload::new_static( - "TransactionPaymentApi", - "query_info", - types::QueryInfo { uxt, len }, - [ - 56u8, 30u8, 174u8, 34u8, 202u8, 24u8, 177u8, 189u8, 145u8, 36u8, 1u8, - 156u8, 98u8, 209u8, 178u8, 49u8, 198u8, 23u8, 150u8, 173u8, 35u8, - 205u8, 147u8, 129u8, 42u8, 22u8, 69u8, 3u8, 129u8, 8u8, 196u8, 139u8, - ], - ) - } - pub fn query_fee_details( - &self, - uxt : :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) >, - len: ::core::primitive::u32, - ) -> ::subxt::runtime_api::Payload< - types::QueryFeeDetails, - runtime_types::pallet_transaction_payment::types::FeeDetails< - ::core::primitive::u128, - >, - > { - ::subxt::runtime_api::Payload::new_static( - "TransactionPaymentApi", - "query_fee_details", - types::QueryFeeDetails { uxt, len }, - [ - 117u8, 60u8, 137u8, 159u8, 237u8, 252u8, 216u8, 238u8, 232u8, 1u8, - 100u8, 152u8, 26u8, 185u8, 145u8, 125u8, 68u8, 189u8, 4u8, 30u8, 125u8, - 7u8, 196u8, 153u8, 235u8, 51u8, 219u8, 108u8, 185u8, 254u8, 100u8, - 201u8, - ], - ) - } - pub fn query_weight_to_fee( - &self, - weight: runtime_types::sp_weights::weight_v2::Weight, - ) -> ::subxt::runtime_api::Payload - { - ::subxt::runtime_api::Payload::new_static( - "TransactionPaymentApi", - "query_weight_to_fee", - types::QueryWeightToFee { weight }, - [ - 206u8, 243u8, 189u8, 83u8, 231u8, 244u8, 247u8, 52u8, 126u8, 208u8, - 224u8, 5u8, 163u8, 108u8, 254u8, 114u8, 214u8, 156u8, 227u8, 217u8, - 211u8, 198u8, 121u8, 164u8, 110u8, 54u8, 181u8, 146u8, 50u8, 146u8, - 146u8, 23u8, - ], - ) - } - pub fn query_length_to_fee( - &self, - length: ::core::primitive::u32, - ) -> ::subxt::runtime_api::Payload - { - ::subxt::runtime_api::Payload::new_static( - "TransactionPaymentApi", - "query_length_to_fee", - types::QueryLengthToFee { length }, - [ - 92u8, 132u8, 29u8, 119u8, 66u8, 11u8, 196u8, 224u8, 129u8, 23u8, 249u8, - 12u8, 32u8, 28u8, 92u8, 50u8, 188u8, 101u8, 203u8, 229u8, 248u8, 216u8, - 130u8, 150u8, 212u8, 161u8, 81u8, 254u8, 116u8, 89u8, 162u8, 48u8, - ], - ) - } - } - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct QueryInfo { pub uxt : :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) > , pub len : :: core :: primitive :: u32 , } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct QueryFeeDetails { pub uxt : :: subxt :: utils :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , runtime_types :: coretime_rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment ,) > , pub len : :: core :: primitive :: u32 , } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct QueryWeightToFee { - pub weight: runtime_types::sp_weights::weight_v2::Weight, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct QueryLengthToFee { - pub length: ::core::primitive::u32, - } - } - } - pub mod transaction_payment_call_api { - use super::root_mod; - use super::runtime_types; - pub struct TransactionPaymentCallApi; - impl TransactionPaymentCallApi { - #[doc = " Query information of a dispatch class, weight, and fee of a given encoded `Call`."] - pub fn query_call_info( - &self, - call: runtime_types::coretime_rococo_runtime::RuntimeCall, - len: ::core::primitive::u32, - ) -> ::subxt::runtime_api::Payload< - types::QueryCallInfo, - runtime_types::pallet_transaction_payment::types::RuntimeDispatchInfo< - ::core::primitive::u128, - runtime_types::sp_weights::weight_v2::Weight, - >, - > { - ::subxt::runtime_api::Payload::new_static( - "TransactionPaymentCallApi", - "query_call_info", - types::QueryCallInfo { call, len }, - [ - 144u8, 172u8, 193u8, 149u8, 28u8, 82u8, 208u8, 226u8, 171u8, 59u8, - 10u8, 77u8, 230u8, 162u8, 177u8, 49u8, 193u8, 102u8, 128u8, 112u8, - 235u8, 183u8, 35u8, 97u8, 139u8, 157u8, 177u8, 173u8, 205u8, 6u8, - 255u8, 26u8, - ], - ) - } - #[doc = " Query fee details of a given encoded `Call`."] - pub fn query_call_fee_details( - &self, - call: runtime_types::coretime_rococo_runtime::RuntimeCall, - len: ::core::primitive::u32, - ) -> ::subxt::runtime_api::Payload< - types::QueryCallFeeDetails, - runtime_types::pallet_transaction_payment::types::FeeDetails< - ::core::primitive::u128, - >, - > { - ::subxt::runtime_api::Payload::new_static( - "TransactionPaymentCallApi", - "query_call_fee_details", - types::QueryCallFeeDetails { call, len }, - [ - 53u8, 126u8, 3u8, 45u8, 40u8, 132u8, 229u8, 63u8, 8u8, 241u8, 124u8, - 160u8, 30u8, 139u8, 140u8, 97u8, 78u8, 59u8, 151u8, 84u8, 29u8, 36u8, - 232u8, 93u8, 116u8, 66u8, 35u8, 191u8, 43u8, 172u8, 29u8, 8u8, - ], - ) - } - #[doc = " Query the output of the current `WeightToFee` given some input."] - pub fn query_weight_to_fee( - &self, - weight: runtime_types::sp_weights::weight_v2::Weight, - ) -> ::subxt::runtime_api::Payload - { - ::subxt::runtime_api::Payload::new_static( - "TransactionPaymentCallApi", - "query_weight_to_fee", - types::QueryWeightToFee { weight }, - [ - 117u8, 91u8, 94u8, 22u8, 248u8, 212u8, 15u8, 23u8, 97u8, 116u8, 64u8, - 228u8, 83u8, 123u8, 87u8, 77u8, 97u8, 7u8, 98u8, 181u8, 6u8, 165u8, - 114u8, 141u8, 164u8, 113u8, 126u8, 88u8, 174u8, 171u8, 224u8, 35u8, - ], - ) - } - #[doc = " Query the output of the current `LengthToFee` given some input."] - pub fn query_length_to_fee( - &self, - length: ::core::primitive::u32, - ) -> ::subxt::runtime_api::Payload - { - ::subxt::runtime_api::Payload::new_static( - "TransactionPaymentCallApi", - "query_length_to_fee", - types::QueryLengthToFee { length }, - [ - 246u8, 40u8, 4u8, 160u8, 152u8, 94u8, 170u8, 53u8, 205u8, 122u8, 5u8, - 69u8, 70u8, 25u8, 128u8, 156u8, 119u8, 134u8, 116u8, 147u8, 14u8, - 164u8, 65u8, 140u8, 86u8, 13u8, 250u8, 218u8, 89u8, 95u8, 234u8, 228u8, - ], - ) - } - } - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct QueryCallInfo { - pub call: runtime_types::coretime_rococo_runtime::RuntimeCall, - pub len: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct QueryCallFeeDetails { - pub call: runtime_types::coretime_rococo_runtime::RuntimeCall, - pub len: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct QueryWeightToFee { - pub weight: runtime_types::sp_weights::weight_v2::Weight, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct QueryLengthToFee { - pub length: ::core::primitive::u32, - } - } - } - pub mod collect_collation_info { - use super::root_mod; - use super::runtime_types; - #[doc = " Runtime api to collect information about a collation."] - pub struct CollectCollationInfo; - impl CollectCollationInfo { - #[doc = " Collect information about a collation."] - #[doc = ""] - #[doc = " The given `header` is the header of the built block for that"] - #[doc = " we are collecting the collation info for."] - pub fn collect_collation_info( - &self, - header: runtime_types::sp_runtime::generic::header::Header< - ::core::primitive::u32, - >, - ) -> ::subxt::runtime_api::Payload< - types::CollectCollationInfo, - runtime_types::cumulus_primitives_core::CollationInfo, - > { - ::subxt::runtime_api::Payload::new_static( - "CollectCollationInfo", - "collect_collation_info", - types::CollectCollationInfo { header }, - [ - 56u8, 138u8, 105u8, 91u8, 216u8, 40u8, 255u8, 98u8, 86u8, 138u8, 185u8, - 155u8, 80u8, 141u8, 85u8, 48u8, 252u8, 235u8, 178u8, 231u8, 111u8, - 216u8, 71u8, 20u8, 33u8, 202u8, 24u8, 215u8, 214u8, 132u8, 51u8, 166u8, - ], - ) - } - } - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CollectCollationInfo { - pub header: - runtime_types::sp_runtime::generic::header::Header<::core::primitive::u32>, - } - } - } - pub mod genesis_builder { - use super::root_mod; - use super::runtime_types; - #[doc = " API to interact with GenesisConfig for the runtime"] - pub struct GenesisBuilder; - impl GenesisBuilder { - #[doc = " Creates the default `GenesisConfig` and returns it as a JSON blob."] - #[doc = ""] - #[doc = " This function instantiates the default `GenesisConfig` struct for the runtime and serializes it into a JSON"] - #[doc = " blob. It returns a `Vec` containing the JSON representation of the default `GenesisConfig`."] - pub fn create_default_config( - &self, - ) -> ::subxt::runtime_api::Payload< - types::CreateDefaultConfig, - ::std::vec::Vec<::core::primitive::u8>, - > { - ::subxt::runtime_api::Payload::new_static( - "GenesisBuilder", - "create_default_config", - types::CreateDefaultConfig {}, - [ - 238u8, 5u8, 139u8, 81u8, 184u8, 155u8, 221u8, 118u8, 190u8, 76u8, - 229u8, 67u8, 132u8, 89u8, 83u8, 80u8, 56u8, 171u8, 169u8, 64u8, 123u8, - 20u8, 129u8, 159u8, 28u8, 135u8, 84u8, 52u8, 192u8, 98u8, 104u8, 214u8, - ], - ) - } - #[doc = " Build `GenesisConfig` from a JSON blob not using any defaults and store it in the storage."] - #[doc = ""] - #[doc = " This function deserializes the full `GenesisConfig` from the given JSON blob and puts it into the storage."] - #[doc = " If the provided JSON blob is incorrect or incomplete or the deserialization fails, an error is returned."] - #[doc = " It is recommended to log any errors encountered during the process."] - #[doc = ""] - #[doc = " Please note that provided json blob must contain all `GenesisConfig` fields, no defaults will be used."] - pub fn build_config( - &self, - json: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::runtime_api::Payload< - types::BuildConfig, - ::core::result::Result<(), ::std::string::String>, - > { - ::subxt::runtime_api::Payload::new_static( - "GenesisBuilder", - "build_config", - types::BuildConfig { json }, - [ - 6u8, 98u8, 68u8, 125u8, 157u8, 26u8, 107u8, 86u8, 213u8, 227u8, 26u8, - 229u8, 122u8, 161u8, 229u8, 114u8, 123u8, 192u8, 66u8, 231u8, 148u8, - 175u8, 5u8, 185u8, 248u8, 88u8, 40u8, 122u8, 230u8, 209u8, 170u8, - 254u8, - ], - ) - } - } - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CreateDefaultConfig {} - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct BuildConfig { - pub json: ::std::vec::Vec<::core::primitive::u8>, - } - } - } - } - pub fn custom() -> CustomValuesApi { - CustomValuesApi - } - pub struct CustomValuesApi; - impl CustomValuesApi {} - pub struct ConstantsApi; - impl ConstantsApi { - pub fn system(&self) -> system::constants::ConstantsApi { - system::constants::ConstantsApi - } - pub fn timestamp(&self) -> timestamp::constants::ConstantsApi { - timestamp::constants::ConstantsApi - } - pub fn balances(&self) -> balances::constants::ConstantsApi { - balances::constants::ConstantsApi - } - pub fn transaction_payment(&self) -> transaction_payment::constants::ConstantsApi { - transaction_payment::constants::ConstantsApi - } - pub fn xcmp_queue(&self) -> xcmp_queue::constants::ConstantsApi { - xcmp_queue::constants::ConstantsApi - } - pub fn message_queue(&self) -> message_queue::constants::ConstantsApi { - message_queue::constants::ConstantsApi - } - pub fn utility(&self) -> utility::constants::ConstantsApi { - utility::constants::ConstantsApi - } - pub fn multisig(&self) -> multisig::constants::ConstantsApi { - multisig::constants::ConstantsApi - } - pub fn broker(&self) -> broker::constants::ConstantsApi { - broker::constants::ConstantsApi - } - } - pub struct StorageApi; - impl StorageApi { - pub fn system(&self) -> system::storage::StorageApi { - system::storage::StorageApi - } - pub fn parachain_system(&self) -> parachain_system::storage::StorageApi { - parachain_system::storage::StorageApi - } - pub fn timestamp(&self) -> timestamp::storage::StorageApi { - timestamp::storage::StorageApi - } - pub fn parachain_info(&self) -> parachain_info::storage::StorageApi { - parachain_info::storage::StorageApi - } - pub fn balances(&self) -> balances::storage::StorageApi { - balances::storage::StorageApi - } - pub fn transaction_payment(&self) -> transaction_payment::storage::StorageApi { - transaction_payment::storage::StorageApi - } - pub fn authorship(&self) -> authorship::storage::StorageApi { - authorship::storage::StorageApi - } - pub fn collator_selection(&self) -> collator_selection::storage::StorageApi { - collator_selection::storage::StorageApi - } - pub fn session(&self) -> session::storage::StorageApi { - session::storage::StorageApi - } - pub fn aura(&self) -> aura::storage::StorageApi { - aura::storage::StorageApi - } - pub fn aura_ext(&self) -> aura_ext::storage::StorageApi { - aura_ext::storage::StorageApi - } - pub fn xcmp_queue(&self) -> xcmp_queue::storage::StorageApi { - xcmp_queue::storage::StorageApi - } - pub fn polkadot_xcm(&self) -> polkadot_xcm::storage::StorageApi { - polkadot_xcm::storage::StorageApi - } - pub fn message_queue(&self) -> message_queue::storage::StorageApi { - message_queue::storage::StorageApi - } - pub fn multisig(&self) -> multisig::storage::StorageApi { - multisig::storage::StorageApi - } - pub fn broker(&self) -> broker::storage::StorageApi { - broker::storage::StorageApi - } - pub fn sudo(&self) -> sudo::storage::StorageApi { - sudo::storage::StorageApi - } - } - pub struct TransactionApi; - impl TransactionApi { - pub fn system(&self) -> system::calls::TransactionApi { - system::calls::TransactionApi - } - pub fn parachain_system(&self) -> parachain_system::calls::TransactionApi { - parachain_system::calls::TransactionApi - } - pub fn timestamp(&self) -> timestamp::calls::TransactionApi { - timestamp::calls::TransactionApi - } - pub fn parachain_info(&self) -> parachain_info::calls::TransactionApi { - parachain_info::calls::TransactionApi - } - pub fn balances(&self) -> balances::calls::TransactionApi { - balances::calls::TransactionApi - } - pub fn collator_selection(&self) -> collator_selection::calls::TransactionApi { - collator_selection::calls::TransactionApi - } - pub fn session(&self) -> session::calls::TransactionApi { - session::calls::TransactionApi - } - pub fn xcmp_queue(&self) -> xcmp_queue::calls::TransactionApi { - xcmp_queue::calls::TransactionApi - } - pub fn polkadot_xcm(&self) -> polkadot_xcm::calls::TransactionApi { - polkadot_xcm::calls::TransactionApi - } - pub fn cumulus_xcm(&self) -> cumulus_xcm::calls::TransactionApi { - cumulus_xcm::calls::TransactionApi - } - pub fn message_queue(&self) -> message_queue::calls::TransactionApi { - message_queue::calls::TransactionApi - } - pub fn utility(&self) -> utility::calls::TransactionApi { - utility::calls::TransactionApi - } - pub fn multisig(&self) -> multisig::calls::TransactionApi { - multisig::calls::TransactionApi - } - pub fn broker(&self) -> broker::calls::TransactionApi { - broker::calls::TransactionApi - } - pub fn sudo(&self) -> sudo::calls::TransactionApi { - sudo::calls::TransactionApi - } - } - #[doc = r" check whether the metadata provided is aligned with this statically generated code."] - pub fn is_codegen_valid_for(metadata: &::subxt::Metadata) -> bool { - let runtime_metadata_hash = metadata - .hasher() - .only_these_pallets(&PALLETS) - .only_these_runtime_apis(&RUNTIME_APIS) - .hash(); - runtime_metadata_hash - == [ - 242u8, 249u8, 231u8, 131u8, 221u8, 227u8, 243u8, 80u8, 94u8, 43u8, 167u8, 107u8, - 160u8, 189u8, 68u8, 67u8, 246u8, 202u8, 187u8, 14u8, 58u8, 172u8, 27u8, 33u8, - 232u8, 78u8, 146u8, 148u8, 181u8, 89u8, 134u8, 221u8, - ] - } - pub mod system { - use super::root_mod; - use super::runtime_types; - #[doc = "Error for the System pallet"] - pub type Error = runtime_types::frame_system::pallet::Error; - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::frame_system::pallet::Call; - pub mod calls { - use super::root_mod; - use super::runtime_types; - type DispatchError = runtime_types::sp_runtime::DispatchError; - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Remark { - pub remark: ::std::vec::Vec<::core::primitive::u8>, - } - impl ::subxt::blocks::StaticExtrinsic for Remark { - const PALLET: &'static str = "System"; - const CALL: &'static str = "remark"; - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetHeapPages { - pub pages: ::core::primitive::u64, - } - impl ::subxt::blocks::StaticExtrinsic for SetHeapPages { - const PALLET: &'static str = "System"; - const CALL: &'static str = "set_heap_pages"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetCode { - pub code: ::std::vec::Vec<::core::primitive::u8>, - } - impl ::subxt::blocks::StaticExtrinsic for SetCode { - const PALLET: &'static str = "System"; - const CALL: &'static str = "set_code"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetCodeWithoutChecks { - pub code: ::std::vec::Vec<::core::primitive::u8>, - } - impl ::subxt::blocks::StaticExtrinsic for SetCodeWithoutChecks { - const PALLET: &'static str = "System"; - const CALL: &'static str = "set_code_without_checks"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetStorage { - pub items: ::std::vec::Vec<( - ::std::vec::Vec<::core::primitive::u8>, - ::std::vec::Vec<::core::primitive::u8>, - )>, - } - impl ::subxt::blocks::StaticExtrinsic for SetStorage { - const PALLET: &'static str = "System"; - const CALL: &'static str = "set_storage"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct KillStorage { - pub keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, - } - impl ::subxt::blocks::StaticExtrinsic for KillStorage { - const PALLET: &'static str = "System"; - const CALL: &'static str = "kill_storage"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct KillPrefix { - pub prefix: ::std::vec::Vec<::core::primitive::u8>, - pub subkeys: ::core::primitive::u32, - } - impl ::subxt::blocks::StaticExtrinsic for KillPrefix { - const PALLET: &'static str = "System"; - const CALL: &'static str = "kill_prefix"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RemarkWithEvent { - pub remark: ::std::vec::Vec<::core::primitive::u8>, - } - impl ::subxt::blocks::StaticExtrinsic for RemarkWithEvent { - const PALLET: &'static str = "System"; - const CALL: &'static str = "remark_with_event"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AuthorizeUpgrade { - pub code_hash: ::subxt::utils::H256, - } - impl ::subxt::blocks::StaticExtrinsic for AuthorizeUpgrade { - const PALLET: &'static str = "System"; - const CALL: &'static str = "authorize_upgrade"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AuthorizeUpgradeWithoutChecks { - pub code_hash: ::subxt::utils::H256, - } - impl ::subxt::blocks::StaticExtrinsic for AuthorizeUpgradeWithoutChecks { - const PALLET: &'static str = "System"; - const CALL: &'static str = "authorize_upgrade_without_checks"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ApplyAuthorizedUpgrade { - pub code: ::std::vec::Vec<::core::primitive::u8>, - } - impl ::subxt::blocks::StaticExtrinsic for ApplyAuthorizedUpgrade { - const PALLET: &'static str = "System"; - const CALL: &'static str = "apply_authorized_upgrade"; - } - } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "See [`Pallet::remark`]."] - pub fn remark( - &self, - remark: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "System", - "remark", - types::Remark { remark }, - [ - 43u8, 126u8, 180u8, 174u8, 141u8, 48u8, 52u8, 125u8, 166u8, 212u8, - 216u8, 98u8, 100u8, 24u8, 132u8, 71u8, 101u8, 64u8, 246u8, 169u8, 33u8, - 250u8, 147u8, 208u8, 2u8, 40u8, 129u8, 209u8, 232u8, 207u8, 207u8, - 13u8, - ], - ) - } - #[doc = "See [`Pallet::set_heap_pages`]."] - pub fn set_heap_pages( - &self, - pages: ::core::primitive::u64, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "System", - "set_heap_pages", - types::SetHeapPages { pages }, - [ - 188u8, 191u8, 99u8, 216u8, 219u8, 109u8, 141u8, 50u8, 78u8, 235u8, - 215u8, 242u8, 195u8, 24u8, 111u8, 76u8, 229u8, 64u8, 99u8, 225u8, - 134u8, 121u8, 81u8, 209u8, 127u8, 223u8, 98u8, 215u8, 150u8, 70u8, - 57u8, 147u8, - ], - ) - } - #[doc = "See [`Pallet::set_code`]."] - pub fn set_code( - &self, - code: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "System", - "set_code", - types::SetCode { code }, - [ - 233u8, 248u8, 88u8, 245u8, 28u8, 65u8, 25u8, 169u8, 35u8, 237u8, 19u8, - 203u8, 136u8, 160u8, 18u8, 3u8, 20u8, 197u8, 81u8, 169u8, 244u8, 188u8, - 27u8, 147u8, 147u8, 236u8, 65u8, 25u8, 3u8, 143u8, 182u8, 22u8, - ], - ) - } - #[doc = "See [`Pallet::set_code_without_checks`]."] - pub fn set_code_without_checks( - &self, - code: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "System", - "set_code_without_checks", - types::SetCodeWithoutChecks { code }, - [ - 82u8, 212u8, 157u8, 44u8, 70u8, 0u8, 143u8, 15u8, 109u8, 109u8, 107u8, - 157u8, 141u8, 42u8, 169u8, 11u8, 15u8, 186u8, 252u8, 138u8, 10u8, - 147u8, 15u8, 178u8, 247u8, 229u8, 213u8, 98u8, 207u8, 231u8, 119u8, - 115u8, - ], - ) - } - #[doc = "See [`Pallet::set_storage`]."] - pub fn set_storage( - &self, - items: ::std::vec::Vec<( - ::std::vec::Vec<::core::primitive::u8>, - ::std::vec::Vec<::core::primitive::u8>, - )>, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "System", - "set_storage", - types::SetStorage { items }, - [ - 141u8, 216u8, 52u8, 222u8, 223u8, 136u8, 123u8, 181u8, 19u8, 75u8, - 163u8, 102u8, 229u8, 189u8, 158u8, 142u8, 95u8, 235u8, 240u8, 49u8, - 150u8, 76u8, 78u8, 137u8, 126u8, 88u8, 183u8, 88u8, 231u8, 146u8, - 234u8, 43u8, - ], - ) - } - #[doc = "See [`Pallet::kill_storage`]."] - pub fn kill_storage( - &self, - keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "System", - "kill_storage", - types::KillStorage { keys }, - [ - 73u8, 63u8, 196u8, 36u8, 144u8, 114u8, 34u8, 213u8, 108u8, 93u8, 209u8, - 234u8, 153u8, 185u8, 33u8, 91u8, 187u8, 195u8, 223u8, 130u8, 58u8, - 156u8, 63u8, 47u8, 228u8, 249u8, 216u8, 139u8, 143u8, 177u8, 41u8, - 35u8, - ], - ) - } - #[doc = "See [`Pallet::kill_prefix`]."] - pub fn kill_prefix( - &self, - prefix: ::std::vec::Vec<::core::primitive::u8>, - subkeys: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "System", - "kill_prefix", - types::KillPrefix { prefix, subkeys }, - [ - 184u8, 57u8, 139u8, 24u8, 208u8, 87u8, 108u8, 215u8, 198u8, 189u8, - 175u8, 242u8, 167u8, 215u8, 97u8, 63u8, 110u8, 166u8, 238u8, 98u8, - 67u8, 236u8, 111u8, 110u8, 234u8, 81u8, 102u8, 5u8, 182u8, 5u8, 214u8, - 85u8, - ], - ) - } - #[doc = "See [`Pallet::remark_with_event`]."] - pub fn remark_with_event( - &self, - remark: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "System", - "remark_with_event", - types::RemarkWithEvent { remark }, - [ - 120u8, 120u8, 153u8, 92u8, 184u8, 85u8, 34u8, 2u8, 174u8, 206u8, 105u8, - 228u8, 233u8, 130u8, 80u8, 246u8, 228u8, 59u8, 234u8, 240u8, 4u8, 49u8, - 147u8, 170u8, 115u8, 91u8, 149u8, 200u8, 228u8, 181u8, 8u8, 154u8, - ], - ) - } - #[doc = "See [`Pallet::authorize_upgrade`]."] - pub fn authorize_upgrade( - &self, - code_hash: ::subxt::utils::H256, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "System", - "authorize_upgrade", - types::AuthorizeUpgrade { code_hash }, - [ - 4u8, 14u8, 76u8, 107u8, 209u8, 129u8, 9u8, 39u8, 193u8, 17u8, 84u8, - 254u8, 170u8, 214u8, 24u8, 155u8, 29u8, 184u8, 249u8, 241u8, 109u8, - 58u8, 145u8, 131u8, 109u8, 63u8, 38u8, 165u8, 107u8, 215u8, 217u8, - 172u8, - ], - ) - } - #[doc = "See [`Pallet::authorize_upgrade_without_checks`]."] - pub fn authorize_upgrade_without_checks( - &self, - code_hash: ::subxt::utils::H256, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "System", - "authorize_upgrade_without_checks", - types::AuthorizeUpgradeWithoutChecks { code_hash }, - [ - 126u8, 126u8, 55u8, 26u8, 47u8, 55u8, 66u8, 8u8, 167u8, 18u8, 29u8, - 136u8, 146u8, 14u8, 189u8, 117u8, 16u8, 227u8, 162u8, 61u8, 149u8, - 197u8, 104u8, 184u8, 185u8, 161u8, 99u8, 154u8, 80u8, 125u8, 181u8, - 233u8, - ], - ) - } - #[doc = "See [`Pallet::apply_authorized_upgrade`]."] - pub fn apply_authorized_upgrade( - &self, - code: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "System", - "apply_authorized_upgrade", - types::ApplyAuthorizedUpgrade { code }, - [ - 232u8, 107u8, 127u8, 38u8, 230u8, 29u8, 97u8, 4u8, 160u8, 191u8, 222u8, - 156u8, 245u8, 102u8, 196u8, 141u8, 44u8, 163u8, 98u8, 68u8, 125u8, - 32u8, 124u8, 101u8, 108u8, 93u8, 211u8, 52u8, 0u8, 231u8, 33u8, 227u8, - ], - ) - } - } - } - #[doc = "Event for the System pallet."] - pub type Event = runtime_types::frame_system::pallet::Event; - pub mod events { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "An extrinsic completed successfully."] - pub struct ExtrinsicSuccess { - pub dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo, - } - impl ::subxt::events::StaticEvent for ExtrinsicSuccess { - const PALLET: &'static str = "System"; - const EVENT: &'static str = "ExtrinsicSuccess"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "An extrinsic failed."] - pub struct ExtrinsicFailed { - pub dispatch_error: runtime_types::sp_runtime::DispatchError, - pub dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo, - } - impl ::subxt::events::StaticEvent for ExtrinsicFailed { - const PALLET: &'static str = "System"; - const EVENT: &'static str = "ExtrinsicFailed"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "`:code` was updated."] - pub struct CodeUpdated; - impl ::subxt::events::StaticEvent for CodeUpdated { - const PALLET: &'static str = "System"; - const EVENT: &'static str = "CodeUpdated"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A new account was created."] - pub struct NewAccount { - pub account: ::subxt::utils::AccountId32, - } - impl ::subxt::events::StaticEvent for NewAccount { - const PALLET: &'static str = "System"; - const EVENT: &'static str = "NewAccount"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "An account was reaped."] - pub struct KilledAccount { - pub account: ::subxt::utils::AccountId32, - } - impl ::subxt::events::StaticEvent for KilledAccount { - const PALLET: &'static str = "System"; - const EVENT: &'static str = "KilledAccount"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "On on-chain remark happened."] - pub struct Remarked { - pub sender: ::subxt::utils::AccountId32, - pub hash: ::subxt::utils::H256, - } - impl ::subxt::events::StaticEvent for Remarked { - const PALLET: &'static str = "System"; - const EVENT: &'static str = "Remarked"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "An upgrade was authorized."] - pub struct UpgradeAuthorized { - pub code_hash: ::subxt::utils::H256, - pub check_version: ::core::primitive::bool, - } - impl ::subxt::events::StaticEvent for UpgradeAuthorized { - const PALLET: &'static str = "System"; - const EVENT: &'static str = "UpgradeAuthorized"; - } - } - pub mod storage { - use super::runtime_types; - pub struct StorageApi; - impl StorageApi { - #[doc = " The full account information for a particular account ID."] - pub fn account_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::frame_system::AccountInfo< - ::core::primitive::u32, - runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>, - >, - (), - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "System", - "Account", - vec![], - [ - 14u8, 233u8, 115u8, 214u8, 0u8, 109u8, 222u8, 121u8, 162u8, 65u8, 60u8, - 175u8, 209u8, 79u8, 222u8, 124u8, 22u8, 235u8, 138u8, 176u8, 133u8, - 124u8, 90u8, 158u8, 85u8, 45u8, 37u8, 174u8, 47u8, 79u8, 47u8, 166u8, - ], - ) - } - #[doc = " The full account information for a particular account ID."] - pub fn account( - &self, - _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::frame_system::AccountInfo< - ::core::primitive::u32, - runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>, - >, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "System", - "Account", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 14u8, 233u8, 115u8, 214u8, 0u8, 109u8, 222u8, 121u8, 162u8, 65u8, 60u8, - 175u8, 209u8, 79u8, 222u8, 124u8, 22u8, 235u8, 138u8, 176u8, 133u8, - 124u8, 90u8, 158u8, 85u8, 45u8, 37u8, 174u8, 47u8, 79u8, 47u8, 166u8, - ], - ) - } - #[doc = " Total extrinsics count for the current block."] - pub fn extrinsic_count( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u32, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "System", - "ExtrinsicCount", - vec![], - [ - 102u8, 76u8, 236u8, 42u8, 40u8, 231u8, 33u8, 222u8, 123u8, 147u8, - 153u8, 148u8, 234u8, 203u8, 181u8, 119u8, 6u8, 187u8, 177u8, 199u8, - 120u8, 47u8, 137u8, 254u8, 96u8, 100u8, 165u8, 182u8, 249u8, 230u8, - 159u8, 79u8, - ], - ) - } - #[doc = " The current weight for the block."] - pub fn block_weight( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::frame_support::dispatch::PerDispatchClass< - runtime_types::sp_weights::weight_v2::Weight, - >, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "System", - "BlockWeight", - vec![], - [ - 158u8, 46u8, 228u8, 89u8, 210u8, 214u8, 84u8, 154u8, 50u8, 68u8, 63u8, - 62u8, 43u8, 42u8, 99u8, 27u8, 54u8, 42u8, 146u8, 44u8, 241u8, 216u8, - 229u8, 30u8, 216u8, 255u8, 165u8, 238u8, 181u8, 130u8, 36u8, 102u8, - ], - ) - } - #[doc = " Total length (in bytes) for all extrinsics put together, for the current block."] - pub fn all_extrinsics_len( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u32, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "System", - "AllExtrinsicsLen", - vec![], - [ - 117u8, 86u8, 61u8, 243u8, 41u8, 51u8, 102u8, 214u8, 137u8, 100u8, - 243u8, 185u8, 122u8, 174u8, 187u8, 117u8, 86u8, 189u8, 63u8, 135u8, - 101u8, 218u8, 203u8, 201u8, 237u8, 254u8, 128u8, 183u8, 169u8, 221u8, - 242u8, 65u8, - ], - ) - } - #[doc = " Map of block numbers to block hashes."] - pub fn block_hash_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::subxt::utils::H256, - (), - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "System", - "BlockHash", - vec![], - [ - 217u8, 32u8, 215u8, 253u8, 24u8, 182u8, 207u8, 178u8, 157u8, 24u8, - 103u8, 100u8, 195u8, 165u8, 69u8, 152u8, 112u8, 181u8, 56u8, 192u8, - 164u8, 16u8, 20u8, 222u8, 28u8, 214u8, 144u8, 142u8, 146u8, 69u8, - 202u8, 118u8, - ], - ) - } - #[doc = " Map of block numbers to block hashes."] - pub fn block_hash( - &self, - _0: impl ::std::borrow::Borrow<::core::primitive::u32>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::subxt::utils::H256, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "System", - "BlockHash", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 217u8, 32u8, 215u8, 253u8, 24u8, 182u8, 207u8, 178u8, 157u8, 24u8, - 103u8, 100u8, 195u8, 165u8, 69u8, 152u8, 112u8, 181u8, 56u8, 192u8, - 164u8, 16u8, 20u8, 222u8, 28u8, 214u8, 144u8, 142u8, 146u8, 69u8, - 202u8, 118u8, - ], - ) - } - #[doc = " Extrinsics data for the current block (maps an extrinsic's index to its data)."] - pub fn extrinsic_data_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec<::core::primitive::u8>, - (), - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "System", - "ExtrinsicData", - vec![], - [ - 160u8, 180u8, 122u8, 18u8, 196u8, 26u8, 2u8, 37u8, 115u8, 232u8, 133u8, - 220u8, 106u8, 245u8, 4u8, 129u8, 42u8, 84u8, 241u8, 45u8, 199u8, 179u8, - 128u8, 61u8, 170u8, 137u8, 231u8, 156u8, 247u8, 57u8, 47u8, 38u8, - ], - ) - } - #[doc = " Extrinsics data for the current block (maps an extrinsic's index to its data)."] - pub fn extrinsic_data( - &self, - _0: impl ::std::borrow::Borrow<::core::primitive::u32>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec<::core::primitive::u8>, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "System", - "ExtrinsicData", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 160u8, 180u8, 122u8, 18u8, 196u8, 26u8, 2u8, 37u8, 115u8, 232u8, 133u8, - 220u8, 106u8, 245u8, 4u8, 129u8, 42u8, 84u8, 241u8, 45u8, 199u8, 179u8, - 128u8, 61u8, 170u8, 137u8, 231u8, 156u8, 247u8, 57u8, 47u8, 38u8, - ], - ) - } - #[doc = " The current block number being processed. Set by `execute_block`."] - pub fn number( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u32, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "System", - "Number", - vec![], - [ - 30u8, 194u8, 177u8, 90u8, 194u8, 232u8, 46u8, 180u8, 85u8, 129u8, 14u8, - 9u8, 8u8, 8u8, 23u8, 95u8, 230u8, 5u8, 13u8, 105u8, 125u8, 2u8, 22u8, - 200u8, 78u8, 93u8, 115u8, 28u8, 150u8, 113u8, 48u8, 53u8, - ], - ) - } - #[doc = " Hash of the previous block."] - pub fn parent_hash( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::subxt::utils::H256, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "System", - "ParentHash", - vec![], - [ - 26u8, 130u8, 11u8, 216u8, 155u8, 71u8, 128u8, 170u8, 30u8, 153u8, 21u8, - 192u8, 62u8, 93u8, 137u8, 80u8, 120u8, 81u8, 202u8, 94u8, 248u8, 125u8, - 71u8, 82u8, 141u8, 229u8, 32u8, 56u8, 73u8, 50u8, 101u8, 78u8, - ], - ) - } - #[doc = " Digest of the current block, also part of the block header."] - pub fn digest( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_runtime::generic::digest::Digest, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "System", - "Digest", - vec![], - [ - 61u8, 64u8, 237u8, 91u8, 145u8, 232u8, 17u8, 254u8, 181u8, 16u8, 234u8, - 91u8, 51u8, 140u8, 254u8, 131u8, 98u8, 135u8, 21u8, 37u8, 251u8, 20u8, - 58u8, 92u8, 123u8, 141u8, 14u8, 227u8, 146u8, 46u8, 222u8, 117u8, - ], - ) - } - #[doc = " Events deposited for the current block."] - #[doc = ""] - #[doc = " NOTE: The item is unbound and should therefore never be read on chain."] - #[doc = " It could otherwise inflate the PoV size of a block."] - #[doc = ""] - #[doc = " Events have a large in-memory size. Box the events to not go out-of-memory"] - #[doc = " just in case someone still reads them from within the runtime."] - pub fn events( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec< - runtime_types::frame_system::EventRecord< - runtime_types::coretime_rococo_runtime::RuntimeEvent, - ::subxt::utils::H256, - >, - >, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "System", - "Events", - vec![], - [ - 116u8, 34u8, 143u8, 0u8, 100u8, 96u8, 191u8, 144u8, 117u8, 233u8, - 245u8, 65u8, 232u8, 97u8, 101u8, 184u8, 150u8, 152u8, 218u8, 179u8, - 195u8, 142u8, 170u8, 211u8, 191u8, 58u8, 100u8, 54u8, 248u8, 57u8, - 227u8, 165u8, - ], - ) - } - #[doc = " The number of events in the `Events` list."] - pub fn event_count( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u32, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "System", - "EventCount", - vec![], - [ - 175u8, 24u8, 252u8, 184u8, 210u8, 167u8, 146u8, 143u8, 164u8, 80u8, - 151u8, 205u8, 189u8, 189u8, 55u8, 220u8, 47u8, 101u8, 181u8, 33u8, - 254u8, 131u8, 13u8, 143u8, 3u8, 244u8, 245u8, 45u8, 2u8, 210u8, 79u8, - 133u8, - ], - ) - } - #[doc = " Mapping between a topic (represented by T::Hash) and a vector of indexes"] - #[doc = " of events in the `>` list."] - #[doc = ""] - #[doc = " All topic vectors have deterministic storage locations depending on the topic. This"] - #[doc = " allows light-clients to leverage the changes trie storage tracking mechanism and"] - #[doc = " in case of changes fetch the list of events of interest."] - #[doc = ""] - #[doc = " The value has the type `(BlockNumberFor, EventIndex)` because if we used only just"] - #[doc = " the `EventIndex` then in case if the topic has the same contents on the next block"] - #[doc = " no notification will be triggered thus the event might be lost."] - pub fn event_topics_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec<(::core::primitive::u32, ::core::primitive::u32)>, - (), - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "System", - "EventTopics", - vec![], - [ - 40u8, 225u8, 14u8, 75u8, 44u8, 176u8, 76u8, 34u8, 143u8, 107u8, 69u8, - 133u8, 114u8, 13u8, 172u8, 250u8, 141u8, 73u8, 12u8, 65u8, 217u8, 63u8, - 120u8, 241u8, 48u8, 106u8, 143u8, 161u8, 128u8, 100u8, 166u8, 59u8, - ], - ) - } - #[doc = " Mapping between a topic (represented by T::Hash) and a vector of indexes"] - #[doc = " of events in the `>` list."] - #[doc = ""] - #[doc = " All topic vectors have deterministic storage locations depending on the topic. This"] - #[doc = " allows light-clients to leverage the changes trie storage tracking mechanism and"] - #[doc = " in case of changes fetch the list of events of interest."] - #[doc = ""] - #[doc = " The value has the type `(BlockNumberFor, EventIndex)` because if we used only just"] - #[doc = " the `EventIndex` then in case if the topic has the same contents on the next block"] - #[doc = " no notification will be triggered thus the event might be lost."] - pub fn event_topics( - &self, - _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec<(::core::primitive::u32, ::core::primitive::u32)>, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "System", - "EventTopics", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 40u8, 225u8, 14u8, 75u8, 44u8, 176u8, 76u8, 34u8, 143u8, 107u8, 69u8, - 133u8, 114u8, 13u8, 172u8, 250u8, 141u8, 73u8, 12u8, 65u8, 217u8, 63u8, - 120u8, 241u8, 48u8, 106u8, 143u8, 161u8, 128u8, 100u8, 166u8, 59u8, - ], - ) - } - #[doc = " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened."] - pub fn last_runtime_upgrade( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::frame_system::LastRuntimeUpgradeInfo, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "System", - "LastRuntimeUpgrade", - vec![], - [ - 137u8, 29u8, 175u8, 75u8, 197u8, 208u8, 91u8, 207u8, 156u8, 87u8, - 148u8, 68u8, 91u8, 140u8, 22u8, 233u8, 1u8, 229u8, 56u8, 34u8, 40u8, - 194u8, 253u8, 30u8, 163u8, 39u8, 54u8, 209u8, 13u8, 27u8, 139u8, 184u8, - ], - ) - } - #[doc = " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not."] - pub fn upgraded_to_u32_ref_count( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::bool, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "System", - "UpgradedToU32RefCount", - vec![], - [ - 229u8, 73u8, 9u8, 132u8, 186u8, 116u8, 151u8, 171u8, 145u8, 29u8, 34u8, - 130u8, 52u8, 146u8, 124u8, 175u8, 79u8, 189u8, 147u8, 230u8, 234u8, - 107u8, 124u8, 31u8, 2u8, 22u8, 86u8, 190u8, 4u8, 147u8, 50u8, 245u8, - ], - ) - } - #[doc = " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False"] - #[doc = " (default) if not."] - pub fn upgraded_to_triple_ref_count( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::bool, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "System", - "UpgradedToTripleRefCount", - vec![], - [ - 97u8, 66u8, 124u8, 243u8, 27u8, 167u8, 147u8, 81u8, 254u8, 201u8, - 101u8, 24u8, 40u8, 231u8, 14u8, 179u8, 154u8, 163u8, 71u8, 81u8, 185u8, - 167u8, 82u8, 254u8, 189u8, 3u8, 101u8, 207u8, 206u8, 194u8, 155u8, - 151u8, - ], - ) - } - #[doc = " The execution phase of the block."] - pub fn execution_phase( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::frame_system::Phase, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "System", - "ExecutionPhase", - vec![], - [ - 191u8, 129u8, 100u8, 134u8, 126u8, 116u8, 154u8, 203u8, 220u8, 200u8, - 0u8, 26u8, 161u8, 250u8, 133u8, 205u8, 146u8, 24u8, 5u8, 156u8, 158u8, - 35u8, 36u8, 253u8, 52u8, 235u8, 86u8, 167u8, 35u8, 100u8, 119u8, 27u8, - ], - ) - } - #[doc = " `Some` if a code upgrade has been authorized."] - pub fn authorized_upgrade( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::frame_system::CodeUpgradeAuthorization, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "System", - "AuthorizedUpgrade", - vec![], - [ - 165u8, 97u8, 27u8, 138u8, 2u8, 28u8, 55u8, 92u8, 96u8, 96u8, 168u8, - 169u8, 55u8, 178u8, 44u8, 127u8, 58u8, 140u8, 206u8, 178u8, 1u8, 37u8, - 214u8, 213u8, 251u8, 123u8, 5u8, 111u8, 90u8, 148u8, 217u8, 135u8, - ], - ) - } - } - } - pub mod constants { - use super::runtime_types; - pub struct ConstantsApi; - impl ConstantsApi { - #[doc = " Block & extrinsics weights: base values and limits."] - pub fn block_weights( - &self, - ) -> ::subxt::constants::Address - { - ::subxt::constants::Address::new_static( - "System", - "BlockWeights", - [ - 176u8, 124u8, 225u8, 136u8, 25u8, 73u8, 247u8, 33u8, 82u8, 206u8, 85u8, - 190u8, 127u8, 102u8, 71u8, 11u8, 185u8, 8u8, 58u8, 0u8, 94u8, 55u8, - 163u8, 177u8, 104u8, 59u8, 60u8, 136u8, 246u8, 116u8, 0u8, 239u8, - ], - ) - } - #[doc = " The maximum length of a block (in bytes)."] - pub fn block_length( - &self, - ) -> ::subxt::constants::Address { - ::subxt::constants::Address::new_static( - "System", - "BlockLength", - [ - 23u8, 242u8, 225u8, 39u8, 225u8, 67u8, 152u8, 41u8, 155u8, 104u8, 68u8, - 229u8, 185u8, 133u8, 10u8, 143u8, 184u8, 152u8, 234u8, 44u8, 140u8, - 96u8, 166u8, 235u8, 162u8, 160u8, 72u8, 7u8, 35u8, 194u8, 3u8, 37u8, - ], - ) - } - #[doc = " Maximum number of block number to block hash mappings to keep (oldest pruned first)."] - pub fn block_hash_count( - &self, - ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static( - "System", - "BlockHashCount", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) - } - #[doc = " The weight of runtime database operations the runtime can invoke."] - pub fn db_weight( - &self, - ) -> ::subxt::constants::Address { - ::subxt::constants::Address::new_static( - "System", - "DbWeight", - [ - 42u8, 43u8, 178u8, 142u8, 243u8, 203u8, 60u8, 173u8, 118u8, 111u8, - 200u8, 170u8, 102u8, 70u8, 237u8, 187u8, 198u8, 120u8, 153u8, 232u8, - 183u8, 76u8, 74u8, 10u8, 70u8, 243u8, 14u8, 218u8, 213u8, 126u8, 29u8, - 177u8, - ], - ) - } - #[doc = " Get the chain's current version."] - pub fn version( - &self, - ) -> ::subxt::constants::Address { - ::subxt::constants::Address::new_static( - "System", - "Version", - [ - 219u8, 45u8, 162u8, 245u8, 177u8, 246u8, 48u8, 126u8, 191u8, 157u8, - 228u8, 83u8, 111u8, 133u8, 183u8, 13u8, 148u8, 108u8, 92u8, 102u8, - 72u8, 205u8, 74u8, 242u8, 233u8, 79u8, 20u8, 170u8, 72u8, 202u8, 158u8, - 165u8, - ], - ) - } - #[doc = " The designated SS58 prefix of this chain."] - #[doc = ""] - #[doc = " This replaces the \"ss58Format\" property declared in the chain spec. Reason is"] - #[doc = " that the runtime should know about the prefix in order to make use of it as"] - #[doc = " an identifier of the chain."] - pub fn ss58_prefix(&self) -> ::subxt::constants::Address<::core::primitive::u16> { - ::subxt::constants::Address::new_static( - "System", - "SS58Prefix", - [ - 116u8, 33u8, 2u8, 170u8, 181u8, 147u8, 171u8, 169u8, 167u8, 227u8, - 41u8, 144u8, 11u8, 236u8, 82u8, 100u8, 74u8, 60u8, 184u8, 72u8, 169u8, - 90u8, 208u8, 135u8, 15u8, 117u8, 10u8, 123u8, 128u8, 193u8, 29u8, 70u8, - ], - ) - } - } - } - } - pub mod parachain_system { - use super::root_mod; - use super::runtime_types; - #[doc = "The `Error` enum of this pallet."] - pub type Error = runtime_types::cumulus_pallet_parachain_system::pallet::Error; - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::cumulus_pallet_parachain_system::pallet::Call; - pub mod calls { - use super::root_mod; - use super::runtime_types; - type DispatchError = runtime_types::sp_runtime::DispatchError; - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetValidationData { - pub data: - runtime_types::cumulus_primitives_parachain_inherent::ParachainInherentData, - } - impl ::subxt::blocks::StaticExtrinsic for SetValidationData { - const PALLET: &'static str = "ParachainSystem"; - const CALL: &'static str = "set_validation_data"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SudoSendUpwardMessage { - pub message: ::std::vec::Vec<::core::primitive::u8>, - } - impl ::subxt::blocks::StaticExtrinsic for SudoSendUpwardMessage { - const PALLET: &'static str = "ParachainSystem"; - const CALL: &'static str = "sudo_send_upward_message"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AuthorizeUpgrade { - pub code_hash: ::subxt::utils::H256, - pub check_version: ::core::primitive::bool, - } - impl ::subxt::blocks::StaticExtrinsic for AuthorizeUpgrade { - const PALLET: &'static str = "ParachainSystem"; - const CALL: &'static str = "authorize_upgrade"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct EnactAuthorizedUpgrade { - pub code: ::std::vec::Vec<::core::primitive::u8>, - } - impl ::subxt::blocks::StaticExtrinsic for EnactAuthorizedUpgrade { - const PALLET: &'static str = "ParachainSystem"; - const CALL: &'static str = "enact_authorized_upgrade"; - } - } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "See [`Pallet::set_validation_data`]."] - pub fn set_validation_data( - &self, - data : runtime_types :: cumulus_primitives_parachain_inherent :: ParachainInherentData, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "ParachainSystem", - "set_validation_data", - types::SetValidationData { data }, - [ - 167u8, 126u8, 75u8, 137u8, 220u8, 60u8, 106u8, 214u8, 92u8, 170u8, - 136u8, 176u8, 98u8, 0u8, 234u8, 217u8, 146u8, 113u8, 149u8, 88u8, - 114u8, 141u8, 228u8, 105u8, 136u8, 71u8, 233u8, 18u8, 70u8, 36u8, 24u8, - 249u8, - ], - ) - } - #[doc = "See [`Pallet::sudo_send_upward_message`]."] - pub fn sudo_send_upward_message( - &self, - message: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "ParachainSystem", - "sudo_send_upward_message", - types::SudoSendUpwardMessage { message }, - [ - 1u8, 231u8, 11u8, 78u8, 127u8, 117u8, 248u8, 67u8, 230u8, 199u8, 126u8, - 47u8, 20u8, 62u8, 252u8, 138u8, 199u8, 48u8, 41u8, 21u8, 28u8, 157u8, - 218u8, 143u8, 4u8, 253u8, 62u8, 192u8, 94u8, 252u8, 92u8, 180u8, - ], - ) - } - #[doc = "See [`Pallet::authorize_upgrade`]."] - pub fn authorize_upgrade( - &self, - code_hash: ::subxt::utils::H256, - check_version: ::core::primitive::bool, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "ParachainSystem", - "authorize_upgrade", - types::AuthorizeUpgrade { code_hash, check_version }, - [ - 213u8, 114u8, 107u8, 169u8, 223u8, 147u8, 205u8, 204u8, 3u8, 81u8, - 228u8, 0u8, 82u8, 57u8, 43u8, 95u8, 12u8, 59u8, 241u8, 176u8, 143u8, - 131u8, 253u8, 166u8, 98u8, 187u8, 94u8, 235u8, 177u8, 110u8, 162u8, - 218u8, - ], - ) - } - #[doc = "See [`Pallet::enact_authorized_upgrade`]."] - pub fn enact_authorized_upgrade( - &self, - code: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "ParachainSystem", - "enact_authorized_upgrade", - types::EnactAuthorizedUpgrade { code }, - [ - 232u8, 135u8, 114u8, 87u8, 196u8, 146u8, 244u8, 19u8, 106u8, 73u8, - 88u8, 193u8, 48u8, 14u8, 72u8, 133u8, 247u8, 147u8, 50u8, 95u8, 252u8, - 213u8, 192u8, 47u8, 244u8, 102u8, 195u8, 120u8, 179u8, 87u8, 94u8, 8u8, - ], - ) - } - } - } - #[doc = "The `Event` enum of this pallet"] - pub type Event = runtime_types::cumulus_pallet_parachain_system::pallet::Event; - pub mod events { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The validation function has been scheduled to apply."] - pub struct ValidationFunctionStored; - impl ::subxt::events::StaticEvent for ValidationFunctionStored { - const PALLET: &'static str = "ParachainSystem"; - const EVENT: &'static str = "ValidationFunctionStored"; - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The validation function was applied as of the contained relay chain block number."] - pub struct ValidationFunctionApplied { - pub relay_chain_block_num: ::core::primitive::u32, - } - impl ::subxt::events::StaticEvent for ValidationFunctionApplied { - const PALLET: &'static str = "ParachainSystem"; - const EVENT: &'static str = "ValidationFunctionApplied"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The relay-chain aborted the upgrade process."] - pub struct ValidationFunctionDiscarded; - impl ::subxt::events::StaticEvent for ValidationFunctionDiscarded { - const PALLET: &'static str = "ParachainSystem"; - const EVENT: &'static str = "ValidationFunctionDiscarded"; - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Some downward messages have been received and will be processed."] - pub struct DownwardMessagesReceived { - pub count: ::core::primitive::u32, - } - impl ::subxt::events::StaticEvent for DownwardMessagesReceived { - const PALLET: &'static str = "ParachainSystem"; - const EVENT: &'static str = "DownwardMessagesReceived"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Downward messages were processed using the given weight."] - pub struct DownwardMessagesProcessed { - pub weight_used: runtime_types::sp_weights::weight_v2::Weight, - pub dmq_head: ::subxt::utils::H256, - } - impl ::subxt::events::StaticEvent for DownwardMessagesProcessed { - const PALLET: &'static str = "ParachainSystem"; - const EVENT: &'static str = "DownwardMessagesProcessed"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "An upward message was sent to the relay chain."] - pub struct UpwardMessageSent { - pub message_hash: ::core::option::Option<[::core::primitive::u8; 32usize]>, - } - impl ::subxt::events::StaticEvent for UpwardMessageSent { - const PALLET: &'static str = "ParachainSystem"; - const EVENT: &'static str = "UpwardMessageSent"; - } - } - pub mod storage { - use super::runtime_types; - pub struct StorageApi; - impl StorageApi { - #[doc = " Latest included block descendants the runtime accepted. In other words, these are"] - #[doc = " ancestors of the currently executing block which have not been included in the observed"] - #[doc = " relay-chain state."] - #[doc = ""] - #[doc = " The segment length is limited by the capacity returned from the [`ConsensusHook`] configured"] - #[doc = " in the pallet."] pub fn unincluded_segment (& self ,) -> :: subxt :: storage :: address :: Address :: < :: subxt :: storage :: address :: StaticStorageMapKey , :: std :: vec :: Vec < runtime_types :: cumulus_pallet_parachain_system :: unincluded_segment :: Ancestor < :: subxt :: utils :: H256 > > , :: subxt :: storage :: address :: Yes , :: subxt :: storage :: address :: Yes , () >{ - ::subxt::storage::address::Address::new_static( - "ParachainSystem", - "UnincludedSegment", - vec![], - [ - 73u8, 83u8, 226u8, 16u8, 203u8, 233u8, 221u8, 109u8, 23u8, 114u8, 56u8, - 154u8, 100u8, 116u8, 253u8, 10u8, 164u8, 22u8, 110u8, 73u8, 245u8, - 226u8, 54u8, 146u8, 67u8, 109u8, 149u8, 142u8, 154u8, 218u8, 55u8, - 178u8, - ], - ) - } - #[doc = " Storage field that keeps track of bandwidth used by the unincluded segment along with the"] - #[doc = " latest HRMP watermark. Used for limiting the acceptance of new blocks with"] - #[doc = " respect to relay chain constraints."] pub fn aggregated_unincluded_segment (& self ,) -> :: subxt :: storage :: address :: Address :: < :: subxt :: storage :: address :: StaticStorageMapKey , runtime_types :: cumulus_pallet_parachain_system :: unincluded_segment :: SegmentTracker < :: subxt :: utils :: H256 > , :: subxt :: storage :: address :: Yes , () , () >{ - ::subxt::storage::address::Address::new_static( - "ParachainSystem", - "AggregatedUnincludedSegment", - vec![], - [ - 165u8, 51u8, 182u8, 156u8, 65u8, 114u8, 167u8, 133u8, 245u8, 52u8, - 32u8, 119u8, 159u8, 65u8, 201u8, 108u8, 99u8, 43u8, 84u8, 63u8, 95u8, - 182u8, 134u8, 163u8, 51u8, 202u8, 243u8, 82u8, 225u8, 192u8, 186u8, - 2u8, - ], - ) - } - #[doc = " In case of a scheduled upgrade, this storage field contains the validation code to be"] - #[doc = " applied."] - #[doc = ""] - #[doc = " As soon as the relay chain gives us the go-ahead signal, we will overwrite the"] - #[doc = " [`:code`][sp_core::storage::well_known_keys::CODE] which will result the next block process"] - #[doc = " with the new validation code. This concludes the upgrade process."] - pub fn pending_validation_code( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec<::core::primitive::u8>, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "ParachainSystem", - "PendingValidationCode", - vec![], - [ - 78u8, 159u8, 219u8, 211u8, 177u8, 80u8, 102u8, 93u8, 83u8, 146u8, 90u8, - 233u8, 232u8, 11u8, 104u8, 172u8, 93u8, 68u8, 44u8, 228u8, 99u8, 197u8, - 254u8, 28u8, 181u8, 215u8, 247u8, 238u8, 49u8, 49u8, 195u8, 249u8, - ], - ) - } - #[doc = " Validation code that is set by the parachain and is to be communicated to collator and"] - #[doc = " consequently the relay-chain."] - #[doc = ""] - #[doc = " This will be cleared in `on_initialize` of each new block if no other pallet already set"] - #[doc = " the value."] - pub fn new_validation_code( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec<::core::primitive::u8>, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "ParachainSystem", - "NewValidationCode", - vec![], - [ - 185u8, 123u8, 152u8, 122u8, 230u8, 136u8, 79u8, 73u8, 206u8, 19u8, - 59u8, 57u8, 75u8, 250u8, 83u8, 185u8, 29u8, 76u8, 89u8, 137u8, 77u8, - 163u8, 25u8, 125u8, 182u8, 67u8, 2u8, 180u8, 48u8, 237u8, 49u8, 171u8, - ], - ) - } - #[doc = " The [`PersistedValidationData`] set for this block."] - #[doc = " This value is expected to be set only once per block and it's never stored"] - #[doc = " in the trie."] - pub fn validation_data( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::polkadot_primitives::v6::PersistedValidationData< - ::subxt::utils::H256, - ::core::primitive::u32, - >, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "ParachainSystem", - "ValidationData", - vec![], - [ - 193u8, 240u8, 25u8, 56u8, 103u8, 173u8, 56u8, 56u8, 229u8, 243u8, 91u8, - 25u8, 249u8, 95u8, 122u8, 93u8, 37u8, 181u8, 54u8, 244u8, 217u8, 200u8, - 62u8, 136u8, 80u8, 148u8, 16u8, 177u8, 124u8, 211u8, 95u8, 24u8, - ], - ) - } - #[doc = " Were the validation data set to notify the relay chain?"] - pub fn did_set_validation_code( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::bool, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "ParachainSystem", - "DidSetValidationCode", - vec![], - [ - 233u8, 228u8, 48u8, 111u8, 200u8, 35u8, 30u8, 139u8, 251u8, 77u8, - 196u8, 252u8, 35u8, 222u8, 129u8, 235u8, 7u8, 19u8, 156u8, 82u8, 126u8, - 173u8, 29u8, 62u8, 20u8, 67u8, 166u8, 116u8, 108u8, 182u8, 57u8, 246u8, - ], - ) - } - #[doc = " The relay chain block number associated with the last parachain block."] - #[doc = ""] - #[doc = " This is updated in `on_finalize`."] - pub fn last_relay_chain_block_number( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u32, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "ParachainSystem", - "LastRelayChainBlockNumber", - vec![], - [ - 17u8, 65u8, 131u8, 169u8, 195u8, 243u8, 195u8, 93u8, 220u8, 174u8, - 75u8, 216u8, 214u8, 227u8, 96u8, 40u8, 8u8, 153u8, 116u8, 160u8, 79u8, - 255u8, 35u8, 232u8, 242u8, 42u8, 100u8, 150u8, 208u8, 210u8, 142u8, - 186u8, - ], - ) - } - #[doc = " An option which indicates if the relay-chain restricts signalling a validation code upgrade."] - #[doc = " In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced"] - #[doc = " candidate will be invalid."] - #[doc = ""] - #[doc = " This storage item is a mirror of the corresponding value for the current parachain from the"] - #[doc = " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is"] - #[doc = " set after the inherent."] - pub fn upgrade_restriction_signal( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::option::Option< - runtime_types::polkadot_primitives::v6::UpgradeRestriction, - >, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "ParachainSystem", - "UpgradeRestrictionSignal", - vec![], - [ - 235u8, 240u8, 37u8, 44u8, 181u8, 52u8, 7u8, 216u8, 20u8, 139u8, 69u8, - 124u8, 21u8, 173u8, 237u8, 64u8, 105u8, 88u8, 49u8, 69u8, 123u8, 55u8, - 181u8, 167u8, 112u8, 183u8, 190u8, 231u8, 231u8, 127u8, 77u8, 148u8, - ], - ) - } - #[doc = " Optional upgrade go-ahead signal from the relay-chain."] - #[doc = ""] - #[doc = " This storage item is a mirror of the corresponding value for the current parachain from the"] - #[doc = " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is"] - #[doc = " set after the inherent."] - pub fn upgrade_go_ahead( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::option::Option, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "ParachainSystem", - "UpgradeGoAhead", - vec![], - [ - 149u8, 144u8, 186u8, 88u8, 180u8, 34u8, 82u8, 226u8, 100u8, 148u8, - 246u8, 55u8, 233u8, 97u8, 43u8, 0u8, 48u8, 31u8, 69u8, 154u8, 29u8, - 147u8, 241u8, 91u8, 81u8, 126u8, 206u8, 117u8, 14u8, 149u8, 87u8, 88u8, - ], - ) - } - #[doc = " The state proof for the last relay parent block."] - #[doc = ""] - #[doc = " This field is meant to be updated each block with the validation data inherent. Therefore,"] - #[doc = " before processing of the inherent, e.g. in `on_initialize` this data may be stale."] - #[doc = ""] - #[doc = " This data is also absent from the genesis."] - pub fn relay_state_proof( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_trie::storage_proof::StorageProof, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "ParachainSystem", - "RelayStateProof", - vec![], - [ - 46u8, 115u8, 163u8, 190u8, 246u8, 47u8, 200u8, 159u8, 206u8, 204u8, - 94u8, 250u8, 127u8, 112u8, 109u8, 111u8, 210u8, 195u8, 244u8, 41u8, - 36u8, 187u8, 71u8, 150u8, 149u8, 253u8, 143u8, 33u8, 83u8, 189u8, - 182u8, 238u8, - ], - ) - } - #[doc = " The snapshot of some state related to messaging relevant to the current parachain as per"] - #[doc = " the relay parent."] - #[doc = ""] - #[doc = " This field is meant to be updated each block with the validation data inherent. Therefore,"] - #[doc = " before processing of the inherent, e.g. in `on_initialize` this data may be stale."] - #[doc = ""] - #[doc = " This data is also absent from the genesis."] pub fn relevant_messaging_state (& self ,) -> :: subxt :: storage :: address :: Address :: < :: subxt :: storage :: address :: StaticStorageMapKey , runtime_types :: cumulus_pallet_parachain_system :: relay_state_snapshot :: MessagingStateSnapshot , :: subxt :: storage :: address :: Yes , () , () >{ - ::subxt::storage::address::Address::new_static( - "ParachainSystem", - "RelevantMessagingState", - vec![], - [ - 117u8, 166u8, 186u8, 126u8, 21u8, 174u8, 86u8, 253u8, 163u8, 90u8, - 54u8, 226u8, 186u8, 253u8, 126u8, 168u8, 145u8, 45u8, 155u8, 32u8, - 97u8, 110u8, 208u8, 125u8, 47u8, 113u8, 165u8, 199u8, 210u8, 118u8, - 217u8, 73u8, - ], - ) - } - #[doc = " The parachain host configuration that was obtained from the relay parent."] - #[doc = ""] - #[doc = " This field is meant to be updated each block with the validation data inherent. Therefore,"] - #[doc = " before processing of the inherent, e.g. in `on_initialize` this data may be stale."] - #[doc = ""] - #[doc = " This data is also absent from the genesis."] - pub fn host_configuration( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::polkadot_primitives::v6::AbridgedHostConfiguration, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "ParachainSystem", - "HostConfiguration", - vec![], - [ - 252u8, 23u8, 111u8, 189u8, 120u8, 204u8, 129u8, 223u8, 248u8, 179u8, - 239u8, 173u8, 133u8, 61u8, 140u8, 2u8, 75u8, 32u8, 204u8, 178u8, 69u8, - 21u8, 44u8, 227u8, 178u8, 179u8, 33u8, 26u8, 131u8, 156u8, 78u8, 85u8, - ], - ) - } - #[doc = " The last downward message queue chain head we have observed."] - #[doc = ""] - #[doc = " This value is loaded before and saved after processing inbound downward messages carried"] - #[doc = " by the system inherent."] - pub fn last_dmq_mqc_head( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::cumulus_primitives_parachain_inherent::MessageQueueChain, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "ParachainSystem", - "LastDmqMqcHead", - vec![], - [ - 1u8, 70u8, 140u8, 40u8, 51u8, 127u8, 75u8, 80u8, 5u8, 49u8, 196u8, - 31u8, 30u8, 61u8, 54u8, 252u8, 0u8, 0u8, 100u8, 115u8, 177u8, 250u8, - 138u8, 48u8, 107u8, 41u8, 93u8, 87u8, 195u8, 107u8, 206u8, 227u8, - ], - ) - } - #[doc = " The message queue chain heads we have observed per each channel incoming channel."] - #[doc = ""] - #[doc = " This value is loaded before and saved after processing inbound downward messages carried"] - #[doc = " by the system inherent."] - pub fn last_hrmp_mqc_heads( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::subxt::utils::KeyedVec< - runtime_types::polkadot_parachain_primitives::primitives::Id, - runtime_types::cumulus_primitives_parachain_inherent::MessageQueueChain, - >, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "ParachainSystem", - "LastHrmpMqcHeads", - vec![], - [ - 131u8, 170u8, 142u8, 30u8, 101u8, 113u8, 131u8, 81u8, 38u8, 168u8, - 98u8, 3u8, 9u8, 109u8, 96u8, 179u8, 115u8, 177u8, 128u8, 11u8, 238u8, - 54u8, 81u8, 60u8, 97u8, 112u8, 224u8, 175u8, 86u8, 133u8, 182u8, 76u8, - ], - ) - } - #[doc = " Number of downward messages processed in a block."] - #[doc = ""] - #[doc = " This will be cleared in `on_initialize` of each new block."] - pub fn processed_downward_messages( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u32, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "ParachainSystem", - "ProcessedDownwardMessages", - vec![], - [ - 151u8, 234u8, 196u8, 87u8, 130u8, 79u8, 4u8, 102u8, 47u8, 10u8, 33u8, - 132u8, 149u8, 118u8, 61u8, 141u8, 5u8, 1u8, 30u8, 120u8, 220u8, 156u8, - 16u8, 11u8, 14u8, 52u8, 126u8, 151u8, 244u8, 149u8, 197u8, 51u8, - ], - ) - } - #[doc = " HRMP watermark that was set in a block."] - #[doc = ""] - #[doc = " This will be cleared in `on_initialize` of each new block."] - pub fn hrmp_watermark( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u32, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "ParachainSystem", - "HrmpWatermark", - vec![], - [ - 77u8, 62u8, 59u8, 220u8, 7u8, 125u8, 98u8, 249u8, 108u8, 212u8, 223u8, - 99u8, 152u8, 13u8, 29u8, 80u8, 166u8, 65u8, 232u8, 113u8, 145u8, 128u8, - 123u8, 35u8, 238u8, 31u8, 113u8, 156u8, 220u8, 104u8, 217u8, 165u8, - ], - ) - } - #[doc = " HRMP messages that were sent in a block."] - #[doc = ""] - #[doc = " This will be cleared in `on_initialize` of each new block."] - pub fn hrmp_outbound_messages( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec< - runtime_types::polkadot_core_primitives::OutboundHrmpMessage< - runtime_types::polkadot_parachain_primitives::primitives::Id, - >, - >, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "ParachainSystem", - "HrmpOutboundMessages", - vec![], - [ - 42u8, 9u8, 96u8, 217u8, 25u8, 101u8, 129u8, 147u8, 150u8, 20u8, 164u8, - 186u8, 217u8, 178u8, 15u8, 201u8, 233u8, 104u8, 92u8, 120u8, 29u8, - 245u8, 196u8, 13u8, 141u8, 210u8, 102u8, 62u8, 216u8, 80u8, 246u8, - 145u8, - ], - ) - } - #[doc = " Upward messages that were sent in a block."] - #[doc = ""] - #[doc = " This will be cleared in `on_initialize` of each new block."] - pub fn upward_messages( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "ParachainSystem", - "UpwardMessages", - vec![], - [ - 179u8, 127u8, 8u8, 94u8, 194u8, 246u8, 53u8, 79u8, 80u8, 22u8, 18u8, - 75u8, 116u8, 163u8, 90u8, 161u8, 30u8, 140u8, 57u8, 126u8, 60u8, 91u8, - 23u8, 30u8, 120u8, 245u8, 125u8, 96u8, 152u8, 25u8, 248u8, 85u8, - ], - ) - } - #[doc = " Upward messages that are still pending and not yet send to the relay chain."] - pub fn pending_upward_messages( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "ParachainSystem", - "PendingUpwardMessages", - vec![], - [ - 239u8, 45u8, 18u8, 173u8, 148u8, 150u8, 55u8, 176u8, 173u8, 156u8, - 246u8, 226u8, 198u8, 214u8, 104u8, 187u8, 186u8, 13u8, 83u8, 194u8, - 153u8, 29u8, 228u8, 109u8, 26u8, 18u8, 212u8, 151u8, 246u8, 24u8, - 133u8, 216u8, - ], - ) - } - #[doc = " The factor to multiply the base delivery fee by for UMP."] - pub fn upward_delivery_fee_factor( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_arithmetic::fixed_point::FixedU128, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "ParachainSystem", - "UpwardDeliveryFeeFactor", - vec![], - [ - 40u8, 217u8, 164u8, 111u8, 151u8, 132u8, 69u8, 226u8, 163u8, 175u8, - 43u8, 239u8, 179u8, 217u8, 136u8, 161u8, 13u8, 251u8, 163u8, 102u8, - 24u8, 27u8, 168u8, 89u8, 221u8, 83u8, 93u8, 64u8, 96u8, 117u8, 146u8, - 71u8, - ], - ) - } - #[doc = " The number of HRMP messages we observed in `on_initialize` and thus used that number for"] - #[doc = " announcing the weight of `on_initialize` and `on_finalize`."] - pub fn announced_hrmp_messages_per_candidate( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u32, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "ParachainSystem", - "AnnouncedHrmpMessagesPerCandidate", - vec![], - [ - 93u8, 11u8, 229u8, 172u8, 73u8, 87u8, 13u8, 149u8, 15u8, 94u8, 163u8, - 107u8, 156u8, 22u8, 131u8, 177u8, 96u8, 247u8, 213u8, 224u8, 41u8, - 126u8, 157u8, 33u8, 154u8, 194u8, 95u8, 234u8, 65u8, 19u8, 58u8, 161u8, - ], - ) - } - #[doc = " The weight we reserve at the beginning of the block for processing XCMP messages. This"] - #[doc = " overrides the amount set in the Config trait."] - pub fn reserved_xcmp_weight_override( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_weights::weight_v2::Weight, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "ParachainSystem", - "ReservedXcmpWeightOverride", - vec![], - [ - 176u8, 93u8, 203u8, 74u8, 18u8, 170u8, 246u8, 203u8, 109u8, 89u8, 86u8, - 77u8, 96u8, 66u8, 189u8, 79u8, 184u8, 253u8, 11u8, 230u8, 87u8, 120u8, - 1u8, 254u8, 215u8, 41u8, 210u8, 86u8, 239u8, 206u8, 60u8, 2u8, - ], - ) - } - #[doc = " The weight we reserve at the beginning of the block for processing DMP messages. This"] - #[doc = " overrides the amount set in the Config trait."] - pub fn reserved_dmp_weight_override( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_weights::weight_v2::Weight, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "ParachainSystem", - "ReservedDmpWeightOverride", - vec![], - [ - 205u8, 124u8, 9u8, 156u8, 255u8, 207u8, 208u8, 23u8, 179u8, 132u8, - 254u8, 157u8, 237u8, 240u8, 167u8, 203u8, 253u8, 111u8, 136u8, 32u8, - 100u8, 152u8, 16u8, 19u8, 175u8, 14u8, 108u8, 61u8, 59u8, 231u8, 70u8, - 112u8, - ], - ) - } - #[doc = " A custom head data that should be returned as result of `validate_block`."] - #[doc = ""] - #[doc = " See `Pallet::set_custom_validation_head_data` for more information."] - pub fn custom_validation_head_data( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec<::core::primitive::u8>, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "ParachainSystem", - "CustomValidationHeadData", - vec![], - [ - 52u8, 186u8, 187u8, 57u8, 245u8, 171u8, 202u8, 23u8, 92u8, 80u8, 118u8, - 66u8, 251u8, 156u8, 175u8, 254u8, 141u8, 185u8, 115u8, 209u8, 170u8, - 165u8, 1u8, 242u8, 120u8, 234u8, 162u8, 24u8, 135u8, 105u8, 8u8, 177u8, - ], - ) - } - } - } - } - pub mod timestamp { - use super::root_mod; - use super::runtime_types; - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::pallet_timestamp::pallet::Call; - pub mod calls { - use super::root_mod; - use super::runtime_types; - type DispatchError = runtime_types::sp_runtime::DispatchError; - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Set { - #[codec(compact)] - pub now: ::core::primitive::u64, - } - impl ::subxt::blocks::StaticExtrinsic for Set { - const PALLET: &'static str = "Timestamp"; - const CALL: &'static str = "set"; - } - } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "See [`Pallet::set`]."] - pub fn set(&self, now: ::core::primitive::u64) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Timestamp", - "set", - types::Set { now }, - [ - 37u8, 95u8, 49u8, 218u8, 24u8, 22u8, 0u8, 95u8, 72u8, 35u8, 155u8, - 199u8, 213u8, 54u8, 207u8, 22u8, 185u8, 193u8, 221u8, 70u8, 18u8, - 200u8, 4u8, 231u8, 195u8, 173u8, 6u8, 122u8, 11u8, 203u8, 231u8, 227u8, - ], - ) - } - } - } - pub mod storage { - use super::runtime_types; - pub struct StorageApi; - impl StorageApi { - #[doc = " The current time for the current block."] - pub fn now( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u64, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "Timestamp", - "Now", - vec![], - [ - 44u8, 50u8, 80u8, 30u8, 195u8, 146u8, 123u8, 238u8, 8u8, 163u8, 187u8, - 92u8, 61u8, 39u8, 51u8, 29u8, 173u8, 169u8, 217u8, 158u8, 85u8, 187u8, - 141u8, 26u8, 12u8, 115u8, 51u8, 11u8, 200u8, 244u8, 138u8, 152u8, - ], - ) - } - #[doc = " Whether the timestamp has been updated in this block."] - #[doc = ""] - #[doc = " This value is updated to `true` upon successful submission of a timestamp by a node."] - #[doc = " It is then checked at the end of each block execution in the `on_finalize` hook."] - pub fn did_update( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::bool, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "Timestamp", - "DidUpdate", - vec![], - [ - 229u8, 175u8, 246u8, 102u8, 237u8, 158u8, 212u8, 229u8, 238u8, 214u8, - 205u8, 160u8, 164u8, 252u8, 195u8, 75u8, 139u8, 110u8, 22u8, 34u8, - 248u8, 204u8, 107u8, 46u8, 20u8, 200u8, 238u8, 167u8, 71u8, 41u8, - 214u8, 140u8, - ], - ) - } - } - } - pub mod constants { - use super::runtime_types; - pub struct ConstantsApi; - impl ConstantsApi { - #[doc = " The minimum period between blocks."] - #[doc = ""] - #[doc = " Be aware that this is different to the *expected* period that the block production"] - #[doc = " apparatus provides. Your chosen consensus system will generally work with this to"] - #[doc = " determine a sensible block time. For example, in the Aura pallet it will be double this"] - #[doc = " period on default settings."] - pub fn minimum_period( - &self, - ) -> ::subxt::constants::Address<::core::primitive::u64> { - ::subxt::constants::Address::new_static( - "Timestamp", - "MinimumPeriod", - [ - 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, - 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, - 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, - 246u8, - ], - ) - } - } - } - } - pub mod parachain_info { - use super::root_mod; - use super::runtime_types; - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::staging_parachain_info::pallet::Call; - pub mod calls { - use super::root_mod; - use super::runtime_types; - type DispatchError = runtime_types::sp_runtime::DispatchError; - pub mod types { - use super::runtime_types; - } - pub struct TransactionApi; - impl TransactionApi {} - } - pub mod storage { - use super::runtime_types; - pub struct StorageApi; - impl StorageApi { - pub fn parachain_id( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::polkadot_parachain_primitives::primitives::Id, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "ParachainInfo", - "ParachainId", - vec![], - [ - 160u8, 130u8, 74u8, 181u8, 231u8, 180u8, 246u8, 152u8, 204u8, 44u8, - 245u8, 91u8, 113u8, 246u8, 218u8, 50u8, 254u8, 248u8, 35u8, 219u8, - 83u8, 144u8, 228u8, 245u8, 122u8, 53u8, 194u8, 172u8, 222u8, 118u8, - 202u8, 91u8, - ], - ) - } - } - } - } - pub mod balances { - use super::root_mod; - use super::runtime_types; - #[doc = "The `Error` enum of this pallet."] - pub type Error = runtime_types::pallet_balances::pallet::Error; - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::pallet_balances::pallet::Call; - pub mod calls { - use super::root_mod; - use super::runtime_types; - type DispatchError = runtime_types::sp_runtime::DispatchError; - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct TransferAllowDeath { - pub dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - #[codec(compact)] - pub value: ::core::primitive::u128, - } - impl ::subxt::blocks::StaticExtrinsic for TransferAllowDeath { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "transfer_allow_death"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceTransfer { - pub source: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - #[codec(compact)] - pub value: ::core::primitive::u128, - } - impl ::subxt::blocks::StaticExtrinsic for ForceTransfer { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "force_transfer"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct TransferKeepAlive { - pub dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - #[codec(compact)] - pub value: ::core::primitive::u128, - } - impl ::subxt::blocks::StaticExtrinsic for TransferKeepAlive { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "transfer_keep_alive"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct TransferAll { - pub dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub keep_alive: ::core::primitive::bool, - } - impl ::subxt::blocks::StaticExtrinsic for TransferAll { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "transfer_all"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceUnreserve { - pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub amount: ::core::primitive::u128, - } - impl ::subxt::blocks::StaticExtrinsic for ForceUnreserve { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "force_unreserve"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct UpgradeAccounts { - pub who: ::std::vec::Vec<::subxt::utils::AccountId32>, - } - impl ::subxt::blocks::StaticExtrinsic for UpgradeAccounts { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "upgrade_accounts"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceSetBalance { - pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - #[codec(compact)] - pub new_free: ::core::primitive::u128, - } - impl ::subxt::blocks::StaticExtrinsic for ForceSetBalance { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "force_set_balance"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceAdjustTotalIssuance { - pub direction: runtime_types::pallet_balances::types::AdjustmentDirection, - #[codec(compact)] - pub delta: ::core::primitive::u128, - } - impl ::subxt::blocks::StaticExtrinsic for ForceAdjustTotalIssuance { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "force_adjust_total_issuance"; - } - } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "See [`Pallet::transfer_allow_death`]."] - pub fn transfer_allow_death( - &self, - dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - value: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Balances", - "transfer_allow_death", - types::TransferAllowDeath { dest, value }, - [ - 51u8, 166u8, 195u8, 10u8, 139u8, 218u8, 55u8, 130u8, 6u8, 194u8, 35u8, - 140u8, 27u8, 205u8, 214u8, 222u8, 102u8, 43u8, 143u8, 145u8, 86u8, - 219u8, 210u8, 147u8, 13u8, 39u8, 51u8, 21u8, 237u8, 179u8, 132u8, - 130u8, - ], - ) - } - #[doc = "See [`Pallet::force_transfer`]."] - pub fn force_transfer( - &self, - source: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - value: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Balances", - "force_transfer", - types::ForceTransfer { source, dest, value }, - [ - 154u8, 93u8, 222u8, 27u8, 12u8, 248u8, 63u8, 213u8, 224u8, 86u8, 250u8, - 153u8, 249u8, 102u8, 83u8, 160u8, 79u8, 125u8, 105u8, 222u8, 77u8, - 180u8, 90u8, 105u8, 81u8, 217u8, 60u8, 25u8, 213u8, 51u8, 185u8, 96u8, - ], - ) - } - #[doc = "See [`Pallet::transfer_keep_alive`]."] - pub fn transfer_keep_alive( - &self, - dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - value: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Balances", - "transfer_keep_alive", - types::TransferKeepAlive { dest, value }, - [ - 245u8, 14u8, 190u8, 193u8, 32u8, 210u8, 74u8, 92u8, 25u8, 182u8, 76u8, - 55u8, 247u8, 83u8, 114u8, 75u8, 143u8, 236u8, 117u8, 25u8, 54u8, 157u8, - 208u8, 207u8, 233u8, 89u8, 70u8, 161u8, 235u8, 242u8, 222u8, 59u8, - ], - ) - } - #[doc = "See [`Pallet::transfer_all`]."] - pub fn transfer_all( - &self, - dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - keep_alive: ::core::primitive::bool, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Balances", - "transfer_all", - types::TransferAll { dest, keep_alive }, - [ - 105u8, 132u8, 49u8, 144u8, 195u8, 250u8, 34u8, 46u8, 213u8, 248u8, - 112u8, 188u8, 81u8, 228u8, 136u8, 18u8, 67u8, 172u8, 37u8, 38u8, 238u8, - 9u8, 34u8, 15u8, 67u8, 34u8, 148u8, 195u8, 223u8, 29u8, 154u8, 6u8, - ], - ) - } - #[doc = "See [`Pallet::force_unreserve`]."] - pub fn force_unreserve( - &self, - who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - amount: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Balances", - "force_unreserve", - types::ForceUnreserve { who, amount }, - [ - 142u8, 151u8, 64u8, 205u8, 46u8, 64u8, 62u8, 122u8, 108u8, 49u8, 223u8, - 140u8, 120u8, 153u8, 35u8, 165u8, 187u8, 38u8, 157u8, 200u8, 123u8, - 199u8, 198u8, 168u8, 208u8, 159u8, 39u8, 134u8, 92u8, 103u8, 84u8, - 171u8, - ], - ) - } - #[doc = "See [`Pallet::upgrade_accounts`]."] - pub fn upgrade_accounts( - &self, - who: ::std::vec::Vec<::subxt::utils::AccountId32>, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Balances", - "upgrade_accounts", - types::UpgradeAccounts { who }, - [ - 66u8, 200u8, 179u8, 104u8, 65u8, 2u8, 101u8, 56u8, 130u8, 161u8, 224u8, - 233u8, 255u8, 124u8, 70u8, 122u8, 8u8, 49u8, 103u8, 178u8, 68u8, 47u8, - 214u8, 166u8, 217u8, 116u8, 178u8, 50u8, 212u8, 164u8, 98u8, 226u8, - ], - ) - } - #[doc = "See [`Pallet::force_set_balance`]."] - pub fn force_set_balance( - &self, - who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - new_free: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Balances", - "force_set_balance", - types::ForceSetBalance { who, new_free }, - [ - 114u8, 229u8, 59u8, 204u8, 180u8, 83u8, 17u8, 4u8, 59u8, 4u8, 55u8, - 39u8, 151u8, 196u8, 124u8, 60u8, 209u8, 65u8, 193u8, 11u8, 44u8, 164u8, - 116u8, 93u8, 169u8, 30u8, 199u8, 165u8, 55u8, 231u8, 223u8, 43u8, - ], - ) - } - #[doc = "See [`Pallet::force_adjust_total_issuance`]."] - pub fn force_adjust_total_issuance( - &self, - direction: runtime_types::pallet_balances::types::AdjustmentDirection, - delta: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Balances", - "force_adjust_total_issuance", - types::ForceAdjustTotalIssuance { direction, delta }, - [ - 208u8, 134u8, 56u8, 133u8, 232u8, 164u8, 10u8, 213u8, 53u8, 193u8, - 190u8, 63u8, 236u8, 186u8, 96u8, 122u8, 104u8, 87u8, 173u8, 38u8, 58u8, - 176u8, 21u8, 78u8, 42u8, 106u8, 46u8, 248u8, 251u8, 190u8, 150u8, - 202u8, - ], - ) - } - } - } - #[doc = "The `Event` enum of this pallet"] - pub type Event = runtime_types::pallet_balances::pallet::Event; - pub mod events { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "An account was created with some free balance."] - pub struct Endowed { - pub account: ::subxt::utils::AccountId32, - pub free_balance: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for Endowed { - const PALLET: &'static str = "Balances"; - const EVENT: &'static str = "Endowed"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "An account was removed whose balance was non-zero but below ExistentialDeposit,"] - #[doc = "resulting in an outright loss."] - pub struct DustLost { - pub account: ::subxt::utils::AccountId32, - pub amount: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for DustLost { - const PALLET: &'static str = "Balances"; - const EVENT: &'static str = "DustLost"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Transfer succeeded."] - pub struct Transfer { - pub from: ::subxt::utils::AccountId32, - pub to: ::subxt::utils::AccountId32, - pub amount: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for Transfer { - const PALLET: &'static str = "Balances"; - const EVENT: &'static str = "Transfer"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A balance was set by root."] - pub struct BalanceSet { - pub who: ::subxt::utils::AccountId32, - pub free: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for BalanceSet { - const PALLET: &'static str = "Balances"; - const EVENT: &'static str = "BalanceSet"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Some balance was reserved (moved from free to reserved)."] - pub struct Reserved { - pub who: ::subxt::utils::AccountId32, - pub amount: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for Reserved { - const PALLET: &'static str = "Balances"; - const EVENT: &'static str = "Reserved"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Some balance was unreserved (moved from reserved to free)."] - pub struct Unreserved { - pub who: ::subxt::utils::AccountId32, - pub amount: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for Unreserved { - const PALLET: &'static str = "Balances"; - const EVENT: &'static str = "Unreserved"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Some balance was moved from the reserve of the first account to the second account."] - #[doc = "Final argument indicates the destination balance type."] - pub struct ReserveRepatriated { - pub from: ::subxt::utils::AccountId32, - pub to: ::subxt::utils::AccountId32, - pub amount: ::core::primitive::u128, - pub destination_status: - runtime_types::frame_support::traits::tokens::misc::BalanceStatus, - } - impl ::subxt::events::StaticEvent for ReserveRepatriated { - const PALLET: &'static str = "Balances"; - const EVENT: &'static str = "ReserveRepatriated"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Some amount was deposited (e.g. for transaction fees)."] - pub struct Deposit { - pub who: ::subxt::utils::AccountId32, - pub amount: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for Deposit { - const PALLET: &'static str = "Balances"; - const EVENT: &'static str = "Deposit"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Some amount was withdrawn from the account (e.g. for transaction fees)."] - pub struct Withdraw { - pub who: ::subxt::utils::AccountId32, - pub amount: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for Withdraw { - const PALLET: &'static str = "Balances"; - const EVENT: &'static str = "Withdraw"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Some amount was removed from the account (e.g. for misbehavior)."] - pub struct Slashed { - pub who: ::subxt::utils::AccountId32, - pub amount: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for Slashed { - const PALLET: &'static str = "Balances"; - const EVENT: &'static str = "Slashed"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Some amount was minted into an account."] - pub struct Minted { - pub who: ::subxt::utils::AccountId32, - pub amount: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for Minted { - const PALLET: &'static str = "Balances"; - const EVENT: &'static str = "Minted"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Some amount was burned from an account."] - pub struct Burned { - pub who: ::subxt::utils::AccountId32, - pub amount: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for Burned { - const PALLET: &'static str = "Balances"; - const EVENT: &'static str = "Burned"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Some amount was suspended from an account (it can be restored later)."] - pub struct Suspended { - pub who: ::subxt::utils::AccountId32, - pub amount: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for Suspended { - const PALLET: &'static str = "Balances"; - const EVENT: &'static str = "Suspended"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Some amount was restored into an account."] - pub struct Restored { - pub who: ::subxt::utils::AccountId32, - pub amount: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for Restored { - const PALLET: &'static str = "Balances"; - const EVENT: &'static str = "Restored"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "An account was upgraded."] - pub struct Upgraded { - pub who: ::subxt::utils::AccountId32, - } - impl ::subxt::events::StaticEvent for Upgraded { - const PALLET: &'static str = "Balances"; - const EVENT: &'static str = "Upgraded"; - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Total issuance was increased by `amount`, creating a credit to be balanced."] - pub struct Issued { - pub amount: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for Issued { - const PALLET: &'static str = "Balances"; - const EVENT: &'static str = "Issued"; - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Total issuance was decreased by `amount`, creating a debt to be balanced."] - pub struct Rescinded { - pub amount: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for Rescinded { - const PALLET: &'static str = "Balances"; - const EVENT: &'static str = "Rescinded"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Some balance was locked."] - pub struct Locked { - pub who: ::subxt::utils::AccountId32, - pub amount: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for Locked { - const PALLET: &'static str = "Balances"; - const EVENT: &'static str = "Locked"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Some balance was unlocked."] - pub struct Unlocked { - pub who: ::subxt::utils::AccountId32, - pub amount: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for Unlocked { - const PALLET: &'static str = "Balances"; - const EVENT: &'static str = "Unlocked"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Some balance was frozen."] - pub struct Frozen { - pub who: ::subxt::utils::AccountId32, - pub amount: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for Frozen { - const PALLET: &'static str = "Balances"; - const EVENT: &'static str = "Frozen"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Some balance was thawed."] - pub struct Thawed { - pub who: ::subxt::utils::AccountId32, - pub amount: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for Thawed { - const PALLET: &'static str = "Balances"; - const EVENT: &'static str = "Thawed"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The `TotalIssuance` was forcefully changed."] - pub struct TotalIssuanceForced { - pub old: ::core::primitive::u128, - pub new: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for TotalIssuanceForced { - const PALLET: &'static str = "Balances"; - const EVENT: &'static str = "TotalIssuanceForced"; - } - } - pub mod storage { - use super::runtime_types; - pub struct StorageApi; - impl StorageApi { - #[doc = " The total units issued in the system."] - pub fn total_issuance( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u128, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "Balances", - "TotalIssuance", - vec![], - [ - 116u8, 70u8, 119u8, 194u8, 69u8, 37u8, 116u8, 206u8, 171u8, 70u8, - 171u8, 210u8, 226u8, 111u8, 184u8, 204u8, 206u8, 11u8, 68u8, 72u8, - 255u8, 19u8, 194u8, 11u8, 27u8, 194u8, 81u8, 204u8, 59u8, 224u8, 202u8, - 185u8, - ], - ) - } - #[doc = " The total units of outstanding deactivated balance in the system."] - pub fn inactive_issuance( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u128, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "Balances", - "InactiveIssuance", - vec![], - [ - 212u8, 185u8, 19u8, 50u8, 250u8, 72u8, 173u8, 50u8, 4u8, 104u8, 161u8, - 249u8, 77u8, 247u8, 204u8, 248u8, 11u8, 18u8, 57u8, 4u8, 82u8, 110u8, - 30u8, 216u8, 16u8, 37u8, 87u8, 67u8, 189u8, 235u8, 214u8, 155u8, - ], - ) - } - #[doc = " The Balances pallet example of storing the balance of an account."] - #[doc = ""] - #[doc = " # Example"] - #[doc = ""] - #[doc = " ```nocompile"] - #[doc = " impl pallet_balances::Config for Runtime {"] - #[doc = " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>"] - #[doc = " }"] - #[doc = " ```"] - #[doc = ""] - #[doc = " You can also store the balance of an account in the `System` pallet."] - #[doc = ""] - #[doc = " # Example"] - #[doc = ""] - #[doc = " ```nocompile"] - #[doc = " impl pallet_balances::Config for Runtime {"] - #[doc = " type AccountStore = System"] - #[doc = " }"] - #[doc = " ```"] - #[doc = ""] - #[doc = " But this comes with tradeoffs, storing account balances in the system pallet stores"] - #[doc = " `frame_system` data alongside the account data contrary to storing account balances in the"] - #[doc = " `Balances` pallet, which uses a `StorageMap` to store balances data only."] - #[doc = " NOTE: This is only used in the case that this pallet is used to store balances."] - pub fn account_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>, - (), - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "Balances", - "Account", - vec![], - [ - 213u8, 38u8, 200u8, 69u8, 218u8, 0u8, 112u8, 181u8, 160u8, 23u8, 96u8, - 90u8, 3u8, 88u8, 126u8, 22u8, 103u8, 74u8, 64u8, 69u8, 29u8, 247u8, - 18u8, 17u8, 234u8, 143u8, 189u8, 22u8, 247u8, 194u8, 154u8, 249u8, - ], - ) - } - #[doc = " The Balances pallet example of storing the balance of an account."] - #[doc = ""] - #[doc = " # Example"] - #[doc = ""] - #[doc = " ```nocompile"] - #[doc = " impl pallet_balances::Config for Runtime {"] - #[doc = " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>"] - #[doc = " }"] - #[doc = " ```"] - #[doc = ""] - #[doc = " You can also store the balance of an account in the `System` pallet."] - #[doc = ""] - #[doc = " # Example"] - #[doc = ""] - #[doc = " ```nocompile"] - #[doc = " impl pallet_balances::Config for Runtime {"] - #[doc = " type AccountStore = System"] - #[doc = " }"] - #[doc = " ```"] - #[doc = ""] - #[doc = " But this comes with tradeoffs, storing account balances in the system pallet stores"] - #[doc = " `frame_system` data alongside the account data contrary to storing account balances in the"] - #[doc = " `Balances` pallet, which uses a `StorageMap` to store balances data only."] - #[doc = " NOTE: This is only used in the case that this pallet is used to store balances."] - pub fn account( - &self, - _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "Balances", - "Account", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 213u8, 38u8, 200u8, 69u8, 218u8, 0u8, 112u8, 181u8, 160u8, 23u8, 96u8, - 90u8, 3u8, 88u8, 126u8, 22u8, 103u8, 74u8, 64u8, 69u8, 29u8, 247u8, - 18u8, 17u8, 234u8, 143u8, 189u8, 22u8, 247u8, 194u8, 154u8, 249u8, - ], - ) - } - #[doc = " Any liquidity locks on some account balances."] - #[doc = " NOTE: Should only be accessed when setting, changing and freeing a lock."] - pub fn locks_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< - runtime_types::pallet_balances::types::BalanceLock<::core::primitive::u128>, - >, - (), - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "Balances", - "Locks", - vec![], - [ - 10u8, 223u8, 55u8, 0u8, 249u8, 69u8, 168u8, 41u8, 75u8, 35u8, 120u8, - 167u8, 18u8, 132u8, 9u8, 20u8, 91u8, 51u8, 27u8, 69u8, 136u8, 187u8, - 13u8, 220u8, 163u8, 122u8, 26u8, 141u8, 174u8, 249u8, 85u8, 37u8, - ], - ) - } - #[doc = " Any liquidity locks on some account balances."] - #[doc = " NOTE: Should only be accessed when setting, changing and freeing a lock."] - pub fn locks( - &self, - _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< - runtime_types::pallet_balances::types::BalanceLock<::core::primitive::u128>, - >, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "Balances", - "Locks", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 10u8, 223u8, 55u8, 0u8, 249u8, 69u8, 168u8, 41u8, 75u8, 35u8, 120u8, - 167u8, 18u8, 132u8, 9u8, 20u8, 91u8, 51u8, 27u8, 69u8, 136u8, 187u8, - 13u8, 220u8, 163u8, 122u8, 26u8, 141u8, 174u8, 249u8, 85u8, 37u8, - ], - ) - } - #[doc = " Named reserves on some account balances."] - pub fn reserves_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_balances::types::ReserveData< - [::core::primitive::u8; 8usize], - ::core::primitive::u128, - >, - >, - (), - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "Balances", - "Reserves", - vec![], - [ - 112u8, 10u8, 241u8, 77u8, 64u8, 187u8, 106u8, 159u8, 13u8, 153u8, - 140u8, 178u8, 182u8, 50u8, 1u8, 55u8, 149u8, 92u8, 196u8, 229u8, 170u8, - 106u8, 193u8, 88u8, 255u8, 244u8, 2u8, 193u8, 62u8, 235u8, 204u8, 91u8, - ], - ) - } - #[doc = " Named reserves on some account balances."] - pub fn reserves( - &self, - _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_balances::types::ReserveData< - [::core::primitive::u8; 8usize], - ::core::primitive::u128, - >, - >, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "Balances", - "Reserves", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 112u8, 10u8, 241u8, 77u8, 64u8, 187u8, 106u8, 159u8, 13u8, 153u8, - 140u8, 178u8, 182u8, 50u8, 1u8, 55u8, 149u8, 92u8, 196u8, 229u8, 170u8, - 106u8, 193u8, 88u8, 255u8, 244u8, 2u8, 193u8, 62u8, 235u8, 204u8, 91u8, - ], - ) - } - #[doc = " Holds on account balances."] - pub fn holds_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_balances::types::IdAmount< - runtime_types::coretime_rococo_runtime::RuntimeHoldReason, - ::core::primitive::u128, - >, - >, - (), - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "Balances", - "Holds", - vec![], - [ - 37u8, 176u8, 2u8, 18u8, 109u8, 26u8, 66u8, 81u8, 28u8, 104u8, 149u8, - 117u8, 119u8, 114u8, 196u8, 35u8, 172u8, 155u8, 66u8, 195u8, 98u8, - 37u8, 134u8, 22u8, 106u8, 221u8, 215u8, 97u8, 25u8, 28u8, 21u8, 206u8, - ], - ) - } - #[doc = " Holds on account balances."] - pub fn holds( - &self, - _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_balances::types::IdAmount< - runtime_types::coretime_rococo_runtime::RuntimeHoldReason, - ::core::primitive::u128, - >, - >, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "Balances", - "Holds", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 37u8, 176u8, 2u8, 18u8, 109u8, 26u8, 66u8, 81u8, 28u8, 104u8, 149u8, - 117u8, 119u8, 114u8, 196u8, 35u8, 172u8, 155u8, 66u8, 195u8, 98u8, - 37u8, 134u8, 22u8, 106u8, 221u8, 215u8, 97u8, 25u8, 28u8, 21u8, 206u8, - ], - ) - } - #[doc = " Freeze locks on account balances."] - pub fn freezes_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_balances::types::IdAmount< - (), - ::core::primitive::u128, - >, - >, - (), - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "Balances", - "Freezes", - vec![], - [ - 69u8, 49u8, 165u8, 76u8, 135u8, 142u8, 179u8, 118u8, 50u8, 109u8, 53u8, - 112u8, 110u8, 94u8, 30u8, 93u8, 173u8, 38u8, 27u8, 142u8, 19u8, 5u8, - 163u8, 4u8, 68u8, 218u8, 179u8, 224u8, 118u8, 218u8, 115u8, 64u8, - ], - ) - } - #[doc = " Freeze locks on account balances."] - pub fn freezes( - &self, - _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_balances::types::IdAmount< - (), - ::core::primitive::u128, - >, - >, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "Balances", - "Freezes", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 69u8, 49u8, 165u8, 76u8, 135u8, 142u8, 179u8, 118u8, 50u8, 109u8, 53u8, - 112u8, 110u8, 94u8, 30u8, 93u8, 173u8, 38u8, 27u8, 142u8, 19u8, 5u8, - 163u8, 4u8, 68u8, 218u8, 179u8, 224u8, 118u8, 218u8, 115u8, 64u8, - ], - ) - } - } - } - pub mod constants { - use super::runtime_types; - pub struct ConstantsApi; - impl ConstantsApi { - #[doc = " The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO!"] - #[doc = ""] - #[doc = " If you *really* need it to be zero, you can enable the feature `insecure_zero_ed` for"] - #[doc = " this pallet. However, you do so at your own risk: this will open up a major DoS vector."] - #[doc = " In case you have multiple sources of provider references, you may also get unexpected"] - #[doc = " behaviour if you set this to zero."] - #[doc = ""] - #[doc = " Bottom line: Do yourself a favour and make it at least one!"] - pub fn existential_deposit( - &self, - ) -> ::subxt::constants::Address<::core::primitive::u128> { - ::subxt::constants::Address::new_static( - "Balances", - "ExistentialDeposit", - [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, - 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, - ], - ) - } - #[doc = " The maximum number of locks that should exist on an account."] - #[doc = " Not strictly enforced, but used for weight estimation."] - pub fn max_locks(&self) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static( - "Balances", - "MaxLocks", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) - } - #[doc = " The maximum number of named reserves that can exist on an account."] - pub fn max_reserves(&self) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static( - "Balances", - "MaxReserves", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) - } - #[doc = " The maximum number of individual freeze locks that can exist on an account at any time."] - pub fn max_freezes(&self) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static( - "Balances", - "MaxFreezes", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) - } - } - } - } - pub mod transaction_payment { - use super::root_mod; - use super::runtime_types; - #[doc = "The `Event` enum of this pallet"] - pub type Event = runtime_types::pallet_transaction_payment::pallet::Event; - pub mod events { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"] - #[doc = "has been paid by `who`."] - pub struct TransactionFeePaid { - pub who: ::subxt::utils::AccountId32, - pub actual_fee: ::core::primitive::u128, - pub tip: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for TransactionFeePaid { - const PALLET: &'static str = "TransactionPayment"; - const EVENT: &'static str = "TransactionFeePaid"; - } - } - pub mod storage { - use super::runtime_types; - pub struct StorageApi; - impl StorageApi { - pub fn next_fee_multiplier( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_arithmetic::fixed_point::FixedU128, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "TransactionPayment", - "NextFeeMultiplier", - vec![], - [ - 247u8, 39u8, 81u8, 170u8, 225u8, 226u8, 82u8, 147u8, 34u8, 113u8, - 147u8, 213u8, 59u8, 80u8, 139u8, 35u8, 36u8, 196u8, 152u8, 19u8, 9u8, - 159u8, 176u8, 79u8, 249u8, 201u8, 170u8, 1u8, 129u8, 79u8, 146u8, - 197u8, - ], - ) - } - pub fn storage_version( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_transaction_payment::Releases, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "TransactionPayment", - "StorageVersion", - vec![], - [ - 105u8, 243u8, 158u8, 241u8, 159u8, 231u8, 253u8, 6u8, 4u8, 32u8, 85u8, - 178u8, 126u8, 31u8, 203u8, 134u8, 154u8, 38u8, 122u8, 155u8, 150u8, - 251u8, 174u8, 15u8, 74u8, 134u8, 216u8, 244u8, 168u8, 175u8, 158u8, - 144u8, - ], - ) - } - } - } - pub mod constants { - use super::runtime_types; - pub struct ConstantsApi; - impl ConstantsApi { - #[doc = " A fee multiplier for `Operational` extrinsics to compute \"virtual tip\" to boost their"] - #[doc = " `priority`"] - #[doc = ""] - #[doc = " This value is multiplied by the `final_fee` to obtain a \"virtual tip\" that is later"] - #[doc = " added to a tip component in regular `priority` calculations."] - #[doc = " It means that a `Normal` transaction can front-run a similarly-sized `Operational`"] - #[doc = " extrinsic (with no tip), by including a tip value greater than the virtual tip."] - #[doc = ""] - #[doc = " ```rust,ignore"] - #[doc = " // For `Normal`"] - #[doc = " let priority = priority_calc(tip);"] - #[doc = ""] - #[doc = " // For `Operational`"] - #[doc = " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;"] - #[doc = " let priority = priority_calc(tip + virtual_tip);"] - #[doc = " ```"] - #[doc = ""] - #[doc = " Note that since we use `final_fee` the multiplier applies also to the regular `tip`"] - #[doc = " sent with the transaction. So, not only does the transaction get a priority bump based"] - #[doc = " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`"] - #[doc = " transactions."] - pub fn operational_fee_multiplier( - &self, - ) -> ::subxt::constants::Address<::core::primitive::u8> { - ::subxt::constants::Address::new_static( - "TransactionPayment", - "OperationalFeeMultiplier", - [ - 141u8, 130u8, 11u8, 35u8, 226u8, 114u8, 92u8, 179u8, 168u8, 110u8, - 28u8, 91u8, 221u8, 64u8, 4u8, 148u8, 201u8, 193u8, 185u8, 66u8, 226u8, - 114u8, 97u8, 79u8, 62u8, 212u8, 202u8, 114u8, 237u8, 228u8, 183u8, - 165u8, - ], - ) - } - } - } - } - pub mod authorship { - use super::root_mod; - use super::runtime_types; - pub mod storage { - use super::runtime_types; - pub struct StorageApi; - impl StorageApi { - #[doc = " Author of current block."] - pub fn author( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::subxt::utils::AccountId32, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "Authorship", - "Author", - vec![], - [ - 247u8, 192u8, 118u8, 227u8, 47u8, 20u8, 203u8, 199u8, 216u8, 87u8, - 220u8, 50u8, 166u8, 61u8, 168u8, 213u8, 253u8, 62u8, 202u8, 199u8, - 61u8, 192u8, 237u8, 53u8, 22u8, 148u8, 164u8, 245u8, 99u8, 24u8, 146u8, - 18u8, - ], - ) - } - } - } - } - pub mod collator_selection { - use super::root_mod; - use super::runtime_types; - #[doc = "The `Error` enum of this pallet."] - pub type Error = runtime_types::pallet_collator_selection::pallet::Error; - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::pallet_collator_selection::pallet::Call; - pub mod calls { - use super::root_mod; - use super::runtime_types; - type DispatchError = runtime_types::sp_runtime::DispatchError; - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetInvulnerables { - pub new: ::std::vec::Vec<::subxt::utils::AccountId32>, - } - impl ::subxt::blocks::StaticExtrinsic for SetInvulnerables { - const PALLET: &'static str = "CollatorSelection"; - const CALL: &'static str = "set_invulnerables"; - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetDesiredCandidates { - pub max: ::core::primitive::u32, - } - impl ::subxt::blocks::StaticExtrinsic for SetDesiredCandidates { - const PALLET: &'static str = "CollatorSelection"; - const CALL: &'static str = "set_desired_candidates"; - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetCandidacyBond { - pub bond: ::core::primitive::u128, - } - impl ::subxt::blocks::StaticExtrinsic for SetCandidacyBond { - const PALLET: &'static str = "CollatorSelection"; - const CALL: &'static str = "set_candidacy_bond"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RegisterAsCandidate; - impl ::subxt::blocks::StaticExtrinsic for RegisterAsCandidate { - const PALLET: &'static str = "CollatorSelection"; - const CALL: &'static str = "register_as_candidate"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct LeaveIntent; - impl ::subxt::blocks::StaticExtrinsic for LeaveIntent { - const PALLET: &'static str = "CollatorSelection"; - const CALL: &'static str = "leave_intent"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AddInvulnerable { - pub who: ::subxt::utils::AccountId32, - } - impl ::subxt::blocks::StaticExtrinsic for AddInvulnerable { - const PALLET: &'static str = "CollatorSelection"; - const CALL: &'static str = "add_invulnerable"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RemoveInvulnerable { - pub who: ::subxt::utils::AccountId32, - } - impl ::subxt::blocks::StaticExtrinsic for RemoveInvulnerable { - const PALLET: &'static str = "CollatorSelection"; - const CALL: &'static str = "remove_invulnerable"; - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct UpdateBond { - pub new_deposit: ::core::primitive::u128, - } - impl ::subxt::blocks::StaticExtrinsic for UpdateBond { - const PALLET: &'static str = "CollatorSelection"; - const CALL: &'static str = "update_bond"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct TakeCandidateSlot { - pub deposit: ::core::primitive::u128, - pub target: ::subxt::utils::AccountId32, - } - impl ::subxt::blocks::StaticExtrinsic for TakeCandidateSlot { - const PALLET: &'static str = "CollatorSelection"; - const CALL: &'static str = "take_candidate_slot"; - } - } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "See [`Pallet::set_invulnerables`]."] - pub fn set_invulnerables( - &self, - new: ::std::vec::Vec<::subxt::utils::AccountId32>, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "CollatorSelection", - "set_invulnerables", - types::SetInvulnerables { new }, - [ - 113u8, 217u8, 14u8, 48u8, 6u8, 198u8, 8u8, 170u8, 8u8, 237u8, 230u8, - 184u8, 17u8, 181u8, 15u8, 126u8, 117u8, 3u8, 208u8, 215u8, 40u8, 16u8, - 150u8, 162u8, 37u8, 196u8, 235u8, 36u8, 247u8, 24u8, 187u8, 17u8, - ], - ) - } - #[doc = "See [`Pallet::set_desired_candidates`]."] - pub fn set_desired_candidates( - &self, - max: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "CollatorSelection", - "set_desired_candidates", - types::SetDesiredCandidates { max }, - [ - 174u8, 44u8, 232u8, 155u8, 228u8, 219u8, 239u8, 75u8, 86u8, 150u8, - 135u8, 214u8, 58u8, 9u8, 25u8, 133u8, 245u8, 101u8, 85u8, 246u8, 15u8, - 248u8, 165u8, 87u8, 88u8, 28u8, 10u8, 196u8, 86u8, 89u8, 28u8, 165u8, - ], - ) - } - #[doc = "See [`Pallet::set_candidacy_bond`]."] - pub fn set_candidacy_bond( - &self, - bond: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "CollatorSelection", - "set_candidacy_bond", - types::SetCandidacyBond { bond }, - [ - 250u8, 4u8, 185u8, 228u8, 101u8, 223u8, 49u8, 44u8, 172u8, 148u8, - 216u8, 242u8, 192u8, 88u8, 228u8, 59u8, 225u8, 222u8, 171u8, 40u8, - 23u8, 1u8, 46u8, 183u8, 189u8, 191u8, 156u8, 12u8, 218u8, 116u8, 76u8, - 59u8, - ], - ) - } - #[doc = "See [`Pallet::register_as_candidate`]."] - pub fn register_as_candidate( - &self, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "CollatorSelection", - "register_as_candidate", - types::RegisterAsCandidate {}, - [ - 69u8, 222u8, 214u8, 106u8, 105u8, 168u8, 82u8, 239u8, 158u8, 117u8, - 224u8, 89u8, 228u8, 51u8, 221u8, 244u8, 88u8, 63u8, 72u8, 119u8, 224u8, - 111u8, 93u8, 39u8, 18u8, 66u8, 72u8, 105u8, 70u8, 66u8, 178u8, 173u8, - ], - ) - } - #[doc = "See [`Pallet::leave_intent`]."] - pub fn leave_intent(&self) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "CollatorSelection", - "leave_intent", - types::LeaveIntent {}, - [ - 126u8, 57u8, 10u8, 67u8, 120u8, 229u8, 70u8, 23u8, 154u8, 215u8, 226u8, - 178u8, 203u8, 152u8, 195u8, 177u8, 157u8, 158u8, 40u8, 17u8, 93u8, - 225u8, 253u8, 217u8, 48u8, 165u8, 55u8, 79u8, 43u8, 123u8, 193u8, - 147u8, - ], - ) - } - #[doc = "See [`Pallet::add_invulnerable`]."] - pub fn add_invulnerable( - &self, - who: ::subxt::utils::AccountId32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "CollatorSelection", - "add_invulnerable", - types::AddInvulnerable { who }, - [ - 115u8, 109u8, 38u8, 19u8, 81u8, 194u8, 124u8, 140u8, 239u8, 23u8, 85u8, - 62u8, 241u8, 83u8, 11u8, 241u8, 14u8, 34u8, 206u8, 63u8, 104u8, 78u8, - 96u8, 182u8, 173u8, 198u8, 230u8, 107u8, 102u8, 6u8, 164u8, 75u8, - ], - ) - } - #[doc = "See [`Pallet::remove_invulnerable`]."] - pub fn remove_invulnerable( - &self, - who: ::subxt::utils::AccountId32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "CollatorSelection", - "remove_invulnerable", - types::RemoveInvulnerable { who }, - [ - 103u8, 146u8, 23u8, 136u8, 61u8, 65u8, 172u8, 157u8, 216u8, 200u8, - 119u8, 28u8, 189u8, 215u8, 13u8, 100u8, 102u8, 13u8, 94u8, 12u8, 78u8, - 156u8, 149u8, 74u8, 126u8, 118u8, 127u8, 49u8, 129u8, 2u8, 12u8, 118u8, - ], - ) - } - #[doc = "See [`Pallet::update_bond`]."] - pub fn update_bond( - &self, - new_deposit: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "CollatorSelection", - "update_bond", - types::UpdateBond { new_deposit }, - [ - 47u8, 184u8, 193u8, 220u8, 160u8, 1u8, 253u8, 203u8, 8u8, 142u8, 43u8, - 151u8, 190u8, 138u8, 201u8, 174u8, 233u8, 112u8, 200u8, 247u8, 251u8, - 94u8, 23u8, 224u8, 150u8, 179u8, 190u8, 140u8, 199u8, 50u8, 2u8, 249u8, - ], - ) - } - #[doc = "See [`Pallet::take_candidate_slot`]."] - pub fn take_candidate_slot( - &self, - deposit: ::core::primitive::u128, - target: ::subxt::utils::AccountId32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "CollatorSelection", - "take_candidate_slot", - types::TakeCandidateSlot { deposit, target }, - [ - 48u8, 150u8, 189u8, 206u8, 199u8, 196u8, 173u8, 3u8, 206u8, 10u8, 50u8, - 160u8, 15u8, 53u8, 189u8, 126u8, 154u8, 36u8, 90u8, 66u8, 235u8, 12u8, - 107u8, 44u8, 117u8, 33u8, 207u8, 194u8, 251u8, 194u8, 224u8, 80u8, - ], - ) - } - } - } - #[doc = "The `Event` enum of this pallet"] - pub type Event = runtime_types::pallet_collator_selection::pallet::Event; - pub mod events { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "New Invulnerables were set."] - pub struct NewInvulnerables { - pub invulnerables: ::std::vec::Vec<::subxt::utils::AccountId32>, - } - impl ::subxt::events::StaticEvent for NewInvulnerables { - const PALLET: &'static str = "CollatorSelection"; - const EVENT: &'static str = "NewInvulnerables"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A new Invulnerable was added."] - pub struct InvulnerableAdded { - pub account_id: ::subxt::utils::AccountId32, - } - impl ::subxt::events::StaticEvent for InvulnerableAdded { - const PALLET: &'static str = "CollatorSelection"; - const EVENT: &'static str = "InvulnerableAdded"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "An Invulnerable was removed."] - pub struct InvulnerableRemoved { - pub account_id: ::subxt::utils::AccountId32, - } - impl ::subxt::events::StaticEvent for InvulnerableRemoved { - const PALLET: &'static str = "CollatorSelection"; - const EVENT: &'static str = "InvulnerableRemoved"; - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The number of desired candidates was set."] - pub struct NewDesiredCandidates { - pub desired_candidates: ::core::primitive::u32, - } - impl ::subxt::events::StaticEvent for NewDesiredCandidates { - const PALLET: &'static str = "CollatorSelection"; - const EVENT: &'static str = "NewDesiredCandidates"; - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The candidacy bond was set."] - pub struct NewCandidacyBond { - pub bond_amount: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for NewCandidacyBond { - const PALLET: &'static str = "CollatorSelection"; - const EVENT: &'static str = "NewCandidacyBond"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A new candidate joined."] - pub struct CandidateAdded { - pub account_id: ::subxt::utils::AccountId32, - pub deposit: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for CandidateAdded { - const PALLET: &'static str = "CollatorSelection"; - const EVENT: &'static str = "CandidateAdded"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Bond of a candidate updated."] - pub struct CandidateBondUpdated { - pub account_id: ::subxt::utils::AccountId32, - pub deposit: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for CandidateBondUpdated { - const PALLET: &'static str = "CollatorSelection"; - const EVENT: &'static str = "CandidateBondUpdated"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A candidate was removed."] - pub struct CandidateRemoved { - pub account_id: ::subxt::utils::AccountId32, - } - impl ::subxt::events::StaticEvent for CandidateRemoved { - const PALLET: &'static str = "CollatorSelection"; - const EVENT: &'static str = "CandidateRemoved"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "An account was replaced in the candidate list by another one."] - pub struct CandidateReplaced { - pub old: ::subxt::utils::AccountId32, - pub new: ::subxt::utils::AccountId32, - pub deposit: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for CandidateReplaced { - const PALLET: &'static str = "CollatorSelection"; - const EVENT: &'static str = "CandidateReplaced"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "An account was unable to be added to the Invulnerables because they did not have keys"] - #[doc = "registered. Other Invulnerables may have been set."] - pub struct InvalidInvulnerableSkipped { - pub account_id: ::subxt::utils::AccountId32, - } - impl ::subxt::events::StaticEvent for InvalidInvulnerableSkipped { - const PALLET: &'static str = "CollatorSelection"; - const EVENT: &'static str = "InvalidInvulnerableSkipped"; - } - } - pub mod storage { - use super::runtime_types; - pub struct StorageApi; - impl StorageApi { - #[doc = " The invulnerable, permissioned collators. This list must be sorted."] - pub fn invulnerables( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::bounded_collections::bounded_vec::BoundedVec< - ::subxt::utils::AccountId32, - >, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "CollatorSelection", - "Invulnerables", - vec![], - [ - 109u8, 180u8, 25u8, 41u8, 152u8, 158u8, 186u8, 214u8, 89u8, 222u8, - 103u8, 14u8, 91u8, 3u8, 65u8, 6u8, 255u8, 62u8, 47u8, 255u8, 132u8, - 164u8, 217u8, 200u8, 130u8, 29u8, 168u8, 23u8, 81u8, 217u8, 35u8, - 123u8, - ], - ) - } - #[doc = " The (community, limited) collation candidates. `Candidates` and `Invulnerables` should be"] - #[doc = " mutually exclusive."] - #[doc = ""] - #[doc = " This list is sorted in ascending order by deposit and when the deposits are equal, the least"] - #[doc = " recently updated is considered greater."] - pub fn candidate_list( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_collator_selection::pallet::CandidateInfo< - ::subxt::utils::AccountId32, - ::core::primitive::u128, - >, - >, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "CollatorSelection", - "CandidateList", - vec![], - [ - 77u8, 195u8, 89u8, 139u8, 79u8, 111u8, 151u8, 215u8, 19u8, 152u8, 67u8, - 49u8, 74u8, 76u8, 3u8, 60u8, 51u8, 140u8, 6u8, 134u8, 159u8, 55u8, - 196u8, 57u8, 189u8, 31u8, 219u8, 218u8, 164u8, 189u8, 196u8, 60u8, - ], - ) - } - #[doc = " Last block authored by collator."] - pub fn last_authored_block_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u32, - (), - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "CollatorSelection", - "LastAuthoredBlock", - vec![], - [ - 176u8, 170u8, 165u8, 244u8, 101u8, 126u8, 24u8, 132u8, 228u8, 138u8, - 72u8, 241u8, 144u8, 100u8, 79u8, 112u8, 9u8, 46u8, 210u8, 80u8, 12u8, - 126u8, 32u8, 214u8, 26u8, 171u8, 155u8, 3u8, 233u8, 22u8, 164u8, 25u8, - ], - ) - } - #[doc = " Last block authored by collator."] - pub fn last_authored_block( - &self, - _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u32, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "CollatorSelection", - "LastAuthoredBlock", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 176u8, 170u8, 165u8, 244u8, 101u8, 126u8, 24u8, 132u8, 228u8, 138u8, - 72u8, 241u8, 144u8, 100u8, 79u8, 112u8, 9u8, 46u8, 210u8, 80u8, 12u8, - 126u8, 32u8, 214u8, 26u8, 171u8, 155u8, 3u8, 233u8, 22u8, 164u8, 25u8, - ], - ) - } - #[doc = " Desired number of candidates."] - #[doc = ""] - #[doc = " This should ideally always be less than [`Config::MaxCandidates`] for weights to be correct."] - pub fn desired_candidates( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u32, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "CollatorSelection", - "DesiredCandidates", - vec![], - [ - 69u8, 199u8, 130u8, 132u8, 10u8, 127u8, 204u8, 220u8, 59u8, 107u8, - 96u8, 180u8, 42u8, 235u8, 14u8, 126u8, 231u8, 242u8, 162u8, 126u8, - 63u8, 223u8, 15u8, 250u8, 22u8, 210u8, 54u8, 34u8, 235u8, 191u8, 250u8, - 21u8, - ], - ) - } - #[doc = " Fixed amount to deposit to become a collator."] - #[doc = ""] - #[doc = " When a collator calls `leave_intent` they immediately receive the deposit back."] - pub fn candidacy_bond( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u128, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "CollatorSelection", - "CandidacyBond", - vec![], - [ - 71u8, 134u8, 156u8, 102u8, 201u8, 83u8, 240u8, 251u8, 189u8, 213u8, - 211u8, 182u8, 126u8, 122u8, 41u8, 174u8, 105u8, 29u8, 216u8, 23u8, - 255u8, 55u8, 245u8, 187u8, 234u8, 234u8, 178u8, 155u8, 145u8, 49u8, - 196u8, 214u8, - ], - ) - } - } - } - } - pub mod session { - use super::root_mod; - use super::runtime_types; - #[doc = "Error for the session pallet."] - pub type Error = runtime_types::pallet_session::pallet::Error; - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::pallet_session::pallet::Call; - pub mod calls { - use super::root_mod; - use super::runtime_types; - type DispatchError = runtime_types::sp_runtime::DispatchError; - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetKeys { - pub keys: runtime_types::coretime_rococo_runtime::SessionKeys, - pub proof: ::std::vec::Vec<::core::primitive::u8>, - } - impl ::subxt::blocks::StaticExtrinsic for SetKeys { - const PALLET: &'static str = "Session"; - const CALL: &'static str = "set_keys"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct PurgeKeys; - impl ::subxt::blocks::StaticExtrinsic for PurgeKeys { - const PALLET: &'static str = "Session"; - const CALL: &'static str = "purge_keys"; - } - } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "See [`Pallet::set_keys`]."] - pub fn set_keys( - &self, - keys: runtime_types::coretime_rococo_runtime::SessionKeys, - proof: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Session", - "set_keys", - types::SetKeys { keys, proof }, - [ - 10u8, 183u8, 202u8, 82u8, 236u8, 202u8, 212u8, 220u8, 51u8, 217u8, - 229u8, 169u8, 238u8, 141u8, 129u8, 231u8, 203u8, 176u8, 97u8, 148u8, - 240u8, 87u8, 177u8, 245u8, 33u8, 109u8, 243u8, 52u8, 46u8, 118u8, - 164u8, 35u8, - ], - ) - } - #[doc = "See [`Pallet::purge_keys`]."] - pub fn purge_keys(&self) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Session", - "purge_keys", - types::PurgeKeys {}, - [ - 215u8, 204u8, 146u8, 236u8, 32u8, 78u8, 198u8, 79u8, 85u8, 214u8, 15u8, - 151u8, 158u8, 31u8, 146u8, 119u8, 119u8, 204u8, 151u8, 169u8, 226u8, - 67u8, 217u8, 39u8, 241u8, 245u8, 203u8, 240u8, 203u8, 172u8, 16u8, - 209u8, - ], - ) - } - } - } - #[doc = "The `Event` enum of this pallet"] - pub type Event = runtime_types::pallet_session::pallet::Event; - pub mod events { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "New session has happened. Note that the argument is the session index, not the"] - #[doc = "block number as the type might suggest."] - pub struct NewSession { - pub session_index: ::core::primitive::u32, - } - impl ::subxt::events::StaticEvent for NewSession { - const PALLET: &'static str = "Session"; - const EVENT: &'static str = "NewSession"; - } - } - pub mod storage { - use super::runtime_types; - pub struct StorageApi; - impl StorageApi { - #[doc = " The current set of validators."] - pub fn validators( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec<::subxt::utils::AccountId32>, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "Session", - "Validators", - vec![], - [ - 50u8, 86u8, 154u8, 222u8, 249u8, 209u8, 156u8, 22u8, 155u8, 25u8, - 133u8, 194u8, 210u8, 50u8, 38u8, 28u8, 139u8, 201u8, 90u8, 139u8, - 115u8, 12u8, 12u8, 141u8, 4u8, 178u8, 201u8, 241u8, 223u8, 234u8, 6u8, - 86u8, - ], - ) - } - #[doc = " Current index of the session."] - pub fn current_index( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u32, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "Session", - "CurrentIndex", - vec![], - [ - 167u8, 151u8, 125u8, 150u8, 159u8, 21u8, 78u8, 217u8, 237u8, 183u8, - 135u8, 65u8, 187u8, 114u8, 188u8, 206u8, 16u8, 32u8, 69u8, 208u8, - 134u8, 159u8, 232u8, 224u8, 243u8, 27u8, 31u8, 166u8, 145u8, 44u8, - 221u8, 230u8, - ], - ) - } - #[doc = " True if the underlying economic identities or weighting behind the validators"] - #[doc = " has changed in the queued validator set."] - pub fn queued_changed( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::bool, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "Session", - "QueuedChanged", - vec![], - [ - 184u8, 137u8, 224u8, 137u8, 31u8, 236u8, 95u8, 164u8, 102u8, 225u8, - 198u8, 227u8, 140u8, 37u8, 113u8, 57u8, 59u8, 4u8, 202u8, 102u8, 117u8, - 36u8, 226u8, 64u8, 113u8, 141u8, 199u8, 111u8, 99u8, 144u8, 198u8, - 153u8, - ], - ) - } - #[doc = " The queued keys for the next session. When the next session begins, these keys"] - #[doc = " will be used to determine the validator's session keys."] - pub fn queued_keys( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec<( - ::subxt::utils::AccountId32, - runtime_types::coretime_rococo_runtime::SessionKeys, - )>, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "Session", - "QueuedKeys", - vec![], - [ - 3u8, 214u8, 191u8, 168u8, 90u8, 94u8, 107u8, 111u8, 170u8, 31u8, 78u8, - 61u8, 240u8, 184u8, 170u8, 104u8, 178u8, 229u8, 159u8, 89u8, 207u8, - 37u8, 49u8, 209u8, 131u8, 165u8, 14u8, 169u8, 13u8, 68u8, 151u8, 144u8, - ], - ) - } - #[doc = " Indices of disabled validators."] - #[doc = ""] - #[doc = " The vec is always kept sorted so that we can find whether a given validator is"] - #[doc = " disabled using binary search. It gets cleared when `on_session_ending` returns"] - #[doc = " a new set of identities."] - pub fn disabled_validators( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec<::core::primitive::u32>, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "Session", - "DisabledValidators", - vec![], - [ - 213u8, 19u8, 168u8, 234u8, 187u8, 200u8, 180u8, 97u8, 234u8, 189u8, - 36u8, 233u8, 158u8, 184u8, 45u8, 35u8, 129u8, 213u8, 133u8, 8u8, 104u8, - 183u8, 46u8, 68u8, 154u8, 240u8, 132u8, 22u8, 247u8, 11u8, 54u8, 221u8, - ], - ) - } - #[doc = " The next session keys for a validator."] - pub fn next_keys_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::coretime_rococo_runtime::SessionKeys, - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "Session", - "NextKeys", - vec![], - [ - 193u8, 216u8, 53u8, 103u8, 143u8, 241u8, 201u8, 54u8, 108u8, 149u8, - 241u8, 42u8, 3u8, 151u8, 223u8, 246u8, 30u8, 6u8, 239u8, 206u8, 27u8, - 172u8, 43u8, 226u8, 177u8, 111u8, 203u8, 78u8, 49u8, 34u8, 200u8, 6u8, - ], - ) - } - #[doc = " The next session keys for a validator."] - pub fn next_keys( - &self, - _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::coretime_rococo_runtime::SessionKeys, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "Session", - "NextKeys", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 193u8, 216u8, 53u8, 103u8, 143u8, 241u8, 201u8, 54u8, 108u8, 149u8, - 241u8, 42u8, 3u8, 151u8, 223u8, 246u8, 30u8, 6u8, 239u8, 206u8, 27u8, - 172u8, 43u8, 226u8, 177u8, 111u8, 203u8, 78u8, 49u8, 34u8, 200u8, 6u8, - ], - ) - } - #[doc = " The owner of a key. The key is the `KeyTypeId` + the encoded key."] - pub fn key_owner_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::subxt::utils::AccountId32, - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "Session", - "KeyOwner", - vec![], - [ - 217u8, 204u8, 21u8, 114u8, 247u8, 129u8, 32u8, 242u8, 93u8, 91u8, - 253u8, 253u8, 248u8, 90u8, 12u8, 202u8, 195u8, 25u8, 18u8, 100u8, - 253u8, 109u8, 88u8, 77u8, 217u8, 140u8, 51u8, 40u8, 118u8, 35u8, 107u8, - 206u8, - ], - ) - } - #[doc = " The owner of a key. The key is the `KeyTypeId` + the encoded key."] - pub fn key_owner_iter1( - &self, - _0: impl ::std::borrow::Borrow, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::subxt::utils::AccountId32, - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "Session", - "KeyOwner", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 217u8, 204u8, 21u8, 114u8, 247u8, 129u8, 32u8, 242u8, 93u8, 91u8, - 253u8, 253u8, 248u8, 90u8, 12u8, 202u8, 195u8, 25u8, 18u8, 100u8, - 253u8, 109u8, 88u8, 77u8, 217u8, 140u8, 51u8, 40u8, 118u8, 35u8, 107u8, - 206u8, - ], - ) - } - #[doc = " The owner of a key. The key is the `KeyTypeId` + the encoded key."] - pub fn key_owner( - &self, - _0: impl ::std::borrow::Borrow, - _1: impl ::std::borrow::Borrow<[::core::primitive::u8]>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::subxt::utils::AccountId32, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "Session", - "KeyOwner", - vec![ - ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), - ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), - ], - [ - 217u8, 204u8, 21u8, 114u8, 247u8, 129u8, 32u8, 242u8, 93u8, 91u8, - 253u8, 253u8, 248u8, 90u8, 12u8, 202u8, 195u8, 25u8, 18u8, 100u8, - 253u8, 109u8, 88u8, 77u8, 217u8, 140u8, 51u8, 40u8, 118u8, 35u8, 107u8, - 206u8, - ], - ) - } - } - } - } - pub mod aura { - use super::root_mod; - use super::runtime_types; - pub mod storage { - use super::runtime_types; - pub struct StorageApi; - impl StorageApi { - #[doc = " The current authority set."] - pub fn authorities( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::sp_consensus_aura::sr25519::app_sr25519::Public, - >, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "Aura", - "Authorities", - vec![], - [ - 232u8, 129u8, 167u8, 104u8, 47u8, 188u8, 238u8, 164u8, 6u8, 29u8, - 129u8, 45u8, 64u8, 182u8, 194u8, 47u8, 0u8, 73u8, 63u8, 102u8, 204u8, - 94u8, 111u8, 96u8, 137u8, 7u8, 141u8, 110u8, 180u8, 80u8, 228u8, 16u8, - ], - ) - } - #[doc = " The current slot of this block."] - #[doc = ""] - #[doc = " This will be set in `on_initialize`."] - pub fn current_slot( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_consensus_slots::Slot, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "Aura", - "CurrentSlot", - vec![], - [ - 112u8, 199u8, 115u8, 248u8, 217u8, 242u8, 45u8, 231u8, 178u8, 53u8, - 236u8, 167u8, 219u8, 238u8, 81u8, 243u8, 39u8, 140u8, 68u8, 19u8, - 201u8, 169u8, 211u8, 133u8, 135u8, 213u8, 150u8, 105u8, 60u8, 252u8, - 43u8, 57u8, - ], - ) - } - } - } - } - pub mod aura_ext { - use super::root_mod; - use super::runtime_types; - pub mod storage { - use super::runtime_types; - pub struct StorageApi; - impl StorageApi { - #[doc = " Serves as cache for the authorities."] - #[doc = ""] - #[doc = " The authorities in AuRa are overwritten in `on_initialize` when we switch to a new session,"] - #[doc = " but we require the old authorities to verify the seal when validating a PoV. This will"] - #[doc = " always be updated to the latest AuRa authorities in `on_finalize`."] - pub fn authorities( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::sp_consensus_aura::sr25519::app_sr25519::Public, - >, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "AuraExt", - "Authorities", - vec![], - [ - 232u8, 129u8, 167u8, 104u8, 47u8, 188u8, 238u8, 164u8, 6u8, 29u8, - 129u8, 45u8, 64u8, 182u8, 194u8, 47u8, 0u8, 73u8, 63u8, 102u8, 204u8, - 94u8, 111u8, 96u8, 137u8, 7u8, 141u8, 110u8, 180u8, 80u8, 228u8, 16u8, - ], - ) - } - #[doc = " Current slot paired with a number of authored blocks."] - #[doc = ""] - #[doc = " Updated on each block initialization."] - pub fn slot_info( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - (runtime_types::sp_consensus_slots::Slot, ::core::primitive::u32), - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "AuraExt", - "SlotInfo", - vec![], - [ - 135u8, 135u8, 71u8, 123u8, 102u8, 223u8, 215u8, 76u8, 183u8, 169u8, - 108u8, 60u8, 122u8, 5u8, 24u8, 201u8, 96u8, 59u8, 132u8, 95u8, 253u8, - 100u8, 148u8, 184u8, 133u8, 146u8, 101u8, 201u8, 91u8, 30u8, 76u8, - 169u8, - ], - ) - } - } - } - } - pub mod xcmp_queue { - use super::root_mod; - use super::runtime_types; - #[doc = "The `Error` enum of this pallet."] - pub type Error = runtime_types::cumulus_pallet_xcmp_queue::pallet::Error; - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::cumulus_pallet_xcmp_queue::pallet::Call; - pub mod calls { - use super::root_mod; - use super::runtime_types; - type DispatchError = runtime_types::sp_runtime::DispatchError; - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SuspendXcmExecution; - impl ::subxt::blocks::StaticExtrinsic for SuspendXcmExecution { - const PALLET: &'static str = "XcmpQueue"; - const CALL: &'static str = "suspend_xcm_execution"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ResumeXcmExecution; - impl ::subxt::blocks::StaticExtrinsic for ResumeXcmExecution { - const PALLET: &'static str = "XcmpQueue"; - const CALL: &'static str = "resume_xcm_execution"; - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct UpdateSuspendThreshold { - pub new: ::core::primitive::u32, - } - impl ::subxt::blocks::StaticExtrinsic for UpdateSuspendThreshold { - const PALLET: &'static str = "XcmpQueue"; - const CALL: &'static str = "update_suspend_threshold"; - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct UpdateDropThreshold { - pub new: ::core::primitive::u32, - } - impl ::subxt::blocks::StaticExtrinsic for UpdateDropThreshold { - const PALLET: &'static str = "XcmpQueue"; - const CALL: &'static str = "update_drop_threshold"; - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct UpdateResumeThreshold { - pub new: ::core::primitive::u32, - } - impl ::subxt::blocks::StaticExtrinsic for UpdateResumeThreshold { - const PALLET: &'static str = "XcmpQueue"; - const CALL: &'static str = "update_resume_threshold"; - } - } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "See [`Pallet::suspend_xcm_execution`]."] - pub fn suspend_xcm_execution( - &self, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "XcmpQueue", - "suspend_xcm_execution", - types::SuspendXcmExecution {}, - [ - 54u8, 120u8, 33u8, 251u8, 74u8, 56u8, 29u8, 76u8, 104u8, 218u8, 115u8, - 198u8, 148u8, 237u8, 9u8, 191u8, 241u8, 48u8, 33u8, 24u8, 60u8, 144u8, - 22u8, 78u8, 58u8, 50u8, 26u8, 188u8, 231u8, 42u8, 201u8, 76u8, - ], - ) - } - #[doc = "See [`Pallet::resume_xcm_execution`]."] - pub fn resume_xcm_execution( - &self, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "XcmpQueue", - "resume_xcm_execution", - types::ResumeXcmExecution {}, - [ - 173u8, 231u8, 78u8, 253u8, 108u8, 234u8, 199u8, 124u8, 184u8, 154u8, - 95u8, 194u8, 13u8, 77u8, 175u8, 7u8, 7u8, 112u8, 161u8, 72u8, 133u8, - 71u8, 63u8, 218u8, 97u8, 226u8, 133u8, 6u8, 93u8, 177u8, 247u8, 109u8, - ], - ) - } - #[doc = "See [`Pallet::update_suspend_threshold`]."] - pub fn update_suspend_threshold( - &self, - new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "XcmpQueue", - "update_suspend_threshold", - types::UpdateSuspendThreshold { new }, - [ - 64u8, 91u8, 172u8, 51u8, 220u8, 174u8, 54u8, 47u8, 57u8, 89u8, 75u8, - 39u8, 126u8, 198u8, 143u8, 35u8, 70u8, 125u8, 167u8, 14u8, 17u8, 18u8, - 146u8, 222u8, 100u8, 92u8, 81u8, 239u8, 173u8, 43u8, 42u8, 174u8, - ], - ) - } - #[doc = "See [`Pallet::update_drop_threshold`]."] - pub fn update_drop_threshold( - &self, - new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "XcmpQueue", - "update_drop_threshold", - types::UpdateDropThreshold { new }, - [ - 123u8, 54u8, 12u8, 180u8, 165u8, 198u8, 141u8, 200u8, 149u8, 168u8, - 186u8, 237u8, 162u8, 91u8, 89u8, 242u8, 229u8, 16u8, 32u8, 254u8, 59u8, - 168u8, 31u8, 134u8, 217u8, 251u8, 0u8, 102u8, 113u8, 194u8, 175u8, 9u8, - ], - ) - } - #[doc = "See [`Pallet::update_resume_threshold`]."] - pub fn update_resume_threshold( - &self, - new: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "XcmpQueue", - "update_resume_threshold", - types::UpdateResumeThreshold { new }, - [ - 172u8, 136u8, 11u8, 106u8, 42u8, 157u8, 167u8, 183u8, 87u8, 62u8, - 182u8, 17u8, 184u8, 59u8, 215u8, 230u8, 18u8, 243u8, 212u8, 34u8, 54u8, - 188u8, 95u8, 119u8, 173u8, 20u8, 91u8, 206u8, 212u8, 57u8, 136u8, 77u8, - ], - ) - } - } - } - #[doc = "The `Event` enum of this pallet"] - pub type Event = runtime_types::cumulus_pallet_xcmp_queue::pallet::Event; - pub mod events { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "An HRMP message was sent to a sibling parachain."] - pub struct XcmpMessageSent { - pub message_hash: [::core::primitive::u8; 32usize], - } - impl ::subxt::events::StaticEvent for XcmpMessageSent { - const PALLET: &'static str = "XcmpQueue"; - const EVENT: &'static str = "XcmpMessageSent"; - } - } - pub mod storage { - use super::runtime_types; - pub struct StorageApi; - impl StorageApi { - #[doc = " The suspended inbound XCMP channels. All others are not suspended."] - #[doc = ""] - #[doc = " This is a `StorageValue` instead of a `StorageMap` since we expect multiple reads per block"] - #[doc = " to different keys with a one byte payload. The access to `BoundedBTreeSet` will be cached"] - #[doc = " within the block and therefore only included once in the proof size."] - #[doc = ""] - #[doc = " NOTE: The PoV benchmarking cannot know this and will over-estimate, but the actual proof"] - #[doc = " will be smaller."] - pub fn inbound_xcmp_suspended( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::bounded_collections::bounded_btree_set::BoundedBTreeSet< - runtime_types::polkadot_parachain_primitives::primitives::Id, - >, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "XcmpQueue", - "InboundXcmpSuspended", - vec![], - [ - 110u8, 23u8, 239u8, 104u8, 136u8, 224u8, 179u8, 180u8, 40u8, 159u8, - 54u8, 15u8, 55u8, 111u8, 75u8, 147u8, 131u8, 127u8, 9u8, 57u8, 133u8, - 70u8, 175u8, 181u8, 232u8, 49u8, 13u8, 19u8, 59u8, 151u8, 179u8, 215u8, - ], - ) - } - #[doc = " The non-empty XCMP channels in order of becoming non-empty, and the index of the first"] - #[doc = " and last outbound message. If the two indices are equal, then it indicates an empty"] - #[doc = " queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater"] - #[doc = " than 65535 items. Queue indices for normal messages begin at one; zero is reserved in"] - #[doc = " case of the need to send a high-priority signal message this block."] - #[doc = " The bool is true if there is a signal message waiting to be sent."] - pub fn outbound_xcmp_status( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec< - runtime_types::cumulus_pallet_xcmp_queue::OutboundChannelDetails, - >, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "XcmpQueue", - "OutboundXcmpStatus", - vec![], - [ - 181u8, 5u8, 216u8, 176u8, 154u8, 233u8, 116u8, 14u8, 151u8, 1u8, 114u8, - 16u8, 42u8, 20u8, 63u8, 233u8, 79u8, 122u8, 87u8, 255u8, 75u8, 149u8, - 176u8, 106u8, 23u8, 101u8, 228u8, 120u8, 217u8, 167u8, 127u8, 117u8, - ], - ) - } - #[doc = " The messages outbound in a given XCMP channel."] - pub fn outbound_xcmp_messages_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec<::core::primitive::u8>, - (), - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "XcmpQueue", - "OutboundXcmpMessages", - vec![], - [ - 156u8, 3u8, 202u8, 175u8, 175u8, 129u8, 38u8, 144u8, 35u8, 59u8, 228u8, - 159u8, 142u8, 25u8, 19u8, 73u8, 73u8, 6u8, 115u8, 19u8, 236u8, 235u8, - 144u8, 172u8, 31u8, 168u8, 24u8, 65u8, 115u8, 95u8, 77u8, 63u8, - ], - ) - } - #[doc = " The messages outbound in a given XCMP channel."] - pub fn outbound_xcmp_messages_iter1( - &self, - _0: impl ::std::borrow::Borrow< - runtime_types::polkadot_parachain_primitives::primitives::Id, - >, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec<::core::primitive::u8>, - (), - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "XcmpQueue", - "OutboundXcmpMessages", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 156u8, 3u8, 202u8, 175u8, 175u8, 129u8, 38u8, 144u8, 35u8, 59u8, 228u8, - 159u8, 142u8, 25u8, 19u8, 73u8, 73u8, 6u8, 115u8, 19u8, 236u8, 235u8, - 144u8, 172u8, 31u8, 168u8, 24u8, 65u8, 115u8, 95u8, 77u8, 63u8, - ], - ) - } - #[doc = " The messages outbound in a given XCMP channel."] - pub fn outbound_xcmp_messages( - &self, - _0: impl ::std::borrow::Borrow< - runtime_types::polkadot_parachain_primitives::primitives::Id, - >, - _1: impl ::std::borrow::Borrow<::core::primitive::u16>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec<::core::primitive::u8>, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "XcmpQueue", - "OutboundXcmpMessages", - vec![ - ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), - ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), - ], - [ - 156u8, 3u8, 202u8, 175u8, 175u8, 129u8, 38u8, 144u8, 35u8, 59u8, 228u8, - 159u8, 142u8, 25u8, 19u8, 73u8, 73u8, 6u8, 115u8, 19u8, 236u8, 235u8, - 144u8, 172u8, 31u8, 168u8, 24u8, 65u8, 115u8, 95u8, 77u8, 63u8, - ], - ) - } - #[doc = " Any signal messages waiting to be sent."] - pub fn signal_messages_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec<::core::primitive::u8>, - (), - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "XcmpQueue", - "SignalMessages", - vec![], - [ - 182u8, 143u8, 233u8, 233u8, 111u8, 137u8, 174u8, 165u8, 166u8, 7u8, - 229u8, 183u8, 99u8, 108u8, 30u8, 162u8, 71u8, 55u8, 122u8, 124u8, - 249u8, 203u8, 142u8, 124u8, 158u8, 213u8, 182u8, 159u8, 206u8, 249u8, - 180u8, 24u8, - ], - ) - } - #[doc = " Any signal messages waiting to be sent."] - pub fn signal_messages( - &self, - _0: impl ::std::borrow::Borrow< - runtime_types::polkadot_parachain_primitives::primitives::Id, - >, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec<::core::primitive::u8>, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "XcmpQueue", - "SignalMessages", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 182u8, 143u8, 233u8, 233u8, 111u8, 137u8, 174u8, 165u8, 166u8, 7u8, - 229u8, 183u8, 99u8, 108u8, 30u8, 162u8, 71u8, 55u8, 122u8, 124u8, - 249u8, 203u8, 142u8, 124u8, 158u8, 213u8, 182u8, 159u8, 206u8, 249u8, - 180u8, 24u8, - ], - ) - } - #[doc = " The configuration which controls the dynamics of the outbound queue."] - pub fn queue_config( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::cumulus_pallet_xcmp_queue::QueueConfigData, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "XcmpQueue", - "QueueConfig", - vec![], - [ - 185u8, 67u8, 247u8, 243u8, 211u8, 232u8, 57u8, 240u8, 237u8, 181u8, - 23u8, 114u8, 215u8, 128u8, 193u8, 1u8, 176u8, 53u8, 110u8, 195u8, - 148u8, 80u8, 187u8, 143u8, 62u8, 30u8, 143u8, 34u8, 248u8, 109u8, 3u8, - 141u8, - ], - ) - } - #[doc = " Whether or not the XCMP queue is suspended from executing incoming XCMs or not."] - pub fn queue_suspended( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::bool, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "XcmpQueue", - "QueueSuspended", - vec![], - [ - 165u8, 66u8, 105u8, 244u8, 113u8, 43u8, 177u8, 252u8, 212u8, 243u8, - 143u8, 184u8, 87u8, 51u8, 163u8, 104u8, 29u8, 84u8, 119u8, 74u8, 233u8, - 129u8, 203u8, 105u8, 2u8, 101u8, 19u8, 170u8, 69u8, 253u8, 80u8, 132u8, - ], - ) - } - #[doc = " The factor to multiply the base delivery fee by."] - pub fn delivery_fee_factor_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_arithmetic::fixed_point::FixedU128, - (), - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "XcmpQueue", - "DeliveryFeeFactor", - vec![], - [ - 43u8, 5u8, 63u8, 235u8, 115u8, 155u8, 130u8, 27u8, 75u8, 216u8, 177u8, - 135u8, 203u8, 147u8, 167u8, 95u8, 208u8, 188u8, 25u8, 14u8, 84u8, 63u8, - 116u8, 41u8, 148u8, 110u8, 115u8, 215u8, 196u8, 36u8, 75u8, 102u8, - ], - ) - } - #[doc = " The factor to multiply the base delivery fee by."] - pub fn delivery_fee_factor( - &self, - _0: impl ::std::borrow::Borrow< - runtime_types::polkadot_parachain_primitives::primitives::Id, - >, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_arithmetic::fixed_point::FixedU128, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "XcmpQueue", - "DeliveryFeeFactor", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 43u8, 5u8, 63u8, 235u8, 115u8, 155u8, 130u8, 27u8, 75u8, 216u8, 177u8, - 135u8, 203u8, 147u8, 167u8, 95u8, 208u8, 188u8, 25u8, 14u8, 84u8, 63u8, - 116u8, 41u8, 148u8, 110u8, 115u8, 215u8, 196u8, 36u8, 75u8, 102u8, - ], - ) - } - } - } - pub mod constants { - use super::runtime_types; - pub struct ConstantsApi; - impl ConstantsApi { - #[doc = " The maximum number of inbound XCMP channels that can be suspended simultaneously."] - #[doc = ""] - #[doc = " Any further channel suspensions will fail and messages may get dropped without further"] - #[doc = " notice. Choosing a high value (1000) is okay; the trade-off that is described in"] - #[doc = " [`InboundXcmpSuspended`] still applies at that scale."] - pub fn max_inbound_suspended( - &self, - ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static( - "XcmpQueue", - "MaxInboundSuspended", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) - } - } - } - } - pub mod polkadot_xcm { - use super::root_mod; - use super::runtime_types; - #[doc = "The `Error` enum of this pallet."] - pub type Error = runtime_types::pallet_xcm::pallet::Error; - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::pallet_xcm::pallet::Call; - pub mod calls { - use super::root_mod; - use super::runtime_types; - type DispatchError = runtime_types::sp_runtime::DispatchError; - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Send { - pub dest: ::std::boxed::Box, - pub message: ::std::boxed::Box, - } - impl ::subxt::blocks::StaticExtrinsic for Send { - const PALLET: &'static str = "PolkadotXcm"; - const CALL: &'static str = "send"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct TeleportAssets { - pub dest: ::std::boxed::Box, - pub beneficiary: ::std::boxed::Box, - pub assets: ::std::boxed::Box, - pub fee_asset_item: ::core::primitive::u32, - } - impl ::subxt::blocks::StaticExtrinsic for TeleportAssets { - const PALLET: &'static str = "PolkadotXcm"; - const CALL: &'static str = "teleport_assets"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ReserveTransferAssets { - pub dest: ::std::boxed::Box, - pub beneficiary: ::std::boxed::Box, - pub assets: ::std::boxed::Box, - pub fee_asset_item: ::core::primitive::u32, - } - impl ::subxt::blocks::StaticExtrinsic for ReserveTransferAssets { - const PALLET: &'static str = "PolkadotXcm"; - const CALL: &'static str = "reserve_transfer_assets"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Execute { - pub message: ::std::boxed::Box, - pub max_weight: runtime_types::sp_weights::weight_v2::Weight, - } - impl ::subxt::blocks::StaticExtrinsic for Execute { - const PALLET: &'static str = "PolkadotXcm"; - const CALL: &'static str = "execute"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceXcmVersion { - pub location: - ::std::boxed::Box, - pub version: ::core::primitive::u32, - } - impl ::subxt::blocks::StaticExtrinsic for ForceXcmVersion { - const PALLET: &'static str = "PolkadotXcm"; - const CALL: &'static str = "force_xcm_version"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceDefaultXcmVersion { - pub maybe_xcm_version: ::core::option::Option<::core::primitive::u32>, - } - impl ::subxt::blocks::StaticExtrinsic for ForceDefaultXcmVersion { - const PALLET: &'static str = "PolkadotXcm"; - const CALL: &'static str = "force_default_xcm_version"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceSubscribeVersionNotify { - pub location: ::std::boxed::Box, - } - impl ::subxt::blocks::StaticExtrinsic for ForceSubscribeVersionNotify { - const PALLET: &'static str = "PolkadotXcm"; - const CALL: &'static str = "force_subscribe_version_notify"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceUnsubscribeVersionNotify { - pub location: ::std::boxed::Box, - } - impl ::subxt::blocks::StaticExtrinsic for ForceUnsubscribeVersionNotify { - const PALLET: &'static str = "PolkadotXcm"; - const CALL: &'static str = "force_unsubscribe_version_notify"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct LimitedReserveTransferAssets { - pub dest: ::std::boxed::Box, - pub beneficiary: ::std::boxed::Box, - pub assets: ::std::boxed::Box, - pub fee_asset_item: ::core::primitive::u32, - pub weight_limit: runtime_types::xcm::v3::WeightLimit, - } - impl ::subxt::blocks::StaticExtrinsic for LimitedReserveTransferAssets { - const PALLET: &'static str = "PolkadotXcm"; - const CALL: &'static str = "limited_reserve_transfer_assets"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct LimitedTeleportAssets { - pub dest: ::std::boxed::Box, - pub beneficiary: ::std::boxed::Box, - pub assets: ::std::boxed::Box, - pub fee_asset_item: ::core::primitive::u32, - pub weight_limit: runtime_types::xcm::v3::WeightLimit, - } - impl ::subxt::blocks::StaticExtrinsic for LimitedTeleportAssets { - const PALLET: &'static str = "PolkadotXcm"; - const CALL: &'static str = "limited_teleport_assets"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceSuspension { - pub suspended: ::core::primitive::bool, - } - impl ::subxt::blocks::StaticExtrinsic for ForceSuspension { - const PALLET: &'static str = "PolkadotXcm"; - const CALL: &'static str = "force_suspension"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct TransferAssets { - pub dest: ::std::boxed::Box, - pub beneficiary: ::std::boxed::Box, - pub assets: ::std::boxed::Box, - pub fee_asset_item: ::core::primitive::u32, - pub weight_limit: runtime_types::xcm::v3::WeightLimit, - } - impl ::subxt::blocks::StaticExtrinsic for TransferAssets { - const PALLET: &'static str = "PolkadotXcm"; - const CALL: &'static str = "transfer_assets"; - } - } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "See [`Pallet::send`]."] - pub fn send( - &self, - dest: runtime_types::xcm::VersionedLocation, - message: runtime_types::xcm::VersionedXcm, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "PolkadotXcm", - "send", - types::Send { - dest: ::std::boxed::Box::new(dest), - message: ::std::boxed::Box::new(message), - }, - [ - 47u8, 63u8, 128u8, 176u8, 10u8, 137u8, 124u8, 238u8, 155u8, 37u8, - 193u8, 160u8, 83u8, 240u8, 21u8, 179u8, 169u8, 131u8, 27u8, 104u8, - 195u8, 208u8, 123u8, 14u8, 221u8, 12u8, 45u8, 81u8, 148u8, 76u8, 17u8, - 100u8, - ], - ) - } - #[doc = "See [`Pallet::teleport_assets`]."] - pub fn teleport_assets( - &self, - dest: runtime_types::xcm::VersionedLocation, - beneficiary: runtime_types::xcm::VersionedLocation, - assets: runtime_types::xcm::VersionedAssets, - fee_asset_item: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "PolkadotXcm", - "teleport_assets", - types::TeleportAssets { - dest: ::std::boxed::Box::new(dest), - beneficiary: ::std::boxed::Box::new(beneficiary), - assets: ::std::boxed::Box::new(assets), - fee_asset_item, - }, - [ - 124u8, 191u8, 118u8, 61u8, 45u8, 225u8, 97u8, 83u8, 198u8, 20u8, 139u8, - 117u8, 241u8, 1u8, 19u8, 54u8, 79u8, 181u8, 131u8, 112u8, 11u8, 118u8, - 147u8, 12u8, 89u8, 156u8, 123u8, 123u8, 195u8, 45u8, 50u8, 107u8, - ], - ) - } - #[doc = "See [`Pallet::reserve_transfer_assets`]."] - pub fn reserve_transfer_assets( - &self, - dest: runtime_types::xcm::VersionedLocation, - beneficiary: runtime_types::xcm::VersionedLocation, - assets: runtime_types::xcm::VersionedAssets, - fee_asset_item: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "PolkadotXcm", - "reserve_transfer_assets", - types::ReserveTransferAssets { - dest: ::std::boxed::Box::new(dest), - beneficiary: ::std::boxed::Box::new(beneficiary), - assets: ::std::boxed::Box::new(assets), - fee_asset_item, - }, - [ - 97u8, 102u8, 230u8, 44u8, 135u8, 197u8, 43u8, 53u8, 182u8, 125u8, - 140u8, 141u8, 229u8, 73u8, 29u8, 55u8, 159u8, 104u8, 197u8, 20u8, - 124u8, 234u8, 250u8, 94u8, 133u8, 253u8, 189u8, 6u8, 216u8, 162u8, - 218u8, 89u8, - ], - ) - } - #[doc = "See [`Pallet::execute`]."] - pub fn execute( - &self, - message: runtime_types::xcm::VersionedXcm2, - max_weight: runtime_types::sp_weights::weight_v2::Weight, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "PolkadotXcm", - "execute", - types::Execute { message: ::std::boxed::Box::new(message), max_weight }, - [ - 71u8, 109u8, 92u8, 110u8, 198u8, 150u8, 140u8, 125u8, 248u8, 236u8, - 177u8, 156u8, 198u8, 223u8, 51u8, 15u8, 52u8, 240u8, 20u8, 200u8, 68u8, - 145u8, 36u8, 156u8, 159u8, 153u8, 125u8, 48u8, 181u8, 61u8, 53u8, - 208u8, - ], - ) - } - #[doc = "See [`Pallet::force_xcm_version`]."] - pub fn force_xcm_version( - &self, - location: runtime_types::staging_xcm::v4::location::Location, - version: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "PolkadotXcm", - "force_xcm_version", - types::ForceXcmVersion { - location: ::std::boxed::Box::new(location), - version, - }, - [ - 69u8, 151u8, 198u8, 154u8, 69u8, 181u8, 41u8, 111u8, 145u8, 230u8, - 103u8, 42u8, 237u8, 91u8, 235u8, 6u8, 156u8, 65u8, 187u8, 48u8, 171u8, - 200u8, 49u8, 4u8, 9u8, 210u8, 229u8, 152u8, 187u8, 88u8, 80u8, 246u8, - ], - ) - } - #[doc = "See [`Pallet::force_default_xcm_version`]."] - pub fn force_default_xcm_version( - &self, - maybe_xcm_version: ::core::option::Option<::core::primitive::u32>, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "PolkadotXcm", - "force_default_xcm_version", - types::ForceDefaultXcmVersion { maybe_xcm_version }, - [ - 43u8, 114u8, 102u8, 104u8, 209u8, 234u8, 108u8, 173u8, 109u8, 188u8, - 94u8, 214u8, 136u8, 43u8, 153u8, 75u8, 161u8, 192u8, 76u8, 12u8, 221u8, - 237u8, 158u8, 247u8, 41u8, 193u8, 35u8, 174u8, 183u8, 207u8, 79u8, - 213u8, - ], - ) - } - #[doc = "See [`Pallet::force_subscribe_version_notify`]."] - pub fn force_subscribe_version_notify( - &self, - location: runtime_types::xcm::VersionedLocation, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "PolkadotXcm", - "force_subscribe_version_notify", - types::ForceSubscribeVersionNotify { - location: ::std::boxed::Box::new(location), - }, - [ - 203u8, 171u8, 70u8, 130u8, 46u8, 63u8, 76u8, 50u8, 105u8, 23u8, 249u8, - 190u8, 115u8, 74u8, 70u8, 125u8, 132u8, 112u8, 138u8, 60u8, 33u8, 35u8, - 45u8, 29u8, 95u8, 103u8, 187u8, 182u8, 188u8, 196u8, 248u8, 152u8, - ], - ) - } - #[doc = "See [`Pallet::force_unsubscribe_version_notify`]."] - pub fn force_unsubscribe_version_notify( - &self, - location: runtime_types::xcm::VersionedLocation, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "PolkadotXcm", - "force_unsubscribe_version_notify", - types::ForceUnsubscribeVersionNotify { - location: ::std::boxed::Box::new(location), - }, - [ - 6u8, 113u8, 168u8, 215u8, 233u8, 202u8, 249u8, 134u8, 131u8, 8u8, - 142u8, 203u8, 142u8, 95u8, 216u8, 70u8, 38u8, 99u8, 166u8, 97u8, 218u8, - 132u8, 247u8, 14u8, 42u8, 99u8, 4u8, 115u8, 200u8, 180u8, 213u8, 50u8, - ], - ) - } - #[doc = "See [`Pallet::limited_reserve_transfer_assets`]."] - pub fn limited_reserve_transfer_assets( - &self, - dest: runtime_types::xcm::VersionedLocation, - beneficiary: runtime_types::xcm::VersionedLocation, - assets: runtime_types::xcm::VersionedAssets, - fee_asset_item: ::core::primitive::u32, - weight_limit: runtime_types::xcm::v3::WeightLimit, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "PolkadotXcm", - "limited_reserve_transfer_assets", - types::LimitedReserveTransferAssets { - dest: ::std::boxed::Box::new(dest), - beneficiary: ::std::boxed::Box::new(beneficiary), - assets: ::std::boxed::Box::new(assets), - fee_asset_item, - weight_limit, - }, - [ - 198u8, 66u8, 204u8, 162u8, 222u8, 246u8, 141u8, 165u8, 241u8, 62u8, - 43u8, 236u8, 56u8, 200u8, 54u8, 47u8, 174u8, 83u8, 167u8, 220u8, 174u8, - 111u8, 123u8, 202u8, 248u8, 232u8, 166u8, 80u8, 152u8, 223u8, 86u8, - 141u8, - ], - ) - } - #[doc = "See [`Pallet::limited_teleport_assets`]."] - pub fn limited_teleport_assets( - &self, - dest: runtime_types::xcm::VersionedLocation, - beneficiary: runtime_types::xcm::VersionedLocation, - assets: runtime_types::xcm::VersionedAssets, - fee_asset_item: ::core::primitive::u32, - weight_limit: runtime_types::xcm::v3::WeightLimit, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "PolkadotXcm", - "limited_teleport_assets", - types::LimitedTeleportAssets { - dest: ::std::boxed::Box::new(dest), - beneficiary: ::std::boxed::Box::new(beneficiary), - assets: ::std::boxed::Box::new(assets), - fee_asset_item, - weight_limit, - }, - [ - 70u8, 61u8, 32u8, 43u8, 101u8, 104u8, 251u8, 60u8, 212u8, 124u8, 113u8, - 243u8, 241u8, 183u8, 5u8, 231u8, 209u8, 231u8, 136u8, 3u8, 145u8, - 242u8, 179u8, 171u8, 185u8, 185u8, 7u8, 34u8, 5u8, 203u8, 21u8, 210u8, - ], - ) - } - #[doc = "See [`Pallet::force_suspension`]."] - pub fn force_suspension( - &self, - suspended: ::core::primitive::bool, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "PolkadotXcm", - "force_suspension", - types::ForceSuspension { suspended }, - [ - 78u8, 125u8, 93u8, 55u8, 129u8, 44u8, 36u8, 227u8, 75u8, 46u8, 68u8, - 202u8, 81u8, 127u8, 111u8, 92u8, 149u8, 38u8, 225u8, 185u8, 183u8, - 154u8, 89u8, 159u8, 79u8, 10u8, 229u8, 1u8, 226u8, 243u8, 65u8, 238u8, - ], - ) - } - #[doc = "See [`Pallet::transfer_assets`]."] - pub fn transfer_assets( - &self, - dest: runtime_types::xcm::VersionedLocation, - beneficiary: runtime_types::xcm::VersionedLocation, - assets: runtime_types::xcm::VersionedAssets, - fee_asset_item: ::core::primitive::u32, - weight_limit: runtime_types::xcm::v3::WeightLimit, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "PolkadotXcm", - "transfer_assets", - types::TransferAssets { - dest: ::std::boxed::Box::new(dest), - beneficiary: ::std::boxed::Box::new(beneficiary), - assets: ::std::boxed::Box::new(assets), - fee_asset_item, - weight_limit, - }, - [ - 44u8, 155u8, 182u8, 37u8, 123u8, 148u8, 150u8, 191u8, 117u8, 32u8, - 16u8, 238u8, 121u8, 188u8, 217u8, 110u8, 10u8, 236u8, 174u8, 91u8, - 100u8, 201u8, 109u8, 109u8, 60u8, 177u8, 233u8, 66u8, 181u8, 191u8, - 105u8, 37u8, - ], - ) - } - } - } - #[doc = "The `Event` enum of this pallet"] - pub type Event = runtime_types::pallet_xcm::pallet::Event; - pub mod events { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Execution of an XCM message was attempted."] - pub struct Attempted { - pub outcome: runtime_types::staging_xcm::v4::traits::Outcome, - } - impl ::subxt::events::StaticEvent for Attempted { - const PALLET: &'static str = "PolkadotXcm"; - const EVENT: &'static str = "Attempted"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A XCM message was sent."] - pub struct Sent { - pub origin: runtime_types::staging_xcm::v4::location::Location, - pub destination: runtime_types::staging_xcm::v4::location::Location, - pub message: runtime_types::staging_xcm::v4::Xcm, - pub message_id: [::core::primitive::u8; 32usize], - } - impl ::subxt::events::StaticEvent for Sent { - const PALLET: &'static str = "PolkadotXcm"; - const EVENT: &'static str = "Sent"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Query response received which does not match a registered query. This may be because a"] - #[doc = "matching query was never registered, it may be because it is a duplicate response, or"] - #[doc = "because the query timed out."] - pub struct UnexpectedResponse { - pub origin: runtime_types::staging_xcm::v4::location::Location, - pub query_id: ::core::primitive::u64, - } - impl ::subxt::events::StaticEvent for UnexpectedResponse { - const PALLET: &'static str = "PolkadotXcm"; - const EVENT: &'static str = "UnexpectedResponse"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Query response has been received and is ready for taking with `take_response`. There is"] - #[doc = "no registered notification call."] - pub struct ResponseReady { - pub query_id: ::core::primitive::u64, - pub response: runtime_types::staging_xcm::v4::Response, - } - impl ::subxt::events::StaticEvent for ResponseReady { - const PALLET: &'static str = "PolkadotXcm"; - const EVENT: &'static str = "ResponseReady"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Query response has been received and query is removed. The registered notification has"] - #[doc = "been dispatched and executed successfully."] - pub struct Notified { - pub query_id: ::core::primitive::u64, - pub pallet_index: ::core::primitive::u8, - pub call_index: ::core::primitive::u8, - } - impl ::subxt::events::StaticEvent for Notified { - const PALLET: &'static str = "PolkadotXcm"; - const EVENT: &'static str = "Notified"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Query response has been received and query is removed. The registered notification"] - #[doc = "could not be dispatched because the dispatch weight is greater than the maximum weight"] - #[doc = "originally budgeted by this runtime for the query result."] - pub struct NotifyOverweight { - pub query_id: ::core::primitive::u64, - pub pallet_index: ::core::primitive::u8, - pub call_index: ::core::primitive::u8, - pub actual_weight: runtime_types::sp_weights::weight_v2::Weight, - pub max_budgeted_weight: runtime_types::sp_weights::weight_v2::Weight, - } - impl ::subxt::events::StaticEvent for NotifyOverweight { - const PALLET: &'static str = "PolkadotXcm"; - const EVENT: &'static str = "NotifyOverweight"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Query response has been received and query is removed. There was a general error with"] - #[doc = "dispatching the notification call."] - pub struct NotifyDispatchError { - pub query_id: ::core::primitive::u64, - pub pallet_index: ::core::primitive::u8, - pub call_index: ::core::primitive::u8, - } - impl ::subxt::events::StaticEvent for NotifyDispatchError { - const PALLET: &'static str = "PolkadotXcm"; - const EVENT: &'static str = "NotifyDispatchError"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Query response has been received and query is removed. The dispatch was unable to be"] - #[doc = "decoded into a `Call`; this might be due to dispatch function having a signature which"] - #[doc = "is not `(origin, QueryId, Response)`."] - pub struct NotifyDecodeFailed { - pub query_id: ::core::primitive::u64, - pub pallet_index: ::core::primitive::u8, - pub call_index: ::core::primitive::u8, - } - impl ::subxt::events::StaticEvent for NotifyDecodeFailed { - const PALLET: &'static str = "PolkadotXcm"; - const EVENT: &'static str = "NotifyDecodeFailed"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Expected query response has been received but the origin location of the response does"] - #[doc = "not match that expected. The query remains registered for a later, valid, response to"] - #[doc = "be received and acted upon."] - pub struct InvalidResponder { - pub origin: runtime_types::staging_xcm::v4::location::Location, - pub query_id: ::core::primitive::u64, - pub expected_location: - ::core::option::Option, - } - impl ::subxt::events::StaticEvent for InvalidResponder { - const PALLET: &'static str = "PolkadotXcm"; - const EVENT: &'static str = "InvalidResponder"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Expected query response has been received but the expected origin location placed in"] - #[doc = "storage by this runtime previously cannot be decoded. The query remains registered."] - #[doc = ""] - #[doc = "This is unexpected (since a location placed in storage in a previously executing"] - #[doc = "runtime should be readable prior to query timeout) and dangerous since the possibly"] - #[doc = "valid response will be dropped. Manual governance intervention is probably going to be"] - #[doc = "needed."] - pub struct InvalidResponderVersion { - pub origin: runtime_types::staging_xcm::v4::location::Location, - pub query_id: ::core::primitive::u64, - } - impl ::subxt::events::StaticEvent for InvalidResponderVersion { - const PALLET: &'static str = "PolkadotXcm"; - const EVENT: &'static str = "InvalidResponderVersion"; - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Received query response has been read and removed."] - pub struct ResponseTaken { - pub query_id: ::core::primitive::u64, - } - impl ::subxt::events::StaticEvent for ResponseTaken { - const PALLET: &'static str = "PolkadotXcm"; - const EVENT: &'static str = "ResponseTaken"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Some assets have been placed in an asset trap."] - pub struct AssetsTrapped { - pub hash: ::subxt::utils::H256, - pub origin: runtime_types::staging_xcm::v4::location::Location, - pub assets: runtime_types::xcm::VersionedAssets, - } - impl ::subxt::events::StaticEvent for AssetsTrapped { - const PALLET: &'static str = "PolkadotXcm"; - const EVENT: &'static str = "AssetsTrapped"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "An XCM version change notification message has been attempted to be sent."] - #[doc = ""] - #[doc = "The cost of sending it (borne by the chain) is included."] - pub struct VersionChangeNotified { - pub destination: runtime_types::staging_xcm::v4::location::Location, - pub result: ::core::primitive::u32, - pub cost: runtime_types::staging_xcm::v4::asset::Assets, - pub message_id: [::core::primitive::u8; 32usize], - } - impl ::subxt::events::StaticEvent for VersionChangeNotified { - const PALLET: &'static str = "PolkadotXcm"; - const EVENT: &'static str = "VersionChangeNotified"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The supported version of a location has been changed. This might be through an"] - #[doc = "automatic notification or a manual intervention."] - pub struct SupportedVersionChanged { - pub location: runtime_types::staging_xcm::v4::location::Location, - pub version: ::core::primitive::u32, - } - impl ::subxt::events::StaticEvent for SupportedVersionChanged { - const PALLET: &'static str = "PolkadotXcm"; - const EVENT: &'static str = "SupportedVersionChanged"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A given location which had a version change subscription was dropped owing to an error"] - #[doc = "sending the notification to it."] - pub struct NotifyTargetSendFail { - pub location: runtime_types::staging_xcm::v4::location::Location, - pub query_id: ::core::primitive::u64, - pub error: runtime_types::xcm::v3::traits::Error, - } - impl ::subxt::events::StaticEvent for NotifyTargetSendFail { - const PALLET: &'static str = "PolkadotXcm"; - const EVENT: &'static str = "NotifyTargetSendFail"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A given location which had a version change subscription was dropped owing to an error"] - #[doc = "migrating the location to our new XCM format."] - pub struct NotifyTargetMigrationFail { - pub location: runtime_types::xcm::VersionedLocation, - pub query_id: ::core::primitive::u64, - } - impl ::subxt::events::StaticEvent for NotifyTargetMigrationFail { - const PALLET: &'static str = "PolkadotXcm"; - const EVENT: &'static str = "NotifyTargetMigrationFail"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Expected query response has been received but the expected querier location placed in"] - #[doc = "storage by this runtime previously cannot be decoded. The query remains registered."] - #[doc = ""] - #[doc = "This is unexpected (since a location placed in storage in a previously executing"] - #[doc = "runtime should be readable prior to query timeout) and dangerous since the possibly"] - #[doc = "valid response will be dropped. Manual governance intervention is probably going to be"] - #[doc = "needed."] - pub struct InvalidQuerierVersion { - pub origin: runtime_types::staging_xcm::v4::location::Location, - pub query_id: ::core::primitive::u64, - } - impl ::subxt::events::StaticEvent for InvalidQuerierVersion { - const PALLET: &'static str = "PolkadotXcm"; - const EVENT: &'static str = "InvalidQuerierVersion"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Expected query response has been received but the querier location of the response does"] - #[doc = "not match the expected. The query remains registered for a later, valid, response to"] - #[doc = "be received and acted upon."] - pub struct InvalidQuerier { - pub origin: runtime_types::staging_xcm::v4::location::Location, - pub query_id: ::core::primitive::u64, - pub expected_querier: runtime_types::staging_xcm::v4::location::Location, - pub maybe_actual_querier: - ::core::option::Option, - } - impl ::subxt::events::StaticEvent for InvalidQuerier { - const PALLET: &'static str = "PolkadotXcm"; - const EVENT: &'static str = "InvalidQuerier"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A remote has requested XCM version change notification from us and we have honored it."] - #[doc = "A version information message is sent to them and its cost is included."] - pub struct VersionNotifyStarted { - pub destination: runtime_types::staging_xcm::v4::location::Location, - pub cost: runtime_types::staging_xcm::v4::asset::Assets, - pub message_id: [::core::primitive::u8; 32usize], - } - impl ::subxt::events::StaticEvent for VersionNotifyStarted { - const PALLET: &'static str = "PolkadotXcm"; - const EVENT: &'static str = "VersionNotifyStarted"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "We have requested that a remote chain send us XCM version change notifications."] - pub struct VersionNotifyRequested { - pub destination: runtime_types::staging_xcm::v4::location::Location, - pub cost: runtime_types::staging_xcm::v4::asset::Assets, - pub message_id: [::core::primitive::u8; 32usize], - } - impl ::subxt::events::StaticEvent for VersionNotifyRequested { - const PALLET: &'static str = "PolkadotXcm"; - const EVENT: &'static str = "VersionNotifyRequested"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "We have requested that a remote chain stops sending us XCM version change"] - #[doc = "notifications."] - pub struct VersionNotifyUnrequested { - pub destination: runtime_types::staging_xcm::v4::location::Location, - pub cost: runtime_types::staging_xcm::v4::asset::Assets, - pub message_id: [::core::primitive::u8; 32usize], - } - impl ::subxt::events::StaticEvent for VersionNotifyUnrequested { - const PALLET: &'static str = "PolkadotXcm"; - const EVENT: &'static str = "VersionNotifyUnrequested"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Fees were paid from a location for an operation (often for using `SendXcm`)."] - pub struct FeesPaid { - pub paying: runtime_types::staging_xcm::v4::location::Location, - pub fees: runtime_types::staging_xcm::v4::asset::Assets, - } - impl ::subxt::events::StaticEvent for FeesPaid { - const PALLET: &'static str = "PolkadotXcm"; - const EVENT: &'static str = "FeesPaid"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Some assets have been claimed from an asset trap"] - pub struct AssetsClaimed { - pub hash: ::subxt::utils::H256, - pub origin: runtime_types::staging_xcm::v4::location::Location, - pub assets: runtime_types::xcm::VersionedAssets, - } - impl ::subxt::events::StaticEvent for AssetsClaimed { - const PALLET: &'static str = "PolkadotXcm"; - const EVENT: &'static str = "AssetsClaimed"; - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A XCM version migration finished."] - pub struct VersionMigrationFinished { - pub version: ::core::primitive::u32, - } - impl ::subxt::events::StaticEvent for VersionMigrationFinished { - const PALLET: &'static str = "PolkadotXcm"; - const EVENT: &'static str = "VersionMigrationFinished"; - } - } - pub mod storage { - use super::runtime_types; - pub struct StorageApi; - impl StorageApi { - #[doc = " The latest available query index."] - pub fn query_counter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u64, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "PolkadotXcm", - "QueryCounter", - vec![], - [ - 216u8, 73u8, 160u8, 232u8, 60u8, 245u8, 218u8, 219u8, 152u8, 68u8, - 146u8, 219u8, 255u8, 7u8, 86u8, 112u8, 83u8, 49u8, 94u8, 173u8, 64u8, - 203u8, 147u8, 226u8, 236u8, 39u8, 129u8, 106u8, 209u8, 113u8, 150u8, - 50u8, - ], - ) - } - #[doc = " The ongoing queries."] - pub fn queries_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_xcm::pallet::QueryStatus<::core::primitive::u32>, - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "PolkadotXcm", - "Queries", - vec![], - [ - 246u8, 75u8, 240u8, 129u8, 106u8, 114u8, 99u8, 154u8, 176u8, 188u8, - 146u8, 125u8, 244u8, 103u8, 187u8, 171u8, 60u8, 119u8, 4u8, 90u8, 58u8, - 180u8, 48u8, 165u8, 145u8, 125u8, 227u8, 233u8, 11u8, 142u8, 122u8, - 3u8, - ], - ) - } - #[doc = " The ongoing queries."] - pub fn queries( - &self, - _0: impl ::std::borrow::Borrow<::core::primitive::u64>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_xcm::pallet::QueryStatus<::core::primitive::u32>, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "PolkadotXcm", - "Queries", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 246u8, 75u8, 240u8, 129u8, 106u8, 114u8, 99u8, 154u8, 176u8, 188u8, - 146u8, 125u8, 244u8, 103u8, 187u8, 171u8, 60u8, 119u8, 4u8, 90u8, 58u8, - 180u8, 48u8, 165u8, 145u8, 125u8, 227u8, 233u8, 11u8, 142u8, 122u8, - 3u8, - ], - ) - } - #[doc = " The existing asset traps."] - #[doc = ""] - #[doc = " Key is the blake2 256 hash of (origin, versioned `Assets`) pair. Value is the number of"] - #[doc = " times this pair has been trapped (usually just 1 if it exists at all)."] - pub fn asset_traps_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u32, - (), - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "PolkadotXcm", - "AssetTraps", - vec![], - [ - 148u8, 41u8, 254u8, 134u8, 61u8, 172u8, 126u8, 146u8, 78u8, 178u8, - 50u8, 77u8, 226u8, 8u8, 200u8, 78u8, 77u8, 91u8, 26u8, 133u8, 104u8, - 126u8, 28u8, 28u8, 202u8, 62u8, 87u8, 183u8, 231u8, 191u8, 5u8, 181u8, - ], - ) - } - #[doc = " The existing asset traps."] - #[doc = ""] - #[doc = " Key is the blake2 256 hash of (origin, versioned `Assets`) pair. Value is the number of"] - #[doc = " times this pair has been trapped (usually just 1 if it exists at all)."] - pub fn asset_traps( - &self, - _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u32, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "PolkadotXcm", - "AssetTraps", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 148u8, 41u8, 254u8, 134u8, 61u8, 172u8, 126u8, 146u8, 78u8, 178u8, - 50u8, 77u8, 226u8, 8u8, 200u8, 78u8, 77u8, 91u8, 26u8, 133u8, 104u8, - 126u8, 28u8, 28u8, 202u8, 62u8, 87u8, 183u8, 231u8, 191u8, 5u8, 181u8, - ], - ) - } - #[doc = " Default version to encode XCM when latest version of destination is unknown. If `None`,"] - #[doc = " then the destinations whose XCM version is unknown are considered unreachable."] - pub fn safe_xcm_version( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u32, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "PolkadotXcm", - "SafeXcmVersion", - vec![], - [ - 187u8, 8u8, 74u8, 126u8, 80u8, 215u8, 177u8, 60u8, 223u8, 123u8, 196u8, - 155u8, 166u8, 66u8, 25u8, 164u8, 191u8, 66u8, 116u8, 131u8, 116u8, - 188u8, 224u8, 122u8, 75u8, 195u8, 246u8, 188u8, 83u8, 134u8, 49u8, - 143u8, - ], - ) - } - #[doc = " The Latest versions that we know various locations support."] - pub fn supported_version_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u32, - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "PolkadotXcm", - "SupportedVersion", - vec![], - [ - 144u8, 218u8, 177u8, 254u8, 210u8, 8u8, 84u8, 149u8, 163u8, 162u8, - 238u8, 37u8, 157u8, 28u8, 140u8, 121u8, 201u8, 173u8, 204u8, 92u8, - 133u8, 45u8, 156u8, 38u8, 61u8, 51u8, 153u8, 161u8, 147u8, 146u8, - 202u8, 24u8, - ], - ) - } - #[doc = " The Latest versions that we know various locations support."] - pub fn supported_version_iter1( - &self, - _0: impl ::std::borrow::Borrow<::core::primitive::u32>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u32, - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "PolkadotXcm", - "SupportedVersion", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 144u8, 218u8, 177u8, 254u8, 210u8, 8u8, 84u8, 149u8, 163u8, 162u8, - 238u8, 37u8, 157u8, 28u8, 140u8, 121u8, 201u8, 173u8, 204u8, 92u8, - 133u8, 45u8, 156u8, 38u8, 61u8, 51u8, 153u8, 161u8, 147u8, 146u8, - 202u8, 24u8, - ], - ) - } - #[doc = " The Latest versions that we know various locations support."] - pub fn supported_version( - &self, - _0: impl ::std::borrow::Borrow<::core::primitive::u32>, - _1: impl ::std::borrow::Borrow, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u32, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "PolkadotXcm", - "SupportedVersion", - vec![ - ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), - ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), - ], - [ - 144u8, 218u8, 177u8, 254u8, 210u8, 8u8, 84u8, 149u8, 163u8, 162u8, - 238u8, 37u8, 157u8, 28u8, 140u8, 121u8, 201u8, 173u8, 204u8, 92u8, - 133u8, 45u8, 156u8, 38u8, 61u8, 51u8, 153u8, 161u8, 147u8, 146u8, - 202u8, 24u8, - ], - ) - } - #[doc = " All locations that we have requested version notifications from."] - pub fn version_notifiers_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u64, - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "PolkadotXcm", - "VersionNotifiers", - vec![], - [ - 175u8, 206u8, 29u8, 14u8, 111u8, 123u8, 211u8, 109u8, 159u8, 131u8, - 80u8, 149u8, 216u8, 196u8, 181u8, 105u8, 117u8, 138u8, 80u8, 69u8, - 237u8, 116u8, 195u8, 66u8, 209u8, 102u8, 42u8, 126u8, 222u8, 176u8, - 201u8, 49u8, - ], - ) - } - #[doc = " All locations that we have requested version notifications from."] - pub fn version_notifiers_iter1( - &self, - _0: impl ::std::borrow::Borrow<::core::primitive::u32>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u64, - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "PolkadotXcm", - "VersionNotifiers", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 175u8, 206u8, 29u8, 14u8, 111u8, 123u8, 211u8, 109u8, 159u8, 131u8, - 80u8, 149u8, 216u8, 196u8, 181u8, 105u8, 117u8, 138u8, 80u8, 69u8, - 237u8, 116u8, 195u8, 66u8, 209u8, 102u8, 42u8, 126u8, 222u8, 176u8, - 201u8, 49u8, - ], - ) - } - #[doc = " All locations that we have requested version notifications from."] - pub fn version_notifiers( - &self, - _0: impl ::std::borrow::Borrow<::core::primitive::u32>, - _1: impl ::std::borrow::Borrow, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u64, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "PolkadotXcm", - "VersionNotifiers", - vec![ - ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), - ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), - ], - [ - 175u8, 206u8, 29u8, 14u8, 111u8, 123u8, 211u8, 109u8, 159u8, 131u8, - 80u8, 149u8, 216u8, 196u8, 181u8, 105u8, 117u8, 138u8, 80u8, 69u8, - 237u8, 116u8, 195u8, 66u8, 209u8, 102u8, 42u8, 126u8, 222u8, 176u8, - 201u8, 49u8, - ], - ) - } - #[doc = " The target locations that are subscribed to our version changes, as well as the most recent"] - #[doc = " of our versions we informed them of."] - pub fn version_notify_targets_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ( - ::core::primitive::u64, - runtime_types::sp_weights::weight_v2::Weight, - ::core::primitive::u32, - ), - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "PolkadotXcm", - "VersionNotifyTargets", - vec![], - [ - 113u8, 77u8, 150u8, 42u8, 82u8, 49u8, 195u8, 120u8, 96u8, 80u8, 152u8, - 67u8, 27u8, 142u8, 10u8, 74u8, 66u8, 134u8, 35u8, 202u8, 77u8, 187u8, - 174u8, 22u8, 207u8, 199u8, 57u8, 85u8, 53u8, 208u8, 146u8, 81u8, - ], - ) - } - #[doc = " The target locations that are subscribed to our version changes, as well as the most recent"] - #[doc = " of our versions we informed them of."] - pub fn version_notify_targets_iter1( - &self, - _0: impl ::std::borrow::Borrow<::core::primitive::u32>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ( - ::core::primitive::u64, - runtime_types::sp_weights::weight_v2::Weight, - ::core::primitive::u32, - ), - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "PolkadotXcm", - "VersionNotifyTargets", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 113u8, 77u8, 150u8, 42u8, 82u8, 49u8, 195u8, 120u8, 96u8, 80u8, 152u8, - 67u8, 27u8, 142u8, 10u8, 74u8, 66u8, 134u8, 35u8, 202u8, 77u8, 187u8, - 174u8, 22u8, 207u8, 199u8, 57u8, 85u8, 53u8, 208u8, 146u8, 81u8, - ], - ) - } - #[doc = " The target locations that are subscribed to our version changes, as well as the most recent"] - #[doc = " of our versions we informed them of."] - pub fn version_notify_targets( - &self, - _0: impl ::std::borrow::Borrow<::core::primitive::u32>, - _1: impl ::std::borrow::Borrow, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ( - ::core::primitive::u64, - runtime_types::sp_weights::weight_v2::Weight, - ::core::primitive::u32, - ), - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "PolkadotXcm", - "VersionNotifyTargets", - vec![ - ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), - ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), - ], - [ - 113u8, 77u8, 150u8, 42u8, 82u8, 49u8, 195u8, 120u8, 96u8, 80u8, 152u8, - 67u8, 27u8, 142u8, 10u8, 74u8, 66u8, 134u8, 35u8, 202u8, 77u8, 187u8, - 174u8, 22u8, 207u8, 199u8, 57u8, 85u8, 53u8, 208u8, 146u8, 81u8, - ], - ) - } - #[doc = " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and"] - #[doc = " the `u32` counter is the number of times that a send to the destination has been attempted,"] - #[doc = " which is used as a prioritization."] - pub fn version_discovery_queue( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::bounded_collections::bounded_vec::BoundedVec<( - runtime_types::xcm::VersionedLocation, - ::core::primitive::u32, - )>, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "PolkadotXcm", - "VersionDiscoveryQueue", - vec![], - [ - 95u8, 74u8, 97u8, 94u8, 40u8, 140u8, 175u8, 176u8, 224u8, 222u8, 83u8, - 199u8, 170u8, 102u8, 3u8, 77u8, 127u8, 208u8, 155u8, 122u8, 176u8, - 51u8, 15u8, 253u8, 231u8, 245u8, 91u8, 192u8, 60u8, 144u8, 101u8, - 168u8, - ], - ) - } - #[doc = " The current migration's stage, if any."] - pub fn current_migration( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_xcm::pallet::VersionMigrationStage, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "PolkadotXcm", - "CurrentMigration", - vec![], - [ - 74u8, 138u8, 181u8, 162u8, 59u8, 251u8, 37u8, 28u8, 232u8, 51u8, 30u8, - 152u8, 252u8, 133u8, 95u8, 195u8, 47u8, 127u8, 21u8, 44u8, 62u8, 143u8, - 170u8, 234u8, 160u8, 37u8, 131u8, 179u8, 57u8, 241u8, 140u8, 124u8, - ], - ) - } - #[doc = " Fungible assets which we know are locked on a remote chain."] - pub fn remote_locked_fungibles_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_xcm::pallet::RemoteLockedFungibleRecord<()>, - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "PolkadotXcm", - "RemoteLockedFungibles", - vec![], - [ - 247u8, 124u8, 77u8, 42u8, 208u8, 183u8, 99u8, 196u8, 50u8, 113u8, - 250u8, 221u8, 222u8, 170u8, 10u8, 60u8, 143u8, 172u8, 149u8, 198u8, - 125u8, 154u8, 196u8, 196u8, 145u8, 209u8, 68u8, 28u8, 241u8, 241u8, - 201u8, 150u8, - ], - ) - } - #[doc = " Fungible assets which we know are locked on a remote chain."] - pub fn remote_locked_fungibles_iter1( - &self, - _0: impl ::std::borrow::Borrow<::core::primitive::u32>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_xcm::pallet::RemoteLockedFungibleRecord<()>, - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "PolkadotXcm", - "RemoteLockedFungibles", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 247u8, 124u8, 77u8, 42u8, 208u8, 183u8, 99u8, 196u8, 50u8, 113u8, - 250u8, 221u8, 222u8, 170u8, 10u8, 60u8, 143u8, 172u8, 149u8, 198u8, - 125u8, 154u8, 196u8, 196u8, 145u8, 209u8, 68u8, 28u8, 241u8, 241u8, - 201u8, 150u8, - ], - ) - } - #[doc = " Fungible assets which we know are locked on a remote chain."] - pub fn remote_locked_fungibles_iter2( - &self, - _0: impl ::std::borrow::Borrow<::core::primitive::u32>, - _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_xcm::pallet::RemoteLockedFungibleRecord<()>, - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "PolkadotXcm", - "RemoteLockedFungibles", - vec![ - ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), - ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), - ], - [ - 247u8, 124u8, 77u8, 42u8, 208u8, 183u8, 99u8, 196u8, 50u8, 113u8, - 250u8, 221u8, 222u8, 170u8, 10u8, 60u8, 143u8, 172u8, 149u8, 198u8, - 125u8, 154u8, 196u8, 196u8, 145u8, 209u8, 68u8, 28u8, 241u8, 241u8, - 201u8, 150u8, - ], - ) - } - #[doc = " Fungible assets which we know are locked on a remote chain."] - pub fn remote_locked_fungibles( - &self, - _0: impl ::std::borrow::Borrow<::core::primitive::u32>, - _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, - _2: impl ::std::borrow::Borrow, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_xcm::pallet::RemoteLockedFungibleRecord<()>, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "PolkadotXcm", - "RemoteLockedFungibles", - vec![ - ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), - ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), - ::subxt::storage::address::make_static_storage_map_key(_2.borrow()), - ], - [ - 247u8, 124u8, 77u8, 42u8, 208u8, 183u8, 99u8, 196u8, 50u8, 113u8, - 250u8, 221u8, 222u8, 170u8, 10u8, 60u8, 143u8, 172u8, 149u8, 198u8, - 125u8, 154u8, 196u8, 196u8, 145u8, 209u8, 68u8, 28u8, 241u8, 241u8, - 201u8, 150u8, - ], - ) - } - #[doc = " Fungible assets which we know are locked on this chain."] - pub fn locked_fungibles_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::bounded_collections::bounded_vec::BoundedVec<( - ::core::primitive::u128, - runtime_types::xcm::VersionedLocation, - )>, - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "PolkadotXcm", - "LockedFungibles", - vec![], - [ - 254u8, 234u8, 1u8, 27u8, 27u8, 32u8, 217u8, 24u8, 47u8, 30u8, 62u8, - 80u8, 86u8, 125u8, 120u8, 24u8, 143u8, 229u8, 161u8, 153u8, 240u8, - 246u8, 80u8, 15u8, 49u8, 189u8, 20u8, 204u8, 239u8, 198u8, 97u8, 174u8, - ], - ) - } - #[doc = " Fungible assets which we know are locked on this chain."] - pub fn locked_fungibles( - &self, - _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::bounded_collections::bounded_vec::BoundedVec<( - ::core::primitive::u128, - runtime_types::xcm::VersionedLocation, - )>, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "PolkadotXcm", - "LockedFungibles", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 254u8, 234u8, 1u8, 27u8, 27u8, 32u8, 217u8, 24u8, 47u8, 30u8, 62u8, - 80u8, 86u8, 125u8, 120u8, 24u8, 143u8, 229u8, 161u8, 153u8, 240u8, - 246u8, 80u8, 15u8, 49u8, 189u8, 20u8, 204u8, 239u8, 198u8, 97u8, 174u8, - ], - ) - } - #[doc = " Global suspension state of the XCM executor."] - pub fn xcm_execution_suspended( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::bool, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "PolkadotXcm", - "XcmExecutionSuspended", - vec![], - [ - 182u8, 54u8, 69u8, 68u8, 78u8, 76u8, 103u8, 79u8, 47u8, 136u8, 99u8, - 104u8, 128u8, 129u8, 249u8, 54u8, 214u8, 136u8, 97u8, 48u8, 178u8, - 42u8, 26u8, 27u8, 82u8, 24u8, 33u8, 77u8, 33u8, 27u8, 20u8, 127u8, - ], - ) - } - } - } - } - pub mod cumulus_xcm { - use super::root_mod; - use super::runtime_types; - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::cumulus_pallet_xcm::pallet::Call; - pub mod calls { - use super::root_mod; - use super::runtime_types; - type DispatchError = runtime_types::sp_runtime::DispatchError; - pub mod types { - use super::runtime_types; - } - pub struct TransactionApi; - impl TransactionApi {} - } - #[doc = "The `Event` enum of this pallet"] - pub type Event = runtime_types::cumulus_pallet_xcm::pallet::Event; - pub mod events { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Downward message is invalid XCM."] - #[doc = "\\[ id \\]"] - pub struct InvalidFormat(pub [::core::primitive::u8; 32usize]); - impl ::subxt::events::StaticEvent for InvalidFormat { - const PALLET: &'static str = "CumulusXcm"; - const EVENT: &'static str = "InvalidFormat"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Downward message is unsupported version of XCM."] - #[doc = "\\[ id \\]"] - pub struct UnsupportedVersion(pub [::core::primitive::u8; 32usize]); - impl ::subxt::events::StaticEvent for UnsupportedVersion { - const PALLET: &'static str = "CumulusXcm"; - const EVENT: &'static str = "UnsupportedVersion"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Downward message executed with the given outcome."] - #[doc = "\\[ id, outcome \\]"] - pub struct ExecutedDownward( - pub [::core::primitive::u8; 32usize], - pub runtime_types::staging_xcm::v4::traits::Outcome, - ); - impl ::subxt::events::StaticEvent for ExecutedDownward { - const PALLET: &'static str = "CumulusXcm"; - const EVENT: &'static str = "ExecutedDownward"; - } - } - } - pub mod message_queue { - use super::root_mod; - use super::runtime_types; - #[doc = "The `Error` enum of this pallet."] - pub type Error = runtime_types::pallet_message_queue::pallet::Error; - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::pallet_message_queue::pallet::Call; - pub mod calls { - use super::root_mod; - use super::runtime_types; - type DispatchError = runtime_types::sp_runtime::DispatchError; - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ReapPage { - pub message_origin: - runtime_types::cumulus_primitives_core::AggregateMessageOrigin, - pub page_index: ::core::primitive::u32, - } - impl ::subxt::blocks::StaticExtrinsic for ReapPage { - const PALLET: &'static str = "MessageQueue"; - const CALL: &'static str = "reap_page"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ExecuteOverweight { - pub message_origin: - runtime_types::cumulus_primitives_core::AggregateMessageOrigin, - pub page: ::core::primitive::u32, - pub index: ::core::primitive::u32, - pub weight_limit: runtime_types::sp_weights::weight_v2::Weight, - } - impl ::subxt::blocks::StaticExtrinsic for ExecuteOverweight { - const PALLET: &'static str = "MessageQueue"; - const CALL: &'static str = "execute_overweight"; - } - } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "See [`Pallet::reap_page`]."] - pub fn reap_page( - &self, - message_origin: runtime_types::cumulus_primitives_core::AggregateMessageOrigin, - page_index: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "MessageQueue", - "reap_page", - types::ReapPage { message_origin, page_index }, - [ - 116u8, 17u8, 120u8, 238u8, 117u8, 222u8, 10u8, 166u8, 132u8, 181u8, - 114u8, 150u8, 242u8, 202u8, 31u8, 143u8, 212u8, 65u8, 145u8, 249u8, - 27u8, 204u8, 137u8, 133u8, 220u8, 187u8, 137u8, 90u8, 112u8, 55u8, - 104u8, 163u8, - ], - ) - } - #[doc = "See [`Pallet::execute_overweight`]."] - pub fn execute_overweight( - &self, - message_origin: runtime_types::cumulus_primitives_core::AggregateMessageOrigin, - page: ::core::primitive::u32, - index: ::core::primitive::u32, - weight_limit: runtime_types::sp_weights::weight_v2::Weight, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "MessageQueue", - "execute_overweight", - types::ExecuteOverweight { message_origin, page, index, weight_limit }, - [ - 177u8, 54u8, 82u8, 58u8, 94u8, 125u8, 241u8, 172u8, 52u8, 7u8, 236u8, - 80u8, 66u8, 99u8, 42u8, 199u8, 38u8, 195u8, 65u8, 118u8, 166u8, 246u8, - 239u8, 195u8, 144u8, 153u8, 155u8, 8u8, 224u8, 56u8, 106u8, 135u8, - ], - ) - } - } - } - #[doc = "The `Event` enum of this pallet"] - pub type Event = runtime_types::pallet_message_queue::pallet::Event; - pub mod events { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Message discarded due to an error in the `MessageProcessor` (usually a format error)."] - pub struct ProcessingFailed { - pub id: ::subxt::utils::H256, - pub origin: runtime_types::cumulus_primitives_core::AggregateMessageOrigin, - pub error: runtime_types::frame_support::traits::messages::ProcessMessageError, - } - impl ::subxt::events::StaticEvent for ProcessingFailed { - const PALLET: &'static str = "MessageQueue"; - const EVENT: &'static str = "ProcessingFailed"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Message is processed."] - pub struct Processed { - pub id: ::subxt::utils::H256, - pub origin: runtime_types::cumulus_primitives_core::AggregateMessageOrigin, - pub weight_used: runtime_types::sp_weights::weight_v2::Weight, - pub success: ::core::primitive::bool, - } - impl ::subxt::events::StaticEvent for Processed { - const PALLET: &'static str = "MessageQueue"; - const EVENT: &'static str = "Processed"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Message placed in overweight queue."] - pub struct OverweightEnqueued { - pub id: [::core::primitive::u8; 32usize], - pub origin: runtime_types::cumulus_primitives_core::AggregateMessageOrigin, - pub page_index: ::core::primitive::u32, - pub message_index: ::core::primitive::u32, - } - impl ::subxt::events::StaticEvent for OverweightEnqueued { - const PALLET: &'static str = "MessageQueue"; - const EVENT: &'static str = "OverweightEnqueued"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "This page was reaped."] - pub struct PageReaped { - pub origin: runtime_types::cumulus_primitives_core::AggregateMessageOrigin, - pub index: ::core::primitive::u32, - } - impl ::subxt::events::StaticEvent for PageReaped { - const PALLET: &'static str = "MessageQueue"; - const EVENT: &'static str = "PageReaped"; - } - } - pub mod storage { - use super::runtime_types; - pub struct StorageApi; - impl StorageApi { - #[doc = " The index of the first and last (non-empty) pages."] - pub fn book_state_for_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_message_queue::BookState< - runtime_types::cumulus_primitives_core::AggregateMessageOrigin, - >, - (), - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "MessageQueue", - "BookStateFor", - vec![], - [ - 33u8, 240u8, 235u8, 59u8, 150u8, 42u8, 91u8, 248u8, 235u8, 52u8, 170u8, - 52u8, 195u8, 129u8, 6u8, 174u8, 57u8, 242u8, 30u8, 220u8, 232u8, 4u8, - 246u8, 218u8, 162u8, 174u8, 102u8, 95u8, 210u8, 92u8, 133u8, 143u8, - ], - ) - } - #[doc = " The index of the first and last (non-empty) pages."] - pub fn book_state_for( - &self, - _0: impl ::std::borrow::Borrow< - runtime_types::cumulus_primitives_core::AggregateMessageOrigin, - >, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_message_queue::BookState< - runtime_types::cumulus_primitives_core::AggregateMessageOrigin, - >, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "MessageQueue", - "BookStateFor", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 33u8, 240u8, 235u8, 59u8, 150u8, 42u8, 91u8, 248u8, 235u8, 52u8, 170u8, - 52u8, 195u8, 129u8, 6u8, 174u8, 57u8, 242u8, 30u8, 220u8, 232u8, 4u8, - 246u8, 218u8, 162u8, 174u8, 102u8, 95u8, 210u8, 92u8, 133u8, 143u8, - ], - ) - } - #[doc = " The origin at which we should begin servicing."] - pub fn service_head( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::cumulus_primitives_core::AggregateMessageOrigin, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "MessageQueue", - "ServiceHead", - vec![], - [ - 104u8, 146u8, 240u8, 41u8, 171u8, 68u8, 20u8, 147u8, 212u8, 155u8, - 59u8, 39u8, 174u8, 186u8, 97u8, 250u8, 41u8, 247u8, 67u8, 190u8, 252u8, - 167u8, 234u8, 36u8, 124u8, 239u8, 163u8, 72u8, 223u8, 82u8, 82u8, - 171u8, - ], - ) - } - #[doc = " The map of page indices to pages."] - pub fn pages_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_message_queue::Page<::core::primitive::u32>, - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "MessageQueue", - "Pages", - vec![], - [ - 45u8, 202u8, 18u8, 128u8, 31u8, 194u8, 175u8, 173u8, 99u8, 81u8, 161u8, - 44u8, 32u8, 183u8, 238u8, 181u8, 110u8, 240u8, 203u8, 12u8, 152u8, - 58u8, 239u8, 190u8, 144u8, 168u8, 210u8, 33u8, 121u8, 250u8, 137u8, - 142u8, - ], - ) - } - #[doc = " The map of page indices to pages."] - pub fn pages_iter1( - &self, - _0: impl ::std::borrow::Borrow< - runtime_types::cumulus_primitives_core::AggregateMessageOrigin, - >, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_message_queue::Page<::core::primitive::u32>, - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "MessageQueue", - "Pages", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 45u8, 202u8, 18u8, 128u8, 31u8, 194u8, 175u8, 173u8, 99u8, 81u8, 161u8, - 44u8, 32u8, 183u8, 238u8, 181u8, 110u8, 240u8, 203u8, 12u8, 152u8, - 58u8, 239u8, 190u8, 144u8, 168u8, 210u8, 33u8, 121u8, 250u8, 137u8, - 142u8, - ], - ) - } - #[doc = " The map of page indices to pages."] - pub fn pages( - &self, - _0: impl ::std::borrow::Borrow< - runtime_types::cumulus_primitives_core::AggregateMessageOrigin, - >, - _1: impl ::std::borrow::Borrow<::core::primitive::u32>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_message_queue::Page<::core::primitive::u32>, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "MessageQueue", - "Pages", - vec![ - ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), - ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), - ], - [ - 45u8, 202u8, 18u8, 128u8, 31u8, 194u8, 175u8, 173u8, 99u8, 81u8, 161u8, - 44u8, 32u8, 183u8, 238u8, 181u8, 110u8, 240u8, 203u8, 12u8, 152u8, - 58u8, 239u8, 190u8, 144u8, 168u8, 210u8, 33u8, 121u8, 250u8, 137u8, - 142u8, - ], - ) - } - } - } - pub mod constants { - use super::runtime_types; - pub struct ConstantsApi; - impl ConstantsApi { - #[doc = " The size of the page; this implies the maximum message size which can be sent."] - #[doc = ""] - #[doc = " A good value depends on the expected message sizes, their weights, the weight that is"] - #[doc = " available for processing them and the maximal needed message size. The maximal message"] - #[doc = " size is slightly lower than this as defined by [`MaxMessageLenOf`]."] - pub fn heap_size(&self) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static( - "MessageQueue", - "HeapSize", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) - } - #[doc = " The maximum number of stale pages (i.e. of overweight messages) allowed before culling"] - #[doc = " can happen. Once there are more stale pages than this, then historical pages may be"] - #[doc = " dropped, even if they contain unprocessed overweight messages."] - pub fn max_stale(&self) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static( - "MessageQueue", - "MaxStale", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) - } - #[doc = " The amount of weight (if any) which should be provided to the message queue for"] - #[doc = " servicing enqueued items."] - #[doc = ""] - #[doc = " This may be legitimately `None` in the case that you will call"] - #[doc = " `ServiceQueues::service_queues` manually."] - pub fn service_weight( - &self, - ) -> ::subxt::constants::Address< - ::core::option::Option, - > { - ::subxt::constants::Address::new_static( - "MessageQueue", - "ServiceWeight", - [ - 204u8, 140u8, 63u8, 167u8, 49u8, 8u8, 148u8, 163u8, 190u8, 224u8, 15u8, - 103u8, 86u8, 153u8, 248u8, 117u8, 223u8, 117u8, 210u8, 80u8, 205u8, - 155u8, 40u8, 11u8, 59u8, 63u8, 129u8, 156u8, 17u8, 83u8, 177u8, 250u8, - ], - ) - } - } - } - } - pub mod utility { - use super::root_mod; - use super::runtime_types; - #[doc = "The `Error` enum of this pallet."] - pub type Error = runtime_types::pallet_utility::pallet::Error; - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::pallet_utility::pallet::Call; - pub mod calls { - use super::root_mod; - use super::runtime_types; - type DispatchError = runtime_types::sp_runtime::DispatchError; - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Batch { - pub calls: ::std::vec::Vec, - } - impl ::subxt::blocks::StaticExtrinsic for Batch { - const PALLET: &'static str = "Utility"; - const CALL: &'static str = "batch"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AsDerivative { - pub index: ::core::primitive::u16, - pub call: - ::std::boxed::Box, - } - impl ::subxt::blocks::StaticExtrinsic for AsDerivative { - const PALLET: &'static str = "Utility"; - const CALL: &'static str = "as_derivative"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct BatchAll { - pub calls: ::std::vec::Vec, - } - impl ::subxt::blocks::StaticExtrinsic for BatchAll { - const PALLET: &'static str = "Utility"; - const CALL: &'static str = "batch_all"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct DispatchAs { - pub as_origin: - ::std::boxed::Box, - pub call: - ::std::boxed::Box, - } - impl ::subxt::blocks::StaticExtrinsic for DispatchAs { - const PALLET: &'static str = "Utility"; - const CALL: &'static str = "dispatch_as"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ForceBatch { - pub calls: ::std::vec::Vec, - } - impl ::subxt::blocks::StaticExtrinsic for ForceBatch { - const PALLET: &'static str = "Utility"; - const CALL: &'static str = "force_batch"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct WithWeight { - pub call: - ::std::boxed::Box, - pub weight: runtime_types::sp_weights::weight_v2::Weight, - } - impl ::subxt::blocks::StaticExtrinsic for WithWeight { - const PALLET: &'static str = "Utility"; - const CALL: &'static str = "with_weight"; - } - } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "See [`Pallet::batch`]."] - pub fn batch( - &self, - calls: ::std::vec::Vec, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Utility", - "batch", - types::Batch { calls }, - [ - 196u8, 209u8, 52u8, 231u8, 46u8, 197u8, 7u8, 8u8, 85u8, 223u8, 142u8, - 251u8, 7u8, 60u8, 113u8, 87u8, 8u8, 125u8, 194u8, 180u8, 144u8, 212u8, - 243u8, 127u8, 87u8, 76u8, 7u8, 54u8, 64u8, 141u8, 206u8, 51u8, - ], - ) - } - #[doc = "See [`Pallet::as_derivative`]."] - pub fn as_derivative( - &self, - index: ::core::primitive::u16, - call: runtime_types::coretime_rococo_runtime::RuntimeCall, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Utility", - "as_derivative", - types::AsDerivative { index, call: ::std::boxed::Box::new(call) }, - [ - 126u8, 211u8, 152u8, 5u8, 89u8, 68u8, 210u8, 83u8, 191u8, 217u8, 168u8, - 29u8, 141u8, 230u8, 4u8, 219u8, 91u8, 223u8, 27u8, 85u8, 63u8, 251u8, - 141u8, 0u8, 99u8, 230u8, 91u8, 145u8, 177u8, 106u8, 14u8, 189u8, - ], - ) - } - #[doc = "See [`Pallet::batch_all`]."] - pub fn batch_all( - &self, - calls: ::std::vec::Vec, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Utility", - "batch_all", - types::BatchAll { calls }, - [ - 131u8, 0u8, 44u8, 110u8, 130u8, 180u8, 218u8, 239u8, 123u8, 185u8, - 204u8, 239u8, 83u8, 11u8, 0u8, 138u8, 164u8, 212u8, 139u8, 147u8, 20u8, - 105u8, 176u8, 167u8, 207u8, 66u8, 244u8, 13u8, 56u8, 50u8, 183u8, 26u8, - ], - ) - } - #[doc = "See [`Pallet::dispatch_as`]."] - pub fn dispatch_as( - &self, - as_origin: runtime_types::coretime_rococo_runtime::OriginCaller, - call: runtime_types::coretime_rococo_runtime::RuntimeCall, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Utility", - "dispatch_as", - types::DispatchAs { - as_origin: ::std::boxed::Box::new(as_origin), - call: ::std::boxed::Box::new(call), - }, - [ - 103u8, 50u8, 121u8, 101u8, 30u8, 227u8, 123u8, 125u8, 94u8, 185u8, - 74u8, 165u8, 178u8, 61u8, 204u8, 15u8, 220u8, 149u8, 88u8, 142u8, - 213u8, 16u8, 27u8, 11u8, 233u8, 82u8, 225u8, 11u8, 118u8, 201u8, 160u8, - 99u8, - ], - ) - } - #[doc = "See [`Pallet::force_batch`]."] - pub fn force_batch( - &self, - calls: ::std::vec::Vec, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Utility", - "force_batch", - types::ForceBatch { calls }, - [ - 137u8, 141u8, 119u8, 237u8, 225u8, 180u8, 133u8, 11u8, 223u8, 67u8, - 96u8, 59u8, 207u8, 168u8, 81u8, 69u8, 109u8, 14u8, 202u8, 96u8, 10u8, - 66u8, 102u8, 222u8, 29u8, 9u8, 69u8, 28u8, 2u8, 99u8, 127u8, 173u8, - ], - ) - } - #[doc = "See [`Pallet::with_weight`]."] - pub fn with_weight( - &self, - call: runtime_types::coretime_rococo_runtime::RuntimeCall, - weight: runtime_types::sp_weights::weight_v2::Weight, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Utility", - "with_weight", - types::WithWeight { call: ::std::boxed::Box::new(call), weight }, - [ - 169u8, 60u8, 21u8, 80u8, 219u8, 219u8, 154u8, 125u8, 254u8, 169u8, - 22u8, 243u8, 7u8, 4u8, 225u8, 11u8, 134u8, 236u8, 83u8, 184u8, 188u8, - 10u8, 248u8, 127u8, 240u8, 220u8, 74u8, 212u8, 104u8, 60u8, 31u8, - 164u8, - ], - ) - } - } - } - #[doc = "The `Event` enum of this pallet"] - pub type Event = runtime_types::pallet_utility::pallet::Event; - pub mod events { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"] - #[doc = "well as the error."] - pub struct BatchInterrupted { - pub index: ::core::primitive::u32, - pub error: runtime_types::sp_runtime::DispatchError, - } - impl ::subxt::events::StaticEvent for BatchInterrupted { - const PALLET: &'static str = "Utility"; - const EVENT: &'static str = "BatchInterrupted"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Batch of dispatches completed fully with no error."] - pub struct BatchCompleted; - impl ::subxt::events::StaticEvent for BatchCompleted { - const PALLET: &'static str = "Utility"; - const EVENT: &'static str = "BatchCompleted"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Batch of dispatches completed but has errors."] - pub struct BatchCompletedWithErrors; - impl ::subxt::events::StaticEvent for BatchCompletedWithErrors { - const PALLET: &'static str = "Utility"; - const EVENT: &'static str = "BatchCompletedWithErrors"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A single item within a Batch of dispatches has completed with no error."] - pub struct ItemCompleted; - impl ::subxt::events::StaticEvent for ItemCompleted { - const PALLET: &'static str = "Utility"; - const EVENT: &'static str = "ItemCompleted"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A single item within a Batch of dispatches has completed with error."] - pub struct ItemFailed { - pub error: runtime_types::sp_runtime::DispatchError, - } - impl ::subxt::events::StaticEvent for ItemFailed { - const PALLET: &'static str = "Utility"; - const EVENT: &'static str = "ItemFailed"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A call was dispatched."] - pub struct DispatchedAs { - pub result: ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, - } - impl ::subxt::events::StaticEvent for DispatchedAs { - const PALLET: &'static str = "Utility"; - const EVENT: &'static str = "DispatchedAs"; - } - } - pub mod constants { - use super::runtime_types; - pub struct ConstantsApi; - impl ConstantsApi { - #[doc = " The limit on the number of batched calls."] - pub fn batched_calls_limit( - &self, - ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static( - "Utility", - "batched_calls_limit", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) - } - } - } - } - pub mod multisig { - use super::root_mod; - use super::runtime_types; - #[doc = "The `Error` enum of this pallet."] - pub type Error = runtime_types::pallet_multisig::pallet::Error; - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::pallet_multisig::pallet::Call; - pub mod calls { - use super::root_mod; - use super::runtime_types; - type DispatchError = runtime_types::sp_runtime::DispatchError; - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AsMultiThreshold1 { - pub other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, - pub call: - ::std::boxed::Box, - } - impl ::subxt::blocks::StaticExtrinsic for AsMultiThreshold1 { - const PALLET: &'static str = "Multisig"; - const CALL: &'static str = "as_multi_threshold_1"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AsMulti { - pub threshold: ::core::primitive::u16, - pub other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, - pub maybe_timepoint: ::core::option::Option< - runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, - >, - pub call: - ::std::boxed::Box, - pub max_weight: runtime_types::sp_weights::weight_v2::Weight, - } - impl ::subxt::blocks::StaticExtrinsic for AsMulti { - const PALLET: &'static str = "Multisig"; - const CALL: &'static str = "as_multi"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ApproveAsMulti { - pub threshold: ::core::primitive::u16, - pub other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, - pub maybe_timepoint: ::core::option::Option< - runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, - >, - pub call_hash: [::core::primitive::u8; 32usize], - pub max_weight: runtime_types::sp_weights::weight_v2::Weight, - } - impl ::subxt::blocks::StaticExtrinsic for ApproveAsMulti { - const PALLET: &'static str = "Multisig"; - const CALL: &'static str = "approve_as_multi"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CancelAsMulti { - pub threshold: ::core::primitive::u16, - pub other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, - pub timepoint: - runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, - pub call_hash: [::core::primitive::u8; 32usize], - } - impl ::subxt::blocks::StaticExtrinsic for CancelAsMulti { - const PALLET: &'static str = "Multisig"; - const CALL: &'static str = "cancel_as_multi"; - } - } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "See [`Pallet::as_multi_threshold_1`]."] - pub fn as_multi_threshold_1( - &self, - other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, - call: runtime_types::coretime_rococo_runtime::RuntimeCall, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Multisig", - "as_multi_threshold_1", - types::AsMultiThreshold1 { - other_signatories, - call: ::std::boxed::Box::new(call), - }, - [ - 254u8, 54u8, 88u8, 235u8, 170u8, 12u8, 95u8, 53u8, 93u8, 170u8, 39u8, - 224u8, 0u8, 128u8, 16u8, 91u8, 152u8, 70u8, 66u8, 52u8, 134u8, 110u8, - 178u8, 37u8, 53u8, 125u8, 162u8, 72u8, 102u8, 78u8, 73u8, 96u8, - ], - ) - } - #[doc = "See [`Pallet::as_multi`]."] - pub fn as_multi( - &self, - threshold: ::core::primitive::u16, - other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, - maybe_timepoint: ::core::option::Option< - runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, - >, - call: runtime_types::coretime_rococo_runtime::RuntimeCall, - max_weight: runtime_types::sp_weights::weight_v2::Weight, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Multisig", - "as_multi", - types::AsMulti { - threshold, - other_signatories, - maybe_timepoint, - call: ::std::boxed::Box::new(call), - max_weight, - }, - [ - 125u8, 11u8, 76u8, 234u8, 44u8, 41u8, 237u8, 218u8, 233u8, 225u8, - 254u8, 203u8, 234u8, 214u8, 181u8, 116u8, 14u8, 100u8, 187u8, 243u8, - 166u8, 26u8, 216u8, 0u8, 196u8, 134u8, 66u8, 121u8, 92u8, 100u8, 165u8, - 180u8, - ], - ) - } - #[doc = "See [`Pallet::approve_as_multi`]."] - pub fn approve_as_multi( - &self, - threshold: ::core::primitive::u16, - other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, - maybe_timepoint: ::core::option::Option< - runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, - >, - call_hash: [::core::primitive::u8; 32usize], - max_weight: runtime_types::sp_weights::weight_v2::Weight, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Multisig", - "approve_as_multi", - types::ApproveAsMulti { - threshold, - other_signatories, - maybe_timepoint, - call_hash, - max_weight, - }, - [ - 248u8, 46u8, 131u8, 35u8, 204u8, 12u8, 218u8, 150u8, 88u8, 131u8, 89u8, - 13u8, 95u8, 122u8, 87u8, 107u8, 136u8, 154u8, 92u8, 199u8, 108u8, 92u8, - 207u8, 171u8, 113u8, 8u8, 47u8, 248u8, 65u8, 26u8, 203u8, 135u8, - ], - ) - } - #[doc = "See [`Pallet::cancel_as_multi`]."] - pub fn cancel_as_multi( - &self, - threshold: ::core::primitive::u16, - other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, - timepoint: runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, - call_hash: [::core::primitive::u8; 32usize], - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Multisig", - "cancel_as_multi", - types::CancelAsMulti { threshold, other_signatories, timepoint, call_hash }, - [ - 212u8, 179u8, 123u8, 40u8, 209u8, 228u8, 181u8, 0u8, 109u8, 28u8, 27u8, - 48u8, 15u8, 47u8, 203u8, 54u8, 106u8, 114u8, 28u8, 118u8, 101u8, 201u8, - 95u8, 187u8, 46u8, 182u8, 4u8, 30u8, 227u8, 105u8, 14u8, 81u8, - ], - ) - } - } - } - #[doc = "The `Event` enum of this pallet"] - pub type Event = runtime_types::pallet_multisig::pallet::Event; - pub mod events { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A new multisig operation has begun."] - pub struct NewMultisig { - pub approving: ::subxt::utils::AccountId32, - pub multisig: ::subxt::utils::AccountId32, - pub call_hash: [::core::primitive::u8; 32usize], - } - impl ::subxt::events::StaticEvent for NewMultisig { - const PALLET: &'static str = "Multisig"; - const EVENT: &'static str = "NewMultisig"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A multisig operation has been approved by someone."] - pub struct MultisigApproval { - pub approving: ::subxt::utils::AccountId32, - pub timepoint: runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, - pub multisig: ::subxt::utils::AccountId32, - pub call_hash: [::core::primitive::u8; 32usize], - } - impl ::subxt::events::StaticEvent for MultisigApproval { - const PALLET: &'static str = "Multisig"; - const EVENT: &'static str = "MultisigApproval"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A multisig operation has been executed."] - pub struct MultisigExecuted { - pub approving: ::subxt::utils::AccountId32, - pub timepoint: runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, - pub multisig: ::subxt::utils::AccountId32, - pub call_hash: [::core::primitive::u8; 32usize], - pub result: ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, - } - impl ::subxt::events::StaticEvent for MultisigExecuted { - const PALLET: &'static str = "Multisig"; - const EVENT: &'static str = "MultisigExecuted"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A multisig operation has been cancelled."] - pub struct MultisigCancelled { - pub cancelling: ::subxt::utils::AccountId32, - pub timepoint: runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, - pub multisig: ::subxt::utils::AccountId32, - pub call_hash: [::core::primitive::u8; 32usize], - } - impl ::subxt::events::StaticEvent for MultisigCancelled { - const PALLET: &'static str = "Multisig"; - const EVENT: &'static str = "MultisigCancelled"; - } - } - pub mod storage { - use super::runtime_types; - pub struct StorageApi; - impl StorageApi { - #[doc = " The set of open multisig operations."] - pub fn multisigs_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_multisig::Multisig< - ::core::primitive::u32, - ::core::primitive::u128, - ::subxt::utils::AccountId32, - >, - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "Multisig", - "Multisigs", - vec![], - [ - 154u8, 109u8, 45u8, 18u8, 155u8, 151u8, 81u8, 28u8, 86u8, 127u8, 189u8, - 151u8, 49u8, 61u8, 12u8, 149u8, 84u8, 61u8, 110u8, 197u8, 200u8, 140u8, - 37u8, 100u8, 14u8, 162u8, 158u8, 161u8, 48u8, 117u8, 102u8, 61u8, - ], - ) - } - #[doc = " The set of open multisig operations."] - pub fn multisigs_iter1( - &self, - _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_multisig::Multisig< - ::core::primitive::u32, - ::core::primitive::u128, - ::subxt::utils::AccountId32, - >, - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "Multisig", - "Multisigs", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 154u8, 109u8, 45u8, 18u8, 155u8, 151u8, 81u8, 28u8, 86u8, 127u8, 189u8, - 151u8, 49u8, 61u8, 12u8, 149u8, 84u8, 61u8, 110u8, 197u8, 200u8, 140u8, - 37u8, 100u8, 14u8, 162u8, 158u8, 161u8, 48u8, 117u8, 102u8, 61u8, - ], - ) - } - #[doc = " The set of open multisig operations."] - pub fn multisigs( - &self, - _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, - _1: impl ::std::borrow::Borrow<[::core::primitive::u8; 32usize]>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_multisig::Multisig< - ::core::primitive::u32, - ::core::primitive::u128, - ::subxt::utils::AccountId32, - >, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "Multisig", - "Multisigs", - vec![ - ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), - ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), - ], - [ - 154u8, 109u8, 45u8, 18u8, 155u8, 151u8, 81u8, 28u8, 86u8, 127u8, 189u8, - 151u8, 49u8, 61u8, 12u8, 149u8, 84u8, 61u8, 110u8, 197u8, 200u8, 140u8, - 37u8, 100u8, 14u8, 162u8, 158u8, 161u8, 48u8, 117u8, 102u8, 61u8, - ], - ) - } - } - } - pub mod constants { - use super::runtime_types; - pub struct ConstantsApi; - impl ConstantsApi { - #[doc = " The base amount of currency needed to reserve for creating a multisig execution or to"] - #[doc = " store a dispatch call for later."] - #[doc = ""] - #[doc = " This is held for an additional storage item whose value size is"] - #[doc = " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is"] - #[doc = " `32 + sizeof(AccountId)` bytes."] - pub fn deposit_base(&self) -> ::subxt::constants::Address<::core::primitive::u128> { - ::subxt::constants::Address::new_static( - "Multisig", - "DepositBase", - [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, - 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, - ], - ) - } - #[doc = " The amount of currency needed per unit threshold when creating a multisig execution."] - #[doc = ""] - #[doc = " This is held for adding 32 bytes more into a pre-existing storage value."] - pub fn deposit_factor( - &self, - ) -> ::subxt::constants::Address<::core::primitive::u128> { - ::subxt::constants::Address::new_static( - "Multisig", - "DepositFactor", - [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, - 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, - ], - ) - } - #[doc = " The maximum amount of signatories allowed in the multisig."] - pub fn max_signatories( - &self, - ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static( - "Multisig", - "MaxSignatories", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) - } - } - } - } - pub mod broker { - use super::root_mod; - use super::runtime_types; - #[doc = "The `Error` enum of this pallet."] - pub type Error = runtime_types::pallet_broker::pallet::Error; - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::pallet_broker::pallet::Call; - pub mod calls { - use super::root_mod; - use super::runtime_types; - type DispatchError = runtime_types::sp_runtime::DispatchError; - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Configure { - pub config: runtime_types::pallet_broker::types::ConfigRecord< - ::core::primitive::u32, - ::core::primitive::u32, - >, - } - impl ::subxt::blocks::StaticExtrinsic for Configure { - const PALLET: &'static str = "Broker"; - const CALL: &'static str = "configure"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Reserve { - pub workload: runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_broker::types::ScheduleItem, - >, - } - impl ::subxt::blocks::StaticExtrinsic for Reserve { - const PALLET: &'static str = "Broker"; - const CALL: &'static str = "reserve"; - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Unreserve { - pub item_index: ::core::primitive::u32, - } - impl ::subxt::blocks::StaticExtrinsic for Unreserve { - const PALLET: &'static str = "Broker"; - const CALL: &'static str = "unreserve"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetLease { - pub task: ::core::primitive::u32, - pub until: ::core::primitive::u32, - } - impl ::subxt::blocks::StaticExtrinsic for SetLease { - const PALLET: &'static str = "Broker"; - const CALL: &'static str = "set_lease"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct StartSales { - pub initial_price: ::core::primitive::u128, - pub core_count: ::core::primitive::u16, - } - impl ::subxt::blocks::StaticExtrinsic for StartSales { - const PALLET: &'static str = "Broker"; - const CALL: &'static str = "start_sales"; - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Purchase { - pub price_limit: ::core::primitive::u128, - } - impl ::subxt::blocks::StaticExtrinsic for Purchase { - const PALLET: &'static str = "Broker"; - const CALL: &'static str = "purchase"; - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Renew { - pub core: ::core::primitive::u16, - } - impl ::subxt::blocks::StaticExtrinsic for Renew { - const PALLET: &'static str = "Broker"; - const CALL: &'static str = "renew"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Transfer { - pub region_id: runtime_types::pallet_broker::types::RegionId, - pub new_owner: ::subxt::utils::AccountId32, - } - impl ::subxt::blocks::StaticExtrinsic for Transfer { - const PALLET: &'static str = "Broker"; - const CALL: &'static str = "transfer"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Partition { - pub region_id: runtime_types::pallet_broker::types::RegionId, - pub pivot: ::core::primitive::u32, - } - impl ::subxt::blocks::StaticExtrinsic for Partition { - const PALLET: &'static str = "Broker"; - const CALL: &'static str = "partition"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Interlace { - pub region_id: runtime_types::pallet_broker::types::RegionId, - pub pivot: runtime_types::pallet_broker::core_mask::CoreMask, - } - impl ::subxt::blocks::StaticExtrinsic for Interlace { - const PALLET: &'static str = "Broker"; - const CALL: &'static str = "interlace"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Assign { - pub region_id: runtime_types::pallet_broker::types::RegionId, - pub task: ::core::primitive::u32, - pub finality: runtime_types::pallet_broker::types::Finality, - } - impl ::subxt::blocks::StaticExtrinsic for Assign { - const PALLET: &'static str = "Broker"; - const CALL: &'static str = "assign"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Pool { - pub region_id: runtime_types::pallet_broker::types::RegionId, - pub payee: ::subxt::utils::AccountId32, - pub finality: runtime_types::pallet_broker::types::Finality, - } - impl ::subxt::blocks::StaticExtrinsic for Pool { - const PALLET: &'static str = "Broker"; - const CALL: &'static str = "pool"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ClaimRevenue { - pub region_id: runtime_types::pallet_broker::types::RegionId, - pub max_timeslices: ::core::primitive::u32, - } - impl ::subxt::blocks::StaticExtrinsic for ClaimRevenue { - const PALLET: &'static str = "Broker"; - const CALL: &'static str = "claim_revenue"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct PurchaseCredit { - pub amount: ::core::primitive::u128, - pub beneficiary: ::subxt::utils::AccountId32, - } - impl ::subxt::blocks::StaticExtrinsic for PurchaseCredit { - const PALLET: &'static str = "Broker"; - const CALL: &'static str = "purchase_credit"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct DropRegion { - pub region_id: runtime_types::pallet_broker::types::RegionId, - } - impl ::subxt::blocks::StaticExtrinsic for DropRegion { - const PALLET: &'static str = "Broker"; - const CALL: &'static str = "drop_region"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct DropContribution { - pub region_id: runtime_types::pallet_broker::types::RegionId, - } - impl ::subxt::blocks::StaticExtrinsic for DropContribution { - const PALLET: &'static str = "Broker"; - const CALL: &'static str = "drop_contribution"; - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct DropHistory { - pub when: ::core::primitive::u32, - } - impl ::subxt::blocks::StaticExtrinsic for DropHistory { - const PALLET: &'static str = "Broker"; - const CALL: &'static str = "drop_history"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct DropRenewal { - pub core: ::core::primitive::u16, - pub when: ::core::primitive::u32, - } - impl ::subxt::blocks::StaticExtrinsic for DropRenewal { - const PALLET: &'static str = "Broker"; - const CALL: &'static str = "drop_renewal"; - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RequestCoreCount { - pub core_count: ::core::primitive::u16, - } - impl ::subxt::blocks::StaticExtrinsic for RequestCoreCount { - const PALLET: &'static str = "Broker"; - const CALL: &'static str = "request_core_count"; - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct NotifyCoreCount { - pub core_count: ::core::primitive::u16, - } - impl ::subxt::blocks::StaticExtrinsic for NotifyCoreCount { - const PALLET: &'static str = "Broker"; - const CALL: &'static str = "notify_core_count"; - } - } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "See [`Pallet::configure`]."] - pub fn configure( - &self, - config: runtime_types::pallet_broker::types::ConfigRecord< - ::core::primitive::u32, - ::core::primitive::u32, - >, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Broker", - "configure", - types::Configure { config }, - [ - 47u8, 41u8, 114u8, 129u8, 138u8, 255u8, 77u8, 164u8, 39u8, 215u8, - 231u8, 16u8, 128u8, 220u8, 80u8, 21u8, 199u8, 112u8, 5u8, 209u8, 6u8, - 196u8, 157u8, 38u8, 124u8, 127u8, 134u8, 246u8, 255u8, 191u8, 29u8, - 235u8, - ], - ) - } - #[doc = "See [`Pallet::reserve`]."] - pub fn reserve( - &self, - workload: runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_broker::types::ScheduleItem, - >, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Broker", - "reserve", - types::Reserve { workload }, - [ - 179u8, 93u8, 196u8, 189u8, 19u8, 203u8, 18u8, 244u8, 161u8, 158u8, - 222u8, 96u8, 140u8, 137u8, 255u8, 4u8, 126u8, 244u8, 236u8, 163u8, - 99u8, 232u8, 70u8, 173u8, 205u8, 167u8, 26u8, 55u8, 133u8, 249u8, 20u8, - 154u8, - ], - ) - } - #[doc = "See [`Pallet::unreserve`]."] - pub fn unreserve( - &self, - item_index: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Broker", - "unreserve", - types::Unreserve { item_index }, - [ - 159u8, 127u8, 127u8, 134u8, 252u8, 69u8, 255u8, 67u8, 14u8, 221u8, - 14u8, 56u8, 194u8, 46u8, 33u8, 150u8, 67u8, 124u8, 122u8, 138u8, 74u8, - 186u8, 185u8, 182u8, 42u8, 20u8, 42u8, 178u8, 245u8, 72u8, 116u8, 18u8, - ], - ) - } - #[doc = "See [`Pallet::set_lease`]."] - pub fn set_lease( - &self, - task: ::core::primitive::u32, - until: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Broker", - "set_lease", - types::SetLease { task, until }, - [ - 183u8, 72u8, 230u8, 156u8, 226u8, 167u8, 172u8, 191u8, 10u8, 221u8, - 224u8, 153u8, 217u8, 195u8, 165u8, 138u8, 154u8, 158u8, 140u8, 121u8, - 77u8, 139u8, 152u8, 7u8, 250u8, 8u8, 33u8, 183u8, 250u8, 150u8, 105u8, - 199u8, - ], - ) - } - #[doc = "See [`Pallet::start_sales`]."] - pub fn start_sales( - &self, - initial_price: ::core::primitive::u128, - core_count: ::core::primitive::u16, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Broker", - "start_sales", - types::StartSales { initial_price, core_count }, - [ - 78u8, 51u8, 30u8, 152u8, 207u8, 24u8, 207u8, 149u8, 236u8, 132u8, 62u8, - 228u8, 250u8, 140u8, 44u8, 240u8, 59u8, 114u8, 148u8, 198u8, 151u8, - 127u8, 221u8, 188u8, 250u8, 161u8, 104u8, 7u8, 225u8, 80u8, 170u8, - 207u8, - ], - ) - } - #[doc = "See [`Pallet::purchase`]."] - pub fn purchase( - &self, - price_limit: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Broker", - "purchase", - types::Purchase { price_limit }, - [ - 180u8, 34u8, 117u8, 232u8, 116u8, 211u8, 229u8, 201u8, 144u8, 72u8, - 36u8, 255u8, 68u8, 70u8, 150u8, 113u8, 230u8, 12u8, 152u8, 88u8, 137u8, - 220u8, 36u8, 6u8, 96u8, 236u8, 108u8, 186u8, 103u8, 92u8, 207u8, 176u8, - ], - ) - } - #[doc = "See [`Pallet::renew`]."] - pub fn renew( - &self, - core: ::core::primitive::u16, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Broker", - "renew", - types::Renew { core }, - [ - 89u8, 65u8, 189u8, 173u8, 166u8, 60u8, 207u8, 186u8, 18u8, 239u8, - 130u8, 6u8, 200u8, 56u8, 74u8, 221u8, 220u8, 88u8, 213u8, 202u8, 125u8, - 44u8, 75u8, 102u8, 192u8, 238u8, 170u8, 18u8, 186u8, 101u8, 181u8, - 105u8, - ], - ) - } - #[doc = "See [`Pallet::transfer`]."] - pub fn transfer( - &self, - region_id: runtime_types::pallet_broker::types::RegionId, - new_owner: ::subxt::utils::AccountId32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Broker", - "transfer", - types::Transfer { region_id, new_owner }, - [ - 80u8, 18u8, 186u8, 227u8, 213u8, 255u8, 214u8, 84u8, 250u8, 102u8, - 108u8, 104u8, 158u8, 4u8, 14u8, 94u8, 122u8, 6u8, 74u8, 182u8, 193u8, - 11u8, 191u8, 226u8, 2u8, 184u8, 104u8, 126u8, 66u8, 22u8, 125u8, 249u8, - ], - ) - } - #[doc = "See [`Pallet::partition`]."] - pub fn partition( - &self, - region_id: runtime_types::pallet_broker::types::RegionId, - pivot: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Broker", - "partition", - types::Partition { region_id, pivot }, - [ - 8u8, 89u8, 3u8, 231u8, 184u8, 148u8, 1u8, 32u8, 90u8, 170u8, 209u8, - 110u8, 243u8, 170u8, 140u8, 168u8, 241u8, 4u8, 223u8, 68u8, 70u8, 52u8, - 109u8, 128u8, 61u8, 167u8, 51u8, 133u8, 74u8, 141u8, 0u8, 36u8, - ], - ) - } - #[doc = "See [`Pallet::interlace`]."] - pub fn interlace( - &self, - region_id: runtime_types::pallet_broker::types::RegionId, - pivot: runtime_types::pallet_broker::core_mask::CoreMask, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Broker", - "interlace", - types::Interlace { region_id, pivot }, - [ - 7u8, 93u8, 42u8, 166u8, 194u8, 35u8, 255u8, 78u8, 40u8, 127u8, 224u8, - 63u8, 218u8, 150u8, 143u8, 233u8, 48u8, 33u8, 140u8, 72u8, 247u8, - 251u8, 179u8, 25u8, 68u8, 157u8, 27u8, 108u8, 183u8, 159u8, 33u8, - 123u8, - ], - ) - } - #[doc = "See [`Pallet::assign`]."] - pub fn assign( - &self, - region_id: runtime_types::pallet_broker::types::RegionId, - task: ::core::primitive::u32, - finality: runtime_types::pallet_broker::types::Finality, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Broker", - "assign", - types::Assign { region_id, task, finality }, - [ - 91u8, 132u8, 233u8, 43u8, 154u8, 152u8, 15u8, 44u8, 202u8, 230u8, - 122u8, 5u8, 3u8, 5u8, 116u8, 221u8, 207u8, 161u8, 160u8, 100u8, 151u8, - 98u8, 161u8, 218u8, 124u8, 92u8, 45u8, 0u8, 103u8, 188u8, 223u8, 53u8, - ], - ) - } - #[doc = "See [`Pallet::pool`]."] - pub fn pool( - &self, - region_id: runtime_types::pallet_broker::types::RegionId, - payee: ::subxt::utils::AccountId32, - finality: runtime_types::pallet_broker::types::Finality, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Broker", - "pool", - types::Pool { region_id, payee, finality }, - [ - 14u8, 189u8, 13u8, 148u8, 5u8, 149u8, 194u8, 194u8, 84u8, 123u8, 52u8, - 69u8, 38u8, 226u8, 26u8, 222u8, 247u8, 149u8, 148u8, 248u8, 145u8, - 205u8, 36u8, 139u8, 40u8, 126u8, 14u8, 54u8, 83u8, 248u8, 240u8, 139u8, - ], - ) - } - #[doc = "See [`Pallet::claim_revenue`]."] - pub fn claim_revenue( - &self, - region_id: runtime_types::pallet_broker::types::RegionId, - max_timeslices: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Broker", - "claim_revenue", - types::ClaimRevenue { region_id, max_timeslices }, - [ - 124u8, 55u8, 35u8, 170u8, 105u8, 123u8, 63u8, 62u8, 63u8, 149u8, 17u8, - 149u8, 185u8, 220u8, 151u8, 206u8, 14u8, 217u8, 84u8, 97u8, 81u8, - 250u8, 122u8, 124u8, 189u8, 144u8, 211u8, 126u8, 158u8, 80u8, 249u8, - 237u8, - ], - ) - } - #[doc = "See [`Pallet::purchase_credit`]."] - pub fn purchase_credit( - &self, - amount: ::core::primitive::u128, - beneficiary: ::subxt::utils::AccountId32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Broker", - "purchase_credit", - types::PurchaseCredit { amount, beneficiary }, - [ - 112u8, 183u8, 193u8, 102u8, 30u8, 216u8, 254u8, 165u8, 45u8, 117u8, - 26u8, 95u8, 232u8, 47u8, 237u8, 81u8, 13u8, 191u8, 179u8, 107u8, 183u8, - 182u8, 168u8, 106u8, 164u8, 89u8, 193u8, 116u8, 36u8, 181u8, 146u8, - 160u8, - ], - ) - } - #[doc = "See [`Pallet::drop_region`]."] - pub fn drop_region( - &self, - region_id: runtime_types::pallet_broker::types::RegionId, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Broker", - "drop_region", - types::DropRegion { region_id }, - [ - 192u8, 116u8, 124u8, 133u8, 187u8, 176u8, 149u8, 187u8, 230u8, 107u8, - 149u8, 185u8, 139u8, 18u8, 154u8, 186u8, 153u8, 56u8, 199u8, 218u8, - 117u8, 84u8, 113u8, 15u8, 233u8, 177u8, 33u8, 224u8, 182u8, 191u8, - 202u8, 234u8, - ], - ) - } - #[doc = "See [`Pallet::drop_contribution`]."] - pub fn drop_contribution( - &self, - region_id: runtime_types::pallet_broker::types::RegionId, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Broker", - "drop_contribution", - types::DropContribution { region_id }, - [ - 174u8, 22u8, 254u8, 7u8, 41u8, 231u8, 26u8, 174u8, 125u8, 110u8, 9u8, - 27u8, 116u8, 152u8, 51u8, 247u8, 167u8, 126u8, 92u8, 232u8, 122u8, - 189u8, 37u8, 166u8, 181u8, 75u8, 33u8, 188u8, 147u8, 110u8, 111u8, - 10u8, - ], - ) - } - #[doc = "See [`Pallet::drop_history`]."] - pub fn drop_history( - &self, - when: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Broker", - "drop_history", - types::DropHistory { when }, - [ - 57u8, 162u8, 131u8, 40u8, 152u8, 60u8, 57u8, 118u8, 165u8, 10u8, 170u8, - 202u8, 43u8, 5u8, 118u8, 213u8, 151u8, 89u8, 119u8, 247u8, 133u8, 78u8, - 13u8, 229u8, 159u8, 106u8, 47u8, 244u8, 140u8, 20u8, 80u8, 106u8, - ], - ) - } - #[doc = "See [`Pallet::drop_renewal`]."] - pub fn drop_renewal( - &self, - core: ::core::primitive::u16, - when: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Broker", - "drop_renewal", - types::DropRenewal { core, when }, - [ - 209u8, 97u8, 211u8, 220u8, 204u8, 144u8, 175u8, 124u8, 55u8, 157u8, - 186u8, 45u8, 197u8, 25u8, 107u8, 108u8, 45u8, 163u8, 95u8, 200u8, - 130u8, 163u8, 22u8, 229u8, 15u8, 249u8, 135u8, 102u8, 12u8, 179u8, - 77u8, 162u8, - ], - ) - } - #[doc = "See [`Pallet::request_core_count`]."] - pub fn request_core_count( - &self, - core_count: ::core::primitive::u16, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Broker", - "request_core_count", - types::RequestCoreCount { core_count }, - [ - 32u8, 197u8, 224u8, 109u8, 148u8, 220u8, 31u8, 58u8, 219u8, 175u8, - 220u8, 169u8, 217u8, 190u8, 128u8, 122u8, 142u8, 12u8, 52u8, 105u8, - 40u8, 236u8, 54u8, 27u8, 246u8, 8u8, 152u8, 213u8, 127u8, 25u8, 118u8, - 20u8, - ], - ) - } - #[doc = "See [`Pallet::notify_core_count`]."] - pub fn notify_core_count( - &self, - core_count: ::core::primitive::u16, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Broker", - "notify_core_count", - types::NotifyCoreCount { core_count }, - [ - 53u8, 44u8, 53u8, 90u8, 247u8, 189u8, 94u8, 149u8, 143u8, 96u8, 51u8, - 87u8, 68u8, 179u8, 121u8, 183u8, 82u8, 109u8, 247u8, 21u8, 164u8, - 180u8, 133u8, 228u8, 247u8, 220u8, 15u8, 48u8, 113u8, 246u8, 112u8, - 49u8, - ], - ) - } - } - } - #[doc = "The `Event` enum of this pallet"] - pub type Event = runtime_types::pallet_broker::pallet::Event; - pub mod events { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A Region of Bulk Coretime has been purchased."] - pub struct Purchased { - pub who: ::subxt::utils::AccountId32, - pub region_id: runtime_types::pallet_broker::types::RegionId, - pub price: ::core::primitive::u128, - pub duration: ::core::primitive::u32, - } - impl ::subxt::events::StaticEvent for Purchased { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "Purchased"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The workload of a core has become renewable."] - pub struct Renewable { - pub core: ::core::primitive::u16, - pub price: ::core::primitive::u128, - pub begin: ::core::primitive::u32, - pub workload: runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_broker::types::ScheduleItem, - >, - } - impl ::subxt::events::StaticEvent for Renewable { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "Renewable"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A workload has been renewed."] - pub struct Renewed { - pub who: ::subxt::utils::AccountId32, - pub price: ::core::primitive::u128, - pub old_core: ::core::primitive::u16, - pub core: ::core::primitive::u16, - pub begin: ::core::primitive::u32, - pub duration: ::core::primitive::u32, - pub workload: runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_broker::types::ScheduleItem, - >, - } - impl ::subxt::events::StaticEvent for Renewed { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "Renewed"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Ownership of a Region has been transferred."] - pub struct Transferred { - pub region_id: runtime_types::pallet_broker::types::RegionId, - pub duration: ::core::primitive::u32, - pub old_owner: ::subxt::utils::AccountId32, - pub owner: ::subxt::utils::AccountId32, - } - impl ::subxt::events::StaticEvent for Transferred { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "Transferred"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A Region has been split into two non-overlapping Regions."] - pub struct Partitioned { - pub old_region_id: runtime_types::pallet_broker::types::RegionId, - pub new_region_ids: ( - runtime_types::pallet_broker::types::RegionId, - runtime_types::pallet_broker::types::RegionId, - ), - } - impl ::subxt::events::StaticEvent for Partitioned { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "Partitioned"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A Region has been converted into two overlapping Regions each of lesser regularity."] - pub struct Interlaced { - pub old_region_id: runtime_types::pallet_broker::types::RegionId, - pub new_region_ids: ( - runtime_types::pallet_broker::types::RegionId, - runtime_types::pallet_broker::types::RegionId, - ), - } - impl ::subxt::events::StaticEvent for Interlaced { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "Interlaced"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A Region has been assigned to a particular task."] - pub struct Assigned { - pub region_id: runtime_types::pallet_broker::types::RegionId, - pub duration: ::core::primitive::u32, - pub task: ::core::primitive::u32, - } - impl ::subxt::events::StaticEvent for Assigned { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "Assigned"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A Region has been added to the Instantaneous Coretime Pool."] - pub struct Pooled { - pub region_id: runtime_types::pallet_broker::types::RegionId, - pub duration: ::core::primitive::u32, - } - impl ::subxt::events::StaticEvent for Pooled { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "Pooled"; - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A new number of cores has been requested."] - pub struct CoreCountRequested { - pub core_count: ::core::primitive::u16, - } - impl ::subxt::events::StaticEvent for CoreCountRequested { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "CoreCountRequested"; - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The number of cores available for scheduling has changed."] - pub struct CoreCountChanged { - pub core_count: ::core::primitive::u16, - } - impl ::subxt::events::StaticEvent for CoreCountChanged { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "CoreCountChanged"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "There is a new reservation for a workload."] - pub struct ReservationMade { - pub index: ::core::primitive::u32, - pub workload: runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_broker::types::ScheduleItem, - >, - } - impl ::subxt::events::StaticEvent for ReservationMade { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "ReservationMade"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A reservation for a workload has been cancelled."] - pub struct ReservationCancelled { - pub index: ::core::primitive::u32, - pub workload: runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_broker::types::ScheduleItem, - >, - } - impl ::subxt::events::StaticEvent for ReservationCancelled { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "ReservationCancelled"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A new sale has been initialized."] - pub struct SaleInitialized { - pub sale_start: ::core::primitive::u32, - pub leadin_length: ::core::primitive::u32, - pub start_price: ::core::primitive::u128, - pub regular_price: ::core::primitive::u128, - pub region_begin: ::core::primitive::u32, - pub region_end: ::core::primitive::u32, - pub ideal_cores_sold: ::core::primitive::u16, - pub cores_offered: ::core::primitive::u16, - } - impl ::subxt::events::StaticEvent for SaleInitialized { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "SaleInitialized"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A new lease has been created."] - pub struct Leased { - pub task: ::core::primitive::u32, - pub until: ::core::primitive::u32, - } - impl ::subxt::events::StaticEvent for Leased { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "Leased"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A lease is about to end."] - pub struct LeaseEnding { - pub task: ::core::primitive::u32, - pub when: ::core::primitive::u32, - } - impl ::subxt::events::StaticEvent for LeaseEnding { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "LeaseEnding"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The sale rotation has been started and a new sale is imminent."] - pub struct SalesStarted { - pub price: ::core::primitive::u128, - pub core_count: ::core::primitive::u16, - } - impl ::subxt::events::StaticEvent for SalesStarted { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "SalesStarted"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The act of claiming revenue has begun."] - pub struct RevenueClaimBegun { - pub region: runtime_types::pallet_broker::types::RegionId, - pub max_timeslices: ::core::primitive::u32, - } - impl ::subxt::events::StaticEvent for RevenueClaimBegun { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "RevenueClaimBegun"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A particular timeslice has a non-zero claim."] - pub struct RevenueClaimItem { - pub when: ::core::primitive::u32, - pub amount: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for RevenueClaimItem { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "RevenueClaimItem"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A revenue claim has (possibly only in part) been paid."] - pub struct RevenueClaimPaid { - pub who: ::subxt::utils::AccountId32, - pub amount: ::core::primitive::u128, - pub next: ::core::option::Option, - } - impl ::subxt::events::StaticEvent for RevenueClaimPaid { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "RevenueClaimPaid"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Some Instantaneous Coretime Pool credit has been purchased."] - pub struct CreditPurchased { - pub who: ::subxt::utils::AccountId32, - pub beneficiary: ::subxt::utils::AccountId32, - pub amount: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for CreditPurchased { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "CreditPurchased"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A Region has been dropped due to being out of date."] - pub struct RegionDropped { - pub region_id: runtime_types::pallet_broker::types::RegionId, - pub duration: ::core::primitive::u32, - } - impl ::subxt::events::StaticEvent for RegionDropped { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "RegionDropped"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Some historical Instantaneous Core Pool contribution record has been dropped."] - pub struct ContributionDropped { - pub region_id: runtime_types::pallet_broker::types::RegionId, - } - impl ::subxt::events::StaticEvent for ContributionDropped { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "ContributionDropped"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Some historical Instantaneous Core Pool payment record has been initialized."] - pub struct HistoryInitialized { - pub when: ::core::primitive::u32, - pub private_pool_size: ::core::primitive::u32, - pub system_pool_size: ::core::primitive::u32, - } - impl ::subxt::events::StaticEvent for HistoryInitialized { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "HistoryInitialized"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Some historical Instantaneous Core Pool payment record has been dropped."] - pub struct HistoryDropped { - pub when: ::core::primitive::u32, - pub revenue: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for HistoryDropped { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "HistoryDropped"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Some historical Instantaneous Core Pool payment record has been ignored because the"] - #[doc = "timeslice was already known. Governance may need to intervene."] - pub struct HistoryIgnored { - pub when: ::core::primitive::u32, - pub revenue: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for HistoryIgnored { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "HistoryIgnored"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Some historical Instantaneous Core Pool Revenue is ready for payout claims."] - pub struct ClaimsReady { - pub when: ::core::primitive::u32, - pub system_payout: ::core::primitive::u128, - pub private_payout: ::core::primitive::u128, - } - impl ::subxt::events::StaticEvent for ClaimsReady { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "ClaimsReady"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A Core has been assigned to one or more tasks and/or the Pool on the Relay-chain."] - pub struct CoreAssigned { - pub core: ::core::primitive::u16, - pub when: ::core::primitive::u32, - pub assignment: ::std::vec::Vec<( - runtime_types::pallet_broker::coretime_interface::CoreAssignment, - ::core::primitive::u16, - )>, - } - impl ::subxt::events::StaticEvent for CoreAssigned { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "CoreAssigned"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Some historical Instantaneous Core Pool payment record has been dropped."] - pub struct AllowedRenewalDropped { - pub when: ::core::primitive::u32, - pub core: ::core::primitive::u16, - } - impl ::subxt::events::StaticEvent for AllowedRenewalDropped { - const PALLET: &'static str = "Broker"; - const EVENT: &'static str = "AllowedRenewalDropped"; - } - } - pub mod storage { - use super::runtime_types; - pub struct StorageApi; - impl StorageApi { - #[doc = " The current configuration of this pallet."] - pub fn configuration( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_broker::types::ConfigRecord< - ::core::primitive::u32, - ::core::primitive::u32, - >, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "Broker", - "Configuration", - vec![], - [ - 235u8, 144u8, 177u8, 6u8, 2u8, 211u8, 0u8, 98u8, 225u8, 133u8, 98u8, - 140u8, 13u8, 117u8, 87u8, 151u8, 42u8, 52u8, 237u8, 170u8, 59u8, 108u8, - 169u8, 254u8, 87u8, 225u8, 64u8, 42u8, 226u8, 214u8, 219u8, 255u8, - ], - ) - } - #[doc = " The Polkadot Core reservations (generally tasked with the maintenance of System Chains)."] - pub fn reservations( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_broker::types::ScheduleItem, - >, - >, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "Broker", - "Reservations", - vec![], - [ - 181u8, 60u8, 95u8, 87u8, 83u8, 84u8, 101u8, 181u8, 171u8, 223u8, 229u8, - 6u8, 197u8, 87u8, 137u8, 19u8, 132u8, 252u8, 158u8, 51u8, 193u8, 13u8, - 205u8, 24u8, 133u8, 27u8, 53u8, 23u8, 97u8, 160u8, 39u8, 38u8, - ], - ) - } - #[doc = " The Polkadot Core legacy leases."] - pub fn leases( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_broker::types::LeaseRecordItem, - >, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "Broker", - "Leases", - vec![], - [ - 120u8, 85u8, 234u8, 191u8, 14u8, 161u8, 200u8, 43u8, 248u8, 220u8, - 220u8, 183u8, 62u8, 101u8, 32u8, 34u8, 2u8, 157u8, 140u8, 107u8, 114u8, - 168u8, 121u8, 161u8, 113u8, 223u8, 86u8, 183u8, 226u8, 233u8, 2u8, - 250u8, - ], - ) - } - #[doc = " The current status of miscellaneous subsystems of this pallet."] - pub fn status( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_broker::types::StatusRecord, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "Broker", - "Status", - vec![], - [ - 226u8, 93u8, 147u8, 26u8, 160u8, 235u8, 247u8, 150u8, 187u8, 108u8, - 138u8, 71u8, 227u8, 121u8, 51u8, 106u8, 10u8, 18u8, 58u8, 56u8, 128u8, - 186u8, 93u8, 230u8, 176u8, 248u8, 111u8, 140u8, 148u8, 39u8, 84u8, - 144u8, - ], - ) - } - #[doc = " The details of the current sale, including its properties and status."] - pub fn sale_info( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_broker::types::SaleInfoRecord< - ::core::primitive::u128, - ::core::primitive::u32, - >, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "Broker", - "SaleInfo", - vec![], - [ - 127u8, 255u8, 82u8, 247u8, 241u8, 27u8, 105u8, 176u8, 147u8, 196u8, - 190u8, 63u8, 235u8, 1u8, 165u8, 106u8, 91u8, 165u8, 58u8, 132u8, 100u8, - 94u8, 106u8, 224u8, 16u8, 33u8, 50u8, 120u8, 90u8, 163u8, 108u8, 165u8, - ], - ) - } - #[doc = " Records of allowed renewals."] - pub fn allowed_renewals_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_broker::types::AllowedRenewalRecord< - ::core::primitive::u128, - >, - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "Broker", - "AllowedRenewals", - vec![], - [ - 198u8, 33u8, 189u8, 111u8, 176u8, 156u8, 94u8, 163u8, 130u8, 227u8, - 84u8, 165u8, 51u8, 92u8, 103u8, 62u8, 254u8, 102u8, 161u8, 31u8, 228u8, - 88u8, 91u8, 62u8, 155u8, 23u8, 183u8, 246u8, 73u8, 90u8, 151u8, 209u8, - ], - ) - } - #[doc = " Records of allowed renewals."] - pub fn allowed_renewals( - &self, - _0: impl ::std::borrow::Borrow< - runtime_types::pallet_broker::types::AllowedRenewalId, - >, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_broker::types::AllowedRenewalRecord< - ::core::primitive::u128, - >, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "Broker", - "AllowedRenewals", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 198u8, 33u8, 189u8, 111u8, 176u8, 156u8, 94u8, 163u8, 130u8, 227u8, - 84u8, 165u8, 51u8, 92u8, 103u8, 62u8, 254u8, 102u8, 161u8, 31u8, 228u8, - 88u8, 91u8, 62u8, 155u8, 23u8, 183u8, 246u8, 73u8, 90u8, 151u8, 209u8, - ], - ) - } - #[doc = " The current (unassigned) Regions."] - pub fn regions_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_broker::types::RegionRecord< - ::subxt::utils::AccountId32, - ::core::primitive::u128, - >, - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "Broker", - "Regions", - vec![], - [ - 13u8, 138u8, 239u8, 59u8, 188u8, 5u8, 37u8, 111u8, 236u8, 244u8, 11u8, - 46u8, 70u8, 54u8, 140u8, 148u8, 153u8, 181u8, 57u8, 114u8, 27u8, 156u8, - 177u8, 222u8, 211u8, 79u8, 213u8, 252u8, 68u8, 12u8, 150u8, 70u8, - ], - ) - } - #[doc = " The current (unassigned) Regions."] - pub fn regions( - &self, - _0: impl ::std::borrow::Borrow, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_broker::types::RegionRecord< - ::subxt::utils::AccountId32, - ::core::primitive::u128, - >, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "Broker", - "Regions", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 13u8, 138u8, 239u8, 59u8, 188u8, 5u8, 37u8, 111u8, 236u8, 244u8, 11u8, - 46u8, 70u8, 54u8, 140u8, 148u8, 153u8, 181u8, 57u8, 114u8, 27u8, 156u8, - 177u8, 222u8, 211u8, 79u8, 213u8, 252u8, 68u8, 12u8, 150u8, 70u8, - ], - ) - } - #[doc = " The work we plan on having each core do at a particular time in the future."] - pub fn workplan_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_broker::types::ScheduleItem, - >, - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "Broker", - "Workplan", - vec![], - [ - 208u8, 23u8, 159u8, 5u8, 97u8, 15u8, 8u8, 3u8, 120u8, 151u8, 25u8, - 172u8, 99u8, 84u8, 164u8, 151u8, 35u8, 231u8, 194u8, 176u8, 74u8, - 132u8, 110u8, 238u8, 159u8, 197u8, 36u8, 64u8, 54u8, 69u8, 72u8, 163u8, - ], - ) - } - #[doc = " The work we plan on having each core do at a particular time in the future."] - pub fn workplan_iter1( - &self, - _0: impl ::std::borrow::Borrow<::core::primitive::u32>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_broker::types::ScheduleItem, - >, - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "Broker", - "Workplan", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 208u8, 23u8, 159u8, 5u8, 97u8, 15u8, 8u8, 3u8, 120u8, 151u8, 25u8, - 172u8, 99u8, 84u8, 164u8, 151u8, 35u8, 231u8, 194u8, 176u8, 74u8, - 132u8, 110u8, 238u8, 159u8, 197u8, 36u8, 64u8, 54u8, 69u8, 72u8, 163u8, - ], - ) - } - #[doc = " The work we plan on having each core do at a particular time in the future."] - pub fn workplan( - &self, - _0: impl ::std::borrow::Borrow<::core::primitive::u32>, - _1: impl ::std::borrow::Borrow<::core::primitive::u16>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_broker::types::ScheduleItem, - >, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "Broker", - "Workplan", - vec![ - ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), - ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), - ], - [ - 208u8, 23u8, 159u8, 5u8, 97u8, 15u8, 8u8, 3u8, 120u8, 151u8, 25u8, - 172u8, 99u8, 84u8, 164u8, 151u8, 35u8, 231u8, 194u8, 176u8, 74u8, - 132u8, 110u8, 238u8, 159u8, 197u8, 36u8, 64u8, 54u8, 69u8, 72u8, 163u8, - ], - ) - } - #[doc = " The current workload of each core. This gets updated with workplan as timeslices pass."] - pub fn workload_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_broker::types::ScheduleItem, - >, - (), - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "Broker", - "Workload", - vec![], - [ - 45u8, 113u8, 84u8, 213u8, 62u8, 242u8, 79u8, 85u8, 136u8, 4u8, 216u8, - 202u8, 30u8, 188u8, 60u8, 157u8, 245u8, 141u8, 248u8, 95u8, 247u8, - 119u8, 9u8, 235u8, 164u8, 169u8, 68u8, 99u8, 217u8, 131u8, 250u8, - 137u8, - ], - ) - } - #[doc = " The current workload of each core. This gets updated with workplan as timeslices pass."] - pub fn workload( - &self, - _0: impl ::std::borrow::Borrow<::core::primitive::u16>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_broker::types::ScheduleItem, - >, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "Broker", - "Workload", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 45u8, 113u8, 84u8, 213u8, 62u8, 242u8, 79u8, 85u8, 136u8, 4u8, 216u8, - 202u8, 30u8, 188u8, 60u8, 157u8, 245u8, 141u8, 248u8, 95u8, 247u8, - 119u8, 9u8, 235u8, 164u8, 169u8, 68u8, 99u8, 217u8, 131u8, 250u8, - 137u8, - ], - ) - } - #[doc = " Record of a single contribution to the Instantaneous Coretime Pool."] - pub fn insta_pool_contribution_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_broker::types::ContributionRecord< - ::subxt::utils::AccountId32, - >, - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "Broker", - "InstaPoolContribution", - vec![], - [ - 225u8, 37u8, 29u8, 149u8, 219u8, 135u8, 224u8, 209u8, 135u8, 209u8, - 121u8, 140u8, 72u8, 231u8, 213u8, 173u8, 125u8, 250u8, 14u8, 41u8, - 65u8, 242u8, 58u8, 65u8, 27u8, 164u8, 32u8, 174u8, 175u8, 253u8, 205u8, - 192u8, - ], - ) - } - #[doc = " Record of a single contribution to the Instantaneous Coretime Pool."] - pub fn insta_pool_contribution( - &self, - _0: impl ::std::borrow::Borrow, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_broker::types::ContributionRecord< - ::subxt::utils::AccountId32, - >, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "Broker", - "InstaPoolContribution", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 225u8, 37u8, 29u8, 149u8, 219u8, 135u8, 224u8, 209u8, 135u8, 209u8, - 121u8, 140u8, 72u8, 231u8, 213u8, 173u8, 125u8, 250u8, 14u8, 41u8, - 65u8, 242u8, 58u8, 65u8, 27u8, 164u8, 32u8, 174u8, 175u8, 253u8, 205u8, - 192u8, - ], - ) - } - #[doc = " Record of Coretime entering or leaving the Instantaneous Coretime Pool."] - pub fn insta_pool_io_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_broker::types::PoolIoRecord, - (), - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "Broker", - "InstaPoolIo", - vec![], - [ - 162u8, 151u8, 195u8, 176u8, 123u8, 253u8, 27u8, 213u8, 21u8, 145u8, - 189u8, 94u8, 166u8, 4u8, 46u8, 24u8, 68u8, 151u8, 16u8, 131u8, 45u8, - 201u8, 54u8, 188u8, 26u8, 164u8, 35u8, 251u8, 78u8, 56u8, 39u8, 141u8, - ], - ) - } - #[doc = " Record of Coretime entering or leaving the Instantaneous Coretime Pool."] - pub fn insta_pool_io( - &self, - _0: impl ::std::borrow::Borrow<::core::primitive::u32>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_broker::types::PoolIoRecord, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "Broker", - "InstaPoolIo", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 162u8, 151u8, 195u8, 176u8, 123u8, 253u8, 27u8, 213u8, 21u8, 145u8, - 189u8, 94u8, 166u8, 4u8, 46u8, 24u8, 68u8, 151u8, 16u8, 131u8, 45u8, - 201u8, 54u8, 188u8, 26u8, 164u8, 35u8, 251u8, 78u8, 56u8, 39u8, 141u8, - ], - ) - } - #[doc = " Total InstaPool rewards for each Timeslice and the number of core parts which contributed."] - pub fn insta_pool_history_iter( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_broker::types::InstaPoolHistoryRecord< - ::core::primitive::u128, - >, - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "Broker", - "InstaPoolHistory", - vec![], - [ - 126u8, 207u8, 245u8, 55u8, 169u8, 211u8, 138u8, 201u8, 39u8, 31u8, - 176u8, 228u8, 252u8, 247u8, 198u8, 195u8, 134u8, 17u8, 139u8, 200u8, - 58u8, 159u8, 232u8, 213u8, 232u8, 43u8, 30u8, 15u8, 151u8, 236u8, 76u8, - 85u8, - ], - ) - } - #[doc = " Total InstaPool rewards for each Timeslice and the number of core parts which contributed."] - pub fn insta_pool_history( - &self, - _0: impl ::std::borrow::Borrow<::core::primitive::u32>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_broker::types::InstaPoolHistoryRecord< - ::core::primitive::u128, - >, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "Broker", - "InstaPoolHistory", - vec![::subxt::storage::address::make_static_storage_map_key(_0.borrow())], - [ - 126u8, 207u8, 245u8, 55u8, 169u8, 211u8, 138u8, 201u8, 39u8, 31u8, - 176u8, 228u8, 252u8, 247u8, 198u8, 195u8, 134u8, 17u8, 139u8, 200u8, - 58u8, 159u8, 232u8, 213u8, 232u8, 43u8, 30u8, 15u8, 151u8, 236u8, 76u8, - 85u8, - ], - ) - } - #[doc = " Received core count change from the relay chain."] - pub fn core_count_inbox( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::u16, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "Broker", - "CoreCountInbox", - vec![], - [ - 78u8, 33u8, 242u8, 74u8, 188u8, 71u8, 31u8, 182u8, 130u8, 205u8, 58u8, - 165u8, 83u8, 161u8, 140u8, 26u8, 208u8, 233u8, 130u8, 27u8, 170u8, - 220u8, 249u8, 195u8, 200u8, 141u8, 28u8, 20u8, 68u8, 86u8, 23u8, 182u8, - ], - ) - } - } - } - pub mod constants { - use super::runtime_types; - pub struct ConstantsApi; - impl ConstantsApi { - #[doc = " Identifier from which the internal Pot is generated."] - pub fn pallet_id( - &self, - ) -> ::subxt::constants::Address { - ::subxt::constants::Address::new_static( - "Broker", - "PalletId", - [ - 56u8, 243u8, 53u8, 83u8, 154u8, 179u8, 170u8, 80u8, 133u8, 173u8, 61u8, - 161u8, 47u8, 225u8, 146u8, 21u8, 50u8, 229u8, 248u8, 27u8, 104u8, 58u8, - 129u8, 197u8, 102u8, 160u8, 168u8, 205u8, 154u8, 42u8, 217u8, 53u8, - ], - ) - } - #[doc = " Number of Relay-chain blocks per timeslice."] - pub fn timeslice_period( - &self, - ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static( - "Broker", - "TimeslicePeriod", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) - } - #[doc = " Maximum number of legacy leases."] - pub fn max_leased_cores( - &self, - ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static( - "Broker", - "MaxLeasedCores", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) - } - #[doc = " Maximum number of system cores."] - pub fn max_reserved_cores( - &self, - ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static( - "Broker", - "MaxReservedCores", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) - } - } - } - } - pub mod sudo { - use super::root_mod; - use super::runtime_types; - #[doc = "Error for the Sudo pallet."] - pub type Error = runtime_types::pallet_sudo::pallet::Error; - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::pallet_sudo::pallet::Call; - pub mod calls { - use super::root_mod; - use super::runtime_types; - type DispatchError = runtime_types::sp_runtime::DispatchError; - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Sudo { - pub call: - ::std::boxed::Box, - } - impl ::subxt::blocks::StaticExtrinsic for Sudo { - const PALLET: &'static str = "Sudo"; - const CALL: &'static str = "sudo"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SudoUncheckedWeight { - pub call: - ::std::boxed::Box, - pub weight: runtime_types::sp_weights::weight_v2::Weight, - } - impl ::subxt::blocks::StaticExtrinsic for SudoUncheckedWeight { - const PALLET: &'static str = "Sudo"; - const CALL: &'static str = "sudo_unchecked_weight"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetKey { - pub new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - } - impl ::subxt::blocks::StaticExtrinsic for SetKey { - const PALLET: &'static str = "Sudo"; - const CALL: &'static str = "set_key"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SudoAs { - pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - pub call: - ::std::boxed::Box, - } - impl ::subxt::blocks::StaticExtrinsic for SudoAs { - const PALLET: &'static str = "Sudo"; - const CALL: &'static str = "sudo_as"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RemoveKey; - impl ::subxt::blocks::StaticExtrinsic for RemoveKey { - const PALLET: &'static str = "Sudo"; - const CALL: &'static str = "remove_key"; - } - } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "See [`Pallet::sudo`]."] - pub fn sudo( - &self, - call: runtime_types::coretime_rococo_runtime::RuntimeCall, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Sudo", - "sudo", - types::Sudo { call: ::std::boxed::Box::new(call) }, - [ - 41u8, 23u8, 149u8, 206u8, 108u8, 62u8, 70u8, 168u8, 244u8, 16u8, 168u8, - 159u8, 122u8, 103u8, 32u8, 146u8, 180u8, 215u8, 7u8, 163u8, 102u8, - 243u8, 125u8, 59u8, 3u8, 110u8, 165u8, 65u8, 4u8, 53u8, 119u8, 111u8, - ], - ) - } - #[doc = "See [`Pallet::sudo_unchecked_weight`]."] - pub fn sudo_unchecked_weight( - &self, - call: runtime_types::coretime_rococo_runtime::RuntimeCall, - weight: runtime_types::sp_weights::weight_v2::Weight, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Sudo", - "sudo_unchecked_weight", - types::SudoUncheckedWeight { call: ::std::boxed::Box::new(call), weight }, - [ - 141u8, 64u8, 170u8, 4u8, 89u8, 149u8, 62u8, 1u8, 203u8, 56u8, 131u8, - 201u8, 8u8, 108u8, 213u8, 253u8, 101u8, 187u8, 26u8, 39u8, 246u8, - 185u8, 39u8, 3u8, 113u8, 211u8, 223u8, 198u8, 195u8, 81u8, 35u8, 90u8, - ], - ) - } - #[doc = "See [`Pallet::set_key`]."] - pub fn set_key( - &self, - new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Sudo", - "set_key", - types::SetKey { new }, - [ - 9u8, 73u8, 39u8, 205u8, 188u8, 127u8, 143u8, 54u8, 128u8, 94u8, 8u8, - 227u8, 197u8, 44u8, 70u8, 93u8, 228u8, 196u8, 64u8, 165u8, 226u8, - 158u8, 101u8, 192u8, 22u8, 193u8, 102u8, 84u8, 21u8, 35u8, 92u8, 198u8, - ], - ) - } - #[doc = "See [`Pallet::sudo_as`]."] - pub fn sudo_as( - &self, - who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - call: runtime_types::coretime_rococo_runtime::RuntimeCall, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Sudo", - "sudo_as", - types::SudoAs { who, call: ::std::boxed::Box::new(call) }, - [ - 202u8, 135u8, 76u8, 156u8, 213u8, 15u8, 106u8, 60u8, 139u8, 153u8, - 152u8, 67u8, 89u8, 46u8, 122u8, 149u8, 139u8, 226u8, 189u8, 19u8, - 248u8, 220u8, 26u8, 196u8, 246u8, 244u8, 124u8, 25u8, 169u8, 181u8, - 119u8, 96u8, - ], - ) - } - #[doc = "See [`Pallet::remove_key`]."] - pub fn remove_key(&self) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Sudo", - "remove_key", - types::RemoveKey {}, - [ - 133u8, 253u8, 54u8, 175u8, 202u8, 239u8, 5u8, 198u8, 180u8, 138u8, - 25u8, 28u8, 109u8, 40u8, 30u8, 56u8, 126u8, 100u8, 52u8, 205u8, 250u8, - 191u8, 61u8, 195u8, 172u8, 142u8, 184u8, 239u8, 247u8, 10u8, 211u8, - 79u8, - ], - ) - } - } - } - #[doc = "The `Event` enum of this pallet"] - pub type Event = runtime_types::pallet_sudo::pallet::Event; - pub mod events { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A sudo call just took place."] - pub struct Sudid { - pub sudo_result: - ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, - } - impl ::subxt::events::StaticEvent for Sudid { - const PALLET: &'static str = "Sudo"; - const EVENT: &'static str = "Sudid"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The sudo key has been updated."] - pub struct KeyChanged { - pub old: ::core::option::Option<::subxt::utils::AccountId32>, - pub new: ::subxt::utils::AccountId32, - } - impl ::subxt::events::StaticEvent for KeyChanged { - const PALLET: &'static str = "Sudo"; - const EVENT: &'static str = "KeyChanged"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The key was permanently removed."] - pub struct KeyRemoved; - impl ::subxt::events::StaticEvent for KeyRemoved { - const PALLET: &'static str = "Sudo"; - const EVENT: &'static str = "KeyRemoved"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "A [sudo_as](Pallet::sudo_as) call just took place."] - pub struct SudoAsDone { - pub sudo_result: - ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, - } - impl ::subxt::events::StaticEvent for SudoAsDone { - const PALLET: &'static str = "Sudo"; - const EVENT: &'static str = "SudoAsDone"; - } - } - pub mod storage { - use super::runtime_types; - pub struct StorageApi; - impl StorageApi { - #[doc = " The `AccountId` of the sudo key."] - pub fn key( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::subxt::utils::AccountId32, - ::subxt::storage::address::Yes, - (), - (), - > { - ::subxt::storage::address::Address::new_static( - "Sudo", - "Key", - vec![], - [ - 72u8, 14u8, 225u8, 162u8, 205u8, 247u8, 227u8, 105u8, 116u8, 57u8, 4u8, - 31u8, 84u8, 137u8, 227u8, 228u8, 133u8, 245u8, 206u8, 227u8, 117u8, - 36u8, 252u8, 151u8, 107u8, 15u8, 180u8, 4u8, 4u8, 152u8, 195u8, 144u8, - ], - ) - } - } - } - } - 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct BoundedBTreeSet<_0>(pub ::std::vec::Vec<_0>); - } - pub mod bounded_vec { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct BoundedVec<_0>(pub ::std::vec::Vec<_0>); - } - pub mod weak_bounded_vec { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct WeakBoundedVec<_0>(pub ::std::vec::Vec<_0>); - } - } - pub mod coretime_rococo_runtime { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum OriginCaller { - #[codec(index = 0)] - system( - runtime_types::frame_support::dispatch::RawOrigin<::subxt::utils::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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Runtime; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum RuntimeCall { - #[codec(index = 0)] - System(runtime_types::frame_system::pallet::Call), - #[codec(index = 1)] - ParachainSystem(runtime_types::cumulus_pallet_parachain_system::pallet::Call), - #[codec(index = 3)] - Timestamp(runtime_types::pallet_timestamp::pallet::Call), - #[codec(index = 4)] - 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 = 34)] - MessageQueue(runtime_types::pallet_message_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)] - Broker(runtime_types::pallet_broker::pallet::Call), - #[codec(index = 100)] - Sudo(runtime_types::pallet_sudo::pallet::Call), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum 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 = 34)] - MessageQueue(runtime_types::pallet_message_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)] - Broker(runtime_types::pallet_broker::pallet::Error), - #[codec(index = 100)] - Sudo(runtime_types::pallet_sudo::pallet::Error), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum 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 = 34)] - MessageQueue(runtime_types::pallet_message_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)] - Broker(runtime_types::pallet_broker::pallet::Event), - #[codec(index = 100)] - Sudo(runtime_types::pallet_sudo::pallet::Event), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum RuntimeHoldReason {} - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SessionKeys { - pub aura: runtime_types::sp_consensus_aura::sr25519::app_sr25519::Public, - } - } - pub mod cumulus_pallet_parachain_system { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub enum Call { - # [codec (index = 0)] # [doc = "See [`Pallet::set_validation_data`]."] set_validation_data { data : runtime_types :: cumulus_primitives_parachain_inherent :: ParachainInherentData , } , # [codec (index = 1)] # [doc = "See [`Pallet::sudo_send_upward_message`]."] sudo_send_upward_message { message : :: std :: vec :: Vec < :: core :: primitive :: u8 > , } , # [codec (index = 2)] # [doc = "See [`Pallet::authorize_upgrade`]."] authorize_upgrade { code_hash : :: subxt :: utils :: H256 , check_version : :: core :: primitive :: bool , } , # [codec (index = 3)] # [doc = "See [`Pallet::enact_authorized_upgrade`]."] enact_authorized_upgrade { code : :: std :: vec :: Vec < :: core :: primitive :: u8 > , } , } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The `Error` enum of this pallet."] - pub enum Error { - #[codec(index = 0)] - #[doc = "Attempt to upgrade validation function while existing upgrade pending."] - OverlappingUpgrades, - #[codec(index = 1)] - #[doc = "Polkadot currently prohibits this parachain from upgrading its validation function."] - ProhibitedByPolkadot, - #[codec(index = 2)] - #[doc = "The supplied validation function has compiled into a blob larger than Polkadot is"] - #[doc = "willing to run."] - TooBig, - #[codec(index = 3)] - #[doc = "The inherent which supplies the validation data did not run this block."] - ValidationDataNotAvailable, - #[codec(index = 4)] - #[doc = "The inherent which supplies the host configuration did not run this block."] - HostConfigurationNotAvailable, - #[codec(index = 5)] - #[doc = "No validation function upgrade is currently scheduled."] - NotScheduled, - #[codec(index = 6)] - #[doc = "No code upgrade has been authorized."] - NothingAuthorized, - #[codec(index = 7)] - #[doc = "The given code upgrade has not been authorized."] - Unauthorized, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The `Event` enum of this pallet"] - pub enum Event { - #[codec(index = 0)] - #[doc = "The validation function has been scheduled to apply."] - ValidationFunctionStored, - #[codec(index = 1)] - #[doc = "The validation function was applied as of the contained relay chain block number."] - ValidationFunctionApplied { relay_chain_block_num: ::core::primitive::u32 }, - #[codec(index = 2)] - #[doc = "The relay-chain aborted the upgrade process."] - ValidationFunctionDiscarded, - #[codec(index = 3)] - #[doc = "Some downward messages have been received and will be processed."] - DownwardMessagesReceived { count: ::core::primitive::u32 }, - #[codec(index = 4)] - #[doc = "Downward messages were processed using the given weight."] - DownwardMessagesProcessed { - weight_used: runtime_types::sp_weights::weight_v2::Weight, - dmq_head: ::subxt::utils::H256, - }, - #[codec(index = 5)] - #[doc = "An upward message was sent to the relay chain."] - UpwardMessageSent { - message_hash: ::core::option::Option<[::core::primitive::u8; 32usize]>, - }, - } - } - pub mod relay_state_snapshot { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RelayDispatchQueueRemainingCapacity { - pub remaining_count: ::core::primitive::u32, - pub remaining_size: ::core::primitive::u32, - } - } - pub mod unincluded_segment { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct HrmpChannelUpdate { - pub msg_count: ::core::primitive::u32, - pub total_bytes: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub enum Call {} - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The `Event` enum of this pallet"] - pub enum Event { - #[codec(index = 0)] - #[doc = "Downward message is invalid XCM."] - #[doc = "\\[ id \\]"] - InvalidFormat([::core::primitive::u8; 32usize]), - #[codec(index = 1)] - #[doc = "Downward message is unsupported version of XCM."] - #[doc = "\\[ id \\]"] - UnsupportedVersion([::core::primitive::u8; 32usize]), - #[codec(index = 2)] - #[doc = "Downward message executed with the given outcome."] - #[doc = "\\[ id, outcome \\]"] - ExecutedDownward( - [::core::primitive::u8; 32usize], - runtime_types::staging_xcm::v4::traits::Outcome, - ), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Origin { - #[codec(index = 0)] - 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub enum Call { - #[codec(index = 1)] - #[doc = "See [`Pallet::suspend_xcm_execution`]."] - suspend_xcm_execution, - #[codec(index = 2)] - #[doc = "See [`Pallet::resume_xcm_execution`]."] - resume_xcm_execution, - #[codec(index = 3)] - #[doc = "See [`Pallet::update_suspend_threshold`]."] - update_suspend_threshold { new: ::core::primitive::u32 }, - #[codec(index = 4)] - #[doc = "See [`Pallet::update_drop_threshold`]."] - update_drop_threshold { new: ::core::primitive::u32 }, - #[codec(index = 5)] - #[doc = "See [`Pallet::update_resume_threshold`]."] - update_resume_threshold { new: ::core::primitive::u32 }, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The `Error` enum of this pallet."] - pub enum Error { - #[codec(index = 0)] - #[doc = "Setting the queue config failed since one of its values was invalid."] - BadQueueConfig, - #[codec(index = 1)] - #[doc = "The execution is already suspended."] - AlreadySuspended, - #[codec(index = 2)] - #[doc = "The execution is already resumed."] - AlreadyResumed, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The `Event` enum of this pallet"] - pub enum Event { - #[codec(index = 0)] - #[doc = "An HRMP message was sent to a sibling parachain."] - XcmpMessageSent { message_hash: [::core::primitive::u8; 32usize] }, - } - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum OutboundState { - #[codec(index = 0)] - Ok, - #[codec(index = 1)] - Suspended, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - 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_core { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum AggregateMessageOrigin { - #[codec(index = 0)] - Here, - #[codec(index = 1)] - Parent, - #[codec(index = 2)] - Sibling(runtime_types::polkadot_parachain_primitives::primitives::Id), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct MessageQueueChain(pub ::subxt::utils::H256); - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct 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 frame_support { - use super::runtime_types; - pub mod dispatch { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum DispatchClass { - #[codec(index = 0)] - Normal, - #[codec(index = 1)] - Operational, - #[codec(index = 2)] - Mandatory, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct DispatchInfo { - pub weight: runtime_types::sp_weights::weight_v2::Weight, - pub class: runtime_types::frame_support::dispatch::DispatchClass, - pub pays_fee: runtime_types::frame_support::dispatch::Pays, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Pays { - #[codec(index = 0)] - Yes, - #[codec(index = 1)] - No, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct PerDispatchClass<_0> { - pub normal: _0, - pub operational: _0, - pub mandatory: _0, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum ProcessMessageError { - #[codec(index = 0)] - BadFormat, - #[codec(index = 1)] - Corrupt, - #[codec(index = 2)] - Unsupported, - #[codec(index = 3)] - Overweight(runtime_types::sp_weights::weight_v2::Weight), - #[codec(index = 4)] - Yield, - } - } - pub mod tokens { - use super::runtime_types; - pub mod misc { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum BalanceStatus { - #[codec(index = 0)] - Free, - #[codec(index = 1)] - Reserved, - } - } - } - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct PalletId(pub [::core::primitive::u8; 8usize]); - } - pub mod frame_system { - use super::runtime_types; - pub mod extensions { - use super::runtime_types; - pub mod check_genesis { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CheckGenesis; - } - pub mod check_mortality { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CheckMortality(pub runtime_types::sp_runtime::generic::era::Era); - } - pub mod check_non_zero_sender { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CheckNonZeroSender; - } - pub mod check_nonce { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CheckNonce(#[codec(compact)] pub ::core::primitive::u32); - } - pub mod check_spec_version { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CheckSpecVersion; - } - pub mod check_tx_version { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CheckTxVersion; - } - pub mod check_weight { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CheckWeight; - } - } - pub mod limits { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct BlockLength { - pub max: runtime_types::frame_support::dispatch::PerDispatchClass< - ::core::primitive::u32, - >, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct BlockWeights { - pub base_block: runtime_types::sp_weights::weight_v2::Weight, - pub max_block: runtime_types::sp_weights::weight_v2::Weight, - pub per_class: runtime_types::frame_support::dispatch::PerDispatchClass< - runtime_types::frame_system::limits::WeightsPerClass, - >, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct WeightsPerClass { - pub base_extrinsic: runtime_types::sp_weights::weight_v2::Weight, - pub max_extrinsic: - ::core::option::Option, - pub max_total: - ::core::option::Option, - pub reserved: - ::core::option::Option, - } - } - pub mod pallet { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub enum Call { - #[codec(index = 0)] - #[doc = "See [`Pallet::remark`]."] - remark { remark: ::std::vec::Vec<::core::primitive::u8> }, - #[codec(index = 1)] - #[doc = "See [`Pallet::set_heap_pages`]."] - set_heap_pages { pages: ::core::primitive::u64 }, - #[codec(index = 2)] - #[doc = "See [`Pallet::set_code`]."] - set_code { code: ::std::vec::Vec<::core::primitive::u8> }, - #[codec(index = 3)] - #[doc = "See [`Pallet::set_code_without_checks`]."] - set_code_without_checks { code: ::std::vec::Vec<::core::primitive::u8> }, - #[codec(index = 4)] - #[doc = "See [`Pallet::set_storage`]."] - set_storage { - items: ::std::vec::Vec<( - ::std::vec::Vec<::core::primitive::u8>, - ::std::vec::Vec<::core::primitive::u8>, - )>, - }, - #[codec(index = 5)] - #[doc = "See [`Pallet::kill_storage`]."] - kill_storage { keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>> }, - #[codec(index = 6)] - #[doc = "See [`Pallet::kill_prefix`]."] - kill_prefix { - prefix: ::std::vec::Vec<::core::primitive::u8>, - subkeys: ::core::primitive::u32, - }, - #[codec(index = 7)] - #[doc = "See [`Pallet::remark_with_event`]."] - remark_with_event { remark: ::std::vec::Vec<::core::primitive::u8> }, - #[codec(index = 9)] - #[doc = "See [`Pallet::authorize_upgrade`]."] - authorize_upgrade { code_hash: ::subxt::utils::H256 }, - #[codec(index = 10)] - #[doc = "See [`Pallet::authorize_upgrade_without_checks`]."] - authorize_upgrade_without_checks { code_hash: ::subxt::utils::H256 }, - #[codec(index = 11)] - #[doc = "See [`Pallet::apply_authorized_upgrade`]."] - apply_authorized_upgrade { code: ::std::vec::Vec<::core::primitive::u8> }, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Error for the System pallet"] - pub enum Error { - #[codec(index = 0)] - #[doc = "The name of specification does not match between the current runtime"] - #[doc = "and the new runtime."] - InvalidSpecName, - #[codec(index = 1)] - #[doc = "The specification version is not allowed to decrease between the current runtime"] - #[doc = "and the new runtime."] - SpecVersionNeedsToIncrease, - #[codec(index = 2)] - #[doc = "Failed to extract the runtime version from the new runtime."] - #[doc = ""] - #[doc = "Either calling `Core_version` or decoding `RuntimeVersion` failed."] - FailedToExtractRuntimeVersion, - #[codec(index = 3)] - #[doc = "Suicide called when the account has non-default composite data."] - NonDefaultComposite, - #[codec(index = 4)] - #[doc = "There is a non-zero reference count preventing the account from being purged."] - NonZeroRefCount, - #[codec(index = 5)] - #[doc = "The origin filter prevent the call to be dispatched."] - CallFiltered, - #[codec(index = 6)] - #[doc = "No upgrade authorized."] - NothingAuthorized, - #[codec(index = 7)] - #[doc = "The submitted code is not authorized."] - Unauthorized, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Event for the System pallet."] - pub enum Event { - #[codec(index = 0)] - #[doc = "An extrinsic completed successfully."] - ExtrinsicSuccess { - dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo, - }, - #[codec(index = 1)] - #[doc = "An extrinsic failed."] - ExtrinsicFailed { - dispatch_error: runtime_types::sp_runtime::DispatchError, - dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo, - }, - #[codec(index = 2)] - #[doc = "`:code` was updated."] - CodeUpdated, - #[codec(index = 3)] - #[doc = "A new account was created."] - NewAccount { account: ::subxt::utils::AccountId32 }, - #[codec(index = 4)] - #[doc = "An account was reaped."] - KilledAccount { account: ::subxt::utils::AccountId32 }, - #[codec(index = 5)] - #[doc = "On on-chain remark happened."] - Remarked { sender: ::subxt::utils::AccountId32, hash: ::subxt::utils::H256 }, - #[codec(index = 6)] - #[doc = "An upgrade was authorized."] - UpgradeAuthorized { - code_hash: ::subxt::utils::H256, - check_version: ::core::primitive::bool, - }, - } - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CodeUpgradeAuthorization { - pub code_hash: ::subxt::utils::H256, - pub check_version: ::core::primitive::bool, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct EventRecord<_0, _1> { - pub phase: runtime_types::frame_system::Phase, - pub event: _0, - pub topics: ::std::vec::Vec<_1>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct LastRuntimeUpgradeInfo { - #[codec(compact)] - pub spec_version: ::core::primitive::u32, - pub spec_name: ::std::string::String, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Phase { - #[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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub enum Call { - #[codec(index = 0)] - #[doc = "See [`Pallet::transfer_allow_death`]."] - transfer_allow_death { - dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - #[codec(compact)] - value: ::core::primitive::u128, - }, - #[codec(index = 2)] - #[doc = "See [`Pallet::force_transfer`]."] - force_transfer { - source: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - #[codec(compact)] - value: ::core::primitive::u128, - }, - #[codec(index = 3)] - #[doc = "See [`Pallet::transfer_keep_alive`]."] - transfer_keep_alive { - dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - #[codec(compact)] - value: ::core::primitive::u128, - }, - #[codec(index = 4)] - #[doc = "See [`Pallet::transfer_all`]."] - transfer_all { - dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - keep_alive: ::core::primitive::bool, - }, - #[codec(index = 5)] - #[doc = "See [`Pallet::force_unreserve`]."] - force_unreserve { - who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - amount: ::core::primitive::u128, - }, - #[codec(index = 6)] - #[doc = "See [`Pallet::upgrade_accounts`]."] - upgrade_accounts { who: ::std::vec::Vec<::subxt::utils::AccountId32> }, - #[codec(index = 8)] - #[doc = "See [`Pallet::force_set_balance`]."] - force_set_balance { - who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - #[codec(compact)] - new_free: ::core::primitive::u128, - }, - #[codec(index = 9)] - #[doc = "See [`Pallet::force_adjust_total_issuance`]."] - force_adjust_total_issuance { - direction: runtime_types::pallet_balances::types::AdjustmentDirection, - #[codec(compact)] - delta: ::core::primitive::u128, - }, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The `Error` enum of this pallet."] - pub enum Error { - #[codec(index = 0)] - #[doc = "Vesting balance too high to send value."] - VestingBalance, - #[codec(index = 1)] - #[doc = "Account liquidity restrictions prevent withdrawal."] - LiquidityRestrictions, - #[codec(index = 2)] - #[doc = "Balance too low to send value."] - InsufficientBalance, - #[codec(index = 3)] - #[doc = "Value too low to create account due to existential deposit."] - ExistentialDeposit, - #[codec(index = 4)] - #[doc = "Transfer/payment would kill account."] - Expendability, - #[codec(index = 5)] - #[doc = "A vesting schedule already exists for this account."] - ExistingVestingSchedule, - #[codec(index = 6)] - #[doc = "Beneficiary account must pre-exist."] - DeadAccount, - #[codec(index = 7)] - #[doc = "Number of named reserves exceed `MaxReserves`."] - TooManyReserves, - #[codec(index = 8)] - #[doc = "Number of holds exceed `VariantCountOf`."] - TooManyHolds, - #[codec(index = 9)] - #[doc = "Number of freezes exceed `MaxFreezes`."] - TooManyFreezes, - #[codec(index = 10)] - #[doc = "The issuance cannot be modified since it is already deactivated."] - IssuanceDeactivated, - #[codec(index = 11)] - #[doc = "The delta cannot be zero."] - DeltaZero, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The `Event` enum of this pallet"] - pub enum Event { - #[codec(index = 0)] - #[doc = "An account was created with some free balance."] - Endowed { - account: ::subxt::utils::AccountId32, - free_balance: ::core::primitive::u128, - }, - #[codec(index = 1)] - #[doc = "An account was removed whose balance was non-zero but below ExistentialDeposit,"] - #[doc = "resulting in an outright loss."] - DustLost { - account: ::subxt::utils::AccountId32, - amount: ::core::primitive::u128, - }, - #[codec(index = 2)] - #[doc = "Transfer succeeded."] - Transfer { - from: ::subxt::utils::AccountId32, - to: ::subxt::utils::AccountId32, - amount: ::core::primitive::u128, - }, - #[codec(index = 3)] - #[doc = "A balance was set by root."] - BalanceSet { who: ::subxt::utils::AccountId32, free: ::core::primitive::u128 }, - #[codec(index = 4)] - #[doc = "Some balance was reserved (moved from free to reserved)."] - Reserved { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, - #[codec(index = 5)] - #[doc = "Some balance was unreserved (moved from reserved to free)."] - Unreserved { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, - #[codec(index = 6)] - #[doc = "Some balance was moved from the reserve of the first account to the second account."] - #[doc = "Final argument indicates the destination balance type."] - ReserveRepatriated { - from: ::subxt::utils::AccountId32, - to: ::subxt::utils::AccountId32, - amount: ::core::primitive::u128, - destination_status: - runtime_types::frame_support::traits::tokens::misc::BalanceStatus, - }, - #[codec(index = 7)] - #[doc = "Some amount was deposited (e.g. for transaction fees)."] - Deposit { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, - #[codec(index = 8)] - #[doc = "Some amount was withdrawn from the account (e.g. for transaction fees)."] - Withdraw { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, - #[codec(index = 9)] - #[doc = "Some amount was removed from the account (e.g. for misbehavior)."] - Slashed { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, - #[codec(index = 10)] - #[doc = "Some amount was minted into an account."] - Minted { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, - #[codec(index = 11)] - #[doc = "Some amount was burned from an account."] - Burned { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, - #[codec(index = 12)] - #[doc = "Some amount was suspended from an account (it can be restored later)."] - Suspended { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, - #[codec(index = 13)] - #[doc = "Some amount was restored into an account."] - Restored { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, - #[codec(index = 14)] - #[doc = "An account was upgraded."] - Upgraded { who: ::subxt::utils::AccountId32 }, - #[codec(index = 15)] - #[doc = "Total issuance was increased by `amount`, creating a credit to be balanced."] - Issued { amount: ::core::primitive::u128 }, - #[codec(index = 16)] - #[doc = "Total issuance was decreased by `amount`, creating a debt to be balanced."] - Rescinded { amount: ::core::primitive::u128 }, - #[codec(index = 17)] - #[doc = "Some balance was locked."] - Locked { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, - #[codec(index = 18)] - #[doc = "Some balance was unlocked."] - Unlocked { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, - #[codec(index = 19)] - #[doc = "Some balance was frozen."] - Frozen { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, - #[codec(index = 20)] - #[doc = "Some balance was thawed."] - Thawed { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128 }, - #[codec(index = 21)] - #[doc = "The `TotalIssuance` was forcefully changed."] - TotalIssuanceForced { - old: ::core::primitive::u128, - new: ::core::primitive::u128, - }, - } - } - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AccountData<_0> { - pub free: _0, - pub reserved: _0, - pub frozen: _0, - pub flags: runtime_types::pallet_balances::types::ExtraFlags, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum AdjustmentDirection { - #[codec(index = 0)] - Increase, - #[codec(index = 1)] - Decrease, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct BalanceLock<_0> { - pub id: [::core::primitive::u8; 8usize], - pub amount: _0, - pub reasons: runtime_types::pallet_balances::types::Reasons, - } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ExtraFlags(pub ::core::primitive::u128); - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct IdAmount<_0, _1> { - pub id: _0, - pub amount: _1, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Reasons { - #[codec(index = 0)] - Fee, - #[codec(index = 1)] - Misc, - #[codec(index = 2)] - All, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ReserveData<_0, _1> { - pub id: _0, - pub amount: _1, - } - } - } - pub mod pallet_broker { - use super::runtime_types; - pub mod core_mask { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CoreMask(pub [::core::primitive::u8; 10usize]); - } - pub mod coretime_interface { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum CoreAssignment { - #[codec(index = 0)] - Idle, - #[codec(index = 1)] - Pool, - #[codec(index = 2)] - Task(::core::primitive::u32), - } - } - pub mod pallet { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub enum Call { - #[codec(index = 0)] - #[doc = "See [`Pallet::configure`]."] - configure { - config: runtime_types::pallet_broker::types::ConfigRecord< - ::core::primitive::u32, - ::core::primitive::u32, - >, - }, - #[codec(index = 1)] - #[doc = "See [`Pallet::reserve`]."] - reserve { - workload: runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_broker::types::ScheduleItem, - >, - }, - #[codec(index = 2)] - #[doc = "See [`Pallet::unreserve`]."] - unreserve { item_index: ::core::primitive::u32 }, - #[codec(index = 3)] - #[doc = "See [`Pallet::set_lease`]."] - set_lease { task: ::core::primitive::u32, until: ::core::primitive::u32 }, - #[codec(index = 4)] - #[doc = "See [`Pallet::start_sales`]."] - start_sales { - initial_price: ::core::primitive::u128, - core_count: ::core::primitive::u16, - }, - #[codec(index = 5)] - #[doc = "See [`Pallet::purchase`]."] - purchase { price_limit: ::core::primitive::u128 }, - #[codec(index = 6)] - #[doc = "See [`Pallet::renew`]."] - renew { core: ::core::primitive::u16 }, - #[codec(index = 7)] - #[doc = "See [`Pallet::transfer`]."] - transfer { - region_id: runtime_types::pallet_broker::types::RegionId, - new_owner: ::subxt::utils::AccountId32, - }, - #[codec(index = 8)] - #[doc = "See [`Pallet::partition`]."] - partition { - region_id: runtime_types::pallet_broker::types::RegionId, - pivot: ::core::primitive::u32, - }, - #[codec(index = 9)] - #[doc = "See [`Pallet::interlace`]."] - interlace { - region_id: runtime_types::pallet_broker::types::RegionId, - pivot: runtime_types::pallet_broker::core_mask::CoreMask, - }, - #[codec(index = 10)] - #[doc = "See [`Pallet::assign`]."] - assign { - region_id: runtime_types::pallet_broker::types::RegionId, - task: ::core::primitive::u32, - finality: runtime_types::pallet_broker::types::Finality, - }, - #[codec(index = 11)] - #[doc = "See [`Pallet::pool`]."] - pool { - region_id: runtime_types::pallet_broker::types::RegionId, - payee: ::subxt::utils::AccountId32, - finality: runtime_types::pallet_broker::types::Finality, - }, - #[codec(index = 12)] - #[doc = "See [`Pallet::claim_revenue`]."] - claim_revenue { - region_id: runtime_types::pallet_broker::types::RegionId, - max_timeslices: ::core::primitive::u32, - }, - #[codec(index = 13)] - #[doc = "See [`Pallet::purchase_credit`]."] - purchase_credit { - amount: ::core::primitive::u128, - beneficiary: ::subxt::utils::AccountId32, - }, - #[codec(index = 14)] - #[doc = "See [`Pallet::drop_region`]."] - drop_region { region_id: runtime_types::pallet_broker::types::RegionId }, - #[codec(index = 15)] - #[doc = "See [`Pallet::drop_contribution`]."] - drop_contribution { region_id: runtime_types::pallet_broker::types::RegionId }, - #[codec(index = 16)] - #[doc = "See [`Pallet::drop_history`]."] - drop_history { when: ::core::primitive::u32 }, - #[codec(index = 17)] - #[doc = "See [`Pallet::drop_renewal`]."] - drop_renewal { core: ::core::primitive::u16, when: ::core::primitive::u32 }, - #[codec(index = 18)] - #[doc = "See [`Pallet::request_core_count`]."] - request_core_count { core_count: ::core::primitive::u16 }, - #[codec(index = 19)] - #[doc = "See [`Pallet::notify_core_count`]."] - notify_core_count { core_count: ::core::primitive::u16 }, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The `Error` enum of this pallet."] - pub enum Error { - #[codec(index = 0)] - #[doc = "The given region identity is not known."] - UnknownRegion, - #[codec(index = 1)] - #[doc = "The owner of the region is not the origin."] - NotOwner, - #[codec(index = 2)] - #[doc = "The pivot point of the partition at or after the end of the region."] - PivotTooLate, - #[codec(index = 3)] - #[doc = "The pivot point of the partition at the beginning of the region."] - PivotTooEarly, - #[codec(index = 4)] - #[doc = "The pivot mask for the interlacing is not contained within the region's interlace mask."] - ExteriorPivot, - #[codec(index = 5)] - #[doc = "The pivot mask for the interlacing is void (and therefore unschedulable)."] - VoidPivot, - #[codec(index = 6)] - #[doc = "The pivot mask for the interlacing is complete (and therefore not a strict subset)."] - CompletePivot, - #[codec(index = 7)] - #[doc = "The workplan of the pallet's state is invalid. This indicates a state corruption."] - CorruptWorkplan, - #[codec(index = 8)] - #[doc = "There is no sale happening currently."] - NoSales, - #[codec(index = 9)] - #[doc = "The price limit is exceeded."] - Overpriced, - #[codec(index = 10)] - #[doc = "There are no cores available."] - Unavailable, - #[codec(index = 11)] - #[doc = "The sale limit has been reached."] - SoldOut, - #[codec(index = 12)] - #[doc = "The renewal operation is not valid at the current time (it may become valid in the next"] - #[doc = "sale)."] - WrongTime, - #[codec(index = 13)] - #[doc = "Invalid attempt to renew."] - NotAllowed, - #[codec(index = 14)] - #[doc = "This pallet has not yet been initialized."] - Uninitialized, - #[codec(index = 15)] - #[doc = "The purchase cannot happen yet as the sale period is yet to begin."] - TooEarly, - #[codec(index = 16)] - #[doc = "There is no work to be done."] - NothingToDo, - #[codec(index = 17)] - #[doc = "The maximum amount of reservations has already been reached."] - TooManyReservations, - #[codec(index = 18)] - #[doc = "The maximum amount of leases has already been reached."] - TooManyLeases, - #[codec(index = 19)] - #[doc = "The revenue for the Instantaneous Core Sales of this period is not (yet) known and thus"] - #[doc = "this operation cannot proceed."] - UnknownRevenue, - #[codec(index = 20)] - #[doc = "The identified contribution to the Instantaneous Core Pool is unknown."] - UnknownContribution, - #[codec(index = 21)] - #[doc = "The workload assigned for renewal is incomplete. This is unexpected and indicates a"] - #[doc = "logic error."] - IncompleteAssignment, - #[codec(index = 22)] - #[doc = "An item cannot be dropped because it is still valid."] - StillValid, - #[codec(index = 23)] - #[doc = "The history item does not exist."] - NoHistory, - #[codec(index = 24)] - #[doc = "No reservation of the given index exists."] - UnknownReservation, - #[codec(index = 25)] - #[doc = "The renewal record cannot be found."] - UnknownRenewal, - #[codec(index = 26)] - #[doc = "The lease expiry time has already passed."] - AlreadyExpired, - #[codec(index = 27)] - #[doc = "The configuration could not be applied because it is invalid."] - InvalidConfig, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The `Event` enum of this pallet"] - pub enum Event { - #[codec(index = 0)] - #[doc = "A Region of Bulk Coretime has been purchased."] - Purchased { - who: ::subxt::utils::AccountId32, - region_id: runtime_types::pallet_broker::types::RegionId, - price: ::core::primitive::u128, - duration: ::core::primitive::u32, - }, - #[codec(index = 1)] - #[doc = "The workload of a core has become renewable."] - Renewable { - core: ::core::primitive::u16, - price: ::core::primitive::u128, - begin: ::core::primitive::u32, - workload: runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_broker::types::ScheduleItem, - >, - }, - #[codec(index = 2)] - #[doc = "A workload has been renewed."] - Renewed { - who: ::subxt::utils::AccountId32, - price: ::core::primitive::u128, - old_core: ::core::primitive::u16, - core: ::core::primitive::u16, - begin: ::core::primitive::u32, - duration: ::core::primitive::u32, - workload: runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_broker::types::ScheduleItem, - >, - }, - #[codec(index = 3)] - #[doc = "Ownership of a Region has been transferred."] - Transferred { - region_id: runtime_types::pallet_broker::types::RegionId, - duration: ::core::primitive::u32, - old_owner: ::subxt::utils::AccountId32, - owner: ::subxt::utils::AccountId32, - }, - #[codec(index = 4)] - #[doc = "A Region has been split into two non-overlapping Regions."] - Partitioned { - old_region_id: runtime_types::pallet_broker::types::RegionId, - new_region_ids: ( - runtime_types::pallet_broker::types::RegionId, - runtime_types::pallet_broker::types::RegionId, - ), - }, - #[codec(index = 5)] - #[doc = "A Region has been converted into two overlapping Regions each of lesser regularity."] - Interlaced { - old_region_id: runtime_types::pallet_broker::types::RegionId, - new_region_ids: ( - runtime_types::pallet_broker::types::RegionId, - runtime_types::pallet_broker::types::RegionId, - ), - }, - #[codec(index = 6)] - #[doc = "A Region has been assigned to a particular task."] - Assigned { - region_id: runtime_types::pallet_broker::types::RegionId, - duration: ::core::primitive::u32, - task: ::core::primitive::u32, - }, - #[codec(index = 7)] - #[doc = "A Region has been added to the Instantaneous Coretime Pool."] - Pooled { - region_id: runtime_types::pallet_broker::types::RegionId, - duration: ::core::primitive::u32, - }, - #[codec(index = 8)] - #[doc = "A new number of cores has been requested."] - CoreCountRequested { core_count: ::core::primitive::u16 }, - #[codec(index = 9)] - #[doc = "The number of cores available for scheduling has changed."] - CoreCountChanged { core_count: ::core::primitive::u16 }, - #[codec(index = 10)] - #[doc = "There is a new reservation for a workload."] - ReservationMade { - index: ::core::primitive::u32, - workload: runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_broker::types::ScheduleItem, - >, - }, - #[codec(index = 11)] - #[doc = "A reservation for a workload has been cancelled."] - ReservationCancelled { - index: ::core::primitive::u32, - workload: runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_broker::types::ScheduleItem, - >, - }, - #[codec(index = 12)] - #[doc = "A new sale has been initialized."] - SaleInitialized { - sale_start: ::core::primitive::u32, - leadin_length: ::core::primitive::u32, - start_price: ::core::primitive::u128, - regular_price: ::core::primitive::u128, - region_begin: ::core::primitive::u32, - region_end: ::core::primitive::u32, - ideal_cores_sold: ::core::primitive::u16, - cores_offered: ::core::primitive::u16, - }, - #[codec(index = 13)] - #[doc = "A new lease has been created."] - Leased { task: ::core::primitive::u32, until: ::core::primitive::u32 }, - #[codec(index = 14)] - #[doc = "A lease is about to end."] - LeaseEnding { task: ::core::primitive::u32, when: ::core::primitive::u32 }, - #[codec(index = 15)] - #[doc = "The sale rotation has been started and a new sale is imminent."] - SalesStarted { - price: ::core::primitive::u128, - core_count: ::core::primitive::u16, - }, - #[codec(index = 16)] - #[doc = "The act of claiming revenue has begun."] - RevenueClaimBegun { - region: runtime_types::pallet_broker::types::RegionId, - max_timeslices: ::core::primitive::u32, - }, - #[codec(index = 17)] - #[doc = "A particular timeslice has a non-zero claim."] - RevenueClaimItem { - when: ::core::primitive::u32, - amount: ::core::primitive::u128, - }, - #[codec(index = 18)] - #[doc = "A revenue claim has (possibly only in part) been paid."] - RevenueClaimPaid { - who: ::subxt::utils::AccountId32, - amount: ::core::primitive::u128, - next: ::core::option::Option, - }, - #[codec(index = 19)] - #[doc = "Some Instantaneous Coretime Pool credit has been purchased."] - CreditPurchased { - who: ::subxt::utils::AccountId32, - beneficiary: ::subxt::utils::AccountId32, - amount: ::core::primitive::u128, - }, - #[codec(index = 20)] - #[doc = "A Region has been dropped due to being out of date."] - RegionDropped { - region_id: runtime_types::pallet_broker::types::RegionId, - duration: ::core::primitive::u32, - }, - #[codec(index = 21)] - #[doc = "Some historical Instantaneous Core Pool contribution record has been dropped."] - ContributionDropped { region_id: runtime_types::pallet_broker::types::RegionId }, - #[codec(index = 22)] - #[doc = "Some historical Instantaneous Core Pool payment record has been initialized."] - HistoryInitialized { - when: ::core::primitive::u32, - private_pool_size: ::core::primitive::u32, - system_pool_size: ::core::primitive::u32, - }, - #[codec(index = 23)] - #[doc = "Some historical Instantaneous Core Pool payment record has been dropped."] - HistoryDropped { - when: ::core::primitive::u32, - revenue: ::core::primitive::u128, - }, - #[codec(index = 24)] - #[doc = "Some historical Instantaneous Core Pool payment record has been ignored because the"] - #[doc = "timeslice was already known. Governance may need to intervene."] - HistoryIgnored { - when: ::core::primitive::u32, - revenue: ::core::primitive::u128, - }, - #[codec(index = 25)] - #[doc = "Some historical Instantaneous Core Pool Revenue is ready for payout claims."] - ClaimsReady { - when: ::core::primitive::u32, - system_payout: ::core::primitive::u128, - private_payout: ::core::primitive::u128, - }, - #[codec(index = 26)] - #[doc = "A Core has been assigned to one or more tasks and/or the Pool on the Relay-chain."] - CoreAssigned { - core: ::core::primitive::u16, - when: ::core::primitive::u32, - assignment: ::std::vec::Vec<( - runtime_types::pallet_broker::coretime_interface::CoreAssignment, - ::core::primitive::u16, - )>, - }, - #[codec(index = 27)] - #[doc = "Some historical Instantaneous Core Pool payment record has been dropped."] - AllowedRenewalDropped { - when: ::core::primitive::u32, - core: ::core::primitive::u16, - }, - } - } - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AllowedRenewalId { - pub core: ::core::primitive::u16, - pub when: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AllowedRenewalRecord<_0> { - pub price: _0, - pub completion: runtime_types::pallet_broker::types::CompletionStatus, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum CompletionStatus { - #[codec(index = 0)] - Partial(runtime_types::pallet_broker::core_mask::CoreMask), - #[codec(index = 1)] - Complete( - runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_broker::types::ScheduleItem, - >, - ), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ConfigRecord<_0, _1> { - pub advance_notice: _1, - pub interlude_length: _0, - pub leadin_length: _0, - pub region_length: ::core::primitive::u32, - pub ideal_bulk_proportion: runtime_types::sp_arithmetic::per_things::Perbill, - pub limit_cores_offered: ::core::option::Option<::core::primitive::u16>, - pub renewal_bump: runtime_types::sp_arithmetic::per_things::Perbill, - pub contribution_timeout: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ContributionRecord<_0> { - pub length: ::core::primitive::u32, - pub payee: _0, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Finality { - #[codec(index = 0)] - Provisional, - #[codec(index = 1)] - Final, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct InstaPoolHistoryRecord<_0> { - pub private_contributions: ::core::primitive::u32, - pub system_contributions: ::core::primitive::u32, - pub maybe_payout: ::core::option::Option<_0>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct LeaseRecordItem { - pub until: ::core::primitive::u32, - pub task: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct PoolIoRecord { - pub private: ::core::primitive::i32, - pub system: ::core::primitive::i32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RegionId { - pub begin: ::core::primitive::u32, - pub core: ::core::primitive::u16, - pub mask: runtime_types::pallet_broker::core_mask::CoreMask, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RegionRecord<_0, _1> { - pub end: ::core::primitive::u32, - pub owner: _0, - pub paid: ::core::option::Option<_1>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SaleInfoRecord<_0, _1> { - pub sale_start: _1, - pub leadin_length: _1, - pub price: _0, - pub region_begin: ::core::primitive::u32, - pub region_end: ::core::primitive::u32, - pub ideal_cores_sold: ::core::primitive::u16, - pub cores_offered: ::core::primitive::u16, - pub first_core: ::core::primitive::u16, - pub sellout_price: ::core::option::Option<_0>, - pub cores_sold: ::core::primitive::u16, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ScheduleItem { - pub mask: runtime_types::pallet_broker::core_mask::CoreMask, - pub assignment: - runtime_types::pallet_broker::coretime_interface::CoreAssignment, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct StatusRecord { - pub core_count: ::core::primitive::u16, - pub private_pool_size: ::core::primitive::u32, - pub system_pool_size: ::core::primitive::u32, - pub last_committed_timeslice: ::core::primitive::u32, - pub last_timeslice: ::core::primitive::u32, - } - } - } - pub mod pallet_collator_selection { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub enum Call { - #[codec(index = 0)] - #[doc = "See [`Pallet::set_invulnerables`]."] - set_invulnerables { new: ::std::vec::Vec<::subxt::utils::AccountId32> }, - #[codec(index = 1)] - #[doc = "See [`Pallet::set_desired_candidates`]."] - set_desired_candidates { max: ::core::primitive::u32 }, - #[codec(index = 2)] - #[doc = "See [`Pallet::set_candidacy_bond`]."] - set_candidacy_bond { bond: ::core::primitive::u128 }, - #[codec(index = 3)] - #[doc = "See [`Pallet::register_as_candidate`]."] - register_as_candidate, - #[codec(index = 4)] - #[doc = "See [`Pallet::leave_intent`]."] - leave_intent, - #[codec(index = 5)] - #[doc = "See [`Pallet::add_invulnerable`]."] - add_invulnerable { who: ::subxt::utils::AccountId32 }, - #[codec(index = 6)] - #[doc = "See [`Pallet::remove_invulnerable`]."] - remove_invulnerable { who: ::subxt::utils::AccountId32 }, - #[codec(index = 7)] - #[doc = "See [`Pallet::update_bond`]."] - update_bond { new_deposit: ::core::primitive::u128 }, - #[codec(index = 8)] - #[doc = "See [`Pallet::take_candidate_slot`]."] - take_candidate_slot { - deposit: ::core::primitive::u128, - target: ::subxt::utils::AccountId32, - }, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CandidateInfo<_0, _1> { - pub who: _0, - pub deposit: _1, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The `Error` enum of this pallet."] - pub enum Error { - #[codec(index = 0)] - #[doc = "The pallet has too many candidates."] - TooManyCandidates, - #[codec(index = 1)] - #[doc = "Leaving would result in too few candidates."] - TooFewEligibleCollators, - #[codec(index = 2)] - #[doc = "Account is already a candidate."] - AlreadyCandidate, - #[codec(index = 3)] - #[doc = "Account is not a candidate."] - NotCandidate, - #[codec(index = 4)] - #[doc = "There are too many Invulnerables."] - TooManyInvulnerables, - #[codec(index = 5)] - #[doc = "Account is already an Invulnerable."] - AlreadyInvulnerable, - #[codec(index = 6)] - #[doc = "Account is not an Invulnerable."] - NotInvulnerable, - #[codec(index = 7)] - #[doc = "Account has no associated validator ID."] - NoAssociatedValidatorId, - #[codec(index = 8)] - #[doc = "Validator ID is not yet registered."] - ValidatorNotRegistered, - #[codec(index = 9)] - #[doc = "Could not insert in the candidate list."] - InsertToCandidateListFailed, - #[codec(index = 10)] - #[doc = "Could not remove from the candidate list."] - RemoveFromCandidateListFailed, - #[codec(index = 11)] - #[doc = "New deposit amount would be below the minimum candidacy bond."] - DepositTooLow, - #[codec(index = 12)] - #[doc = "Could not update the candidate list."] - UpdateCandidateListFailed, - #[codec(index = 13)] - #[doc = "Deposit amount is too low to take the target's slot in the candidate list."] - InsufficientBond, - #[codec(index = 14)] - #[doc = "The target account to be replaced in the candidate list is not a candidate."] - TargetIsNotCandidate, - #[codec(index = 15)] - #[doc = "The updated deposit amount is equal to the amount already reserved."] - IdenticalDeposit, - #[codec(index = 16)] - #[doc = "Cannot lower candidacy bond while occupying a future collator slot in the list."] - InvalidUnreserve, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The `Event` enum of this pallet"] - pub enum Event { - #[codec(index = 0)] - #[doc = "New Invulnerables were set."] - NewInvulnerables { invulnerables: ::std::vec::Vec<::subxt::utils::AccountId32> }, - #[codec(index = 1)] - #[doc = "A new Invulnerable was added."] - InvulnerableAdded { account_id: ::subxt::utils::AccountId32 }, - #[codec(index = 2)] - #[doc = "An Invulnerable was removed."] - InvulnerableRemoved { account_id: ::subxt::utils::AccountId32 }, - #[codec(index = 3)] - #[doc = "The number of desired candidates was set."] - NewDesiredCandidates { desired_candidates: ::core::primitive::u32 }, - #[codec(index = 4)] - #[doc = "The candidacy bond was set."] - NewCandidacyBond { bond_amount: ::core::primitive::u128 }, - #[codec(index = 5)] - #[doc = "A new candidate joined."] - CandidateAdded { - account_id: ::subxt::utils::AccountId32, - deposit: ::core::primitive::u128, - }, - #[codec(index = 6)] - #[doc = "Bond of a candidate updated."] - CandidateBondUpdated { - account_id: ::subxt::utils::AccountId32, - deposit: ::core::primitive::u128, - }, - #[codec(index = 7)] - #[doc = "A candidate was removed."] - CandidateRemoved { account_id: ::subxt::utils::AccountId32 }, - #[codec(index = 8)] - #[doc = "An account was replaced in the candidate list by another one."] - CandidateReplaced { - old: ::subxt::utils::AccountId32, - new: ::subxt::utils::AccountId32, - deposit: ::core::primitive::u128, - }, - #[codec(index = 9)] - #[doc = "An account was unable to be added to the Invulnerables because they did not have keys"] - #[doc = "registered. Other Invulnerables may have been set."] - InvalidInvulnerableSkipped { account_id: ::subxt::utils::AccountId32 }, - } - } - } - pub mod pallet_message_queue { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub enum Call { - #[codec(index = 0)] - #[doc = "See [`Pallet::reap_page`]."] - reap_page { - message_origin: - runtime_types::cumulus_primitives_core::AggregateMessageOrigin, - page_index: ::core::primitive::u32, - }, - #[codec(index = 1)] - #[doc = "See [`Pallet::execute_overweight`]."] - execute_overweight { - message_origin: - runtime_types::cumulus_primitives_core::AggregateMessageOrigin, - page: ::core::primitive::u32, - index: ::core::primitive::u32, - weight_limit: runtime_types::sp_weights::weight_v2::Weight, - }, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The `Error` enum of this pallet."] - pub enum Error { - #[codec(index = 0)] - #[doc = "Page is not reapable because it has items remaining to be processed and is not old"] - #[doc = "enough."] - NotReapable, - #[codec(index = 1)] - #[doc = "Page to be reaped does not exist."] - NoPage, - #[codec(index = 2)] - #[doc = "The referenced message could not be found."] - NoMessage, - #[codec(index = 3)] - #[doc = "The message was already processed and cannot be processed again."] - AlreadyProcessed, - #[codec(index = 4)] - #[doc = "The message is queued for future execution."] - Queued, - #[codec(index = 5)] - #[doc = "There is temporarily not enough weight to continue servicing messages."] - InsufficientWeight, - #[codec(index = 6)] - #[doc = "This message is temporarily unprocessable."] - #[doc = ""] - #[doc = "Such errors are expected, but not guaranteed, to resolve themselves eventually through"] - #[doc = "retrying."] - TemporarilyUnprocessable, - #[codec(index = 7)] - #[doc = "The queue is paused and no message can be executed from it."] - #[doc = ""] - #[doc = "This can change at any time and may resolve in the future by re-trying."] - QueuePaused, - #[codec(index = 8)] - #[doc = "Another call is in progress and needs to finish before this call can happen."] - RecursiveDisallowed, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The `Event` enum of this pallet"] - pub enum Event { - #[codec(index = 0)] - #[doc = "Message discarded due to an error in the `MessageProcessor` (usually a format error)."] - ProcessingFailed { - id: ::subxt::utils::H256, - origin: runtime_types::cumulus_primitives_core::AggregateMessageOrigin, - error: runtime_types::frame_support::traits::messages::ProcessMessageError, - }, - #[codec(index = 1)] - #[doc = "Message is processed."] - Processed { - id: ::subxt::utils::H256, - origin: runtime_types::cumulus_primitives_core::AggregateMessageOrigin, - weight_used: runtime_types::sp_weights::weight_v2::Weight, - success: ::core::primitive::bool, - }, - #[codec(index = 2)] - #[doc = "Message placed in overweight queue."] - OverweightEnqueued { - id: [::core::primitive::u8; 32usize], - origin: runtime_types::cumulus_primitives_core::AggregateMessageOrigin, - page_index: ::core::primitive::u32, - message_index: ::core::primitive::u32, - }, - #[codec(index = 3)] - #[doc = "This page was reaped."] - PageReaped { - origin: runtime_types::cumulus_primitives_core::AggregateMessageOrigin, - index: ::core::primitive::u32, - }, - } - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct BookState<_0> { - pub begin: ::core::primitive::u32, - pub end: ::core::primitive::u32, - pub count: ::core::primitive::u32, - pub ready_neighbours: - ::core::option::Option>, - pub message_count: ::core::primitive::u64, - pub size: ::core::primitive::u64, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Neighbours<_0> { - pub prev: _0, - pub next: _0, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub enum Call { - #[codec(index = 0)] - #[doc = "See [`Pallet::as_multi_threshold_1`]."] - as_multi_threshold_1 { - other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, - call: - ::std::boxed::Box, - }, - #[codec(index = 1)] - #[doc = "See [`Pallet::as_multi`]."] - as_multi { - threshold: ::core::primitive::u16, - other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, - maybe_timepoint: ::core::option::Option< - runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, - >, - call: - ::std::boxed::Box, - max_weight: runtime_types::sp_weights::weight_v2::Weight, - }, - #[codec(index = 2)] - #[doc = "See [`Pallet::approve_as_multi`]."] - approve_as_multi { - threshold: ::core::primitive::u16, - other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, - maybe_timepoint: ::core::option::Option< - runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, - >, - call_hash: [::core::primitive::u8; 32usize], - max_weight: runtime_types::sp_weights::weight_v2::Weight, - }, - #[codec(index = 3)] - #[doc = "See [`Pallet::cancel_as_multi`]."] - cancel_as_multi { - threshold: ::core::primitive::u16, - other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, - timepoint: - runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, - call_hash: [::core::primitive::u8; 32usize], - }, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The `Error` enum of this pallet."] - pub enum Error { - #[codec(index = 0)] - #[doc = "Threshold must be 2 or greater."] - MinimumThreshold, - #[codec(index = 1)] - #[doc = "Call is already approved by this signatory."] - AlreadyApproved, - #[codec(index = 2)] - #[doc = "Call doesn't need any (more) approvals."] - NoApprovalsNeeded, - #[codec(index = 3)] - #[doc = "There are too few signatories in the list."] - TooFewSignatories, - #[codec(index = 4)] - #[doc = "There are too many signatories in the list."] - TooManySignatories, - #[codec(index = 5)] - #[doc = "The signatories were provided out of order; they should be ordered."] - SignatoriesOutOfOrder, - #[codec(index = 6)] - #[doc = "The sender was contained in the other signatories; it shouldn't be."] - SenderInSignatories, - #[codec(index = 7)] - #[doc = "Multisig operation not found when attempting to cancel."] - NotFound, - #[codec(index = 8)] - #[doc = "Only the account that originally created the multisig is able to cancel it."] - NotOwner, - #[codec(index = 9)] - #[doc = "No timepoint was given, yet the multisig operation is already underway."] - NoTimepoint, - #[codec(index = 10)] - #[doc = "A different timepoint was given to the multisig operation that is underway."] - WrongTimepoint, - #[codec(index = 11)] - #[doc = "A timepoint was given, yet no multisig operation is underway."] - UnexpectedTimepoint, - #[codec(index = 12)] - #[doc = "The maximum weight information provided was too low."] - MaxWeightTooLow, - #[codec(index = 13)] - #[doc = "The data to be stored is already stored."] - AlreadyStored, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The `Event` enum of this pallet"] - pub enum Event { - #[codec(index = 0)] - #[doc = "A new multisig operation has begun."] - NewMultisig { - approving: ::subxt::utils::AccountId32, - multisig: ::subxt::utils::AccountId32, - call_hash: [::core::primitive::u8; 32usize], - }, - #[codec(index = 1)] - #[doc = "A multisig operation has been approved by someone."] - MultisigApproval { - approving: ::subxt::utils::AccountId32, - timepoint: - runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, - multisig: ::subxt::utils::AccountId32, - call_hash: [::core::primitive::u8; 32usize], - }, - #[codec(index = 2)] - #[doc = "A multisig operation has been executed."] - MultisigExecuted { - approving: ::subxt::utils::AccountId32, - timepoint: - runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, - multisig: ::subxt::utils::AccountId32, - call_hash: [::core::primitive::u8; 32usize], - result: - ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, - }, - #[codec(index = 3)] - #[doc = "A multisig operation has been cancelled."] - MultisigCancelled { - cancelling: ::subxt::utils::AccountId32, - timepoint: - runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, - multisig: ::subxt::utils::AccountId32, - call_hash: [::core::primitive::u8; 32usize], - }, - } - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Timepoint<_0> { - pub height: _0, - pub index: ::core::primitive::u32, - } - } - pub mod pallet_session { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub enum Call { - #[codec(index = 0)] - #[doc = "See [`Pallet::set_keys`]."] - set_keys { - keys: runtime_types::coretime_rococo_runtime::SessionKeys, - proof: ::std::vec::Vec<::core::primitive::u8>, - }, - #[codec(index = 1)] - #[doc = "See [`Pallet::purge_keys`]."] - purge_keys, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Error for the session pallet."] - pub enum Error { - #[codec(index = 0)] - #[doc = "Invalid ownership proof."] - InvalidProof, - #[codec(index = 1)] - #[doc = "No associated validator ID for account."] - NoAssociatedValidatorId, - #[codec(index = 2)] - #[doc = "Registered duplicate key."] - DuplicatedKey, - #[codec(index = 3)] - #[doc = "No keys are associated with this account."] - NoKeys, - #[codec(index = 4)] - #[doc = "Key setting account is not live, so it's impossible to associate keys."] - NoAccount, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The `Event` enum of this pallet"] - pub enum Event { - #[codec(index = 0)] - #[doc = "New session has happened. Note that the argument is the session index, not the"] - #[doc = "block number as the type might suggest."] - NewSession { session_index: ::core::primitive::u32 }, - } - } - } - pub mod pallet_sudo { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub enum Call { - #[codec(index = 0)] - #[doc = "See [`Pallet::sudo`]."] - sudo { - call: - ::std::boxed::Box, - }, - #[codec(index = 1)] - #[doc = "See [`Pallet::sudo_unchecked_weight`]."] - sudo_unchecked_weight { - call: - ::std::boxed::Box, - weight: runtime_types::sp_weights::weight_v2::Weight, - }, - #[codec(index = 2)] - #[doc = "See [`Pallet::set_key`]."] - set_key { new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()> }, - #[codec(index = 3)] - #[doc = "See [`Pallet::sudo_as`]."] - sudo_as { - who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, - call: - ::std::boxed::Box, - }, - #[codec(index = 4)] - #[doc = "See [`Pallet::remove_key`]."] - remove_key, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Error for the Sudo pallet."] - pub enum Error { - #[codec(index = 0)] - #[doc = "Sender must be the Sudo account."] - RequireSudo, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The `Event` enum of this pallet"] - pub enum Event { - #[codec(index = 0)] - #[doc = "A sudo call just took place."] - Sudid { - sudo_result: - ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, - }, - #[codec(index = 1)] - #[doc = "The sudo key has been updated."] - KeyChanged { - old: ::core::option::Option<::subxt::utils::AccountId32>, - new: ::subxt::utils::AccountId32, - }, - #[codec(index = 2)] - #[doc = "The key was permanently removed."] - KeyRemoved, - #[codec(index = 3)] - #[doc = "A [sudo_as](Pallet::sudo_as) call just took place."] - 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub enum Call { - #[codec(index = 0)] - #[doc = "See [`Pallet::set`]."] - set { - #[codec(compact)] - now: ::core::primitive::u64, - }, - } - } - } - pub mod pallet_transaction_payment { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The `Event` enum of this pallet"] - pub enum Event { - #[codec(index = 0)] - #[doc = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"] - #[doc = "has been paid by `who`."] - TransactionFeePaid { - who: ::subxt::utils::AccountId32, - actual_fee: ::core::primitive::u128, - tip: ::core::primitive::u128, - }, - } - } - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct FeeDetails<_0> { - pub inclusion_fee: ::core::option::Option< - runtime_types::pallet_transaction_payment::types::InclusionFee<_0>, - >, - pub tip: _0, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct InclusionFee<_0> { - pub base_fee: _0, - pub len_fee: _0, - pub adjusted_weight_fee: _0, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RuntimeDispatchInfo<_0, _1> { - pub weight: _1, - pub class: runtime_types::frame_support::dispatch::DispatchClass, - pub partial_fee: _0, - } - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ChargeTransactionPayment(#[codec(compact)] pub ::core::primitive::u128); - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Releases { - #[codec(index = 0)] - V1Ancient, - #[codec(index = 1)] - V2, - } - } - pub mod pallet_utility { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub enum Call { - #[codec(index = 0)] - #[doc = "See [`Pallet::batch`]."] - batch { - calls: ::std::vec::Vec, - }, - #[codec(index = 1)] - #[doc = "See [`Pallet::as_derivative`]."] - as_derivative { - index: ::core::primitive::u16, - call: - ::std::boxed::Box, - }, - #[codec(index = 2)] - #[doc = "See [`Pallet::batch_all`]."] - batch_all { - calls: ::std::vec::Vec, - }, - #[codec(index = 3)] - #[doc = "See [`Pallet::dispatch_as`]."] - dispatch_as { - as_origin: - ::std::boxed::Box, - call: - ::std::boxed::Box, - }, - #[codec(index = 4)] - #[doc = "See [`Pallet::force_batch`]."] - force_batch { - calls: ::std::vec::Vec, - }, - #[codec(index = 5)] - #[doc = "See [`Pallet::with_weight`]."] - with_weight { - call: - ::std::boxed::Box, - weight: runtime_types::sp_weights::weight_v2::Weight, - }, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The `Error` enum of this pallet."] - pub enum Error { - #[codec(index = 0)] - #[doc = "Too many calls batched."] - TooManyCalls, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The `Event` enum of this pallet"] - pub enum Event { - #[codec(index = 0)] - #[doc = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"] - #[doc = "well as the error."] - BatchInterrupted { - index: ::core::primitive::u32, - error: runtime_types::sp_runtime::DispatchError, - }, - #[codec(index = 1)] - #[doc = "Batch of dispatches completed fully with no error."] - BatchCompleted, - #[codec(index = 2)] - #[doc = "Batch of dispatches completed but has errors."] - BatchCompletedWithErrors, - #[codec(index = 3)] - #[doc = "A single item within a Batch of dispatches has completed with no error."] - ItemCompleted, - #[codec(index = 4)] - #[doc = "A single item within a Batch of dispatches has completed with error."] - ItemFailed { error: runtime_types::sp_runtime::DispatchError }, - #[codec(index = 5)] - #[doc = "A call was dispatched."] - 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub enum Call { - #[codec(index = 0)] - #[doc = "See [`Pallet::send`]."] - send { - dest: ::std::boxed::Box, - message: ::std::boxed::Box, - }, - #[codec(index = 1)] - #[doc = "See [`Pallet::teleport_assets`]."] - teleport_assets { - dest: ::std::boxed::Box, - beneficiary: ::std::boxed::Box, - assets: ::std::boxed::Box, - fee_asset_item: ::core::primitive::u32, - }, - #[codec(index = 2)] - #[doc = "See [`Pallet::reserve_transfer_assets`]."] - reserve_transfer_assets { - dest: ::std::boxed::Box, - beneficiary: ::std::boxed::Box, - assets: ::std::boxed::Box, - fee_asset_item: ::core::primitive::u32, - }, - #[codec(index = 3)] - #[doc = "See [`Pallet::execute`]."] - execute { - message: ::std::boxed::Box, - max_weight: runtime_types::sp_weights::weight_v2::Weight, - }, - #[codec(index = 4)] - #[doc = "See [`Pallet::force_xcm_version`]."] - force_xcm_version { - location: - ::std::boxed::Box, - version: ::core::primitive::u32, - }, - #[codec(index = 5)] - #[doc = "See [`Pallet::force_default_xcm_version`]."] - force_default_xcm_version { - maybe_xcm_version: ::core::option::Option<::core::primitive::u32>, - }, - #[codec(index = 6)] - #[doc = "See [`Pallet::force_subscribe_version_notify`]."] - force_subscribe_version_notify { - location: ::std::boxed::Box, - }, - #[codec(index = 7)] - #[doc = "See [`Pallet::force_unsubscribe_version_notify`]."] - force_unsubscribe_version_notify { - location: ::std::boxed::Box, - }, - #[codec(index = 8)] - #[doc = "See [`Pallet::limited_reserve_transfer_assets`]."] - limited_reserve_transfer_assets { - dest: ::std::boxed::Box, - beneficiary: ::std::boxed::Box, - assets: ::std::boxed::Box, - fee_asset_item: ::core::primitive::u32, - weight_limit: runtime_types::xcm::v3::WeightLimit, - }, - #[codec(index = 9)] - #[doc = "See [`Pallet::limited_teleport_assets`]."] - limited_teleport_assets { - dest: ::std::boxed::Box, - beneficiary: ::std::boxed::Box, - assets: ::std::boxed::Box, - fee_asset_item: ::core::primitive::u32, - weight_limit: runtime_types::xcm::v3::WeightLimit, - }, - #[codec(index = 10)] - #[doc = "See [`Pallet::force_suspension`]."] - force_suspension { suspended: ::core::primitive::bool }, - #[codec(index = 11)] - #[doc = "See [`Pallet::transfer_assets`]."] - transfer_assets { - dest: ::std::boxed::Box, - beneficiary: ::std::boxed::Box, - assets: ::std::boxed::Box, - fee_asset_item: ::core::primitive::u32, - weight_limit: runtime_types::xcm::v3::WeightLimit, - }, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The `Error` enum of this pallet."] - pub enum Error { - #[codec(index = 0)] - #[doc = "The desired destination was unreachable, generally because there is a no way of routing"] - #[doc = "to it."] - Unreachable, - #[codec(index = 1)] - #[doc = "There was some other issue (i.e. not to do with routing) in sending the message."] - #[doc = "Perhaps a lack of space for buffering the message."] - SendFailure, - #[codec(index = 2)] - #[doc = "The message execution fails the filter."] - Filtered, - #[codec(index = 3)] - #[doc = "The message's weight could not be determined."] - UnweighableMessage, - #[codec(index = 4)] - #[doc = "The destination `Location` provided cannot be inverted."] - DestinationNotInvertible, - #[codec(index = 5)] - #[doc = "The assets to be sent are empty."] - Empty, - #[codec(index = 6)] - #[doc = "Could not re-anchor the assets to declare the fees for the destination chain."] - CannotReanchor, - #[codec(index = 7)] - #[doc = "Too many assets have been attempted for transfer."] - TooManyAssets, - #[codec(index = 8)] - #[doc = "Origin is invalid for sending."] - InvalidOrigin, - #[codec(index = 9)] - #[doc = "The version of the `Versioned` value used is not able to be interpreted."] - BadVersion, - #[codec(index = 10)] - #[doc = "The given location could not be used (e.g. because it cannot be expressed in the"] - #[doc = "desired version of XCM)."] - BadLocation, - #[codec(index = 11)] - #[doc = "The referenced subscription could not be found."] - NoSubscription, - #[codec(index = 12)] - #[doc = "The location is invalid since it already has a subscription from us."] - AlreadySubscribed, - #[codec(index = 13)] - #[doc = "Could not check-out the assets for teleportation to the destination chain."] - CannotCheckOutTeleport, - #[codec(index = 14)] - #[doc = "The owner does not own (all) of the asset that they wish to do the operation on."] - LowBalance, - #[codec(index = 15)] - #[doc = "The asset owner has too many locks on the asset."] - TooManyLocks, - #[codec(index = 16)] - #[doc = "The given account is not an identifiable sovereign account for any location."] - AccountNotSovereign, - #[codec(index = 17)] - #[doc = "The operation required fees to be paid which the initiator could not meet."] - FeesNotMet, - #[codec(index = 18)] - #[doc = "A remote lock with the corresponding data could not be found."] - LockNotFound, - #[codec(index = 19)] - #[doc = "The unlock operation cannot succeed because there are still consumers of the lock."] - InUse, - #[codec(index = 20)] - #[doc = "Invalid non-concrete asset."] - InvalidAssetNotConcrete, - #[codec(index = 21)] - #[doc = "Invalid asset, reserve chain could not be determined for it."] - InvalidAssetUnknownReserve, - #[codec(index = 22)] - #[doc = "Invalid asset, do not support remote asset reserves with different fees reserves."] - InvalidAssetUnsupportedReserve, - #[codec(index = 23)] - #[doc = "Too many assets with different reserve locations have been attempted for transfer."] - TooManyReserves, - #[codec(index = 24)] - #[doc = "Local XCM execution incomplete."] - LocalExecutionIncomplete, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "The `Event` enum of this pallet"] - pub enum Event { - #[codec(index = 0)] - #[doc = "Execution of an XCM message was attempted."] - Attempted { outcome: runtime_types::staging_xcm::v4::traits::Outcome }, - #[codec(index = 1)] - #[doc = "A XCM message was sent."] - 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)] - #[doc = "Query response received which does not match a registered query. This may be because a"] - #[doc = "matching query was never registered, it may be because it is a duplicate response, or"] - #[doc = "because the query timed out."] - UnexpectedResponse { - origin: runtime_types::staging_xcm::v4::location::Location, - query_id: ::core::primitive::u64, - }, - #[codec(index = 3)] - #[doc = "Query response has been received and is ready for taking with `take_response`. There is"] - #[doc = "no registered notification call."] - ResponseReady { - query_id: ::core::primitive::u64, - response: runtime_types::staging_xcm::v4::Response, - }, - #[codec(index = 4)] - #[doc = "Query response has been received and query is removed. The registered notification has"] - #[doc = "been dispatched and executed successfully."] - Notified { - query_id: ::core::primitive::u64, - pallet_index: ::core::primitive::u8, - call_index: ::core::primitive::u8, - }, - #[codec(index = 5)] - #[doc = "Query response has been received and query is removed. The registered notification"] - #[doc = "could not be dispatched because the dispatch weight is greater than the maximum weight"] - #[doc = "originally budgeted by this runtime for the query result."] - NotifyOverweight { - query_id: ::core::primitive::u64, - pallet_index: ::core::primitive::u8, - call_index: ::core::primitive::u8, - actual_weight: runtime_types::sp_weights::weight_v2::Weight, - max_budgeted_weight: runtime_types::sp_weights::weight_v2::Weight, - }, - #[codec(index = 6)] - #[doc = "Query response has been received and query is removed. There was a general error with"] - #[doc = "dispatching the notification call."] - NotifyDispatchError { - query_id: ::core::primitive::u64, - pallet_index: ::core::primitive::u8, - call_index: ::core::primitive::u8, - }, - #[codec(index = 7)] - #[doc = "Query response has been received and query is removed. The dispatch was unable to be"] - #[doc = "decoded into a `Call`; this might be due to dispatch function having a signature which"] - #[doc = "is not `(origin, QueryId, Response)`."] - NotifyDecodeFailed { - query_id: ::core::primitive::u64, - pallet_index: ::core::primitive::u8, - call_index: ::core::primitive::u8, - }, - #[codec(index = 8)] - #[doc = "Expected query response has been received but the origin location of the response does"] - #[doc = "not match that expected. The query remains registered for a later, valid, response to"] - #[doc = "be received and acted upon."] - 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)] - #[doc = "Expected query response has been received but the expected origin location placed in"] - #[doc = "storage by this runtime previously cannot be decoded. The query remains registered."] - #[doc = ""] - #[doc = "This is unexpected (since a location placed in storage in a previously executing"] - #[doc = "runtime should be readable prior to query timeout) and dangerous since the possibly"] - #[doc = "valid response will be dropped. Manual governance intervention is probably going to be"] - #[doc = "needed."] - InvalidResponderVersion { - origin: runtime_types::staging_xcm::v4::location::Location, - query_id: ::core::primitive::u64, - }, - #[codec(index = 10)] - #[doc = "Received query response has been read and removed."] - ResponseTaken { query_id: ::core::primitive::u64 }, - #[codec(index = 11)] - #[doc = "Some assets have been placed in an asset trap."] - AssetsTrapped { - hash: ::subxt::utils::H256, - origin: runtime_types::staging_xcm::v4::location::Location, - assets: runtime_types::xcm::VersionedAssets, - }, - #[codec(index = 12)] - #[doc = "An XCM version change notification message has been attempted to be sent."] - #[doc = ""] - #[doc = "The cost of sending it (borne by the chain) is included."] - 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)] - #[doc = "The supported version of a location has been changed. This might be through an"] - #[doc = "automatic notification or a manual intervention."] - SupportedVersionChanged { - location: runtime_types::staging_xcm::v4::location::Location, - version: ::core::primitive::u32, - }, - #[codec(index = 14)] - #[doc = "A given location which had a version change subscription was dropped owing to an error"] - #[doc = "sending the notification to it."] - NotifyTargetSendFail { - location: runtime_types::staging_xcm::v4::location::Location, - query_id: ::core::primitive::u64, - error: runtime_types::xcm::v3::traits::Error, - }, - #[codec(index = 15)] - #[doc = "A given location which had a version change subscription was dropped owing to an error"] - #[doc = "migrating the location to our new XCM format."] - NotifyTargetMigrationFail { - location: runtime_types::xcm::VersionedLocation, - query_id: ::core::primitive::u64, - }, - #[codec(index = 16)] - #[doc = "Expected query response has been received but the expected querier location placed in"] - #[doc = "storage by this runtime previously cannot be decoded. The query remains registered."] - #[doc = ""] - #[doc = "This is unexpected (since a location placed in storage in a previously executing"] - #[doc = "runtime should be readable prior to query timeout) and dangerous since the possibly"] - #[doc = "valid response will be dropped. Manual governance intervention is probably going to be"] - #[doc = "needed."] - InvalidQuerierVersion { - origin: runtime_types::staging_xcm::v4::location::Location, - query_id: ::core::primitive::u64, - }, - #[codec(index = 17)] - #[doc = "Expected query response has been received but the querier location of the response does"] - #[doc = "not match the expected. The query remains registered for a later, valid, response to"] - #[doc = "be received and acted upon."] - 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)] - #[doc = "A remote has requested XCM version change notification from us and we have honored it."] - #[doc = "A version information message is sent to them and its cost is included."] - 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)] - #[doc = "We have requested that a remote chain send us XCM version change notifications."] - 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)] - #[doc = "We have requested that a remote chain stops sending us XCM version change"] - #[doc = "notifications."] - 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)] - #[doc = "Fees were paid from a location for an operation (often for using `SendXcm`)."] - FeesPaid { - paying: runtime_types::staging_xcm::v4::location::Location, - fees: runtime_types::staging_xcm::v4::asset::Assets, - }, - #[codec(index = 22)] - #[doc = "Some assets have been claimed from an asset trap"] - AssetsClaimed { - hash: ::subxt::utils::H256, - origin: runtime_types::staging_xcm::v4::location::Location, - assets: runtime_types::xcm::VersionedAssets, - }, - #[codec(index = 23)] - #[doc = "A XCM version migration finished."] - VersionMigrationFinished { version: ::core::primitive::u32 }, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Origin { - #[codec(index = 0)] - Xcm(runtime_types::staging_xcm::v4::location::Location), - #[codec(index = 1)] - Response(runtime_types::staging_xcm::v4::location::Location), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum QueryStatus<_0> { - #[codec(index = 0)] - Pending { - responder: runtime_types::xcm::VersionedLocation, - maybe_match_querier: - ::core::option::Option, - 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RemoteLockedFungibleRecord<_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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum VersionMigrationStage { - #[codec(index = 0)] - MigrateSupportedVersion, - #[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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct InboundDownwardMessage<_0> { - pub sent_at: _0, - pub msg: ::std::vec::Vec<::core::primitive::u8>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct InboundHrmpMessage<_0> { - pub sent_at: _0, - pub data: ::std::vec::Vec<::core::primitive::u8>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct HeadData(pub ::std::vec::Vec<::core::primitive::u8>); - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Id(pub ::core::primitive::u32); - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ValidationCode(pub ::std::vec::Vec<::core::primitive::u8>); - } - } - pub mod polkadot_primitives { - use super::runtime_types; - pub mod v6 { - use super::runtime_types; - pub mod async_backing { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AsyncBackingParams { - pub max_candidate_depth: ::core::primitive::u32, - pub allowed_ancestry_len: ::core::primitive::u32, - } - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct PersistedValidationData<_0, _1> { - pub parent_head: - runtime_types::polkadot_parachain_primitives::primitives::HeadData, - pub relay_parent_number: _1, - pub relay_parent_storage_root: _0, - pub max_pov_size: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum UpgradeGoAhead { - #[codec(index = 0)] - Abort, - #[codec(index = 1)] - GoAhead, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum UpgradeRestriction { - #[codec(index = 0)] - Present, - } - } - } - pub mod sp_arithmetic { - use super::runtime_types; - pub mod fixed_point { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct FixedU128(pub ::core::primitive::u128); - } - pub mod per_things { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Perbill(pub ::core::primitive::u32); - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum ArithmeticError { - #[codec(index = 0)] - Underflow, - #[codec(index = 1)] - Overflow, - #[codec(index = 2)] - DivisionByZero, - } - } - pub mod sp_consensus_aura { - use super::runtime_types; - pub mod sr25519 { - use super::runtime_types; - pub mod app_sr25519 { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Public(pub runtime_types::sp_core::sr25519::Public); - } - } - } - pub mod sp_consensus_slots { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Slot(pub ::core::primitive::u64); - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SlotDuration(pub ::core::primitive::u64); - } - pub mod sp_core { - use super::runtime_types; - pub mod crypto { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct KeyTypeId(pub [::core::primitive::u8; 4usize]); - } - pub mod ecdsa { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Signature(pub [::core::primitive::u8; 65usize]); - } - pub mod ed25519 { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Signature(pub [::core::primitive::u8; 64usize]); - } - pub mod sr25519 { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Public(pub [::core::primitive::u8; 32usize]); - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Signature(pub [::core::primitive::u8; 64usize]); - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct OpaqueMetadata(pub ::std::vec::Vec<::core::primitive::u8>); - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Void {} - } - pub mod sp_inherents { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CheckInherentsResult { - pub okay: ::core::primitive::bool, - pub fatal_error: ::core::primitive::bool, - pub errors: runtime_types::sp_inherents::InherentData, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct InherentData { - pub data: ::subxt::utils::KeyedVec< - [::core::primitive::u8; 8usize], - ::std::vec::Vec<::core::primitive::u8>, - >, - } - } - pub mod sp_runtime { - use super::runtime_types; - pub mod generic { - use super::runtime_types; - pub mod block { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Block<_0, _1> { - pub header: _0, - pub extrinsics: ::std::vec::Vec<_1>, - } - } - pub mod digest { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Digest { - pub logs: - ::std::vec::Vec, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum 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 era { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Era { - #[codec(index = 0)] - Immortal, - #[codec(index = 1)] - Mortal1(::core::primitive::u8), - #[codec(index = 2)] - Mortal2(::core::primitive::u8), - #[codec(index = 3)] - Mortal3(::core::primitive::u8), - #[codec(index = 4)] - Mortal4(::core::primitive::u8), - #[codec(index = 5)] - Mortal5(::core::primitive::u8), - #[codec(index = 6)] - Mortal6(::core::primitive::u8), - #[codec(index = 7)] - Mortal7(::core::primitive::u8), - #[codec(index = 8)] - Mortal8(::core::primitive::u8), - #[codec(index = 9)] - Mortal9(::core::primitive::u8), - #[codec(index = 10)] - Mortal10(::core::primitive::u8), - #[codec(index = 11)] - Mortal11(::core::primitive::u8), - #[codec(index = 12)] - Mortal12(::core::primitive::u8), - #[codec(index = 13)] - Mortal13(::core::primitive::u8), - #[codec(index = 14)] - Mortal14(::core::primitive::u8), - #[codec(index = 15)] - Mortal15(::core::primitive::u8), - #[codec(index = 16)] - Mortal16(::core::primitive::u8), - #[codec(index = 17)] - Mortal17(::core::primitive::u8), - #[codec(index = 18)] - Mortal18(::core::primitive::u8), - #[codec(index = 19)] - Mortal19(::core::primitive::u8), - #[codec(index = 20)] - Mortal20(::core::primitive::u8), - #[codec(index = 21)] - Mortal21(::core::primitive::u8), - #[codec(index = 22)] - Mortal22(::core::primitive::u8), - #[codec(index = 23)] - Mortal23(::core::primitive::u8), - #[codec(index = 24)] - Mortal24(::core::primitive::u8), - #[codec(index = 25)] - Mortal25(::core::primitive::u8), - #[codec(index = 26)] - Mortal26(::core::primitive::u8), - #[codec(index = 27)] - Mortal27(::core::primitive::u8), - #[codec(index = 28)] - Mortal28(::core::primitive::u8), - #[codec(index = 29)] - Mortal29(::core::primitive::u8), - #[codec(index = 30)] - Mortal30(::core::primitive::u8), - #[codec(index = 31)] - Mortal31(::core::primitive::u8), - #[codec(index = 32)] - Mortal32(::core::primitive::u8), - #[codec(index = 33)] - Mortal33(::core::primitive::u8), - #[codec(index = 34)] - Mortal34(::core::primitive::u8), - #[codec(index = 35)] - Mortal35(::core::primitive::u8), - #[codec(index = 36)] - Mortal36(::core::primitive::u8), - #[codec(index = 37)] - Mortal37(::core::primitive::u8), - #[codec(index = 38)] - Mortal38(::core::primitive::u8), - #[codec(index = 39)] - Mortal39(::core::primitive::u8), - #[codec(index = 40)] - Mortal40(::core::primitive::u8), - #[codec(index = 41)] - Mortal41(::core::primitive::u8), - #[codec(index = 42)] - Mortal42(::core::primitive::u8), - #[codec(index = 43)] - Mortal43(::core::primitive::u8), - #[codec(index = 44)] - Mortal44(::core::primitive::u8), - #[codec(index = 45)] - Mortal45(::core::primitive::u8), - #[codec(index = 46)] - Mortal46(::core::primitive::u8), - #[codec(index = 47)] - Mortal47(::core::primitive::u8), - #[codec(index = 48)] - Mortal48(::core::primitive::u8), - #[codec(index = 49)] - Mortal49(::core::primitive::u8), - #[codec(index = 50)] - Mortal50(::core::primitive::u8), - #[codec(index = 51)] - Mortal51(::core::primitive::u8), - #[codec(index = 52)] - Mortal52(::core::primitive::u8), - #[codec(index = 53)] - Mortal53(::core::primitive::u8), - #[codec(index = 54)] - Mortal54(::core::primitive::u8), - #[codec(index = 55)] - Mortal55(::core::primitive::u8), - #[codec(index = 56)] - Mortal56(::core::primitive::u8), - #[codec(index = 57)] - Mortal57(::core::primitive::u8), - #[codec(index = 58)] - Mortal58(::core::primitive::u8), - #[codec(index = 59)] - Mortal59(::core::primitive::u8), - #[codec(index = 60)] - Mortal60(::core::primitive::u8), - #[codec(index = 61)] - Mortal61(::core::primitive::u8), - #[codec(index = 62)] - Mortal62(::core::primitive::u8), - #[codec(index = 63)] - Mortal63(::core::primitive::u8), - #[codec(index = 64)] - Mortal64(::core::primitive::u8), - #[codec(index = 65)] - Mortal65(::core::primitive::u8), - #[codec(index = 66)] - Mortal66(::core::primitive::u8), - #[codec(index = 67)] - Mortal67(::core::primitive::u8), - #[codec(index = 68)] - Mortal68(::core::primitive::u8), - #[codec(index = 69)] - Mortal69(::core::primitive::u8), - #[codec(index = 70)] - Mortal70(::core::primitive::u8), - #[codec(index = 71)] - Mortal71(::core::primitive::u8), - #[codec(index = 72)] - Mortal72(::core::primitive::u8), - #[codec(index = 73)] - Mortal73(::core::primitive::u8), - #[codec(index = 74)] - Mortal74(::core::primitive::u8), - #[codec(index = 75)] - Mortal75(::core::primitive::u8), - #[codec(index = 76)] - Mortal76(::core::primitive::u8), - #[codec(index = 77)] - Mortal77(::core::primitive::u8), - #[codec(index = 78)] - Mortal78(::core::primitive::u8), - #[codec(index = 79)] - Mortal79(::core::primitive::u8), - #[codec(index = 80)] - Mortal80(::core::primitive::u8), - #[codec(index = 81)] - Mortal81(::core::primitive::u8), - #[codec(index = 82)] - Mortal82(::core::primitive::u8), - #[codec(index = 83)] - Mortal83(::core::primitive::u8), - #[codec(index = 84)] - Mortal84(::core::primitive::u8), - #[codec(index = 85)] - Mortal85(::core::primitive::u8), - #[codec(index = 86)] - Mortal86(::core::primitive::u8), - #[codec(index = 87)] - Mortal87(::core::primitive::u8), - #[codec(index = 88)] - Mortal88(::core::primitive::u8), - #[codec(index = 89)] - Mortal89(::core::primitive::u8), - #[codec(index = 90)] - Mortal90(::core::primitive::u8), - #[codec(index = 91)] - Mortal91(::core::primitive::u8), - #[codec(index = 92)] - Mortal92(::core::primitive::u8), - #[codec(index = 93)] - Mortal93(::core::primitive::u8), - #[codec(index = 94)] - Mortal94(::core::primitive::u8), - #[codec(index = 95)] - Mortal95(::core::primitive::u8), - #[codec(index = 96)] - Mortal96(::core::primitive::u8), - #[codec(index = 97)] - Mortal97(::core::primitive::u8), - #[codec(index = 98)] - Mortal98(::core::primitive::u8), - #[codec(index = 99)] - Mortal99(::core::primitive::u8), - #[codec(index = 100)] - Mortal100(::core::primitive::u8), - #[codec(index = 101)] - Mortal101(::core::primitive::u8), - #[codec(index = 102)] - Mortal102(::core::primitive::u8), - #[codec(index = 103)] - Mortal103(::core::primitive::u8), - #[codec(index = 104)] - Mortal104(::core::primitive::u8), - #[codec(index = 105)] - Mortal105(::core::primitive::u8), - #[codec(index = 106)] - Mortal106(::core::primitive::u8), - #[codec(index = 107)] - Mortal107(::core::primitive::u8), - #[codec(index = 108)] - Mortal108(::core::primitive::u8), - #[codec(index = 109)] - Mortal109(::core::primitive::u8), - #[codec(index = 110)] - Mortal110(::core::primitive::u8), - #[codec(index = 111)] - Mortal111(::core::primitive::u8), - #[codec(index = 112)] - Mortal112(::core::primitive::u8), - #[codec(index = 113)] - Mortal113(::core::primitive::u8), - #[codec(index = 114)] - Mortal114(::core::primitive::u8), - #[codec(index = 115)] - Mortal115(::core::primitive::u8), - #[codec(index = 116)] - Mortal116(::core::primitive::u8), - #[codec(index = 117)] - Mortal117(::core::primitive::u8), - #[codec(index = 118)] - Mortal118(::core::primitive::u8), - #[codec(index = 119)] - Mortal119(::core::primitive::u8), - #[codec(index = 120)] - Mortal120(::core::primitive::u8), - #[codec(index = 121)] - Mortal121(::core::primitive::u8), - #[codec(index = 122)] - Mortal122(::core::primitive::u8), - #[codec(index = 123)] - Mortal123(::core::primitive::u8), - #[codec(index = 124)] - Mortal124(::core::primitive::u8), - #[codec(index = 125)] - Mortal125(::core::primitive::u8), - #[codec(index = 126)] - Mortal126(::core::primitive::u8), - #[codec(index = 127)] - Mortal127(::core::primitive::u8), - #[codec(index = 128)] - Mortal128(::core::primitive::u8), - #[codec(index = 129)] - Mortal129(::core::primitive::u8), - #[codec(index = 130)] - Mortal130(::core::primitive::u8), - #[codec(index = 131)] - Mortal131(::core::primitive::u8), - #[codec(index = 132)] - Mortal132(::core::primitive::u8), - #[codec(index = 133)] - Mortal133(::core::primitive::u8), - #[codec(index = 134)] - Mortal134(::core::primitive::u8), - #[codec(index = 135)] - Mortal135(::core::primitive::u8), - #[codec(index = 136)] - Mortal136(::core::primitive::u8), - #[codec(index = 137)] - Mortal137(::core::primitive::u8), - #[codec(index = 138)] - Mortal138(::core::primitive::u8), - #[codec(index = 139)] - Mortal139(::core::primitive::u8), - #[codec(index = 140)] - Mortal140(::core::primitive::u8), - #[codec(index = 141)] - Mortal141(::core::primitive::u8), - #[codec(index = 142)] - Mortal142(::core::primitive::u8), - #[codec(index = 143)] - Mortal143(::core::primitive::u8), - #[codec(index = 144)] - Mortal144(::core::primitive::u8), - #[codec(index = 145)] - Mortal145(::core::primitive::u8), - #[codec(index = 146)] - Mortal146(::core::primitive::u8), - #[codec(index = 147)] - Mortal147(::core::primitive::u8), - #[codec(index = 148)] - Mortal148(::core::primitive::u8), - #[codec(index = 149)] - Mortal149(::core::primitive::u8), - #[codec(index = 150)] - Mortal150(::core::primitive::u8), - #[codec(index = 151)] - Mortal151(::core::primitive::u8), - #[codec(index = 152)] - Mortal152(::core::primitive::u8), - #[codec(index = 153)] - Mortal153(::core::primitive::u8), - #[codec(index = 154)] - Mortal154(::core::primitive::u8), - #[codec(index = 155)] - Mortal155(::core::primitive::u8), - #[codec(index = 156)] - Mortal156(::core::primitive::u8), - #[codec(index = 157)] - Mortal157(::core::primitive::u8), - #[codec(index = 158)] - Mortal158(::core::primitive::u8), - #[codec(index = 159)] - Mortal159(::core::primitive::u8), - #[codec(index = 160)] - Mortal160(::core::primitive::u8), - #[codec(index = 161)] - Mortal161(::core::primitive::u8), - #[codec(index = 162)] - Mortal162(::core::primitive::u8), - #[codec(index = 163)] - Mortal163(::core::primitive::u8), - #[codec(index = 164)] - Mortal164(::core::primitive::u8), - #[codec(index = 165)] - Mortal165(::core::primitive::u8), - #[codec(index = 166)] - Mortal166(::core::primitive::u8), - #[codec(index = 167)] - Mortal167(::core::primitive::u8), - #[codec(index = 168)] - Mortal168(::core::primitive::u8), - #[codec(index = 169)] - Mortal169(::core::primitive::u8), - #[codec(index = 170)] - Mortal170(::core::primitive::u8), - #[codec(index = 171)] - Mortal171(::core::primitive::u8), - #[codec(index = 172)] - Mortal172(::core::primitive::u8), - #[codec(index = 173)] - Mortal173(::core::primitive::u8), - #[codec(index = 174)] - Mortal174(::core::primitive::u8), - #[codec(index = 175)] - Mortal175(::core::primitive::u8), - #[codec(index = 176)] - Mortal176(::core::primitive::u8), - #[codec(index = 177)] - Mortal177(::core::primitive::u8), - #[codec(index = 178)] - Mortal178(::core::primitive::u8), - #[codec(index = 179)] - Mortal179(::core::primitive::u8), - #[codec(index = 180)] - Mortal180(::core::primitive::u8), - #[codec(index = 181)] - Mortal181(::core::primitive::u8), - #[codec(index = 182)] - Mortal182(::core::primitive::u8), - #[codec(index = 183)] - Mortal183(::core::primitive::u8), - #[codec(index = 184)] - Mortal184(::core::primitive::u8), - #[codec(index = 185)] - Mortal185(::core::primitive::u8), - #[codec(index = 186)] - Mortal186(::core::primitive::u8), - #[codec(index = 187)] - Mortal187(::core::primitive::u8), - #[codec(index = 188)] - Mortal188(::core::primitive::u8), - #[codec(index = 189)] - Mortal189(::core::primitive::u8), - #[codec(index = 190)] - Mortal190(::core::primitive::u8), - #[codec(index = 191)] - Mortal191(::core::primitive::u8), - #[codec(index = 192)] - Mortal192(::core::primitive::u8), - #[codec(index = 193)] - Mortal193(::core::primitive::u8), - #[codec(index = 194)] - Mortal194(::core::primitive::u8), - #[codec(index = 195)] - Mortal195(::core::primitive::u8), - #[codec(index = 196)] - Mortal196(::core::primitive::u8), - #[codec(index = 197)] - Mortal197(::core::primitive::u8), - #[codec(index = 198)] - Mortal198(::core::primitive::u8), - #[codec(index = 199)] - Mortal199(::core::primitive::u8), - #[codec(index = 200)] - Mortal200(::core::primitive::u8), - #[codec(index = 201)] - Mortal201(::core::primitive::u8), - #[codec(index = 202)] - Mortal202(::core::primitive::u8), - #[codec(index = 203)] - Mortal203(::core::primitive::u8), - #[codec(index = 204)] - Mortal204(::core::primitive::u8), - #[codec(index = 205)] - Mortal205(::core::primitive::u8), - #[codec(index = 206)] - Mortal206(::core::primitive::u8), - #[codec(index = 207)] - Mortal207(::core::primitive::u8), - #[codec(index = 208)] - Mortal208(::core::primitive::u8), - #[codec(index = 209)] - Mortal209(::core::primitive::u8), - #[codec(index = 210)] - Mortal210(::core::primitive::u8), - #[codec(index = 211)] - Mortal211(::core::primitive::u8), - #[codec(index = 212)] - Mortal212(::core::primitive::u8), - #[codec(index = 213)] - Mortal213(::core::primitive::u8), - #[codec(index = 214)] - Mortal214(::core::primitive::u8), - #[codec(index = 215)] - Mortal215(::core::primitive::u8), - #[codec(index = 216)] - Mortal216(::core::primitive::u8), - #[codec(index = 217)] - Mortal217(::core::primitive::u8), - #[codec(index = 218)] - Mortal218(::core::primitive::u8), - #[codec(index = 219)] - Mortal219(::core::primitive::u8), - #[codec(index = 220)] - Mortal220(::core::primitive::u8), - #[codec(index = 221)] - Mortal221(::core::primitive::u8), - #[codec(index = 222)] - Mortal222(::core::primitive::u8), - #[codec(index = 223)] - Mortal223(::core::primitive::u8), - #[codec(index = 224)] - Mortal224(::core::primitive::u8), - #[codec(index = 225)] - Mortal225(::core::primitive::u8), - #[codec(index = 226)] - Mortal226(::core::primitive::u8), - #[codec(index = 227)] - Mortal227(::core::primitive::u8), - #[codec(index = 228)] - Mortal228(::core::primitive::u8), - #[codec(index = 229)] - Mortal229(::core::primitive::u8), - #[codec(index = 230)] - Mortal230(::core::primitive::u8), - #[codec(index = 231)] - Mortal231(::core::primitive::u8), - #[codec(index = 232)] - Mortal232(::core::primitive::u8), - #[codec(index = 233)] - Mortal233(::core::primitive::u8), - #[codec(index = 234)] - Mortal234(::core::primitive::u8), - #[codec(index = 235)] - Mortal235(::core::primitive::u8), - #[codec(index = 236)] - Mortal236(::core::primitive::u8), - #[codec(index = 237)] - Mortal237(::core::primitive::u8), - #[codec(index = 238)] - Mortal238(::core::primitive::u8), - #[codec(index = 239)] - Mortal239(::core::primitive::u8), - #[codec(index = 240)] - Mortal240(::core::primitive::u8), - #[codec(index = 241)] - Mortal241(::core::primitive::u8), - #[codec(index = 242)] - Mortal242(::core::primitive::u8), - #[codec(index = 243)] - Mortal243(::core::primitive::u8), - #[codec(index = 244)] - Mortal244(::core::primitive::u8), - #[codec(index = 245)] - Mortal245(::core::primitive::u8), - #[codec(index = 246)] - Mortal246(::core::primitive::u8), - #[codec(index = 247)] - Mortal247(::core::primitive::u8), - #[codec(index = 248)] - Mortal248(::core::primitive::u8), - #[codec(index = 249)] - Mortal249(::core::primitive::u8), - #[codec(index = 250)] - Mortal250(::core::primitive::u8), - #[codec(index = 251)] - Mortal251(::core::primitive::u8), - #[codec(index = 252)] - Mortal252(::core::primitive::u8), - #[codec(index = 253)] - Mortal253(::core::primitive::u8), - #[codec(index = 254)] - Mortal254(::core::primitive::u8), - #[codec(index = 255)] - Mortal255(::core::primitive::u8), - } - } - pub mod header { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Header<_0> { - pub parent_hash: ::subxt::utils::H256, - #[codec(compact)] - pub number: _0, - pub state_root: ::subxt::utils::H256, - pub extrinsics_root: ::subxt::utils::H256, - pub digest: runtime_types::sp_runtime::generic::digest::Digest, - } - } - } - pub mod transaction_validity { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum InvalidTransaction { - #[codec(index = 0)] - Call, - #[codec(index = 1)] - Payment, - #[codec(index = 2)] - Future, - #[codec(index = 3)] - Stale, - #[codec(index = 4)] - BadProof, - #[codec(index = 5)] - AncientBirthBlock, - #[codec(index = 6)] - ExhaustsResources, - #[codec(index = 7)] - Custom(::core::primitive::u8), - #[codec(index = 8)] - BadMandatory, - #[codec(index = 9)] - MandatoryValidation, - #[codec(index = 10)] - BadSigner, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum TransactionSource { - #[codec(index = 0)] - InBlock, - #[codec(index = 1)] - Local, - #[codec(index = 2)] - External, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum TransactionValidityError { - #[codec(index = 0)] - Invalid(runtime_types::sp_runtime::transaction_validity::InvalidTransaction), - #[codec(index = 1)] - Unknown(runtime_types::sp_runtime::transaction_validity::UnknownTransaction), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum UnknownTransaction { - #[codec(index = 0)] - CannotLookup, - #[codec(index = 1)] - NoUnsignedValidator, - #[codec(index = 2)] - Custom(::core::primitive::u8), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ValidTransaction { - pub priority: ::core::primitive::u64, - pub requires: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, - pub provides: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, - pub longevity: ::core::primitive::u64, - pub propagate: ::core::primitive::bool, - } - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum DispatchError { - #[codec(index = 0)] - Other, - #[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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ModuleError { - pub index: ::core::primitive::u8, - pub error: [::core::primitive::u8; 4usize], - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum MultiSignature { - #[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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum TokenError { - #[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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum TransactionalError { - #[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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct StorageProof { - pub trie_nodes: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, - } - } - } - pub mod sp_version { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct 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; - pub mod weight_v2 { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Weight { - #[codec(compact)] - pub ref_time: ::core::primitive::u64, - #[codec(compact)] - pub proof_size: ::core::primitive::u64, - } - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct MultiLocation { - pub parents: ::core::primitive::u8, - pub interior: runtime_types::xcm::v3::junctions::Junctions, - } - } - } - pub mod v4 { - use super::runtime_types; - pub mod asset { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Asset { - pub id: runtime_types::staging_xcm::v4::asset::AssetId, - pub fun: runtime_types::staging_xcm::v4::asset::Fungibility, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum AssetFilter { - #[codec(index = 0)] - Definite(runtime_types::staging_xcm::v4::asset::Assets), - #[codec(index = 1)] - Wild(runtime_types::staging_xcm::v4::asset::WildAsset), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AssetId(pub runtime_types::staging_xcm::v4::location::Location); - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum AssetInstance { - #[codec(index = 0)] - Undefined, - #[codec(index = 1)] - Index(#[codec(compact)] ::core::primitive::u128), - #[codec(index = 2)] - Array4([::core::primitive::u8; 4usize]), - #[codec(index = 3)] - Array8([::core::primitive::u8; 8usize]), - #[codec(index = 4)] - Array16([::core::primitive::u8; 16usize]), - #[codec(index = 5)] - Array32([::core::primitive::u8; 32usize]), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Assets( - pub ::std::vec::Vec, - ); - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Fungibility { - #[codec(index = 0)] - Fungible(#[codec(compact)] ::core::primitive::u128), - #[codec(index = 1)] - NonFungible(runtime_types::staging_xcm::v4::asset::AssetInstance), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum WildFungibility { - #[codec(index = 0)] - Fungible, - #[codec(index = 1)] - NonFungible, - } - } - pub mod junction { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum NetworkId { - #[codec(index = 0)] - ByGenesis([::core::primitive::u8; 32usize]), - #[codec(index = 1)] - ByFork { - block_number: ::core::primitive::u64, - block_hash: [::core::primitive::u8; 32usize], - }, - #[codec(index = 2)] - Polkadot, - #[codec(index = 3)] - Kusama, - #[codec(index = 4)] - Westend, - #[codec(index = 5)] - Rococo, - #[codec(index = 6)] - Wococo, - #[codec(index = 7)] - Ethereum { - #[codec(compact)] - chain_id: ::core::primitive::u64, - }, - #[codec(index = 8)] - BitcoinCore, - #[codec(index = 9)] - BitcoinCash, - #[codec(index = 10)] - PolkadotBulletin, - } - } - pub mod junctions { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Junctions { - #[codec(index = 0)] - Here, - #[codec(index = 1)] - X1([runtime_types::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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Outcome { - #[codec(index = 0)] - Complete { used: runtime_types::sp_weights::weight_v2::Weight }, - #[codec(index = 1)] - Incomplete { - used: runtime_types::sp_weights::weight_v2::Weight, - error: runtime_types::xcm::v3::traits::Error, - }, - #[codec(index = 2)] - Error { error: runtime_types::xcm::v3::traits::Error }, - } - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Instruction { - #[codec(index = 0)] - WithdrawAsset(runtime_types::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: runtime_types::sp_weights::weight_v2::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: runtime_types::sp_weights::weight_v2::Weight, - call: runtime_types::xcm::double_encoded::DoubleEncoded, - }, - #[codec(index = 7)] - HrmpNewChannelOpenRequest { - #[codec(compact)] - sender: ::core::primitive::u32, - #[codec(compact)] - max_message_size: ::core::primitive::u32, - #[codec(compact)] - max_capacity: ::core::primitive::u32, - }, - #[codec(index = 8)] - HrmpChannelAccepted { - #[codec(compact)] - recipient: ::core::primitive::u32, - }, - #[codec(index = 9)] - HrmpChannelClosing { - #[codec(compact)] - initiator: ::core::primitive::u32, - #[codec(compact)] - sender: ::core::primitive::u32, - #[codec(compact)] - recipient: ::core::primitive::u32, - }, - #[codec(index = 10)] - ClearOrigin, - #[codec(index = 11)] - DescendOrigin(runtime_types::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: runtime_types::sp_weights::weight_v2::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, - ), - #[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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum 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: runtime_types::sp_weights::weight_v2::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: runtime_types::sp_weights::weight_v2::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: runtime_types::sp_weights::weight_v2::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, - ), - #[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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct PalletInfo { - #[codec(compact)] - pub index: ::core::primitive::u32, - pub name: runtime_types::bounded_collections::bounded_vec::BoundedVec< - ::core::primitive::u8, - >, - pub module_name: runtime_types::bounded_collections::bounded_vec::BoundedVec< - ::core::primitive::u8, - >, - #[codec(compact)] - pub major: ::core::primitive::u32, - #[codec(compact)] - pub minor: ::core::primitive::u32, - #[codec(compact)] - pub patch: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct QueryResponseInfo { - pub destination: runtime_types::staging_xcm::v4::location::Location, - #[codec(compact)] - pub query_id: ::core::primitive::u64, - pub max_weight: runtime_types::sp_weights::weight_v2::Weight, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Response { - #[codec(index = 0)] - Null, - #[codec(index = 1)] - Assets(runtime_types::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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Xcm(pub ::std::vec::Vec); - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Xcm2(pub ::std::vec::Vec); - } - } - pub mod xcm { - use super::runtime_types; - pub mod double_encoded { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct DoubleEncoded { - pub encoded: ::std::vec::Vec<::core::primitive::u8>, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct DoubleEncoded2 { - pub encoded: ::std::vec::Vec<::core::primitive::u8>, - } - } - pub mod v2 { - use super::runtime_types; - pub mod junction { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum AssetId { - #[codec(index = 0)] - Concrete(runtime_types::xcm::v2::multilocation::MultiLocation), - #[codec(index = 1)] - Abstract(::std::vec::Vec<::core::primitive::u8>), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Fungibility { - #[codec(index = 0)] - Fungible(#[codec(compact)] ::core::primitive::u128), - #[codec(index = 1)] - NonFungible(runtime_types::xcm::v2::multiasset::AssetInstance), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct MultiAsset { - pub id: runtime_types::xcm::v2::multiasset::AssetId, - pub fun: runtime_types::xcm::v2::multiasset::Fungibility, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum MultiAssetFilter { - #[codec(index = 0)] - Definite(runtime_types::xcm::v2::multiasset::MultiAssets), - #[codec(index = 1)] - Wild(runtime_types::xcm::v2::multiasset::WildMultiAsset), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct MultiAssets( - pub ::std::vec::Vec, - ); - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum WildFungibility { - #[codec(index = 0)] - Fungible, - #[codec(index = 1)] - NonFungible, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum WildMultiAsset { - #[codec(index = 0)] - All, - #[codec(index = 1)] - AllOf { - id: runtime_types::xcm::v2::multiasset::AssetId, - fun: runtime_types::xcm::v2::multiasset::WildFungibility, - }, - } - } - pub mod multilocation { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct MultiLocation { - pub parents: ::core::primitive::u8, - pub interior: runtime_types::xcm::v2::multilocation::Junctions, - } - } - pub mod traits { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Error { - #[codec(index = 0)] - Overflow, - #[codec(index = 1)] - Unimplemented, - #[codec(index = 2)] - UntrustedReserveLocation, - #[codec(index = 3)] - UntrustedTeleportLocation, - #[codec(index = 4)] - 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum BodyId { - #[codec(index = 0)] - Unit, - #[codec(index = 1)] - Named( - runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< - ::core::primitive::u8, - >, - ), - #[codec(index = 2)] - Index(#[codec(compact)] ::core::primitive::u32), - #[codec(index = 3)] - Executive, - #[codec(index = 4)] - Technical, - #[codec(index = 5)] - Legislative, - #[codec(index = 6)] - Judicial, - #[codec(index = 7)] - Defense, - #[codec(index = 8)] - Administration, - #[codec(index = 9)] - Treasury, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum BodyPart { - #[codec(index = 0)] - Voice, - #[codec(index = 1)] - Members { - #[codec(compact)] - count: ::core::primitive::u32, - }, - #[codec(index = 2)] - Fraction { - #[codec(compact)] - nom: ::core::primitive::u32, - #[codec(compact)] - denom: ::core::primitive::u32, - }, - #[codec(index = 3)] - AtLeastProportion { - #[codec(compact)] - nom: ::core::primitive::u32, - #[codec(compact)] - denom: ::core::primitive::u32, - }, - #[codec(index = 4)] - MoreThanProportion { - #[codec(compact)] - nom: ::core::primitive::u32, - #[codec(compact)] - denom: ::core::primitive::u32, - }, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Instruction { - #[codec(index = 0)] - WithdrawAsset(runtime_types::xcm::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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum NetworkId { - #[codec(index = 0)] - Any, - #[codec(index = 1)] - Named( - runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< - ::core::primitive::u8, - >, - ), - #[codec(index = 2)] - Polkadot, - #[codec(index = 3)] - Kusama, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum OriginKind { - #[codec(index = 0)] - Native, - #[codec(index = 1)] - SovereignAccount, - #[codec(index = 2)] - Superuser, - #[codec(index = 3)] - Xcm, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Response { - #[codec(index = 0)] - Null, - #[codec(index = 1)] - Assets(runtime_types::xcm::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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum WeightLimit { - #[codec(index = 0)] - Unlimited, - #[codec(index = 1)] - Limited(#[codec(compact)] ::core::primitive::u64), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Xcm(pub ::std::vec::Vec); - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Xcm2(pub ::std::vec::Vec); - } - pub mod v3 { - use super::runtime_types; - pub mod junction { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum BodyId { - #[codec(index = 0)] - Unit, - #[codec(index = 1)] - Moniker([::core::primitive::u8; 4usize]), - #[codec(index = 2)] - Index(#[codec(compact)] ::core::primitive::u32), - #[codec(index = 3)] - Executive, - #[codec(index = 4)] - Technical, - #[codec(index = 5)] - Legislative, - #[codec(index = 6)] - Judicial, - #[codec(index = 7)] - Defense, - #[codec(index = 8)] - Administration, - #[codec(index = 9)] - Treasury, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum BodyPart { - #[codec(index = 0)] - Voice, - #[codec(index = 1)] - Members { - #[codec(compact)] - count: ::core::primitive::u32, - }, - #[codec(index = 2)] - Fraction { - #[codec(compact)] - nom: ::core::primitive::u32, - #[codec(compact)] - denom: ::core::primitive::u32, - }, - #[codec(index = 3)] - AtLeastProportion { - #[codec(compact)] - nom: ::core::primitive::u32, - #[codec(compact)] - denom: ::core::primitive::u32, - }, - #[codec(index = 4)] - MoreThanProportion { - #[codec(compact)] - nom: ::core::primitive::u32, - #[codec(compact)] - denom: ::core::primitive::u32, - }, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Junction { - #[codec(index = 0)] - Parachain(#[codec(compact)] ::core::primitive::u32), - #[codec(index = 1)] - AccountId32 { - network: - ::core::option::Option, - id: [::core::primitive::u8; 32usize], - }, - #[codec(index = 2)] - AccountIndex64 { - network: - ::core::option::Option, - #[codec(compact)] - index: ::core::primitive::u64, - }, - #[codec(index = 3)] - AccountKey20 { - network: - ::core::option::Option, - key: [::core::primitive::u8; 20usize], - }, - #[codec(index = 4)] - PalletInstance(::core::primitive::u8), - #[codec(index = 5)] - GeneralIndex(#[codec(compact)] ::core::primitive::u128), - #[codec(index = 6)] - GeneralKey { - length: ::core::primitive::u8, - data: [::core::primitive::u8; 32usize], - }, - #[codec(index = 7)] - OnlyChild, - #[codec(index = 8)] - Plurality { - id: runtime_types::xcm::v3::junction::BodyId, - part: runtime_types::xcm::v3::junction::BodyPart, - }, - #[codec(index = 9)] - GlobalConsensus(runtime_types::xcm::v3::junction::NetworkId), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum NetworkId { - #[codec(index = 0)] - ByGenesis([::core::primitive::u8; 32usize]), - #[codec(index = 1)] - ByFork { - block_number: ::core::primitive::u64, - block_hash: [::core::primitive::u8; 32usize], - }, - #[codec(index = 2)] - Polkadot, - #[codec(index = 3)] - Kusama, - #[codec(index = 4)] - Westend, - #[codec(index = 5)] - Rococo, - #[codec(index = 6)] - Wococo, - #[codec(index = 7)] - Ethereum { - #[codec(compact)] - chain_id: ::core::primitive::u64, - }, - #[codec(index = 8)] - BitcoinCore, - #[codec(index = 9)] - BitcoinCash, - #[codec(index = 10)] - PolkadotBulletin, - } - } - pub mod junctions { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Junctions { - #[codec(index = 0)] - Here, - #[codec(index = 1)] - X1(runtime_types::xcm::v3::junction::Junction), - #[codec(index = 2)] - X2( - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - ), - #[codec(index = 3)] - X3( - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - ), - #[codec(index = 4)] - X4( - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - ), - #[codec(index = 5)] - X5( - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - ), - #[codec(index = 6)] - X6( - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - ), - #[codec(index = 7)] - X7( - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - ), - #[codec(index = 8)] - X8( - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - runtime_types::xcm::v3::junction::Junction, - ), - } - } - pub mod multiasset { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum AssetId { - #[codec(index = 0)] - Concrete(runtime_types::staging_xcm::v3::multilocation::MultiLocation), - #[codec(index = 1)] - Abstract([::core::primitive::u8; 32usize]), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum AssetInstance { - #[codec(index = 0)] - Undefined, - #[codec(index = 1)] - Index(#[codec(compact)] ::core::primitive::u128), - #[codec(index = 2)] - Array4([::core::primitive::u8; 4usize]), - #[codec(index = 3)] - Array8([::core::primitive::u8; 8usize]), - #[codec(index = 4)] - Array16([::core::primitive::u8; 16usize]), - #[codec(index = 5)] - Array32([::core::primitive::u8; 32usize]), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Fungibility { - #[codec(index = 0)] - Fungible(#[codec(compact)] ::core::primitive::u128), - #[codec(index = 1)] - NonFungible(runtime_types::xcm::v3::multiasset::AssetInstance), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct MultiAsset { - pub id: runtime_types::xcm::v3::multiasset::AssetId, - pub fun: runtime_types::xcm::v3::multiasset::Fungibility, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum MultiAssetFilter { - #[codec(index = 0)] - Definite(runtime_types::xcm::v3::multiasset::MultiAssets), - #[codec(index = 1)] - Wild(runtime_types::xcm::v3::multiasset::WildMultiAsset), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct MultiAssets( - pub ::std::vec::Vec, - ); - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum WildFungibility { - #[codec(index = 0)] - Fungible, - #[codec(index = 1)] - NonFungible, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum WildMultiAsset { - #[codec(index = 0)] - All, - #[codec(index = 1)] - AllOf { - id: runtime_types::xcm::v3::multiasset::AssetId, - fun: runtime_types::xcm::v3::multiasset::WildFungibility, - }, - #[codec(index = 2)] - AllCounted(#[codec(compact)] ::core::primitive::u32), - #[codec(index = 3)] - AllOfCounted { - id: runtime_types::xcm::v3::multiasset::AssetId, - fun: runtime_types::xcm::v3::multiasset::WildFungibility, - #[codec(compact)] - count: ::core::primitive::u32, - }, - } - } - pub mod traits { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Error { - #[codec(index = 0)] - Overflow, - #[codec(index = 1)] - Unimplemented, - #[codec(index = 2)] - UntrustedReserveLocation, - #[codec(index = 3)] - UntrustedTeleportLocation, - #[codec(index = 4)] - LocationFull, - #[codec(index = 5)] - LocationNotInvertible, - #[codec(index = 6)] - BadOrigin, - #[codec(index = 7)] - InvalidLocation, - #[codec(index = 8)] - AssetNotFound, - #[codec(index = 9)] - FailedToTransactAsset, - #[codec(index = 10)] - NotWithdrawable, - #[codec(index = 11)] - LocationCannotHold, - #[codec(index = 12)] - ExceedsMaxMessageSize, - #[codec(index = 13)] - DestinationUnsupported, - #[codec(index = 14)] - Transport, - #[codec(index = 15)] - Unroutable, - #[codec(index = 16)] - UnknownClaim, - #[codec(index = 17)] - FailedToDecode, - #[codec(index = 18)] - MaxWeightInvalid, - #[codec(index = 19)] - NotHoldingFees, - #[codec(index = 20)] - TooExpensive, - #[codec(index = 21)] - Trap(::core::primitive::u64), - #[codec(index = 22)] - ExpectationFalse, - #[codec(index = 23)] - PalletNotFound, - #[codec(index = 24)] - NameMismatch, - #[codec(index = 25)] - VersionIncompatible, - #[codec(index = 26)] - HoldingWouldOverflow, - #[codec(index = 27)] - ExportError, - #[codec(index = 28)] - ReanchorFailed, - #[codec(index = 29)] - NoDeal, - #[codec(index = 30)] - FeesNotMet, - #[codec(index = 31)] - LockError, - #[codec(index = 32)] - NoPermission, - #[codec(index = 33)] - Unanchored, - #[codec(index = 34)] - NotDepositable, - #[codec(index = 35)] - UnhandledXcmVersion, - #[codec(index = 36)] - WeightLimitReached(runtime_types::sp_weights::weight_v2::Weight), - #[codec(index = 37)] - Barrier, - #[codec(index = 38)] - WeightNotComputable, - #[codec(index = 39)] - ExceedsStackLimit, - } - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Instruction { - #[codec(index = 0)] - WithdrawAsset(runtime_types::xcm::v3::multiasset::MultiAssets), - #[codec(index = 1)] - ReserveAssetDeposited(runtime_types::xcm::v3::multiasset::MultiAssets), - #[codec(index = 2)] - ReceiveTeleportedAsset(runtime_types::xcm::v3::multiasset::MultiAssets), - #[codec(index = 3)] - QueryResponse { - #[codec(compact)] - query_id: ::core::primitive::u64, - response: runtime_types::xcm::v3::Response, - max_weight: runtime_types::sp_weights::weight_v2::Weight, - querier: ::core::option::Option< - runtime_types::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: runtime_types::sp_weights::weight_v2::Weight, - call: runtime_types::xcm::double_encoded::DoubleEncoded, - }, - #[codec(index = 7)] - HrmpNewChannelOpenRequest { - #[codec(compact)] - sender: ::core::primitive::u32, - #[codec(compact)] - max_message_size: ::core::primitive::u32, - #[codec(compact)] - max_capacity: ::core::primitive::u32, - }, - #[codec(index = 8)] - HrmpChannelAccepted { - #[codec(compact)] - recipient: ::core::primitive::u32, - }, - #[codec(index = 9)] - HrmpChannelClosing { - #[codec(compact)] - initiator: ::core::primitive::u32, - #[codec(compact)] - sender: ::core::primitive::u32, - #[codec(compact)] - recipient: ::core::primitive::u32, - }, - #[codec(index = 10)] - ClearOrigin, - #[codec(index = 11)] - DescendOrigin(runtime_types::xcm::v3::junctions::Junctions), - #[codec(index = 12)] - ReportError(runtime_types::xcm::v3::QueryResponseInfo), - #[codec(index = 13)] - DepositAsset { - assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter, - beneficiary: runtime_types::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: runtime_types::sp_weights::weight_v2::Weight, - }, - #[codec(index = 27)] - UnsubscribeVersion, - #[codec(index = 28)] - BurnAsset(runtime_types::xcm::v3::multiasset::MultiAssets), - #[codec(index = 29)] - ExpectAsset(runtime_types::xcm::v3::multiasset::MultiAssets), - #[codec(index = 30)] - ExpectOrigin( - ::core::option::Option< - runtime_types::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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum 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: runtime_types::sp_weights::weight_v2::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: runtime_types::sp_weights::weight_v2::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: runtime_types::sp_weights::weight_v2::Weight, - }, - #[codec(index = 27)] - UnsubscribeVersion, - #[codec(index = 28)] - BurnAsset(runtime_types::xcm::v3::multiasset::MultiAssets), - #[codec(index = 29)] - ExpectAsset(runtime_types::xcm::v3::multiasset::MultiAssets), - #[codec(index = 30)] - ExpectOrigin( - ::core::option::Option< - runtime_types::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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum MaybeErrorCode { - #[codec(index = 0)] - Success, - #[codec(index = 1)] - Error( - runtime_types::bounded_collections::bounded_vec::BoundedVec< - ::core::primitive::u8, - >, - ), - #[codec(index = 2)] - TruncatedError( - runtime_types::bounded_collections::bounded_vec::BoundedVec< - ::core::primitive::u8, - >, - ), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct PalletInfo { - #[codec(compact)] - pub index: ::core::primitive::u32, - pub name: runtime_types::bounded_collections::bounded_vec::BoundedVec< - ::core::primitive::u8, - >, - pub module_name: runtime_types::bounded_collections::bounded_vec::BoundedVec< - ::core::primitive::u8, - >, - #[codec(compact)] - pub major: ::core::primitive::u32, - #[codec(compact)] - pub minor: ::core::primitive::u32, - #[codec(compact)] - pub patch: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct QueryResponseInfo { - pub destination: runtime_types::staging_xcm::v3::multilocation::MultiLocation, - #[codec(compact)] - pub query_id: ::core::primitive::u64, - pub max_weight: runtime_types::sp_weights::weight_v2::Weight, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Response { - #[codec(index = 0)] - Null, - #[codec(index = 1)] - Assets(runtime_types::xcm::v3::multiasset::MultiAssets), - #[codec(index = 2)] - ExecutionResult( - ::core::option::Option<( - ::core::primitive::u32, - runtime_types::xcm::v3::traits::Error, - )>, - ), - #[codec(index = 3)] - Version(::core::primitive::u32), - #[codec(index = 4)] - PalletsInfo( - runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::xcm::v3::PalletInfo, - >, - ), - #[codec(index = 5)] - DispatchResult(runtime_types::xcm::v3::MaybeErrorCode), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum WeightLimit { - #[codec(index = 0)] - Unlimited, - #[codec(index = 1)] - Limited(runtime_types::sp_weights::weight_v2::Weight), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Xcm(pub ::std::vec::Vec); - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Xcm2(pub ::std::vec::Vec); - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum VersionedAssetId { - #[codec(index = 3)] - V3(runtime_types::xcm::v3::multiasset::AssetId), - #[codec(index = 4)] - V4(runtime_types::staging_xcm::v4::asset::AssetId), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum 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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum VersionedResponse { - #[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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum VersionedXcm { - #[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( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Debug, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum 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), - } - } - } +// Copyright (C) Magnet. +// This file is part of Magnet. + +// Magnet 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. + +// Magnet 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 Magnet. If not, see . + +//! Coretime parachain runtime metadata. +//! +//! The data type here is generated by the subxt tool and represents the event-related data of the coretime parachain. +//! +#[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, +)] +# [codec (crate = :: subxt :: ext :: codec)] +#[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] +#[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] +pub enum CoreAssignment { + #[codec(index = 0)] + Idle, + #[codec(index = 1)] + Pool, + #[codec(index = 2)] + Task(u32), +} + +#[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, +)] +# [codec (crate = :: subxt :: ext :: codec)] +#[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] +#[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] +pub struct CoreAssigned { + pub core: u16, + pub when: u32, + pub assignment: Vec<(CoreAssignment, u16)>, +} + +impl subxt::events::StaticEvent for CoreAssigned { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "CoreAssigned"; +} + +#[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, +)] +# [codec (crate = :: subxt :: ext :: codec)] +#[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] +#[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] +pub struct CoreMask(pub [u8; 10usize]); + +#[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, +)] +# [codec (crate = :: subxt :: ext :: codec)] +#[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] +#[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] +pub struct RegionId { + pub begin: u32, + pub core: u16, + pub mask: CoreMask, +} + +#[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, +)] +# [codec (crate = :: subxt :: ext :: codec)] +#[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] +#[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] +pub struct Assigned { + pub region_id: RegionId, + pub duration: u32, + pub task: u32, +} + +impl ::subxt::events::StaticEvent for Assigned { + const PALLET: &'static str = "Broker"; + const EVENT: &'static str = "Assigned"; } diff --git a/client/coretime/common/Cargo.toml b/client/coretime/common/Cargo.toml index ef8b15c..d9d4a4d 100644 --- a/client/coretime/common/Cargo.toml +++ b/client/coretime/common/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "mc-coretime-common" -authors = ["Anonymous"] +authors = ["Magnet"] description = "magnet-coretime" license = "Apache License 2.0" homepage = "https://magnet.magport.io/" diff --git a/client/coretime/common/src/lib.rs b/client/coretime/common/src/lib.rs index 6c9ff84..3ba3c4b 100644 --- a/client/coretime/common/src/lib.rs +++ b/client/coretime/common/src/lib.rs @@ -13,36 +13,25 @@ // You should have received a copy of the GNU General Public License // along with Magnet. If not, see . -use codec::{Codec, Decode}; -use cumulus_primitives_core::BlockT; + +//! Coretime common function of client. +//! + +use codec::Decode; use cumulus_primitives_core::ParaId; use cumulus_relay_chain_interface::RelayChainInterface; use mp_coretime_common::well_known_keys::paras_para_lifecycles; -use pallet_broker::RegionRecord; -use pallet_broker::{CoreMask, RegionId}; -use polkadot_primitives::AccountId; -use polkadot_primitives::Balance; -use runtime_parachains::{configuration::HostConfiguration, paras::ParaLifecycle}; -use sc_client_api::UsageProvider; -use sc_service::TaskManager; -use sp_api::ProvideRuntimeApi; -use sp_core::crypto::{ByteArray, Pair}; -use sp_core::H256; +use runtime_parachains::paras::ParaLifecycle; +use sp_core::{ + crypto::{ByteArray, Pair}, + H256, +}; use sp_keystore::KeystorePtr; -use sp_state_machine::StorageProof; -use sp_storage::StorageKey; use std::error::Error; -use std::sync::Arc; -use subxt::client::OfflineClientT; -use subxt::{ - backend::{legacy::LegacyRpcMethods, rpc::RpcClient}, - config::polkadot::PolkadotExtrinsicParamsBuilder as Params, - tx::Signer, - utils::MultiSignature, - Config, OnlineClient, PolkadotConfig, -}; + type AuthorityId

=

::Public; +/// Is it now a parathread. pub async fn is_parathread( relay_chain: impl RelayChainInterface + Clone, p_hash: H256, @@ -66,6 +55,7 @@ pub async fn is_parathread( Ok(is_parathread) } +/// Randomly select a collator to place an order. pub async fn order_slot( idx: u32, authorities: &[AuthorityId

], diff --git a/node/src/service.rs b/node/src/service.rs index 412e52b..1e0ed41 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -500,7 +500,6 @@ async fn start_node_impl( relay_chain_interface.clone(), &task_manager, bulk_mem_record.clone(), - params.keystore_container.keystore().clone(), )?; start_consensus( client.clone(), diff --git a/pallets/bulk/Cargo.toml b/pallets/bulk/Cargo.toml index db6da54..637ef19 100644 --- a/pallets/bulk/Cargo.toml +++ b/pallets/bulk/Cargo.toml @@ -19,7 +19,7 @@ hex-literal = { workspace = true } # Local mp-coretime-bulk = { path = "../../primitives/coretime/bulk", default-features = false } -dp-chain-state-snapshot = { path = "../../primitives/chain-state-snapshot", default-features = false} +mp-coretime-common = { path = "../../primitives/coretime/common", default-features = false} # Cumulus cumulus-pallet-parachain-system = { workspace = true, default-features = false} @@ -85,7 +85,7 @@ std = [ "sp-trie/std", "pallet-balances/std", "sp-core/std", - "dp-chain-state-snapshot/std", + "mp-coretime-common/std", "pallet-broker/std", ] try-runtime = [ diff --git a/pallets/bulk/src/lib.rs b/pallets/bulk/src/lib.rs index c70c80d..69cf8a0 100644 --- a/pallets/bulk/src/lib.rs +++ b/pallets/bulk/src/lib.rs @@ -14,16 +14,10 @@ // You should have received a copy of the GNU General Public License // along with Magnet. If not, see . -//! # Order Pallet +//! # Bulk Pallet //! -//! This pallet implements the recording and query functions of purchasing ondemand core. +//! This pallet implements the recording and query functions of purchasing bulk core. //! -//! By obtaining the inherent nature of the block, parsing it out of the validation_data of the relaychain, -//! and querying whether there is an OnDemandOrderPlaced event, obtaining the order account and price from the event, -//! and then writing this record to the blockchain. -//! -//! Provides many query methods for node or other pallets to use, such as querying the gas consumed by placing an order in a certain block, -//! whether the order has been executed, whether the order threshold has been reached, etc. #![cfg_attr(not(feature = "std"), no_std)] use codec::{Decode, MaxEncodedLen}; @@ -44,7 +38,7 @@ use sp_runtime::sp_std::{prelude::*, vec}; use sp_runtime::{traits::Member, RuntimeAppPublic}; pub mod weights; use cumulus_pallet_parachain_system::RelaychainStateProvider; -use dp_chain_state_snapshot::GenericStateProof; +use mp_coretime_common::chain_state_snapshot::GenericStateProof; use pallet_broker::RegionRecord; use sp_core::crypto::ByteArray; use weights::WeightInfo; diff --git a/primitives/chain-state-snapshot/Cargo.toml b/primitives/chain-state-snapshot/Cargo.toml deleted file mode 100644 index eb20666..0000000 --- a/primitives/chain-state-snapshot/Cargo.toml +++ /dev/null @@ -1,24 +0,0 @@ -[package] -name = "dp-chain-state-snapshot" -authors = { workspace = true } -description = "Primitives related to chain state snapshot" -edition = "2021" -license = "GPL-3.0-only" -version = "0.1.0" - -[package.metadata.docs.rs] -targets = [ "x86_64-unknown-linux-gnu" ] -[dependencies] - -# Substrate -parity-scale-codec = { workspace = true } -sp-runtime = { workspace = true } -sp-state-machine = { workspace = true } -sp-trie = { workspace = true } - -# Cumulus -cumulus-primitives-core = { workspace = true } - -[features] -default = [ "std" ] -std = [ "cumulus-primitives-core/std", "parity-scale-codec/std", "sp-runtime/std", "sp-state-machine/std", "sp-trie/std" ] diff --git a/primitives/coretime/bulk/Cargo.toml b/primitives/coretime/bulk/Cargo.toml index b1719ce..2724931 100644 --- a/primitives/coretime/bulk/Cargo.toml +++ b/primitives/coretime/bulk/Cargo.toml @@ -3,8 +3,8 @@ name = "mp-coretime-bulk" authors.workspace = true description = "primitives related to bulk inherent" edition.workspace = true -license = "Unlicense" -version = "0.2.0" +license = "Apache-2.0" +version = "0.1.0" [dependencies] log = { workspace = true, default-features = false } diff --git a/primitives/coretime/bulk/src/inherent_client.rs b/primitives/coretime/bulk/src/inherent_client.rs index 3ad57b3..45ec087 100644 --- a/primitives/coretime/bulk/src/inherent_client.rs +++ b/primitives/coretime/bulk/src/inherent_client.rs @@ -14,15 +14,8 @@ // You should have received a copy of the GNU General Public License // along with Magnet. If not, see . -use crate::well_known_keys::broker_regions; -use cumulus_primitives_core::relay_chain::Balance; use pallet_broker::RegionId; -use sp_consensus_aura::sr25519::AuthorityId; -use { - crate::BulkInherentData, - cumulus_primitives_core::{ParaId, PersistedValidationData}, - cumulus_relay_chain_interface::{PHash, RelayChainInterface}, -}; +use {crate::BulkInherentData, cumulus_relay_chain_interface::PHash}; impl BulkInherentData { /// Create the [`BulkInherentData`] at the given `relay_parent`. diff --git a/primitives/coretime/bulk/src/lib.rs b/primitives/coretime/bulk/src/lib.rs index de7880d..259b6ba 100644 --- a/primitives/coretime/bulk/src/lib.rs +++ b/primitives/coretime/bulk/src/lib.rs @@ -14,26 +14,22 @@ // You should have received a copy of the GNU General Public License // along with Magnet. If not, see . -//! # Order Inherent Primitives +//! # Bulk Inherent Primitives //! //! This crate defines those primitives that should be taken into account when building -//! the order pallet inherent +//! the bulk pallet inherent //! #![cfg_attr(not(feature = "std"), no_std)] -use cumulus_primitives_core::{ - relay_chain::BlockNumber as RelayBlockNumber, relay_chain::Hash as PHash, ParaId, - PersistedValidationData, -}; -use sp_core::H256; +use cumulus_primitives_core::relay_chain::Hash as PHash; use sp_runtime::sp_std::vec::Vec; -use sp_runtime::traits::MaybeDisplay; #[cfg(feature = "std")] pub mod inherent_client; pub mod well_known_keys; -use codec::{Codec, Decode, Encode}; +use codec::{Decode, Encode}; use pallet_broker::RegionId; use {scale_info::TypeInfo, sp_inherents::InherentIdentifier}; +/// Inherent data of bulk mode. #[derive(Encode, Decode, sp_core::RuntimeDebug, Clone, PartialEq, TypeInfo)] pub struct BulkInherentData { /// Proof of coretime parachain storage. @@ -73,18 +69,22 @@ pub struct BulkMemRecord { pub start_relaychain_height: u32, /// Relaychain block number of end schedule coretime core. pub end_relaychain_height: u32, + /// Coretime duration. pub duration: u32, + /// Status of bulk record. pub status: BulkStatus, } -// Identifier of the order inherent +// Identifier of the bulk inherent pub const INHERENT_IDENTIFIER: InherentIdentifier = *b"bulkihrt"; sp_api::decl_runtime_apis! { #[api_version(2)] pub trait BulkRuntimeApi { + // Rpc url of coretime parachain. fn rpc_url() -> Vec; + // Block number of relaychain. fn relaychain_block_number()->u32; } } diff --git a/primitives/coretime/bulk/src/well_known_keys.rs b/primitives/coretime/bulk/src/well_known_keys.rs index 952c190..b2d98bf 100644 --- a/primitives/coretime/bulk/src/well_known_keys.rs +++ b/primitives/coretime/bulk/src/well_known_keys.rs @@ -17,14 +17,7 @@ //! Keys of well known. #![cfg_attr(not(feature = "std"), no_std)] -use cumulus_primitives_core::relay_chain::CoreIndex; -use { - cumulus_primitives_core::ParaId, - pallet_broker::RegionId, - sp_core::Encode, - sp_io::hashing::{blake2_128, twox_256, twox_64}, - sp_std::vec::Vec, -}; +use {pallet_broker::RegionId, sp_core::Encode, sp_io::hashing::blake2_128, sp_std::vec::Vec}; // XXHash a String:Broker Regions pub const REGIONS: &[u8] = diff --git a/primitives/coretime/common/Cargo.toml b/primitives/coretime/common/Cargo.toml index 23822f4..52fa023 100644 --- a/primitives/coretime/common/Cargo.toml +++ b/primitives/coretime/common/Cargo.toml @@ -1,10 +1,10 @@ [package] name = "mp-coretime-common" authors.workspace = true -description = "primitives related to coretime" +description = "common primitives related to coretime" edition.workspace = true -license = "Unlicense" -version = "0.2.0" +license = "Apache-2.0" +version = "0.1.0" [dependencies] log = { workspace = true, default-features = false } diff --git a/primitives/chain-state-snapshot/src/lib.rs b/primitives/coretime/common/src/chain_state_snapshot.rs similarity index 94% rename from primitives/chain-state-snapshot/src/lib.rs rename to primitives/coretime/common/src/chain_state_snapshot.rs index 30ce68a..94c25c4 100644 --- a/primitives/chain-state-snapshot/src/lib.rs +++ b/primitives/coretime/common/src/chain_state_snapshot.rs @@ -1,18 +1,18 @@ -// Copyright (C) Moondance Labs Ltd. -// This file is part of Tanssi. +// Copyright (C) Magnet. +// This file is part of Magnet. -// Tanssi is free software: you can redistribute it and/or modify +// Magnet 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. -// Tanssi is distributed in the hope that it will be useful, +// Magnet 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 Tanssi. If not, see +// along with Magnet. If not, see . //! # Chain Snapshot Primitives //! @@ -21,7 +21,7 @@ #![cfg_attr(not(feature = "std"), no_std)] use { - parity_scale_codec::Decode, + codec::Decode, sp_runtime::traits::HashingFor, sp_state_machine::{Backend, TrieBackend, TrieBackendBuilder}, sp_trie::{HashDBT, MemoryDB, StorageProof, EMPTY_PREFIX}, diff --git a/primitives/coretime/common/src/lib.rs b/primitives/coretime/common/src/lib.rs index 236265b..53b7ae3 100644 --- a/primitives/coretime/common/src/lib.rs +++ b/primitives/coretime/common/src/lib.rs @@ -14,10 +14,9 @@ // You should have received a copy of the GNU General Public License // along with Magnet. If not, see . -//! # Order Inherent Primitives +//! Common Magnet Primitives //! -//! This crate defines those primitives that should be taken into account when building -//! the order pallet inherent //! #![cfg_attr(not(feature = "std"), no_std)] +pub mod chain_state_snapshot; pub mod well_known_keys; From 418d65ee7507393a1de1c1e4d33a3942e05acafa Mon Sep 17 00:00:00 2001 From: sulijia <984115358@qq.com> Date: Sat, 29 Jun 2024 18:01:46 +0800 Subject: [PATCH 13/22] add bulk pallet comment , update bulk pallet code of create record, add bechmark function of create_record --- client/coretime/bulk/src/lib.rs | 3 +- pallets/bulk/Cargo.toml | 3 +- pallets/bulk/src/benchmarking.rs | 46 ++++++++++++- pallets/bulk/src/lib.rs | 115 +++++++++++++++++++------------ pallets/bulk/src/mock.rs | 3 +- pallets/bulk/src/tests.rs | 4 -- pallets/bulk/src/weights.rs | 38 ++++++++-- weights.rs | 69 +++++++++++++++++++ 8 files changed, 224 insertions(+), 57 deletions(-) create mode 100644 weights.rs diff --git a/client/coretime/bulk/src/lib.rs b/client/coretime/bulk/src/lib.rs index c4f11b9..37950b2 100644 --- a/client/coretime/bulk/src/lib.rs +++ b/client/coretime/bulk/src/lib.rs @@ -42,7 +42,6 @@ use sp_api::ProvideRuntimeApi; use sp_application_crypto::AppPublic; use sp_consensus_aura::AuraApi; use sp_core::{crypto::Pair, H256}; -use sp_keystore::KeystorePtr; use sp_runtime::traits::{Block as BlockT, Member}; use sp_state_machine::StorageProof; use std::{error::Error, sync::Arc}; @@ -64,7 +63,7 @@ fn u8_array_to_u128(array: [u8; 10]) -> u128 { pub async fn coretime_bulk_task( parachain: &P, relay_chain: R, - height: RelayBlockNumber, + _height: RelayBlockNumber, p_hash: H256, para_id: ParaId, bulk_record: Arc>, diff --git a/pallets/bulk/Cargo.toml b/pallets/bulk/Cargo.toml index 637ef19..a21384f 100644 --- a/pallets/bulk/Cargo.toml +++ b/pallets/bulk/Cargo.toml @@ -15,6 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"] codec = { package = "parity-scale-codec", workspace = true, features = ["derive"], default-features = false } scale-info = { workspace = true, default-features = false, features = ["derive"] } log = { workspace = true, default-features = false } +hex = { workspace = true } hex-literal = { workspace = true } # Local @@ -43,7 +44,7 @@ pallet-broker = { workspace = true, default-features = false } [dev-dependencies] serde = { workspace = true } codec = { workspace = true, features = ["derive"], default-features = false } -hex = { workspace = true, default-features = false } +hex = { workspace = true } # Substrate sp-core = { workspace = true, default-features = false} diff --git a/pallets/bulk/src/benchmarking.rs b/pallets/bulk/src/benchmarking.rs index 2344657..cbecad3 100644 --- a/pallets/bulk/src/benchmarking.rs +++ b/pallets/bulk/src/benchmarking.rs @@ -20,10 +20,54 @@ use super::*; #[allow(unused)] use crate::Pallet as Bulk; -use frame_benchmarking::{benchmarks, impl_benchmark_test_suite, whitelisted_caller}; +use frame_benchmarking::{benchmarks, impl_benchmark_test_suite}; use frame_system::RawOrigin; +use pallet_broker::{CoreMask, RegionId}; + +mod test_sproof { + use sp_trie::StorageProof; + #[derive(Clone, Default)] + pub struct ParaHeaderSproofBuilder { + pub num_items: usize, + } + + impl ParaHeaderSproofBuilder { + pub fn into_state_root_and_proof( + self, + ) -> (cumulus_primitives_core::relay_chain::Hash, StorageProof) { + let encoded = crate::proof_data::STORAGE_ROOT[self.num_items]; + + let root = hex::decode(encoded).unwrap(); + let proof = StorageProof::new( + crate::proof_data::STORAGE_PROOF.iter().map(|s| hex::decode(s).unwrap()), + ); + + (<[u8; 32]>::try_from(root).unwrap().into(), proof) + } + } +} benchmarks! { + create_record { + let s in 0..100; + let mut sproof_builder = test_sproof::ParaHeaderSproofBuilder::default(); + sproof_builder.num_items = 0; + + let (storage_root, coretime_chain_state_proof) = sproof_builder.into_state_root_and_proof(); + let core_mask = CoreMask::from(0xFFFFFFFFFFFFFFFFFFFF); + let region_id = RegionId { begin: 12, core: 1, mask: core_mask }; + let bulk_inherent_data = mp_coretime_bulk::BulkInherentData { + storage_proof: Some(coretime_chain_state_proof), + storage_root, + region_id, + start_relaychain_height: 120, + end_relaychain_height: 220, + }; + }: _(RawOrigin::None, bulk_inherent_data) + verify { + assert_eq!(RecordIndex::::get(), 1); + } + set_rpc_url { let s in 0 .. 100; let url = BoundedVec::try_from("ws://127.0.0.1:8855".as_bytes().to_vec()).unwrap(); diff --git a/pallets/bulk/src/lib.rs b/pallets/bulk/src/lib.rs index 69cf8a0..bbe06df 100644 --- a/pallets/bulk/src/lib.rs +++ b/pallets/bulk/src/lib.rs @@ -21,29 +21,27 @@ #![cfg_attr(not(feature = "std"), no_std)] use codec::{Decode, MaxEncodedLen}; -use cumulus_pallet_parachain_system::{ - relay_state_snapshot::Error as Relay_Error, RelayChainStateProof, -}; +use cumulus_pallet_parachain_system::RelaychainStateProvider; use frame_support::{ dispatch::DispatchResultWithPostInfo, dispatch::PostDispatchInfo, pallet_prelude::*, traits::Currency, }; use frame_system::pallet_prelude::*; -use frame_system::{self, EventRecord}; -use mp_coretime_bulk::well_known_keys::{broker_regions, REGIONS}; -pub use pallet::*; -use primitives::Balance; -use primitives::{Id as ParaId, PersistedValidationData}; -use sp_runtime::sp_std::{prelude::*, vec}; -use sp_runtime::{traits::Member, RuntimeAppPublic}; -pub mod weights; -use cumulus_pallet_parachain_system::RelaychainStateProvider; +use mp_coretime_bulk::well_known_keys::broker_regions; use mp_coretime_common::chain_state_snapshot::GenericStateProof; +pub use pallet::*; use pallet_broker::RegionRecord; -use sp_core::crypto::ByteArray; +use primitives::Balance; +use sp_runtime::{ + sp_std::{prelude::*, vec}, + traits::Member, + RuntimeAppPublic, +}; use weights::WeightInfo; + #[cfg(test)] mod mock; +pub mod weights; #[cfg(test)] mod tests; @@ -55,7 +53,7 @@ mod proof_data; type BalanceOf = <::Currency as Currency<::AccountId>>::Balance; -/// ondemand order information. +/// Purchase coretime information. #[derive(Encode, Decode, Default, Clone, Copy, TypeInfo, MaxEncodedLen, Debug)] pub struct BulkRecord { /// Account for purchase. @@ -112,11 +110,12 @@ pub mod pallet { 0 } + /// The index of the record, plus one for each additional record. #[pallet::storage] #[pallet::getter(fn record_index)] pub type RecordIndex = StorageValue<_, u32, ValueQuery, RecordIndexOnEmpty>; - /// Order Information Map. + /// Bulk purchase Information Map. #[pallet::storage] #[pallet::getter(fn bulk_records)] pub type BulkRecords = @@ -144,20 +143,35 @@ pub mod pallet { #[pallet::event] #[pallet::generate_deposit(pub(super) fn deposit_event)] pub enum Event { - /// Create order event. - OrderCreate { sequence_number: u64, orderer: T::AuthorityId }, + /// Create record event. + RecordCreated { + /// Account for purchase. + purchaser: T::AuthorityId, + /// Purchase price. + price: BalanceOf, + /// Purchase duration. + duration: u32, + /// Relaychain block number of start schedule coretime core. + start_relaychain_height: u32, + /// Relaychain block number of end schedule coretime core. + end_relaychain_height: u32, + }, } #[pallet::error] pub enum Error { /// Error reading data. FailedReading, + /// Storage proof is none. + ProofNone, + /// Create root proof failed. + FailedCreateProof, + /// Purchaser is none. + PurchaserNone, } #[pallet::hooks] - impl Hooks> for Pallet { - fn on_finalize(block_number: BlockNumberFor) {} - } + impl Hooks> for Pallet {} #[pallet::inherent] impl ProvideInherent for Pallet { @@ -187,14 +201,14 @@ pub mod pallet { #[pallet::call] impl Pallet { - /// Create an order, which is called by the pallet. + /// Create an bulk record, which is called by the pallet. /// Users cannot actively call this function. - /// Obtain order information by parsing inherited data. + /// Obtain record information by parsing inherited data. /// /// Parameters: /// - `data`: The inherent data. #[pallet::call_index(0)] - #[pallet::weight((0, DispatchClass::Mandatory))] + #[pallet::weight((::WeightInfo::create_record(1), DispatchClass::Mandatory))] pub fn create_record( origin: OriginFor, data: mp_coretime_bulk::BulkInherentData, @@ -202,36 +216,51 @@ pub mod pallet { ensure_none(origin)?; let mp_coretime_bulk::BulkInherentData { - storage_proof, + storage_proof: p_storage_proof, storage_root, region_id, start_relaychain_height, end_relaychain_height, } = data; - let relay_storage_rooted_proof: GenericStateProof< + let storage_proof = p_storage_proof.ok_or(Error::::ProofNone)?; + // Create coretime parachain root proof + let storage_rooted_proof: GenericStateProof< cumulus_primitives_core::relay_chain::Block, - > = GenericStateProof::new(storage_root, storage_proof.unwrap()).unwrap(); + > = GenericStateProof::new(storage_root, storage_proof) + .map_err(|_| Error::::FailedCreateProof)?; + let key = broker_regions(region_id); - let region_record_data = relay_storage_rooted_proof + // Read RegionRecord from proof. + let region_record = storage_rooted_proof .read_entry::>>(key.as_slice(), None) - .ok(); - if let Some(region_record) = region_record_data { - let old_record_index = RecordIndex::::get(); - BulkRecords::::insert( - old_record_index, - BulkRecord::, T::AuthorityId> { - purchaser: region_record.owner, - price: region_record.paid.unwrap(), - duration: region_record.end, - start_relaychain_height, - end_relaychain_height, - }, - ); - RecordIndex::::set(old_record_index + 1); - } + .ok() + .ok_or(Error::::FailedReading)?; + + let old_record_index = RecordIndex::::get(); + let balance = region_record.paid.ok_or(Error::::PurchaserNone)?; + let purchaser = region_record.owner; + // Create record of purchase coretime. + BulkRecords::::insert( + old_record_index, + BulkRecord::, T::AuthorityId> { + purchaser: purchaser.clone(), + price: balance, + duration: region_record.end, + start_relaychain_height, + end_relaychain_height, + }, + ); + RecordIndex::::set(old_record_index + 1); + Self::deposit_event(Event::RecordCreated { + purchaser, + price: balance, + duration: region_record.end, + start_relaychain_height, + end_relaychain_height, + }); - let total_weight = T::DbWeight::get().reads_writes(2, 1); + let total_weight = T::WeightInfo::create_record(1); Ok(PostDispatchInfo { actual_weight: Some(total_weight), pays_fee: Pays::No }) } diff --git a/pallets/bulk/src/mock.rs b/pallets/bulk/src/mock.rs index ecec2e9..b93f58e 100644 --- a/pallets/bulk/src/mock.rs +++ b/pallets/bulk/src/mock.rs @@ -15,7 +15,6 @@ // along with Magnet. If not, see . use crate::{self as bulk_pallet, BulkGasCost}; -use codec::Encode; use cumulus_pallet_parachain_system::{RelayChainState, RelaychainStateProvider}; pub use frame_support::{ construct_runtime, derive_impl, parameter_types, @@ -137,7 +136,7 @@ where T::AccountId: From<[u8; 32]>, { fn gas_cost( - block_number: BlockNumberFor, + _block_number: BlockNumberFor, ) -> Result, sp_runtime::DispatchError> { Ok(None) } diff --git a/pallets/bulk/src/tests.rs b/pallets/bulk/src/tests.rs index 0f5c3d2..8477a0f 100644 --- a/pallets/bulk/src/tests.rs +++ b/pallets/bulk/src/tests.rs @@ -16,16 +16,12 @@ use crate::mock::*; use crate::proof_data::{STORAGE_PROOF, STORAGE_ROOT}; -use codec::Decode; -use cumulus_primitives_core::{ParaId, PersistedValidationData}; use frame_support::{ inherent::{InherentData, ProvideInherent}, traits::UnfilteredDispatchable, }; use frame_system::RawOrigin; use pallet_broker::{CoreMask, RegionId}; -use parachains_common::AccountId; -use primitives::HeadData; use sp_trie::StorageProof; #[test] diff --git a/pallets/bulk/src/weights.rs b/pallets/bulk/src/weights.rs index 0c6bf90..dd99c4a 100644 --- a/pallets/bulk/src/weights.rs +++ b/pallets/bulk/src/weights.rs @@ -36,10 +36,28 @@ use core::marker::PhantomData; /// Weight functions needed for pallet. pub trait WeightInfo { fn set_rpc_url() -> Weight; + fn create_record(s: u32, ) -> Weight; } /// Weight functions for `pallet_bulk`. pub struct SubstrateWeight(PhantomData); impl WeightInfo for SubstrateWeight { + /// Storage: `BulkPallet::RecordIndex` (r:1 w:1) + /// Proof: `BulkPallet::RecordIndex` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `BulkPallet::BulkRecords` (r:0 w:1) + /// Proof: `BulkPallet::BulkRecords` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) + /// The range of component `s` is `[0, 100]`. + fn create_record(s: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `147` + // Estimated: `1489` + // Minimum execution time: 30_127_000 picoseconds. + Weight::from_parts(33_526_304, 0) + .saturating_add(Weight::from_parts(0, 1489)) + // Standard Error: 1_136 + .saturating_add(Weight::from_parts(2_315, 0).saturating_mul(s.into())) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(2)) + } /// Storage: `BulkPallet::RpcUrl` (r:0 w:1) /// Proof: `BulkPallet::RpcUrl` (`max_values`: Some(1), `max_size`: Some(302), added: 797, mode: `MaxEncodedLen`) /// The range of component `s` is `[0, 100]`. @@ -47,20 +65,32 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_486_000 picoseconds. - Weight::from_parts(4_089_957, 0) + // Minimum execution time: 4_729_000 picoseconds. + Weight::from_parts(5_325_688, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } } impl WeightInfo for () { + fn create_record(s: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `147` + // Estimated: `1489` + // Minimum execution time: 30_127_000 picoseconds. + Weight::from_parts(33_526_304, 0) + .saturating_add(Weight::from_parts(0, 1489)) + // Standard Error: 1_136 + .saturating_add(Weight::from_parts(2_315, 0).saturating_mul(s.into())) + .saturating_add(RocksDbWeight::get().reads(1)) + .saturating_add(RocksDbWeight::get().writes(2)) + } fn set_rpc_url() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_486_000 picoseconds. - Weight::from_parts(4_089_957, 0) + // Minimum execution time: 4_729_000 picoseconds. + Weight::from_parts(5_325_688, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(RocksDbWeight::get().writes(1)) } diff --git a/weights.rs b/weights.rs new file mode 100644 index 0000000..fc08080 --- /dev/null +++ b/weights.rs @@ -0,0 +1,69 @@ + +//! Autogenerated weights for `pallet_bulk` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2024-06-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `sulijia-PC`, CPU: `AMD Ryzen 7 5800U with Radeon Graphics` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: 1024 + +// Executed Command: +// ./target/release/parachain-magnet-node +// benchmark +// pallet +// --chain +// dev +// --execution=wasm +// --wasm-execution=compiled +// --pallet +// pallet_bulk +// --extrinsic +// * +// --steps +// 50 +// --repeat +// 20 +// --output +// weights.rs + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] + +use frame_support::{traits::Get, weights::Weight}; +use core::marker::PhantomData; + +/// Weight functions for `pallet_bulk`. +pub struct WeightInfo(PhantomData); +impl pallet_bulk::WeightInfo for WeightInfo { + /// Storage: `BulkPallet::RecordIndex` (r:1 w:1) + /// Proof: `BulkPallet::RecordIndex` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `BulkPallet::BulkRecords` (r:0 w:1) + /// Proof: `BulkPallet::BulkRecords` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) + /// The range of component `s` is `[0, 100]`. + fn create_record(s: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `147` + // Estimated: `1489` + // Minimum execution time: 30_127_000 picoseconds. + Weight::from_parts(33_526_304, 0) + .saturating_add(Weight::from_parts(0, 1489)) + // Standard Error: 1_136 + .saturating_add(Weight::from_parts(2_315, 0).saturating_mul(s.into())) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `BulkPallet::RpcUrl` (r:0 w:1) + /// Proof: `BulkPallet::RpcUrl` (`max_values`: Some(1), `max_size`: Some(302), added: 797, mode: `MaxEncodedLen`) + /// The range of component `s` is `[0, 100]`. + fn set_rpc_url(_s: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 4_729_000 picoseconds. + Weight::from_parts(5_325_688, 0) + .saturating_add(Weight::from_parts(0, 0)) + .saturating_add(T::DbWeight::get().writes(1)) + } +} From 693fa29990262aa3927d105cb920c432d7784648 Mon Sep 17 00:00:00 2001 From: sulijia <984115358@qq.com> Date: Sun, 30 Jun 2024 17:35:15 +0800 Subject: [PATCH 14/22] Added a function to check whether the genesis block hash of the coretime parachain is consistent, can record bulk purchase repeatedly --- client/coretime/bulk/src/lib.rs | 196 +++++++++--------- node/src/chain_spec.rs | 3 +- node/src/service.rs | 51 +++-- pallets/bulk/src/benchmarking.rs | 6 +- pallets/bulk/src/lib.rs | 42 +++- pallets/bulk/src/mock.rs | 12 ++ pallets/bulk/src/proof_data.rs | 19 +- pallets/bulk/src/tests.rs | 10 +- pallets/bulk/src/weights.rs | 44 ++-- primitives/coretime/bulk/src/lib.rs | 12 +- .../coretime/common/src/well_known_keys.rs | 21 ++ weights.rs | 69 ------ 12 files changed, 254 insertions(+), 231 deletions(-) delete mode 100644 weights.rs diff --git a/client/coretime/bulk/src/lib.rs b/client/coretime/bulk/src/lib.rs index 37950b2..1e5d064 100644 --- a/client/coretime/bulk/src/lib.rs +++ b/client/coretime/bulk/src/lib.rs @@ -31,9 +31,12 @@ use cumulus_relay_chain_interface::RelayChainInterface; use futures::{lock::Mutex, pin_mut, select, FutureExt, StreamExt}; use mc_coretime_common::is_parathread; use mp_coretime_bulk::{ - self, well_known_keys::broker_regions, BulkMemRecord, BulkRuntimeApi, BulkStatus, + self, well_known_keys::broker_regions, BulkMemRecord, BulkMemRecordItem, BulkRuntimeApi, + BulkStatus, +}; +use mp_coretime_common::{ + chain_state_snapshot::GenericStateProof, well_known_keys::SYSTEM_BLOCKHASH_GENESIS, }; -use mp_coretime_common::chain_state_snapshot::GenericStateProof; use pallet_broker::{CoreMask, RegionId, RegionRecord}; use polkadot_primitives::{AccountId, Balance}; use sc_client_api::UsageProvider; @@ -87,7 +90,6 @@ where let mut bulk_record_local = bulk_record.lock().await; - let bulk_status = bulk_record_local.status.clone(); // Get the final block of the coretime parachain through subxt. let url = parachain.runtime_api().rpc_url(hash)?; @@ -111,102 +113,110 @@ where let events = block.events().await?; for event in events.iter() { let event = event?; - // Init status is Purchased,assume that a user has already purchased coretime. - if bulk_status == BulkStatus::Purchased { - // Query Broker Assigned Event - let ev_assigned = event.as_event::(); - - if let Ok(assigned_event) = ev_assigned { - if let Some(ev) = assigned_event { - log::info!( - "Find Assigned event:{:?},{:?},{:?}", - ev.region_id, - ev.task, - ev.duration - ); - - let pid: u32 = para_id.into(); - - if ev.task == pid { - // Call rpc state_getReadProof. - let rpc_client = RpcClient::from_url(rpc_url).await?; - - let rpc = LegacyRpcMethods::::new(rpc_client.clone()); - - let mask = u8_array_to_u128(ev.region_id.mask.0); - - let core_mask = CoreMask::from(mask); - - let region_id = RegionId { - begin: ev.region_id.begin, - core: ev.region_id.core, - mask: core_mask, + // Query Broker Assigned Event + let ev_assigned = event.as_event::(); + + if let Ok(assigned_event) = ev_assigned { + if let Some(ev) = assigned_event { + log::info!( + "=====================Find Assigned event:{:?},{:?},{:?}================", + ev.region_id, + ev.task, + ev.duration + ); + + let pid: u32 = para_id.into(); + + if ev.task == pid { + // Call rpc state_getReadProof. + let rpc_client = RpcClient::from_url(rpc_url).await?; + + let rpc = LegacyRpcMethods::::new(rpc_client.clone()); + + let mask = u8_array_to_u128(ev.region_id.mask.0); + + let core_mask = CoreMask::from(mask); + + let region_id = RegionId { + begin: ev.region_id.begin, + core: ev.region_id.core, + mask: core_mask, + }; + + let region_key = broker_regions(region_id); + // coretime parachain genesis hash key + let block_hash_key = SYSTEM_BLOCKHASH_GENESIS; + let mut relevant_keys = Vec::new(); + relevant_keys.push(region_key.as_slice()); + relevant_keys.push(block_hash_key); + + let proof = rpc + .state_get_read_proof(relevant_keys, Some(events.block_hash())) + .await + .unwrap(); + let storage_proof = + StorageProof::new(proof.proof.into_iter().map(|bytes| bytes.to_vec())); + + let storage_root = block.header().state_root; + // Create coretime parachain storage root proof. + let relay_storage_rooted_proof: GenericStateProof< + cumulus_primitives_core::relay_chain::Block, + > = GenericStateProof::new(storage_root, storage_proof.clone()).unwrap(); + + let head_data = relay_storage_rooted_proof + .read_entry::>(region_key.as_slice(), None) + .ok(); + // Check proof is ok. + if head_data.is_some() { + // Record some data. + let record_item = BulkMemRecordItem { + storage_proof, + storage_root, + region_id, + duration: ev.duration, + status: BulkStatus::Assigned, + start_relaychain_height: 0, + end_relaychain_height: 0, }; - - let key = broker_regions(region_id); - - let mut relevant_keys = Vec::new(); - relevant_keys.push(key.as_slice()); - - let proof = rpc - .state_get_read_proof(relevant_keys, Some(events.block_hash())) - .await - .unwrap(); - let storage_proof = - StorageProof::new(proof.proof.into_iter().map(|bytes| bytes.to_vec())); - - let storage_root = block.header().state_root; - // Create coretime parachain storage root proof. - let relay_storage_rooted_proof: GenericStateProof< - cumulus_primitives_core::relay_chain::Block, - > = GenericStateProof::new(storage_root, storage_proof.clone()).unwrap(); - - let head_data = relay_storage_rooted_proof - .read_entry::>(key.as_slice(), None) - .ok(); - // Check proof is ok. - if head_data.is_some() { - bulk_record_local.storage_proof = storage_proof; - bulk_record_local.storage_root = storage_root; - bulk_record_local.region_id = region_id; - bulk_record_local.status = BulkStatus::Assigned; - bulk_record_local.duration = ev.duration; - } + bulk_record_local.items.push(record_item); } } continue; } } - // Should first record Assigned event info. - if bulk_status == BulkStatus::Assigned { - // Query CoreAssigned event. - let ev_core_assigned = event.as_event::(); - - if let Ok(core_assigned_event) = ev_core_assigned { - if let Some(ev) = core_assigned_event { - log::info!( - "Find CoreAssigned event: {:?},{:?},{:?}", - ev.core, - ev.when, - ev.assignment - ); - - for (core_assign, _) in ev.assignment { - if let metadata::CoreAssignment::Task(id) = core_assign { - let pid: u32 = para_id.into(); - if id == pid { - bulk_record_local.start_relaychain_height = ev.when; - - let constant_query = - subxt::dynamic::constant("Broker", "TimeslicePeriod"); - - let time_slice = - api.constants().at(&constant_query)?.to_value()?.context; - - bulk_record_local.end_relaychain_height = - ev.when + bulk_record_local.duration * time_slice; - // find it. - bulk_record_local.status = BulkStatus::CoreAssigned; + + // Query CoreAssigned event. + let ev_core_assigned = event.as_event::(); + + if let Ok(core_assigned_event) = ev_core_assigned { + if let Some(ev) = core_assigned_event { + log::info!( + "=====================Find CoreAssigned event: {:?},{:?},{:?}=================", + ev.core, + ev.when, + ev.assignment + ); + + for (core_assign, _) in ev.assignment { + if let metadata::CoreAssignment::Task(id) = core_assign { + let pid: u32 = para_id.into(); + if id == pid { + let items = &mut bulk_record_local.items; + for item in items { + if item.status == BulkStatus::Assigned { + item.start_relaychain_height = ev.when; + + let constant_query = + subxt::dynamic::constant("Broker", "TimeslicePeriod"); + + let time_slice = + api.constants().at(&constant_query)?.to_value()?.context; + + item.end_relaychain_height = + ev.when + item.duration * time_slice; + // find it. + item.status = BulkStatus::CoreAssigned; + } } } } diff --git a/node/src/chain_spec.rs b/node/src/chain_spec.rs index 1749e9a..cf1a7ab 100644 --- a/node/src/chain_spec.rs +++ b/node/src/chain_spec.rs @@ -283,7 +283,8 @@ fn testnet_genesis( "evm": { "accounts": evm_accounts }, "bulkPallet":{ - "rpcUrl": b"ws://127.0.0.1:8855".to_vec() + "rpcUrl": b"ws://127.0.0.1:8855".to_vec(), + "genesisHash": U256::from_str("0x4ea18c8f295ba903acbbed39c70ea0569cf1705fa954a537ffa3b8b7125eaf58").expect("internal U256 is valid; qed") }, }) } diff --git a/node/src/service.rs b/node/src/service.rs index 1e0ed41..6a1ac26 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -484,16 +484,8 @@ async fn start_node_impl( // order_record.clone(), // rpc_address, // )?; - let bulk_mem_record = Arc::new(Mutex::new(BulkMemRecord { - storage_proof: StorageProof::empty(), - storage_root: Default::default(), - coretime_para_height: 0, - region_id: 0u128.into(), - start_relaychain_height: 0, - end_relaychain_height: 0, - status: BulkStatus::Purchased, - duration: 0, - })); + let bulk_mem_record = + Arc::new(Mutex::new(BulkMemRecord { coretime_para_height: 0, items: Vec::new() })); spawn_bulk_task::<_, _, _, sp_consensus_aura::sr25519::AuthorityPair>( client.clone(), para_id, @@ -610,22 +602,39 @@ fn start_consensus( let bulk_mem_record_clone = bulk_mem_record.clone(); async move { let mut bulk_mem_record_clone_local = bulk_mem_record_clone.lock().await; - let storage_proof = - if bulk_mem_record_clone_local.status == BulkStatus::CoreAssigned { - Some(&bulk_mem_record_clone_local.storage_proof) - } else { - None - }; + let record_items = &mut bulk_mem_record_clone_local.items; + let item = record_items.iter().find(|item| item.status == BulkStatus::CoreAssigned); + let ( + storage_proof, + storage_root, + region_id, + start_relaychain_height, + end_relaychain_height, + ) = if let Some(item) = item { + ( + Some(&item.storage_proof), + item.storage_root, + item.region_id, + item.start_relaychain_height, + item.end_relaychain_height, + ) + } else { + (None, Default::default(), 0u128.into(), 0, 0) + }; let bulk_inherent = mp_coretime_bulk::BulkInherentData::create_at( storage_proof, - bulk_mem_record_clone_local.storage_root, - bulk_mem_record_clone_local.region_id, - bulk_mem_record_clone_local.start_relaychain_height, - bulk_mem_record_clone_local.end_relaychain_height, + storage_root, + region_id, + start_relaychain_height, + end_relaychain_height, ) .await; if storage_proof.is_some() { - bulk_mem_record_clone_local.status = BulkStatus::Purchased; + if let Some(pos) = + record_items.iter().position(|item| item.status == BulkStatus::CoreAssigned) + { + record_items.remove(pos); + } } let bulk_inherent = bulk_inherent.ok_or_else(|| { Box::::from( diff --git a/pallets/bulk/src/benchmarking.rs b/pallets/bulk/src/benchmarking.rs index cbecad3..cd88655 100644 --- a/pallets/bulk/src/benchmarking.rs +++ b/pallets/bulk/src/benchmarking.rs @@ -55,13 +55,13 @@ benchmarks! { let (storage_root, coretime_chain_state_proof) = sproof_builder.into_state_root_and_proof(); let core_mask = CoreMask::from(0xFFFFFFFFFFFFFFFFFFFF); - let region_id = RegionId { begin: 12, core: 1, mask: core_mask }; + let region_id = RegionId { begin: 13, core: 1, mask: core_mask }; let bulk_inherent_data = mp_coretime_bulk::BulkInherentData { storage_proof: Some(coretime_chain_state_proof), storage_root, region_id, - start_relaychain_height: 120, - end_relaychain_height: 220, + start_relaychain_height: 130, + end_relaychain_height: 170, }; }: _(RawOrigin::None, bulk_inherent_data) verify { diff --git a/pallets/bulk/src/lib.rs b/pallets/bulk/src/lib.rs index bbe06df..7917900 100644 --- a/pallets/bulk/src/lib.rs +++ b/pallets/bulk/src/lib.rs @@ -22,13 +22,16 @@ #![cfg_attr(not(feature = "std"), no_std)] use codec::{Decode, MaxEncodedLen}; use cumulus_pallet_parachain_system::RelaychainStateProvider; +use cumulus_primitives_core::relay_chain::Hash as PHash; use frame_support::{ dispatch::DispatchResultWithPostInfo, dispatch::PostDispatchInfo, pallet_prelude::*, traits::Currency, }; use frame_system::pallet_prelude::*; use mp_coretime_bulk::well_known_keys::broker_regions; -use mp_coretime_common::chain_state_snapshot::GenericStateProof; +use mp_coretime_common::{ + chain_state_snapshot::GenericStateProof, well_known_keys::SYSTEM_BLOCKHASH_GENESIS, +}; pub use pallet::*; use pallet_broker::RegionRecord; use primitives::Balance; @@ -115,6 +118,11 @@ pub mod pallet { #[pallet::getter(fn record_index)] pub type RecordIndex = StorageValue<_, u32, ValueQuery, RecordIndexOnEmpty>; + /// Coretime parachain genesis block hash,for check. + #[pallet::storage] + #[pallet::getter(fn genesis_hash)] + pub type GenesisHash = StorageValue<_, PHash, ValueQuery>; + /// Bulk purchase Information Map. #[pallet::storage] #[pallet::getter(fn bulk_records)] @@ -124,12 +132,17 @@ pub mod pallet { #[pallet::genesis_config] pub struct GenesisConfig { pub rpc_url: BoundedVec, + pub genesis_hash: PHash, pub _marker: PhantomData, } impl Default for GenesisConfig { fn default() -> Self { - Self { rpc_url: BoundedVec::new(), _marker: Default::default() } + Self { + rpc_url: BoundedVec::new(), + genesis_hash: Default::default(), + _marker: Default::default(), + } } } @@ -137,6 +150,7 @@ pub mod pallet { impl BuildGenesisConfig for GenesisConfig { fn build(&self) { RpcUrl::::put(&self.rpc_url); + GenesisHash::::put(&self.genesis_hash); } } @@ -168,6 +182,8 @@ pub mod pallet { FailedCreateProof, /// Purchaser is none. PurchaserNone, + /// Genesis hash inconsistency + GenesisHashInconsistency, } #[pallet::hooks] @@ -208,7 +224,7 @@ pub mod pallet { /// Parameters: /// - `data`: The inherent data. #[pallet::call_index(0)] - #[pallet::weight((::WeightInfo::create_record(1), DispatchClass::Mandatory))] + #[pallet::weight((::WeightInfo::create_record(), DispatchClass::Mandatory))] pub fn create_record( origin: OriginFor, data: mp_coretime_bulk::BulkInherentData, @@ -230,13 +246,27 @@ pub mod pallet { > = GenericStateProof::new(storage_root, storage_proof) .map_err(|_| Error::::FailedCreateProof)?; - let key = broker_regions(region_id); + let region_key = broker_regions(region_id); // Read RegionRecord from proof. let region_record = storage_rooted_proof - .read_entry::>>(key.as_slice(), None) + .read_entry::>>( + region_key.as_slice(), + None, + ) .ok() .ok_or(Error::::FailedReading)?; + let genesis_hash_key = SYSTEM_BLOCKHASH_GENESIS; + let genesis_hash = storage_rooted_proof + .read_entry::(genesis_hash_key, None) + .ok() + .ok_or(Error::::FailedReading)?; + + let stored_hash = GenesisHash::::get(); + if genesis_hash != stored_hash { + Err(Error::::GenesisHashInconsistency)?; + } + let old_record_index = RecordIndex::::get(); let balance = region_record.paid.ok_or(Error::::PurchaserNone)?; let purchaser = region_record.owner; @@ -260,7 +290,7 @@ pub mod pallet { end_relaychain_height, }); - let total_weight = T::WeightInfo::create_record(1); + let total_weight = T::WeightInfo::create_record(); Ok(PostDispatchInfo { actual_weight: Some(total_weight), pays_fee: Pays::No }) } diff --git a/pallets/bulk/src/mock.rs b/pallets/bulk/src/mock.rs index b93f58e..9629658 100644 --- a/pallets/bulk/src/mock.rs +++ b/pallets/bulk/src/mock.rs @@ -19,6 +19,7 @@ use cumulus_pallet_parachain_system::{RelayChainState, RelaychainStateProvider}; pub use frame_support::{ construct_runtime, derive_impl, parameter_types, traits::{Everything, Hooks}, + BoundedVec, }; use frame_system as system; use frame_system::{pallet_prelude::BlockNumberFor, EnsureRoot}; @@ -28,6 +29,7 @@ use sp_runtime::{ traits::{BlakeTwo256, IdentifyAccount, IdentityLookup, Verify}, BuildStorage, MultiSignature, }; +use std::str::FromStr; type Block = frame_system::mocking::MockBlock; type Signature = MultiSignature; @@ -184,6 +186,16 @@ impl ExtBuilder { pallet_balances::GenesisConfig:: { balances: self.balances } .assimilate_storage(&mut t) .unwrap(); + crate::GenesisConfig:: { + rpc_url: BoundedVec::try_from("ws://127.0.0.1:8855".as_bytes().to_vec()).unwrap(), + genesis_hash: H256::from_str( + "0x4ea18c8f295ba903acbbed39c70ea0569cf1705fa954a537ffa3b8b7125eaf58", + ) + .expect("internal U256 is valid; qed"), + _marker: Default::default(), + } + .assimilate_storage(&mut t) + .unwrap(); let mut ext = sp_io::TestExternalities::new(t); ext.execute_with(|| System::set_block_number(1)); ext diff --git a/pallets/bulk/src/proof_data.rs b/pallets/bulk/src/proof_data.rs index 93d41cd..5e4847f 100644 --- a/pallets/bulk/src/proof_data.rs +++ b/pallets/bulk/src/proof_data.rs @@ -16,13 +16,18 @@ #[allow(dead_code)] pub const STORAGE_PROOF: &[&str] = &[ -"16000000d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d01000e2707000000000000000000000000", -"3f2007d04ec0ed1186e131723f64ef181e1c0c0000000100ffffffffffffffffffff358b741885135ef388abcf1fffd8290678a3a09a9b044f19e46f900f5ffc052f", -"80202080c526dfbf4a65e5d298e8b6c1cdac88ca71fd54975b7c6421b42973529c8e122980b57459b0fad405fcc8486156b1470fbf5da3e704b1905743fa11c028b774b890", -"80bff88002196afa3517dd88d98df436d300706cba9f2508c809bdd2cb2b556869b52d6780c4f7d82fa54c259feb751f64d63cc93749ee0d1f597b163c528d28d137907e3580c0cdd088d3767a4996a380bac2a88c7741b45b4b928c47f8d6ea84536f37e8bf80d53186d94b57d88622a71b3f7734455caedbdd97140df7b5056af030a28c8b6580d6b012f7b6fe3aa5e92edd95403a941a475f81d169e337e28e3f858e31cda40e808bbfc9f2049917e614e48154e3514abd53eabf6abf9a03fbfa079216c2ad0c478009a2de8fe94fc80a905b30932d17cf3490b0e1c46450870631882c287a13dea680adaad05a15ff0002ee84c917bcdbb7d7e97da1921f09c236e613c8f67bf907f380d62b78e6c0701b9acd2abb83656deedca91088aebcd26bb1a763ef7dab77d47880e8cafbef50a072daa5de180d2be3869dcb1187f5fb62e391aa55d235ef772c38808a3d2f156da5d357a1a063bb1d300aaa8cde71a200bcbf86f7512e9640d42f3380ad26a440ead6e38e025ea27e4c61d8f74734893728e00f9d57eb4521e576ec97", -"9ecb50595177a3177648411a42aca0f53b2880ccfcb9650f1764ce72092cd8c2a9b2a237dee22b6a4b42facfbddc0d2dded2bc8038eaec222e3ad57272dadec1b6f8b33b1f2c831f3e1280662847bb6080e8d5ec80ab19bc967e9c7be013655549197002712b4e3cba3803c35236badc872fdf3f2f505f0e7b9012096b41c4eb3aaf947f6ea429080000805c4823a2c831fae207465959acd4250e8edb3b4c5f6ab6e4344aca3baa9eaf2280acc3fdd3a823110b0a67f332f6a4c2588c2e3a7bbba188464f4a28cfbd13b41f80deaed939d20f6089a99e8cf9a2d6fb1117bc1bfbe3592553bf1288fe2d59c6de", -"9f0dc63b0b76ffd6f80704a090da6f8719180080dc89902e909ee4918e5b69cf45cdf2dbc64681fc967849e20d901aa3baf97880806844f5ceff6f4e914d758565e90802e3739ed53e7b7c91727fcd10ce1bbb6d10", + "17000000d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d0180fe210a000000000000000000000000", + "3f200b323504c3b3848bed8d370741085ebd0d0000000100ffffffffffffffffffff605dd58eac6b750fec2e9a2b7d51f907ac6e597cf821d803ea7a7d087f9a1166", + "56def25cfda6ef3a00000000804ea18c8f295ba903acbbed39c70ea0569cf1705fa954a537ffa3b8b7125eaf58", + "8020208051fd1b7464b9f678a3723c3a7ba8b5df2f2a8d5d8ee97403ddae92dc20251f5a80361e7e2188aa97c1d5e890af773d90f0e69af961b36a1f58f907749c66f47cf2", + "8050c080f8fb4dcf097cd41b8f1f4f73244a136538105d56b0df1fc478f8c2cf2c75a2a980c026dbee7a58acee151804e6ce4c3c5ea311865e6613904300c81c3ae1d65c3d80f7de82deb14576e4714771fbe6b678b19c65daa2385da56335afabcc091a3f3f8008737357f273cd263608d4657760d166648f3cf079bc51e1574c78ad1b44d5ba", + "80900080d5e406a437accb251a4af90489463cf1e5b39dbd80d303a67f59801a908df93e485efd6c28836b9a28522dc924110cf4390401", + "80bff88002196afa3517dd88d98df436d300706cba9f2508c809bdd2cb2b556869b52d6780e8023f3f14c67d41708439bc84e4d1f3dabd2bf3943e8096aeb53d4562d159ec804c4928062634282ae7d1134b65ad238555fd3d5390f4eda40739fa54f5caa4db802f64fabd9528b954be7ea2218380e3691da752bc9f6d4b28b478ca131227aada806baa391ffb857e11e6bc78c859ba8978801dfd4ae0d55e52428c9037db41913a80b22efc5744e76c8c1fa014b654921f8e76618751384d91762c6edf6923e8c8c58009a2de8fe94fc80a905b30932d17cf3490b0e1c46450870631882c287a13dea68031b30197fae7c5066741c047230ea07700060bc5baf86a5c23d1feaf92e09c1380d62b78e6c0701b9acd2abb83656deedca91088aebcd26bb1a763ef7dab77d47880e8cafbef50a072daa5de180d2be3869dcb1187f5fb62e391aa55d235ef772c38808a3d2f156da5d357a1a063bb1d300aaa8cde71a200bcbf86f7512e9640d42f3380c144a65f766ed0333d82d0f2111c91b613e6ae86285bb9a9e98094f76197ceee", + "9e4704b568d21667356a5a050c118746f97e8057f3a78b102cd434017e961ac4e10f60173c14bc0164c173782d6b7d4cff32b48011b7638f3e317e1f339c2e3265eabedeac85c134b0f3346f91bb15167e4517e38002e58c62536cb075cbdcf307c0448c3a309155cf7bc60c2f901e8d3f3aeed85880f18de88d9879e81e2837fd28d51ef5a34d3fbdc3ae7908523516986cf562e8b380d359cf69f8ec1b3031ad1ea39f5e0040a228d6046a506441ceb58abe1c3db60d806768845f9a01bce1522bcfeab633684d56bad0617ab3d552795b5da2895a4b88808c586b963b483b65b6123c0b4f6f1033d2658dc5e535048524a2a62a9e764bdc80c3c0f531137f91d46b1e361f81aaa960aaf44497b9366b3ade167559b39e487b803206a12c65296d5d4234fdb71631f4a66cecef3242d82c881511e7587b116fa280caea5a883a68c9e9b55b7492fe35486d1e9ad7f9cc6edd440f508ec199bd2d4e8017b3e7d5aebae73fafadf0df8f9a9b038ea18779352650419f50378e753d441f809d5e54ce6ed371ca9c0ab3f7d643ff65807f57b337da8c96e26c42e3206e20fc", + "9ecb50595177a3177648411a42aca0f53b2880ccfcb9650f1764ce72092cd8c2a9b2a237dee22b6a4b42facfbddc0d2dded2bc8009df4623f1e23e55b53334b6b0c68a7ab0ed7179af3aea62b90df0c86012457380032beae5f6488a4f67e5ed589e8b72ce5ae67a45ae48cfbe5a0c63d12d278811505f0e7b9012096b41c4eb3aaf947f6ea42908000080c6eba7297ee9c9a41fb08c4ac298cead1396f7e151564694fc79b9ccd1ff9d82800cbe2ddb78363571b3257c2c9e06349bb431d070cef5072313aa998bcd486a3d809563ddab40a90438ad8c70ca61581cca4b277e523074f25e274618ee3276aff4", + "9f06aa394eea5630e07c48ae0c9558cef7398f806bd01fa850c5271eea78c4432cee595ff4d24a2a8ab95bf0f1e9a46d061e1032804f514d8ff349a6b66d808ae4afa5dc0d38168979fa277b3491d0778e8a959e11505f0e7b9012096b41c4eb3aaf947f6ea4290800004c5f0684a022a34dd8bfa2baaf44f172b710040180ccc7d2c4de07b1d69ae1134070c007b95d48b0d0532997cce8294bb5b3ed24f280386943c28a62c2250ae23cb05e09648e12dab440539b307af286007b5174d95b80a7f24047bafabe7d20fa9df4d78db2099554e58a7f6108b4f73bc54c9f5cc40c801c768e5c91d896d11cbb0acecdaf8a71935d6b3ccaa377bff0a7fafac8191c1780922705d90a6daea5a8592cc22c12d179834e65242de0c7443fce51c7e7fb5f93", + "9f0dc63b0b76ffd6f80704a090da6f871981008079abbe6d7d4e0e08f3dae2668aec9f8196f85ee33e1cb22d942c8f478bcb7ae680668e18a82053f6da614b8ed588405a21b7c15edca705e9de71f617f14418e422", ]; #[allow(dead_code)] pub const STORAGE_ROOT: &[&str] = - &["3fa15d051c9e13076dbfc98f5aaac3b60dc07f208c1dd652a1abb3a2badabcf1"]; + &["a2172874220b97c5dc50ab7bc93fda8a467bac6ee01c25f1a307fe82fb28806d"]; diff --git a/pallets/bulk/src/tests.rs b/pallets/bulk/src/tests.rs index 8477a0f..cc279b9 100644 --- a/pallets/bulk/src/tests.rs +++ b/pallets/bulk/src/tests.rs @@ -34,14 +34,14 @@ fn bulk_inherent_test() { let storage_root: cumulus_primitives_core::relay_chain::Hash = <[u8; 32]>::try_from(root).unwrap().into(); let core_mask = CoreMask::from(0xFFFFFFFFFFFFFFFFFFFF); - let region_id = RegionId { begin: 12, core: 1, mask: core_mask }; + let region_id = RegionId { begin: 13, core: 1, mask: core_mask }; let mut inherent_data = InherentData::default(); let bulk_inherent_data = mp_coretime_bulk::BulkInherentData { storage_proof: Some(coretime_chain_state_proof), storage_root, region_id, - start_relaychain_height: 120, - end_relaychain_height: 220, + start_relaychain_height: 130, + end_relaychain_height: 170, }; inherent_data .put_data(mp_coretime_bulk::INHERENT_IDENTIFIER, &bulk_inherent_data) @@ -53,7 +53,7 @@ fn bulk_inherent_test() { BulkPallet::on_finalize(1); assert_eq!(BulkPallet::record_index(), 1); let record = BulkPallet::bulk_records(0).unwrap(); - assert_eq!(record.start_relaychain_height, 120); - assert_eq!(record.end_relaychain_height, 220); + assert_eq!(record.start_relaychain_height, 130); + assert_eq!(record.end_relaychain_height, 170); }); } diff --git a/pallets/bulk/src/weights.rs b/pallets/bulk/src/weights.rs index dd99c4a..7728878 100644 --- a/pallets/bulk/src/weights.rs +++ b/pallets/bulk/src/weights.rs @@ -36,26 +36,26 @@ use core::marker::PhantomData; /// Weight functions needed for pallet. pub trait WeightInfo { fn set_rpc_url() -> Weight; - fn create_record(s: u32, ) -> Weight; + fn create_record() -> Weight; } /// Weight functions for `pallet_bulk`. pub struct SubstrateWeight(PhantomData); impl WeightInfo for SubstrateWeight { + /// Storage: `BulkPallet::GenesisHash` (r:1 w:0) + /// Proof: `BulkPallet::GenesisHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) /// Storage: `BulkPallet::RecordIndex` (r:1 w:1) /// Proof: `BulkPallet::RecordIndex` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) /// Storage: `BulkPallet::BulkRecords` (r:0 w:1) /// Proof: `BulkPallet::BulkRecords` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) /// The range of component `s` is `[0, 100]`. - fn create_record(s: u32, ) -> Weight { + fn create_record() -> Weight { // Proof Size summary in bytes: - // Measured: `147` - // Estimated: `1489` - // Minimum execution time: 30_127_000 picoseconds. - Weight::from_parts(33_526_304, 0) - .saturating_add(Weight::from_parts(0, 1489)) - // Standard Error: 1_136 - .saturating_add(Weight::from_parts(2_315, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(1)) + // Measured: `199` + // Estimated: `1517` + // Minimum execution time: 39_063_000 picoseconds. + Weight::from_parts(42_640_056, 0) + .saturating_add(Weight::from_parts(0, 1517)) + .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } /// Storage: `BulkPallet::RpcUrl` (r:0 w:1) @@ -65,32 +65,30 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 4_729_000 picoseconds. - Weight::from_parts(5_325_688, 0) + // Minimum execution time: 3_858_000 picoseconds. + Weight::from_parts(4_289_031, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } } impl WeightInfo for () { - fn create_record(s: u32, ) -> Weight { + fn create_record() -> Weight { // Proof Size summary in bytes: - // Measured: `147` - // Estimated: `1489` - // Minimum execution time: 30_127_000 picoseconds. - Weight::from_parts(33_526_304, 0) - .saturating_add(Weight::from_parts(0, 1489)) - // Standard Error: 1_136 - .saturating_add(Weight::from_parts(2_315, 0).saturating_mul(s.into())) - .saturating_add(RocksDbWeight::get().reads(1)) + // Measured: `199` + // Estimated: `1517` + // Minimum execution time: 39_063_000 picoseconds. + Weight::from_parts(42_640_056, 0) + .saturating_add(Weight::from_parts(0, 1517)) + .saturating_add(RocksDbWeight::get().reads(2)) .saturating_add(RocksDbWeight::get().writes(2)) } fn set_rpc_url() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 4_729_000 picoseconds. - Weight::from_parts(5_325_688, 0) + // Minimum execution time: 3_858_000 picoseconds. + Weight::from_parts(4_289_031, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(RocksDbWeight::get().writes(1)) } diff --git a/primitives/coretime/bulk/src/lib.rs b/primitives/coretime/bulk/src/lib.rs index 259b6ba..24c3209 100644 --- a/primitives/coretime/bulk/src/lib.rs +++ b/primitives/coretime/bulk/src/lib.rs @@ -56,9 +56,7 @@ pub enum BulkStatus { } #[derive(Clone, Debug)] -pub struct BulkMemRecord { - /// Block height of coretime parachain. - pub coretime_para_height: u32, +pub struct BulkMemRecordItem { /// Proof of coretime parachain storage. pub storage_proof: sp_trie::StorageProof, /// Root of coretime parachain storage. @@ -75,6 +73,14 @@ pub struct BulkMemRecord { pub status: BulkStatus, } +#[derive(Clone, Debug)] +pub struct BulkMemRecord { + /// Block height of coretime parachain. + pub coretime_para_height: u32, + /// Record item. + pub items: Vec, +} + // Identifier of the bulk inherent pub const INHERENT_IDENTIFIER: InherentIdentifier = *b"bulkihrt"; diff --git a/primitives/coretime/common/src/well_known_keys.rs b/primitives/coretime/common/src/well_known_keys.rs index a8bb99e..aa9c7be 100644 --- a/primitives/coretime/common/src/well_known_keys.rs +++ b/primitives/coretime/common/src/well_known_keys.rs @@ -33,3 +33,24 @@ pub fn paras_para_lifecycles(para_id: ParaId) -> Vec { .collect() }) } + +// System pallet BlockHash block number 0 +pub const SYSTEM_BLOCKHASH_GENESIS: &[u8] = &hex_literal::hex![ + "26aa394eea5630e07c48ae0c9558cef7a44704b568d21667356a5a050c118746b4def25cfda6ef3a00000000" +]; + +// System pallet BlockHash +pub const SYSTEM_BLOCKHASH: &[u8] = + &hex_literal::hex!["26aa394eea5630e07c48ae0c9558cef7a44704b568d21667356a5a050c118746"]; + +// System pallet BlockHash +pub fn chain_block_hash(block_number: u32) -> Vec { + block_number.using_encoded(|block_number: &[u8]| { + SYSTEM_BLOCKHASH + .iter() + .chain(twox_64(block_number).iter()) + .chain(block_number.iter()) + .cloned() + .collect() + }) +} diff --git a/weights.rs b/weights.rs deleted file mode 100644 index fc08080..0000000 --- a/weights.rs +++ /dev/null @@ -1,69 +0,0 @@ - -//! Autogenerated weights for `pallet_bulk` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `sulijia-PC`, CPU: `AMD Ryzen 7 5800U with Radeon Graphics` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: 1024 - -// Executed Command: -// ./target/release/parachain-magnet-node -// benchmark -// pallet -// --chain -// dev -// --execution=wasm -// --wasm-execution=compiled -// --pallet -// pallet_bulk -// --extrinsic -// * -// --steps -// 50 -// --repeat -// 20 -// --output -// weights.rs - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `pallet_bulk`. -pub struct WeightInfo(PhantomData); -impl pallet_bulk::WeightInfo for WeightInfo { - /// Storage: `BulkPallet::RecordIndex` (r:1 w:1) - /// Proof: `BulkPallet::RecordIndex` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `BulkPallet::BulkRecords` (r:0 w:1) - /// Proof: `BulkPallet::BulkRecords` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) - /// The range of component `s` is `[0, 100]`. - fn create_record(s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `147` - // Estimated: `1489` - // Minimum execution time: 30_127_000 picoseconds. - Weight::from_parts(33_526_304, 0) - .saturating_add(Weight::from_parts(0, 1489)) - // Standard Error: 1_136 - .saturating_add(Weight::from_parts(2_315, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `BulkPallet::RpcUrl` (r:0 w:1) - /// Proof: `BulkPallet::RpcUrl` (`max_values`: Some(1), `max_size`: Some(302), added: 797, mode: `MaxEncodedLen`) - /// The range of component `s` is `[0, 100]`. - fn set_rpc_url(_s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 4_729_000 picoseconds. - Weight::from_parts(5_325_688, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) - } -} From 8f37da3a5edc93c6c6d059d817847efe0b2c8b34 Mon Sep 17 00:00:00 2001 From: sulijia <984115358@qq.com> Date: Sun, 30 Jun 2024 20:13:23 +0800 Subject: [PATCH 15/22] resolved conflicts --- Cargo.lock | 3039 +++++++++++------ Cargo.toml | 10 +- node/Cargo.toml | 3 + node/src/chain_spec.rs | 13 +- node/src/rpc/mod.rs | 5 +- node/src/service.rs | 89 +- pallets/assets-bridge/src/lib.rs | 57 +- pallets/assets-bridge/src/mock.rs | 12 +- .../precompile/transfer-to-magnet/src/lib.rs | 25 +- .../precompile/transfer-to-magnet/src/mock.rs | 7 - .../transfer-to-magnet/src/tests.rs | 68 +- runtime/Cargo.toml | 10 +- runtime/src/lib.rs | 100 +- runtime/src/precompiles.rs | 18 +- 14 files changed, 2420 insertions(+), 1036 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index dd6212f..2bd4071 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -23,11 +23,11 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" dependencies = [ - "gimli 0.28.1", + "gimli 0.29.0", ] [[package]] @@ -68,7 +68,7 @@ dependencies = [ "cipher 0.4.4", "ctr", "ghash", - "subtle 2.5.0", + "subtle 2.4.1", ] [[package]] @@ -77,7 +77,7 @@ version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" dependencies = [ - "getrandom 0.2.14", + "getrandom 0.2.15", "once_cell", "version_check", ] @@ -89,7 +89,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", - "getrandom 0.2.14", + "getrandom 0.2.15", "once_cell", "version_check", "zerocopy", @@ -142,47 +142,48 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.13" +version = "0.6.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" +checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", + "is_terminal_polyfill", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" [[package]] name = "anstyle-parse" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" +checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.2" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" dependencies = [ "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.2" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" +checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" dependencies = [ "anstyle", "windows-sys 0.52.0", @@ -190,9 +191,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.82" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" [[package]] name = "approx" @@ -214,7 +215,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -501,7 +502,7 @@ dependencies = [ "ark-std", "digest 0.10.7", "rand_core 0.6.4", - "sha3", + "sha3 0.10.8", ] [[package]] @@ -512,9 +513,9 @@ checksum = "f52f63c5c1316a16a4b35eaac8b76a98248961a533f061684cb2a7cb0eafb6c6" [[package]] name = "array-bytes" -version = "6.2.2" +version = "6.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f840fb7195bcfc5e17ea40c26e5ce6d5b9ce5d584466e17703209657e459ae0" +checksum = "5d5dde061bd34119e902bbb2d9b90c5692635cf59fb91d582c2b68043f1b8293" [[package]] name = "arrayref" @@ -568,7 +569,7 @@ dependencies = [ "proc-macro2", "quote", "syn 1.0.109", - "synstructure", + "synstructure 0.12.6", ] [[package]] @@ -601,26 +602,25 @@ dependencies = [ [[package]] name = "async-channel" -version = "2.2.1" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "136d4d23bcc79e27423727b36823d86233aad06dfea531837b038394d11e9928" +checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" dependencies = [ "concurrent-queue", - "event-listener 5.3.0", - "event-listener-strategy 0.5.1", + "event-listener-strategy", "futures-core", "pin-project-lite 0.2.14", ] [[package]] name = "async-executor" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b10202063978b3351199d68f8b22c4e47e4b1b822f8d43fd862d5ea8c006b29a" +checksum = "c8828ec6e544c02b0d6691d21ed9f9218d0384a82542855073c2a3f58304aaf0" dependencies = [ "async-task", "concurrent-queue", - "fastrand 2.0.2", + "fastrand 2.1.0", "futures-lite 2.3.0", "slab", ] @@ -659,18 +659,18 @@ dependencies = [ [[package]] name = "async-io" -version = "2.3.2" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884" +checksum = "0d6baa8f0178795da0e71bc42c9e5d13261aac7ee549853162e66a241ba17964" dependencies = [ - "async-lock 3.3.0", + "async-lock 3.4.0", "cfg-if", "concurrent-queue", "futures-io", "futures-lite 2.3.0", "parking", - "polling 3.6.0", - "rustix 0.38.32", + "polling 3.7.2", + "rustix 0.38.34", "slab", "tracing", "windows-sys 0.52.0", @@ -687,12 +687,12 @@ dependencies = [ [[package]] name = "async-lock" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "event-listener 4.0.3", - "event-listener-strategy 0.4.0", + "event-listener 5.3.1", + "event-listener-strategy", "pin-project-lite 0.2.14", ] @@ -720,33 +720,33 @@ dependencies = [ "cfg-if", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.32", + "rustix 0.38.34", "windows-sys 0.48.0", ] [[package]] name = "async-signal" -version = "0.2.5" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" +checksum = "794f185324c2f00e771cd9f1ae8b5ac68be2ca7abb129a87afd6e86d228bc54d" dependencies = [ - "async-io 2.3.2", - "async-lock 2.8.0", + "async-io 2.3.3", + "async-lock 3.4.0", "atomic-waker", "cfg-if", "futures-core", "futures-io", - "rustix 0.38.32", + "rustix 0.38.34", "signal-hook-registry", "slab", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "async-task" -version = "4.7.0" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" @@ -756,7 +756,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -793,6 +793,17 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi 0.1.19", + "libc", + "winapi", +] + [[package]] name = "auto_impl" version = "1.2.0" @@ -801,27 +812,27 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] name = "autocfg" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "backtrace" -version = "0.3.71" +version = "0.3.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" dependencies = [ - "addr2line 0.21.0", + "addr2line 0.22.0", "cc", "cfg-if", "libc", "miniz_oxide", - "object 0.32.2", + "object 0.36.1", "rustc-demangle", ] @@ -884,6 +895,24 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" +[[package]] +name = "bcs" +version = "0.1.4" +source = "git+https://github.com/eigerco/bcs.git?branch=master#850598d0cb128f10ecf4ce87ff94281ee46e6524" +dependencies = [ + "serde", +] + +[[package]] +name = "bcs" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85b6598a2f5d564fb7855dc6b06fd1c38cff5a72bd8b863a4d021938497b440a" +dependencies = [ + "serde", + "thiserror", +] + [[package]] name = "beef" version = "0.5.2" @@ -893,10 +922,29 @@ dependencies = [ "serde", ] +[[package]] +name = "better_any" +version = "0.2.0" +source = "git+https://github.com/eigerco/better_any.git?branch=main#a4a2ed0ead905e7acd46bdfc38d9f94f5e431bc4" +dependencies = [ + "better_typeid_derive", +] + +[[package]] +name = "better_typeid_derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3deeecb812ca5300b7d3f66f730cc2ebd3511c3d36c691dd79c165d5b19a26e3" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "binary-merkle-tree" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "hash-db", "log", @@ -923,13 +971,13 @@ dependencies = [ "lazy_static", "lazycell", "peeking_take_while", - "prettyplease 0.2.19", + "prettyplease 0.2.20", "proc-macro2", "quote", "regex", "rustc-hash", "shlex", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -959,9 +1007,18 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.5.0" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" + +[[package]] +name = "bitmaps" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" +dependencies = [ + "typenum", +] [[package]] name = "bitvec" @@ -1048,7 +1105,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" dependencies = [ - "block-padding", + "block-padding 0.1.5", "byte-tools", "byteorder", "generic-array 0.12.4", @@ -1060,6 +1117,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ + "block-padding 0.2.1", "generic-array 0.14.7", ] @@ -1081,20 +1139,23 @@ dependencies = [ "byte-tools", ] +[[package]] +name = "block-padding" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" + [[package]] name = "blocking" -version = "1.5.1" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" +checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" dependencies = [ - "async-channel 2.2.1", - "async-lock 3.3.0", + "async-channel 2.3.1", "async-task", - "fastrand 2.0.2", "futures-io", "futures-lite 2.3.0", "piper", - "tracing", ] [[package]] @@ -1133,7 +1194,7 @@ dependencies = [ [[package]] name = "bp-xcm-bridge-hub-router" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "parity-scale-codec", "scale-info", @@ -1156,6 +1217,16 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "bstr" +version = "1.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" +dependencies = [ + "memchr", + "serde", +] + [[package]] name = "build-helper" version = "0.1.1" @@ -1185,9 +1256,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.15.0" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15" +checksum = "b236fc92302c97ed75b38da1f4917b5cdda4984745740f153a5d3059e48d725e" [[package]] name = "byteorder" @@ -1224,9 +1295,9 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.6" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" +checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" dependencies = [ "serde", ] @@ -1248,7 +1319,7 @@ checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a" dependencies = [ "camino", "cargo-platform", - "semver 1.0.22", + "semver 1.0.23", "serde", "serde_json", "thiserror", @@ -1262,12 +1333,13 @@ checksum = "fd6c0e7b807d60291f42f33f58480c0bfafe28ed08286446f45e463728cf9c1c" [[package]] name = "cc" -version = "1.0.94" +version = "1.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f6e324229dc011159fcc089755d1e2e216a90d43a7dea6853ca740b84f35e7" +checksum = "2755ff20a1d93490d26ba33a6f092a38a508398a5320df5d4b3014fcccce9410" dependencies = [ "jobserver", "libc", + "once_cell", ] [[package]] @@ -1348,6 +1420,28 @@ dependencies = [ "windows-targets 0.52.5", ] +[[package]] +name = "chrono-tz" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93698b29de5e97ad0ae26447b344c482a7284c737d9ddc5f9e52b74a336671bb" +dependencies = [ + "chrono", + "chrono-tz-build", + "phf", +] + +[[package]] +name = "chrono-tz-build" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c088aee841df9c3041febbb73934cfc39708749bf96dc827e3359cd39ef11b1" +dependencies = [ + "parse-zoneinfo", + "phf", + "phf_codegen", +] + [[package]] name = "cid" version = "0.9.0" @@ -1392,9 +1486,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" dependencies = [ "glob", "libc", @@ -1403,44 +1497,83 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.4" +version = "3.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" +dependencies = [ + "atty", + "bitflags 1.3.2", + "clap_derive 3.2.25", + "clap_lex 0.2.4", + "indexmap 1.9.3", + "once_cell", + "strsim 0.10.0", + "termcolor", + "textwrap", +] + +[[package]] +name = "clap" +version = "4.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" +checksum = "84b3edb18336f4df585bc9aa31dd99c036dfa5dc5e9a2939a722a188f3a8970d" dependencies = [ "clap_builder", - "clap_derive", + "clap_derive 4.5.8", ] [[package]] name = "clap_builder" -version = "4.5.2" +version = "4.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" +checksum = "c1c09dd5ada6c6c78075d6fd0da3f90d8080651e2d6cc8eb2f1aaa4034ced708" dependencies = [ "anstream", "anstyle", - "clap_lex", + "clap_lex 0.7.1", "strsim 0.11.1", "terminal_size", ] [[package]] name = "clap_derive" -version = "4.5.4" +version = "3.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" +dependencies = [ + "heck 0.4.1", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "clap_derive" +version = "4.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" +checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] name = "clap_lex" -version = "0.7.0" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +dependencies = [ + "os_str_bytes", +] + +[[package]] +name = "clap_lex" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" +checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" [[package]] name = "coarsetime" @@ -1453,42 +1586,63 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "codespan" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3362992a0d9f1dd7c3d0e89e0ab2bb540b7a95fea8cd798090e758fda2899b5e" +dependencies = [ + "codespan-reporting", + "serde", +] + [[package]] name = "codespan-reporting" version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" dependencies = [ + "serde", "termcolor", "unicode-width", ] [[package]] name = "color-print" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a858372ff14bab9b1b30ea504f2a4bc534582aee3e42ba2d41d2a7baba63d5d" +checksum = "1ee543c60ff3888934877a5671f45494dd27ed4ba25c6670b9a7576b7ed7a8c0" dependencies = [ "color-print-proc-macro", ] [[package]] name = "color-print-proc-macro" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57e37866456a721d0a404439a1adae37a31be4e0055590d053dfe6981e05003f" +checksum = "77ff1a80c5f3cb1ca7c06ffdd71b6a6dd6d8f896c42141fbd43f50ed28dcdb93" dependencies = [ "nom", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.68", ] [[package]] name = "colorchoice" -version = "1.0.0" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" + +[[package]] +name = "colored" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +checksum = "cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8" +dependencies = [ + "lazy_static", + "windows-sys 0.48.0", +] [[package]] name = "comfy-table" @@ -1496,8 +1650,8 @@ version = "7.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b34115915337defe99b2aff5c2ce6771e5fbc4079f4b506301f5cf394c8452f7" dependencies = [ - "strum 0.26.2", - "strum_macros 0.26.2", + "strum 0.26.3", + "strum_macros 0.26.4", "unicode-width", ] @@ -1525,9 +1679,9 @@ checksum = "2382f75942f4b3be3690fe4f86365e9c853c1587d6ee58212cebf6e2a9ccd101" [[package]] name = "concurrent-queue" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ "crossbeam-utils", ] @@ -1566,7 +1720,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom 0.2.14", + "getrandom 0.2.15", "once_cell", "tiny-keccak", ] @@ -1763,9 +1917,9 @@ checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" [[package]] name = "crc32fast" -version = "1.4.0" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", ] @@ -1800,9 +1954,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "crunchy" @@ -1818,7 +1972,7 @@ checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array 0.14.7", "rand_core 0.6.4", - "subtle 2.5.0", + "subtle 2.4.1", "zeroize", ] @@ -1850,17 +2004,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" dependencies = [ "generic-array 0.14.7", - "subtle 2.5.0", + "subtle 2.4.1", ] [[package]] name = "crypto-mac" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25fab6889090c8133f3deb8f73ba3c65a7f456f66436fc012a1b1e272b1e103e" +checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" dependencies = [ "generic-array 0.14.7", - "subtle 2.5.0", + "subtle 2.4.1", ] [[package]] @@ -1875,9 +2029,9 @@ dependencies = [ [[package]] name = "cumulus-client-cli" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ - "clap", + "clap 4.5.8", "parity-scale-codec", "sc-chain-spec", "sc-cli", @@ -1892,14 +2046,14 @@ dependencies = [ [[package]] name = "cumulus-client-collator" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", "cumulus-primitives-core", "futures", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-overseer", @@ -1915,7 +2069,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-aura" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "cumulus-client-collator", @@ -1957,7 +2111,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-common" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "cumulus-client-pov-recovery", @@ -1986,7 +2140,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-proposer" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "anyhow", "async-trait", @@ -2001,14 +2155,14 @@ dependencies = [ [[package]] name = "cumulus-client-network" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "cumulus-relay-chain-interface", "futures", "futures-timer", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "polkadot-node-primitives", "polkadot-parachain-primitives", "polkadot-primitives", @@ -2024,7 +2178,7 @@ dependencies = [ [[package]] name = "cumulus-client-parachain-inherent" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2048,7 +2202,7 @@ dependencies = [ [[package]] name = "cumulus-client-pov-recovery" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2072,7 +2226,7 @@ dependencies = [ [[package]] name = "cumulus-client-service" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "cumulus-client-cli", "cumulus-client-collator", @@ -2108,7 +2262,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-aura-ext" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -2126,7 +2280,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -2160,18 +2314,18 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] name = "cumulus-pallet-session-benchmarking" version = "9.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -2185,7 +2339,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcm" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -2201,7 +2355,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcmp-queue" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "bounded-collections 0.2.0", "bp-xcm-bridge-hub-router", @@ -2226,7 +2380,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-aura" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -2240,7 +2394,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-core" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -2257,7 +2411,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2272,7 +2426,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-proof-size-hostfunction" version = "0.2.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", @@ -2282,7 +2436,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-timestamp" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "cumulus-primitives-core", "futures", @@ -2295,7 +2449,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-utility" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -2316,7 +2470,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-inprocess-interface" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2340,7 +2494,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-interface" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2358,15 +2512,15 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-minimal-node" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ - "array-bytes 6.2.2", + "array-bytes 6.2.3", "async-trait", "cumulus-primitives-core", "cumulus-relay-chain-interface", "cumulus-relay-chain-rpc-interface", "futures", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "polkadot-availability-recovery", "polkadot-collator-protocol", "polkadot-core-primitives", @@ -2399,7 +2553,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-rpc-interface" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2438,7 +2592,7 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", @@ -2458,7 +2612,7 @@ dependencies = [ "byteorder", "digest 0.8.1", "rand_core 0.5.1", - "subtle 2.5.0", + "subtle 2.4.1", "zeroize", ] @@ -2471,24 +2625,23 @@ dependencies = [ "byteorder", "digest 0.9.0", "rand_core 0.5.1", - "subtle 2.5.0", + "subtle 2.4.1", "zeroize", ] [[package]] name = "curve25519-dalek" -version = "4.1.2" +version = "4.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ "cfg-if", "cpufeatures", "curve25519-dalek-derive", "digest 0.10.7", "fiat-crypto", - "platforms", "rustc_version 0.4.0", - "subtle 2.5.0", + "subtle 2.4.1", "zeroize", ] @@ -2500,7 +2653,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -2518,9 +2671,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.121" +version = "1.0.124" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21db378d04296a84d8b7d047c36bb3954f0b46529db725d7e62fb02f9ba53ccc" +checksum = "273dcfd3acd4e1e276af13ed2a43eea7001318823e7a726a6b3ed39b4acc0b82" dependencies = [ "cc", "cxxbridge-flags", @@ -2530,9 +2683,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.121" +version = "1.0.124" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e5262a7fa3f0bae2a55b767c223ba98032d7c328f5c13fa5cdc980b77fc0658" +checksum = "d8b2766fbd92be34e9ed143898fce6c572dc009de39506ed6903e5a05b68914e" dependencies = [ "cc", "codespan-reporting", @@ -2540,24 +2693,24 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] name = "cxxbridge-flags" -version = "1.0.121" +version = "1.0.124" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be8dcadd2e2fb4a501e1d9e93d6e88e6ea494306d8272069c92d5a9edf8855c0" +checksum = "839fcd5e43464614ffaa989eaf1c139ef1f0c51672a1ed08023307fa1b909ccd" [[package]] name = "cxxbridge-macro" -version = "1.0.121" +version = "1.0.124" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad08a837629ad949b73d032c637653d069e909cffe4ee7870b02301939ce39cc" +checksum = "4b2c1c1776b986979be68bb2285da855f8d8a35851a769fca8740df7c3d07877" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -2572,12 +2725,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.8" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" +checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" dependencies = [ - "darling_core 0.20.8", - "darling_macro 0.20.8", + "darling_core 0.20.9", + "darling_macro 0.20.9", ] [[package]] @@ -2596,16 +2749,16 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.8" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" +checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", - "strsim 0.10.0", - "syn 2.0.60", + "strsim 0.11.1", + "syn 2.0.68", ] [[package]] @@ -2621,26 +2774,39 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.8" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" +checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ - "darling_core 0.20.8", + "darling_core 0.20.9", "quote", - "syn 2.0.60", + "syn 2.0.68", +] + +[[package]] +name = "dashmap" +version = "5.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +dependencies = [ + "cfg-if", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core 0.9.10", ] [[package]] name = "data-encoding" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" +checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" [[package]] name = "data-encoding-macro" -version = "0.1.14" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20c01c06f5f429efdf2bae21eb67c28b3df3cf85b7dd2d8ef09c0838dac5d33e" +checksum = "f1559b6cba622276d6d63706db152618eeb15b89b3e4041446b05876e352e639" dependencies = [ "data-encoding", "data-encoding-macro-internal", @@ -2648,9 +2814,9 @@ dependencies = [ [[package]] name = "data-encoding-macro-internal" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0047d07f2c89b17dd631c80450d69841a6b5d7fb17278cbc43d7e4cfcf2576f3" +checksum = "332d754c0af53bc87c108fed664d121ecf59207ec4196041f04d6ab9002ad33f" dependencies = [ "data-encoding", "syn 1.0.109", @@ -2719,22 +2885,34 @@ checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] name = "derive_more" -version = "0.99.17" +version = "0.99.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" dependencies = [ "convert_case", "proc-macro2", "quote", "rustc_version 0.4.0", - "syn 1.0.109", + "syn 2.0.68", ] +[[package]] +name = "deunicode" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "339544cc9e2c4dc3fc7149fd630c5f22263a4fdf18a98afd0075784968b5cf00" + +[[package]] +name = "difference" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198" + [[package]] name = "difflib" version = "0.4.0" @@ -2768,7 +2946,7 @@ dependencies = [ "block-buffer 0.10.4", "const-oid", "crypto-common", - "subtle 2.5.0", + "subtle 2.4.1", ] [[package]] @@ -2790,6 +2968,16 @@ dependencies = [ "dirs-sys-next", ] +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + [[package]] name = "dirs-sys" version = "0.4.1" @@ -2815,13 +3003,13 @@ dependencies = [ [[package]] name = "displaydoc" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -2861,9 +3049,9 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.60", + "syn 2.0.68", "termcolor", - "toml 0.8.12", + "toml 0.8.14", "walkdir", ] @@ -2948,12 +3136,12 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ - "curve25519-dalek 4.1.2", + "curve25519-dalek 4.1.3", "ed25519", "rand_core 0.6.4", "serde", "sha2 0.10.8", - "subtle 2.5.0", + "subtle 2.4.1", "zeroize", ] @@ -2977,7 +3165,7 @@ version = "4.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d9ce6874da5d4415896cd45ffbc4d1cfc0c4f9c079427bd870742c30f2f65a9" dependencies = [ - "curve25519-dalek 4.1.2", + "curve25519-dalek 4.1.3", "ed25519", "hashbrown 0.14.5", "hex", @@ -2988,9 +3176,9 @@ dependencies = [ [[package]] name = "either" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" dependencies = [ "serde", ] @@ -3010,7 +3198,7 @@ dependencies = [ "pkcs8", "rand_core 0.6.4", "sec1", - "subtle 2.5.0", + "subtle 2.4.1", "zeroize", ] @@ -3034,22 +3222,22 @@ dependencies = [ [[package]] name = "enumflags2" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d" +checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d" dependencies = [ "enumflags2_derive", ] [[package]] name = "enumflags2_derive" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4" +checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -3060,7 +3248,7 @@ checksum = "6fd000fd6988e73bbe993ea3db9b1aa64906ab88766d654973924340c8cddb42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -3090,9 +3278,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" dependencies = [ "libc", "windows-sys 0.52.0", @@ -3110,7 +3298,7 @@ dependencies = [ "regex", "serde", "serde_json", - "sha3", + "sha3 0.10.8", "thiserror", "uint", ] @@ -3144,7 +3332,7 @@ dependencies = [ "rlp", "scale-info", "serde", - "sha3", + "sha3 0.10.8", "trie-root", ] @@ -3164,6 +3352,12 @@ dependencies = [ "uint", ] +[[package]] +name = "ethnum" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b90ca2580b73ab6a1f724b76ca11ab632df820fd6040c336200d2c1df7b3c82c" + [[package]] name = "event-listener" version = "2.5.3" @@ -3183,20 +3377,9 @@ dependencies = [ [[package]] name = "event-listener" -version = "4.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite 0.2.14", -] - -[[package]] -name = "event-listener" -version = "5.3.0" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" dependencies = [ "concurrent-queue", "parking", @@ -3205,21 +3388,11 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" -dependencies = [ - "event-listener 4.0.3", - "pin-project-lite 0.2.14", -] - -[[package]] -name = "event-listener-strategy" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "332f51cb23d20b0de8458b86580878211da09bcd4503cb579c225b3d124cabb3" +checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" dependencies = [ - "event-listener 5.3.0", + "event-listener 5.3.1", "pin-project-lite 0.2.14", ] @@ -3241,7 +3414,7 @@ dependencies = [ "rlp", "scale-info", "serde", - "sha3", + "sha3 0.10.8", ] [[package]] @@ -3278,7 +3451,7 @@ dependencies = [ "environmental", "evm-core", "primitive-types", - "sha3", + "sha3 0.10.8", ] [[package]] @@ -3304,16 +3477,28 @@ dependencies = [ [[package]] name = "expander" -version = "2.1.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00e83c02035136f1592a47964ea60c05a50e4ed8b5892cfac197063850898d4d" +checksum = "e2c470c71d91ecbd179935b24170459e926382eaaa86b590b78814e180d8a8e2" dependencies = [ "blake2 0.10.6", + "file-guard", "fs-err", - "prettier-please", + "prettyplease 0.2.20", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", +] + +[[package]] +name = "fail" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5e43d0f78a42ad591453aedb1d7ae631ce7ee445c7643691055a9ed8d3b01c" +dependencies = [ + "log", + "once_cell", + "rand 0.8.5", ] [[package]] @@ -3339,9 +3524,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.2" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "fatality" @@ -3361,7 +3546,7 @@ checksum = "f5aa1e3ae159e592ad222dc90c5acbad632b527779ba88486abe92782ab268bd" dependencies = [ "expander 0.0.4", "indexmap 1.9.3", - "proc-macro-crate 1.3.1", + "proc-macro-crate 1.1.3", "proc-macro2", "quote", "syn 1.0.109", @@ -3385,7 +3570,7 @@ name = "fc-cli" version = "1.0.0-dev" source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" dependencies = [ - "clap", + "clap 4.5.8", "ethereum-types", "fc-db", "fp-rpc", @@ -3431,7 +3616,7 @@ dependencies = [ "log", "parity-db", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-client-api", "sc-client-db", "smallvec", @@ -3457,7 +3642,7 @@ dependencies = [ "futures", "futures-timer", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-client-api", "sc-utils", "sp-api", @@ -3573,7 +3758,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" dependencies = [ "rand_core 0.6.4", - "subtle 2.5.0", + "subtle 2.4.1", ] [[package]] @@ -3591,9 +3776,19 @@ dependencies = [ [[package]] name = "fiat-crypto" -version = "0.2.7" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" + +[[package]] +name = "file-guard" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c007b1ae3abe1cb6f85a16305acd418b7ca6343b953633fee2b76d8f108b830f" +checksum = "21ef72acf95ec3d7dbf61275be556299490a245f017cf084bd23b4f68cf9407c" +dependencies = [ + "libc", + "winapi", +] [[package]] name = "file-per-thread-logger" @@ -3629,7 +3824,7 @@ dependencies = [ "log", "num-traits", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "scale-info", ] @@ -3645,6 +3840,12 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "fixedbitset" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d" + [[package]] name = "fixedbitset" version = "0.4.2" @@ -3653,9 +3854,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.28" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" +checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" dependencies = [ "crc32fast", "libz-sys", @@ -3706,7 +3907,7 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-tree" version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "parity-scale-codec", ] @@ -3837,7 +4038,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-support", "frame-support-procedural", @@ -3862,12 +4063,12 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "32.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "Inflector", - "array-bytes 6.2.2", + "array-bytes 6.2.3", "chrono", - "clap", + "clap 4.5.8", "comfy-table", "frame-benchmarking", "frame-support", @@ -3910,18 +4111,18 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] name = "frame-election-provider-support" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -3938,7 +4139,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-support", "frame-system", @@ -3977,14 +4178,29 @@ dependencies = [ ] [[package]] -name = "frame-remote-externalities" -version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +name = "frame-metadata-hash-extension" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ - "futures", - "indicatif", - "jsonrpsee", - "log", + "array-bytes 6.2.3", + "docify", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-runtime 31.0.1", +] + +[[package]] +name = "frame-remote-externalities" +version = "0.35.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +dependencies = [ + "futures", + "indicatif", + "jsonrpsee", + "log", "parity-scale-codec", "serde", "sp-core 28.0.0", @@ -4001,10 +4217,10 @@ dependencies = [ [[package]] name = "frame-support" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "aquamarine", - "array-bytes 6.2.2", + "array-bytes 6.2.3", "bitflags 1.3.2", "docify", "environmental", @@ -4042,12 +4258,12 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "Inflector", "cfg-expr", "derive-syn-parse 0.1.5", - "expander 2.1.0", + "expander 2.2.1", "frame-support-procedural-tools", "itertools 0.10.5", "macro_magic", @@ -4055,35 +4271,35 @@ dependencies = [ "proc-macro2", "quote", "sp-crypto-hashing", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] name = "frame-support-procedural-tools" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] name = "frame-support-procedural-tools-derive" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] name = "frame-system" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "cfg-if", "docify", @@ -4103,7 +4319,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -4118,7 +4334,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "parity-scale-codec", "sp-api", @@ -4127,7 +4343,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-support", "parity-scale-codec", @@ -4161,7 +4377,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29f9df8a11882c4e3335eb2d18a0137c505d9ca927470b0cac9c6f0ae07d28f7" dependencies = [ - "rustix 0.38.32", + "rustix 0.38.34", "windows-sys 0.48.0", ] @@ -4222,7 +4438,7 @@ checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" dependencies = [ "futures-core", "lock_api", - "parking_lot 0.12.1", + "parking_lot 0.12.3", ] [[package]] @@ -4252,7 +4468,7 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" dependencies = [ - "fastrand 2.0.2", + "fastrand 2.1.0", "futures-core", "futures-io", "parking", @@ -4267,7 +4483,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -4369,9 +4585,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", @@ -4411,9 +4627,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.28.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" [[package]] name = "glob" @@ -4421,6 +4637,30 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +[[package]] +name = "globset" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" +dependencies = [ + "aho-corasick", + "bstr", + "log", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", +] + +[[package]] +name = "globwalk" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf760ebf69878d9fd8f110c89703d90ce35095324d1f1edcb595c63945ee757" +dependencies = [ + "bitflags 2.6.0", + "ignore", + "walkdir", +] + [[package]] name = "group" version = "0.13.0" @@ -4429,7 +4669,7 @@ checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff", "rand_core 0.6.4", - "subtle 2.5.0", + "subtle 2.4.1", ] [[package]] @@ -4518,6 +4758,15 @@ dependencies = [ "hashbrown 0.14.5", ] +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "heck" version = "0.4.1" @@ -4533,12 +4782,27 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + [[package]] name = "hermit-abi" version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + [[package]] name = "hex" version = "0.4.3" @@ -4576,7 +4840,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" dependencies = [ - "crypto-mac 0.11.0", + "crypto-mac 0.11.1", "digest 0.9.0", ] @@ -4650,9 +4914,9 @@ checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" [[package]] name = "httparse" -version = "1.8.0" +version = "1.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" [[package]] name = "httpdate" @@ -4660,6 +4924,15 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" +[[package]] +name = "humansize" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7" +dependencies = [ + "libm", +] + [[package]] name = "humantime" version = "2.1.0" @@ -4668,9 +4941,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.28" +version = "0.14.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" dependencies = [ "bytes", "futures-channel", @@ -4683,7 +4956,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite 0.2.14", - "socket2 0.5.6", + "socket2 0.5.7", "tokio", "tower-service", "tracing", @@ -4700,7 +4973,7 @@ dependencies = [ "http", "hyper", "log", - "rustls 0.21.10", + "rustls 0.21.12", "rustls-native-certs", "tokio", "tokio-rustls", @@ -4772,7 +5045,7 @@ version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6b0422c86d7ce0e97169cc42e04ae643caf278874a7a3c87b8150a220dc7e1e" dependencies = [ - "async-io 2.3.2", + "async-io 2.3.3", "core-foundation", "fnv", "futures", @@ -4785,6 +5058,36 @@ dependencies = [ "windows", ] +[[package]] +name = "ignore" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1" +dependencies = [ + "crossbeam-deque", + "globset", + "log", + "memchr", + "regex-automata 0.4.7", + "same-file", + "walkdir", + "winapi-util", +] + +[[package]] +name = "im" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0acd33ff0285af998aaf9b57342af478078f53492322fafc47450e09397e0e9" +dependencies = [ + "bitmaps", + "rand_core 0.6.4", + "rand_xoshiro", + "sized-chunks", + "typenum", + "version_check", +] + [[package]] name = "impl-codec" version = "0.6.0" @@ -4825,18 +5128,18 @@ dependencies = [ [[package]] name = "include_dir" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18762faeff7122e89e0857b02f7ce6fcc0d101d5e9ad2ad7846cc01d61b7f19e" +checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd" dependencies = [ "include_dir_macros", ] [[package]] name = "include_dir_macros" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b139284b5cf57ecfa712bcc66950bb635b31aff41c188e8a4cfc758eca374a3f" +checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" dependencies = [ "proc-macro2", "quote", @@ -4915,13 +5218,26 @@ dependencies = [ "num-traits", ] +[[package]] +name = "internment" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ab388864246d58a276e60e7569a833d9cc4cd75c66e5ca77c177dad38e59996" +dependencies = [ + "ahash 0.7.8", + "dashmap", + "hashbrown 0.12.3", + "once_cell", + "parking_lot 0.12.3", +] + [[package]] name = "io-lifetimes" version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", "windows-sys 0.48.0", ] @@ -4938,7 +5254,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "socket2 0.5.6", + "socket2 0.5.7", "widestring", "windows-sys 0.48.0", "winreg", @@ -4956,7 +5272,7 @@ version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", "windows-sys 0.52.0", ] @@ -4970,6 +5286,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" + [[package]] name = "itertools" version = "0.10.5" @@ -5005,9 +5327,9 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jobserver" -version = "0.1.30" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "685a7d121ee3f65ae4fddd72b25a04bb36b6af81bc0828f7d5434c0fe60fa3a2" +checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" dependencies = [ "libc", ] @@ -5072,7 +5394,7 @@ dependencies = [ "futures-util", "hyper", "jsonrpsee-types", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rand 0.8.5", "rustc-hash", "serde", @@ -5110,7 +5432,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29110019693a4fa2dbda04876499d098fa16d70eba06b1e6e2b3f1b251419515" dependencies = [ "heck 0.4.1", - "proc-macro-crate 1.3.1", + "proc-macro-crate 1.1.3", "proc-macro2", "quote", "syn 1.0.109", @@ -5210,7 +5532,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf7a85fe66f9ff9cd74e169fdd2c94c6e1e74c412c99a73b4df3200b5d3760b2" dependencies = [ "kvdb", - "parking_lot 0.12.1", + "parking_lot 0.12.3", ] [[package]] @@ -5221,7 +5543,7 @@ checksum = "b644c70b92285f66bfc2032922a79000ea30af7bc2ab31902992a5dcb9b434f6" dependencies = [ "kvdb", "num_cpus", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "regex", "rocksdb", "smallvec", @@ -5240,9 +5562,12 @@ dependencies = [ [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin 0.9.8", +] [[package]] name = "lazycell" @@ -5252,15 +5577,15 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.153" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libloading" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" +checksum = "e310b3a6b5907f99202fcdb4960ff45b93735d7c7d96b760fcff8db2dc0e103d" dependencies = [ "cfg-if", "windows-targets 0.52.5", @@ -5281,7 +5606,7 @@ dependencies = [ "bytes", "futures", "futures-timer", - "getrandom 0.2.14", + "getrandom 0.2.15", "instant", "libp2p-allow-block-list", "libp2p-connection-limits", @@ -5346,7 +5671,7 @@ dependencies = [ "multihash 0.17.0", "multistream-select", "once_cell", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "pin-project", "quick-protobuf", "rand 0.8.5", @@ -5366,7 +5691,7 @@ dependencies = [ "futures", "libp2p-core", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "smallvec", "trust-dns-resolver", ] @@ -5528,7 +5853,7 @@ dependencies = [ "libp2p-identity", "libp2p-tls", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "quinn-proto", "rand 0.8.5", "rustls 0.20.9", @@ -5644,7 +5969,7 @@ dependencies = [ "futures-rustls", "libp2p-core", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "quicksink", "rw-stream-sink", "soketto", @@ -5671,7 +5996,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "libc", ] @@ -5717,7 +6042,7 @@ checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451" dependencies = [ "crunchy", "digest 0.9.0", - "subtle 2.5.0", + "subtle 2.4.1", ] [[package]] @@ -5751,9 +6076,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.16" +version = "1.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e143b5e666b2695d28f6bca6497720813f699c9602dd7f5cac91008b8ada7f9" +checksum = "c15da26e5af7e25c90b37a2d75cdbf940cf4a55316de9d84c679c9b8bfabf82e" dependencies = [ "cc", "pkg-config", @@ -5807,9 +6132,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" [[package]] name = "lioness" @@ -5825,9 +6150,9 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -5835,9 +6160,12 @@ dependencies = [ [[package]] name = "log" -version = "0.4.21" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +dependencies = [ + "serde", +] [[package]] name = "lru" @@ -5874,9 +6202,9 @@ dependencies = [ [[package]] name = "lz4" -version = "1.24.0" +version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e9e2dd86df36ce760a60f6ff6ad526f7ba1f14ba0356f8254fb6905e6494df1" +checksum = "d6eab492fe7f8651add23237ea56dbf11b3c4ff762ab83d40a47f11433421f91" dependencies = [ "libc", "lz4-sys", @@ -5884,9 +6212,9 @@ dependencies = [ [[package]] name = "lz4-sys" -version = "1.9.4" +version = "1.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57d27b317e207b10f69f5e75494119e391a96f48861ae870d1da6edac98ca900" +checksum = "e9764018d143cc854c9f17f0b907de70f14393b1f502da6375dce70f00514eb3" dependencies = [ "cc", "libc", @@ -5910,7 +6238,7 @@ dependencies = [ "macro_magic_core", "macro_magic_macros", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -5924,7 +6252,7 @@ dependencies = [ "macro_magic_core_macros", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -5935,7 +6263,7 @@ checksum = "9ea73aa640dc01d62a590d48c0c3521ed739d53b27f919b25c3551e233481654" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -5946,7 +6274,7 @@ checksum = "ef9d79ae96aaba821963320eb2b6e34d17df1e5a83d8a1985c29cc5be59577b3" dependencies = [ "macro_magic_core", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -6098,9 +6426,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.2" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memfd" @@ -6108,7 +6436,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" dependencies = [ - "rustix 0.38.32", + "rustix 0.38.34", ] [[package]] @@ -6190,9 +6518,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" dependencies = [ "adler", ] @@ -6219,16 +6547,16 @@ dependencies = [ "bitflags 1.3.2", "blake2 0.10.6", "c2-chacha", - "curve25519-dalek 4.1.2", + "curve25519-dalek 4.1.3", "either", "hashlink", "lioness", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rand 0.8.5", "rand_chacha 0.3.1", "rand_distr", - "subtle 2.5.0", + "subtle 2.4.1", "thiserror", "zeroize", ] @@ -6236,7 +6564,7 @@ dependencies = [ [[package]] name = "mmr-gadget" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "futures", "log", @@ -6255,7 +6583,7 @@ dependencies = [ [[package]] name = "mmr-rpc" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -6294,6 +6622,510 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "move-abigen" +version = "0.1.0" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "anyhow", + "bcs 0.1.6", + "heck 0.3.3", + "log", + "move-binary-format", + "move-bytecode-verifier", + "move-command-line-common", + "move-core-types", + "move-model", + "serde", +] + +[[package]] +name = "move-binary-format" +version = "0.0.3" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "anyhow", + "hashbrown 0.14.5", + "move-core-types", + "ref-cast", + "serde", + "variant_count", +] + +[[package]] +name = "move-borrow-graph" +version = "0.0.1" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" + +[[package]] +name = "move-bytecode-source-map" +version = "0.1.0" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "anyhow", + "bcs 0.1.6", + "move-binary-format", + "move-command-line-common", + "move-core-types", + "move-ir-types", + "move-symbol-pool", + "serde", +] + +[[package]] +name = "move-bytecode-verifier" +version = "0.1.0" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "anyhow", + "fail", + "hashbrown 0.14.5", + "move-binary-format", + "move-borrow-graph", + "move-core-types", + "petgraph 0.6.4", +] + +[[package]] +name = "move-command-line-common" +version = "0.1.0" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "anyhow", + "difference", + "dirs-next", + "hex", + "move-core-types", + "move-vm-support", + "num-bigint", + "once_cell", + "serde", + "sha2 0.9.9", + "walkdir", +] + +[[package]] +name = "move-compiler" +version = "0.0.1" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "anyhow", + "bcs 0.1.6", + "clap 3.2.25", + "codespan-reporting", + "difference", + "hex", + "move-binary-format", + "move-borrow-graph", + "move-bytecode-source-map", + "move-bytecode-verifier", + "move-command-line-common", + "move-core-types", + "move-ir-to-bytecode", + "move-ir-types", + "move-symbol-pool", + "move-vm-support", + "num-bigint", + "once_cell", + "petgraph 0.5.1", + "regex", + "sha3 0.9.1", + "tempfile", + "walkdir", +] + +[[package]] +name = "move-core-types" +version = "0.0.4" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "anyhow", + "bcs 0.1.4", + "ethnum", + "hashbrown 0.14.5", + "hex", + "num", + "parity-scale-codec", + "primitive-types", + "rand 0.8.5", + "ref-cast", + "scale-info", + "serde", + "serde_bytes", + "uint", +] + +[[package]] +name = "move-coverage" +version = "0.1.0" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "anyhow", + "bcs 0.1.6", + "clap 3.2.25", + "codespan", + "colored", + "move-binary-format", + "move-bytecode-source-map", + "move-command-line-common", + "move-core-types", + "move-ir-types", + "once_cell", + "petgraph 0.5.1", + "serde", +] + +[[package]] +name = "move-disassembler" +version = "0.1.0" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "anyhow", + "clap 3.2.25", + "colored", + "move-binary-format", + "move-bytecode-source-map", + "move-bytecode-verifier", + "move-command-line-common", + "move-compiler", + "move-core-types", + "move-coverage", + "move-ir-types", +] + +[[package]] +name = "move-docgen" +version = "0.1.0" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "anyhow", + "codespan", + "codespan-reporting", + "itertools 0.10.5", + "log", + "move-compiler", + "move-model", + "num", + "once_cell", + "regex", + "serde", +] + +[[package]] +name = "move-errmapgen" +version = "0.1.0" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "anyhow", + "bcs 0.1.6", + "log", + "move-command-line-common", + "move-core-types", + "move-model", + "serde", +] + +[[package]] +name = "move-ir-to-bytecode" +version = "0.1.0" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "anyhow", + "codespan-reporting", + "log", + "move-binary-format", + "move-bytecode-source-map", + "move-command-line-common", + "move-core-types", + "move-ir-to-bytecode-syntax", + "move-ir-types", + "move-symbol-pool", + "ouroboros", + "thiserror", +] + +[[package]] +name = "move-ir-to-bytecode-syntax" +version = "0.1.0" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "anyhow", + "hex", + "move-command-line-common", + "move-core-types", + "move-ir-types", + "move-symbol-pool", +] + +[[package]] +name = "move-ir-types" +version = "0.1.0" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "anyhow", + "hex", + "move-command-line-common", + "move-core-types", + "move-symbol-pool", + "once_cell", + "serde", +] + +[[package]] +name = "move-model" +version = "0.1.0" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "anyhow", + "codespan", + "codespan-reporting", + "internment", + "itertools 0.10.5", + "log", + "move-binary-format", + "move-bytecode-source-map", + "move-bytecode-verifier", + "move-command-line-common", + "move-compiler", + "move-core-types", + "move-disassembler", + "move-ir-types", + "move-symbol-pool", + "num", + "once_cell", + "regex", + "serde", +] + +[[package]] +name = "move-prover" +version = "0.1.0" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "anyhow", + "async-trait", + "atty", + "clap 3.2.25", + "codespan", + "codespan-reporting", + "futures", + "hex", + "itertools 0.10.5", + "log", + "move-abigen", + "move-binary-format", + "move-command-line-common", + "move-compiler", + "move-core-types", + "move-docgen", + "move-errmapgen", + "move-ir-types", + "move-model", + "move-prover-boogie-backend", + "move-stackless-bytecode", + "num", + "once_cell", + "pretty", + "rand 0.8.5", + "serde", + "serde_json", + "simplelog", + "tokio", + "toml 0.5.11", +] + +[[package]] +name = "move-prover-boogie-backend" +version = "0.1.0" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "anyhow", + "async-trait", + "codespan", + "codespan-reporting", + "futures", + "itertools 0.10.5", + "log", + "move-binary-format", + "move-command-line-common", + "move-compiler", + "move-core-types", + "move-model", + "move-stackless-bytecode", + "num", + "once_cell", + "pretty", + "rand 0.8.5", + "regex", + "serde", + "serde_json", + "tera", + "tokio", +] + +[[package]] +name = "move-read-write-set-types" +version = "0.0.3" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "anyhow", + "move-binary-format", + "move-core-types", + "serde", +] + +[[package]] +name = "move-stackless-bytecode" +version = "0.1.0" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "codespan", + "codespan-reporting", + "ethnum", + "im", + "itertools 0.10.5", + "log", + "move-binary-format", + "move-borrow-graph", + "move-bytecode-verifier", + "move-command-line-common", + "move-compiler", + "move-core-types", + "move-ir-to-bytecode", + "move-model", + "move-read-write-set-types", + "num", + "once_cell", + "paste", + "petgraph 0.5.1", + "serde", +] + +[[package]] +name = "move-stdlib" +version = "0.1.1" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "blake2-rfc", + "hex", + "log", + "move-binary-format", + "move-command-line-common", + "move-compiler", + "move-core-types", + "move-docgen", + "move-errmapgen", + "move-prover", + "move-vm-runtime", + "move-vm-types", + "ripemd", + "sha2 0.10.8", + "sha3 0.10.8", + "siphasher 1.0.1", + "smallvec", + "tiny-keccak", +] + +[[package]] +name = "move-symbol-pool" +version = "0.1.0" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "once_cell", + "serde", +] + +[[package]] +name = "move-vm-backend" +version = "0.1.0" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "anyhow", + "bcs 0.1.4", + "hashbrown 0.14.5", + "move-binary-format", + "move-core-types", + "move-stdlib", + "move-vm-backend-common", + "move-vm-runtime", + "move-vm-test-utils", + "move-vm-types", + "num-integer", + "serde", +] + +[[package]] +name = "move-vm-backend-common" +version = "0.1.0" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "anyhow", + "bcs 0.1.4", + "lazy_static", + "move-binary-format", + "move-core-types", + "move-stdlib", + "move-vm-runtime", + "move-vm-test-utils", + "move-vm-types", + "parity-scale-codec", + "scale-info", + "serde", + "serde_bytes", +] + +[[package]] +name = "move-vm-runtime" +version = "0.1.0" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "better_any", + "fail", + "hashbrown 0.14.5", + "move-binary-format", + "move-bytecode-verifier", + "move-core-types", + "move-vm-types", + "sha3 0.10.8", + "tracing", +] + +[[package]] +name = "move-vm-support" +version = "0.1.0" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "anyhow", + "blake2 0.10.6", + "bs58 0.5.1", + "move-core-types", +] + +[[package]] +name = "move-vm-test-utils" +version = "0.1.0" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "anyhow", + "lazy_static", + "move-binary-format", + "move-core-types", + "move-vm-types", + "serde", +] + +[[package]] +name = "move-vm-types" +version = "0.1.0" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +dependencies = [ + "bcs 0.1.4", + "move-binary-format", + "move-core-types", + "serde", + "smallvec", +] + [[package]] name = "mp-coretime-bulk" version = "0.1.0" @@ -6395,9 +7227,9 @@ dependencies = [ "blake3", "core2", "digest 0.10.7", - "multihash-derive 0.8.0", + "multihash-derive 0.8.1", "sha2 0.10.8", - "sha3", + "sha3 0.10.8", "unsigned-varint", ] @@ -6409,7 +7241,7 @@ checksum = "cfd8a792c1694c6da4f68db0a9d707c72bd260994da179e6030a5dcee00bb815" dependencies = [ "core2", "digest 0.10.7", - "multihash-derive 0.8.0", + "multihash-derive 0.8.1", "sha2 0.10.8", "unsigned-varint", ] @@ -6440,22 +7272,22 @@ dependencies = [ "serde", "sha1", "sha2 0.10.8", - "sha3", + "sha3 0.10.8", "strobe-rs", ] [[package]] name = "multihash-derive" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc076939022111618a5026d3be019fd8b366e76314538ff9a1b59ffbcbf98bcd" +checksum = "1d6d4752e6230d8ef7adf7bd5d8c4b1f6561c1014c5ba9a37445ccefe18aa1db" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 1.1.3", "proc-macro-error", "proc-macro2", "quote", "syn 1.0.109", - "synstructure", + "synstructure 0.12.6", ] [[package]] @@ -6471,16 +7303,16 @@ dependencies = [ [[package]] name = "multihash-derive-impl" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d38685e08adb338659871ecfc6ee47ba9b22dcc8abcf6975d379cc49145c3040" +checksum = "3958713ce794e12f7c6326fac9aa274c68d74c4881dd37b3e2662b8a2046bb19" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 2.0.0", "proc-macro-error", "proc-macro2", "quote", - "syn 1.0.109", - "synstructure", + "syn 2.0.68", + "synstructure 0.13.1", ] [[package]] @@ -6505,9 +7337,9 @@ dependencies = [ [[package]] name = "nalgebra" -version = "0.32.5" +version = "0.32.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ea4908d4f23254adda3daa60ffef0f1ac7b8c3e9a864cf3cc154b251908a2ef" +checksum = "7b5c17de023a86f59ed79891b2e5d5a94c705dbe904a5b5c9c952ea6221b03e4" dependencies = [ "approx", "matrixmultiply", @@ -6521,13 +7353,13 @@ dependencies = [ [[package]] name = "nalgebra-macros" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91761aed67d03ad966ef783ae962ef9bbaca728d2dd7ceb7939ec110fffad998" +checksum = "254a5372af8fc138e36684761d3c0cdb758a4410e938babcff1c860ce14ddbfc" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.68", ] [[package]] @@ -6547,11 +7379,10 @@ checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" [[package]] name = "native-tls" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" dependencies = [ - "lazy_static", "libc", "log", "openssl", @@ -6646,7 +7477,7 @@ version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "cfg-if", "libc", ] @@ -6697,9 +7528,9 @@ dependencies = [ [[package]] name = "num" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3135b08af27d103b0a51f2ae0f8632117b7b185ccf931445affa8df530576a41" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" dependencies = [ "num-bigint", "num-complex", @@ -6711,20 +7542,19 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.4" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ - "autocfg", "num-integer", "num-traits", ] [[package]] name = "num-complex" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ "num-traits", ] @@ -6756,9 +7586,9 @@ dependencies = [ [[package]] name = "num-iter" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ "autocfg", "num-integer", @@ -6767,11 +7597,10 @@ dependencies = [ [[package]] name = "num-rational" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ - "autocfg", "num-bigint", "num-integer", "num-traits", @@ -6779,9 +7608,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", "libm", @@ -6793,7 +7622,7 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", ] @@ -6815,7 +7644,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -6838,9 +7667,9 @@ dependencies = [ [[package]] name = "object" -version = "0.32.2" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce" dependencies = [ "memchr", ] @@ -6878,7 +7707,7 @@ version = "0.10.64" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "cfg-if", "foreign-types", "libc", @@ -6895,7 +7724,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -6924,9 +7753,9 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "orchestra" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2356622ffdfe72362a45a1e5e87bb113b8327e596e39b91f11f0ef4395c8da79" +checksum = "92829eef0328a3d1cd22a02c0e51deb92a5362df3e7d21a4e9bdc38934694e66" dependencies = [ "async-trait", "dyn-clonable", @@ -6941,15 +7770,15 @@ dependencies = [ [[package]] name = "orchestra-proc-macro" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eedb646674596266dc9bb2b5c7eea7c36b32ecc7777eba0d510196972d72c4fd" +checksum = "1344346d5af32c95bbddea91b18a88cc83eac394192d20ef2fc4c40a74332355" dependencies = [ - "expander 2.1.0", + "expander 2.2.1", "indexmap 2.2.6", "itertools 0.11.0", - "petgraph", - "proc-macro-crate 1.3.1", + "petgraph 0.6.5", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", "syn 1.0.109", @@ -6964,6 +7793,35 @@ dependencies = [ "num-traits", ] +[[package]] +name = "os_str_bytes" +version = "6.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" + +[[package]] +name = "ouroboros" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbeff60e3e37407a80ead3e9458145b456e978c4068cddbfea6afb48572962ca" +dependencies = [ + "ouroboros_macro", + "stable_deref_trait", +] + +[[package]] +name = "ouroboros_macro" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03f2cb802b5bdfdf52f1ffa0b54ce105e4d346e91990dd571f86c91321ad49e2" +dependencies = [ + "Inflector", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "overload" version = "0.1.1" @@ -6973,7 +7831,7 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "pallet-asset-conversion" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6991,7 +7849,7 @@ dependencies = [ [[package]] name = "pallet-asset-rate" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7006,7 +7864,7 @@ dependencies = [ [[package]] name = "pallet-asset-tx-payment" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7024,7 +7882,7 @@ dependencies = [ [[package]] name = "pallet-assets" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7083,7 +7941,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-support", "frame-system", @@ -7100,7 +7958,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-support", "frame-system", @@ -7116,7 +7974,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-support", "frame-system", @@ -7130,7 +7988,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7154,7 +8012,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "aquamarine", "docify", @@ -7176,7 +8034,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "docify", "frame-benchmarking", @@ -7206,7 +8064,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-support", "frame-system", @@ -7226,9 +8084,9 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ - "array-bytes 6.2.2", + "array-bytes 6.2.3", "binary-merkle-tree", "frame-support", "frame-system", @@ -7251,7 +8109,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7269,7 +8127,7 @@ dependencies = [ [[package]] name = "pallet-broker" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "bitvec", "frame-benchmarking", @@ -7319,7 +8177,7 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7338,13 +8196,14 @@ dependencies = [ [[package]] name = "pallet-collator-selection" version = "9.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", "pallet-authorship", + "pallet-balances", "pallet-session", "parity-scale-codec", "rand 0.8.5", @@ -7357,7 +8216,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7374,7 +8233,7 @@ dependencies = [ [[package]] name = "pallet-contracts" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "bitflags 1.3.2", "environmental", @@ -7406,17 +8265,17 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] name = "pallet-contracts-uapi" version = "5.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -7428,7 +8287,7 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "assert_matches", "frame-benchmarking", @@ -7445,7 +8304,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7479,7 +8338,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -7502,7 +8361,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -7516,7 +8375,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7644,7 +8503,7 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "docify", "frame-benchmarking", @@ -7663,7 +8522,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7702,7 +8561,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "enumflags2", "frame-benchmarking", @@ -7719,7 +8578,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7739,7 +8598,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7756,7 +8615,7 @@ dependencies = [ [[package]] name = "pallet-insecure-randomness-collective-flip" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-support", "frame-system", @@ -7799,7 +8658,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7816,7 +8675,7 @@ dependencies = [ [[package]] name = "pallet-message-queue" version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "environmental", "frame-benchmarking", @@ -7836,7 +8695,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7848,13 +8707,54 @@ dependencies = [ "sp-io 30.0.0", "sp-mmr-primitives", "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", +] + +[[package]] +name = "pallet-move" +version = "0.1.0" +source = "git+https://github.com/Magport/pallet-move?branch=main#3c477380e724de6c0290694874cce999cfa768d8" +dependencies = [ + "anyhow", + "bcs 0.1.4", + "blake2 0.10.6", + "frame-benchmarking", + "frame-support", + "frame-system", + "hashbrown 0.14.5", + "log", + "move-core-types", + "move-vm-backend", + "move-vm-backend-common", + "pallet-balances", + "parity-scale-codec", + "scale-info", + "serde", + "sp-api", + "sp-core 28.0.0", + "sp-runtime 31.0.1", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", +] + +[[package]] +name = "pallet-move-rpc" +version = "0.1.0" +source = "git+https://github.com/Magport/pallet-move?branch=main#3c477380e724de6c0290694874cce999cfa768d8" +dependencies = [ + "frame-support", + "jsonrpsee", + "pallet-move", + "parity-scale-codec", + "serde", + "sp-api", + "sp-blockchain", + "sp-runtime 31.0.1", ] [[package]] name = "pallet-multisig" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7870,7 +8770,7 @@ dependencies = [ [[package]] name = "pallet-nis" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7886,7 +8786,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "25.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-support", "frame-system", @@ -7905,7 +8805,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-benchmarking" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -7925,7 +8825,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", @@ -7936,7 +8836,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-support", "frame-system", @@ -7953,7 +8853,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8059,7 +8959,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -8076,7 +8976,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -8091,7 +8991,7 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -8110,7 +9010,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -8125,7 +9025,7 @@ dependencies = [ [[package]] name = "pallet-referenda" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "assert_matches", "frame-benchmarking", @@ -8144,7 +9044,7 @@ dependencies = [ [[package]] name = "pallet-root-testing" version = "4.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-support", "frame-system", @@ -8159,7 +9059,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "docify", "frame-benchmarking", @@ -8177,7 +9077,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-support", "frame-system", @@ -8199,7 +9099,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -8216,7 +9116,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -8234,7 +9134,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8257,18 +9157,18 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] name = "pallet-staking-reward-fn" version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "log", "sp-arithmetic 23.0.0", @@ -8277,7 +9177,7 @@ dependencies = [ [[package]] name = "pallet-staking-runtime-api" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "parity-scale-codec", "sp-api", @@ -8287,7 +9187,7 @@ dependencies = [ [[package]] name = "pallet-state-trie-migration" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -8304,7 +9204,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "docify", "frame-benchmarking", @@ -8320,7 +9220,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "docify", "frame-benchmarking", @@ -8340,7 +9240,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -8359,7 +9259,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-support", "frame-system", @@ -8375,7 +9275,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -8391,7 +9291,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -8403,7 +9303,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "docify", "frame-benchmarking", @@ -8422,7 +9322,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -8438,7 +9338,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -8453,7 +9353,7 @@ dependencies = [ [[package]] name = "pallet-whitelist" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -8468,7 +9368,7 @@ dependencies = [ [[package]] name = "pallet-xcm" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "bounded-collections 0.2.0", "frame-benchmarking", @@ -8491,7 +9391,7 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-benchmarking", "frame-support", @@ -8511,8 +9411,8 @@ dependencies = [ name = "parachain-magnet-node" version = "0.6.0" dependencies = [ - "array-bytes 6.2.2", - "clap", + "array-bytes 6.2.3", + "clap 4.5.8", "color-print", "cumulus-client-cli", "cumulus-client-collator", @@ -8546,6 +9446,7 @@ dependencies = [ "mp-coretime-bulk", "mp-system", "pallet-balances", + "pallet-move-rpc", "pallet-pot-rpc", "pallet-transaction-payment", "pallet-transaction-payment-rpc", @@ -8614,6 +9515,7 @@ dependencies = [ "cumulus-pallet-session-benchmarking", "cumulus-pallet-xcm", "cumulus-pallet-xcmp-queue", + "cumulus-primitives-aura", "cumulus-primitives-core", "cumulus-primitives-timestamp", "cumulus-primitives-utility", @@ -8657,6 +9559,7 @@ dependencies = [ "pallet-insecure-randomness-collective-flip", "pallet-liquidation", "pallet-message-queue", + "pallet-move", "pallet-pot", "pallet-pot-runtime-api", "pallet-precompile-substrate-utils", @@ -8705,7 +9608,7 @@ dependencies = [ [[package]] name = "parachains-common" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-utility", @@ -8747,7 +9650,7 @@ dependencies = [ "log", "lz4", "memmap2 0.5.10", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rand 0.8.5", "siphasher 0.3.11", "snap", @@ -8756,9 +9659,9 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.6.9" +version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" +checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" dependencies = [ "arrayvec 0.7.4", "bitvec", @@ -8771,11 +9674,11 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.6.9" +version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be30eaf4b0a9fba5336683b38de57bb86d179a35862ba6bfcf57625d006bde5b" +checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" dependencies = [ - "proc-macro-crate 2.0.0", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", "syn 1.0.109", @@ -8812,12 +9715,12 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", - "parking_lot_core 0.9.9", + "parking_lot_core 0.9.10", ] [[package]] @@ -8836,15 +9739,24 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.4.1", + "redox_syscall 0.5.2", "smallvec", - "windows-targets 0.48.5", + "windows-targets 0.52.5", +] + +[[package]] +name = "parse-zoneinfo" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f2a05b18d44e2957b88f96ba460715e295bc1d7510468a2f3d3b44535d26c24" +dependencies = [ + "regex", ] [[package]] @@ -8855,9 +9767,9 @@ checksum = "7924d1d0ad836f665c9065e26d016c673ece3993f30d340068b16f282afc1156" [[package]] name = "paste" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "pbkdf2" @@ -8865,7 +9777,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa" dependencies = [ - "crypto-mac 0.11.0", + "crypto-mac 0.11.1", ] [[package]] @@ -8900,9 +9812,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.9" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "311fb059dee1a7b802f036316d790138c613a4e8b180c822e3925a662e9f0c95" +checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" dependencies = [ "memchr", "thiserror", @@ -8911,9 +9823,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.9" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f73541b156d32197eecda1a4014d7f868fd2bcb3c550d5386087cfba442bf69c" +checksum = "26293c9193fbca7b1a3bf9b79dc1e388e927e6cacaa78b4a3ab705a1d3d41459" dependencies = [ "pest", "pest_generator", @@ -8921,38 +9833,96 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.9" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c35eeed0a3fab112f75165fdc026b3913f4183133f19b49be773ac9ea966e8bd" +checksum = "3ec22af7d3fb470a85dd2ca96b7c577a1eb4ef6f1683a9fe9a8c16e136c04687" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] name = "pest_meta" -version = "2.7.9" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2adbf29bb9776f28caece835398781ab24435585fe0d4dc1374a61db5accedca" +checksum = "d7a240022f37c361ec1878d646fc5b7d7c4d28d5946e1a80ad5a7a4f4ca0bdcd" dependencies = [ "once_cell", "pest", "sha2 0.10.8", ] +[[package]] +name = "petgraph" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7" +dependencies = [ + "fixedbitset 0.2.0", + "indexmap 1.9.3", +] + [[package]] name = "petgraph" version = "0.6.4" +source = "git+https://github.com/eigerco/petgraph.git?branch=master#1d8299983104e293b5343b930bb086e6b49b2d85" +dependencies = [ + "fixedbitset 0.4.2", + "hashbrown 0.14.5", + "indexmap 2.2.6", +] + +[[package]] +name = "petgraph" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" +checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ - "fixedbitset", + "fixedbitset 0.4.2", "indexmap 2.2.6", ] +[[package]] +name = "phf" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +dependencies = [ + "phf_shared", +] + +[[package]] +name = "phf_codegen" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +dependencies = [ + "phf_shared", + "rand 0.8.5", +] + +[[package]] +name = "phf_shared" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +dependencies = [ + "siphasher 0.3.11", +] + [[package]] name = "pin-project" version = "1.1.5" @@ -8970,7 +9940,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -8993,12 +9963,12 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "piper" -version = "0.2.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" +checksum = "ae1d5c74c9876f070d3e8fd503d748c7d974c3e48da8f41350fa5222ef9b4391" dependencies = [ "atomic-waker", - "fastrand 2.0.2", + "fastrand 2.1.0", "futures-io", ] @@ -9018,16 +9988,10 @@ version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" -[[package]] -name = "platforms" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7" - [[package]] name = "polkadot-approval-distribution" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "bitvec", "futures", @@ -9047,7 +10011,7 @@ dependencies = [ [[package]] name = "polkadot-availability-bitfield-distribution" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "always-assert", "futures", @@ -9063,7 +10027,7 @@ dependencies = [ [[package]] name = "polkadot-availability-distribution" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "derive_more", "fatality", @@ -9086,7 +10050,7 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "fatality", @@ -9109,10 +10073,10 @@ dependencies = [ [[package]] name = "polkadot-cli" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "cfg-if", - "clap", + "clap 4.5.8", "frame-benchmarking-cli", "futures", "log", @@ -9137,7 +10101,7 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "bitvec", "fatality", @@ -9159,7 +10123,7 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "parity-scale-codec", "scale-info", @@ -9171,7 +10135,7 @@ dependencies = [ [[package]] name = "polkadot-dispute-distribution" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "derive_more", "fatality", @@ -9196,7 +10160,7 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -9210,7 +10174,7 @@ dependencies = [ [[package]] name = "polkadot-gossip-support" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "futures", "futures-timer", @@ -9232,7 +10196,7 @@ dependencies = [ [[package]] name = "polkadot-network-bridge" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "always-assert", "async-trait", @@ -9240,7 +10204,7 @@ dependencies = [ "fatality", "futures", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "polkadot-node-metrics", "polkadot-node-network-protocol", "polkadot-node-subsystem", @@ -9255,7 +10219,7 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "futures", "parity-scale-codec", @@ -9273,7 +10237,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "bitvec", "derive_more", @@ -9306,7 +10270,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "bitvec", "futures", @@ -9328,7 +10292,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "bitvec", "fatality", @@ -9347,7 +10311,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "futures", "polkadot-node-subsystem", @@ -9362,7 +10326,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "futures", @@ -9383,7 +10347,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-api" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "futures", "polkadot-node-metrics", @@ -9397,7 +10361,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "futures", "futures-timer", @@ -9414,7 +10378,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "fatality", "futures", @@ -9433,7 +10397,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "futures", @@ -9450,7 +10414,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-prospective-parachains" version = "6.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "bitvec", "fatality", @@ -9467,7 +10431,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "bitvec", "fatality", @@ -9484,10 +10448,10 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "always-assert", - "array-bytes 6.2.2", + "array-bytes 6.2.3", "blake3", "cfg-if", "futures", @@ -9517,7 +10481,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "futures", "polkadot-node-primitives", @@ -9533,7 +10497,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-common" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "cfg-if", "cpu-time", @@ -9560,7 +10524,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-runtime-api" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "futures", "polkadot-node-metrics", @@ -9575,13 +10539,13 @@ dependencies = [ [[package]] name = "polkadot-node-jaeger" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "lazy_static", "log", "mick-jaeger", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "polkadot-node-primitives", "polkadot-primitives", "sc-network", @@ -9593,7 +10557,7 @@ dependencies = [ [[package]] name = "polkadot-node-metrics" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "bs58 0.5.1", "futures", @@ -9612,7 +10576,7 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-channel 1.9.0", "async-trait", @@ -9636,7 +10600,7 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "bitvec", "bounded-vec", @@ -9659,7 +10623,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "polkadot-node-jaeger", "polkadot-node-subsystem-types", @@ -9669,7 +10633,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "bitvec", @@ -9697,7 +10661,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-util" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "derive_more", @@ -9708,7 +10672,7 @@ dependencies = [ "kvdb", "parity-db", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "pin-project", "polkadot-node-jaeger", "polkadot-node-metrics", @@ -9732,13 +10696,13 @@ dependencies = [ [[package]] name = "polkadot-overseer" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "futures", "futures-timer", "orchestra", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "polkadot-node-metrics", "polkadot-node-network-protocol", "polkadot-node-primitives", @@ -9754,7 +10718,7 @@ dependencies = [ [[package]] name = "polkadot-parachain-primitives" version = "6.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "bounded-collections 0.2.0", "derive_more", @@ -9771,7 +10735,7 @@ dependencies = [ [[package]] name = "polkadot-primitives" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "bitvec", "hex-literal", @@ -9797,7 +10761,7 @@ dependencies = [ [[package]] name = "polkadot-rpc" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "jsonrpsee", "mmr-rpc", @@ -9830,7 +10794,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "bitvec", "frame-benchmarking", @@ -9882,7 +10846,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "bs58 0.5.1", "frame-benchmarking", @@ -9895,7 +10859,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "bitflags 1.3.2", "bitvec", @@ -9944,11 +10908,12 @@ dependencies = [ [[package]] name = "polkadot-service" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "frame-benchmarking", "frame-benchmarking-cli", + "frame-metadata-hash-extension", "frame-support", "frame-system", "frame-system-rpc-runtime-api", @@ -9966,7 +10931,7 @@ dependencies = [ "pallet-transaction-payment-rpc-runtime-api", "parity-db", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "polkadot-approval-distribution", "polkadot-availability-bitfield-distribution", "polkadot-availability-distribution", @@ -10062,7 +11027,7 @@ dependencies = [ [[package]] name = "polkadot-statement-distribution" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "arrayvec 0.7.4", "bitvec", @@ -10085,7 +11050,7 @@ dependencies = [ [[package]] name = "polkadot-statement-table" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -10111,7 +11076,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6380dbe1fb03ecc74ad55d841cfc75480222d153ba69ddcb00977866cbdabdb8" dependencies = [ "polkavm-derive-impl 0.5.0", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -10132,7 +11097,7 @@ dependencies = [ "polkavm-common 0.5.0", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -10144,7 +11109,7 @@ dependencies = [ "polkavm-common 0.9.0", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -10154,7 +11119,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429" dependencies = [ "polkavm-derive-impl 0.9.0", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -10175,15 +11140,15 @@ dependencies = [ [[package]] name = "polling" -version = "3.6.0" +version = "3.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0c976a60b2d7e99d6f229e414670a9b85d13ac305cc6d1e9c134de58c5aaaf6" +checksum = "a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b" dependencies = [ "cfg-if", "concurrent-queue", - "hermit-abi", + "hermit-abi 0.4.0", "pin-project-lite 0.2.14", - "rustix 0.38.32", + "rustix 0.38.34", "tracing", "windows-sys 0.52.0", ] @@ -10261,7 +11226,7 @@ source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6 dependencies = [ "case", "num_enum", - "prettyplease 0.2.19", + "prettyplease 0.2.20", "proc-macro2", "quote", "sp-core-hashing 15.0.0", @@ -10299,20 +11264,20 @@ dependencies = [ ] [[package]] -name = "prettier-please" -version = "0.2.0" +name = "pretty" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22020dfcf177fcc7bf5deaf7440af371400c67c0de14c399938d8ed4fb4645d3" +checksum = "ad9940b913ee56ddd94aec2d3cd179dd47068236f42a1a6415ccf9d880ce2a61" dependencies = [ - "proc-macro2", - "syn 2.0.60", + "arrayvec 0.5.2", + "typed-arena", ] [[package]] name = "prettyplease" -version = "0.1.11" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28f53e8b192565862cf99343194579a022eb9c7dd3a8d03134734803c7b3125" +checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" dependencies = [ "proc-macro2", "syn 1.0.109", @@ -10320,12 +11285,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.19" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ac2cf0f2e4f42b49f5ffd07dae8d746508ef7526c13940e5f524012ae6c6550" +checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -10360,12 +11325,12 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "1.3.1" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a" dependencies = [ - "once_cell", - "toml_edit 0.19.15", + "thiserror", + "toml 0.5.11", ] [[package]] @@ -10418,29 +11383,29 @@ checksum = "834da187cfe638ae8abb0203f0b33e5ccdb02a28e7199f2f47b3e2754f50edca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] name = "proc-macro2" -version = "1.0.85" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" dependencies = [ "unicode-ident", ] [[package]] name = "prometheus" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "449811d15fbdf5ceb5c1144416066429cf82316e2ec8ce0c1f6f8a02e7bbcf8c" +checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1" dependencies = [ "cfg-if", "fnv", "lazy_static", "memchr", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "thiserror", ] @@ -10452,7 +11417,7 @@ checksum = "5d6fa99d535dd930d1249e6c79cb3c2915f9172a540fe2b02a4c8f9ca954721e" dependencies = [ "dtoa", "itoa", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "prometheus-client-derive-encode", ] @@ -10464,7 +11429,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -10479,12 +11444,12 @@ dependencies = [ [[package]] name = "prost" -version = "0.12.4" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0f5d036824e4761737860779c906171497f6d55681139d8312388f8fe398922" +checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" dependencies = [ "bytes", - "prost-derive 0.12.4", + "prost-derive 0.12.6", ] [[package]] @@ -10499,8 +11464,8 @@ dependencies = [ "lazy_static", "log", "multimap", - "petgraph", - "prettyplease 0.1.11", + "petgraph 0.6.5", + "prettyplease 0.1.25", "prost 0.11.9", "prost-types", "regex", @@ -10524,15 +11489,15 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.12.4" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19de2de2a00075bf566bee3bd4db014b11587e84184d3f7a791bc17f1a8e9e48" +checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ "anyhow", "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -10684,7 +11649,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.14", + "getrandom 0.2.15", ] [[package]] @@ -10715,6 +11680,15 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "rand_xoshiro" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" +dependencies = [ + "rand_core 0.6.4", +] + [[package]] name = "rawpointer" version = "0.2.1" @@ -10771,13 +11745,22 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_syscall" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" +dependencies = [ + "bitflags 2.6.0", +] + [[package]] name = "redox_users" version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" dependencies = [ - "getrandom 0.2.14", + "getrandom 0.2.15", "libredox", "thiserror", ] @@ -10796,22 +11779,22 @@ dependencies = [ [[package]] name = "ref-cast" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4846d4c50d1721b1a3bef8af76924eef20d5e723647333798c1b519b3a9473f" +checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fddb4f8d99b0a2ebafc65a87a69a7b9875e4b1ae1f00db265d300ef7f28bccc" +checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -10828,14 +11811,14 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.4" +version = "1.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.6", - "regex-syntax 0.8.3", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", ] [[package]] @@ -10849,13 +11832,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.3", + "regex-syntax 0.8.4", ] [[package]] @@ -10866,9 +11849,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "resolv-conf" @@ -10887,7 +11870,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ "hmac 0.12.1", - "subtle 2.5.0", + "subtle 2.4.1", ] [[package]] @@ -10929,7 +11912,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.14", + "getrandom 0.2.15", "libc", "spin 0.9.8", "untrusted 0.9.0", @@ -10980,11 +11963,12 @@ dependencies = [ [[package]] name = "rococo-runtime" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "binary-merkle-tree", "frame-benchmarking", "frame-executive", + "frame-metadata-hash-extension", "frame-support", "frame-system", "frame-system-benchmarking", @@ -11076,7 +12060,7 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-support", "polkadot-primitives", @@ -11133,9 +12117,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" @@ -11164,7 +12148,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.22", + "semver 1.0.23", ] [[package]] @@ -11206,14 +12190,14 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.32" +version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "errno", "libc", - "linux-raw-sys 0.4.13", + "linux-raw-sys 0.4.14", "windows-sys 0.52.0", ] @@ -11231,9 +12215,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.10" +version = "0.21.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" +checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", "ring 0.17.8", @@ -11274,9 +12258,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.15" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" [[package]] name = "ruzstd" @@ -11313,9 +12297,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "safe-mix" @@ -11328,9 +12312,9 @@ dependencies = [ [[package]] name = "safe_arch" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f398075ce1e6a179b46f51bd88d0598b92b00d3551f1a2d4ac49e771b56ac354" +checksum = "c3460605018fdc9612bce72735cba0d27efbcd9904780d44c7e3a9948f96148a" dependencies = [ "bytemuck", ] @@ -11347,7 +12331,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "log", "sp-core 28.0.0", @@ -11358,7 +12342,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "futures", @@ -11369,7 +12353,7 @@ dependencies = [ "multihash 0.18.1", "multihash-codetable", "parity-scale-codec", - "prost 0.12.4", + "prost 0.12.6", "prost-build", "rand 0.8.5", "sc-client-api", @@ -11387,7 +12371,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "futures", "futures-timer", @@ -11409,7 +12393,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "parity-scale-codec", "sp-api", @@ -11424,9 +12408,9 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ - "array-bytes 6.2.2", + "array-bytes 6.2.3", "docify", "log", "memmap2 0.9.4", @@ -11450,23 +12434,23 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] name = "sc-cli" version = "0.36.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ - "array-bytes 6.2.2", + "array-bytes 6.2.3", "bip39", "chrono", - "clap", + "clap 4.5.8", "fdlimit", "futures", "itertools 0.10.5", @@ -11502,13 +12486,13 @@ dependencies = [ [[package]] name = "sc-client-api" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "fnv", "futures", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-executor", "sc-transaction-pool-api", "sc-utils", @@ -11529,7 +12513,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "hash-db", "kvdb", @@ -11539,7 +12523,7 @@ dependencies = [ "log", "parity-db", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-client-api", "sc-state-db", "schnellru", @@ -11555,7 +12539,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "futures", @@ -11563,7 +12547,7 @@ dependencies = [ "libp2p-identity", "log", "mockall", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-client-api", "sc-utils", "serde", @@ -11580,7 +12564,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "futures", @@ -11609,7 +12593,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "fork-tree", @@ -11619,7 +12603,7 @@ dependencies = [ "num-rational", "num-traits", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-client-api", "sc-consensus", "sc-consensus-epochs", @@ -11645,7 +12629,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "futures", "jsonrpsee", @@ -11667,16 +12651,16 @@ dependencies = [ [[package]] name = "sc-consensus-beefy" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ - "array-bytes 6.2.2", + "array-bytes 6.2.3", "async-channel 1.9.0", "async-trait", "fnv", "futures", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-client-api", "sc-consensus", "sc-network", @@ -11703,13 +12687,13 @@ dependencies = [ [[package]] name = "sc-consensus-beefy-rpc" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "futures", "jsonrpsee", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-consensus-beefy", "sc-rpc", "serde", @@ -11722,7 +12706,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "fork-tree", "parity-scale-codec", @@ -11735,10 +12719,10 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "ahash 0.8.11", - "array-bytes 6.2.2", + "array-bytes 6.2.3", "async-trait", "dyn-clone", "finality-grandpa", @@ -11747,7 +12731,7 @@ dependencies = [ "futures-timer", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rand 0.8.5", "sc-block-builder", "sc-chain-spec", @@ -11778,7 +12762,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "finality-grandpa", "futures", @@ -11798,7 +12782,7 @@ dependencies = [ [[package]] name = "sc-consensus-manual-seal" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "assert_matches", "async-trait", @@ -11833,7 +12817,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "futures", @@ -11856,10 +12840,10 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-executor-common", "sc-executor-wasmtime", "schnellru", @@ -11878,7 +12862,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "sc-allocator", "sp-maybe-compressed-blob", @@ -11890,13 +12874,13 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "anyhow", "cfg-if", "libc", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rustix 0.36.17", "sc-allocator", "sc-executor-common", @@ -11908,7 +12892,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "ansi_term", "futures", @@ -11925,10 +12909,10 @@ dependencies = [ [[package]] name = "sc-keystore" version = "25.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ - "array-bytes 6.2.2", - "parking_lot 0.12.1", + "array-bytes 6.2.3", + "parking_lot 0.12.3", "serde_json", "sp-application-crypto 30.0.0", "sp-core 28.0.0", @@ -11939,7 +12923,7 @@ dependencies = [ [[package]] name = "sc-mixnet" version = "0.4.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "array-bytes 4.2.0", "arrayvec 0.7.4", @@ -11952,7 +12936,7 @@ dependencies = [ "mixnet", "multiaddr", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-client-api", "sc-network", "sc-transaction-pool-api", @@ -11968,9 +12952,9 @@ dependencies = [ [[package]] name = "sc-network" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ - "array-bytes 6.2.2", + "array-bytes 6.2.3", "async-channel 1.9.0", "async-trait", "asynchronous-codec", @@ -11985,7 +12969,7 @@ dependencies = [ "log", "mockall", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "partial_sort", "pin-project", "rand 0.8.5", @@ -12011,14 +12995,14 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-channel 1.9.0", "cid", "futures", "libp2p-identity", "log", - "prost 0.12.4", + "prost 0.12.6", "prost-build", "sc-client-api", "sc-network", @@ -12031,7 +13015,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "bitflags 1.3.2", @@ -12048,7 +13032,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "ahash 0.8.11", "futures", @@ -12067,15 +13051,15 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ - "array-bytes 6.2.2", + "array-bytes 6.2.3", "async-channel 1.9.0", "futures", "libp2p-identity", "log", "parity-scale-codec", - "prost 0.12.4", + "prost 0.12.6", "prost-build", "sc-client-api", "sc-network", @@ -12088,9 +13072,9 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ - "array-bytes 6.2.2", + "array-bytes 6.2.3", "async-channel 1.9.0", "async-trait", "fork-tree", @@ -12100,7 +13084,7 @@ dependencies = [ "log", "mockall", "parity-scale-codec", - "prost 0.12.4", + "prost 0.12.6", "prost-build", "sc-client-api", "sc-consensus", @@ -12124,9 +13108,9 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ - "array-bytes 6.2.2", + "array-bytes 6.2.3", "futures", "libp2p", "log", @@ -12143,9 +13127,9 @@ dependencies = [ [[package]] name = "sc-offchain" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ - "array-bytes 6.2.2", + "array-bytes 6.2.3", "bytes", "fnv", "futures", @@ -12157,7 +13141,7 @@ dependencies = [ "num_cpus", "once_cell", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rand 0.8.5", "sc-client-api", "sc-network", @@ -12177,7 +13161,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -12186,13 +13170,13 @@ dependencies = [ [[package]] name = "sc-rpc" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "futures", "jsonrpsee", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-block-builder", "sc-chain-spec", "sc-client-api", @@ -12218,7 +13202,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -12238,7 +13222,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "http", "jsonrpsee", @@ -12253,16 +13237,16 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ - "array-bytes 6.2.2", + "array-bytes 6.2.3", "futures", "futures-util", "hex", "jsonrpsee", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-chain-spec", "sc-client-api", "sc-rpc", @@ -12283,7 +13267,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "directories", @@ -12293,7 +13277,7 @@ dependencies = [ "jsonrpsee", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "pin-project", "rand 0.8.5", "sc-chain-spec", @@ -12346,20 +13330,20 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.30.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sp-core 28.0.0", ] [[package]] name = "sc-storage-monitor" version = "0.16.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ - "clap", + "clap 4.5.8", "fs4", "log", "sp-core 28.0.0", @@ -12370,7 +13354,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -12389,7 +13373,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "derive_more", "futures", @@ -12410,13 +13394,13 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "chrono", "futures", "libp2p", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "pin-project", "rand 0.8.5", "sc-utils", @@ -12429,7 +13413,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "ansi_term", "chrono", @@ -12438,7 +13422,7 @@ dependencies = [ "libc", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "regex", "rustc-hash", "sc-client-api", @@ -12459,18 +13443,18 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] name = "sc-transaction-pool" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "futures", @@ -12478,7 +13462,7 @@ dependencies = [ "linked-hash-map", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-client-api", "sc-transaction-pool-api", "sc-utils", @@ -12497,7 +13481,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "futures", @@ -12513,14 +13497,14 @@ dependencies = [ [[package]] name = "sc-utils" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-channel 1.9.0", "futures", "futures-timer", "lazy_static", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "prometheus", "sp-arithmetic 23.0.0", ] @@ -12558,7 +13542,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3475108a1b62c7efd1b5c65974f30109a598b2f45f23c9ae030acb9686966db" dependencies = [ "darling 0.14.4", - "proc-macro-crate 1.3.1", + "proc-macro-crate 1.1.3", "proc-macro2", "quote", "syn 1.0.109", @@ -12586,7 +13570,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "995491f110efdc6bea96d6a746140e32bfceb4ea47510750a5467295a4707a25" dependencies = [ "darling 0.14.4", - "proc-macro-crate 1.3.1", + "proc-macro-crate 1.1.3", "proc-macro2", "quote", "syn 1.0.109", @@ -12649,9 +13633,9 @@ dependencies = [ [[package]] name = "schnellru" -version = "0.2.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "772575a524feeb803e5b0fcbc6dd9f367e579488197c94c6e4023aad2305774d" +checksum = "c9a8ef13a93c54d20580de1e5c413e624e53121d42fc7e2c11d10ef7f8b02367" dependencies = [ "ahash 0.8.11", "cfg-if", @@ -12672,7 +13656,7 @@ dependencies = [ "rand 0.7.3", "rand_core 0.5.1", "sha2 0.8.2", - "subtle 2.5.0", + "subtle 2.4.1", "zeroize", ] @@ -12701,13 +13685,13 @@ dependencies = [ "aead", "arrayref", "arrayvec 0.7.4", - "curve25519-dalek 4.1.2", + "curve25519-dalek 4.1.3", "getrandom_or_panic", "merlin 3.0.0", "rand_core 0.6.4", "serde_bytes", "sha2 0.10.8", - "subtle 2.5.0", + "subtle 2.4.1", "zeroize", ] @@ -12743,7 +13727,7 @@ dependencies = [ "der", "generic-array 0.14.7", "pkcs8", - "subtle 2.5.0", + "subtle 2.4.1", "zeroize", ] @@ -12803,11 +13787,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6" +checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "core-foundation", "core-foundation-sys", "libc", @@ -12816,9 +13800,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef" +checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" dependencies = [ "core-foundation-sys", "libc", @@ -12844,9 +13828,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" dependencies = [ "serde", ] @@ -12868,9 +13852,9 @@ dependencies = [ [[package]] name = "serde_bytes" -version = "0.11.14" +version = "0.11.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" +checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" dependencies = [ "serde", ] @@ -12883,14 +13867,14 @@ checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] name = "serde_json" -version = "1.0.117" +version = "1.0.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" +checksum = "d947f6b3163d8857ea16c4fa0dd4840d52f3041039a85decd46867eb1abef2e4" dependencies = [ "itoa", "ryu", @@ -12899,9 +13883,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" +checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" dependencies = [ "serde", ] @@ -12966,6 +13950,18 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "sha3" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" +dependencies = [ + "block-buffer 0.9.0", + "digest 0.9.0", + "keccak", + "opaque-debug 0.3.1", +] + [[package]] name = "sha3" version = "0.10.8" @@ -12993,9 +13989,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" dependencies = [ "libc", ] @@ -13028,6 +14024,17 @@ name = "simple-mermaid" version = "0.1.0" source = "git+https://github.com/kianenigma/simple-mermaid.git?rev=e48b187bcfd5cc75111acd9d241f1bd36604344b#e48b187bcfd5cc75111acd9d241f1bd36604344b" +[[package]] +name = "simplelog" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bc0ffd69814a9b251d43afcabf96dad1b29f5028378056257be9e3fecc9f720" +dependencies = [ + "chrono", + "log", + "termcolor", +] + [[package]] name = "siphasher" version = "0.3.11" @@ -13040,6 +14047,16 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" +[[package]] +name = "sized-chunks" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" +dependencies = [ + "bitmaps", + "typenum", +] + [[package]] name = "slab" version = "0.4.9" @@ -13058,7 +14075,7 @@ checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" [[package]] name = "slot-range-helper" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "enumn", "parity-scale-codec", @@ -13076,6 +14093,16 @@ dependencies = [ "version_check", ] +[[package]] +name = "slug" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bd94acec9c8da640005f8e135a39fc0372e74535e6b368b7a04b875f784c8c4" +dependencies = [ + "deunicode", + "wasm-bindgen", +] + [[package]] name = "smallvec" version = "1.13.2" @@ -13142,7 +14169,7 @@ dependencies = [ "serde", "serde_json", "sha2 0.10.8", - "sha3", + "sha3 0.10.8", "siphasher 0.3.11", "slab", "smallvec", @@ -13160,7 +14187,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eca99148e026936bbc444c3708748207033968e4ef1c33bfc885660ae4d44d21" dependencies = [ "arrayvec 0.7.4", - "async-lock 3.3.0", + "async-lock 3.4.0", "atomic-take", "base64 0.21.7", "bip39", @@ -13197,7 +14224,7 @@ dependencies = [ "serde", "serde_json", "sha2 0.10.8", - "sha3", + "sha3 0.10.8", "siphasher 1.0.1", "slab", "smallvec", @@ -13231,7 +14258,7 @@ dependencies = [ "log", "lru 0.11.1", "no-std-net", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "pin-project", "rand 0.8.5", "rand_chacha 0.3.1", @@ -13250,8 +14277,8 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e6f1898682b618b81570047b9d870b3faaff6ae1891b468eddd94d7f903c2fe" dependencies = [ - "async-channel 2.2.1", - "async-lock 3.3.0", + "async-channel 2.3.1", + "async-lock 3.4.0", "base64 0.21.7", "blake2-rfc", "derive_more", @@ -13267,7 +14294,7 @@ dependencies = [ "log", "lru 0.12.3", "no-std-net", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "pin-project", "rand 0.8.5", "rand_chacha 0.3.1", @@ -13295,12 +14322,12 @@ dependencies = [ "aes-gcm", "blake2 0.10.6", "chacha20poly1305", - "curve25519-dalek 4.1.2", + "curve25519-dalek 4.1.3", "rand_core 0.6.4", "ring 0.17.8", "rustc_version 0.4.0", "sha2 0.10.8", - "subtle 2.5.0", + "subtle 2.4.1", ] [[package]] @@ -13315,9 +14342,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.6" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" dependencies = [ "libc", "windows-sys 0.52.0", @@ -13343,7 +14370,7 @@ dependencies = [ [[package]] name = "sp-api" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "hash-db", "log", @@ -13364,15 +14391,15 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "Inflector", "blake2 0.10.6", - "expander 2.1.0", + "expander 2.2.1", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -13392,7 +14419,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "parity-scale-codec", "scale-info", @@ -13420,7 +14447,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "integer-sqrt", "num-traits", @@ -13452,7 +14479,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "parity-scale-codec", "scale-info", @@ -13465,7 +14492,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "sp-api", "sp-inherents", @@ -13476,12 +14503,12 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "futures", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "schnellru", "sp-api", "sp-consensus", @@ -13494,7 +14521,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "futures", @@ -13509,7 +14536,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "parity-scale-codec", @@ -13526,7 +14553,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "parity-scale-codec", @@ -13545,7 +14572,7 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "lazy_static", "parity-scale-codec", @@ -13565,7 +14592,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "finality-grandpa", "log", @@ -13583,7 +14610,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "parity-scale-codec", "scale-info", @@ -13598,7 +14625,7 @@ version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0db34a19be2efa0398a9506a365392d93a85220856d55e0eb78165ad2e1bedc" dependencies = [ - "array-bytes 6.2.2", + "array-bytes 6.2.3", "bip39", "bitflags 1.3.2", "blake2 0.10.6", @@ -13616,7 +14643,7 @@ dependencies = [ "log", "merlin 2.0.1", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "paste", "primitive-types", "rand 0.8.5", @@ -13643,9 +14670,9 @@ dependencies = [ [[package]] name = "sp-core" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ - "array-bytes 6.2.2", + "array-bytes 6.2.3", "bandersnatch_vrfs", "bip39", "bitflags 1.3.2", @@ -13663,7 +14690,7 @@ dependencies = [ "log", "merlin 3.0.0", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "paste", "primitive-types", "rand 0.8.5", @@ -13696,14 +14723,14 @@ dependencies = [ "byteorder", "digest 0.10.7", "sha2 0.10.8", - "sha3", + "sha3 0.10.8", "twox-hash", ] [[package]] name = "sp-core-hashing" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "sp-crypto-hashing", ] @@ -13711,7 +14738,7 @@ dependencies = [ [[package]] name = "sp-crypto-ec-utils" version = "0.10.0" -source = "git+https://github.com/paritytech/polkadot-sdk#98a364fe6e7abf10819f5fddd3de0588f7c38700" +source = "git+https://github.com/paritytech/polkadot-sdk#aaf0443591b134a0da217d575161872796e75059" dependencies = [ "ark-bls12-377", "ark-bls12-377-ext", @@ -13731,33 +14758,33 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "blake2b_simd", "byteorder", "digest 0.10.7", "sha2 0.10.8", - "sha3", + "sha3 0.10.8", "twox-hash", ] [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "quote", "sp-crypto-hashing", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "kvdb", - "parking_lot 0.12.1", + "parking_lot 0.12.3", ] [[package]] @@ -13768,27 +14795,27 @@ checksum = "50535e1a5708d3ba5c1195b59ebefac61cc8679c2c24716b87a86e8b7ed2e4a1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#98a364fe6e7abf10819f5fddd3de0588f7c38700" +source = "git+https://github.com/paritytech/polkadot-sdk#aaf0443591b134a0da217d575161872796e75059" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -13806,7 +14833,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.25.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "environmental", "parity-scale-codec", @@ -13817,7 +14844,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.25.0" -source = "git+https://github.com/paritytech/polkadot-sdk#98a364fe6e7abf10819f5fddd3de0588f7c38700" +source = "git+https://github.com/paritytech/polkadot-sdk#aaf0443591b134a0da217d575161872796e75059" dependencies = [ "environmental", "parity-scale-codec", @@ -13827,7 +14854,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "serde_json", "sp-api", @@ -13838,7 +14865,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -13877,7 +14904,7 @@ dependencies = [ [[package]] name = "sp-io" version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "bytes", "ed25519-dalek", @@ -13902,7 +14929,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "sp-core 28.0.0", "sp-runtime 31.0.1", @@ -13916,7 +14943,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1db18ab01b2684856904c973d2be7dbf9ab3607cf706a7bd6648812662e5e7c5" dependencies = [ "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sp-core 26.0.0", "sp-externalities 0.23.0", "thiserror", @@ -13925,10 +14952,10 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sp-core 28.0.0", "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", "thiserror", @@ -13937,7 +14964,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "thiserror", "zstd 0.12.4", @@ -13946,7 +14973,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-metadata 16.0.0", "parity-scale-codec", @@ -13957,7 +14984,7 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.4.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "parity-scale-codec", "scale-info", @@ -13969,7 +14996,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "ckb-merkle-mountain-range", "log", @@ -13987,7 +15014,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "parity-scale-codec", "scale-info", @@ -14001,7 +15028,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "sp-api", "sp-core 28.0.0", @@ -14022,7 +15049,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "backtrace", "lazy_static", @@ -14032,7 +15059,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "rustc-hash", "serde", @@ -14065,7 +15092,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "31.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "docify", "either", @@ -14108,7 +15135,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -14126,7 +15153,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#98a364fe6e7abf10819f5fddd3de0588f7c38700" +source = "git+https://github.com/paritytech/polkadot-sdk#aaf0443591b134a0da217d575161872796e75059" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -14149,42 +15176,42 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b2afcbd1bd18d323371111b66b7ac2870bdc1c86c3d7b0dae67b112ca52b4d8" dependencies = [ "Inflector", - "proc-macro-crate 1.3.1", + "proc-macro-crate 1.1.3", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "Inflector", - "expander 2.1.0", + "expander 2.2.1", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#98a364fe6e7abf10819f5fddd3de0588f7c38700" +source = "git+https://github.com/paritytech/polkadot-sdk#aaf0443591b134a0da217d575161872796e75059" dependencies = [ "Inflector", - "expander 2.1.0", + "expander 2.2.1", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] name = "sp-session" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "parity-scale-codec", "scale-info", @@ -14199,7 +15226,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -14219,7 +15246,7 @@ dependencies = [ "hash-db", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rand 0.8.5", "smallvec", "sp-core 26.0.0", @@ -14235,12 +15262,12 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "hash-db", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rand 0.8.5", "smallvec", "sp-core 28.0.0", @@ -14256,10 +15283,10 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "aes-gcm", - "curve25519-dalek 4.1.2", + "curve25519-dalek 4.1.3", "ed25519-dalek", "hkdf", "parity-scale-codec", @@ -14287,12 +15314,12 @@ checksum = "54c78c5a66682568cc7b153603c5d01a2cc8f5c221c7b1e921517a0eef18ae05" [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#98a364fe6e7abf10819f5fddd3de0588f7c38700" +source = "git+https://github.com/paritytech/polkadot-sdk#aaf0443591b134a0da217d575161872796e75059" [[package]] name = "sp-storage" @@ -14311,7 +15338,7 @@ dependencies = [ [[package]] name = "sp-storage" version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "impl-serde", "parity-scale-codec", @@ -14324,7 +15351,7 @@ dependencies = [ [[package]] name = "sp-storage" version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#98a364fe6e7abf10819f5fddd3de0588f7c38700" +source = "git+https://github.com/paritytech/polkadot-sdk#aaf0443591b134a0da217d575161872796e75059" dependencies = [ "impl-serde", "parity-scale-codec", @@ -14336,7 +15363,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "parity-scale-codec", @@ -14362,7 +15389,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "parity-scale-codec", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", @@ -14374,7 +15401,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#98a364fe6e7abf10819f5fddd3de0588f7c38700" +source = "git+https://github.com/paritytech/polkadot-sdk#aaf0443591b134a0da217d575161872796e75059" dependencies = [ "parity-scale-codec", "tracing", @@ -14385,7 +15412,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "sp-api", "sp-runtime 31.0.1", @@ -14394,7 +15421,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "parity-scale-codec", @@ -14419,7 +15446,7 @@ dependencies = [ "memory-db", "nohash-hasher", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rand 0.8.5", "scale-info", "schnellru", @@ -14434,7 +15461,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "ahash 0.8.11", "hash-db", @@ -14442,7 +15469,7 @@ dependencies = [ "memory-db", "nohash-hasher", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rand 0.8.5", "scale-info", "schnellru", @@ -14458,7 +15485,7 @@ dependencies = [ [[package]] name = "sp-version" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "impl-serde", "parity-scale-codec", @@ -14475,12 +15502,12 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "parity-scale-codec", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -14500,7 +15527,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -14513,7 +15540,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#98a364fe6e7abf10819f5fddd3de0588f7c38700" +source = "git+https://github.com/paritytech/polkadot-sdk#aaf0443591b134a0da217d575161872796e75059" dependencies = [ "impl-trait-for-tuples", "log", @@ -14539,7 +15566,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "bounded-collections 0.2.0", "parity-scale-codec", @@ -14589,11 +15616,10 @@ dependencies = [ [[package]] name = "sqlformat" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce81b7bd7c4493975347ef60d8c7e8b742d4694f4c49f93e0a12ea263938176c" +checksum = "f895e3734318cc55f1fe66258926c9b910c124d47520339efecbb6c59cec7c1f" dependencies = [ - "itertools 0.12.1", "nom", "unicode_categories", ] @@ -14732,7 +15758,7 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "staging-parachain-info" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -14746,9 +15772,9 @@ dependencies = [ [[package]] name = "staging-xcm" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ - "array-bytes 6.2.2", + "array-bytes 6.2.3", "bounded-collections 0.2.0", "derivative", "environmental", @@ -14764,7 +15790,7 @@ dependencies = [ [[package]] name = "staging-xcm-builder" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-support", "frame-system", @@ -14786,7 +15812,7 @@ dependencies = [ [[package]] name = "staging-xcm-executor" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "environmental", "frame-benchmarking", @@ -14847,7 +15873,7 @@ dependencies = [ "bitflags 1.3.2", "byteorder", "keccak", - "subtle 2.5.0", + "subtle 2.4.1", "zeroize", ] @@ -14874,9 +15900,9 @@ dependencies = [ [[package]] name = "strum" -version = "0.26.2" +version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" [[package]] name = "strum_macros" @@ -14893,15 +15919,15 @@ dependencies = [ [[package]] name = "strum_macros" -version = "0.26.2" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ - "heck 0.4.1", + "heck 0.5.0", "proc-macro2", "quote", "rustversion", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -14920,12 +15946,12 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" [[package]] name = "substrate-frame-rpc-system" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -14944,7 +15970,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "hyper", "log", @@ -14956,7 +15982,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", "jsonrpsee", @@ -14969,7 +15995,7 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -14986,7 +16012,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "build-helper", "cargo_metadata", @@ -14996,7 +16022,7 @@ dependencies = [ "sp-maybe-compressed-blob", "strum 0.24.1", "tempfile", - "toml 0.8.12", + "toml 0.8.14", "walkdir", "wasm-opt", ] @@ -15009,9 +16035,9 @@ checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" [[package]] name = "subtle" -version = "2.5.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "subtle-ng" @@ -15069,7 +16095,7 @@ dependencies = [ "quote", "scale-info", "subxt-metadata", - "syn 2.0.60", + "syn 2.0.68", "thiserror", "tokio", ] @@ -15097,11 +16123,11 @@ version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d5086ce2a90e723083ff19b77f06805d00e732eac3e19c86f6cd643d4255d334" dependencies = [ - "darling 0.20.8", + "darling 0.20.9", "parity-scale-codec", "proc-macro-error", "subxt-codegen", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -15152,9 +16178,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.60" +version = "2.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" +checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9" dependencies = [ "proc-macro2", "quote", @@ -15173,6 +16199,17 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.68", +] + [[package]] name = "system-configuration" version = "0.5.1" @@ -15213,16 +16250,38 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ "cfg-if", - "fastrand 2.0.2", - "rustix 0.38.32", + "fastrand 2.1.0", + "rustix 0.38.34", "windows-sys 0.52.0", ] +[[package]] +name = "tera" +version = "1.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab9d851b45e865f178319da0abdbfe6acbc4328759ff18dafc3a41c16b4cd2ee" +dependencies = [ + "chrono", + "chrono-tz", + "globwalk", + "humansize", + "lazy_static", + "percent-encoding", + "pest", + "pest_derive", + "rand 0.8.5", + "regex", + "serde", + "serde_json", + "slug", + "unic-segment", +] + [[package]] name = "termcolor" -version = "1.4.1" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" dependencies = [ "winapi-util", ] @@ -15233,7 +16292,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" dependencies = [ - "rustix 0.38.32", + "rustix 0.38.34", "windows-sys 0.48.0", ] @@ -15243,6 +16302,12 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" +[[package]] +name = "textwrap" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" + [[package]] name = "thiserror" version = "1.0.61" @@ -15269,7 +16334,7 @@ checksum = "e4c60d69f36615a077cc7663b9cb8e42275722d23e58a7fa3d2c7f2915d09d04" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -15280,7 +16345,7 @@ checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -15384,9 +16449,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "c55115c6fbe2d2bef26eb09ad74bde02d8255476fc0c7b515ef09fbb35742d82" dependencies = [ "tinyvec_macros", ] @@ -15399,32 +16464,32 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.37.0" +version = "1.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" +checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" dependencies = [ "backtrace", "bytes", "libc", "mio", "num_cpus", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "pin-project-lite 0.2.14", "signal-hook-registry", - "socket2 0.5.6", + "socket2 0.5.7", "tokio-macros", "windows-sys 0.48.0", ] [[package]] name = "tokio-macros" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -15444,7 +16509,7 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.21.10", + "rustls 0.21.12", "tokio", ] @@ -15485,36 +16550,25 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.12" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3" +checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.11", + "toml_edit 0.22.14", ] [[package]] name = "toml_datetime" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" dependencies = [ "serde", ] -[[package]] -name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap 2.2.6", - "toml_datetime", - "winnow 0.5.40", -] - [[package]] name = "toml_edit" version = "0.20.7" @@ -15539,15 +16593,15 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.11" +version = "0.22.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb686a972ccef8537b39eead3968b0e8616cb5040dbb9bba93007c8e07c9215f" +checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" dependencies = [ "indexmap 2.2.6", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.6", + "winnow 0.6.13", ] [[package]] @@ -15571,7 +16625,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "bytes", "futures-core", "futures-util", @@ -15615,7 +16669,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -15641,7 +16695,7 @@ dependencies = [ [[package]] name = "tracing-gum" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "coarsetime", "polkadot-primitives", @@ -15652,13 +16706,13 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" version = "5.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ - "expander 2.1.0", + "expander 2.2.1", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -15793,7 +16847,7 @@ dependencies = [ "ipconfig", "lazy_static", "lru-cache", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "resolv-conf", "smallvec", "thiserror", @@ -15811,10 +16865,10 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "try-runtime-cli" version = "0.38.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", - "clap", + "clap 4.5.8", "frame-remote-externalities", "frame-try-runtime", "hex", @@ -15862,6 +16916,12 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "typed-arena" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a" + [[package]] name = "typenum" version = "1.17.0" @@ -15886,6 +16946,56 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "unic-char-property" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221" +dependencies = [ + "unic-char-range", +] + +[[package]] +name = "unic-char-range" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc" + +[[package]] +name = "unic-common" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc" + +[[package]] +name = "unic-segment" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4ed5d26be57f84f176157270c112ef57b86debac9cd21daaabbe56db0f88f23" +dependencies = [ + "unic-ucd-segment", +] + +[[package]] +name = "unic-ucd-segment" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2079c122a62205b421f499da10f3ee0f7697f012f55b675e002483c73ea34700" +dependencies = [ + "unic-char-property", + "unic-char-range", + "unic-ucd-version", +] + +[[package]] +name = "unic-ucd-version" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4" +dependencies = [ + "unic-common", +] + [[package]] name = "unicode-bidi" version = "0.3.15" @@ -15915,9 +17025,9 @@ checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" [[package]] name = "unicode-width" -version = "0.1.11" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] name = "unicode-xid" @@ -15938,7 +17048,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" dependencies = [ "crypto-common", - "subtle 2.5.0", + "subtle 2.4.1", ] [[package]] @@ -15967,9 +17077,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.0" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", "idna 0.5.0", @@ -15984,9 +17094,9 @@ checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" [[package]] name = "utf8parse" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "valuable" @@ -15994,6 +17104,16 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +[[package]] +name = "variant_count" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aae2faf80ac463422992abf4de234731279c058aaf33171ca70277c98406b124" +dependencies = [ + "quote", + "syn 1.0.109", +] + [[package]] name = "vcpkg" version = "0.2.15" @@ -16014,9 +17134,9 @@ checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" [[package]] name = "w3f-bls" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7335e4c132c28cc43caef6adb339789e599e39adbe78da0c4d547fad48cbc331" +checksum = "9c5da5fa2c6afa2c9158eaa7cd9aee249765eb32b5fb0c63ad8b9e79336a47ec" dependencies = [ "ark-bls12-377", "ark-bls12-381", @@ -16031,16 +17151,16 @@ dependencies = [ "rand_chacha 0.3.1", "rand_core 0.6.4", "sha2 0.10.8", - "sha3", + "sha3 0.10.8", "thiserror", "zeroize", ] [[package]] name = "waker-fn" -version = "1.1.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" +checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" [[package]] name = "walkdir" @@ -16103,7 +17223,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", "wasm-bindgen-shared", ] @@ -16137,7 +17257,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -16255,9 +17375,9 @@ dependencies = [ [[package]] name = "wasmparser-nostd" -version = "0.100.1" +version = "0.100.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9157cab83003221bfd385833ab587a039f5d6fa7304854042ba358a3b09e0724" +checksum = "d5a015fe95f3504a94bb1462c717aae75253e39b9dd6c3fb1062c934535c64aa" dependencies = [ "indexmap-nostd", ] @@ -16489,13 +17609,14 @@ dependencies = [ [[package]] name = "westend-runtime" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "binary-merkle-tree", "bitvec", "frame-benchmarking", "frame-election-provider-support", "frame-executive", + "frame-metadata-hash-extension", "frame-support", "frame-system", "frame-system-benchmarking", @@ -16595,7 +17716,7 @@ dependencies = [ [[package]] name = "westend-runtime-constants" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "frame-support", "polkadot-primitives", @@ -16617,14 +17738,14 @@ dependencies = [ "either", "home", "once_cell", - "rustix 0.38.32", + "rustix 0.38.34", ] [[package]] name = "wide" -version = "0.7.16" +version = "0.7.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81a1851a719f11d1d2fea40e15c72f6c00de8c142d7ac47c1441cc7e4d0d5bc6" +checksum = "8a040b111774ab63a19ef46bbc149398ab372b4ccdcfd719e9814dbd7dfd76c8" dependencies = [ "bytemuck", "safe_arch", @@ -16654,11 +17775,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" dependencies = [ - "winapi", + "windows-sys 0.52.0", ] [[package]] @@ -16911,9 +18032,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.6" +version = "0.6.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0c976aaaa0e1f90dbb21e9587cdaf1d9679a1cde8875c0d6bd83ab96a208352" +checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" dependencies = [ "memchr", ] @@ -16954,7 +18075,7 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" dependencies = [ - "curve25519-dalek 4.1.2", + "curve25519-dalek 4.1.3", "rand_core 0.6.4", "serde", "zeroize", @@ -16981,12 +18102,12 @@ dependencies = [ [[package]] name = "xcm-procedural" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#162c6796bac740802fe11c9e39f3094677d1f08f" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "Inflector", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -16998,7 +18119,7 @@ dependencies = [ "futures", "log", "nohash-hasher", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rand 0.8.5", "static_assertions", ] @@ -17020,29 +18141,29 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.32" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.32" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] name = "zeroize" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" dependencies = [ "zeroize_derive", ] @@ -17055,7 +18176,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -17098,9 +18219,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.10+zstd.1.5.6" +version = "2.0.11+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa" +checksum = "75652c55c0b6f3e6f12eb786fe1bc960396bf05a1eb3bf1f3691c3610ac2e6d4" dependencies = [ "cc", "pkg-config", diff --git a/Cargo.toml b/Cargo.toml index c3c54cb..ce9001a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -65,6 +65,10 @@ subxt = {version = "0.33.0"} subxt-signer = {version = "0.33.0"} tracing = "0.1.37" url = "2.4.0" +termcolor = "1.1.3" +rand = "0.8.5" +rand_core = "0.6.4" +rand_chacha = "0.3.1" # Substrate Client sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } @@ -166,7 +170,7 @@ cumulus-client-consensus-proposer = { git = "https://github.com/paritytech/polka cumulus-client-parachain-inherent = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } cumulus-client-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0"} # Cumulus Primitive -cumulus-primitives-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } +cumulus-primitives-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } cumulus-primitives-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } cumulus-primitives-timestamp ={ git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } @@ -224,3 +228,7 @@ pallet-evm-precompile-sha3fips = { version = "2.0.0-dev", git = "https://github. pallet-evm-precompile-simple = { version = "2.0.0-dev", git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false } pallet-hotfix-sufficients = { version = "1.0.0", git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false } precompile-utils = { git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false } + +#Move pallet +pallet-move = { git = "https://github.com/Magport/pallet-move", branch = "main", default-features = false } +pallet-move-rpc = {package = "pallet-move-rpc", git = "https://github.com/Magport/pallet-move", branch = "main", default-features = false } diff --git a/node/Cargo.toml b/node/Cargo.toml index 89aac85..02135af 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -116,6 +116,9 @@ fc-rpc-core = { workspace = true } fc-storage = { workspace = true } fc-consensus = { workspace = true } +#move pallet rpc +pallet-move-rpc = { workspace = true } + [build-dependencies] substrate-build-script-utils = { workspace = true } diff --git a/node/src/chain_spec.rs b/node/src/chain_spec.rs index cf1a7ab..f0eba8f 100644 --- a/node/src/chain_spec.rs +++ b/node/src/chain_spec.rs @@ -75,7 +75,7 @@ pub fn development_config() -> ChainSpec { Extensions { relay_chain: "rococo-local".into(), // You MUST set this to the correct network! - para_id: 2000, + para_id: 1000, }, ) .with_name("Development") @@ -108,7 +108,7 @@ pub fn development_config() -> ChainSpec { get_account_id_from_seed::("Ferdie//stash"), ], get_account_id_from_seed::("Alice"), - 2000.into(), + 1000.into(), )) .build() } @@ -126,7 +126,7 @@ pub fn local_testnet_config() -> ChainSpec { Extensions { relay_chain: "rococo-local".into(), // You MUST set this to the correct network! - para_id: 2000, + para_id: 1000, }, ) .with_name("Local Testnet") @@ -159,7 +159,7 @@ pub fn local_testnet_config() -> ChainSpec { get_account_id_from_seed::("Ferdie//stash"), ], get_account_id_from_seed::("Alice"), - 2000.into(), + 1000.into(), )) .with_protocol_id("magnet-local") .with_properties(properties) @@ -282,6 +282,11 @@ fn testnet_genesis( }, "evm": { "accounts": evm_accounts }, + //Move VM + "moveModule": { + "changeDefaultMoveStdlibBundleTo": Option::>::None, + "changeDefaultSubstrateStdlibBundleTo": Option::>::None, + }, "bulkPallet":{ "rpcUrl": b"ws://127.0.0.1:8855".to_vec(), "genesisHash": U256::from_str("0x4ea18c8f295ba903acbbed39c70ea0569cf1705fa954a537ffa3b8b7125eaf58").expect("internal U256 is valid; qed") diff --git a/node/src/rpc/mod.rs b/node/src/rpc/mod.rs index de58c75..b1cb868 100644 --- a/node/src/rpc/mod.rs +++ b/node/src/rpc/mod.rs @@ -73,6 +73,7 @@ where C::Api: fp_rpc::ConvertTransactionRuntimeApi, C::Api: fp_rpc::EthereumRuntimeRPCApi, C::Api: pallet_pot_rpc::PotRPCApi, + C::Api: pallet_move_rpc::MoveRuntimeApi, C: HeaderBackend + HeaderMetadata + 'static, C: BlockchainEvents + AuxStore + UsageProvider + StorageProvider, BE: Backend + 'static, @@ -81,6 +82,7 @@ where CIDP: CreateInherentDataProviders + Send + 'static, CT: fp_rpc::ConvertTransaction<::Extrinsic> + Send + Sync + 'static, { + use pallet_move_rpc::{MoveApiServer, MovePallet}; use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApiServer}; use sc_consensus_manual_seal::rpc::{ManualSeal, ManualSealApiServer}; use substrate_frame_rpc_system::{System, SystemApiServer}; @@ -90,7 +92,8 @@ where io.merge(System::new(client.clone(), pool, deny_unsafe).into_rpc())?; io.merge(TransactionPayment::new(client.clone()).into_rpc())?; - io.merge(pallet_pot_rpc::Pot::new(client).into_rpc())?; + io.merge(pallet_pot_rpc::Pot::new(client.clone()).into_rpc())?; + io.merge(MovePallet::new(client.clone()).into_rpc())?; if let Some(command_sink) = command_sink { io.merge( diff --git a/node/src/service.rs b/node/src/service.rs index 6a1ac26..3f6a1b2 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -19,7 +19,10 @@ use cumulus_client_service::{ build_network, build_relay_chain_interface, prepare_node_config, start_relay_chain_tasks, BuildNetworkParams, CollatorSybilResistance, DARecoveryProfile, StartRelayChainTasksParams, }; -use cumulus_primitives_core::{relay_chain::CollatorPair, ParaId}; +use cumulus_primitives_core::{ + relay_chain::{CollatorPair, ValidationCode}, + ParaId, +}; use cumulus_relay_chain_interface::{OverseerHandle, RelayChainInterface}; // Substrate Imports @@ -397,7 +400,7 @@ async fn start_node_impl( spawn_frontier_tasks( &task_manager, client.clone(), - backend, + backend.clone(), frontier_backend, filter_pool, overrides, @@ -495,6 +498,7 @@ async fn start_node_impl( )?; start_consensus( client.clone(), + backend.clone(), block_import, prometheus_registry.as_ref(), telemetry.as_ref().map(|t| t.handle()), @@ -551,6 +555,7 @@ fn build_import_queue( fn start_consensus( client: Arc, + backend: Arc, block_import: ParachainBlockImport, prometheus_registry: Option<&Registry>, telemetry: Option, @@ -567,9 +572,10 @@ fn start_consensus( // order_record: Arc>>, bulk_mem_record: Arc>, ) -> Result<(), sc_service::Error> { - use cumulus_client_consensus_aura::collators::basic::{ - self as basic_aura, Params as BasicAuraParams, - }; + use cumulus_client_consensus_aura::collators::lookahead::{self as aura, Params as AuraParams}; + // use cumulus_client_consensus_aura::collators::basic::{ + // self as basic_aura, Params as BasicAuraParams, + // }; // use magnet_client_consensus_aura::collators::on_demand::{ // self as on_demand_aura, Params as BasicAuraParams, // }; @@ -596,8 +602,64 @@ fn start_consensus( client.clone(), ); let relay_chain_interface_clone = relay_chain_interface.clone(); - let params = BasicAuraParams { - // create_inherent_data_providers: move |_, ()| async move { Ok(()) }, + // let params = AuraParams { + // create_inherent_data_providers: move |_, ()| { + // let relay_chain_interface = relay_chain_interface.clone(); + // let order_record_clone = order_record.clone(); + // async move { + // let parent_hash = relay_chain_interface.best_block_hash().await?; + // let (relay_parent, validation_data, sequence_number, author_pub) = { + // let order_record_local = order_record_clone.lock().await; + // if order_record_local.validation_data.is_none() { + // (parent_hash, None, order_record_local.sequence_number, None) + // } else { + // ( + // order_record_local.relay_parent.expect("can not get relay_parent hash"), + // order_record_local.validation_data.clone(), + // order_record_local.sequence_number, + // order_record_local.author_pub.clone(), + // ) + // } + // }; + // let order_inherent = magnet_primitives_order::OrderInherentData::create_at( + // relay_parent, + // &relay_chain_interface, + // &validation_data, + // para_id, + // sequence_number, + // &author_pub, + // ) + // .await; + // let order_inherent = order_inherent.ok_or_else(|| { + // Box::::from( + // "Failed to create order inherent", + // ) + // })?; + // Ok(order_inherent) + // } + // }, + + // block_import, + // para_client: client.clone(), + // para_backend: backend.clone(), + // relay_client: relay_chain_interface_clone, + // code_hash_provider: move |block_hash| { + // client.code_at(block_hash).ok().map(|c| ValidationCode::from(c).hash()) + // }, + // sync_oracle, + // keystore, + // collator_key, + // para_id, + // overseer_handle, + // slot_duration, + // relay_chain_slot_duration, + // proposer, + // collator_service, + // // Very limited proposal time. + // authoring_duration: Duration::from_millis(1500), + // reinitialize: false, + // }; + let params = AuraParams { create_inherent_data_providers: move |_, ()| { let bulk_mem_record_clone = bulk_mem_record.clone(); async move { @@ -644,9 +706,14 @@ fn start_consensus( Ok(bulk_inherent) } }, + block_import, - para_client: client, + para_client: client.clone(), + para_backend: backend.clone(), relay_client: relay_chain_interface_clone, + code_hash_provider: move |block_hash| { + client.code_at(block_hash).ok().map(|c| ValidationCode::from(c).hash()) + }, sync_oracle, keystore, collator_key, @@ -657,12 +724,12 @@ fn start_consensus( proposer, collator_service, // Very limited proposal time. - authoring_duration: Duration::from_millis(500), - collation_request_receiver: None, + authoring_duration: Duration::from_millis(1500), + reinitialize: false, }; let fut = - basic_aura::run::( + aura::run::( params, ); task_manager.spawn_essential_handle().spawn("aura", None, fut); diff --git a/pallets/assets-bridge/src/lib.rs b/pallets/assets-bridge/src/lib.rs index 0b2e3a1..df53215 100644 --- a/pallets/assets-bridge/src/lib.rs +++ b/pallets/assets-bridge/src/lib.rs @@ -212,10 +212,6 @@ pub mod pallet { /// How much should be locked up in order to claim account. #[pallet::constant] type ClaimBond: Get>; - - /// The assets-bridge's evm contract deployer. - #[pallet::constant] - type EvmAdmins: Get>; } /// The Substrate Account for Evm Addresses @@ -263,6 +259,10 @@ pub mod pallet { #[pallet::getter(fn emergencies)] pub(super) type Emergencies = StorageValue<_, Vec, ValueQuery>; + #[pallet::storage] + #[pallet::getter(fn evm_contracts)] + pub type EvmContracts = StorageValue<_, BTreeSet, ValueQuery>; + #[pallet::genesis_config] #[derive(frame_support::DefaultNoBound)] pub struct GenesisConfig { @@ -315,6 +315,11 @@ pub mod pallet { UnPausedAll, // (asset_id, remove) BackForeign(T::AssetId, bool), + + ///(new_evm_contract) + AddNewContract(H160), + ///(evm contract) + RemoveContract(H160), } /// Error for evm accounts module. @@ -630,6 +635,50 @@ pub mod pallet { Ok(Pays::No.into()) } + + /// Add evm token contracts which can call precompile + /// Note: for admin + /// + /// - `new_contract`: + #[pallet::call_index(8)] + #[pallet::weight(Weight::from_parts(10_000, 0) + T::DbWeight::get().writes(1))] + pub fn add_evm_contract( + origin: OriginFor, + new_contract: H160, + ) -> DispatchResultWithPostInfo { + let who = ensure_signed(origin)?; + ensure!(Some(who) == Self::admin_key(), Error::::RequireAdmin); + + EvmContracts::::mutate(|contracts| { + contracts.insert(new_contract); + }); + + Self::deposit_event(Event::AddNewContract(new_contract.clone())); + + Ok(Pays::No.into()) + } + + /// Remove evm token contracts which can call precompile + /// Note: for admin + /// + /// - `new_contract`: + #[pallet::call_index(9)] + #[pallet::weight(Weight::from_parts(10_000, 0) + T::DbWeight::get().writes(1))] + pub fn remove_evm_contract( + origin: OriginFor, + contract: H160, + ) -> DispatchResultWithPostInfo { + let who = ensure_signed(origin)?; + ensure!(Some(who) == Self::admin_key(), Error::::RequireAdmin); + + EvmContracts::::mutate(|contracts| { + contracts.remove(&contract); + }); + + Self::deposit_event(Event::RemoveContract(contract)); + + Ok(Pays::No.into()) + } } } diff --git a/pallets/assets-bridge/src/mock.rs b/pallets/assets-bridge/src/mock.rs index a4e226a..4bec7f4 100644 --- a/pallets/assets-bridge/src/mock.rs +++ b/pallets/assets-bridge/src/mock.rs @@ -12,9 +12,7 @@ // along with this program. If not, see . pub use crate as assets_bridge; -pub use assets_bridge::{Config, Error, Event as AssetsBridgeEvent}; - -use sp_std::collections::btree_set::BTreeSet; +pub use assets_bridge::{Error, Event as AssetsBridgeEvent}; use frame_support::{ derive_impl, @@ -27,7 +25,6 @@ use frame_system::EnsureSigned; use sp_core::{H160, H256}; pub use sp_runtime::{ - testing::Header, traits::{BlakeTwo256, IdentityLookup}, AccountId32, BuildStorage, }; @@ -129,12 +126,6 @@ parameter_types! { // 0x1111111111111111111111111111111111111111 pub EvmCaller: H160 = H160::from_slice(&[17u8;20][..]); pub ClaimBond: u128 = 2; - //pub EvmAdmin: H160 = H160([0x05, 0xF9, 0xb8, 0xC7, 0x6E, 0x89, 0x87, 0xB8, 0x15, 0xC9, 0x3C, 0x27, 0xD1, 0x45, 0x20, 0xb6, 0xeD, 0x57, 0x39, 0x02]); - pub EvmAdmins: BTreeSet = { - let mut set = BTreeSet::new(); - set.insert(H160([0x05, 0xF9, 0xb8, 0xC7, 0x6E, 0x89, 0x87, 0xB8, 0x15, 0xC9, 0x3C, 0x27, 0xD1, 0x45, 0x20, 0xb6, 0xeD, 0x57, 0x39, 0x02])); - set - }; pub const WeightPerGas: Weight = Weight::from_parts(20_000, 0); pub const GasLimitPovSizeRatio: u64 = BLOCK_GAS_LIMIT.saturating_div(MAX_POV_SIZE); @@ -193,7 +184,6 @@ impl assets_bridge::Config for Test { type RuntimeEvent = RuntimeEvent; type EvmCaller = EvmCaller; type ClaimBond = ClaimBond; - type EvmAdmins = EvmAdmins; } pub const ALICE: [u8; 32] = [1u8; 32]; diff --git a/pallets/evm/precompile/transfer-to-magnet/src/lib.rs b/pallets/evm/precompile/transfer-to-magnet/src/lib.rs index 1fd7383..7c66d67 100644 --- a/pallets/evm/precompile/transfer-to-magnet/src/lib.rs +++ b/pallets/evm/precompile/transfer-to-magnet/src/lib.rs @@ -86,25 +86,24 @@ where let target_gas = handle.gas_limit(); let context = handle.context(); - log::info!( + log::debug!( "codeAddress:{:?}, input:{:?}, targetGas:{:?}", &code_address, &input, &target_gas ); let caller = context.caller.clone(); - if T::EvmAdmins::get().contains(&caller) == false { - log::error!("Caller is not the admin: {:?}", caller); + if pallet_assets_bridge::EvmContracts::::get().contains(&caller) == false { + log::error!("Caller {:?} is not in the admin allow set.", caller); + //log::error!("EvmContracts:{:?}", pallet_assets_bridge::EvmContracts::::get()); return Err(PrecompileFailure::Error { - exit_status: ExitError::Other("Caller is not the admin".into()), + exit_status: ExitError::Other("Caller is not in the admin allow set".into()), }); } let token_addr = solidity::decode_arguments::

(&input[4..36])?; let amount = solidity::decode_arguments::(&input[36..68])?; - log::info!("Caller:{:?}, tokenAddr:{:?}, amount:{:?}", &caller, &token_addr, &amount); - - log::info!("who bstr data len:{:?}", &input[100..].len()); + log::debug!("Caller:{:?}, tokenAddr:{:?}, amount:{:?}", &caller, &token_addr, &amount); if handle.is_static() { log::error!("Can't be static call error"); @@ -122,12 +121,12 @@ where }); }, }; - log::info!("to who ss58:{:?}", &to_who_ss58); + log::debug!("to who ss58:{:?}", &to_who_ss58); let to_who_id32 = AccountId32::from_ss58check(&to_who_ss58).map_err(|_| PrecompileFailure::Error { exit_status: ExitError::Other("AccountId32 from ss58check(string) failed".into()), })?; - log::info!("to_who_ss58:{:?}, to_who_id32:{:?}", &to_who_ss58, &to_who_id32); + log::debug!("to_who_ss58:{:?}, to_who_id32:{:?}", &to_who_ss58, &to_who_id32); let to_who: ::AccountId = to_who_id32.clone().into(); @@ -152,7 +151,7 @@ where let amount_saturated: T::Balance = amount.into(); - log::info!( + log::debug!( "Preparing to mint: AssetId: {:?}, Beneficiary: {:?}, Amount: {:?}", &asset_id, &to_who_ss58, @@ -237,9 +236,9 @@ where } let length_bytes = &input[offset..offset + 32]; - log::info!("length_bytes:{:?}", &length_bytes); + log::debug!("length_bytes:{:?}", &length_bytes); let length = u32::from_be_bytes(length_bytes[28..32].try_into().unwrap()) as usize; - log::info!("ss58 string len:{:?}", length); + log::debug!("ss58 string len:{:?}", length); if input.len() < offset + 32 + length { return Err("Input too short to contain string data"); @@ -248,7 +247,7 @@ where let string_data_start = offset + 32; let string_data_end = string_data_start + length; let string_data = &input[string_data_start..string_data_end]; - log::info!("ss58 string data:{:?}", &string_data); + log::debug!("ss58 string data:{:?}", &string_data); let mut result_string = from_utf8(string_data) .map_err(|_| "String data is not valid UTF-8")? diff --git a/pallets/evm/precompile/transfer-to-magnet/src/mock.rs b/pallets/evm/precompile/transfer-to-magnet/src/mock.rs index fab01a2..b1a9f47 100644 --- a/pallets/evm/precompile/transfer-to-magnet/src/mock.rs +++ b/pallets/evm/precompile/transfer-to-magnet/src/mock.rs @@ -35,7 +35,6 @@ use sp_runtime::{ traits::{BlakeTwo256, IdentityLookup}, BuildStorage, }; -use sp_std::collections::{btree_map::BTreeMap, btree_set::BTreeSet}; use std::str::FromStr; use xcm::latest::prelude::BodyId; @@ -137,18 +136,12 @@ parameter_types! { // 0x1111111111111111111111111111111111111111 pub EvmCaller: H160 = H160::from_slice(&[17u8;20][..]); pub ClaimBond: u64 = 10_000_000_000_000_000; - pub EvmAdmins: BTreeSet = { - let mut set = BTreeSet::new(); - set.insert(H160([0x05, 0xF9, 0xb8, 0xC7, 0x6E, 0x89, 0x87, 0xB8, 0x15, 0xC9, 0x3C, 0x27, 0xD1, 0x45, 0x20, 0xb6, 0xeD, 0x57, 0x39, 0x02])); - set - }; } impl pallet_assets_bridge::Config for Test { type RuntimeEvent = RuntimeEvent; type EvmCaller = EvmCaller; type ClaimBond = ClaimBond; - type EvmAdmins = EvmAdmins; } pub const UNIT: u64 = 1_000_000_000_000_000_000; diff --git a/pallets/evm/precompile/transfer-to-magnet/src/tests.rs b/pallets/evm/precompile/transfer-to-magnet/src/tests.rs index 6e0b0d3..6344bf1 100644 --- a/pallets/evm/precompile/transfer-to-magnet/src/tests.rs +++ b/pallets/evm/precompile/transfer-to-magnet/src/tests.rs @@ -21,6 +21,7 @@ use super::*; use crate::mock::*; use frame_support::assert_ok; use frame_support::traits::Currency; +use frame_system::RawOrigin; use pallet_evm::{AddressMapping, CallInfo, Error, ExitError, ExitReason, Runner}; use codec::Encode; @@ -280,6 +281,19 @@ fn transfer_to_substrate_works() { let asset_id = create_and_register_asset(token_addr); log::info!("asset id:{:?}", asset_id); + let admin_key = AccountId32::from([1u8; 32]); + let root_origin: frame_system::Origin = frame_system::RawOrigin::Root; + let _ = + pallet_assets_bridge::Pallet::::set_admin(root_origin.into(), admin_key.clone()); + let r = pallet_assets_bridge::Pallet::::add_evm_contract( + RawOrigin::Signed(admin_key.clone()).into(), + bob_evm, + ); + log::info!("add evm contract result:{:?}", r); + + let callers = pallet_assets_bridge::EvmContracts::::get(); + log::info!("callers:{:?}", callers); + let alice_token_amount_before = Assets::balance(asset_id, &ALICE); log::info!("alice token amount before mint:{:?}", alice_token_amount_before); @@ -390,6 +404,19 @@ fn gas_not_enough_error_works() { let token_addr = deploy_contract(bob_evm); log::info!("token addr:{:?}", token_addr); + let admin_key = AccountId32::from([1u8; 32]); + let root_origin: frame_system::Origin = frame_system::RawOrigin::Root; + let _ = + pallet_assets_bridge::Pallet::::set_admin(root_origin.into(), admin_key.clone()); + let r = pallet_assets_bridge::Pallet::::add_evm_contract( + RawOrigin::Signed(admin_key.clone()).into(), + bob_evm, + ); + log::info!("add evm contract result:{:?}", r); + + let callers = pallet_assets_bridge::EvmContracts::::get(); + log::info!("callers:{:?}", callers); + let asset_id = create_and_register_asset(token_addr); log::info!("asset id:{:?}", asset_id); @@ -491,6 +518,19 @@ fn gas_price_too_low_error_works() { let token_addr = deploy_contract(bob_evm); log::info!("token addr:{:?}", token_addr); + let admin_key = AccountId32::from([1u8; 32]); + let root_origin: frame_system::Origin = frame_system::RawOrigin::Root; + let _ = + pallet_assets_bridge::Pallet::::set_admin(root_origin.into(), admin_key.clone()); + let r = pallet_assets_bridge::Pallet::::add_evm_contract( + RawOrigin::Signed(admin_key.clone()).into(), + bob_evm, + ); + log::info!("add evm contract result:{:?}", r); + + let callers = pallet_assets_bridge::EvmContracts::::get(); + log::info!("callers:{:?}", callers); + let asset_id = create_and_register_asset(token_addr); log::info!("asset id:{:?}", asset_id); @@ -745,6 +785,19 @@ fn ss58address_error_works() { let token_addr = deploy_contract(bob_evm); log::info!("token addr:{:?}", token_addr); + let admin_key = AccountId32::from([1u8; 32]); + let root_origin: frame_system::Origin = frame_system::RawOrigin::Root; + let _ = + pallet_assets_bridge::Pallet::::set_admin(root_origin.into(), admin_key.clone()); + let r = pallet_assets_bridge::Pallet::::add_evm_contract( + RawOrigin::Signed(admin_key.clone()).into(), + bob_evm, + ); + log::info!("add evm contract result:{:?}", r); + + let callers = pallet_assets_bridge::EvmContracts::::get(); + log::info!("callers:{:?}", callers); + let asset_id = create_and_register_asset(token_addr); log::info!("asset id:{:?}", asset_id); @@ -929,7 +982,7 @@ fn not_evm_admin_works() { assert_eq!( reason, ExitReason::Error(ExitError::Other(std::borrow::Cow::Borrowed( - "Caller is not the admin" + "Caller is not in the admin allow set" ))) ); }, @@ -967,6 +1020,19 @@ fn token_and_assets_not_bound_works() { let token_addr = deploy_contract(bob_evm); log::info!("token addr:{:?}", token_addr); + let admin_key = AccountId32::from([1u8; 32]); + let root_origin: frame_system::Origin = frame_system::RawOrigin::Root; + let _ = + pallet_assets_bridge::Pallet::::set_admin(root_origin.into(), admin_key.clone()); + let r = pallet_assets_bridge::Pallet::::add_evm_contract( + RawOrigin::Signed(admin_key.clone()).into(), + bob_evm, + ); + log::info!("add evm contract result:{:?}", r); + + let callers = pallet_assets_bridge::EvmContracts::::get(); + log::info!("callers:{:?}", callers); + let asset_id = create_without_register_asset(); log::info!("asset id:{:?}", asset_id); diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index 8b46185..74c8739 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -100,6 +100,7 @@ pallet-collator-selection = { workspace = true, default-features = false } parachain-info = { workspace = true, default-features = false } parachains-common = { workspace = true, default-features = false } cumulus-primitives-timestamp ={ workspace = true, default-features = false } +cumulus-primitives-aura ={ workspace = true, default-features = false } #Frontier FRAME pallet-evm-chain-id = { workspace = true, default-features = false } @@ -118,6 +119,9 @@ fp-dynamic-fee = { workspace = true, default-features = false } fp-rpc = { workspace = true, default-features = false } fp-self-contained = { workspace = true, default-features = false, features = ["serde", "try-runtime"] } +#move pallet +pallet-move = { workspace = true, default-features = false } + [features] default = ["std", "with-rocksdb-weights"] with-rocksdb-weights = [] @@ -206,6 +210,8 @@ std = [ "pallet-scheduler/std", "pallet-insecure-randomness-collective-flip/std", "pallet-contracts/std", + "cumulus-primitives-aura/std", + "pallet-move/std", "pallet-bulk/std", "mp-coretime-bulk/std", ] @@ -249,6 +255,7 @@ runtime-benchmarks = [ "pallet-ranked-collective/runtime-benchmarks", "pallet-scheduler/runtime-benchmarks", "pallet-contracts/runtime-benchmarks", + "pallet-move/runtime-benchmarks", "pallet-bulk/runtime-benchmarks", ] @@ -301,7 +308,8 @@ try-runtime = [ "pallet-ranked-collective/try-runtime", "pallet-scheduler/try-runtime", "pallet-insecure-randomness-collective-flip/try-runtime", - "pallet-contracts/try-runtime", + "pallet-contracts/try-runtime", + "pallet-move/try-runtime", ] experimental = [ "pallet-aura/experimental" ] diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index f3b1932..2d15086 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -15,6 +15,7 @@ use core::ops::Div; use codec::{Decode, Encode}; +use cumulus_pallet_parachain_system::RelayNumberMonotonicallyIncreases; use cumulus_pallet_parachain_system::RelayNumberStrictlyIncreases; use smallvec::smallvec; use sp_api::impl_runtime_apis; @@ -29,7 +30,7 @@ use sp_runtime::{ IdentifyAccount, PostDispatchInfoOf, Saturating, UniqueSaturatedInto, Verify, }, transaction_validity::{TransactionSource, TransactionValidity, TransactionValidityError}, - ApplyExtrinsicResult, ConsensusEngineId, MultiSignature, Percent, + ApplyExtrinsicResult, ConsensusEngineId, DispatchError, MultiSignature, Percent, }; use scale_info::prelude::string::String; @@ -68,6 +69,7 @@ use frame_system::{ EnsureRoot, EnsureSigned, }; pub use pallet_balances::{Call as BalancesCall, NegativeImbalance}; +use pallet_move::api::{ModuleAbi, MoveApiEstimation}; use pallet_xcm::{EnsureXcm, IsVoiceOfBody}; pub use sp_consensus_aura::sr25519::AuthorityId as AuraId; pub use sp_runtime::{MultiAddress, Perbill, Permill}; @@ -105,6 +107,7 @@ use pallet_ethereum::{ use pallet_evm::{ Account as EVMAccount, EnsureAddressTruncated, FeeCalculator, HashedAddressMapping, Runner, }; +pub use pallet_move; mod precompiles; use precompiles::FrontierPrecompiles; @@ -368,15 +371,15 @@ const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(5); /// `Operational` extrinsics. const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); -/// We allow for 0.5 of a second of compute with a 12 second average block time. +/// We allow for 2 seconds of compute with a 6 second average block time. const MAXIMUM_BLOCK_WEIGHT: Weight = Weight::from_parts( - WEIGHT_REF_TIME_PER_SECOND.saturating_div(2), + WEIGHT_REF_TIME_PER_SECOND.saturating_mul(2), cumulus_primitives_core::relay_chain::MAX_POV_SIZE as u64, ); /// Maximum number of blocks simultaneously accepted by the Runtime, not yet included /// into the relay chain. -const UNINCLUDED_SEGMENT_CAPACITY: u32 = 1; +const UNINCLUDED_SEGMENT_CAPACITY: u32 = 3; /// How many parachain blocks are processed by the relay chain per parent. Limits the /// number of blocks authored per slot. const BLOCK_PROCESSING_VELOCITY: u32 = 1; @@ -482,6 +485,9 @@ impl pallet_timestamp::Config for Runtime { /// A timestamp: milliseconds since the unix epoch. type Moment = u64; type OnTimestampSet = Aura; + #[cfg(feature = "experimental")] + type MinimumPeriod = ConstU64<0>; + #[cfg(not(feature = "experimental"))] type MinimumPeriod = ConstU64<{ SLOT_DURATION / 2 }>; type WeightInfo = (); } @@ -573,6 +579,13 @@ parameter_types! { pub const RelayOrigin: AggregateMessageOrigin = AggregateMessageOrigin::Parent; } +type ConsensusHook = cumulus_pallet_aura_ext::FixedVelocityConsensusHook< + Runtime, + RELAY_CHAIN_SLOT_DURATION_MILLIS, + BLOCK_PROCESSING_VELOCITY, + UNINCLUDED_SEGMENT_CAPACITY, +>; + impl cumulus_pallet_parachain_system::Config for Runtime { type WeightInfo = (); type RuntimeEvent = RuntimeEvent; @@ -583,13 +596,8 @@ impl cumulus_pallet_parachain_system::Config for Runtime { type ReservedDmpWeight = ReservedDmpWeight; type XcmpMessageHandler = XcmpQueue; type ReservedXcmpWeight = ReservedXcmpWeight; - type CheckAssociatedRelayNumber = RelayNumberStrictlyIncreases; - type ConsensusHook = cumulus_pallet_aura_ext::FixedVelocityConsensusHook< - Runtime, - RELAY_CHAIN_SLOT_DURATION_MILLIS, - BLOCK_PROCESSING_VELOCITY, - UNINCLUDED_SEGMENT_CAPACITY, - >; + type CheckAssociatedRelayNumber = RelayNumberMonotonicallyIncreases; + type ConsensusHook = ConsensusHook; } impl parachain_info::Config for Runtime {} @@ -658,9 +666,9 @@ impl pallet_aura::Config for Runtime { type AuthorityId = AuraId; type DisabledValidators = (); type MaxAuthorities = ConstU32<100_000>; - type AllowMultipleBlocksPerSlot = ConstBool; + type AllowMultipleBlocksPerSlot = ConstBool; #[cfg(feature = "experimental")] - type SlotDuration = pallet_aura::MinimumPeriodTimesTwo; + type SlotDuration = ConstU64; } parameter_types! { @@ -952,18 +960,11 @@ parameter_types! { // 0x1111111111111111111111111111111111111111 pub EvmCaller: H160 = H160::from_slice(&[17u8;20][..]); pub ClaimBond: Balance = 10 * EXISTENTIAL_DEPOSIT; - //pub EvmAdmin: H160 = H160([0x05, 0xF9, 0xb8, 0xC7, 0x6E, 0x89, 0x87, 0xB8, 0x15, 0xC9, 0x3C, 0x27, 0xD1, 0x45, 0x20, 0xb6, 0xeD, 0x57, 0x39, 0x02]); - pub EvmAdmins: BTreeSet = { - let mut set = BTreeSet::new(); - set.insert(H160([0x05, 0xF9, 0xb8, 0xC7, 0x6E, 0x89, 0x87, 0xB8, 0x15, 0xC9, 0x3C, 0x27, 0xD1, 0x45, 0x20, 0xb6, 0xeD, 0x57, 0x39, 0x02])); - set - }; } impl pallet_assets_bridge::Config for Runtime { type RuntimeEvent = RuntimeEvent; type EvmCaller = EvmCaller; type ClaimBond = ClaimBond; - type EvmAdmins = EvmAdmins; } impl pallet_evm_utils::Config for Runtime { @@ -1159,6 +1160,20 @@ impl pallet_treasury::Config for Runtime { impl pallet_insecure_randomness_collective_flip::Config for Runtime {} +parameter_types! { + pub const MultisigReqExpireTime: BlockNumber = 50400; + pub const MaxScriptSigners: u32 = 8; +} + +impl pallet_move::Config for Runtime { + type Currency = Balances; + type CurrencyBalance = Balance; + type MultisigReqExpireTime = MultisigReqExpireTime; + type MaxScriptSigners = MaxScriptSigners; + type RuntimeEvent = RuntimeEvent; + type WeightInfo = pallet_move::weights::SubstrateWeight; +} + // Create the runtime by composing the FRAME pallets that were previously configured. construct_runtime!( pub enum Runtime @@ -1227,6 +1242,9 @@ construct_runtime!( //Contracts RandomnessCollectiveFlip: pallet_insecure_randomness_collective_flip = 70, Contracts: pallet_contracts = 71, + + //Move-vm + MoveModule: pallet_move = 80, BulkPallet: pallet_bulk = 72, } ); @@ -1243,6 +1261,7 @@ mod benches { [cumulus_pallet_xcmp_queue, XcmpQueue] [pallet_bulk, BulkPallet] // [pallet_order, OrderPallet] + [pallet_move, MoveModule] ); } @@ -1254,7 +1273,7 @@ type EventRecord = frame_system::EventRecord< impl_runtime_apis! { impl sp_consensus_aura::AuraApi for Runtime { fn slot_duration() -> sp_consensus_aura::SlotDuration { - sp_consensus_aura::SlotDuration::from_millis(Aura::slot_duration()) + sp_consensus_aura::SlotDuration::from_millis(SLOT_DURATION) } fn authorities() -> Vec { @@ -1590,6 +1609,14 @@ impl_runtime_apis! { ParachainSystem::collect_collation_info(header) } } + impl cumulus_primitives_aura::AuraUnincludedSegmentApi for Runtime { + fn can_build_upon( + included_hash: ::Hash, + slot: cumulus_primitives_aura::Slot, + ) -> bool { + ConsensusHook::can_build_upon(included_hash, slot) + } + } // impl magnet_primitives_order::OrderRuntimeApi for Runtime { // fn slot_width()-> u32{ @@ -1716,6 +1743,35 @@ impl_runtime_apis! { } } + impl pallet_move::api::MoveApi for Runtime { + fn estimate_gas_publish_module(account: AccountId, bytecode: Vec) -> Result { + MoveModule::rpc_estimate_gas_publish_module(&account, bytecode) + } + + fn estimate_gas_publish_bundle(account: AccountId, bytecode: Vec) -> Result { + MoveModule::rpc_estimate_gas_publish_bundle(&account, bytecode) + } + + fn estimate_gas_execute_script(transaction_bc: Vec) -> Result { + MoveModule::rpc_estimate_gas_execute_script(transaction_bc) + } + + fn get_module(account: AccountId, name: String) -> Result>, Vec> { + MoveModule::rpc_get_module(account, name) + } + + fn get_module_abi(account: AccountId, name: String) -> Result, Vec> { + MoveModule::rpc_get_module_abi(account, name) + } + + fn get_resource( + account: AccountId, + tag: Vec, + ) -> Result>, Vec> { + MoveModule::rpc_get_resource(account, tag) + } + } + #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { fn on_runtime_upgrade(checks: frame_try_runtime::UpgradeCheckSelect) -> (Weight, Weight) { @@ -1819,5 +1875,5 @@ impl cumulus_pallet_parachain_system::CheckInherents for CheckInherents { cumulus_pallet_parachain_system::register_validate_block! { Runtime = Runtime, BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::, - CheckInherents = CheckInherents, + // CheckInherents = CheckInherents, } diff --git a/runtime/src/precompiles.rs b/runtime/src/precompiles.rs index c7e7560..a69590a 100644 --- a/runtime/src/precompiles.rs +++ b/runtime/src/precompiles.rs @@ -1,5 +1,6 @@ use pallet_evm::{ - IsPrecompileResult, Precompile, PrecompileHandle, PrecompileResult, PrecompileSet, + ExitRevert, IsPrecompileResult, Precompile, PrecompileFailure, PrecompileHandle, + PrecompileResult, PrecompileSet, }; use sp_core::{crypto::AccountId32, H160, U256}; use sp_runtime::traits::UniqueSaturatedInto; @@ -45,6 +46,21 @@ where U256: UniqueSaturatedInto>, { fn execute(&self, handle: &mut impl PrecompileHandle) -> Option { + let remaining_gas = handle.remaining_gas(); + + let is_precompile_result = self.is_precompile(handle.code_address(), remaining_gas); + if let IsPrecompileResult::Answer { is_precompile, .. } = is_precompile_result { + if is_precompile + && handle.code_address() > hash(5) + && handle.code_address() != handle.context().address + { + return Some(Err(PrecompileFailure::Revert { + exit_status: ExitRevert::Reverted, + output: "cannot be called with DELEGATECALL or CALLCODE".into(), + })); + } + } + match handle.code_address() { // Ethereum precompiles : a if a == hash(1) => Some(ECRecover::execute(handle)), From 0e2d30c8dcc99881ce586fe33f55255b1fbb8c2e Mon Sep 17 00:00:00 2001 From: sulijia <984115358@qq.com> Date: Sun, 30 Jun 2024 20:39:18 +0800 Subject: [PATCH 16/22] Modify cargo.lock file --- Cargo.lock | 717 +++++++++++++++++++++++++++++++++++------------------ 1 file changed, 472 insertions(+), 245 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2bd4071..210e390 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -68,7 +68,7 @@ dependencies = [ "cipher 0.4.4", "ctr", "ghash", - "subtle 2.4.1", + "subtle 2.5.0", ] [[package]] @@ -215,7 +215,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -669,7 +669,7 @@ dependencies = [ "futures-io", "futures-lite 2.3.0", "parking", - "polling 3.7.2", + "polling 3.7.1", "rustix 0.38.34", "slab", "tracing", @@ -756,7 +756,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -812,7 +812,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -832,7 +832,7 @@ dependencies = [ "cfg-if", "libc", "miniz_oxide", - "object 0.36.1", + "object 0.36.0", "rustc-demangle", ] @@ -977,7 +977,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -1007,9 +1007,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.6.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" [[package]] name = "bitmaps" @@ -1256,9 +1256,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.16.1" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b236fc92302c97ed75b38da1f4917b5cdda4984745740f153a5d3059e48d725e" +checksum = "78834c15cb5d5efe3452d58b1e8ba890dd62d21907f867f383358198e56ebca5" [[package]] name = "byteorder" @@ -1333,9 +1333,9 @@ checksum = "fd6c0e7b807d60291f42f33f58480c0bfafe28ed08286446f45e463728cf9c1c" [[package]] name = "cc" -version = "1.0.103" +version = "1.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2755ff20a1d93490d26ba33a6f092a38a508398a5320df5d4b3014fcccce9410" +checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" dependencies = [ "jobserver", "libc", @@ -1514,19 +1514,19 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.8" +version = "4.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84b3edb18336f4df585bc9aa31dd99c036dfa5dc5e9a2939a722a188f3a8970d" +checksum = "5db83dced34638ad474f39f250d7fea9598bdd239eaced1bdf45d597da0f433f" dependencies = [ "clap_builder", - "clap_derive 4.5.8", + "clap_derive 4.5.5", ] [[package]] name = "clap_builder" -version = "4.5.8" +version = "4.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1c09dd5ada6c6c78075d6fd0da3f90d8080651e2d6cc8eb2f1aaa4034ced708" +checksum = "f7e204572485eb3fbf28f871612191521df159bc3e15a9f5064c66dba3a8c05f" dependencies = [ "anstream", "anstyle", @@ -1550,14 +1550,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.8" +version = "4.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085" +checksum = "c780290ccf4fb26629baa7a1081e68ced113f1d3ec302fa5948f1c381ebf06c6" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -1625,7 +1625,7 @@ dependencies = [ "nom", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -1650,7 +1650,7 @@ version = "7.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b34115915337defe99b2aff5c2ce6771e5fbc4079f4b506301f5cf394c8452f7" dependencies = [ - "strum 0.26.3", + "strum 0.26.2", "strum_macros 0.26.4", "unicode-width", ] @@ -1972,7 +1972,7 @@ checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array 0.14.7", "rand_core 0.6.4", - "subtle 2.4.1", + "subtle 2.5.0", "zeroize", ] @@ -2004,17 +2004,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" dependencies = [ "generic-array 0.14.7", - "subtle 2.4.1", + "subtle 2.5.0", ] [[package]] name = "crypto-mac" -version = "0.11.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +checksum = "25fab6889090c8133f3deb8f73ba3c65a7f456f66436fc012a1b1e272b1e103e" dependencies = [ "generic-array 0.14.7", - "subtle 2.4.1", + "subtle 2.5.0", ] [[package]] @@ -2031,7 +2031,7 @@ name = "cumulus-client-cli" version = "0.7.0" source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ - "clap 4.5.8", + "clap 4.5.7", "parity-scale-codec", "sc-chain-spec", "sc-cli", @@ -2319,7 +2319,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -2612,7 +2612,7 @@ dependencies = [ "byteorder", "digest 0.8.1", "rand_core 0.5.1", - "subtle 2.4.1", + "subtle 2.5.0", "zeroize", ] @@ -2625,23 +2625,24 @@ dependencies = [ "byteorder", "digest 0.9.0", "rand_core 0.5.1", - "subtle 2.4.1", + "subtle 2.5.0", "zeroize", ] [[package]] name = "curve25519-dalek" -version = "4.1.3" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" +checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" dependencies = [ "cfg-if", "cpufeatures", "curve25519-dalek-derive", "digest 0.10.7", "fiat-crypto", + "platforms", "rustc_version 0.4.0", - "subtle 2.4.1", + "subtle 2.5.0", "zeroize", ] @@ -2653,7 +2654,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -2671,9 +2672,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.124" +version = "1.0.123" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "273dcfd3acd4e1e276af13ed2a43eea7001318823e7a726a6b3ed39b4acc0b82" +checksum = "8194f089b6da4751d6c1da1ef37c17255df51f9346cdb160f8b096562ae4a85c" dependencies = [ "cc", "cxxbridge-flags", @@ -2683,9 +2684,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.124" +version = "1.0.123" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8b2766fbd92be34e9ed143898fce6c572dc009de39506ed6903e5a05b68914e" +checksum = "1e8df9a089caae66634d754672d5f909395f30f38af6ff19366980d8a8b57501" dependencies = [ "cc", "codespan-reporting", @@ -2693,24 +2694,24 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] name = "cxxbridge-flags" -version = "1.0.124" +version = "1.0.123" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "839fcd5e43464614ffaa989eaf1c139ef1f0c51672a1ed08023307fa1b909ccd" +checksum = "25290be4751803672a70b98c68b51c1e7d0a640ab5a4377f240f9d2e70054cd1" [[package]] name = "cxxbridge-macro" -version = "1.0.124" +version = "1.0.123" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b2c1c1776b986979be68bb2285da855f8d8a35851a769fca8740df7c3d07877" +checksum = "b8cb317cb13604b4752416783bb25070381c36e844743e4146b7f8e55de7d140" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -2758,7 +2759,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -2780,7 +2781,7 @@ checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ "darling_core 0.20.9", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -2885,20 +2886,20 @@ checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] name = "derive_more" -version = "0.99.18" +version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ "convert_case", "proc-macro2", "quote", "rustc_version 0.4.0", - "syn 2.0.68", + "syn 1.0.109", ] [[package]] @@ -2946,7 +2947,7 @@ dependencies = [ "block-buffer 0.10.4", "const-oid", "crypto-common", - "subtle 2.4.1", + "subtle 2.5.0", ] [[package]] @@ -3003,13 +3004,13 @@ dependencies = [ [[package]] name = "displaydoc" -version = "0.2.5" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -3049,7 +3050,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.68", + "syn 2.0.66", "termcolor", "toml 0.8.14", "walkdir", @@ -3136,12 +3137,12 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ - "curve25519-dalek 4.1.3", + "curve25519-dalek 4.1.2", "ed25519", "rand_core 0.6.4", "serde", "sha2 0.10.8", - "subtle 2.4.1", + "subtle 2.5.0", "zeroize", ] @@ -3165,7 +3166,7 @@ version = "4.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d9ce6874da5d4415896cd45ffbc4d1cfc0c4f9c079427bd870742c30f2f65a9" dependencies = [ - "curve25519-dalek 4.1.3", + "curve25519-dalek 4.1.2", "ed25519", "hashbrown 0.14.5", "hex", @@ -3176,9 +3177,9 @@ dependencies = [ [[package]] name = "either" -version = "1.13.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" dependencies = [ "serde", ] @@ -3198,7 +3199,7 @@ dependencies = [ "pkcs8", "rand_core 0.6.4", "sec1", - "subtle 2.4.1", + "subtle 2.5.0", "zeroize", ] @@ -3237,7 +3238,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -3248,7 +3249,7 @@ checksum = "6fd000fd6988e73bbe993ea3db9b1aa64906ab88766d654973924340c8cddb42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -3477,17 +3478,16 @@ dependencies = [ [[package]] name = "expander" -version = "2.2.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2c470c71d91ecbd179935b24170459e926382eaaa86b590b78814e180d8a8e2" +checksum = "00e83c02035136f1592a47964ea60c05a50e4ed8b5892cfac197063850898d4d" dependencies = [ "blake2 0.10.6", - "file-guard", "fs-err", - "prettyplease 0.2.20", + "prettier-please", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -3570,7 +3570,7 @@ name = "fc-cli" version = "1.0.0-dev" source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" dependencies = [ - "clap 4.5.8", + "clap 4.5.7", "ethereum-types", "fc-db", "fp-rpc", @@ -3758,7 +3758,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" dependencies = [ "rand_core 0.6.4", - "subtle 2.4.1", + "subtle 2.5.0", ] [[package]] @@ -3780,16 +3780,6 @@ version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" -[[package]] -name = "file-guard" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21ef72acf95ec3d7dbf61275be556299490a245f017cf084bd23b4f68cf9407c" -dependencies = [ - "libc", - "winapi", -] - [[package]] name = "file-per-thread-logger" version = "0.1.6" @@ -4068,7 +4058,7 @@ dependencies = [ "Inflector", "array-bytes 6.2.3", "chrono", - "clap 4.5.8", + "clap 4.5.7", "comfy-table", "frame-benchmarking", "frame-support", @@ -4116,7 +4106,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -4263,7 +4253,7 @@ dependencies = [ "Inflector", "cfg-expr", "derive-syn-parse 0.1.5", - "expander 2.2.1", + "expander 2.1.0", "frame-support-procedural-tools", "itertools 0.10.5", "macro_magic", @@ -4271,7 +4261,7 @@ dependencies = [ "proc-macro2", "quote", "sp-crypto-hashing", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -4283,7 +4273,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -4293,7 +4283,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -4483,7 +4473,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -4656,7 +4646,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bf760ebf69878d9fd8f110c89703d90ce35095324d1f1edcb595c63945ee757" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.5.0", "ignore", "walkdir", ] @@ -4669,7 +4659,7 @@ checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff", "rand_core 0.6.4", - "subtle 2.4.1", + "subtle 2.5.0", ] [[package]] @@ -4797,12 +4787,6 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" -[[package]] -name = "hermit-abi" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" - [[package]] name = "hex" version = "0.4.3" @@ -4840,7 +4824,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" dependencies = [ - "crypto-mac 0.11.1", + "crypto-mac 0.11.0", "digest 0.9.0", ] @@ -4914,9 +4898,9 @@ checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" [[package]] name = "httparse" -version = "1.9.4" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" +checksum = "d0e7a4dd27b9476dc40cb050d3632d3bba3a70ddbff012285f7f8559a1e7e545" [[package]] name = "httpdate" @@ -5002,6 +4986,124 @@ dependencies = [ "cc", ] +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f8ac670d7422d7f76b32e17a5db556510825b29ec9154f235977c9caba61036" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + [[package]] name = "ident_case" version = "1.0.1" @@ -5021,12 +5123,14 @@ dependencies = [ [[package]] name = "idna" -version = "0.5.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "4716a3a0933a1d01c2f72450e89596eb51dd34ef3c211ccd875acdf1f8fe47ed" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "icu_normalizer", + "icu_properties", + "smallvec", + "utf8_iter", ] [[package]] @@ -5128,18 +5232,18 @@ dependencies = [ [[package]] name = "include_dir" -version = "0.7.4" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd" +checksum = "18762faeff7122e89e0857b02f7ce6fcc0d101d5e9ad2ad7846cc01d61b7f19e" dependencies = [ "include_dir_macros", ] [[package]] name = "include_dir_macros" -version = "0.7.4" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" +checksum = "b139284b5cf57ecfa712bcc66950bb635b31aff41c188e8a4cfc758eca374a3f" dependencies = [ "proc-macro2", "quote", @@ -5562,11 +5666,11 @@ dependencies = [ [[package]] name = "lazy_static" -version = "1.5.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" dependencies = [ - "spin 0.9.8", + "spin 0.5.2", ] [[package]] @@ -5583,9 +5687,9 @@ checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libloading" -version = "0.8.4" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e310b3a6b5907f99202fcdb4960ff45b93735d7c7d96b760fcff8db2dc0e103d" +checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" dependencies = [ "cfg-if", "windows-targets 0.52.5", @@ -5996,7 +6100,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.5.0", "libc", ] @@ -6042,7 +6146,7 @@ checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451" dependencies = [ "crunchy", "digest 0.9.0", - "subtle 2.4.1", + "subtle 2.5.0", ] [[package]] @@ -6148,6 +6252,12 @@ dependencies = [ "keystream", ] +[[package]] +name = "litemap" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" + [[package]] name = "lock_api" version = "0.4.12" @@ -6160,9 +6270,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.22" +version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" dependencies = [ "serde", ] @@ -6238,7 +6348,7 @@ dependencies = [ "macro_magic_core", "macro_magic_macros", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -6252,7 +6362,7 @@ dependencies = [ "macro_magic_core_macros", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -6263,7 +6373,7 @@ checksum = "9ea73aa640dc01d62a590d48c0c3521ed739d53b27f919b25c3551e233481654" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -6274,7 +6384,7 @@ checksum = "ef9d79ae96aaba821963320eb2b6e34d17df1e5a83d8a1985c29cc5be59577b3" dependencies = [ "macro_magic_core", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -6426,9 +6536,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.4" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" [[package]] name = "memfd" @@ -6518,9 +6628,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.4" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" +checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" dependencies = [ "adler", ] @@ -6547,7 +6657,7 @@ dependencies = [ "bitflags 1.3.2", "blake2 0.10.6", "c2-chacha", - "curve25519-dalek 4.1.3", + "curve25519-dalek 4.1.2", "either", "hashlink", "lioness", @@ -6556,7 +6666,7 @@ dependencies = [ "rand 0.8.5", "rand_chacha 0.3.1", "rand_distr", - "subtle 2.4.1", + "subtle 2.5.0", "thiserror", "zeroize", ] @@ -7311,7 +7421,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", "synstructure 0.13.1", ] @@ -7337,9 +7447,9 @@ dependencies = [ [[package]] name = "nalgebra" -version = "0.32.6" +version = "0.32.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5c17de023a86f59ed79891b2e5d5a94c705dbe904a5b5c9c952ea6221b03e4" +checksum = "3ea4908d4f23254adda3daa60ffef0f1ac7b8c3e9a864cf3cc154b251908a2ef" dependencies = [ "approx", "matrixmultiply", @@ -7353,13 +7463,13 @@ dependencies = [ [[package]] name = "nalgebra-macros" -version = "0.2.2" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "254a5372af8fc138e36684761d3c0cdb758a4410e938babcff1c860ce14ddbfc" +checksum = "91761aed67d03ad966ef783ae962ef9bbaca728d2dd7ceb7939ec110fffad998" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 1.0.109", ] [[package]] @@ -7477,7 +7587,7 @@ version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.5.0", "cfg-if", "libc", ] @@ -7542,9 +7652,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.6" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" dependencies = [ "num-integer", "num-traits", @@ -7644,7 +7754,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -7667,9 +7777,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.1" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce" +checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" dependencies = [ "memchr", ] @@ -7707,7 +7817,7 @@ version = "0.10.64" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.5.0", "cfg-if", "foreign-types", "libc", @@ -7724,7 +7834,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -7774,7 +7884,7 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1344346d5af32c95bbddea91b18a88cc83eac394192d20ef2fc4c40a74332355" dependencies = [ - "expander 2.2.1", + "expander 2.1.0", "indexmap 2.2.6", "itertools 0.11.0", "petgraph 0.6.5", @@ -8269,7 +8379,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -9162,7 +9272,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -9412,7 +9522,7 @@ name = "parachain-magnet-node" version = "0.6.0" dependencies = [ "array-bytes 6.2.3", - "clap 4.5.8", + "clap 4.5.7", "color-print", "cumulus-client-cli", "cumulus-client-collator", @@ -9745,7 +9855,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.2", + "redox_syscall 0.5.1", "smallvec", "windows-targets 0.52.5", ] @@ -9777,7 +9887,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa" dependencies = [ - "crypto-mac 0.11.1", + "crypto-mac 0.11.0", ] [[package]] @@ -9841,7 +9951,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -9940,7 +10050,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -9988,6 +10098,12 @@ version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" +[[package]] +name = "platforms" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7" + [[package]] name = "polkadot-approval-distribution" version = "7.0.0" @@ -10076,7 +10192,7 @@ version = "7.0.0" source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "cfg-if", - "clap 4.5.8", + "clap 4.5.7", "frame-benchmarking-cli", "futures", "log", @@ -11076,7 +11192,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6380dbe1fb03ecc74ad55d841cfc75480222d153ba69ddcb00977866cbdabdb8" dependencies = [ "polkavm-derive-impl 0.5.0", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -11097,7 +11213,7 @@ dependencies = [ "polkavm-common 0.5.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -11109,7 +11225,7 @@ dependencies = [ "polkavm-common 0.9.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -11119,7 +11235,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429" dependencies = [ "polkavm-derive-impl 0.9.0", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -11140,13 +11256,13 @@ dependencies = [ [[package]] name = "polling" -version = "3.7.2" +version = "3.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b" +checksum = "5e6a007746f34ed64099e88783b0ae369eaa3da6392868ba262e2af9b8fbaea1" dependencies = [ "cfg-if", "concurrent-queue", - "hermit-abi 0.4.0", + "hermit-abi 0.3.9", "pin-project-lite 0.2.14", "rustix 0.38.34", "tracing", @@ -11263,6 +11379,16 @@ dependencies = [ "termtree", ] +[[package]] +name = "prettier-please" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22020dfcf177fcc7bf5deaf7440af371400c67c0de14c399938d8ed4fb4645d3" +dependencies = [ + "proc-macro2", + "syn 2.0.66", +] + [[package]] name = "pretty" version = "0.10.0" @@ -11275,9 +11401,9 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.1.25" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" +checksum = "f28f53e8b192565862cf99343194579a022eb9c7dd3a8d03134734803c7b3125" dependencies = [ "proc-macro2", "syn 1.0.109", @@ -11290,7 +11416,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -11383,14 +11509,14 @@ checksum = "834da187cfe638ae8abb0203f0b33e5ccdb02a28e7199f2f47b3e2754f50edca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" dependencies = [ "unicode-ident", ] @@ -11429,7 +11555,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -11465,7 +11591,7 @@ dependencies = [ "log", "multimap", "petgraph 0.6.5", - "prettyplease 0.1.25", + "prettyplease 0.1.11", "prost 0.11.9", "prost-types", "regex", @@ -11497,7 +11623,7 @@ dependencies = [ "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -11747,11 +11873,11 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.2" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" +checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.5.0", ] [[package]] @@ -11794,7 +11920,7 @@ checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -11870,7 +11996,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ "hmac 0.12.1", - "subtle 2.4.1", + "subtle 2.5.0", ] [[package]] @@ -12194,7 +12320,7 @@ version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.5.0", "errno", "libc", "linux-raw-sys 0.4.14", @@ -12312,9 +12438,9 @@ dependencies = [ [[package]] name = "safe_arch" -version = "0.7.2" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3460605018fdc9612bce72735cba0d27efbcd9904780d44c7e3a9948f96148a" +checksum = "f398075ce1e6a179b46f51bd88d0598b92b00d3551f1a2d4ac49e771b56ac354" dependencies = [ "bytemuck", ] @@ -12439,7 +12565,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -12450,7 +12576,7 @@ dependencies = [ "array-bytes 6.2.3", "bip39", "chrono", - "clap 4.5.8", + "clap 4.5.7", "fdlimit", "futures", "itertools 0.10.5", @@ -13343,7 +13469,7 @@ name = "sc-storage-monitor" version = "0.16.0" source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ - "clap 4.5.8", + "clap 4.5.7", "fs4", "log", "sp-core 28.0.0", @@ -13448,7 +13574,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -13656,7 +13782,7 @@ dependencies = [ "rand 0.7.3", "rand_core 0.5.1", "sha2 0.8.2", - "subtle 2.4.1", + "subtle 2.5.0", "zeroize", ] @@ -13685,13 +13811,13 @@ dependencies = [ "aead", "arrayref", "arrayvec 0.7.4", - "curve25519-dalek 4.1.3", + "curve25519-dalek 4.1.2", "getrandom_or_panic", "merlin 3.0.0", "rand_core 0.6.4", "serde_bytes", "sha2 0.10.8", - "subtle 2.4.1", + "subtle 2.5.0", "zeroize", ] @@ -13727,7 +13853,7 @@ dependencies = [ "der", "generic-array 0.14.7", "pkcs8", - "subtle 2.4.1", + "subtle 2.5.0", "zeroize", ] @@ -13791,7 +13917,7 @@ version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.5.0", "core-foundation", "core-foundation-sys", "libc", @@ -13852,9 +13978,9 @@ dependencies = [ [[package]] name = "serde_bytes" -version = "0.11.15" +version = "0.11.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" +checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" dependencies = [ "serde", ] @@ -13867,14 +13993,14 @@ checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] name = "serde_json" -version = "1.0.118" +version = "1.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d947f6b3163d8857ea16c4fa0dd4840d52f3041039a85decd46867eb1abef2e4" +checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" dependencies = [ "itoa", "ryu", @@ -14322,12 +14448,12 @@ dependencies = [ "aes-gcm", "blake2 0.10.6", "chacha20poly1305", - "curve25519-dalek 4.1.3", + "curve25519-dalek 4.1.2", "rand_core 0.6.4", "ring 0.17.8", "rustc_version 0.4.0", "sha2 0.10.8", - "subtle 2.4.1", + "subtle 2.5.0", ] [[package]] @@ -14395,11 +14521,11 @@ source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot dependencies = [ "Inflector", "blake2 0.10.6", - "expander 2.2.1", + "expander 2.1.0", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -14738,7 +14864,7 @@ dependencies = [ [[package]] name = "sp-crypto-ec-utils" version = "0.10.0" -source = "git+https://github.com/paritytech/polkadot-sdk#aaf0443591b134a0da217d575161872796e75059" +source = "git+https://github.com/paritytech/polkadot-sdk#ad8620922bd7c0477b25c7dfd6fc233641cb27ae" dependencies = [ "ark-bls12-377", "ark-bls12-377-ext", @@ -14775,7 +14901,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot dependencies = [ "quote", "sp-crypto-hashing", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -14795,7 +14921,7 @@ checksum = "50535e1a5708d3ba5c1195b59ebefac61cc8679c2c24716b87a86e8b7ed2e4a1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -14805,17 +14931,17 @@ source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#aaf0443591b134a0da217d575161872796e75059" +source = "git+https://github.com/paritytech/polkadot-sdk#ad8620922bd7c0477b25c7dfd6fc233641cb27ae" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -14844,7 +14970,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.25.0" -source = "git+https://github.com/paritytech/polkadot-sdk#aaf0443591b134a0da217d575161872796e75059" +source = "git+https://github.com/paritytech/polkadot-sdk#ad8620922bd7c0477b25c7dfd6fc233641cb27ae" dependencies = [ "environmental", "parity-scale-codec", @@ -15153,7 +15279,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#aaf0443591b134a0da217d575161872796e75059" +source = "git+https://github.com/paritytech/polkadot-sdk#ad8620922bd7c0477b25c7dfd6fc233641cb27ae" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -15179,7 +15305,7 @@ dependencies = [ "proc-macro-crate 1.1.3", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -15188,24 +15314,24 @@ version = "17.0.0" source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "Inflector", - "expander 2.2.1", + "expander 2.1.0", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#aaf0443591b134a0da217d575161872796e75059" +source = "git+https://github.com/paritytech/polkadot-sdk#ad8620922bd7c0477b25c7dfd6fc233641cb27ae" dependencies = [ "Inflector", - "expander 2.2.1", + "expander 2.1.0", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -15286,7 +15412,7 @@ version = "10.0.0" source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "aes-gcm", - "curve25519-dalek 4.1.3", + "curve25519-dalek 4.1.2", "ed25519-dalek", "hkdf", "parity-scale-codec", @@ -15319,7 +15445,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#aaf0443591b134a0da217d575161872796e75059" +source = "git+https://github.com/paritytech/polkadot-sdk#ad8620922bd7c0477b25c7dfd6fc233641cb27ae" [[package]] name = "sp-storage" @@ -15351,7 +15477,7 @@ dependencies = [ [[package]] name = "sp-storage" version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#aaf0443591b134a0da217d575161872796e75059" +source = "git+https://github.com/paritytech/polkadot-sdk#ad8620922bd7c0477b25c7dfd6fc233641cb27ae" dependencies = [ "impl-serde", "parity-scale-codec", @@ -15401,7 +15527,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#aaf0443591b134a0da217d575161872796e75059" +source = "git+https://github.com/paritytech/polkadot-sdk#ad8620922bd7c0477b25c7dfd6fc233641cb27ae" dependencies = [ "parity-scale-codec", "tracing", @@ -15507,7 +15633,7 @@ dependencies = [ "parity-scale-codec", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -15540,7 +15666,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#aaf0443591b134a0da217d575161872796e75059" +source = "git+https://github.com/paritytech/polkadot-sdk#ad8620922bd7c0477b25c7dfd6fc233641cb27ae" dependencies = [ "impl-trait-for-tuples", "log", @@ -15873,7 +15999,7 @@ dependencies = [ "bitflags 1.3.2", "byteorder", "keccak", - "subtle 2.4.1", + "subtle 2.5.0", "zeroize", ] @@ -15900,9 +16026,9 @@ dependencies = [ [[package]] name = "strum" -version = "0.26.3" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" +checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" [[package]] name = "strum_macros" @@ -15927,7 +16053,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -16035,9 +16161,9 @@ checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" [[package]] name = "subtle" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" [[package]] name = "subtle-ng" @@ -16095,7 +16221,7 @@ dependencies = [ "quote", "scale-info", "subxt-metadata", - "syn 2.0.68", + "syn 2.0.66", "thiserror", "tokio", ] @@ -16127,7 +16253,7 @@ dependencies = [ "parity-scale-codec", "proc-macro-error", "subxt-codegen", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -16178,9 +16304,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.68" +version = "2.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9" +checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" dependencies = [ "proc-macro2", "quote", @@ -16207,7 +16333,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -16334,7 +16460,7 @@ checksum = "e4c60d69f36615a077cc7663b9cb8e42275722d23e58a7fa3d2c7f2915d09d04" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -16345,7 +16471,7 @@ checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -16447,11 +16573,21 @@ dependencies = [ "crunchy", ] +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + [[package]] name = "tinyvec" -version = "1.6.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c55115c6fbe2d2bef26eb09ad74bde02d8255476fc0c7b515ef09fbb35742d82" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" dependencies = [ "tinyvec_macros", ] @@ -16489,7 +16625,7 @@ checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -16625,7 +16761,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.5.0", "bytes", "futures-core", "futures-util", @@ -16669,7 +16805,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -16708,11 +16844,11 @@ name = "tracing-gum-proc-macro" version = "5.0.0" source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ - "expander 2.2.1", + "expander 2.1.0", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -16868,7 +17004,7 @@ version = "0.38.0" source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" dependencies = [ "async-trait", - "clap 4.5.8", + "clap 4.5.7", "frame-remote-externalities", "frame-try-runtime", "hex", @@ -17048,7 +17184,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" dependencies = [ "crypto-common", - "subtle 2.4.1", + "subtle 2.5.0", ] [[package]] @@ -17077,12 +17213,12 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.2" +version = "2.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "f7c25da092f0a868cdf09e8674cd3b7ef3a7d92a24253e663a2fb85e2496de56" dependencies = [ "form_urlencoded", - "idna 0.5.0", + "idna 1.0.0", "percent-encoding", ] @@ -17092,6 +17228,18 @@ version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "utf8parse" version = "0.2.2" @@ -17223,7 +17371,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", "wasm-bindgen-shared", ] @@ -17257,7 +17405,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -18049,6 +18197,18 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + [[package]] name = "wyz" version = "0.5.1" @@ -18075,7 +18235,7 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" dependencies = [ - "curve25519-dalek 4.1.3", + "curve25519-dalek 4.1.2", "rand_core 0.6.4", "serde", "zeroize", @@ -18107,7 +18267,7 @@ dependencies = [ "Inflector", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", ] [[package]] @@ -18139,6 +18299,30 @@ dependencies = [ "time", ] +[[package]] +name = "yoke" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", + "synstructure 0.13.1", +] + [[package]] name = "zerocopy" version = "0.7.34" @@ -18156,7 +18340,28 @@ checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", +] + +[[package]] +name = "zerofrom" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", + "synstructure 0.13.1", ] [[package]] @@ -18176,7 +18381,29 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.66", +] + +[[package]] +name = "zerovec" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb2cc8827d6c0994478a15c53f374f46fbd41bea663d809b14744bc42e6b109c" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97cf56601ee5052b4417d90c8755c6683473c926039908196cf35d99f893ebe7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", ] [[package]] @@ -18219,9 +18446,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.11+zstd.1.5.6" +version = "2.0.10+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75652c55c0b6f3e6f12eb786fe1bc960396bf05a1eb3bf1f3691c3610ac2e6d4" +checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa" dependencies = [ "cc", "pkg-config", From e489c20af5b961c7058556386526dc6348c8847e Mon Sep 17 00:00:00 2001 From: sulijia <984115358@qq.com> Date: Sun, 30 Jun 2024 20:53:32 +0800 Subject: [PATCH 17/22] Modify cargo.lock file --- Cargo.lock | 583 ----------------------------------------------------- 1 file changed, 583 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2569394..210e390 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7164,523 +7164,6 @@ dependencies = [ "serde", ] -[[package]] -name = "move-vm-backend-common" -version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "arrayref", - "arrayvec 0.7.4", - "bitflags 1.3.2", - "blake2 0.10.6", - "c2-chacha", - "curve25519-dalek 4.1.2", - "either", - "hashlink", - "lioness", - "log", - "parking_lot 0.12.3", - "rand 0.8.5", - "rand_chacha 0.3.1", - "rand_distr", - "subtle 2.5.0", - "thiserror", - "zeroize", -] - -[[package]] -name = "mmr-gadget" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" -dependencies = [ - "futures", - "log", - "parity-scale-codec", - "sc-client-api", - "sc-offchain", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-consensus-beefy", - "sp-core 28.0.0", - "sp-mmr-primitives", - "sp-runtime 31.0.1", -] - -[[package]] -name = "mmr-rpc" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" -dependencies = [ - "jsonrpsee", - "parity-scale-codec", - "serde", - "sp-api", - "sp-blockchain", - "sp-core 28.0.0", - "sp-mmr-primitives", - "sp-runtime 31.0.1", -] - -[[package]] -name = "mockall" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c84490118f2ee2d74570d114f3d0493cbf02790df303d2707606c3e14e07c96" -dependencies = [ - "cfg-if", - "downcast", - "fragile", - "lazy_static", - "mockall_derive", - "predicates", - "predicates-tree", -] - -[[package]] -name = "mockall_derive" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ce75669015c4f47b289fd4d4f56e894e4c96003ffdf3ac51313126f94c6cbb" -dependencies = [ - "cfg-if", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "move-abigen" -version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "anyhow", - "bcs 0.1.6", - "heck 0.3.3", - "log", - "move-binary-format", - "move-bytecode-verifier", - "move-command-line-common", - "move-core-types", - "move-model", - "serde", -] - -[[package]] -name = "move-binary-format" -version = "0.0.3" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "anyhow", - "hashbrown 0.14.5", - "move-core-types", - "ref-cast", - "serde", - "variant_count", -] - -[[package]] -name = "move-borrow-graph" -version = "0.0.1" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" - -[[package]] -name = "move-bytecode-source-map" -version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "anyhow", - "bcs 0.1.6", - "move-binary-format", - "move-command-line-common", - "move-core-types", - "move-ir-types", - "move-symbol-pool", - "serde", -] - -[[package]] -name = "move-bytecode-verifier" -version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "anyhow", - "fail", - "hashbrown 0.14.5", - "move-binary-format", - "move-borrow-graph", - "move-core-types", - "petgraph 0.6.4", -] - -[[package]] -name = "move-command-line-common" -version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "anyhow", - "difference", - "dirs-next", - "hex", - "move-core-types", - "move-vm-support", - "num-bigint", - "once_cell", - "serde", - "sha2 0.9.9", - "walkdir", -] - -[[package]] -name = "move-compiler" -version = "0.0.1" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "anyhow", - "bcs 0.1.6", - "clap 3.2.25", - "codespan-reporting", - "difference", - "hex", - "move-binary-format", - "move-borrow-graph", - "move-bytecode-source-map", - "move-bytecode-verifier", - "move-command-line-common", - "move-core-types", - "move-ir-to-bytecode", - "move-ir-types", - "move-symbol-pool", - "move-vm-support", - "num-bigint", - "once_cell", - "petgraph 0.5.1", - "regex", - "sha3 0.9.1", - "tempfile", - "walkdir", -] - -[[package]] -name = "move-core-types" -version = "0.0.4" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "anyhow", - "bcs 0.1.4", - "ethnum", - "hashbrown 0.14.5", - "hex", - "num", - "parity-scale-codec", - "primitive-types", - "rand 0.8.5", - "ref-cast", - "scale-info", - "serde", - "serde_bytes", - "uint", -] - -[[package]] -name = "move-coverage" -version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "anyhow", - "bcs 0.1.6", - "clap 3.2.25", - "codespan", - "colored", - "move-binary-format", - "move-bytecode-source-map", - "move-command-line-common", - "move-core-types", - "move-ir-types", - "once_cell", - "petgraph 0.5.1", - "serde", -] - -[[package]] -name = "move-disassembler" -version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "anyhow", - "clap 3.2.25", - "colored", - "move-binary-format", - "move-bytecode-source-map", - "move-bytecode-verifier", - "move-command-line-common", - "move-compiler", - "move-core-types", - "move-coverage", - "move-ir-types", -] - -[[package]] -name = "move-docgen" -version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "anyhow", - "codespan", - "codespan-reporting", - "itertools 0.10.5", - "log", - "move-compiler", - "move-model", - "num", - "once_cell", - "regex", - "serde", -] - -[[package]] -name = "move-errmapgen" -version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "anyhow", - "bcs 0.1.6", - "log", - "move-command-line-common", - "move-core-types", - "move-model", - "serde", -] - -[[package]] -name = "move-ir-to-bytecode" -version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "anyhow", - "codespan-reporting", - "log", - "move-binary-format", - "move-bytecode-source-map", - "move-command-line-common", - "move-core-types", - "move-ir-to-bytecode-syntax", - "move-ir-types", - "move-symbol-pool", - "ouroboros", - "thiserror", -] - -[[package]] -name = "move-ir-to-bytecode-syntax" -version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "anyhow", - "hex", - "move-command-line-common", - "move-core-types", - "move-ir-types", - "move-symbol-pool", -] - -[[package]] -name = "move-ir-types" -version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "anyhow", - "hex", - "move-command-line-common", - "move-core-types", - "move-symbol-pool", - "once_cell", - "serde", -] - -[[package]] -name = "move-model" -version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "anyhow", - "codespan", - "codespan-reporting", - "internment", - "itertools 0.10.5", - "log", - "move-binary-format", - "move-bytecode-source-map", - "move-bytecode-verifier", - "move-command-line-common", - "move-compiler", - "move-core-types", - "move-disassembler", - "move-ir-types", - "move-symbol-pool", - "num", - "once_cell", - "regex", - "serde", -] - -[[package]] -name = "move-prover" -version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "anyhow", - "async-trait", - "atty", - "clap 3.2.25", - "codespan", - "codespan-reporting", - "futures", - "hex", - "itertools 0.10.5", - "log", - "move-abigen", - "move-binary-format", - "move-command-line-common", - "move-compiler", - "move-core-types", - "move-docgen", - "move-errmapgen", - "move-ir-types", - "move-model", - "move-prover-boogie-backend", - "move-stackless-bytecode", - "num", - "once_cell", - "pretty", - "rand 0.8.5", - "serde", - "serde_json", - "simplelog", - "tokio", - "toml 0.5.11", -] - -[[package]] -name = "move-prover-boogie-backend" -version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "anyhow", - "async-trait", - "codespan", - "codespan-reporting", - "futures", - "itertools 0.10.5", - "log", - "move-binary-format", - "move-command-line-common", - "move-compiler", - "move-core-types", - "move-model", - "move-stackless-bytecode", - "num", - "once_cell", - "pretty", - "rand 0.8.5", - "regex", - "serde", - "serde_json", - "tera", - "tokio", -] - -[[package]] -name = "move-read-write-set-types" -version = "0.0.3" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "anyhow", - "move-binary-format", - "move-core-types", - "serde", -] - -[[package]] -name = "move-stackless-bytecode" -version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "codespan", - "codespan-reporting", - "ethnum", - "im", - "itertools 0.10.5", - "log", - "move-binary-format", - "move-borrow-graph", - "move-bytecode-verifier", - "move-command-line-common", - "move-compiler", - "move-core-types", - "move-ir-to-bytecode", - "move-model", - "move-read-write-set-types", - "num", - "once_cell", - "paste", - "petgraph 0.5.1", - "serde", -] - -[[package]] -name = "move-stdlib" -version = "0.1.1" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "blake2-rfc", - "hex", - "log", - "move-binary-format", - "move-command-line-common", - "move-compiler", - "move-core-types", - "move-docgen", - "move-errmapgen", - "move-prover", - "move-vm-runtime", - "move-vm-types", - "ripemd", - "sha2 0.10.8", - "sha3 0.10.8", - "siphasher 1.0.1", - "smallvec", - "tiny-keccak", -] - -[[package]] -name = "move-symbol-pool" -version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "once_cell", - "serde", -] - -[[package]] -name = "move-vm-backend" -version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "anyhow", - "bcs 0.1.4", - "hashbrown 0.14.5", - "move-binary-format", - "move-core-types", - "move-stdlib", - "move-vm-backend-common", - "move-vm-runtime", - "move-vm-test-utils", - "move-vm-types", - "num-integer", - "serde", -] - [[package]] name = "move-vm-backend-common" version = "0.1.0" @@ -7802,72 +7285,6 @@ dependencies = [ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", "sp-trie 29.0.0", "sp-weights 27.0.0", -======= - "anyhow", - "bcs 0.1.4", - "lazy_static", - "move-binary-format", - "move-core-types", - "move-stdlib", - "move-vm-runtime", - "move-vm-test-utils", - "move-vm-types", - "parity-scale-codec", - "scale-info", - "serde", - "serde_bytes", -] - -[[package]] -name = "move-vm-runtime" -version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "better_any", - "fail", - "hashbrown 0.14.5", - "move-binary-format", - "move-bytecode-verifier", - "move-core-types", - "move-vm-types", - "sha3 0.10.8", - "tracing", -] - -[[package]] -name = "move-vm-support" -version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "anyhow", - "blake2 0.10.6", - "bs58 0.5.1", - "move-core-types", -] - -[[package]] -name = "move-vm-test-utils" -version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "anyhow", - "lazy_static", - "move-binary-format", - "move-core-types", - "move-vm-types", - "serde", -] - -[[package]] -name = "move-vm-types" -version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" -dependencies = [ - "bcs 0.1.4", - "move-binary-format", - "move-core-types", - "serde", - "smallvec", ] [[package]] From 29199f5619c3b9142684134be776fec0516f45e8 Mon Sep 17 00:00:00 2001 From: sulijia <984115358@qq.com> Date: Sun, 30 Jun 2024 21:04:20 +0800 Subject: [PATCH 18/22] fix compile bug --- node/src/chain_spec.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/node/src/chain_spec.rs b/node/src/chain_spec.rs index d4b550c..f0eba8f 100644 --- a/node/src/chain_spec.rs +++ b/node/src/chain_spec.rs @@ -291,6 +291,5 @@ fn testnet_genesis( "rpcUrl": b"ws://127.0.0.1:8855".to_vec(), "genesisHash": U256::from_str("0x4ea18c8f295ba903acbbed39c70ea0569cf1705fa954a537ffa3b8b7125eaf58").expect("internal U256 is valid; qed") }, - } }) } From 45887915294ab0f987c27f8e77d2422d357af715 Mon Sep 17 00:00:00 2001 From: sulijia <984115358@qq.com> Date: Mon, 1 Jul 2024 17:20:47 +0800 Subject: [PATCH 19/22] Modify the method of obtaining coretime parachain events by listening to the blocks of this chain --- client/coretime/bulk/src/lib.rs | 285 +++++++++++++++--------------- client/coretime/common/src/lib.rs | 2 +- node/src/chain_spec.rs | 8 +- 3 files changed, 146 insertions(+), 149 deletions(-) diff --git a/client/coretime/bulk/src/lib.rs b/client/coretime/bulk/src/lib.rs index 1e5d064..182a45d 100644 --- a/client/coretime/bulk/src/lib.rs +++ b/client/coretime/bulk/src/lib.rs @@ -16,9 +16,7 @@ //! Coretime bulk mode Spawner //! -//! The technical implementation logic here is to periodically call the background task here based on the interval between -//! parachain releases as the time period. -//! Each time it is called, it first checks the final block of the coretime parachain to see if there is an Assigned event +//! The technical implementation logic is to monitor the best block of the coretime parachain,to see if there is an Assigned event //! and assigns it to the current parachain. If so, it records it and then looks for subsequent block events to see if there //! is a CoreAssigned event. If so, it means that coretime is assigned to the parachain, //! and then the information recorded in the memory is passed to the block through inherent data. @@ -26,9 +24,9 @@ mod metadata; use codec::Codec; -use cumulus_primitives_core::{relay_chain::BlockNumber as RelayBlockNumber, ParaId}; +use cumulus_primitives_core::ParaId; use cumulus_relay_chain_interface::RelayChainInterface; -use futures::{lock::Mutex, pin_mut, select, FutureExt, StreamExt}; +use futures::{lock::Mutex, select, FutureExt}; use mc_coretime_common::is_parathread; use mp_coretime_bulk::{ self, well_known_keys::broker_regions, BulkMemRecord, BulkMemRecordItem, BulkRuntimeApi, @@ -44,7 +42,7 @@ use sc_service::TaskManager; use sp_api::ProvideRuntimeApi; use sp_application_crypto::AppPublic; use sp_consensus_aura::AuraApi; -use sp_core::{crypto::Pair, H256}; +use sp_core::crypto::Pair; use sp_runtime::traits::{Block as BlockT, Member}; use sp_state_machine::StorageProof; use std::{error::Error, sync::Arc}; @@ -66,8 +64,6 @@ fn u8_array_to_u128(array: [u8; 10]) -> u128 { pub async fn coretime_bulk_task( parachain: &P, relay_chain: R, - _height: RelayBlockNumber, - p_hash: H256, para_id: ParaId, bulk_record: Arc>, ) -> Result<(), Box> @@ -80,16 +76,10 @@ where PB::Public: AppPublic + Member + Codec, PB::Signature: TryFrom> + Member + Codec, { - // Determine whether it is a parathread - let parathread = is_parathread(relay_chain, p_hash, para_id).await?; - if !parathread { - return Ok(()); - } + let relay_chain_clone = relay_chain.clone(); let hash = parachain.usage_info().chain.finalized_hash; - let mut bulk_record_local = bulk_record.lock().await; - // Get the final block of the coretime parachain through subxt. let url = parachain.runtime_api().rpc_url(hash)?; @@ -97,125 +87,143 @@ where let api = OnlineClient::::from_url(rpc_url).await?; - let block = api.blocks().at_latest().await?; + let mut blocks_sub = api.blocks().subscribe_best().await?; + + // For each block, print a bunch of information about it: + while let Some(block) = blocks_sub.next().await { + let block = block?; + // Relaychain finalized block hash + let p_hash = relay_chain_clone.finalized_block_hash().await?; + // Determine whether it is a parathread + let parathread = is_parathread(&relay_chain_clone, p_hash, para_id).await?; + if !parathread { + continue; + } + let block_number = block.header().number; - let pre_block_height = bulk_record_local.coretime_para_height; + let mut bulk_record_local = bulk_record.lock().await; + bulk_record_local.coretime_para_height = block_number; + let events = block.events().await?; + for event in events.iter() { + let event = event?; + // Query Broker Assigned Event + let ev_assigned = event.as_event::(); - let block_number = block.number(); + if let Ok(assigned_event) = ev_assigned { + if let Some(ev) = assigned_event { + log::info!( + "=====================Find Assigned event:{:?},{:?},{:?}================", + ev.region_id, + ev.task, + ev.duration + ); - // If the block number has not changed, it will be returned without any processing. - if pre_block_height != block_number { - bulk_record_local.coretime_para_height = block_number; - } else { - return Ok(()); - } + let pid: u32 = para_id.into(); + + if ev.task == pid { + // Call rpc state_getReadProof. + let rpc_client = RpcClient::from_url(rpc_url).await?; + + let rpc = LegacyRpcMethods::::new(rpc_client.clone()); + + let mask = u8_array_to_u128(ev.region_id.mask.0); + + let core_mask = CoreMask::from(mask); - let events = block.events().await?; - for event in events.iter() { - let event = event?; - // Query Broker Assigned Event - let ev_assigned = event.as_event::(); - - if let Ok(assigned_event) = ev_assigned { - if let Some(ev) = assigned_event { - log::info!( - "=====================Find Assigned event:{:?},{:?},{:?}================", - ev.region_id, - ev.task, - ev.duration - ); - - let pid: u32 = para_id.into(); - - if ev.task == pid { - // Call rpc state_getReadProof. - let rpc_client = RpcClient::from_url(rpc_url).await?; - - let rpc = LegacyRpcMethods::::new(rpc_client.clone()); - - let mask = u8_array_to_u128(ev.region_id.mask.0); - - let core_mask = CoreMask::from(mask); - - let region_id = RegionId { - begin: ev.region_id.begin, - core: ev.region_id.core, - mask: core_mask, - }; - - let region_key = broker_regions(region_id); - // coretime parachain genesis hash key - let block_hash_key = SYSTEM_BLOCKHASH_GENESIS; - let mut relevant_keys = Vec::new(); - relevant_keys.push(region_key.as_slice()); - relevant_keys.push(block_hash_key); - - let proof = rpc - .state_get_read_proof(relevant_keys, Some(events.block_hash())) - .await - .unwrap(); - let storage_proof = - StorageProof::new(proof.proof.into_iter().map(|bytes| bytes.to_vec())); - - let storage_root = block.header().state_root; - // Create coretime parachain storage root proof. - let relay_storage_rooted_proof: GenericStateProof< - cumulus_primitives_core::relay_chain::Block, - > = GenericStateProof::new(storage_root, storage_proof.clone()).unwrap(); - - let head_data = relay_storage_rooted_proof - .read_entry::>(region_key.as_slice(), None) - .ok(); - // Check proof is ok. - if head_data.is_some() { - // Record some data. - let record_item = BulkMemRecordItem { - storage_proof, - storage_root, - region_id, - duration: ev.duration, - status: BulkStatus::Assigned, - start_relaychain_height: 0, - end_relaychain_height: 0, + let region_id = RegionId { + begin: ev.region_id.begin, + core: ev.region_id.core, + mask: core_mask, }; - bulk_record_local.items.push(record_item); + + let region_key = broker_regions(region_id); + // coretime parachain genesis hash key + let block_hash_key = SYSTEM_BLOCKHASH_GENESIS; + let mut relevant_keys = Vec::new(); + relevant_keys.push(region_key.as_slice()); + relevant_keys.push(block_hash_key); + + let proof = rpc + .state_get_read_proof(relevant_keys, Some(events.block_hash())) + .await + .unwrap(); + let storage_proof = + StorageProof::new(proof.proof.into_iter().map(|bytes| bytes.to_vec())); + + let storage_root = block.header().state_root; + // Create coretime parachain storage root proof. + let relay_storage_rooted_proof: GenericStateProof< + cumulus_primitives_core::relay_chain::Block, + > = GenericStateProof::new(storage_root, storage_proof.clone()).unwrap(); + + let head_data = relay_storage_rooted_proof + .read_entry::>( + region_key.as_slice(), + None, + ) + .ok(); + // Check proof is ok. + if head_data.is_some() { + // Record some data. + let record_item = BulkMemRecordItem { + storage_proof, + storage_root, + region_id, + duration: ev.duration, + status: BulkStatus::Assigned, + start_relaychain_height: 0, + end_relaychain_height: 0, + }; + bulk_record_local.items.push(record_item); + } } + continue; } - continue; } - } - // Query CoreAssigned event. - let ev_core_assigned = event.as_event::(); - - if let Ok(core_assigned_event) = ev_core_assigned { - if let Some(ev) = core_assigned_event { - log::info!( - "=====================Find CoreAssigned event: {:?},{:?},{:?}=================", - ev.core, - ev.when, - ev.assignment - ); - - for (core_assign, _) in ev.assignment { - if let metadata::CoreAssignment::Task(id) = core_assign { - let pid: u32 = para_id.into(); - if id == pid { - let items = &mut bulk_record_local.items; - for item in items { - if item.status == BulkStatus::Assigned { - item.start_relaychain_height = ev.when; - - let constant_query = - subxt::dynamic::constant("Broker", "TimeslicePeriod"); - - let time_slice = - api.constants().at(&constant_query)?.to_value()?.context; - - item.end_relaychain_height = - ev.when + item.duration * time_slice; - // find it. - item.status = BulkStatus::CoreAssigned; + // Query CoreAssigned event. + let ev_core_assigned = event.as_event::(); + + if let Ok(core_assigned_event) = ev_core_assigned { + if let Some(ev) = core_assigned_event { + log::info!( + "=====================Find CoreAssigned event: {:?},{:?},{:?}=================", + ev.core, + ev.when, + ev.assignment + ); + + for (core_assign, _) in ev.assignment { + if let metadata::CoreAssignment::Task(id) = core_assign { + let pid: u32 = para_id.into(); + if id == pid { + let items = &mut bulk_record_local.items; + for item in items { + if item.status == BulkStatus::Assigned { + item.start_relaychain_height = ev.when; + + let constant_query = + subxt::dynamic::constant("Broker", "TimeslicePeriod"); + + let time_slice = + api.constants() + .at(&constant_query)? + .to_value()? + .as_u128() + .expect("coretime parachain time slice none") as u32; + + item.end_relaychain_height = + ev.when + item.duration * time_slice; + log::info!( + "==============={:?},{:?},{:?},{:?},", + ev.when, + item.duration, + time_slice, + item + ); + // find it. + item.status = BulkStatus::CoreAssigned; + } } } } @@ -224,9 +232,9 @@ where } } } + Ok(()) } - pub async fn run_coretime_bulk_task( parachain: Arc

, relay_chain: R, @@ -242,25 +250,14 @@ pub async fn run_coretime_bulk_task( PB::Signature: TryFrom> + Member + Codec, { let relay_chain_notification = async move { - let new_best_heads = relay_chain - .new_best_notification_stream() - .await? - .filter_map(move |n| async move { Some((n.number, n.hash())) }) - .fuse(); - pin_mut!(new_best_heads); loop { - select! { - h = new_best_heads.next() => { - match h { - Some((height, hash)) => { - coretime_bulk_task::<_,_,_, PB>(&*parachain, relay_chain.clone(), height, hash, para_id, bulk_record.clone()).await?; - }, - None => { - return Ok::<(), Box>(()); - } - } - } - } + let _ = coretime_bulk_task::<_, _, _, PB>( + &*parachain, + relay_chain.clone(), + para_id, + bulk_record.clone(), + ) + .await; } }; select! { diff --git a/client/coretime/common/src/lib.rs b/client/coretime/common/src/lib.rs index 3ba3c4b..18a1988 100644 --- a/client/coretime/common/src/lib.rs +++ b/client/coretime/common/src/lib.rs @@ -33,7 +33,7 @@ type AuthorityId

=

::Public; /// Is it now a parathread. pub async fn is_parathread( - relay_chain: impl RelayChainInterface + Clone, + relay_chain: &(impl RelayChainInterface + Clone), p_hash: H256, para_id: ParaId, ) -> Result> { diff --git a/node/src/chain_spec.rs b/node/src/chain_spec.rs index f0eba8f..df8804b 100644 --- a/node/src/chain_spec.rs +++ b/node/src/chain_spec.rs @@ -75,7 +75,7 @@ pub fn development_config() -> ChainSpec { Extensions { relay_chain: "rococo-local".into(), // You MUST set this to the correct network! - para_id: 1000, + para_id: 2000, }, ) .with_name("Development") @@ -108,7 +108,7 @@ pub fn development_config() -> ChainSpec { get_account_id_from_seed::("Ferdie//stash"), ], get_account_id_from_seed::("Alice"), - 1000.into(), + 2000.into(), )) .build() } @@ -126,7 +126,7 @@ pub fn local_testnet_config() -> ChainSpec { Extensions { relay_chain: "rococo-local".into(), // You MUST set this to the correct network! - para_id: 1000, + para_id: 2000, }, ) .with_name("Local Testnet") @@ -159,7 +159,7 @@ pub fn local_testnet_config() -> ChainSpec { get_account_id_from_seed::("Ferdie//stash"), ], get_account_id_from_seed::("Alice"), - 1000.into(), + 2000.into(), )) .with_protocol_id("magnet-local") .with_properties(properties) From 677a2c59190ff68f56f13f6e2e34f09e2ec54b9a Mon Sep 17 00:00:00 2001 From: sulijia <984115358@qq.com> Date: Tue, 2 Jul 2024 13:13:54 +0800 Subject: [PATCH 20/22] record actually relaychain block number of start parachain --- client/coretime/bulk/src/lib.rs | 8 +------- node/src/service.rs | 5 ++++- pallets/bulk/src/benchmarking.rs | 9 +++++++-- pallets/bulk/src/lib.rs | 18 ++++++++++++++++-- pallets/bulk/src/mock.rs | 7 +++++-- pallets/bulk/src/tests.rs | 5 +++-- .../coretime/bulk/src/inherent_client.rs | 2 ++ primitives/coretime/bulk/src/lib.rs | 2 ++ runtime/src/lib.rs | 7 +++---- 9 files changed, 43 insertions(+), 20 deletions(-) diff --git a/client/coretime/bulk/src/lib.rs b/client/coretime/bulk/src/lib.rs index 182a45d..fde6d37 100644 --- a/client/coretime/bulk/src/lib.rs +++ b/client/coretime/bulk/src/lib.rs @@ -214,13 +214,7 @@ where item.end_relaychain_height = ev.when + item.duration * time_slice; - log::info!( - "==============={:?},{:?},{:?},{:?},", - ev.when, - item.duration, - time_slice, - item - ); + item.duration = item.duration * time_slice; // find it. item.status = BulkStatus::CoreAssigned; } diff --git a/node/src/service.rs b/node/src/service.rs index 3f6a1b2..6ece3fa 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -670,6 +670,7 @@ fn start_consensus( storage_proof, storage_root, region_id, + duration, start_relaychain_height, end_relaychain_height, ) = if let Some(item) = item { @@ -677,16 +678,18 @@ fn start_consensus( Some(&item.storage_proof), item.storage_root, item.region_id, + item.duration, item.start_relaychain_height, item.end_relaychain_height, ) } else { - (None, Default::default(), 0u128.into(), 0, 0) + (None, Default::default(), 0u128.into(), 0, 0, 0) }; let bulk_inherent = mp_coretime_bulk::BulkInherentData::create_at( storage_proof, storage_root, region_id, + duration, start_relaychain_height, end_relaychain_height, ) diff --git a/pallets/bulk/src/benchmarking.rs b/pallets/bulk/src/benchmarking.rs index cd88655..00ba979 100644 --- a/pallets/bulk/src/benchmarking.rs +++ b/pallets/bulk/src/benchmarking.rs @@ -15,7 +15,7 @@ // along with Magnet. If not, see . //! Benchmarking setup for pallet-bulk - +#![cfg(feature = "runtime-benchmarks")] use super::*; #[allow(unused)] @@ -60,9 +60,14 @@ benchmarks! { storage_proof: Some(coretime_chain_state_proof), storage_root, region_id, + duration: 100, start_relaychain_height: 130, - end_relaychain_height: 170, + end_relaychain_height: 230, }; + T::RelayChainStateProvider::set_current_relay_chain_state(cumulus_pallet_parachain_system::RelayChainState { + state_root: storage_root, + number: 0, + }); }: _(RawOrigin::None, bulk_inherent_data) verify { assert_eq!(RecordIndex::::get(), 1); diff --git a/pallets/bulk/src/lib.rs b/pallets/bulk/src/lib.rs index 7917900..ae41573 100644 --- a/pallets/bulk/src/lib.rs +++ b/pallets/bulk/src/lib.rs @@ -69,6 +69,10 @@ pub struct BulkRecord { pub start_relaychain_height: u32, /// Relaychain block number of end schedule coretime core. pub end_relaychain_height: u32, + /// Relaychain block number of parachain start run. + pub real_start_relaychain_height: u32, + /// Relaychain block number of parachain end run. + pub real_end_relaychain_height: u32, } #[frame_support::pallet] pub mod pallet { @@ -169,6 +173,10 @@ pub mod pallet { start_relaychain_height: u32, /// Relaychain block number of end schedule coretime core. end_relaychain_height: u32, + /// Relaychain block number of parachain start run. + real_start_relaychain_height: u32, + /// Relaychain block number of parachain end run. + real_end_relaychain_height: u32, }, } @@ -235,6 +243,7 @@ pub mod pallet { storage_proof: p_storage_proof, storage_root, region_id, + duration, start_relaychain_height, end_relaychain_height, } = data; @@ -266,7 +275,8 @@ pub mod pallet { if genesis_hash != stored_hash { Err(Error::::GenesisHashInconsistency)?; } - + let real_start_relaychain_height = Self::relaychain_block_number(); + let real_end_relaychain_height = real_start_relaychain_height + duration; let old_record_index = RecordIndex::::get(); let balance = region_record.paid.ok_or(Error::::PurchaserNone)?; let purchaser = region_record.owner; @@ -276,9 +286,11 @@ pub mod pallet { BulkRecord::, T::AuthorityId> { purchaser: purchaser.clone(), price: balance, - duration: region_record.end, + duration, start_relaychain_height, end_relaychain_height, + real_start_relaychain_height, + real_end_relaychain_height, }, ); RecordIndex::::set(old_record_index + 1); @@ -288,6 +300,8 @@ pub mod pallet { duration: region_record.end, start_relaychain_height, end_relaychain_height, + real_start_relaychain_height, + real_end_relaychain_height, }); let total_weight = T::WeightInfo::create_record(); diff --git a/pallets/bulk/src/mock.rs b/pallets/bulk/src/mock.rs index 9629658..555a5e2 100644 --- a/pallets/bulk/src/mock.rs +++ b/pallets/bulk/src/mock.rs @@ -102,8 +102,11 @@ pub struct MockRelayStateProvider; impl RelaychainStateProvider for MockRelayStateProvider { fn current_relay_chain_state() -> RelayChainState { - let root = frame_support::storage::unhashed::get(MOCK_RELAY_ROOT_KEY) - .expect("root should be set by mock"); + let root = if let Some(root) = frame_support::storage::unhashed::get(MOCK_RELAY_ROOT_KEY) { + root + } else { + Default::default() + }; RelayChainState { state_root: root, diff --git a/pallets/bulk/src/tests.rs b/pallets/bulk/src/tests.rs index cc279b9..15ae849 100644 --- a/pallets/bulk/src/tests.rs +++ b/pallets/bulk/src/tests.rs @@ -40,8 +40,9 @@ fn bulk_inherent_test() { storage_proof: Some(coretime_chain_state_proof), storage_root, region_id, + duration: 100, start_relaychain_height: 130, - end_relaychain_height: 170, + end_relaychain_height: 230, }; inherent_data .put_data(mp_coretime_bulk::INHERENT_IDENTIFIER, &bulk_inherent_data) @@ -54,6 +55,6 @@ fn bulk_inherent_test() { assert_eq!(BulkPallet::record_index(), 1); let record = BulkPallet::bulk_records(0).unwrap(); assert_eq!(record.start_relaychain_height, 130); - assert_eq!(record.end_relaychain_height, 170); + assert_eq!(record.end_relaychain_height, 230); }); } diff --git a/primitives/coretime/bulk/src/inherent_client.rs b/primitives/coretime/bulk/src/inherent_client.rs index 45ec087..d91d464 100644 --- a/primitives/coretime/bulk/src/inherent_client.rs +++ b/primitives/coretime/bulk/src/inherent_client.rs @@ -25,6 +25,7 @@ impl BulkInherentData { storage_proof: Option<&sp_trie::StorageProof>, storage_root: PHash, region_id: RegionId, + duration: u32, start: u32, end: u32, ) -> Option { @@ -34,6 +35,7 @@ impl BulkInherentData { storage_proof, storage_root, region_id, + duration, start_relaychain_height: start, end_relaychain_height: end, }) diff --git a/primitives/coretime/bulk/src/lib.rs b/primitives/coretime/bulk/src/lib.rs index 24c3209..96f8fbf 100644 --- a/primitives/coretime/bulk/src/lib.rs +++ b/primitives/coretime/bulk/src/lib.rs @@ -38,6 +38,8 @@ pub struct BulkInherentData { pub storage_root: PHash, /// The identity of the Region. pub region_id: RegionId, + /// Coretime duration. + pub duration: u32, /// Relaychain block number of start schedule coretime core. pub start_relaychain_height: u32, /// Relaychain block number of end schedule coretime core. diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 2d15086..e8859a0 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -762,12 +762,11 @@ where for i in 0..record_index { let bulk_record = >::bulk_records(i); if let Some(record) = bulk_record { - if block_number.into() >= record.start_relaychain_height.into() - && block_number.into() <= record.end_relaychain_height.into() + if block_number.into() >= record.real_start_relaychain_height.into() + && block_number.into() <= record.real_end_relaychain_height.into() { let price: u128 = record.price.saturated_into(); - let duration = - (record.end_relaychain_height - record.start_relaychain_height) as u128; + let duration = record.duration as u128; let balance = price .checked_div(duration) .ok_or(sp_runtime::DispatchError::Other("duration error"))?; From 38ce8a725a6ad8dc57146b47a594896ca591eb3c Mon Sep 17 00:00:00 2001 From: sulijia <984115358@qq.com> Date: Sun, 7 Jul 2024 10:02:21 +0800 Subject: [PATCH 21/22] merge multisig,proxy code, resolved conflicts --- Cargo.lock | 2 ++ Cargo.toml | 3 ++ runtime/Cargo.toml | 8 +++++ runtime/src/lib.rs | 82 +++++++++++++++++++++++++++++++++++++++++++--- 4 files changed, 90 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 210e390..0caa1bb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9670,11 +9670,13 @@ dependencies = [ "pallet-liquidation", "pallet-message-queue", "pallet-move", + "pallet-multisig", "pallet-pot", "pallet-pot-runtime-api", "pallet-precompile-substrate-utils", "pallet-precompile-transfer-to-magnet", "pallet-preimage", + "pallet-proxy", "pallet-ranked-collective", "pallet-referenda", "pallet-scheduler", diff --git a/Cargo.toml b/Cargo.toml index ce9001a..e57486f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -150,6 +150,9 @@ pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } pallet-utility = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } pallet-whitelist = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false} +pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false} +pallet-proxy = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false} + # Substrate Utility substrate-prometheus-endpoint = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index 4df2a13..05c9f7d 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -78,6 +78,8 @@ pallet-scheduler = { workspace = true, default-features = false} pallet-insecure-randomness-collective-flip = { workspace = true, default-features = false} pallet-contracts = { workspace = true, default-features = false} pallet-message-queue = { workspace = true, default-features = false } +pallet-multisig = { workspace = true, default-features = false } +pallet-proxy = { workspace = true, default-features = false } # Polkadot pallet-xcm = { workspace = true, default-features = false} @@ -212,6 +214,8 @@ std = [ "pallet-contracts/std", "cumulus-primitives-aura/std", "pallet-move/std", + "pallet-multisig/std", + "pallet-proxy/std", "pallet-bulk/std", "mp-coretime-bulk/std", ] @@ -256,6 +260,8 @@ runtime-benchmarks = [ "pallet-scheduler/runtime-benchmarks", "pallet-contracts/runtime-benchmarks", "pallet-move/runtime-benchmarks", + "pallet-multisig/runtime-benchmarks", + "pallet-proxy/runtime-benchmarks", "pallet-bulk/runtime-benchmarks", ] @@ -310,6 +316,8 @@ try-runtime = [ "pallet-insecure-randomness-collective-flip/try-runtime", "pallet-contracts/try-runtime", "pallet-move/try-runtime", + "pallet-multisig/try-runtime", + "pallet-proxy/try-runtime", ] experimental = [ "pallet-aura/experimental" ] diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index e8859a0..96e3242 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -13,7 +13,7 @@ pub mod xcms; use core::ops::Div; -use codec::{Decode, Encode}; +use codec::{Decode, Encode, MaxEncodedLen}; use cumulus_pallet_parachain_system::RelayNumberMonotonicallyIncreases; use cumulus_pallet_parachain_system::RelayNumberStrictlyIncreases; @@ -30,7 +30,7 @@ use sp_runtime::{ IdentifyAccount, PostDispatchInfoOf, Saturating, UniqueSaturatedInto, Verify, }, transaction_validity::{TransactionSource, TransactionValidity, TransactionValidityError}, - ApplyExtrinsicResult, ConsensusEngineId, DispatchError, MultiSignature, Percent, + ApplyExtrinsicResult, ConsensusEngineId, DispatchError, MultiSignature, Percent, RuntimeDebug, }; use scale_info::prelude::string::String; @@ -54,7 +54,8 @@ use frame_support::{ traits::{ fungible::HoldConsideration, AsEnsureOriginWithArg, ConstBool, ConstU128, ConstU32, ConstU64, ConstU8, Currency, EitherOf, EitherOfDiverse, Everything, FindAuthor, Imbalance, - LinearStoragePrice, OnFinalize, OnUnbalanced, PrivilegeCmp, TransformOrigin, + InstanceFilter, LinearStoragePrice, OnFinalize, OnUnbalanced, PrivilegeCmp, + TransformOrigin, }, weights::{ constants::WEIGHT_REF_TIME_PER_SECOND, ConstantMultiplier, Weight, WeightToFeeCoefficient, @@ -1173,6 +1174,72 @@ impl pallet_move::Config for Runtime { type WeightInfo = pallet_move::weights::SubstrateWeight; } +impl pallet_multisig::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; + type Currency = Balances; + type DepositBase = ConstU128<228_000_000_000_000>; + type DepositFactor = ConstU128<32_000_000_000_000>; + type MaxSignatories = ConstU32<20>; + type WeightInfo = pallet_multisig::weights::SubstrateWeight; +} + +#[derive( + Copy, + Clone, + Eq, + PartialEq, + Ord, + PartialOrd, + Encode, + Decode, + RuntimeDebug, + MaxEncodedLen, + scale_info::TypeInfo, +)] +pub enum ProxyType { + Any, + JustTransfer, + JustUtility, +} +impl Default for ProxyType { + fn default() -> Self { + Self::Any + } +} +impl InstanceFilter for ProxyType { + fn filter(&self, c: &RuntimeCall) -> bool { + match self { + ProxyType::Any => true, + ProxyType::JustTransfer => { + matches!( + c, + RuntimeCall::Balances(pallet_balances::Call::transfer_allow_death { .. }) + ) + }, + ProxyType::JustUtility => matches!(c, RuntimeCall::Utility { .. }), + } + } + fn is_superset(&self, o: &Self) -> bool { + self == &ProxyType::Any || self == o + } +} + +impl pallet_proxy::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; + type Currency = Balances; + type ProxyType = ProxyType; + type ProxyDepositBase = ConstU128<160_000_000_000_000>; + type ProxyDepositFactor = ConstU128<33_000_000_000_000>; + type MaxProxies = ConstU32<100>; + type CallHasher = BlakeTwo256; + type MaxPending = ConstU32<1000>; + type AnnouncementDepositBase = ConstU128<16_000_000_000_000>; + type AnnouncementDepositFactor = ConstU128<64_000_000_000_000>; + type WeightInfo = pallet_proxy::weights::SubstrateWeight; +} + // Create the runtime by composing the FRAME pallets that were previously configured. construct_runtime!( pub enum Runtime @@ -1237,14 +1304,17 @@ construct_runtime!( Pot: pallet_pot = 61, Assurance: pallet_assurance = 62, Liquidation: pallet_liquidation = 63, - + BulkPallet: pallet_bulk = 64, //Contracts RandomnessCollectiveFlip: pallet_insecure_randomness_collective_flip = 70, Contracts: pallet_contracts = 71, //Move-vm MoveModule: pallet_move = 80, - BulkPallet: pallet_bulk = 72, + + //call util + Multisig: pallet_multisig = 90, + Proxy: pallet_proxy = 91, } ); @@ -1261,6 +1331,8 @@ mod benches { [pallet_bulk, BulkPallet] // [pallet_order, OrderPallet] [pallet_move, MoveModule] + [pallet_multisig, Multisig] + [pallet_proxy, Proxy] ); } From 870755f913ca218035c8972f96d7af6625ed3b8c Mon Sep 17 00:00:00 2001 From: sulijia <984115358@qq.com> Date: Sun, 7 Jul 2024 10:11:53 +0800 Subject: [PATCH 22/22] fix cargo fmt error --- runtime/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 2bc2b6e..e68f052 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -11,8 +11,8 @@ mod weights; pub mod xcm_config; pub mod xcms; -use core::ops::Div; use codec::{Decode, Encode, MaxEncodedLen}; +use core::ops::Div; use cumulus_pallet_parachain_system::RelayNumberMonotonicallyIncreases; use cumulus_pallet_parachain_system::RelayNumberStrictlyIncreases;