git.delta.rocks / unique-network / refs/commits / 081dbb6ae4fb

difftreelog

feat Separate rpc calls to own group

Trubnikov Sergey2022-09-01parent: #33ed679.patch.diff
in: master

31 files changed

modifiedCargo.lockdiffbeforeafterboth
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -113,6 +113,20 @@
 checksum = "508b352bb5c066aac251f6daf6b36eccd03e8a88e8081cd44959ea277a3af9a8"
 
 [[package]]
+name = "app-promotion-rpc"
+version = "0.1.0"
+dependencies = [
+ "pallet-common",
+ "pallet-evm",
+ "parity-scale-codec 3.1.5",
+ "sp-api",
+ "sp-core",
+ "sp-runtime",
+ "sp-std",
+ "up-data-structs",
+]
+
+[[package]]
 name = "approx"
 version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5127,6 +5141,7 @@
 name = "opal-runtime"
 version = "0.9.27"
 dependencies = [
+ "app-promotion-rpc",
  "cumulus-pallet-aura-ext",
  "cumulus-pallet-dmp-queue",
  "cumulus-pallet-parachain-system",
@@ -8358,6 +8373,7 @@
 name = "quartz-runtime"
 version = "0.9.27"
 dependencies = [
+ "app-promotion-rpc",
  "cumulus-pallet-aura-ext",
  "cumulus-pallet-dmp-queue",
  "cumulus-pallet-parachain-system",
@@ -8381,6 +8397,7 @@
  "hex-literal",
  "log",
  "orml-vesting",
+ "pallet-app-promotion",
  "pallet-aura",
  "pallet-balances",
  "pallet-base-fee",
@@ -12132,6 +12149,7 @@
 version = "0.1.3"
 dependencies = [
  "anyhow",
+ "app-promotion-rpc",
  "jsonrpsee",
  "pallet-common",
  "pallet-evm",
@@ -12210,6 +12228,7 @@
 name = "unique-node"
 version = "0.9.27"
 dependencies = [
+ "app-promotion-rpc",
  "clap",
  "cumulus-client-cli",
  "cumulus-client-collator",
@@ -12298,6 +12317,7 @@
 name = "unique-rpc"
 version = "0.1.1"
 dependencies = [
+ "app-promotion-rpc",
  "fc-db",
  "fc-mapping-sync",
  "fc-rpc",
@@ -12347,6 +12367,7 @@
 name = "unique-runtime"
 version = "0.9.27"
 dependencies = [
+ "app-promotion-rpc",
  "cumulus-pallet-aura-ext",
  "cumulus-pallet-dmp-queue",
  "cumulus-pallet-parachain-system",
@@ -12370,6 +12391,7 @@
  "hex-literal",
  "log",
  "orml-vesting",
+ "pallet-app-promotion",
  "pallet-aura",
  "pallet-balances",
  "pallet-base-fee",
modifiedclient/rpc/Cargo.tomldiffbeforeafterboth
--- a/client/rpc/Cargo.toml
+++ b/client/rpc/Cargo.toml
@@ -8,6 +8,7 @@
 pallet-common = { default-features = false, path = '../../pallets/common' }
 up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
 up-rpc = { path = "../../primitives/rpc" }
+app-promotion-rpc = { path = "../../primitives/app_promotion_rpc"}
 rmrk-rpc = { path = "../../primitives/rmrk-rpc" }
 codec = { package = "parity-scale-codec", version = "3.1.2" }
 jsonrpsee = { version = "0.14.0", features = ["server", "macros"] }
modifiedclient/rpc/src/lib.rsdiffbeforeafterboth
--- a/client/rpc/src/lib.rs
+++ b/client/rpc/src/lib.rs
@@ -31,6 +31,7 @@
 use sp_api::{BlockId, BlockT, ProvideRuntimeApi, ApiExt};
 use sp_blockchain::HeaderBackend;
 use up_rpc::UniqueApi as UniqueRuntimeApi;
+use app_promotion_rpc::AppPromotionApi as AppPromotionRuntimeApi;
 
 // RMRK
 use rmrk_rpc::RmrkApi as RmrkRuntimeApi;
@@ -38,6 +39,7 @@
 	RmrkCollectionId, RmrkNftId, RmrkBaseId, RmrkNftChild, RmrkThemeName, RmrkResourceId,
 };
 
+pub use app_promotion_unique_rpc::AppPromotionApiServer;
 pub use rmrk_unique_rpc::RmrkApiServer;
 
 #[rpc(server)]
@@ -244,39 +246,48 @@
 		token_id: TokenId,
 		at: Option<BlockHash>,
 	) -> Result<Option<String>>;
+}
+
+mod app_promotion_unique_rpc {
+	use super::*;
+	
+	#[rpc(server)]
+	#[async_trait]
+	pub trait AppPromotionApi<BlockHash, BlockNumber, CrossAccountId, AccountId> {
+		/// Returns the total amount of staked tokens.
+		#[method(name = "appPromotion_totalStaked")]
+		fn total_staked(&self, staker: Option<CrossAccountId>, at: Option<BlockHash>)
+			-> Result<String>;
 
-	/// Returns the total amount of staked tokens.
-	#[method(name = "unique_totalStaked")]
-	fn total_staked(&self, staker: Option<CrossAccountId>, at: Option<BlockHash>)
-		-> Result<String>;
+		///Returns the total amount of staked tokens per block when staked.
+		#[method(name = "appPromotion_totalStakedPerBlock")]
+		fn total_staked_per_block(
+			&self,
+			staker: CrossAccountId,
+			at: Option<BlockHash>,
+		) -> Result<Vec<(BlockNumber, String)>>;
 
-	///Returns the total amount of staked tokens per block when staked.
-	#[method(name = "unique_totalStakedPerBlock")]
-	fn total_staked_per_block(
-		&self,
-		staker: CrossAccountId,
-		at: Option<BlockHash>,
-	) -> Result<Vec<(BlockNumber, String)>>;
+		/// Returns the total amount locked by staking tokens.
+		#[method(name = "appPromotion_totalStakingLocked")]
+		fn total_staking_locked(&self, staker: CrossAccountId, at: Option<BlockHash>)
+			-> Result<String>;
 
-	/// Returns the total amount locked by staking tokens.
-	#[method(name = "unique_totalStakingLocked")]
-	fn total_staking_locked(&self, staker: CrossAccountId, at: Option<BlockHash>)
-		-> Result<String>;
+		/// Returns the total amount of tokens pending withdrawal from staking.
+		#[method(name = "appPromotion_pendingUnstake")]
+		fn pending_unstake(
+			&self,
+			staker: Option<CrossAccountId>,
+			at: Option<BlockHash>,
+		) -> Result<String>;
 
-	/// Returns the total amount of tokens pending withdrawal from staking.
-	#[method(name = "unique_pendingUnstake")]
-	fn pending_unstake(
-		&self,
-		staker: Option<CrossAccountId>,
-		at: Option<BlockHash>,
-	) -> Result<String>;
-	/// Returns the total amount of tokens pending withdrawal from staking per block.
-	#[method(name = "unique_pendingUnstakePerBlock")]
-	fn pending_unstake_per_block(
-		&self,
-		staker: CrossAccountId,
-		at: Option<BlockHash>,
-	) -> Result<Vec<(BlockNumber, String)>>;
+		/// Returns the total amount of tokens pending withdrawal from staking per block.
+		#[method(name = "appPromotion_pendingUnstakePerBlock")]
+		fn pending_unstake_per_block(
+			&self,
+			staker: CrossAccountId,
+			at: Option<BlockHash>,
+		) -> Result<Vec<(BlockNumber, String)>>;
+	}
 }
 
 mod rmrk_unique_rpc {
@@ -415,6 +426,20 @@
 	}
 }
 
+pub struct AppPromotion<C, P> {
+	client: Arc<C>,
+	_marker: std::marker::PhantomData<P>,
+}
+
+impl<C, P> AppPromotion<C, P> {
+	pub fn new(client: Arc<C>) -> Self {
+		Self {
+			client,
+			_marker: Default::default(),
+		}
+	}
+}
+
 pub struct Rmrk<C, P> {
 	client: Arc<C>,
 	_marker: std::marker::PhantomData<P>,
@@ -474,6 +499,12 @@
 	};
 }
 
+macro_rules! app_promotion_api {
+	() => {
+		dyn AppPromotionRuntimeApi<Block, BlockNumber, CrossAccountId, AccountId>
+	};
+}
+
 macro_rules! rmrk_api {
 	() => {
 		dyn RmrkRuntimeApi<Block, AccountId, CollectionInfo, NftInfo, ResourceInfo, PropertyInfo, BaseInfo, PartType, Theme>
@@ -556,7 +587,20 @@
 	pass_method!(effective_collection_limits(collection_id: CollectionId) -> Option<CollectionLimits>, unique_api);
 	pass_method!(total_pieces(collection_id: CollectionId, token_id: TokenId) -> Option<String> => |o| o.map(|number| number.to_string()) , unique_api);
 	pass_method!(token_owners(collection: CollectionId, token: TokenId) -> Vec<CrossAccountId>, unique_api);
-	pass_method!(total_staked(staker: Option<CrossAccountId>) -> String => |v| v.to_string(), unique_api);
+}
+
+impl<C, Block, BlockNumber, CrossAccountId, AccountId>
+ 	app_promotion_unique_rpc::AppPromotionApiServer<<Block as BlockT>::Hash, BlockNumber, CrossAccountId, AccountId>
+	for AppPromotion<C, Block>
+where
+	Block: BlockT,
+	BlockNumber: Decode + Member + AtLeast32BitUnsigned,
+	AccountId: Decode,
+	C: 'static + ProvideRuntimeApi<Block> + HeaderBackend<Block>,
+	C::Api: AppPromotionRuntimeApi<Block, BlockNumber, CrossAccountId, AccountId>,
+	CrossAccountId: pallet_evm::account::CrossAccountId<AccountId>,
+{
+	pass_method!(total_staked(staker: Option<CrossAccountId>) -> String => |v| v.to_string(), app_promotion_api);
 	pass_method!(total_staked_per_block(staker: CrossAccountId) -> Vec<(BlockNumber, String)> =>
 		|v| v
 		.into_iter()
modifiednode/cli/Cargo.tomldiffbeforeafterboth
--- a/node/cli/Cargo.toml
+++ b/node/cli/Cargo.toml
@@ -318,6 +318,7 @@
 pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }
 
 unique-rpc = { default-features = false, path = "../rpc" }
+app-promotion-rpc = { path = "../../primitives/app_promotion_rpc", default-features = false}
 rmrk-rpc = { path = "../../primitives/rmrk-rpc" }
 
 [features]
modifiednode/cli/src/service.rsdiffbeforeafterboth
--- a/node/cli/src/service.rs
+++ b/node/cli/src/service.rs
@@ -364,6 +364,7 @@
 		+ pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi<Block, Balance>
 		+ sp_api::ApiExt<Block, StateBackend = sc_client_api::StateBackendFor<FullBackend, Block>>
 		+ up_rpc::UniqueApi<Block, BlockNumber, Runtime::CrossAccountId, AccountId>
+		+ app_promotion_rpc::AppPromotionApi<Block, BlockNumber, Runtime::CrossAccountId, AccountId>
 		+ rmrk_rpc::RmrkApi<
 			Block,
 			AccountId,
@@ -665,6 +666,7 @@
 		+ pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi<Block, Balance>
 		+ sp_api::ApiExt<Block, StateBackend = sc_client_api::StateBackendFor<FullBackend, Block>>
 		+ up_rpc::UniqueApi<Block, BlockNumber, Runtime::CrossAccountId, AccountId>
+		+ app_promotion_rpc::AppPromotionApi<Block, BlockNumber, Runtime::CrossAccountId, AccountId>
 		+ rmrk_rpc::RmrkApi<
 			Block,
 			AccountId,
@@ -809,6 +811,7 @@
 		+ pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi<Block, Balance>
 		+ sp_api::ApiExt<Block, StateBackend = sc_client_api::StateBackendFor<FullBackend, Block>>
 		+ up_rpc::UniqueApi<Block, BlockNumber, Runtime::CrossAccountId, AccountId>
+		+ app_promotion_rpc::AppPromotionApi<Block, BlockNumber, Runtime::CrossAccountId, AccountId>
 		+ rmrk_rpc::RmrkApi<
 			Block,
 			AccountId,
modifiednode/rpc/Cargo.tomldiffbeforeafterboth
--- a/node/rpc/Cargo.toml
+++ b/node/rpc/Cargo.toml
@@ -53,6 +53,7 @@
 pallet-unique = { path = "../../pallets/unique" }
 uc-rpc = { path = "../../client/rpc" }
 up-rpc = { path = "../../primitives/rpc" }
+app-promotion-rpc = { path = "../../primitives/app_promotion_rpc"}
 rmrk-rpc = { path = "../../primitives/rmrk-rpc" }
 up-data-structs = { default-features = false, path = "../../primitives/data-structs" }
 
modifiednode/rpc/src/lib.rsdiffbeforeafterboth
--- a/node/rpc/src/lib.rs
+++ b/node/rpc/src/lib.rs
@@ -38,6 +38,7 @@
 use sp_block_builder::BlockBuilder;
 use sp_blockchain::{Error as BlockChainError, HeaderBackend, HeaderMetadata};
 use sc_service::TransactionPool;
+use uc_rpc::AppPromotion;
 use std::{collections::BTreeMap, sync::Arc};
 
 use up_common::types::opaque::{Hash, AccountId, RuntimeInstance, Index, Block, BlockNumber, Balance};
@@ -147,6 +148,7 @@
 	C::Api: fp_rpc::ConvertTransactionRuntimeApi<Block>,
 	C::Api:
 		up_rpc::UniqueApi<Block, BlockNumber, <R as RuntimeInstance>::CrossAccountId, AccountId>,
+	C::Api: app_promotion_rpc::AppPromotionApi<Block, BlockNumber, <R as RuntimeInstance>::CrossAccountId, AccountId>,
 	C::Api: rmrk_rpc::RmrkApi<
 		Block,
 		AccountId,
@@ -171,6 +173,7 @@
 		EthPubSubApiServer, EthSigner, Net, NetApiServer, Web3, Web3ApiServer,
 	};
 	use uc_rpc::{UniqueApiServer, Unique};
+	use uc_rpc::{AppPromotionApiServer, AppPromotion};
 
 	#[cfg(not(feature = "unique-runtime"))]
 	use uc_rpc::{RmrkApiServer, Rmrk};
@@ -229,6 +232,9 @@
 
 	io.merge(Unique::new(client.clone()).into_rpc())?;
 
+	// #[cfg(not(feature = "unique-runtime"))]
+	io.merge(AppPromotion::new(client.clone()).into_rpc())?;
+
 	#[cfg(not(feature = "unique-runtime"))]
 	io.merge(Rmrk::new(client.clone()).into_rpc())?;
 
addedprimitives/app_promotion_rpc/CHANGELOG.mddiffbeforeafterboth
--- /dev/null
+++ b/primitives/app_promotion_rpc/CHANGELOG.md
@@ -0,0 +1,5 @@
+# Change Log
+
+All notable changes to this project will be documented in this file.
+
+<!-- bureaucrate goes here -->
addedprimitives/app_promotion_rpc/Cargo.tomldiffbeforeafterboth
--- /dev/null
+++ b/primitives/app_promotion_rpc/Cargo.toml
@@ -0,0 +1,29 @@
+[package]
+name = "app-promotion-rpc"
+version = "0.1.0"
+license = "GPLv3"
+edition = "2021"
+
+[dependencies]
+pallet-common = { default-features = false, path = '../../pallets/common' }
+up-data-structs = { default-features = false, path = '../data-structs' }
+codec = { package = "parity-scale-codec", version = "3.1.2", default-features = false, features = [
+	"derive",
+] }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+sp-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }
+
+[features]
+default = ["std"]
+std = [
+	"codec/std",
+	"sp-core/std",
+	"sp-std/std",
+	"sp-api/std",
+	"sp-runtime/std",
+	"pallet-common/std",
+	"up-data-structs/std",
+]
addedprimitives/app_promotion_rpc/src/lib.rsdiffbeforeafterboth
--- /dev/null
+++ b/primitives/app_promotion_rpc/src/lib.rs
@@ -0,0 +1,47 @@
+// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
+// This file is part of Unique Network.
+
+// Unique Network 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.
+
+// Unique Network 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 Unique Network. If not, see <http://www.gnu.org/licenses/>.
+
+#![cfg_attr(not(feature = "std"), no_std)]
+
+use up_data_structs::{
+	CollectionId, TokenId, RpcCollection, CollectionStats, CollectionLimits, Property,
+	PropertyKeyPermission, TokenData, TokenChild,
+};
+
+use sp_std::vec::Vec;
+use codec::Decode;
+use sp_runtime::{
+	DispatchError,
+	traits::{AtLeast32BitUnsigned, Member},
+};
+
+type Result<T> = core::result::Result<T, DispatchError>;
+
+sp_api::decl_runtime_apis! {
+	#[api_version(2)]
+	/// Trait for generate rpc.
+	pub trait AppPromotionApi<BlockNumber ,CrossAccountId, AccountId> where
+		BlockNumber: Decode + Member + AtLeast32BitUnsigned,
+		AccountId: Decode,
+		CrossAccountId: pallet_evm::account::CrossAccountId<AccountId>,
+	{
+		fn total_staked(staker: Option<CrossAccountId>) -> Result<u128>;
+		fn total_staked_per_block(staker: CrossAccountId) -> Result<Vec<(BlockNumber, u128)>>;
+		fn total_staking_locked(staker: CrossAccountId) -> Result<u128>;
+		fn pending_unstake(staker: Option<CrossAccountId>) -> Result<u128>;
+		fn pending_unstake_per_block(staker: CrossAccountId) -> Result<Vec<(BlockNumber, u128)>>;
+	}
+}
modifiedprimitives/rpc/src/lib.rsdiffbeforeafterboth
--- a/primitives/rpc/src/lib.rs
+++ b/primitives/rpc/src/lib.rs
@@ -127,11 +127,5 @@
 		fn total_pieces(collection_id: CollectionId, token_id: TokenId) -> Result<Option<u128>>;
 
 		fn token_owners(collection: CollectionId, token: TokenId) -> Result<Vec<CrossAccountId>>;
-		fn total_staked(staker: Option<CrossAccountId>) -> Result<u128>;
-		fn total_staked_per_block(staker: CrossAccountId) -> Result<Vec<(BlockNumber, u128)>>;
-		fn total_staking_locked(staker: CrossAccountId) -> Result<u128>;
-		fn pending_unstake(staker: Option<CrossAccountId>) -> Result<u128>;
-		fn pending_unstake_per_block(staker: CrossAccountId) -> Result<Vec<(BlockNumber, u128)>>;
-
 	}
 }
modifiedruntime/common/runtime_apis.rsdiffbeforeafterboth
--- a/runtime/common/runtime_apis.rs
+++ b/runtime/common/runtime_apis.rs
@@ -187,25 +187,47 @@
                 fn total_pieces(collection: CollectionId, token_id: TokenId) -> Result<Option<u128>, DispatchError> {
                     dispatch_unique_runtime!(collection.total_pieces(token_id))
                 }
+            }
 
+            impl app_promotion_rpc::AppPromotionApi<Block, BlockNumber, CrossAccountId, AccountId> for Runtime {
                 fn total_staked(staker: Option<CrossAccountId>) -> Result<u128, DispatchError> {
-                    Ok(<pallet_app_promotion::Pallet<Runtime>>::cross_id_total_staked(staker).unwrap_or_default())
-                }
+                    #[cfg(not(feature = "app-promotion"))]
+                    return unsupported!();
 
+                    #[cfg(feature = "app-promotion")]
+                    return Ok(<pallet_app_promotion::Pallet<Runtime>>::cross_id_total_staked(staker).unwrap_or_default());
+                }
+                
                 fn total_staked_per_block(staker: CrossAccountId) -> Result<Vec<(BlockNumber, u128)>, DispatchError> {
-                    Ok(<pallet_app_promotion::Pallet<Runtime>>::cross_id_total_staked_per_block(staker))
+                    #[cfg(not(feature = "app-promotion"))]
+                    return unsupported!();
+                    
+                    #[cfg(feature = "app-promotion")]
+                    return Ok(<pallet_app_promotion::Pallet<Runtime>>::cross_id_total_staked_per_block(staker));
                 }
 
                 fn total_staking_locked(staker: CrossAccountId) -> Result<u128, DispatchError> {
-                    Ok(<pallet_app_promotion::Pallet<Runtime>>::cross_id_locked_balance(staker))
+                    #[cfg(not(feature = "app-promotion"))]
+                    return unsupported!();
+                    
+                    #[cfg(feature = "app-promotion")]
+                    return Ok(<pallet_app_promotion::Pallet<Runtime>>::cross_id_locked_balance(staker));
                 }
 
                 fn pending_unstake(staker: Option<CrossAccountId>) -> Result<u128, DispatchError> {
-                    Ok(<pallet_app_promotion::Pallet<Runtime>>::cross_id_pending_unstake(staker))
+                    #[cfg(not(feature = "app-promotion"))]
+                    return unsupported!();
+                    
+                    #[cfg(feature = "app-promotion")]
+                    return Ok(<pallet_app_promotion::Pallet<Runtime>>::cross_id_pending_unstake(staker));
                 }
 
                 fn pending_unstake_per_block(staker: CrossAccountId) -> Result<Vec<(BlockNumber, u128)>, DispatchError> {
-                    Ok(<pallet_app_promotion::Pallet<Runtime>>::cross_id_pending_unstake_per_block(staker))
+                    #[cfg(not(feature = "app-promotion"))]
+                    return unsupported!();
+                    
+                    #[cfg(feature = "app-promotion")]
+                    return Ok(<pallet_app_promotion::Pallet<Runtime>>::cross_id_pending_unstake_per_block(staker))
                 }
             }
 
modifiedruntime/opal/Cargo.tomldiffbeforeafterboth
--- a/runtime/opal/Cargo.toml
+++ b/runtime/opal/Cargo.toml
@@ -83,6 +83,7 @@
     'pallet-base-fee/std',
     'fp-rpc/std',
     'up-rpc/std',
+    'app-promotion-rpc/std',
     'fp-evm-mapping/std',
     'fp-self-contained/std',
     'parachain-info/std',
@@ -414,6 +415,7 @@
 derivative = "2.2.0"
 pallet-unique = { path = '../../pallets/unique', default-features = false }
 up-rpc = { path = "../../primitives/rpc", default-features = false }
+app-promotion-rpc = { path = "../../primitives/app_promotion_rpc", default-features = false}
 rmrk-rpc = { path = "../../primitives/rmrk-rpc", default-features = false }
 fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }
 pallet-inflation = { path = '../../pallets/inflation', default-features = false }
modifiedruntime/quartz/Cargo.tomldiffbeforeafterboth
--- a/runtime/quartz/Cargo.toml
+++ b/runtime/quartz/Cargo.toml
@@ -82,6 +82,7 @@
     'pallet-base-fee/std',
     'fp-rpc/std',
     'up-rpc/std',
+    'app-promotion-rpc/std',
     'fp-evm-mapping/std',
     'fp-self-contained/std',
     'parachain-info/std',
@@ -416,8 +417,10 @@
 derivative = "2.2.0"
 pallet-unique = { path = '../../pallets/unique', default-features = false }
 up-rpc = { path = "../../primitives/rpc", default-features = false }
+app-promotion-rpc = { path = "../../primitives/app_promotion_rpc", default-features = false}
 fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }
 pallet-inflation = { path = '../../pallets/inflation', default-features = false }
+pallet-app-promotion = { path = '../../pallets/app-promotion', default-features = false }
 up-data-structs = { path = '../../primitives/data-structs', default-features = false }
 pallet-configuration = { default-features = false, path = "../../pallets/configuration" }
 pallet-common = { default-features = false, path = "../../pallets/common" }
modifiedruntime/unique/Cargo.tomldiffbeforeafterboth
--- a/runtime/unique/Cargo.toml
+++ b/runtime/unique/Cargo.toml
@@ -83,6 +83,7 @@
     'pallet-base-fee/std',
     'fp-rpc/std',
     'up-rpc/std',
+    'app-promotion-rpc/std',
     'fp-evm-mapping/std',
     'fp-self-contained/std',
     'parachain-info/std',
@@ -409,8 +410,10 @@
 derivative = "2.2.0"
 pallet-unique = { path = '../../pallets/unique', default-features = false }
 up-rpc = { path = "../../primitives/rpc", default-features = false }
+app-promotion-rpc = { path = "../../primitives/app_promotion_rpc", default-features = false}
 rmrk-rpc = { path = "../../primitives/rmrk-rpc", default-features = false }
 pallet-inflation = { path = '../../pallets/inflation', default-features = false }
+pallet-app-promotion = { path = '../../pallets/app-promotion', default-features = false }
 up-data-structs = { path = '../../primitives/data-structs', default-features = false }
 pallet-configuration = { default-features = false, path = "../../pallets/configuration" }
 pallet-common = { default-features = false, path = "../../pallets/common" }
addedtests/src/interfaces/appPromotion/definitions.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/interfaces/appPromotion/definitions.ts
@@ -0,0 +1,66 @@
+// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
+// This file is part of Unique Network.
+
+// Unique Network 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.
+
+// Unique Network 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 Unique Network. If not, see <http://www.gnu.org/licenses/>.
+
+type RpcParam = {
+  name: string;
+  type: string;
+  isOptional?: true;
+};
+
+const CROSS_ACCOUNT_ID_TYPE = 'PalletEvmAccountBasicCrossAccountIdRepr';
+
+const collectionParam = {name: 'collection', type: 'u32'};
+const tokenParam = {name: 'tokenId', type: 'u32'};
+const propertyKeysParam = {name: 'propertyKeys', type: 'Vec<String>', isOptional: true};
+const crossAccountParam = (name = 'account') => ({name, type: CROSS_ACCOUNT_ID_TYPE});
+const atParam = {name: 'at', type: 'Hash', isOptional: true};
+
+const fun = (description: string, params: RpcParam[], type: string) => ({
+  description,
+  params: [...params, atParam],
+  type,
+});
+
+export default {
+  types: {},
+  rpc: {
+    totalStaked: fun(
+      'Returns the total amount of staked tokens',
+      [{name: 'staker', type: CROSS_ACCOUNT_ID_TYPE, isOptional: true}],
+      'u128',
+    ),
+    totalStakedPerBlock: fun(
+      'Returns the total amount of staked tokens per block when staked',
+      [crossAccountParam('staker')],
+      'Vec<(u32, u128)>',
+    ),
+    totalStakingLocked: fun(
+      'Return the total amount locked by staking tokens',
+      [crossAccountParam('staker')],
+      'u128',
+    ),
+    pendingUnstake: fun(
+      'Returns the total amount of unstaked tokens',
+      [{name: 'staker', type: CROSS_ACCOUNT_ID_TYPE, isOptional: true}],
+      'u128',
+    ),
+    pendingUnstakePerBlock: fun(
+      'Returns the total amount of unstaked tokens per block',
+      [crossAccountParam('staker')],
+      'Vec<(u32, u128)>',
+    ),
+  },
+};
addedtests/src/interfaces/appPromotion/index.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/interfaces/appPromotion/index.ts
@@ -0,0 +1,4 @@
+// Auto-generated via `yarn polkadot-types-from-defs`, do not edit
+/* eslint-disable */
+
+export * from './types';
addedtests/src/interfaces/appPromotion/types.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/interfaces/appPromotion/types.ts
@@ -0,0 +1,4 @@
+// Auto-generated via `yarn polkadot-types-from-defs`, do not edit
+/* eslint-disable */
+
+export type PHANTOM_APPPROMOTION = 'appPromotion';
modifiedtests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-errors.ts
+++ b/tests/src/interfaces/augment-api-errors.ts
@@ -269,7 +269,7 @@
        **/
       NoPendingSponsor: AugmentedError<ApiType>;
       /**
-       * This method is only executable by owner.
+       * This method is only executable by contract owner
        **/
       NoPermission: AugmentedError<ApiType>;
       /**
@@ -278,7 +278,13 @@
       [key: string]: AugmentedError<ApiType>;
     };
     evmMigration: {
+      /**
+       * Migration of this account is not yet started, or already finished.
+       **/
       AccountIsNotMigrating: AugmentedError<ApiType>;
+      /**
+       * Can only migrate to empty address.
+       **/
       AccountNotEmpty: AugmentedError<ApiType>;
       /**
        * Generic error
modifiedtests/src/interfaces/augment-api-query.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-query.ts
+++ b/tests/src/interfaces/augment-api-query.ts
@@ -335,7 +335,7 @@
        * 
        * Currently used to store RMRK data.
        **/
-      tokenAuxProperties: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: UpDataStructsPropertyScope | 'None' | 'Rmrk' | 'Eth' | number | Uint8Array, arg4: Bytes | string | Uint8Array) => Observable<Option<Bytes>>, [u32, u32, UpDataStructsPropertyScope, Bytes]> & QueryableStorageEntry<ApiType, [u32, u32, UpDataStructsPropertyScope, Bytes]>;
+      tokenAuxProperties: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: UpDataStructsPropertyScope | 'None' | 'Rmrk' | number | Uint8Array, arg4: Bytes | string | Uint8Array) => Observable<Option<Bytes>>, [u32, u32, UpDataStructsPropertyScope, Bytes]> & QueryableStorageEntry<ApiType, [u32, u32, UpDataStructsPropertyScope, Bytes]>;
       /**
        * Used to enumerate token's children.
        **/
modifiedtests/src/interfaces/augment-api-rpc.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-rpc.ts
+++ b/tests/src/interfaces/augment-api-rpc.ts
@@ -35,6 +35,28 @@
 
 declare module '@polkadot/rpc-core/types/jsonrpc' {
   interface RpcInterface {
+    appPromotion: {
+      /**
+       * Returns the total amount of unstaked tokens
+       **/
+      pendingUnstake: AugmentedRpc<(staker?: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u128>>;
+      /**
+       * Returns the total amount of unstaked tokens per block
+       **/
+      pendingUnstakePerBlock: AugmentedRpc<(staker: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<ITuple<[u32, u128]>>>>;
+      /**
+       * Returns the total amount of staked tokens
+       **/
+      totalStaked: AugmentedRpc<(staker?: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u128>>;
+      /**
+       * Returns the total amount of staked tokens per block when staked
+       **/
+      totalStakedPerBlock: AugmentedRpc<(staker: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<ITuple<[u32, u128]>>>>;
+      /**
+       * Return the total amount locked by staking tokens
+       **/
+      totalStakingLocked: AugmentedRpc<(staker: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u128>>;
+    };
     author: {
       /**
        * Returns true if the keystore has private keys for the given public key and key type.
@@ -702,15 +724,7 @@
        * Get the number of blocks until sponsoring a transaction is available
        **/
       nextSponsored: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<u64>>>;
-      /**
-       * Returns the total amount of unstaked tokens
-       **/
-      pendingUnstake: AugmentedRpc<(staker?: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u128>>;
       /**
-       * Returns the total amount of unstaked tokens per block
-       **/
-      pendingUnstakePerBlock: AugmentedRpc<(staker: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<ITuple<[u32, u128]>>>>;
-      /**
        * Get property permissions, optionally limited to the provided keys
        **/
       propertyPermissions: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, propertyKeys?: Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsPropertyKeyPermission>>>;
@@ -746,18 +760,6 @@
        * Get the total amount of pieces of an RFT
        **/
       totalPieces: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<u128>>>;
-      /**
-       * Returns the total amount of staked tokens
-       **/
-      totalStaked: AugmentedRpc<(staker?: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u128>>;
-      /**
-       * Returns the total amount of staked tokens per block when staked
-       **/
-      totalStakedPerBlock: AugmentedRpc<(staker: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<ITuple<[u32, u128]>>>>;
-      /**
-       * Return the total amount locked by staking tokens
-       **/
-      totalStakingLocked: AugmentedRpc<(staker: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u128>>;
       /**
        * Get the amount of distinctive tokens present in a collection
        **/
modifiedtests/src/interfaces/augment-api-tx.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-tx.ts
+++ b/tests/src/interfaces/augment-api-tx.ts
@@ -181,8 +181,21 @@
       [key: string]: SubmittableExtrinsicFunction<ApiType>;
     };
     evmMigration: {
+      /**
+       * Start contract migration, inserts contract stub at target address,
+       * and marks account as pending, allowing to insert storage
+       **/
       begin: AugmentedSubmittable<(address: H160 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160]>;
+      /**
+       * Finish contract migration, allows it to be called.
+       * It is not possible to alter contract storage via [`Self::set_data`]
+       * after this call.
+       **/
       finish: AugmentedSubmittable<(address: H160 | string | Uint8Array, code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160, Bytes]>;
+      /**
+       * Insert items into contract storage, this method can be called
+       * multiple times
+       **/
       setData: AugmentedSubmittable<(address: H160 | string | Uint8Array, data: Vec<ITuple<[H256, H256]>> | ([H256 | string | Uint8Array, H256 | string | Uint8Array])[]) => SubmittableExtrinsic<ApiType>, [H160, Vec<ITuple<[H256, H256]>>]>;
       /**
        * Generic tx
@@ -372,7 +385,7 @@
       stopAppPromotion: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
       stopSponsoringCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
       stopSponsoringContract: AugmentedSubmittable<(contractId: H160 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160]>;
-      unstake: AugmentedSubmittable<(amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u128]>;
+      unstake: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
       /**
        * Generic tx
        **/
modifiedtests/src/interfaces/default/types.tsdiffbeforeafterboth
before · tests/src/interfaces/default/types.ts
1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34import type { BTreeMap, BTreeSet, Bytes, Compact, Enum, Null, Option, Result, Struct, Text, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';5import type { ITuple } from '@polkadot/types-codec/types';6import type { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill } from '@polkadot/types/interfaces/runtime';7import type { Event } from '@polkadot/types/interfaces/system';89/** @name CumulusPalletDmpQueueCall */10export interface CumulusPalletDmpQueueCall extends Enum {11  readonly isServiceOverweight: boolean;12  readonly asServiceOverweight: {13    readonly index: u64;14    readonly weightLimit: u64;15  } & Struct;16  readonly type: 'ServiceOverweight';17}1819/** @name CumulusPalletDmpQueueConfigData */20export interface CumulusPalletDmpQueueConfigData extends Struct {21  readonly maxIndividual: u64;22}2324/** @name CumulusPalletDmpQueueError */25export interface CumulusPalletDmpQueueError extends Enum {26  readonly isUnknown: boolean;27  readonly isOverLimit: boolean;28  readonly type: 'Unknown' | 'OverLimit';29}3031/** @name CumulusPalletDmpQueueEvent */32export interface CumulusPalletDmpQueueEvent extends Enum {33  readonly isInvalidFormat: boolean;34  readonly asInvalidFormat: {35    readonly messageId: U8aFixed;36  } & Struct;37  readonly isUnsupportedVersion: boolean;38  readonly asUnsupportedVersion: {39    readonly messageId: U8aFixed;40  } & Struct;41  readonly isExecutedDownward: boolean;42  readonly asExecutedDownward: {43    readonly messageId: U8aFixed;44    readonly outcome: XcmV2TraitsOutcome;45  } & Struct;46  readonly isWeightExhausted: boolean;47  readonly asWeightExhausted: {48    readonly messageId: U8aFixed;49    readonly remainingWeight: u64;50    readonly requiredWeight: u64;51  } & Struct;52  readonly isOverweightEnqueued: boolean;53  readonly asOverweightEnqueued: {54    readonly messageId: U8aFixed;55    readonly overweightIndex: u64;56    readonly requiredWeight: u64;57  } & Struct;58  readonly isOverweightServiced: boolean;59  readonly asOverweightServiced: {60    readonly overweightIndex: u64;61    readonly weightUsed: u64;62  } & Struct;63  readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';64}6566/** @name CumulusPalletDmpQueuePageIndexData */67export interface CumulusPalletDmpQueuePageIndexData extends Struct {68  readonly beginUsed: u32;69  readonly endUsed: u32;70  readonly overweightCount: u64;71}7273/** @name CumulusPalletParachainSystemCall */74export interface CumulusPalletParachainSystemCall extends Enum {75  readonly isSetValidationData: boolean;76  readonly asSetValidationData: {77    readonly data: CumulusPrimitivesParachainInherentParachainInherentData;78  } & Struct;79  readonly isSudoSendUpwardMessage: boolean;80  readonly asSudoSendUpwardMessage: {81    readonly message: Bytes;82  } & Struct;83  readonly isAuthorizeUpgrade: boolean;84  readonly asAuthorizeUpgrade: {85    readonly codeHash: H256;86  } & Struct;87  readonly isEnactAuthorizedUpgrade: boolean;88  readonly asEnactAuthorizedUpgrade: {89    readonly code: Bytes;90  } & Struct;91  readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';92}9394/** @name CumulusPalletParachainSystemError */95export interface CumulusPalletParachainSystemError extends Enum {96  readonly isOverlappingUpgrades: boolean;97  readonly isProhibitedByPolkadot: boolean;98  readonly isTooBig: boolean;99  readonly isValidationDataNotAvailable: boolean;100  readonly isHostConfigurationNotAvailable: boolean;101  readonly isNotScheduled: boolean;102  readonly isNothingAuthorized: boolean;103  readonly isUnauthorized: boolean;104  readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';105}106107/** @name CumulusPalletParachainSystemEvent */108export interface CumulusPalletParachainSystemEvent extends Enum {109  readonly isValidationFunctionStored: boolean;110  readonly isValidationFunctionApplied: boolean;111  readonly asValidationFunctionApplied: {112    readonly relayChainBlockNum: u32;113  } & Struct;114  readonly isValidationFunctionDiscarded: boolean;115  readonly isUpgradeAuthorized: boolean;116  readonly asUpgradeAuthorized: {117    readonly codeHash: H256;118  } & Struct;119  readonly isDownwardMessagesReceived: boolean;120  readonly asDownwardMessagesReceived: {121    readonly count: u32;122  } & Struct;123  readonly isDownwardMessagesProcessed: boolean;124  readonly asDownwardMessagesProcessed: {125    readonly weightUsed: u64;126    readonly dmqHead: H256;127  } & Struct;128  readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed';129}130131/** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot */132export interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {133  readonly dmqMqcHead: H256;134  readonly relayDispatchQueueSize: ITuple<[u32, u32]>;135  readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;136  readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;137}138139/** @name CumulusPalletXcmCall */140export interface CumulusPalletXcmCall extends Null {}141142/** @name CumulusPalletXcmError */143export interface CumulusPalletXcmError extends Null {}144145/** @name CumulusPalletXcmEvent */146export interface CumulusPalletXcmEvent extends Enum {147  readonly isInvalidFormat: boolean;148  readonly asInvalidFormat: U8aFixed;149  readonly isUnsupportedVersion: boolean;150  readonly asUnsupportedVersion: U8aFixed;151  readonly isExecutedDownward: boolean;152  readonly asExecutedDownward: ITuple<[U8aFixed, XcmV2TraitsOutcome]>;153  readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';154}155156/** @name CumulusPalletXcmOrigin */157export interface CumulusPalletXcmOrigin extends Enum {158  readonly isRelay: boolean;159  readonly isSiblingParachain: boolean;160  readonly asSiblingParachain: u32;161  readonly type: 'Relay' | 'SiblingParachain';162}163164/** @name CumulusPalletXcmpQueueCall */165export interface CumulusPalletXcmpQueueCall extends Enum {166  readonly isServiceOverweight: boolean;167  readonly asServiceOverweight: {168    readonly index: u64;169    readonly weightLimit: u64;170  } & Struct;171  readonly isSuspendXcmExecution: boolean;172  readonly isResumeXcmExecution: boolean;173  readonly isUpdateSuspendThreshold: boolean;174  readonly asUpdateSuspendThreshold: {175    readonly new_: u32;176  } & Struct;177  readonly isUpdateDropThreshold: boolean;178  readonly asUpdateDropThreshold: {179    readonly new_: u32;180  } & Struct;181  readonly isUpdateResumeThreshold: boolean;182  readonly asUpdateResumeThreshold: {183    readonly new_: u32;184  } & Struct;185  readonly isUpdateThresholdWeight: boolean;186  readonly asUpdateThresholdWeight: {187    readonly new_: u64;188  } & Struct;189  readonly isUpdateWeightRestrictDecay: boolean;190  readonly asUpdateWeightRestrictDecay: {191    readonly new_: u64;192  } & Struct;193  readonly isUpdateXcmpMaxIndividualWeight: boolean;194  readonly asUpdateXcmpMaxIndividualWeight: {195    readonly new_: u64;196  } & Struct;197  readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';198}199200/** @name CumulusPalletXcmpQueueError */201export interface CumulusPalletXcmpQueueError extends Enum {202  readonly isFailedToSend: boolean;203  readonly isBadXcmOrigin: boolean;204  readonly isBadXcm: boolean;205  readonly isBadOverweightIndex: boolean;206  readonly isWeightOverLimit: boolean;207  readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';208}209210/** @name CumulusPalletXcmpQueueEvent */211export interface CumulusPalletXcmpQueueEvent extends Enum {212  readonly isSuccess: boolean;213  readonly asSuccess: {214    readonly messageHash: Option<H256>;215    readonly weight: u64;216  } & Struct;217  readonly isFail: boolean;218  readonly asFail: {219    readonly messageHash: Option<H256>;220    readonly error: XcmV2TraitsError;221    readonly weight: u64;222  } & Struct;223  readonly isBadVersion: boolean;224  readonly asBadVersion: {225    readonly messageHash: Option<H256>;226  } & Struct;227  readonly isBadFormat: boolean;228  readonly asBadFormat: {229    readonly messageHash: Option<H256>;230  } & Struct;231  readonly isUpwardMessageSent: boolean;232  readonly asUpwardMessageSent: {233    readonly messageHash: Option<H256>;234  } & Struct;235  readonly isXcmpMessageSent: boolean;236  readonly asXcmpMessageSent: {237    readonly messageHash: Option<H256>;238  } & Struct;239  readonly isOverweightEnqueued: boolean;240  readonly asOverweightEnqueued: {241    readonly sender: u32;242    readonly sentAt: u32;243    readonly index: u64;244    readonly required: u64;245  } & Struct;246  readonly isOverweightServiced: boolean;247  readonly asOverweightServiced: {248    readonly index: u64;249    readonly used: u64;250  } & Struct;251  readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';252}253254/** @name CumulusPalletXcmpQueueInboundChannelDetails */255export interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {256  readonly sender: u32;257  readonly state: CumulusPalletXcmpQueueInboundState;258  readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;259}260261/** @name CumulusPalletXcmpQueueInboundState */262export interface CumulusPalletXcmpQueueInboundState extends Enum {263  readonly isOk: boolean;264  readonly isSuspended: boolean;265  readonly type: 'Ok' | 'Suspended';266}267268/** @name CumulusPalletXcmpQueueOutboundChannelDetails */269export interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {270  readonly recipient: u32;271  readonly state: CumulusPalletXcmpQueueOutboundState;272  readonly signalsExist: bool;273  readonly firstIndex: u16;274  readonly lastIndex: u16;275}276277/** @name CumulusPalletXcmpQueueOutboundState */278export interface CumulusPalletXcmpQueueOutboundState extends Enum {279  readonly isOk: boolean;280  readonly isSuspended: boolean;281  readonly type: 'Ok' | 'Suspended';282}283284/** @name CumulusPalletXcmpQueueQueueConfigData */285export interface CumulusPalletXcmpQueueQueueConfigData extends Struct {286  readonly suspendThreshold: u32;287  readonly dropThreshold: u32;288  readonly resumeThreshold: u32;289  readonly thresholdWeight: u64;290  readonly weightRestrictDecay: u64;291  readonly xcmpMaxIndividualWeight: u64;292}293294/** @name CumulusPrimitivesParachainInherentParachainInherentData */295export interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {296  readonly validationData: PolkadotPrimitivesV2PersistedValidationData;297  readonly relayChainState: SpTrieStorageProof;298  readonly downwardMessages: Vec<PolkadotCorePrimitivesInboundDownwardMessage>;299  readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;300}301302/** @name EthbloomBloom */303export interface EthbloomBloom extends U8aFixed {}304305/** @name EthereumBlock */306export interface EthereumBlock extends Struct {307  readonly header: EthereumHeader;308  readonly transactions: Vec<EthereumTransactionTransactionV2>;309  readonly ommers: Vec<EthereumHeader>;310}311312/** @name EthereumHeader */313export interface EthereumHeader extends Struct {314  readonly parentHash: H256;315  readonly ommersHash: H256;316  readonly beneficiary: H160;317  readonly stateRoot: H256;318  readonly transactionsRoot: H256;319  readonly receiptsRoot: H256;320  readonly logsBloom: EthbloomBloom;321  readonly difficulty: U256;322  readonly number: U256;323  readonly gasLimit: U256;324  readonly gasUsed: U256;325  readonly timestamp: u64;326  readonly extraData: Bytes;327  readonly mixHash: H256;328  readonly nonce: EthereumTypesHashH64;329}330331/** @name EthereumLog */332export interface EthereumLog extends Struct {333  readonly address: H160;334  readonly topics: Vec<H256>;335  readonly data: Bytes;336}337338/** @name EthereumReceiptEip658ReceiptData */339export interface EthereumReceiptEip658ReceiptData extends Struct {340  readonly statusCode: u8;341  readonly usedGas: U256;342  readonly logsBloom: EthbloomBloom;343  readonly logs: Vec<EthereumLog>;344}345346/** @name EthereumReceiptReceiptV3 */347export interface EthereumReceiptReceiptV3 extends Enum {348  readonly isLegacy: boolean;349  readonly asLegacy: EthereumReceiptEip658ReceiptData;350  readonly isEip2930: boolean;351  readonly asEip2930: EthereumReceiptEip658ReceiptData;352  readonly isEip1559: boolean;353  readonly asEip1559: EthereumReceiptEip658ReceiptData;354  readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';355}356357/** @name EthereumTransactionAccessListItem */358export interface EthereumTransactionAccessListItem extends Struct {359  readonly address: H160;360  readonly storageKeys: Vec<H256>;361}362363/** @name EthereumTransactionEip1559Transaction */364export interface EthereumTransactionEip1559Transaction extends Struct {365  readonly chainId: u64;366  readonly nonce: U256;367  readonly maxPriorityFeePerGas: U256;368  readonly maxFeePerGas: U256;369  readonly gasLimit: U256;370  readonly action: EthereumTransactionTransactionAction;371  readonly value: U256;372  readonly input: Bytes;373  readonly accessList: Vec<EthereumTransactionAccessListItem>;374  readonly oddYParity: bool;375  readonly r: H256;376  readonly s: H256;377}378379/** @name EthereumTransactionEip2930Transaction */380export interface EthereumTransactionEip2930Transaction extends Struct {381  readonly chainId: u64;382  readonly nonce: U256;383  readonly gasPrice: U256;384  readonly gasLimit: U256;385  readonly action: EthereumTransactionTransactionAction;386  readonly value: U256;387  readonly input: Bytes;388  readonly accessList: Vec<EthereumTransactionAccessListItem>;389  readonly oddYParity: bool;390  readonly r: H256;391  readonly s: H256;392}393394/** @name EthereumTransactionLegacyTransaction */395export interface EthereumTransactionLegacyTransaction extends Struct {396  readonly nonce: U256;397  readonly gasPrice: U256;398  readonly gasLimit: U256;399  readonly action: EthereumTransactionTransactionAction;400  readonly value: U256;401  readonly input: Bytes;402  readonly signature: EthereumTransactionTransactionSignature;403}404405/** @name EthereumTransactionTransactionAction */406export interface EthereumTransactionTransactionAction extends Enum {407  readonly isCall: boolean;408  readonly asCall: H160;409  readonly isCreate: boolean;410  readonly type: 'Call' | 'Create';411}412413/** @name EthereumTransactionTransactionSignature */414export interface EthereumTransactionTransactionSignature extends Struct {415  readonly v: u64;416  readonly r: H256;417  readonly s: H256;418}419420/** @name EthereumTransactionTransactionV2 */421export interface EthereumTransactionTransactionV2 extends Enum {422  readonly isLegacy: boolean;423  readonly asLegacy: EthereumTransactionLegacyTransaction;424  readonly isEip2930: boolean;425  readonly asEip2930: EthereumTransactionEip2930Transaction;426  readonly isEip1559: boolean;427  readonly asEip1559: EthereumTransactionEip1559Transaction;428  readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';429}430431/** @name EthereumTypesHashH64 */432export interface EthereumTypesHashH64 extends U8aFixed {}433434/** @name EvmCoreErrorExitError */435export interface EvmCoreErrorExitError extends Enum {436  readonly isStackUnderflow: boolean;437  readonly isStackOverflow: boolean;438  readonly isInvalidJump: boolean;439  readonly isInvalidRange: boolean;440  readonly isDesignatedInvalid: boolean;441  readonly isCallTooDeep: boolean;442  readonly isCreateCollision: boolean;443  readonly isCreateContractLimit: boolean;444  readonly isOutOfOffset: boolean;445  readonly isOutOfGas: boolean;446  readonly isOutOfFund: boolean;447  readonly isPcUnderflow: boolean;448  readonly isCreateEmpty: boolean;449  readonly isOther: boolean;450  readonly asOther: Text;451  readonly isInvalidCode: boolean;452  readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';453}454455/** @name EvmCoreErrorExitFatal */456export interface EvmCoreErrorExitFatal extends Enum {457  readonly isNotSupported: boolean;458  readonly isUnhandledInterrupt: boolean;459  readonly isCallErrorAsFatal: boolean;460  readonly asCallErrorAsFatal: EvmCoreErrorExitError;461  readonly isOther: boolean;462  readonly asOther: Text;463  readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';464}465466/** @name EvmCoreErrorExitReason */467export interface EvmCoreErrorExitReason extends Enum {468  readonly isSucceed: boolean;469  readonly asSucceed: EvmCoreErrorExitSucceed;470  readonly isError: boolean;471  readonly asError: EvmCoreErrorExitError;472  readonly isRevert: boolean;473  readonly asRevert: EvmCoreErrorExitRevert;474  readonly isFatal: boolean;475  readonly asFatal: EvmCoreErrorExitFatal;476  readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';477}478479/** @name EvmCoreErrorExitRevert */480export interface EvmCoreErrorExitRevert extends Enum {481  readonly isReverted: boolean;482  readonly type: 'Reverted';483}484485/** @name EvmCoreErrorExitSucceed */486export interface EvmCoreErrorExitSucceed extends Enum {487  readonly isStopped: boolean;488  readonly isReturned: boolean;489  readonly isSuicided: boolean;490  readonly type: 'Stopped' | 'Returned' | 'Suicided';491}492493/** @name FpRpcTransactionStatus */494export interface FpRpcTransactionStatus extends Struct {495  readonly transactionHash: H256;496  readonly transactionIndex: u32;497  readonly from: H160;498  readonly to: Option<H160>;499  readonly contractAddress: Option<H160>;500  readonly logs: Vec<EthereumLog>;501  readonly logsBloom: EthbloomBloom;502}503504/** @name FrameSupportDispatchRawOrigin */505export interface FrameSupportDispatchRawOrigin extends Enum {506  readonly isRoot: boolean;507  readonly isSigned: boolean;508  readonly asSigned: AccountId32;509  readonly isNone: boolean;510  readonly type: 'Root' | 'Signed' | 'None';511}512513/** @name FrameSupportPalletId */514export interface FrameSupportPalletId extends U8aFixed {}515516/** @name FrameSupportScheduleLookupError */517export interface FrameSupportScheduleLookupError extends Enum {518  readonly isUnknown: boolean;519  readonly isBadFormat: boolean;520  readonly type: 'Unknown' | 'BadFormat';521}522523/** @name FrameSupportScheduleMaybeHashed */524export interface FrameSupportScheduleMaybeHashed extends Enum {525  readonly isValue: boolean;526  readonly asValue: Call;527  readonly isHash: boolean;528  readonly asHash: H256;529  readonly type: 'Value' | 'Hash';530}531532/** @name FrameSupportTokensMiscBalanceStatus */533export interface FrameSupportTokensMiscBalanceStatus extends Enum {534  readonly isFree: boolean;535  readonly isReserved: boolean;536  readonly type: 'Free' | 'Reserved';537}538539/** @name FrameSupportWeightsDispatchClass */540export interface FrameSupportWeightsDispatchClass extends Enum {541  readonly isNormal: boolean;542  readonly isOperational: boolean;543  readonly isMandatory: boolean;544  readonly type: 'Normal' | 'Operational' | 'Mandatory';545}546547/** @name FrameSupportWeightsDispatchInfo */548export interface FrameSupportWeightsDispatchInfo extends Struct {549  readonly weight: u64;550  readonly class: FrameSupportWeightsDispatchClass;551  readonly paysFee: FrameSupportWeightsPays;552}553554/** @name FrameSupportWeightsPays */555export interface FrameSupportWeightsPays extends Enum {556  readonly isYes: boolean;557  readonly isNo: boolean;558  readonly type: 'Yes' | 'No';559}560561/** @name FrameSupportWeightsPerDispatchClassU32 */562export interface FrameSupportWeightsPerDispatchClassU32 extends Struct {563  readonly normal: u32;564  readonly operational: u32;565  readonly mandatory: u32;566}567568/** @name FrameSupportWeightsPerDispatchClassU64 */569export interface FrameSupportWeightsPerDispatchClassU64 extends Struct {570  readonly normal: u64;571  readonly operational: u64;572  readonly mandatory: u64;573}574575/** @name FrameSupportWeightsPerDispatchClassWeightsPerClass */576export interface FrameSupportWeightsPerDispatchClassWeightsPerClass extends Struct {577  readonly normal: FrameSystemLimitsWeightsPerClass;578  readonly operational: FrameSystemLimitsWeightsPerClass;579  readonly mandatory: FrameSystemLimitsWeightsPerClass;580}581582/** @name FrameSupportWeightsRuntimeDbWeight */583export interface FrameSupportWeightsRuntimeDbWeight extends Struct {584  readonly read: u64;585  readonly write: u64;586}587588/** @name FrameSystemAccountInfo */589export interface FrameSystemAccountInfo extends Struct {590  readonly nonce: u32;591  readonly consumers: u32;592  readonly providers: u32;593  readonly sufficients: u32;594  readonly data: PalletBalancesAccountData;595}596597/** @name FrameSystemCall */598export interface FrameSystemCall extends Enum {599  readonly isFillBlock: boolean;600  readonly asFillBlock: {601    readonly ratio: Perbill;602  } & Struct;603  readonly isRemark: boolean;604  readonly asRemark: {605    readonly remark: Bytes;606  } & Struct;607  readonly isSetHeapPages: boolean;608  readonly asSetHeapPages: {609    readonly pages: u64;610  } & Struct;611  readonly isSetCode: boolean;612  readonly asSetCode: {613    readonly code: Bytes;614  } & Struct;615  readonly isSetCodeWithoutChecks: boolean;616  readonly asSetCodeWithoutChecks: {617    readonly code: Bytes;618  } & Struct;619  readonly isSetStorage: boolean;620  readonly asSetStorage: {621    readonly items: Vec<ITuple<[Bytes, Bytes]>>;622  } & Struct;623  readonly isKillStorage: boolean;624  readonly asKillStorage: {625    readonly keys_: Vec<Bytes>;626  } & Struct;627  readonly isKillPrefix: boolean;628  readonly asKillPrefix: {629    readonly prefix: Bytes;630    readonly subkeys: u32;631  } & Struct;632  readonly isRemarkWithEvent: boolean;633  readonly asRemarkWithEvent: {634    readonly remark: Bytes;635  } & Struct;636  readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';637}638639/** @name FrameSystemError */640export interface FrameSystemError extends Enum {641  readonly isInvalidSpecName: boolean;642  readonly isSpecVersionNeedsToIncrease: boolean;643  readonly isFailedToExtractRuntimeVersion: boolean;644  readonly isNonDefaultComposite: boolean;645  readonly isNonZeroRefCount: boolean;646  readonly isCallFiltered: boolean;647  readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';648}649650/** @name FrameSystemEvent */651export interface FrameSystemEvent extends Enum {652  readonly isExtrinsicSuccess: boolean;653  readonly asExtrinsicSuccess: {654    readonly dispatchInfo: FrameSupportWeightsDispatchInfo;655  } & Struct;656  readonly isExtrinsicFailed: boolean;657  readonly asExtrinsicFailed: {658    readonly dispatchError: SpRuntimeDispatchError;659    readonly dispatchInfo: FrameSupportWeightsDispatchInfo;660  } & Struct;661  readonly isCodeUpdated: boolean;662  readonly isNewAccount: boolean;663  readonly asNewAccount: {664    readonly account: AccountId32;665  } & Struct;666  readonly isKilledAccount: boolean;667  readonly asKilledAccount: {668    readonly account: AccountId32;669  } & Struct;670  readonly isRemarked: boolean;671  readonly asRemarked: {672    readonly sender: AccountId32;673    readonly hash_: H256;674  } & Struct;675  readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked';676}677678/** @name FrameSystemEventRecord */679export interface FrameSystemEventRecord extends Struct {680  readonly phase: FrameSystemPhase;681  readonly event: Event;682  readonly topics: Vec<H256>;683}684685/** @name FrameSystemExtensionsCheckGenesis */686export interface FrameSystemExtensionsCheckGenesis extends Null {}687688/** @name FrameSystemExtensionsCheckNonce */689export interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}690691/** @name FrameSystemExtensionsCheckSpecVersion */692export interface FrameSystemExtensionsCheckSpecVersion extends Null {}693694/** @name FrameSystemExtensionsCheckWeight */695export interface FrameSystemExtensionsCheckWeight extends Null {}696697/** @name FrameSystemLastRuntimeUpgradeInfo */698export interface FrameSystemLastRuntimeUpgradeInfo extends Struct {699  readonly specVersion: Compact<u32>;700  readonly specName: Text;701}702703/** @name FrameSystemLimitsBlockLength */704export interface FrameSystemLimitsBlockLength extends Struct {705  readonly max: FrameSupportWeightsPerDispatchClassU32;706}707708/** @name FrameSystemLimitsBlockWeights */709export interface FrameSystemLimitsBlockWeights extends Struct {710  readonly baseBlock: u64;711  readonly maxBlock: u64;712  readonly perClass: FrameSupportWeightsPerDispatchClassWeightsPerClass;713}714715/** @name FrameSystemLimitsWeightsPerClass */716export interface FrameSystemLimitsWeightsPerClass extends Struct {717  readonly baseExtrinsic: u64;718  readonly maxExtrinsic: Option<u64>;719  readonly maxTotal: Option<u64>;720  readonly reserved: Option<u64>;721}722723/** @name FrameSystemPhase */724export interface FrameSystemPhase extends Enum {725  readonly isApplyExtrinsic: boolean;726  readonly asApplyExtrinsic: u32;727  readonly isFinalization: boolean;728  readonly isInitialization: boolean;729  readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';730}731732/** @name OpalRuntimeOriginCaller */733export interface OpalRuntimeOriginCaller extends Enum {734  readonly isSystem: boolean;735  readonly asSystem: FrameSupportDispatchRawOrigin;736  readonly isVoid: boolean;737  readonly asVoid: SpCoreVoid;738  readonly isPolkadotXcm: boolean;739  readonly asPolkadotXcm: PalletXcmOrigin;740  readonly isCumulusXcm: boolean;741  readonly asCumulusXcm: CumulusPalletXcmOrigin;742  readonly isEthereum: boolean;743  readonly asEthereum: PalletEthereumRawOrigin;744  readonly type: 'System' | 'Void' | 'PolkadotXcm' | 'CumulusXcm' | 'Ethereum';745}746747/** @name OpalRuntimeRuntime */748export interface OpalRuntimeRuntime extends Null {}749750/** @name OrmlVestingModuleCall */751export interface OrmlVestingModuleCall extends Enum {752  readonly isClaim: boolean;753  readonly isVestedTransfer: boolean;754  readonly asVestedTransfer: {755    readonly dest: MultiAddress;756    readonly schedule: OrmlVestingVestingSchedule;757  } & Struct;758  readonly isUpdateVestingSchedules: boolean;759  readonly asUpdateVestingSchedules: {760    readonly who: MultiAddress;761    readonly vestingSchedules: Vec<OrmlVestingVestingSchedule>;762  } & Struct;763  readonly isClaimFor: boolean;764  readonly asClaimFor: {765    readonly dest: MultiAddress;766  } & Struct;767  readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';768}769770/** @name OrmlVestingModuleError */771export interface OrmlVestingModuleError extends Enum {772  readonly isZeroVestingPeriod: boolean;773  readonly isZeroVestingPeriodCount: boolean;774  readonly isInsufficientBalanceToLock: boolean;775  readonly isTooManyVestingSchedules: boolean;776  readonly isAmountLow: boolean;777  readonly isMaxVestingSchedulesExceeded: boolean;778  readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';779}780781/** @name OrmlVestingModuleEvent */782export interface OrmlVestingModuleEvent extends Enum {783  readonly isVestingScheduleAdded: boolean;784  readonly asVestingScheduleAdded: {785    readonly from: AccountId32;786    readonly to: AccountId32;787    readonly vestingSchedule: OrmlVestingVestingSchedule;788  } & Struct;789  readonly isClaimed: boolean;790  readonly asClaimed: {791    readonly who: AccountId32;792    readonly amount: u128;793  } & Struct;794  readonly isVestingSchedulesUpdated: boolean;795  readonly asVestingSchedulesUpdated: {796    readonly who: AccountId32;797  } & Struct;798  readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';799}800801/** @name OrmlVestingVestingSchedule */802export interface OrmlVestingVestingSchedule extends Struct {803  readonly start: u32;804  readonly period: u32;805  readonly periodCount: u32;806  readonly perPeriod: Compact<u128>;807}808809/** @name PalletAppPromotionCall */810export interface PalletAppPromotionCall extends Enum {811  readonly isSetAdminAddress: boolean;812  readonly asSetAdminAddress: {813    readonly admin: PalletEvmAccountBasicCrossAccountIdRepr;814  } & Struct;815  readonly isStartAppPromotion: boolean;816  readonly asStartAppPromotion: {817    readonly promotionStartRelayBlock: Option<u32>;818  } & Struct;819  readonly isStopAppPromotion: boolean;820  readonly isStake: boolean;821  readonly asStake: {822    readonly amount: u128;823  } & Struct;824  readonly isUnstake: boolean;825  readonly asUnstake: {826    readonly amount: u128;827  } & Struct;828  readonly isSponsorCollection: boolean;829  readonly asSponsorCollection: {830    readonly collectionId: u32;831  } & Struct;832  readonly isStopSponsoringCollection: boolean;833  readonly asStopSponsoringCollection: {834    readonly collectionId: u32;835  } & Struct;836  readonly isSponsorConract: boolean;837  readonly asSponsorConract: {838    readonly contractId: H160;839  } & Struct;840  readonly isStopSponsoringContract: boolean;841  readonly asStopSponsoringContract: {842    readonly contractId: H160;843  } & Struct;844  readonly isPayoutStakers: boolean;845  readonly asPayoutStakers: {846    readonly stakersNumber: Option<u8>;847  } & Struct;848  readonly type: 'SetAdminAddress' | 'StartAppPromotion' | 'StopAppPromotion' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorConract' | 'StopSponsoringContract' | 'PayoutStakers';849}850851/** @name PalletAppPromotionError */852export interface PalletAppPromotionError extends Enum {853  readonly isAdminNotSet: boolean;854  readonly isNoPermission: boolean;855  readonly isNotSufficientFounds: boolean;856  readonly isInvalidArgument: boolean;857  readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFounds' | 'InvalidArgument';858}859860/** @name PalletAppPromotionEvent */861export interface PalletAppPromotionEvent extends Enum {862  readonly isStakingRecalculation: boolean;863  readonly asStakingRecalculation: ITuple<[AccountId32, u128, u128]>;864  readonly type: 'StakingRecalculation';865}866867/** @name PalletBalancesAccountData */868export interface PalletBalancesAccountData extends Struct {869  readonly free: u128;870  readonly reserved: u128;871  readonly miscFrozen: u128;872  readonly feeFrozen: u128;873}874875/** @name PalletBalancesBalanceLock */876export interface PalletBalancesBalanceLock extends Struct {877  readonly id: U8aFixed;878  readonly amount: u128;879  readonly reasons: PalletBalancesReasons;880}881882/** @name PalletBalancesCall */883export interface PalletBalancesCall extends Enum {884  readonly isTransfer: boolean;885  readonly asTransfer: {886    readonly dest: MultiAddress;887    readonly value: Compact<u128>;888  } & Struct;889  readonly isSetBalance: boolean;890  readonly asSetBalance: {891    readonly who: MultiAddress;892    readonly newFree: Compact<u128>;893    readonly newReserved: Compact<u128>;894  } & Struct;895  readonly isForceTransfer: boolean;896  readonly asForceTransfer: {897    readonly source: MultiAddress;898    readonly dest: MultiAddress;899    readonly value: Compact<u128>;900  } & Struct;901  readonly isTransferKeepAlive: boolean;902  readonly asTransferKeepAlive: {903    readonly dest: MultiAddress;904    readonly value: Compact<u128>;905  } & Struct;906  readonly isTransferAll: boolean;907  readonly asTransferAll: {908    readonly dest: MultiAddress;909    readonly keepAlive: bool;910  } & Struct;911  readonly isForceUnreserve: boolean;912  readonly asForceUnreserve: {913    readonly who: MultiAddress;914    readonly amount: u128;915  } & Struct;916  readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';917}918919/** @name PalletBalancesError */920export interface PalletBalancesError extends Enum {921  readonly isVestingBalance: boolean;922  readonly isLiquidityRestrictions: boolean;923  readonly isInsufficientBalance: boolean;924  readonly isExistentialDeposit: boolean;925  readonly isKeepAlive: boolean;926  readonly isExistingVestingSchedule: boolean;927  readonly isDeadAccount: boolean;928  readonly isTooManyReserves: boolean;929  readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';930}931932/** @name PalletBalancesEvent */933export interface PalletBalancesEvent extends Enum {934  readonly isEndowed: boolean;935  readonly asEndowed: {936    readonly account: AccountId32;937    readonly freeBalance: u128;938  } & Struct;939  readonly isDustLost: boolean;940  readonly asDustLost: {941    readonly account: AccountId32;942    readonly amount: u128;943  } & Struct;944  readonly isTransfer: boolean;945  readonly asTransfer: {946    readonly from: AccountId32;947    readonly to: AccountId32;948    readonly amount: u128;949  } & Struct;950  readonly isBalanceSet: boolean;951  readonly asBalanceSet: {952    readonly who: AccountId32;953    readonly free: u128;954    readonly reserved: u128;955  } & Struct;956  readonly isReserved: boolean;957  readonly asReserved: {958    readonly who: AccountId32;959    readonly amount: u128;960  } & Struct;961  readonly isUnreserved: boolean;962  readonly asUnreserved: {963    readonly who: AccountId32;964    readonly amount: u128;965  } & Struct;966  readonly isReserveRepatriated: boolean;967  readonly asReserveRepatriated: {968    readonly from: AccountId32;969    readonly to: AccountId32;970    readonly amount: u128;971    readonly destinationStatus: FrameSupportTokensMiscBalanceStatus;972  } & Struct;973  readonly isDeposit: boolean;974  readonly asDeposit: {975    readonly who: AccountId32;976    readonly amount: u128;977  } & Struct;978  readonly isWithdraw: boolean;979  readonly asWithdraw: {980    readonly who: AccountId32;981    readonly amount: u128;982  } & Struct;983  readonly isSlashed: boolean;984  readonly asSlashed: {985    readonly who: AccountId32;986    readonly amount: u128;987  } & Struct;988  readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed';989}990991/** @name PalletBalancesReasons */992export interface PalletBalancesReasons extends Enum {993  readonly isFee: boolean;994  readonly isMisc: boolean;995  readonly isAll: boolean;996  readonly type: 'Fee' | 'Misc' | 'All';997}998999/** @name PalletBalancesReleases */1000export interface PalletBalancesReleases extends Enum {1001  readonly isV100: boolean;1002  readonly isV200: boolean;1003  readonly type: 'V100' | 'V200';1004}10051006/** @name PalletBalancesReserveData */1007export interface PalletBalancesReserveData extends Struct {1008  readonly id: U8aFixed;1009  readonly amount: u128;1010}10111012/** @name PalletCommonError */1013export interface PalletCommonError extends Enum {1014  readonly isCollectionNotFound: boolean;1015  readonly isMustBeTokenOwner: boolean;1016  readonly isNoPermission: boolean;1017  readonly isCantDestroyNotEmptyCollection: boolean;1018  readonly isPublicMintingNotAllowed: boolean;1019  readonly isAddressNotInAllowlist: boolean;1020  readonly isCollectionNameLimitExceeded: boolean;1021  readonly isCollectionDescriptionLimitExceeded: boolean;1022  readonly isCollectionTokenPrefixLimitExceeded: boolean;1023  readonly isTotalCollectionsLimitExceeded: boolean;1024  readonly isCollectionAdminCountExceeded: boolean;1025  readonly isCollectionLimitBoundsExceeded: boolean;1026  readonly isOwnerPermissionsCantBeReverted: boolean;1027  readonly isTransferNotAllowed: boolean;1028  readonly isAccountTokenLimitExceeded: boolean;1029  readonly isCollectionTokenLimitExceeded: boolean;1030  readonly isMetadataFlagFrozen: boolean;1031  readonly isTokenNotFound: boolean;1032  readonly isTokenValueTooLow: boolean;1033  readonly isApprovedValueTooLow: boolean;1034  readonly isCantApproveMoreThanOwned: boolean;1035  readonly isAddressIsZero: boolean;1036  readonly isUnsupportedOperation: boolean;1037  readonly isNotSufficientFounds: boolean;1038  readonly isUserIsNotAllowedToNest: boolean;1039  readonly isSourceCollectionIsNotAllowedToNest: boolean;1040  readonly isCollectionFieldSizeExceeded: boolean;1041  readonly isNoSpaceForProperty: boolean;1042  readonly isPropertyLimitReached: boolean;1043  readonly isPropertyKeyIsTooLong: boolean;1044  readonly isInvalidCharacterInPropertyKey: boolean;1045  readonly isEmptyPropertyKey: boolean;1046  readonly isCollectionIsExternal: boolean;1047  readonly isCollectionIsInternal: boolean;1048  readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'CantDestroyNotEmptyCollection' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds' | 'UserIsNotAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey' | 'CollectionIsExternal' | 'CollectionIsInternal';1049}10501051/** @name PalletCommonEvent */1052export interface PalletCommonEvent extends Enum {1053  readonly isCollectionCreated: boolean;1054  readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;1055  readonly isCollectionDestroyed: boolean;1056  readonly asCollectionDestroyed: u32;1057  readonly isItemCreated: boolean;1058  readonly asItemCreated: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1059  readonly isItemDestroyed: boolean;1060  readonly asItemDestroyed: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1061  readonly isTransfer: boolean;1062  readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1063  readonly isApproved: boolean;1064  readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1065  readonly isCollectionPropertySet: boolean;1066  readonly asCollectionPropertySet: ITuple<[u32, Bytes]>;1067  readonly isCollectionPropertyDeleted: boolean;1068  readonly asCollectionPropertyDeleted: ITuple<[u32, Bytes]>;1069  readonly isTokenPropertySet: boolean;1070  readonly asTokenPropertySet: ITuple<[u32, u32, Bytes]>;1071  readonly isTokenPropertyDeleted: boolean;1072  readonly asTokenPropertyDeleted: ITuple<[u32, u32, Bytes]>;1073  readonly isPropertyPermissionSet: boolean;1074  readonly asPropertyPermissionSet: ITuple<[u32, Bytes]>;1075  readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet';1076}10771078/** @name PalletConfigurationCall */1079export interface PalletConfigurationCall extends Enum {1080  readonly isSetWeightToFeeCoefficientOverride: boolean;1081  readonly asSetWeightToFeeCoefficientOverride: {1082    readonly coeff: Option<u32>;1083  } & Struct;1084  readonly isSetMinGasPriceOverride: boolean;1085  readonly asSetMinGasPriceOverride: {1086    readonly coeff: Option<u64>;1087  } & Struct;1088  readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride';1089}10901091/** @name PalletEthereumCall */1092export interface PalletEthereumCall extends Enum {1093  readonly isTransact: boolean;1094  readonly asTransact: {1095    readonly transaction: EthereumTransactionTransactionV2;1096  } & Struct;1097  readonly type: 'Transact';1098}10991100/** @name PalletEthereumError */1101export interface PalletEthereumError extends Enum {1102  readonly isInvalidSignature: boolean;1103  readonly isPreLogExists: boolean;1104  readonly type: 'InvalidSignature' | 'PreLogExists';1105}11061107/** @name PalletEthereumEvent */1108export interface PalletEthereumEvent extends Enum {1109  readonly isExecuted: boolean;1110  readonly asExecuted: ITuple<[H160, H160, H256, EvmCoreErrorExitReason]>;1111  readonly type: 'Executed';1112}11131114/** @name PalletEthereumFakeTransactionFinalizer */1115export interface PalletEthereumFakeTransactionFinalizer extends Null {}11161117/** @name PalletEthereumRawOrigin */1118export interface PalletEthereumRawOrigin extends Enum {1119  readonly isEthereumTransaction: boolean;1120  readonly asEthereumTransaction: H160;1121  readonly type: 'EthereumTransaction';1122}11231124/** @name PalletEvmAccountBasicCrossAccountIdRepr */1125export interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {1126  readonly isSubstrate: boolean;1127  readonly asSubstrate: AccountId32;1128  readonly isEthereum: boolean;1129  readonly asEthereum: H160;1130  readonly type: 'Substrate' | 'Ethereum';1131}11321133/** @name PalletEvmCall */1134export interface PalletEvmCall extends Enum {1135  readonly isWithdraw: boolean;1136  readonly asWithdraw: {1137    readonly address: H160;1138    readonly value: u128;1139  } & Struct;1140  readonly isCall: boolean;1141  readonly asCall: {1142    readonly source: H160;1143    readonly target: H160;1144    readonly input: Bytes;1145    readonly value: U256;1146    readonly gasLimit: u64;1147    readonly maxFeePerGas: U256;1148    readonly maxPriorityFeePerGas: Option<U256>;1149    readonly nonce: Option<U256>;1150    readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;1151  } & Struct;1152  readonly isCreate: boolean;1153  readonly asCreate: {1154    readonly source: H160;1155    readonly init: Bytes;1156    readonly value: U256;1157    readonly gasLimit: u64;1158    readonly maxFeePerGas: U256;1159    readonly maxPriorityFeePerGas: Option<U256>;1160    readonly nonce: Option<U256>;1161    readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;1162  } & Struct;1163  readonly isCreate2: boolean;1164  readonly asCreate2: {1165    readonly source: H160;1166    readonly init: Bytes;1167    readonly salt: H256;1168    readonly value: U256;1169    readonly gasLimit: u64;1170    readonly maxFeePerGas: U256;1171    readonly maxPriorityFeePerGas: Option<U256>;1172    readonly nonce: Option<U256>;1173    readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;1174  } & Struct;1175  readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';1176}11771178/** @name PalletEvmCoderSubstrateError */1179export interface PalletEvmCoderSubstrateError extends Enum {1180  readonly isOutOfGas: boolean;1181  readonly isOutOfFund: boolean;1182  readonly type: 'OutOfGas' | 'OutOfFund';1183}11841185/** @name PalletEvmContractHelpersError */1186export interface PalletEvmContractHelpersError extends Enum {1187  readonly isNoPermission: boolean;1188  readonly isNoPendingSponsor: boolean;1189  readonly type: 'NoPermission' | 'NoPendingSponsor';1190}11911192/** @name PalletEvmContractHelpersSponsoringModeT */1193export interface PalletEvmContractHelpersSponsoringModeT extends Enum {1194  readonly isDisabled: boolean;1195  readonly isAllowlisted: boolean;1196  readonly isGenerous: boolean;1197  readonly type: 'Disabled' | 'Allowlisted' | 'Generous';1198}11991200/** @name PalletEvmError */1201export interface PalletEvmError extends Enum {1202  readonly isBalanceLow: boolean;1203  readonly isFeeOverflow: boolean;1204  readonly isPaymentOverflow: boolean;1205  readonly isWithdrawFailed: boolean;1206  readonly isGasPriceTooLow: boolean;1207  readonly isInvalidNonce: boolean;1208  readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce';1209}12101211/** @name PalletEvmEvent */1212export interface PalletEvmEvent extends Enum {1213  readonly isLog: boolean;1214  readonly asLog: EthereumLog;1215  readonly isCreated: boolean;1216  readonly asCreated: H160;1217  readonly isCreatedFailed: boolean;1218  readonly asCreatedFailed: H160;1219  readonly isExecuted: boolean;1220  readonly asExecuted: H160;1221  readonly isExecutedFailed: boolean;1222  readonly asExecutedFailed: H160;1223  readonly isBalanceDeposit: boolean;1224  readonly asBalanceDeposit: ITuple<[AccountId32, H160, U256]>;1225  readonly isBalanceWithdraw: boolean;1226  readonly asBalanceWithdraw: ITuple<[AccountId32, H160, U256]>;1227  readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed' | 'BalanceDeposit' | 'BalanceWithdraw';1228}12291230/** @name PalletEvmMigrationCall */1231export interface PalletEvmMigrationCall extends Enum {1232  readonly isBegin: boolean;1233  readonly asBegin: {1234    readonly address: H160;1235  } & Struct;1236  readonly isSetData: boolean;1237  readonly asSetData: {1238    readonly address: H160;1239    readonly data: Vec<ITuple<[H256, H256]>>;1240  } & Struct;1241  readonly isFinish: boolean;1242  readonly asFinish: {1243    readonly address: H160;1244    readonly code: Bytes;1245  } & Struct;1246  readonly type: 'Begin' | 'SetData' | 'Finish';1247}12481249/** @name PalletEvmMigrationError */1250export interface PalletEvmMigrationError extends Enum {1251  readonly isAccountNotEmpty: boolean;1252  readonly isAccountIsNotMigrating: boolean;1253  readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating';1254}12551256/** @name PalletFungibleError */1257export interface PalletFungibleError extends Enum {1258  readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;1259  readonly isFungibleItemsHaveNoId: boolean;1260  readonly isFungibleItemsDontHaveData: boolean;1261  readonly isFungibleDisallowsNesting: boolean;1262  readonly isSettingPropertiesNotAllowed: boolean;1263  readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';1264}12651266/** @name PalletInflationCall */1267export interface PalletInflationCall extends Enum {1268  readonly isStartInflation: boolean;1269  readonly asStartInflation: {1270    readonly inflationStartRelayBlock: u32;1271  } & Struct;1272  readonly type: 'StartInflation';1273}12741275/** @name PalletNonfungibleError */1276export interface PalletNonfungibleError extends Enum {1277  readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;1278  readonly isNonfungibleItemsHaveNoAmount: boolean;1279  readonly isCantBurnNftWithChildren: boolean;1280  readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';1281}12821283/** @name PalletNonfungibleItemData */1284export interface PalletNonfungibleItemData extends Struct {1285  readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1286}12871288/** @name PalletRefungibleError */1289export interface PalletRefungibleError extends Enum {1290  readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;1291  readonly isWrongRefungiblePieces: boolean;1292  readonly isRepartitionWhileNotOwningAllPieces: boolean;1293  readonly isRefungibleDisallowsNesting: boolean;1294  readonly isSettingPropertiesNotAllowed: boolean;1295  readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';1296}12971298/** @name PalletRefungibleItemData */1299export interface PalletRefungibleItemData extends Struct {1300  readonly constData: Bytes;1301}13021303/** @name PalletRmrkCoreCall */1304export interface PalletRmrkCoreCall extends Enum {1305  readonly isCreateCollection: boolean;1306  readonly asCreateCollection: {1307    readonly metadata: Bytes;1308    readonly max: Option<u32>;1309    readonly symbol: Bytes;1310  } & Struct;1311  readonly isDestroyCollection: boolean;1312  readonly asDestroyCollection: {1313    readonly collectionId: u32;1314  } & Struct;1315  readonly isChangeCollectionIssuer: boolean;1316  readonly asChangeCollectionIssuer: {1317    readonly collectionId: u32;1318    readonly newIssuer: MultiAddress;1319  } & Struct;1320  readonly isLockCollection: boolean;1321  readonly asLockCollection: {1322    readonly collectionId: u32;1323  } & Struct;1324  readonly isMintNft: boolean;1325  readonly asMintNft: {1326    readonly owner: Option<AccountId32>;1327    readonly collectionId: u32;1328    readonly recipient: Option<AccountId32>;1329    readonly royaltyAmount: Option<Permill>;1330    readonly metadata: Bytes;1331    readonly transferable: bool;1332    readonly resources: Option<Vec<RmrkTraitsResourceResourceTypes>>;1333  } & Struct;1334  readonly isBurnNft: boolean;1335  readonly asBurnNft: {1336    readonly collectionId: u32;1337    readonly nftId: u32;1338    readonly maxBurns: u32;1339  } & Struct;1340  readonly isSend: boolean;1341  readonly asSend: {1342    readonly rmrkCollectionId: u32;1343    readonly rmrkNftId: u32;1344    readonly newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple;1345  } & Struct;1346  readonly isAcceptNft: boolean;1347  readonly asAcceptNft: {1348    readonly rmrkCollectionId: u32;1349    readonly rmrkNftId: u32;1350    readonly newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple;1351  } & Struct;1352  readonly isRejectNft: boolean;1353  readonly asRejectNft: {1354    readonly rmrkCollectionId: u32;1355    readonly rmrkNftId: u32;1356  } & Struct;1357  readonly isAcceptResource: boolean;1358  readonly asAcceptResource: {1359    readonly rmrkCollectionId: u32;1360    readonly rmrkNftId: u32;1361    readonly resourceId: u32;1362  } & Struct;1363  readonly isAcceptResourceRemoval: boolean;1364  readonly asAcceptResourceRemoval: {1365    readonly rmrkCollectionId: u32;1366    readonly rmrkNftId: u32;1367    readonly resourceId: u32;1368  } & Struct;1369  readonly isSetProperty: boolean;1370  readonly asSetProperty: {1371    readonly rmrkCollectionId: Compact<u32>;1372    readonly maybeNftId: Option<u32>;1373    readonly key: Bytes;1374    readonly value: Bytes;1375  } & Struct;1376  readonly isSetPriority: boolean;1377  readonly asSetPriority: {1378    readonly rmrkCollectionId: u32;1379    readonly rmrkNftId: u32;1380    readonly priorities: Vec<u32>;1381  } & Struct;1382  readonly isAddBasicResource: boolean;1383  readonly asAddBasicResource: {1384    readonly rmrkCollectionId: u32;1385    readonly nftId: u32;1386    readonly resource: RmrkTraitsResourceBasicResource;1387  } & Struct;1388  readonly isAddComposableResource: boolean;1389  readonly asAddComposableResource: {1390    readonly rmrkCollectionId: u32;1391    readonly nftId: u32;1392    readonly resource: RmrkTraitsResourceComposableResource;1393  } & Struct;1394  readonly isAddSlotResource: boolean;1395  readonly asAddSlotResource: {1396    readonly rmrkCollectionId: u32;1397    readonly nftId: u32;1398    readonly resource: RmrkTraitsResourceSlotResource;1399  } & Struct;1400  readonly isRemoveResource: boolean;1401  readonly asRemoveResource: {1402    readonly rmrkCollectionId: u32;1403    readonly nftId: u32;1404    readonly resourceId: u32;1405  } & Struct;1406  readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'Send' | 'AcceptNft' | 'RejectNft' | 'AcceptResource' | 'AcceptResourceRemoval' | 'SetProperty' | 'SetPriority' | 'AddBasicResource' | 'AddComposableResource' | 'AddSlotResource' | 'RemoveResource';1407}14081409/** @name PalletRmrkCoreError */1410export interface PalletRmrkCoreError extends Enum {1411  readonly isCorruptedCollectionType: boolean;1412  readonly isRmrkPropertyKeyIsTooLong: boolean;1413  readonly isRmrkPropertyValueIsTooLong: boolean;1414  readonly isRmrkPropertyIsNotFound: boolean;1415  readonly isUnableToDecodeRmrkData: boolean;1416  readonly isCollectionNotEmpty: boolean;1417  readonly isNoAvailableCollectionId: boolean;1418  readonly isNoAvailableNftId: boolean;1419  readonly isCollectionUnknown: boolean;1420  readonly isNoPermission: boolean;1421  readonly isNonTransferable: boolean;1422  readonly isCollectionFullOrLocked: boolean;1423  readonly isResourceDoesntExist: boolean;1424  readonly isCannotSendToDescendentOrSelf: boolean;1425  readonly isCannotAcceptNonOwnedNft: boolean;1426  readonly isCannotRejectNonOwnedNft: boolean;1427  readonly isCannotRejectNonPendingNft: boolean;1428  readonly isResourceNotPending: boolean;1429  readonly isNoAvailableResourceId: boolean;1430  readonly type: 'CorruptedCollectionType' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'RmrkPropertyIsNotFound' | 'UnableToDecodeRmrkData' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'CannotRejectNonPendingNft' | 'ResourceNotPending' | 'NoAvailableResourceId';1431}14321433/** @name PalletRmrkCoreEvent */1434export interface PalletRmrkCoreEvent extends Enum {1435  readonly isCollectionCreated: boolean;1436  readonly asCollectionCreated: {1437    readonly issuer: AccountId32;1438    readonly collectionId: u32;1439  } & Struct;1440  readonly isCollectionDestroyed: boolean;1441  readonly asCollectionDestroyed: {1442    readonly issuer: AccountId32;1443    readonly collectionId: u32;1444  } & Struct;1445  readonly isIssuerChanged: boolean;1446  readonly asIssuerChanged: {1447    readonly oldIssuer: AccountId32;1448    readonly newIssuer: AccountId32;1449    readonly collectionId: u32;1450  } & Struct;1451  readonly isCollectionLocked: boolean;1452  readonly asCollectionLocked: {1453    readonly issuer: AccountId32;1454    readonly collectionId: u32;1455  } & Struct;1456  readonly isNftMinted: boolean;1457  readonly asNftMinted: {1458    readonly owner: AccountId32;1459    readonly collectionId: u32;1460    readonly nftId: u32;1461  } & Struct;1462  readonly isNftBurned: boolean;1463  readonly asNftBurned: {1464    readonly owner: AccountId32;1465    readonly nftId: u32;1466  } & Struct;1467  readonly isNftSent: boolean;1468  readonly asNftSent: {1469    readonly sender: AccountId32;1470    readonly recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple;1471    readonly collectionId: u32;1472    readonly nftId: u32;1473    readonly approvalRequired: bool;1474  } & Struct;1475  readonly isNftAccepted: boolean;1476  readonly asNftAccepted: {1477    readonly sender: AccountId32;1478    readonly recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple;1479    readonly collectionId: u32;1480    readonly nftId: u32;1481  } & Struct;1482  readonly isNftRejected: boolean;1483  readonly asNftRejected: {1484    readonly sender: AccountId32;1485    readonly collectionId: u32;1486    readonly nftId: u32;1487  } & Struct;1488  readonly isPropertySet: boolean;1489  readonly asPropertySet: {1490    readonly collectionId: u32;1491    readonly maybeNftId: Option<u32>;1492    readonly key: Bytes;1493    readonly value: Bytes;1494  } & Struct;1495  readonly isResourceAdded: boolean;1496  readonly asResourceAdded: {1497    readonly nftId: u32;1498    readonly resourceId: u32;1499  } & Struct;1500  readonly isResourceRemoval: boolean;1501  readonly asResourceRemoval: {1502    readonly nftId: u32;1503    readonly resourceId: u32;1504  } & Struct;1505  readonly isResourceAccepted: boolean;1506  readonly asResourceAccepted: {1507    readonly nftId: u32;1508    readonly resourceId: u32;1509  } & Struct;1510  readonly isResourceRemovalAccepted: boolean;1511  readonly asResourceRemovalAccepted: {1512    readonly nftId: u32;1513    readonly resourceId: u32;1514  } & Struct;1515  readonly isPrioritySet: boolean;1516  readonly asPrioritySet: {1517    readonly collectionId: u32;1518    readonly nftId: u32;1519  } & Struct;1520  readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'NftSent' | 'NftAccepted' | 'NftRejected' | 'PropertySet' | 'ResourceAdded' | 'ResourceRemoval' | 'ResourceAccepted' | 'ResourceRemovalAccepted' | 'PrioritySet';1521}15221523/** @name PalletRmrkEquipCall */1524export interface PalletRmrkEquipCall extends Enum {1525  readonly isCreateBase: boolean;1526  readonly asCreateBase: {1527    readonly baseType: Bytes;1528    readonly symbol: Bytes;1529    readonly parts: Vec<RmrkTraitsPartPartType>;1530  } & Struct;1531  readonly isThemeAdd: boolean;1532  readonly asThemeAdd: {1533    readonly baseId: u32;1534    readonly theme: RmrkTraitsTheme;1535  } & Struct;1536  readonly isEquippable: boolean;1537  readonly asEquippable: {1538    readonly baseId: u32;1539    readonly slotId: u32;1540    readonly equippables: RmrkTraitsPartEquippableList;1541  } & Struct;1542  readonly type: 'CreateBase' | 'ThemeAdd' | 'Equippable';1543}15441545/** @name PalletRmrkEquipError */1546export interface PalletRmrkEquipError extends Enum {1547  readonly isPermissionError: boolean;1548  readonly isNoAvailableBaseId: boolean;1549  readonly isNoAvailablePartId: boolean;1550  readonly isBaseDoesntExist: boolean;1551  readonly isNeedsDefaultThemeFirst: boolean;1552  readonly isPartDoesntExist: boolean;1553  readonly isNoEquippableOnFixedPart: boolean;1554  readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst' | 'PartDoesntExist' | 'NoEquippableOnFixedPart';1555}15561557/** @name PalletRmrkEquipEvent */1558export interface PalletRmrkEquipEvent extends Enum {1559  readonly isBaseCreated: boolean;1560  readonly asBaseCreated: {1561    readonly issuer: AccountId32;1562    readonly baseId: u32;1563  } & Struct;1564  readonly isEquippablesUpdated: boolean;1565  readonly asEquippablesUpdated: {1566    readonly baseId: u32;1567    readonly slotId: u32;1568  } & Struct;1569  readonly type: 'BaseCreated' | 'EquippablesUpdated';1570}15711572/** @name PalletStructureCall */1573export interface PalletStructureCall extends Null {}15741575/** @name PalletStructureError */1576export interface PalletStructureError extends Enum {1577  readonly isOuroborosDetected: boolean;1578  readonly isDepthLimit: boolean;1579  readonly isBreadthLimit: boolean;1580  readonly isTokenNotFound: boolean;1581  readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound';1582}15831584/** @name PalletStructureEvent */1585export interface PalletStructureEvent extends Enum {1586  readonly isExecuted: boolean;1587  readonly asExecuted: Result<Null, SpRuntimeDispatchError>;1588  readonly type: 'Executed';1589}15901591/** @name PalletSudoCall */1592export interface PalletSudoCall extends Enum {1593  readonly isSudo: boolean;1594  readonly asSudo: {1595    readonly call: Call;1596  } & Struct;1597  readonly isSudoUncheckedWeight: boolean;1598  readonly asSudoUncheckedWeight: {1599    readonly call: Call;1600    readonly weight: u64;1601  } & Struct;1602  readonly isSetKey: boolean;1603  readonly asSetKey: {1604    readonly new_: MultiAddress;1605  } & Struct;1606  readonly isSudoAs: boolean;1607  readonly asSudoAs: {1608    readonly who: MultiAddress;1609    readonly call: Call;1610  } & Struct;1611  readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';1612}16131614/** @name PalletSudoError */1615export interface PalletSudoError extends Enum {1616  readonly isRequireSudo: boolean;1617  readonly type: 'RequireSudo';1618}16191620/** @name PalletSudoEvent */1621export interface PalletSudoEvent extends Enum {1622  readonly isSudid: boolean;1623  readonly asSudid: {1624    readonly sudoResult: Result<Null, SpRuntimeDispatchError>;1625  } & Struct;1626  readonly isKeyChanged: boolean;1627  readonly asKeyChanged: {1628    readonly oldSudoer: Option<AccountId32>;1629  } & Struct;1630  readonly isSudoAsDone: boolean;1631  readonly asSudoAsDone: {1632    readonly sudoResult: Result<Null, SpRuntimeDispatchError>;1633  } & Struct;1634  readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';1635}16361637/** @name PalletTemplateTransactionPaymentCall */1638export interface PalletTemplateTransactionPaymentCall extends Null {}16391640/** @name PalletTemplateTransactionPaymentChargeTransactionPayment */1641export interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}16421643/** @name PalletTimestampCall */1644export interface PalletTimestampCall extends Enum {1645  readonly isSet: boolean;1646  readonly asSet: {1647    readonly now: Compact<u64>;1648  } & Struct;1649  readonly type: 'Set';1650}16511652/** @name PalletTransactionPaymentEvent */1653export interface PalletTransactionPaymentEvent extends Enum {1654  readonly isTransactionFeePaid: boolean;1655  readonly asTransactionFeePaid: {1656    readonly who: AccountId32;1657    readonly actualFee: u128;1658    readonly tip: u128;1659  } & Struct;1660  readonly type: 'TransactionFeePaid';1661}16621663/** @name PalletTransactionPaymentReleases */1664export interface PalletTransactionPaymentReleases extends Enum {1665  readonly isV1Ancient: boolean;1666  readonly isV2: boolean;1667  readonly type: 'V1Ancient' | 'V2';1668}16691670/** @name PalletTreasuryCall */1671export interface PalletTreasuryCall extends Enum {1672  readonly isProposeSpend: boolean;1673  readonly asProposeSpend: {1674    readonly value: Compact<u128>;1675    readonly beneficiary: MultiAddress;1676  } & Struct;1677  readonly isRejectProposal: boolean;1678  readonly asRejectProposal: {1679    readonly proposalId: Compact<u32>;1680  } & Struct;1681  readonly isApproveProposal: boolean;1682  readonly asApproveProposal: {1683    readonly proposalId: Compact<u32>;1684  } & Struct;1685  readonly isSpend: boolean;1686  readonly asSpend: {1687    readonly amount: Compact<u128>;1688    readonly beneficiary: MultiAddress;1689  } & Struct;1690  readonly isRemoveApproval: boolean;1691  readonly asRemoveApproval: {1692    readonly proposalId: Compact<u32>;1693  } & Struct;1694  readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval';1695}16961697/** @name PalletTreasuryError */1698export interface PalletTreasuryError extends Enum {1699  readonly isInsufficientProposersBalance: boolean;1700  readonly isInvalidIndex: boolean;1701  readonly isTooManyApprovals: boolean;1702  readonly isInsufficientPermission: boolean;1703  readonly isProposalNotApproved: boolean;1704  readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved';1705}17061707/** @name PalletTreasuryEvent */1708export interface PalletTreasuryEvent extends Enum {1709  readonly isProposed: boolean;1710  readonly asProposed: {1711    readonly proposalIndex: u32;1712  } & Struct;1713  readonly isSpending: boolean;1714  readonly asSpending: {1715    readonly budgetRemaining: u128;1716  } & Struct;1717  readonly isAwarded: boolean;1718  readonly asAwarded: {1719    readonly proposalIndex: u32;1720    readonly award: u128;1721    readonly account: AccountId32;1722  } & Struct;1723  readonly isRejected: boolean;1724  readonly asRejected: {1725    readonly proposalIndex: u32;1726    readonly slashed: u128;1727  } & Struct;1728  readonly isBurnt: boolean;1729  readonly asBurnt: {1730    readonly burntFunds: u128;1731  } & Struct;1732  readonly isRollover: boolean;1733  readonly asRollover: {1734    readonly rolloverBalance: u128;1735  } & Struct;1736  readonly isDeposit: boolean;1737  readonly asDeposit: {1738    readonly value: u128;1739  } & Struct;1740  readonly isSpendApproved: boolean;1741  readonly asSpendApproved: {1742    readonly proposalIndex: u32;1743    readonly amount: u128;1744    readonly beneficiary: AccountId32;1745  } & Struct;1746  readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit' | 'SpendApproved';1747}17481749/** @name PalletTreasuryProposal */1750export interface PalletTreasuryProposal extends Struct {1751  readonly proposer: AccountId32;1752  readonly value: u128;1753  readonly beneficiary: AccountId32;1754  readonly bond: u128;1755}17561757/** @name PalletUniqueCall */1758export interface PalletUniqueCall extends Enum {1759  readonly isCreateCollection: boolean;1760  readonly asCreateCollection: {1761    readonly collectionName: Vec<u16>;1762    readonly collectionDescription: Vec<u16>;1763    readonly tokenPrefix: Bytes;1764    readonly mode: UpDataStructsCollectionMode;1765  } & Struct;1766  readonly isCreateCollectionEx: boolean;1767  readonly asCreateCollectionEx: {1768    readonly data: UpDataStructsCreateCollectionData;1769  } & Struct;1770  readonly isDestroyCollection: boolean;1771  readonly asDestroyCollection: {1772    readonly collectionId: u32;1773  } & Struct;1774  readonly isAddToAllowList: boolean;1775  readonly asAddToAllowList: {1776    readonly collectionId: u32;1777    readonly address: PalletEvmAccountBasicCrossAccountIdRepr;1778  } & Struct;1779  readonly isRemoveFromAllowList: boolean;1780  readonly asRemoveFromAllowList: {1781    readonly collectionId: u32;1782    readonly address: PalletEvmAccountBasicCrossAccountIdRepr;1783  } & Struct;1784  readonly isChangeCollectionOwner: boolean;1785  readonly asChangeCollectionOwner: {1786    readonly collectionId: u32;1787    readonly newOwner: AccountId32;1788  } & Struct;1789  readonly isAddCollectionAdmin: boolean;1790  readonly asAddCollectionAdmin: {1791    readonly collectionId: u32;1792    readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr;1793  } & Struct;1794  readonly isRemoveCollectionAdmin: boolean;1795  readonly asRemoveCollectionAdmin: {1796    readonly collectionId: u32;1797    readonly accountId: PalletEvmAccountBasicCrossAccountIdRepr;1798  } & Struct;1799  readonly isSetCollectionSponsor: boolean;1800  readonly asSetCollectionSponsor: {1801    readonly collectionId: u32;1802    readonly newSponsor: AccountId32;1803  } & Struct;1804  readonly isConfirmSponsorship: boolean;1805  readonly asConfirmSponsorship: {1806    readonly collectionId: u32;1807  } & Struct;1808  readonly isRemoveCollectionSponsor: boolean;1809  readonly asRemoveCollectionSponsor: {1810    readonly collectionId: u32;1811  } & Struct;1812  readonly isCreateItem: boolean;1813  readonly asCreateItem: {1814    readonly collectionId: u32;1815    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1816    readonly data: UpDataStructsCreateItemData;1817  } & Struct;1818  readonly isCreateMultipleItems: boolean;1819  readonly asCreateMultipleItems: {1820    readonly collectionId: u32;1821    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1822    readonly itemsData: Vec<UpDataStructsCreateItemData>;1823  } & Struct;1824  readonly isSetCollectionProperties: boolean;1825  readonly asSetCollectionProperties: {1826    readonly collectionId: u32;1827    readonly properties: Vec<UpDataStructsProperty>;1828  } & Struct;1829  readonly isDeleteCollectionProperties: boolean;1830  readonly asDeleteCollectionProperties: {1831    readonly collectionId: u32;1832    readonly propertyKeys: Vec<Bytes>;1833  } & Struct;1834  readonly isSetTokenProperties: boolean;1835  readonly asSetTokenProperties: {1836    readonly collectionId: u32;1837    readonly tokenId: u32;1838    readonly properties: Vec<UpDataStructsProperty>;1839  } & Struct;1840  readonly isDeleteTokenProperties: boolean;1841  readonly asDeleteTokenProperties: {1842    readonly collectionId: u32;1843    readonly tokenId: u32;1844    readonly propertyKeys: Vec<Bytes>;1845  } & Struct;1846  readonly isSetTokenPropertyPermissions: boolean;1847  readonly asSetTokenPropertyPermissions: {1848    readonly collectionId: u32;1849    readonly propertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;1850  } & Struct;1851  readonly isCreateMultipleItemsEx: boolean;1852  readonly asCreateMultipleItemsEx: {1853    readonly collectionId: u32;1854    readonly data: UpDataStructsCreateItemExData;1855  } & Struct;1856  readonly isSetTransfersEnabledFlag: boolean;1857  readonly asSetTransfersEnabledFlag: {1858    readonly collectionId: u32;1859    readonly value: bool;1860  } & Struct;1861  readonly isBurnItem: boolean;1862  readonly asBurnItem: {1863    readonly collectionId: u32;1864    readonly itemId: u32;1865    readonly value: u128;1866  } & Struct;1867  readonly isBurnFrom: boolean;1868  readonly asBurnFrom: {1869    readonly collectionId: u32;1870    readonly from: PalletEvmAccountBasicCrossAccountIdRepr;1871    readonly itemId: u32;1872    readonly value: u128;1873  } & Struct;1874  readonly isTransfer: boolean;1875  readonly asTransfer: {1876    readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;1877    readonly collectionId: u32;1878    readonly itemId: u32;1879    readonly value: u128;1880  } & Struct;1881  readonly isApprove: boolean;1882  readonly asApprove: {1883    readonly spender: PalletEvmAccountBasicCrossAccountIdRepr;1884    readonly collectionId: u32;1885    readonly itemId: u32;1886    readonly amount: u128;1887  } & Struct;1888  readonly isTransferFrom: boolean;1889  readonly asTransferFrom: {1890    readonly from: PalletEvmAccountBasicCrossAccountIdRepr;1891    readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;1892    readonly collectionId: u32;1893    readonly itemId: u32;1894    readonly value: u128;1895  } & Struct;1896  readonly isSetCollectionLimits: boolean;1897  readonly asSetCollectionLimits: {1898    readonly collectionId: u32;1899    readonly newLimit: UpDataStructsCollectionLimits;1900  } & Struct;1901  readonly isSetCollectionPermissions: boolean;1902  readonly asSetCollectionPermissions: {1903    readonly collectionId: u32;1904    readonly newPermission: UpDataStructsCollectionPermissions;1905  } & Struct;1906  readonly isRepartition: boolean;1907  readonly asRepartition: {1908    readonly collectionId: u32;1909    readonly tokenId: u32;1910    readonly amount: u128;1911  } & Struct;1912  readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetCollectionProperties' | 'DeleteCollectionProperties' | 'SetTokenProperties' | 'DeleteTokenProperties' | 'SetTokenPropertyPermissions' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetCollectionLimits' | 'SetCollectionPermissions' | 'Repartition';1913}19141915/** @name PalletUniqueError */1916export interface PalletUniqueError extends Enum {1917  readonly isCollectionDecimalPointLimitExceeded: boolean;1918  readonly isConfirmUnsetSponsorFail: boolean;1919  readonly isEmptyArgument: boolean;1920  readonly isRepartitionCalledOnNonRefungibleCollection: boolean;1921  readonly type: 'CollectionDecimalPointLimitExceeded' | 'ConfirmUnsetSponsorFail' | 'EmptyArgument' | 'RepartitionCalledOnNonRefungibleCollection';1922}19231924/** @name PalletUniqueRawEvent */1925export interface PalletUniqueRawEvent extends Enum {1926  readonly isCollectionSponsorRemoved: boolean;1927  readonly asCollectionSponsorRemoved: u32;1928  readonly isCollectionAdminAdded: boolean;1929  readonly asCollectionAdminAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1930  readonly isCollectionOwnedChanged: boolean;1931  readonly asCollectionOwnedChanged: ITuple<[u32, AccountId32]>;1932  readonly isCollectionSponsorSet: boolean;1933  readonly asCollectionSponsorSet: ITuple<[u32, AccountId32]>;1934  readonly isSponsorshipConfirmed: boolean;1935  readonly asSponsorshipConfirmed: ITuple<[u32, AccountId32]>;1936  readonly isCollectionAdminRemoved: boolean;1937  readonly asCollectionAdminRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1938  readonly isAllowListAddressRemoved: boolean;1939  readonly asAllowListAddressRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1940  readonly isAllowListAddressAdded: boolean;1941  readonly asAllowListAddressAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1942  readonly isCollectionLimitSet: boolean;1943  readonly asCollectionLimitSet: u32;1944  readonly isCollectionPermissionSet: boolean;1945  readonly asCollectionPermissionSet: u32;1946  readonly type: 'CollectionSponsorRemoved' | 'CollectionAdminAdded' | 'CollectionOwnedChanged' | 'CollectionSponsorSet' | 'SponsorshipConfirmed' | 'CollectionAdminRemoved' | 'AllowListAddressRemoved' | 'AllowListAddressAdded' | 'CollectionLimitSet' | 'CollectionPermissionSet';1947}19481949/** @name PalletUniqueSchedulerCall */1950export interface PalletUniqueSchedulerCall extends Enum {1951  readonly isScheduleNamed: boolean;1952  readonly asScheduleNamed: {1953    readonly id: U8aFixed;1954    readonly when: u32;1955    readonly maybePeriodic: Option<ITuple<[u32, u32]>>;1956    readonly priority: u8;1957    readonly call: FrameSupportScheduleMaybeHashed;1958  } & Struct;1959  readonly isCancelNamed: boolean;1960  readonly asCancelNamed: {1961    readonly id: U8aFixed;1962  } & Struct;1963  readonly isScheduleNamedAfter: boolean;1964  readonly asScheduleNamedAfter: {1965    readonly id: U8aFixed;1966    readonly after: u32;1967    readonly maybePeriodic: Option<ITuple<[u32, u32]>>;1968    readonly priority: u8;1969    readonly call: FrameSupportScheduleMaybeHashed;1970  } & Struct;1971  readonly type: 'ScheduleNamed' | 'CancelNamed' | 'ScheduleNamedAfter';1972}19731974/** @name PalletUniqueSchedulerError */1975export interface PalletUniqueSchedulerError extends Enum {1976  readonly isFailedToSchedule: boolean;1977  readonly isNotFound: boolean;1978  readonly isTargetBlockNumberInPast: boolean;1979  readonly isRescheduleNoChange: boolean;1980  readonly type: 'FailedToSchedule' | 'NotFound' | 'TargetBlockNumberInPast' | 'RescheduleNoChange';1981}19821983/** @name PalletUniqueSchedulerEvent */1984export interface PalletUniqueSchedulerEvent extends Enum {1985  readonly isScheduled: boolean;1986  readonly asScheduled: {1987    readonly when: u32;1988    readonly index: u32;1989  } & Struct;1990  readonly isCanceled: boolean;1991  readonly asCanceled: {1992    readonly when: u32;1993    readonly index: u32;1994  } & Struct;1995  readonly isDispatched: boolean;1996  readonly asDispatched: {1997    readonly task: ITuple<[u32, u32]>;1998    readonly id: Option<U8aFixed>;1999    readonly result: Result<Null, SpRuntimeDispatchError>;2000  } & Struct;2001  readonly isCallLookupFailed: boolean;2002  readonly asCallLookupFailed: {2003    readonly task: ITuple<[u32, u32]>;2004    readonly id: Option<U8aFixed>;2005    readonly error: FrameSupportScheduleLookupError;2006  } & Struct;2007  readonly type: 'Scheduled' | 'Canceled' | 'Dispatched' | 'CallLookupFailed';2008}20092010/** @name PalletUniqueSchedulerScheduledV3 */2011export interface PalletUniqueSchedulerScheduledV3 extends Struct {2012  readonly maybeId: Option<U8aFixed>;2013  readonly priority: u8;2014  readonly call: FrameSupportScheduleMaybeHashed;2015  readonly maybePeriodic: Option<ITuple<[u32, u32]>>;2016  readonly origin: OpalRuntimeOriginCaller;2017}20182019/** @name PalletXcmCall */2020export interface PalletXcmCall extends Enum {2021  readonly isSend: boolean;2022  readonly asSend: {2023    readonly dest: XcmVersionedMultiLocation;2024    readonly message: XcmVersionedXcm;2025  } & Struct;2026  readonly isTeleportAssets: boolean;2027  readonly asTeleportAssets: {2028    readonly dest: XcmVersionedMultiLocation;2029    readonly beneficiary: XcmVersionedMultiLocation;2030    readonly assets: XcmVersionedMultiAssets;2031    readonly feeAssetItem: u32;2032  } & Struct;2033  readonly isReserveTransferAssets: boolean;2034  readonly asReserveTransferAssets: {2035    readonly dest: XcmVersionedMultiLocation;2036    readonly beneficiary: XcmVersionedMultiLocation;2037    readonly assets: XcmVersionedMultiAssets;2038    readonly feeAssetItem: u32;2039  } & Struct;2040  readonly isExecute: boolean;2041  readonly asExecute: {2042    readonly message: XcmVersionedXcm;2043    readonly maxWeight: u64;2044  } & Struct;2045  readonly isForceXcmVersion: boolean;2046  readonly asForceXcmVersion: {2047    readonly location: XcmV1MultiLocation;2048    readonly xcmVersion: u32;2049  } & Struct;2050  readonly isForceDefaultXcmVersion: boolean;2051  readonly asForceDefaultXcmVersion: {2052    readonly maybeXcmVersion: Option<u32>;2053  } & Struct;2054  readonly isForceSubscribeVersionNotify: boolean;2055  readonly asForceSubscribeVersionNotify: {2056    readonly location: XcmVersionedMultiLocation;2057  } & Struct;2058  readonly isForceUnsubscribeVersionNotify: boolean;2059  readonly asForceUnsubscribeVersionNotify: {2060    readonly location: XcmVersionedMultiLocation;2061  } & Struct;2062  readonly isLimitedReserveTransferAssets: boolean;2063  readonly asLimitedReserveTransferAssets: {2064    readonly dest: XcmVersionedMultiLocation;2065    readonly beneficiary: XcmVersionedMultiLocation;2066    readonly assets: XcmVersionedMultiAssets;2067    readonly feeAssetItem: u32;2068    readonly weightLimit: XcmV2WeightLimit;2069  } & Struct;2070  readonly isLimitedTeleportAssets: boolean;2071  readonly asLimitedTeleportAssets: {2072    readonly dest: XcmVersionedMultiLocation;2073    readonly beneficiary: XcmVersionedMultiLocation;2074    readonly assets: XcmVersionedMultiAssets;2075    readonly feeAssetItem: u32;2076    readonly weightLimit: XcmV2WeightLimit;2077  } & Struct;2078  readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';2079}20802081/** @name PalletXcmError */2082export interface PalletXcmError extends Enum {2083  readonly isUnreachable: boolean;2084  readonly isSendFailure: boolean;2085  readonly isFiltered: boolean;2086  readonly isUnweighableMessage: boolean;2087  readonly isDestinationNotInvertible: boolean;2088  readonly isEmpty: boolean;2089  readonly isCannotReanchor: boolean;2090  readonly isTooManyAssets: boolean;2091  readonly isInvalidOrigin: boolean;2092  readonly isBadVersion: boolean;2093  readonly isBadLocation: boolean;2094  readonly isNoSubscription: boolean;2095  readonly isAlreadySubscribed: boolean;2096  readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';2097}20982099/** @name PalletXcmEvent */2100export interface PalletXcmEvent extends Enum {2101  readonly isAttempted: boolean;2102  readonly asAttempted: XcmV2TraitsOutcome;2103  readonly isSent: boolean;2104  readonly asSent: ITuple<[XcmV1MultiLocation, XcmV1MultiLocation, XcmV2Xcm]>;2105  readonly isUnexpectedResponse: boolean;2106  readonly asUnexpectedResponse: ITuple<[XcmV1MultiLocation, u64]>;2107  readonly isResponseReady: boolean;2108  readonly asResponseReady: ITuple<[u64, XcmV2Response]>;2109  readonly isNotified: boolean;2110  readonly asNotified: ITuple<[u64, u8, u8]>;2111  readonly isNotifyOverweight: boolean;2112  readonly asNotifyOverweight: ITuple<[u64, u8, u8, u64, u64]>;2113  readonly isNotifyDispatchError: boolean;2114  readonly asNotifyDispatchError: ITuple<[u64, u8, u8]>;2115  readonly isNotifyDecodeFailed: boolean;2116  readonly asNotifyDecodeFailed: ITuple<[u64, u8, u8]>;2117  readonly isInvalidResponder: boolean;2118  readonly asInvalidResponder: ITuple<[XcmV1MultiLocation, u64, Option<XcmV1MultiLocation>]>;2119  readonly isInvalidResponderVersion: boolean;2120  readonly asInvalidResponderVersion: ITuple<[XcmV1MultiLocation, u64]>;2121  readonly isResponseTaken: boolean;2122  readonly asResponseTaken: u64;2123  readonly isAssetsTrapped: boolean;2124  readonly asAssetsTrapped: ITuple<[H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;2125  readonly isVersionChangeNotified: boolean;2126  readonly asVersionChangeNotified: ITuple<[XcmV1MultiLocation, u32]>;2127  readonly isSupportedVersionChanged: boolean;2128  readonly asSupportedVersionChanged: ITuple<[XcmV1MultiLocation, u32]>;2129  readonly isNotifyTargetSendFail: boolean;2130  readonly asNotifyTargetSendFail: ITuple<[XcmV1MultiLocation, u64, XcmV2TraitsError]>;2131  readonly isNotifyTargetMigrationFail: boolean;2132  readonly asNotifyTargetMigrationFail: ITuple<[XcmVersionedMultiLocation, u64]>;2133  readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail';2134}21352136/** @name PalletXcmOrigin */2137export interface PalletXcmOrigin extends Enum {2138  readonly isXcm: boolean;2139  readonly asXcm: XcmV1MultiLocation;2140  readonly isResponse: boolean;2141  readonly asResponse: XcmV1MultiLocation;2142  readonly type: 'Xcm' | 'Response';2143}21442145/** @name PhantomTypeUpDataStructs */2146export interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftNftInfo, RmrkTraitsResourceResourceInfo, RmrkTraitsPropertyPropertyInfo, RmrkTraitsBaseBaseInfo, RmrkTraitsPartPartType, RmrkTraitsTheme, RmrkTraitsNftNftChild]>> {}21472148/** @name PolkadotCorePrimitivesInboundDownwardMessage */2149export interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {2150  readonly sentAt: u32;2151  readonly msg: Bytes;2152}21532154/** @name PolkadotCorePrimitivesInboundHrmpMessage */2155export interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {2156  readonly sentAt: u32;2157  readonly data: Bytes;2158}21592160/** @name PolkadotCorePrimitivesOutboundHrmpMessage */2161export interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {2162  readonly recipient: u32;2163  readonly data: Bytes;2164}21652166/** @name PolkadotParachainPrimitivesXcmpMessageFormat */2167export interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {2168  readonly isConcatenatedVersionedXcm: boolean;2169  readonly isConcatenatedEncodedBlob: boolean;2170  readonly isSignals: boolean;2171  readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';2172}21732174/** @name PolkadotPrimitivesV2AbridgedHostConfiguration */2175export interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct {2176  readonly maxCodeSize: u32;2177  readonly maxHeadDataSize: u32;2178  readonly maxUpwardQueueCount: u32;2179  readonly maxUpwardQueueSize: u32;2180  readonly maxUpwardMessageSize: u32;2181  readonly maxUpwardMessageNumPerCandidate: u32;2182  readonly hrmpMaxMessageNumPerCandidate: u32;2183  readonly validationUpgradeCooldown: u32;2184  readonly validationUpgradeDelay: u32;2185}21862187/** @name PolkadotPrimitivesV2AbridgedHrmpChannel */2188export interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct {2189  readonly maxCapacity: u32;2190  readonly maxTotalSize: u32;2191  readonly maxMessageSize: u32;2192  readonly msgCount: u32;2193  readonly totalSize: u32;2194  readonly mqcHead: Option<H256>;2195}21962197/** @name PolkadotPrimitivesV2PersistedValidationData */2198export interface PolkadotPrimitivesV2PersistedValidationData extends Struct {2199  readonly parentHead: Bytes;2200  readonly relayParentNumber: u32;2201  readonly relayParentStorageRoot: H256;2202  readonly maxPovSize: u32;2203}22042205/** @name PolkadotPrimitivesV2UpgradeRestriction */2206export interface PolkadotPrimitivesV2UpgradeRestriction extends Enum {2207  readonly isPresent: boolean;2208  readonly type: 'Present';2209}22102211/** @name RmrkTraitsBaseBaseInfo */2212export interface RmrkTraitsBaseBaseInfo extends Struct {2213  readonly issuer: AccountId32;2214  readonly baseType: Bytes;2215  readonly symbol: Bytes;2216}22172218/** @name RmrkTraitsCollectionCollectionInfo */2219export interface RmrkTraitsCollectionCollectionInfo extends Struct {2220  readonly issuer: AccountId32;2221  readonly metadata: Bytes;2222  readonly max: Option<u32>;2223  readonly symbol: Bytes;2224  readonly nftsCount: u32;2225}22262227/** @name RmrkTraitsNftAccountIdOrCollectionNftTuple */2228export interface RmrkTraitsNftAccountIdOrCollectionNftTuple extends Enum {2229  readonly isAccountId: boolean;2230  readonly asAccountId: AccountId32;2231  readonly isCollectionAndNftTuple: boolean;2232  readonly asCollectionAndNftTuple: ITuple<[u32, u32]>;2233  readonly type: 'AccountId' | 'CollectionAndNftTuple';2234}22352236/** @name RmrkTraitsNftNftChild */2237export interface RmrkTraitsNftNftChild extends Struct {2238  readonly collectionId: u32;2239  readonly nftId: u32;2240}22412242/** @name RmrkTraitsNftNftInfo */2243export interface RmrkTraitsNftNftInfo extends Struct {2244  readonly owner: RmrkTraitsNftAccountIdOrCollectionNftTuple;2245  readonly royalty: Option<RmrkTraitsNftRoyaltyInfo>;2246  readonly metadata: Bytes;2247  readonly equipped: bool;2248  readonly pending: bool;2249}22502251/** @name RmrkTraitsNftRoyaltyInfo */2252export interface RmrkTraitsNftRoyaltyInfo extends Struct {2253  readonly recipient: AccountId32;2254  readonly amount: Permill;2255}22562257/** @name RmrkTraitsPartEquippableList */2258export interface RmrkTraitsPartEquippableList extends Enum {2259  readonly isAll: boolean;2260  readonly isEmpty: boolean;2261  readonly isCustom: boolean;2262  readonly asCustom: Vec<u32>;2263  readonly type: 'All' | 'Empty' | 'Custom';2264}22652266/** @name RmrkTraitsPartFixedPart */2267export interface RmrkTraitsPartFixedPart extends Struct {2268  readonly id: u32;2269  readonly z: u32;2270  readonly src: Bytes;2271}22722273/** @name RmrkTraitsPartPartType */2274export interface RmrkTraitsPartPartType extends Enum {2275  readonly isFixedPart: boolean;2276  readonly asFixedPart: RmrkTraitsPartFixedPart;2277  readonly isSlotPart: boolean;2278  readonly asSlotPart: RmrkTraitsPartSlotPart;2279  readonly type: 'FixedPart' | 'SlotPart';2280}22812282/** @name RmrkTraitsPartSlotPart */2283export interface RmrkTraitsPartSlotPart extends Struct {2284  readonly id: u32;2285  readonly equippable: RmrkTraitsPartEquippableList;2286  readonly src: Bytes;2287  readonly z: u32;2288}22892290/** @name RmrkTraitsPropertyPropertyInfo */2291export interface RmrkTraitsPropertyPropertyInfo extends Struct {2292  readonly key: Bytes;2293  readonly value: Bytes;2294}22952296/** @name RmrkTraitsResourceBasicResource */2297export interface RmrkTraitsResourceBasicResource extends Struct {2298  readonly src: Option<Bytes>;2299  readonly metadata: Option<Bytes>;2300  readonly license: Option<Bytes>;2301  readonly thumb: Option<Bytes>;2302}23032304/** @name RmrkTraitsResourceComposableResource */2305export interface RmrkTraitsResourceComposableResource extends Struct {2306  readonly parts: Vec<u32>;2307  readonly base: u32;2308  readonly src: Option<Bytes>;2309  readonly metadata: Option<Bytes>;2310  readonly license: Option<Bytes>;2311  readonly thumb: Option<Bytes>;2312}23132314/** @name RmrkTraitsResourceResourceInfo */2315export interface RmrkTraitsResourceResourceInfo extends Struct {2316  readonly id: u32;2317  readonly resource: RmrkTraitsResourceResourceTypes;2318  readonly pending: bool;2319  readonly pendingRemoval: bool;2320}23212322/** @name RmrkTraitsResourceResourceTypes */2323export interface RmrkTraitsResourceResourceTypes extends Enum {2324  readonly isBasic: boolean;2325  readonly asBasic: RmrkTraitsResourceBasicResource;2326  readonly isComposable: boolean;2327  readonly asComposable: RmrkTraitsResourceComposableResource;2328  readonly isSlot: boolean;2329  readonly asSlot: RmrkTraitsResourceSlotResource;2330  readonly type: 'Basic' | 'Composable' | 'Slot';2331}23322333/** @name RmrkTraitsResourceSlotResource */2334export interface RmrkTraitsResourceSlotResource extends Struct {2335  readonly base: u32;2336  readonly src: Option<Bytes>;2337  readonly metadata: Option<Bytes>;2338  readonly slot: u32;2339  readonly license: Option<Bytes>;2340  readonly thumb: Option<Bytes>;2341}23422343/** @name RmrkTraitsTheme */2344export interface RmrkTraitsTheme extends Struct {2345  readonly name: Bytes;2346  readonly properties: Vec<RmrkTraitsThemeThemeProperty>;2347  readonly inherit: bool;2348}23492350/** @name RmrkTraitsThemeThemeProperty */2351export interface RmrkTraitsThemeThemeProperty extends Struct {2352  readonly key: Bytes;2353  readonly value: Bytes;2354}23552356/** @name SpCoreEcdsaSignature */2357export interface SpCoreEcdsaSignature extends U8aFixed {}23582359/** @name SpCoreEd25519Signature */2360export interface SpCoreEd25519Signature extends U8aFixed {}23612362/** @name SpCoreSr25519Signature */2363export interface SpCoreSr25519Signature extends U8aFixed {}23642365/** @name SpCoreVoid */2366export interface SpCoreVoid extends Null {}23672368/** @name SpRuntimeArithmeticError */2369export interface SpRuntimeArithmeticError extends Enum {2370  readonly isUnderflow: boolean;2371  readonly isOverflow: boolean;2372  readonly isDivisionByZero: boolean;2373  readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';2374}23752376/** @name SpRuntimeDigest */2377export interface SpRuntimeDigest extends Struct {2378  readonly logs: Vec<SpRuntimeDigestDigestItem>;2379}23802381/** @name SpRuntimeDigestDigestItem */2382export interface SpRuntimeDigestDigestItem extends Enum {2383  readonly isOther: boolean;2384  readonly asOther: Bytes;2385  readonly isConsensus: boolean;2386  readonly asConsensus: ITuple<[U8aFixed, Bytes]>;2387  readonly isSeal: boolean;2388  readonly asSeal: ITuple<[U8aFixed, Bytes]>;2389  readonly isPreRuntime: boolean;2390  readonly asPreRuntime: ITuple<[U8aFixed, Bytes]>;2391  readonly isRuntimeEnvironmentUpdated: boolean;2392  readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated';2393}23942395/** @name SpRuntimeDispatchError */2396export interface SpRuntimeDispatchError extends Enum {2397  readonly isOther: boolean;2398  readonly isCannotLookup: boolean;2399  readonly isBadOrigin: boolean;2400  readonly isModule: boolean;2401  readonly asModule: SpRuntimeModuleError;2402  readonly isConsumerRemaining: boolean;2403  readonly isNoProviders: boolean;2404  readonly isTooManyConsumers: boolean;2405  readonly isToken: boolean;2406  readonly asToken: SpRuntimeTokenError;2407  readonly isArithmetic: boolean;2408  readonly asArithmetic: SpRuntimeArithmeticError;2409  readonly isTransactional: boolean;2410  readonly asTransactional: SpRuntimeTransactionalError;2411  readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional';2412}24132414/** @name SpRuntimeModuleError */2415export interface SpRuntimeModuleError extends Struct {2416  readonly index: u8;2417  readonly error: U8aFixed;2418}24192420/** @name SpRuntimeMultiSignature */2421export interface SpRuntimeMultiSignature extends Enum {2422  readonly isEd25519: boolean;2423  readonly asEd25519: SpCoreEd25519Signature;2424  readonly isSr25519: boolean;2425  readonly asSr25519: SpCoreSr25519Signature;2426  readonly isEcdsa: boolean;2427  readonly asEcdsa: SpCoreEcdsaSignature;2428  readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';2429}24302431/** @name SpRuntimeTokenError */2432export interface SpRuntimeTokenError extends Enum {2433  readonly isNoFunds: boolean;2434  readonly isWouldDie: boolean;2435  readonly isBelowMinimum: boolean;2436  readonly isCannotCreate: boolean;2437  readonly isUnknownAsset: boolean;2438  readonly isFrozen: boolean;2439  readonly isUnsupported: boolean;2440  readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported';2441}24422443/** @name SpRuntimeTransactionalError */2444export interface SpRuntimeTransactionalError extends Enum {2445  readonly isLimitReached: boolean;2446  readonly isNoLayer: boolean;2447  readonly type: 'LimitReached' | 'NoLayer';2448}24492450/** @name SpTrieStorageProof */2451export interface SpTrieStorageProof extends Struct {2452  readonly trieNodes: BTreeSet<Bytes>;2453}24542455/** @name SpVersionRuntimeVersion */2456export interface SpVersionRuntimeVersion extends Struct {2457  readonly specName: Text;2458  readonly implName: Text;2459  readonly authoringVersion: u32;2460  readonly specVersion: u32;2461  readonly implVersion: u32;2462  readonly apis: Vec<ITuple<[U8aFixed, u32]>>;2463  readonly transactionVersion: u32;2464  readonly stateVersion: u8;2465}24662467/** @name UpDataStructsAccessMode */2468export interface UpDataStructsAccessMode extends Enum {2469  readonly isNormal: boolean;2470  readonly isAllowList: boolean;2471  readonly type: 'Normal' | 'AllowList';2472}24732474/** @name UpDataStructsCollection */2475export interface UpDataStructsCollection extends Struct {2476  readonly owner: AccountId32;2477  readonly mode: UpDataStructsCollectionMode;2478  readonly name: Vec<u16>;2479  readonly description: Vec<u16>;2480  readonly tokenPrefix: Bytes;2481  readonly sponsorship: UpDataStructsSponsorshipStateAccountId32;2482  readonly limits: UpDataStructsCollectionLimits;2483  readonly permissions: UpDataStructsCollectionPermissions;2484  readonly externalCollection: bool;2485}24862487/** @name UpDataStructsCollectionLimits */2488export interface UpDataStructsCollectionLimits extends Struct {2489  readonly accountTokenOwnershipLimit: Option<u32>;2490  readonly sponsoredDataSize: Option<u32>;2491  readonly sponsoredDataRateLimit: Option<UpDataStructsSponsoringRateLimit>;2492  readonly tokenLimit: Option<u32>;2493  readonly sponsorTransferTimeout: Option<u32>;2494  readonly sponsorApproveTimeout: Option<u32>;2495  readonly ownerCanTransfer: Option<bool>;2496  readonly ownerCanDestroy: Option<bool>;2497  readonly transfersEnabled: Option<bool>;2498}24992500/** @name UpDataStructsCollectionMode */2501export interface UpDataStructsCollectionMode extends Enum {2502  readonly isNft: boolean;2503  readonly isFungible: boolean;2504  readonly asFungible: u8;2505  readonly isReFungible: boolean;2506  readonly type: 'Nft' | 'Fungible' | 'ReFungible';2507}25082509/** @name UpDataStructsCollectionPermissions */2510export interface UpDataStructsCollectionPermissions extends Struct {2511  readonly access: Option<UpDataStructsAccessMode>;2512  readonly mintMode: Option<bool>;2513  readonly nesting: Option<UpDataStructsNestingPermissions>;2514}25152516/** @name UpDataStructsCollectionStats */2517export interface UpDataStructsCollectionStats extends Struct {2518  readonly created: u32;2519  readonly destroyed: u32;2520  readonly alive: u32;2521}25222523/** @name UpDataStructsCreateCollectionData */2524export interface UpDataStructsCreateCollectionData extends Struct {2525  readonly mode: UpDataStructsCollectionMode;2526  readonly access: Option<UpDataStructsAccessMode>;2527  readonly name: Vec<u16>;2528  readonly description: Vec<u16>;2529  readonly tokenPrefix: Bytes;2530  readonly pendingSponsor: Option<AccountId32>;2531  readonly limits: Option<UpDataStructsCollectionLimits>;2532  readonly permissions: Option<UpDataStructsCollectionPermissions>;2533  readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;2534  readonly properties: Vec<UpDataStructsProperty>;2535}25362537/** @name UpDataStructsCreateFungibleData */2538export interface UpDataStructsCreateFungibleData extends Struct {2539  readonly value: u128;2540}25412542/** @name UpDataStructsCreateItemData */2543export interface UpDataStructsCreateItemData extends Enum {2544  readonly isNft: boolean;2545  readonly asNft: UpDataStructsCreateNftData;2546  readonly isFungible: boolean;2547  readonly asFungible: UpDataStructsCreateFungibleData;2548  readonly isReFungible: boolean;2549  readonly asReFungible: UpDataStructsCreateReFungibleData;2550  readonly type: 'Nft' | 'Fungible' | 'ReFungible';2551}25522553/** @name UpDataStructsCreateItemExData */2554export interface UpDataStructsCreateItemExData extends Enum {2555  readonly isNft: boolean;2556  readonly asNft: Vec<UpDataStructsCreateNftExData>;2557  readonly isFungible: boolean;2558  readonly asFungible: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr,u128>;2559  readonly isRefungibleMultipleItems: boolean;2560  readonly asRefungibleMultipleItems: Vec<UpDataStructsCreateRefungibleExSingleOwner>;2561  readonly isRefungibleMultipleOwners: boolean;2562  readonly asRefungibleMultipleOwners: UpDataStructsCreateRefungibleExMultipleOwners;2563  readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';2564}25652566/** @name UpDataStructsCreateNftData */2567export interface UpDataStructsCreateNftData extends Struct {2568  readonly properties: Vec<UpDataStructsProperty>;2569}25702571/** @name UpDataStructsCreateNftExData */2572export interface UpDataStructsCreateNftExData extends Struct {2573  readonly properties: Vec<UpDataStructsProperty>;2574  readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2575}25762577/** @name UpDataStructsCreateReFungibleData */2578export interface UpDataStructsCreateReFungibleData extends Struct {2579  readonly pieces: u128;2580  readonly properties: Vec<UpDataStructsProperty>;2581}25822583/** @name UpDataStructsCreateRefungibleExMultipleOwners */2584export interface UpDataStructsCreateRefungibleExMultipleOwners extends Struct {2585  readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;2586  readonly properties: Vec<UpDataStructsProperty>;2587}25882589/** @name UpDataStructsCreateRefungibleExSingleOwner */2590export interface UpDataStructsCreateRefungibleExSingleOwner extends Struct {2591  readonly user: PalletEvmAccountBasicCrossAccountIdRepr;2592  readonly pieces: u128;2593  readonly properties: Vec<UpDataStructsProperty>;2594}25952596/** @name UpDataStructsNestingPermissions */2597export interface UpDataStructsNestingPermissions extends Struct {2598  readonly tokenOwner: bool;2599  readonly collectionAdmin: bool;2600  readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;2601}26022603/** @name UpDataStructsOwnerRestrictedSet */2604export interface UpDataStructsOwnerRestrictedSet extends BTreeSet<u32> {}26052606/** @name UpDataStructsProperties */2607export interface UpDataStructsProperties extends Struct {2608  readonly map: UpDataStructsPropertiesMapBoundedVec;2609  readonly consumedSpace: u32;2610  readonly spaceLimit: u32;2611}26122613/** @name UpDataStructsPropertiesMapBoundedVec */2614export interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}26152616/** @name UpDataStructsPropertiesMapPropertyPermission */2617export interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}26182619/** @name UpDataStructsProperty */2620export interface UpDataStructsProperty extends Struct {2621  readonly key: Bytes;2622  readonly value: Bytes;2623}26242625/** @name UpDataStructsPropertyKeyPermission */2626export interface UpDataStructsPropertyKeyPermission extends Struct {2627  readonly key: Bytes;2628  readonly permission: UpDataStructsPropertyPermission;2629}26302631/** @name UpDataStructsPropertyPermission */2632export interface UpDataStructsPropertyPermission extends Struct {2633  readonly mutable: bool;2634  readonly collectionAdmin: bool;2635  readonly tokenOwner: bool;2636}26372638/** @name UpDataStructsPropertyScope */2639export interface UpDataStructsPropertyScope extends Enum {2640  readonly isNone: boolean;2641  readonly isRmrk: boolean;2642  readonly isEth: boolean;2643  readonly type: 'None' | 'Rmrk' | 'Eth';2644}26452646/** @name UpDataStructsRpcCollection */2647export interface UpDataStructsRpcCollection extends Struct {2648  readonly owner: AccountId32;2649  readonly mode: UpDataStructsCollectionMode;2650  readonly name: Vec<u16>;2651  readonly description: Vec<u16>;2652  readonly tokenPrefix: Bytes;2653  readonly sponsorship: UpDataStructsSponsorshipStateAccountId32;2654  readonly limits: UpDataStructsCollectionLimits;2655  readonly permissions: UpDataStructsCollectionPermissions;2656  readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;2657  readonly properties: Vec<UpDataStructsProperty>;2658  readonly readOnly: bool;2659}26602661/** @name UpDataStructsSponsoringRateLimit */2662export interface UpDataStructsSponsoringRateLimit extends Enum {2663  readonly isSponsoringDisabled: boolean;2664  readonly isBlocks: boolean;2665  readonly asBlocks: u32;2666  readonly type: 'SponsoringDisabled' | 'Blocks';2667}26682669/** @name UpDataStructsSponsorshipStateAccountId32 */2670export interface UpDataStructsSponsorshipStateAccountId32 extends Enum {2671  readonly isDisabled: boolean;2672  readonly isUnconfirmed: boolean;2673  readonly asUnconfirmed: AccountId32;2674  readonly isConfirmed: boolean;2675  readonly asConfirmed: AccountId32;2676  readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';2677}26782679/** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr */2680export interface UpDataStructsSponsorshipStateBasicCrossAccountIdRepr extends Enum {2681  readonly isDisabled: boolean;2682  readonly isUnconfirmed: boolean;2683  readonly asUnconfirmed: PalletEvmAccountBasicCrossAccountIdRepr;2684  readonly isConfirmed: boolean;2685  readonly asConfirmed: PalletEvmAccountBasicCrossAccountIdRepr;2686  readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';2687}26882689/** @name UpDataStructsTokenChild */2690export interface UpDataStructsTokenChild extends Struct {2691  readonly token: u32;2692  readonly collection: u32;2693}26942695/** @name UpDataStructsTokenData */2696export interface UpDataStructsTokenData extends Struct {2697  readonly properties: Vec<UpDataStructsProperty>;2698  readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;2699  readonly pieces: u128;2700}27012702/** @name XcmDoubleEncoded */2703export interface XcmDoubleEncoded extends Struct {2704  readonly encoded: Bytes;2705}27062707/** @name XcmV0Junction */2708export interface XcmV0Junction extends Enum {2709  readonly isParent: boolean;2710  readonly isParachain: boolean;2711  readonly asParachain: Compact<u32>;2712  readonly isAccountId32: boolean;2713  readonly asAccountId32: {2714    readonly network: XcmV0JunctionNetworkId;2715    readonly id: U8aFixed;2716  } & Struct;2717  readonly isAccountIndex64: boolean;2718  readonly asAccountIndex64: {2719    readonly network: XcmV0JunctionNetworkId;2720    readonly index: Compact<u64>;2721  } & Struct;2722  readonly isAccountKey20: boolean;2723  readonly asAccountKey20: {2724    readonly network: XcmV0JunctionNetworkId;2725    readonly key: U8aFixed;2726  } & Struct;2727  readonly isPalletInstance: boolean;2728  readonly asPalletInstance: u8;2729  readonly isGeneralIndex: boolean;2730  readonly asGeneralIndex: Compact<u128>;2731  readonly isGeneralKey: boolean;2732  readonly asGeneralKey: Bytes;2733  readonly isOnlyChild: boolean;2734  readonly isPlurality: boolean;2735  readonly asPlurality: {2736    readonly id: XcmV0JunctionBodyId;2737    readonly part: XcmV0JunctionBodyPart;2738  } & Struct;2739  readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';2740}27412742/** @name XcmV0JunctionBodyId */2743export interface XcmV0JunctionBodyId extends Enum {2744  readonly isUnit: boolean;2745  readonly isNamed: boolean;2746  readonly asNamed: Bytes;2747  readonly isIndex: boolean;2748  readonly asIndex: Compact<u32>;2749  readonly isExecutive: boolean;2750  readonly isTechnical: boolean;2751  readonly isLegislative: boolean;2752  readonly isJudicial: boolean;2753  readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial';2754}27552756/** @name XcmV0JunctionBodyPart */2757export interface XcmV0JunctionBodyPart extends Enum {2758  readonly isVoice: boolean;2759  readonly isMembers: boolean;2760  readonly asMembers: {2761    readonly count: Compact<u32>;2762  } & Struct;2763  readonly isFraction: boolean;2764  readonly asFraction: {2765    readonly nom: Compact<u32>;2766    readonly denom: Compact<u32>;2767  } & Struct;2768  readonly isAtLeastProportion: boolean;2769  readonly asAtLeastProportion: {2770    readonly nom: Compact<u32>;2771    readonly denom: Compact<u32>;2772  } & Struct;2773  readonly isMoreThanProportion: boolean;2774  readonly asMoreThanProportion: {2775    readonly nom: Compact<u32>;2776    readonly denom: Compact<u32>;2777  } & Struct;2778  readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';2779}27802781/** @name XcmV0JunctionNetworkId */2782export interface XcmV0JunctionNetworkId extends Enum {2783  readonly isAny: boolean;2784  readonly isNamed: boolean;2785  readonly asNamed: Bytes;2786  readonly isPolkadot: boolean;2787  readonly isKusama: boolean;2788  readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';2789}27902791/** @name XcmV0MultiAsset */2792export interface XcmV0MultiAsset extends Enum {2793  readonly isNone: boolean;2794  readonly isAll: boolean;2795  readonly isAllFungible: boolean;2796  readonly isAllNonFungible: boolean;2797  readonly isAllAbstractFungible: boolean;2798  readonly asAllAbstractFungible: {2799    readonly id: Bytes;2800  } & Struct;2801  readonly isAllAbstractNonFungible: boolean;2802  readonly asAllAbstractNonFungible: {2803    readonly class: Bytes;2804  } & Struct;2805  readonly isAllConcreteFungible: boolean;2806  readonly asAllConcreteFungible: {2807    readonly id: XcmV0MultiLocation;2808  } & Struct;2809  readonly isAllConcreteNonFungible: boolean;2810  readonly asAllConcreteNonFungible: {2811    readonly class: XcmV0MultiLocation;2812  } & Struct;2813  readonly isAbstractFungible: boolean;2814  readonly asAbstractFungible: {2815    readonly id: Bytes;2816    readonly amount: Compact<u128>;2817  } & Struct;2818  readonly isAbstractNonFungible: boolean;2819  readonly asAbstractNonFungible: {2820    readonly class: Bytes;2821    readonly instance: XcmV1MultiassetAssetInstance;2822  } & Struct;2823  readonly isConcreteFungible: boolean;2824  readonly asConcreteFungible: {2825    readonly id: XcmV0MultiLocation;2826    readonly amount: Compact<u128>;2827  } & Struct;2828  readonly isConcreteNonFungible: boolean;2829  readonly asConcreteNonFungible: {2830    readonly class: XcmV0MultiLocation;2831    readonly instance: XcmV1MultiassetAssetInstance;2832  } & Struct;2833  readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible';2834}28352836/** @name XcmV0MultiLocation */2837export interface XcmV0MultiLocation extends Enum {2838  readonly isNull: boolean;2839  readonly isX1: boolean;2840  readonly asX1: XcmV0Junction;2841  readonly isX2: boolean;2842  readonly asX2: ITuple<[XcmV0Junction, XcmV0Junction]>;2843  readonly isX3: boolean;2844  readonly asX3: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2845  readonly isX4: boolean;2846  readonly asX4: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2847  readonly isX5: boolean;2848  readonly asX5: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2849  readonly isX6: boolean;2850  readonly asX6: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2851  readonly isX7: boolean;2852  readonly asX7: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2853  readonly isX8: boolean;2854  readonly asX8: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2855  readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';2856}28572858/** @name XcmV0Order */2859export interface XcmV0Order extends Enum {2860  readonly isNull: boolean;2861  readonly isDepositAsset: boolean;2862  readonly asDepositAsset: {2863    readonly assets: Vec<XcmV0MultiAsset>;2864    readonly dest: XcmV0MultiLocation;2865  } & Struct;2866  readonly isDepositReserveAsset: boolean;2867  readonly asDepositReserveAsset: {2868    readonly assets: Vec<XcmV0MultiAsset>;2869    readonly dest: XcmV0MultiLocation;2870    readonly effects: Vec<XcmV0Order>;2871  } & Struct;2872  readonly isExchangeAsset: boolean;2873  readonly asExchangeAsset: {2874    readonly give: Vec<XcmV0MultiAsset>;2875    readonly receive: Vec<XcmV0MultiAsset>;2876  } & Struct;2877  readonly isInitiateReserveWithdraw: boolean;2878  readonly asInitiateReserveWithdraw: {2879    readonly assets: Vec<XcmV0MultiAsset>;2880    readonly reserve: XcmV0MultiLocation;2881    readonly effects: Vec<XcmV0Order>;2882  } & Struct;2883  readonly isInitiateTeleport: boolean;2884  readonly asInitiateTeleport: {2885    readonly assets: Vec<XcmV0MultiAsset>;2886    readonly dest: XcmV0MultiLocation;2887    readonly effects: Vec<XcmV0Order>;2888  } & Struct;2889  readonly isQueryHolding: boolean;2890  readonly asQueryHolding: {2891    readonly queryId: Compact<u64>;2892    readonly dest: XcmV0MultiLocation;2893    readonly assets: Vec<XcmV0MultiAsset>;2894  } & Struct;2895  readonly isBuyExecution: boolean;2896  readonly asBuyExecution: {2897    readonly fees: XcmV0MultiAsset;2898    readonly weight: u64;2899    readonly debt: u64;2900    readonly haltOnError: bool;2901    readonly xcm: Vec<XcmV0Xcm>;2902  } & Struct;2903  readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2904}29052906/** @name XcmV0OriginKind */2907export interface XcmV0OriginKind extends Enum {2908  readonly isNative: boolean;2909  readonly isSovereignAccount: boolean;2910  readonly isSuperuser: boolean;2911  readonly isXcm: boolean;2912  readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';2913}29142915/** @name XcmV0Response */2916export interface XcmV0Response extends Enum {2917  readonly isAssets: boolean;2918  readonly asAssets: Vec<XcmV0MultiAsset>;2919  readonly type: 'Assets';2920}29212922/** @name XcmV0Xcm */2923export interface XcmV0Xcm extends Enum {2924  readonly isWithdrawAsset: boolean;2925  readonly asWithdrawAsset: {2926    readonly assets: Vec<XcmV0MultiAsset>;2927    readonly effects: Vec<XcmV0Order>;2928  } & Struct;2929  readonly isReserveAssetDeposit: boolean;2930  readonly asReserveAssetDeposit: {2931    readonly assets: Vec<XcmV0MultiAsset>;2932    readonly effects: Vec<XcmV0Order>;2933  } & Struct;2934  readonly isTeleportAsset: boolean;2935  readonly asTeleportAsset: {2936    readonly assets: Vec<XcmV0MultiAsset>;2937    readonly effects: Vec<XcmV0Order>;2938  } & Struct;2939  readonly isQueryResponse: boolean;2940  readonly asQueryResponse: {2941    readonly queryId: Compact<u64>;2942    readonly response: XcmV0Response;2943  } & Struct;2944  readonly isTransferAsset: boolean;2945  readonly asTransferAsset: {2946    readonly assets: Vec<XcmV0MultiAsset>;2947    readonly dest: XcmV0MultiLocation;2948  } & Struct;2949  readonly isTransferReserveAsset: boolean;2950  readonly asTransferReserveAsset: {2951    readonly assets: Vec<XcmV0MultiAsset>;2952    readonly dest: XcmV0MultiLocation;2953    readonly effects: Vec<XcmV0Order>;2954  } & Struct;2955  readonly isTransact: boolean;2956  readonly asTransact: {2957    readonly originType: XcmV0OriginKind;2958    readonly requireWeightAtMost: u64;2959    readonly call: XcmDoubleEncoded;2960  } & Struct;2961  readonly isHrmpNewChannelOpenRequest: boolean;2962  readonly asHrmpNewChannelOpenRequest: {2963    readonly sender: Compact<u32>;2964    readonly maxMessageSize: Compact<u32>;2965    readonly maxCapacity: Compact<u32>;2966  } & Struct;2967  readonly isHrmpChannelAccepted: boolean;2968  readonly asHrmpChannelAccepted: {2969    readonly recipient: Compact<u32>;2970  } & Struct;2971  readonly isHrmpChannelClosing: boolean;2972  readonly asHrmpChannelClosing: {2973    readonly initiator: Compact<u32>;2974    readonly sender: Compact<u32>;2975    readonly recipient: Compact<u32>;2976  } & Struct;2977  readonly isRelayedFrom: boolean;2978  readonly asRelayedFrom: {2979    readonly who: XcmV0MultiLocation;2980    readonly message: XcmV0Xcm;2981  } & Struct;2982  readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';2983}29842985/** @name XcmV1Junction */2986export interface XcmV1Junction extends Enum {2987  readonly isParachain: boolean;2988  readonly asParachain: Compact<u32>;2989  readonly isAccountId32: boolean;2990  readonly asAccountId32: {2991    readonly network: XcmV0JunctionNetworkId;2992    readonly id: U8aFixed;2993  } & Struct;2994  readonly isAccountIndex64: boolean;2995  readonly asAccountIndex64: {2996    readonly network: XcmV0JunctionNetworkId;2997    readonly index: Compact<u64>;2998  } & Struct;2999  readonly isAccountKey20: boolean;3000  readonly asAccountKey20: {3001    readonly network: XcmV0JunctionNetworkId;3002    readonly key: U8aFixed;3003  } & Struct;3004  readonly isPalletInstance: boolean;3005  readonly asPalletInstance: u8;3006  readonly isGeneralIndex: boolean;3007  readonly asGeneralIndex: Compact<u128>;3008  readonly isGeneralKey: boolean;3009  readonly asGeneralKey: Bytes;3010  readonly isOnlyChild: boolean;3011  readonly isPlurality: boolean;3012  readonly asPlurality: {3013    readonly id: XcmV0JunctionBodyId;3014    readonly part: XcmV0JunctionBodyPart;3015  } & Struct;3016  readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';3017}30183019/** @name XcmV1MultiAsset */3020export interface XcmV1MultiAsset extends Struct {3021  readonly id: XcmV1MultiassetAssetId;3022  readonly fun: XcmV1MultiassetFungibility;3023}30243025/** @name XcmV1MultiassetAssetId */3026export interface XcmV1MultiassetAssetId extends Enum {3027  readonly isConcrete: boolean;3028  readonly asConcrete: XcmV1MultiLocation;3029  readonly isAbstract: boolean;3030  readonly asAbstract: Bytes;3031  readonly type: 'Concrete' | 'Abstract';3032}30333034/** @name XcmV1MultiassetAssetInstance */3035export interface XcmV1MultiassetAssetInstance extends Enum {3036  readonly isUndefined: boolean;3037  readonly isIndex: boolean;3038  readonly asIndex: Compact<u128>;3039  readonly isArray4: boolean;3040  readonly asArray4: U8aFixed;3041  readonly isArray8: boolean;3042  readonly asArray8: U8aFixed;3043  readonly isArray16: boolean;3044  readonly asArray16: U8aFixed;3045  readonly isArray32: boolean;3046  readonly asArray32: U8aFixed;3047  readonly isBlob: boolean;3048  readonly asBlob: Bytes;3049  readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';3050}30513052/** @name XcmV1MultiassetFungibility */3053export interface XcmV1MultiassetFungibility extends Enum {3054  readonly isFungible: boolean;3055  readonly asFungible: Compact<u128>;3056  readonly isNonFungible: boolean;3057  readonly asNonFungible: XcmV1MultiassetAssetInstance;3058  readonly type: 'Fungible' | 'NonFungible';3059}30603061/** @name XcmV1MultiassetMultiAssetFilter */3062export interface XcmV1MultiassetMultiAssetFilter extends Enum {3063  readonly isDefinite: boolean;3064  readonly asDefinite: XcmV1MultiassetMultiAssets;3065  readonly isWild: boolean;3066  readonly asWild: XcmV1MultiassetWildMultiAsset;3067  readonly type: 'Definite' | 'Wild';3068}30693070/** @name XcmV1MultiassetMultiAssets */3071export interface XcmV1MultiassetMultiAssets extends Vec<XcmV1MultiAsset> {}30723073/** @name XcmV1MultiassetWildFungibility */3074export interface XcmV1MultiassetWildFungibility extends Enum {3075  readonly isFungible: boolean;3076  readonly isNonFungible: boolean;3077  readonly type: 'Fungible' | 'NonFungible';3078}30793080/** @name XcmV1MultiassetWildMultiAsset */3081export interface XcmV1MultiassetWildMultiAsset extends Enum {3082  readonly isAll: boolean;3083  readonly isAllOf: boolean;3084  readonly asAllOf: {3085    readonly id: XcmV1MultiassetAssetId;3086    readonly fun: XcmV1MultiassetWildFungibility;3087  } & Struct;3088  readonly type: 'All' | 'AllOf';3089}30903091/** @name XcmV1MultiLocation */3092export interface XcmV1MultiLocation extends Struct {3093  readonly parents: u8;3094  readonly interior: XcmV1MultilocationJunctions;3095}30963097/** @name XcmV1MultilocationJunctions */3098export interface XcmV1MultilocationJunctions extends Enum {3099  readonly isHere: boolean;3100  readonly isX1: boolean;3101  readonly asX1: XcmV1Junction;3102  readonly isX2: boolean;3103  readonly asX2: ITuple<[XcmV1Junction, XcmV1Junction]>;3104  readonly isX3: boolean;3105  readonly asX3: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction]>;3106  readonly isX4: boolean;3107  readonly asX4: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;3108  readonly isX5: boolean;3109  readonly asX5: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;3110  readonly isX6: boolean;3111  readonly asX6: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;3112  readonly isX7: boolean;3113  readonly asX7: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;3114  readonly isX8: boolean;3115  readonly asX8: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;3116  readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';3117}31183119/** @name XcmV1Order */3120export interface XcmV1Order extends Enum {3121  readonly isNoop: boolean;3122  readonly isDepositAsset: boolean;3123  readonly asDepositAsset: {3124    readonly assets: XcmV1MultiassetMultiAssetFilter;3125    readonly maxAssets: u32;3126    readonly beneficiary: XcmV1MultiLocation;3127  } & Struct;3128  readonly isDepositReserveAsset: boolean;3129  readonly asDepositReserveAsset: {3130    readonly assets: XcmV1MultiassetMultiAssetFilter;3131    readonly maxAssets: u32;3132    readonly dest: XcmV1MultiLocation;3133    readonly effects: Vec<XcmV1Order>;3134  } & Struct;3135  readonly isExchangeAsset: boolean;3136  readonly asExchangeAsset: {3137    readonly give: XcmV1MultiassetMultiAssetFilter;3138    readonly receive: XcmV1MultiassetMultiAssets;3139  } & Struct;3140  readonly isInitiateReserveWithdraw: boolean;3141  readonly asInitiateReserveWithdraw: {3142    readonly assets: XcmV1MultiassetMultiAssetFilter;3143    readonly reserve: XcmV1MultiLocation;3144    readonly effects: Vec<XcmV1Order>;3145  } & Struct;3146  readonly isInitiateTeleport: boolean;3147  readonly asInitiateTeleport: {3148    readonly assets: XcmV1MultiassetMultiAssetFilter;3149    readonly dest: XcmV1MultiLocation;3150    readonly effects: Vec<XcmV1Order>;3151  } & Struct;3152  readonly isQueryHolding: boolean;3153  readonly asQueryHolding: {3154    readonly queryId: Compact<u64>;3155    readonly dest: XcmV1MultiLocation;3156    readonly assets: XcmV1MultiassetMultiAssetFilter;3157  } & Struct;3158  readonly isBuyExecution: boolean;3159  readonly asBuyExecution: {3160    readonly fees: XcmV1MultiAsset;3161    readonly weight: u64;3162    readonly debt: u64;3163    readonly haltOnError: bool;3164    readonly instructions: Vec<XcmV1Xcm>;3165  } & Struct;3166  readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';3167}31683169/** @name XcmV1Response */3170export interface XcmV1Response extends Enum {3171  readonly isAssets: boolean;3172  readonly asAssets: XcmV1MultiassetMultiAssets;3173  readonly isVersion: boolean;3174  readonly asVersion: u32;3175  readonly type: 'Assets' | 'Version';3176}31773178/** @name XcmV1Xcm */3179export interface XcmV1Xcm extends Enum {3180  readonly isWithdrawAsset: boolean;3181  readonly asWithdrawAsset: {3182    readonly assets: XcmV1MultiassetMultiAssets;3183    readonly effects: Vec<XcmV1Order>;3184  } & Struct;3185  readonly isReserveAssetDeposited: boolean;3186  readonly asReserveAssetDeposited: {3187    readonly assets: XcmV1MultiassetMultiAssets;3188    readonly effects: Vec<XcmV1Order>;3189  } & Struct;3190  readonly isReceiveTeleportedAsset: boolean;3191  readonly asReceiveTeleportedAsset: {3192    readonly assets: XcmV1MultiassetMultiAssets;3193    readonly effects: Vec<XcmV1Order>;3194  } & Struct;3195  readonly isQueryResponse: boolean;3196  readonly asQueryResponse: {3197    readonly queryId: Compact<u64>;3198    readonly response: XcmV1Response;3199  } & Struct;3200  readonly isTransferAsset: boolean;3201  readonly asTransferAsset: {3202    readonly assets: XcmV1MultiassetMultiAssets;3203    readonly beneficiary: XcmV1MultiLocation;3204  } & Struct;3205  readonly isTransferReserveAsset: boolean;3206  readonly asTransferReserveAsset: {3207    readonly assets: XcmV1MultiassetMultiAssets;3208    readonly dest: XcmV1MultiLocation;3209    readonly effects: Vec<XcmV1Order>;3210  } & Struct;3211  readonly isTransact: boolean;3212  readonly asTransact: {3213    readonly originType: XcmV0OriginKind;3214    readonly requireWeightAtMost: u64;3215    readonly call: XcmDoubleEncoded;3216  } & Struct;3217  readonly isHrmpNewChannelOpenRequest: boolean;3218  readonly asHrmpNewChannelOpenRequest: {3219    readonly sender: Compact<u32>;3220    readonly maxMessageSize: Compact<u32>;3221    readonly maxCapacity: Compact<u32>;3222  } & Struct;3223  readonly isHrmpChannelAccepted: boolean;3224  readonly asHrmpChannelAccepted: {3225    readonly recipient: Compact<u32>;3226  } & Struct;3227  readonly isHrmpChannelClosing: boolean;3228  readonly asHrmpChannelClosing: {3229    readonly initiator: Compact<u32>;3230    readonly sender: Compact<u32>;3231    readonly recipient: Compact<u32>;3232  } & Struct;3233  readonly isRelayedFrom: boolean;3234  readonly asRelayedFrom: {3235    readonly who: XcmV1MultilocationJunctions;3236    readonly message: XcmV1Xcm;3237  } & Struct;3238  readonly isSubscribeVersion: boolean;3239  readonly asSubscribeVersion: {3240    readonly queryId: Compact<u64>;3241    readonly maxResponseWeight: Compact<u64>;3242  } & Struct;3243  readonly isUnsubscribeVersion: boolean;3244  readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';3245}32463247/** @name XcmV2Instruction */3248export interface XcmV2Instruction extends Enum {3249  readonly isWithdrawAsset: boolean;3250  readonly asWithdrawAsset: XcmV1MultiassetMultiAssets;3251  readonly isReserveAssetDeposited: boolean;3252  readonly asReserveAssetDeposited: XcmV1MultiassetMultiAssets;3253  readonly isReceiveTeleportedAsset: boolean;3254  readonly asReceiveTeleportedAsset: XcmV1MultiassetMultiAssets;3255  readonly isQueryResponse: boolean;3256  readonly asQueryResponse: {3257    readonly queryId: Compact<u64>;3258    readonly response: XcmV2Response;3259    readonly maxWeight: Compact<u64>;3260  } & Struct;3261  readonly isTransferAsset: boolean;3262  readonly asTransferAsset: {3263    readonly assets: XcmV1MultiassetMultiAssets;3264    readonly beneficiary: XcmV1MultiLocation;3265  } & Struct;3266  readonly isTransferReserveAsset: boolean;3267  readonly asTransferReserveAsset: {3268    readonly assets: XcmV1MultiassetMultiAssets;3269    readonly dest: XcmV1MultiLocation;3270    readonly xcm: XcmV2Xcm;3271  } & Struct;3272  readonly isTransact: boolean;3273  readonly asTransact: {3274    readonly originType: XcmV0OriginKind;3275    readonly requireWeightAtMost: Compact<u64>;3276    readonly call: XcmDoubleEncoded;3277  } & Struct;3278  readonly isHrmpNewChannelOpenRequest: boolean;3279  readonly asHrmpNewChannelOpenRequest: {3280    readonly sender: Compact<u32>;3281    readonly maxMessageSize: Compact<u32>;3282    readonly maxCapacity: Compact<u32>;3283  } & Struct;3284  readonly isHrmpChannelAccepted: boolean;3285  readonly asHrmpChannelAccepted: {3286    readonly recipient: Compact<u32>;3287  } & Struct;3288  readonly isHrmpChannelClosing: boolean;3289  readonly asHrmpChannelClosing: {3290    readonly initiator: Compact<u32>;3291    readonly sender: Compact<u32>;3292    readonly recipient: Compact<u32>;3293  } & Struct;3294  readonly isClearOrigin: boolean;3295  readonly isDescendOrigin: boolean;3296  readonly asDescendOrigin: XcmV1MultilocationJunctions;3297  readonly isReportError: boolean;3298  readonly asReportError: {3299    readonly queryId: Compact<u64>;3300    readonly dest: XcmV1MultiLocation;3301    readonly maxResponseWeight: Compact<u64>;3302  } & Struct;3303  readonly isDepositAsset: boolean;3304  readonly asDepositAsset: {3305    readonly assets: XcmV1MultiassetMultiAssetFilter;3306    readonly maxAssets: Compact<u32>;3307    readonly beneficiary: XcmV1MultiLocation;3308  } & Struct;3309  readonly isDepositReserveAsset: boolean;3310  readonly asDepositReserveAsset: {3311    readonly assets: XcmV1MultiassetMultiAssetFilter;3312    readonly maxAssets: Compact<u32>;3313    readonly dest: XcmV1MultiLocation;3314    readonly xcm: XcmV2Xcm;3315  } & Struct;3316  readonly isExchangeAsset: boolean;3317  readonly asExchangeAsset: {3318    readonly give: XcmV1MultiassetMultiAssetFilter;3319    readonly receive: XcmV1MultiassetMultiAssets;3320  } & Struct;3321  readonly isInitiateReserveWithdraw: boolean;3322  readonly asInitiateReserveWithdraw: {3323    readonly assets: XcmV1MultiassetMultiAssetFilter;3324    readonly reserve: XcmV1MultiLocation;3325    readonly xcm: XcmV2Xcm;3326  } & Struct;3327  readonly isInitiateTeleport: boolean;3328  readonly asInitiateTeleport: {3329    readonly assets: XcmV1MultiassetMultiAssetFilter;3330    readonly dest: XcmV1MultiLocation;3331    readonly xcm: XcmV2Xcm;3332  } & Struct;3333  readonly isQueryHolding: boolean;3334  readonly asQueryHolding: {3335    readonly queryId: Compact<u64>;3336    readonly dest: XcmV1MultiLocation;3337    readonly assets: XcmV1MultiassetMultiAssetFilter;3338    readonly maxResponseWeight: Compact<u64>;3339  } & Struct;3340  readonly isBuyExecution: boolean;3341  readonly asBuyExecution: {3342    readonly fees: XcmV1MultiAsset;3343    readonly weightLimit: XcmV2WeightLimit;3344  } & Struct;3345  readonly isRefundSurplus: boolean;3346  readonly isSetErrorHandler: boolean;3347  readonly asSetErrorHandler: XcmV2Xcm;3348  readonly isSetAppendix: boolean;3349  readonly asSetAppendix: XcmV2Xcm;3350  readonly isClearError: boolean;3351  readonly isClaimAsset: boolean;3352  readonly asClaimAsset: {3353    readonly assets: XcmV1MultiassetMultiAssets;3354    readonly ticket: XcmV1MultiLocation;3355  } & Struct;3356  readonly isTrap: boolean;3357  readonly asTrap: Compact<u64>;3358  readonly isSubscribeVersion: boolean;3359  readonly asSubscribeVersion: {3360    readonly queryId: Compact<u64>;3361    readonly maxResponseWeight: Compact<u64>;3362  } & Struct;3363  readonly isUnsubscribeVersion: boolean;3364  readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion';3365}33663367/** @name XcmV2Response */3368export interface XcmV2Response extends Enum {3369  readonly isNull: boolean;3370  readonly isAssets: boolean;3371  readonly asAssets: XcmV1MultiassetMultiAssets;3372  readonly isExecutionResult: boolean;3373  readonly asExecutionResult: Option<ITuple<[u32, XcmV2TraitsError]>>;3374  readonly isVersion: boolean;3375  readonly asVersion: u32;3376  readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';3377}33783379/** @name XcmV2TraitsError */3380export interface XcmV2TraitsError extends Enum {3381  readonly isOverflow: boolean;3382  readonly isUnimplemented: boolean;3383  readonly isUntrustedReserveLocation: boolean;3384  readonly isUntrustedTeleportLocation: boolean;3385  readonly isMultiLocationFull: boolean;3386  readonly isMultiLocationNotInvertible: boolean;3387  readonly isBadOrigin: boolean;3388  readonly isInvalidLocation: boolean;3389  readonly isAssetNotFound: boolean;3390  readonly isFailedToTransactAsset: boolean;3391  readonly isNotWithdrawable: boolean;3392  readonly isLocationCannotHold: boolean;3393  readonly isExceedsMaxMessageSize: boolean;3394  readonly isDestinationUnsupported: boolean;3395  readonly isTransport: boolean;3396  readonly isUnroutable: boolean;3397  readonly isUnknownClaim: boolean;3398  readonly isFailedToDecode: boolean;3399  readonly isMaxWeightInvalid: boolean;3400  readonly isNotHoldingFees: boolean;3401  readonly isTooExpensive: boolean;3402  readonly isTrap: boolean;3403  readonly asTrap: u64;3404  readonly isUnhandledXcmVersion: boolean;3405  readonly isWeightLimitReached: boolean;3406  readonly asWeightLimitReached: u64;3407  readonly isBarrier: boolean;3408  readonly isWeightNotComputable: boolean;3409  readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'MultiLocationFull' | 'MultiLocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable';3410}34113412/** @name XcmV2TraitsOutcome */3413export interface XcmV2TraitsOutcome extends Enum {3414  readonly isComplete: boolean;3415  readonly asComplete: u64;3416  readonly isIncomplete: boolean;3417  readonly asIncomplete: ITuple<[u64, XcmV2TraitsError]>;3418  readonly isError: boolean;3419  readonly asError: XcmV2TraitsError;3420  readonly type: 'Complete' | 'Incomplete' | 'Error';3421}34223423/** @name XcmV2WeightLimit */3424export interface XcmV2WeightLimit extends Enum {3425  readonly isUnlimited: boolean;3426  readonly isLimited: boolean;3427  readonly asLimited: Compact<u64>;3428  readonly type: 'Unlimited' | 'Limited';3429}34303431/** @name XcmV2Xcm */3432export interface XcmV2Xcm extends Vec<XcmV2Instruction> {}34333434/** @name XcmVersionedMultiAssets */3435export interface XcmVersionedMultiAssets extends Enum {3436  readonly isV0: boolean;3437  readonly asV0: Vec<XcmV0MultiAsset>;3438  readonly isV1: boolean;3439  readonly asV1: XcmV1MultiassetMultiAssets;3440  readonly type: 'V0' | 'V1';3441}34423443/** @name XcmVersionedMultiLocation */3444export interface XcmVersionedMultiLocation extends Enum {3445  readonly isV0: boolean;3446  readonly asV0: XcmV0MultiLocation;3447  readonly isV1: boolean;3448  readonly asV1: XcmV1MultiLocation;3449  readonly type: 'V0' | 'V1';3450}34513452/** @name XcmVersionedXcm */3453export interface XcmVersionedXcm extends Enum {3454  readonly isV0: boolean;3455  readonly asV0: XcmV0Xcm;3456  readonly isV1: boolean;3457  readonly asV1: XcmV1Xcm;3458  readonly isV2: boolean;3459  readonly asV2: XcmV2Xcm;3460  readonly type: 'V0' | 'V1' | 'V2';3461}34623463export type PHANTOM_DEFAULT = 'default';
modifiedtests/src/interfaces/definitions.tsdiffbeforeafterboth
--- a/tests/src/interfaces/definitions.ts
+++ b/tests/src/interfaces/definitions.ts
@@ -15,5 +15,6 @@
 // along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
 
 export {default as unique} from './unique/definitions';
+export {default as appPromotion} from './appPromotion/definitions';
 export {default as rmrk} from './rmrk/definitions';
 export {default as default} from './default/definitions';
\ No newline at end of file
modifiedtests/src/interfaces/lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/lookup.ts
+++ b/tests/src/interfaces/lookup.ts
@@ -2467,9 +2467,7 @@
       stake: {
         amount: 'u128',
       },
-      unstake: {
-        amount: 'u128',
-      },
+      unstake: 'Null',
       sponsor_collection: {
         collectionId: 'u32',
       },
@@ -3078,7 +3076,7 @@
    * Lookup403: up_data_structs::PropertyScope
    **/
   UpDataStructsPropertyScope: {
-    _enum: ['None', 'Rmrk', 'Eth']
+    _enum: ['None', 'Rmrk']
   },
   /**
    * Lookup405: pallet_nonfungible::pallet::Error<T>
modifiedtests/src/interfaces/types-lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/types-lookup.ts
+++ b/tests/src/interfaces/types-lookup.ts
@@ -2675,9 +2675,6 @@
       readonly amount: u128;
     } & Struct;
     readonly isUnstake: boolean;
-    readonly asUnstake: {
-      readonly amount: u128;
-    } & Struct;
     readonly isSponsorCollection: boolean;
     readonly asSponsorCollection: {
       readonly collectionId: u32;
@@ -3238,8 +3235,7 @@
   interface UpDataStructsPropertyScope extends Enum {
     readonly isNone: boolean;
     readonly isRmrk: boolean;
-    readonly isEth: boolean;
-    readonly type: 'None' | 'Rmrk' | 'Eth';
+    readonly type: 'None' | 'Rmrk';
   }
 
   /** @name PalletNonfungibleError (405) */
modifiedtests/src/interfaces/types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/types.ts
+++ b/tests/src/interfaces/types.ts
@@ -2,5 +2,6 @@
 /* eslint-disable */
 
 export * from './unique/types';
+export * from './appPromotion/types';
 export * from './rmrk/types';
 export * from './default/types';
modifiedtests/src/interfaces/unique/definitions.tsdiffbeforeafterboth
--- a/tests/src/interfaces/unique/definitions.ts
+++ b/tests/src/interfaces/unique/definitions.ts
@@ -175,30 +175,5 @@
       [collectionParam, tokenParam], 
       'Option<u128>',
     ),
-    totalStaked: fun(
-      'Returns the total amount of staked tokens',
-      [{name: 'staker', type: CROSS_ACCOUNT_ID_TYPE, isOptional: true}],
-      'u128',
-    ),
-    totalStakedPerBlock: fun(
-      'Returns the total amount of staked tokens per block when staked',
-      [crossAccountParam('staker')],
-      'Vec<(u32, u128)>',
-    ),
-    totalStakingLocked: fun(
-      'Return the total amount locked by staking tokens',
-      [crossAccountParam('staker')],
-      'u128',
-    ),
-    pendingUnstake: fun(
-      'Returns the total amount of unstaked tokens',
-      [{name: 'staker', type: CROSS_ACCOUNT_ID_TYPE, isOptional: true}],
-      'u128',
-    ),
-    pendingUnstakePerBlock: fun(
-      'Returns the total amount of unstaked tokens per block',
-      [crossAccountParam('staker')],
-      'Vec<(u32, u128)>',
-    ),
   },
 };
modifiedtests/src/substrate/substrate-api.tsdiffbeforeafterboth
--- a/tests/src/substrate/substrate-api.ts
+++ b/tests/src/substrate/substrate-api.ts
@@ -42,6 +42,7 @@
     },
     rpc: {
       unique: defs.unique.rpc,
+      appPromotion: defs.appPromotion.rpc,
       rmrk: defs.rmrk.rpc,
       eth: {
         feeHistory: {
modifiedtests/src/util/playgrounds/unique.dev.tsdiffbeforeafterboth
--- a/tests/src/util/playgrounds/unique.dev.ts
+++ b/tests/src/util/playgrounds/unique.dev.ts
@@ -35,6 +35,7 @@
       },
       rpc: {
         unique: defs.unique.rpc,
+        appPromotion: defs.appPromotion.rpc,
         rmrk: defs.rmrk.rpc,
         eth: {
           feeHistory: {
modifiedtests/src/util/playgrounds/unique.tsdiffbeforeafterboth
--- a/tests/src/util/playgrounds/unique.ts
+++ b/tests/src/util/playgrounds/unique.ts
@@ -2027,24 +2027,24 @@
   }
 
   async getTotalStaked(address?: ICrossAccountId): Promise<bigint> {
-    if (address) return (await this.helper.callRpc('api.rpc.unique.totalStaked', [address])).toBigInt();
-    return (await this.helper.callRpc('api.rpc.unique.totalStaked')).toBigInt();
+    if (address) return (await this.helper.callRpc('api.rpc.appPromotion.totalStaked', [address])).toBigInt();
+    return (await this.helper.callRpc('api.rpc.appPromotion.totalStaked')).toBigInt();
   }
 
   async getTotalStakingLocked(address: ICrossAccountId): Promise<bigint> {
-    return (await this.helper.callRpc('api.rpc.unique.totalStakingLocked', [address])).toBigInt();
+    return (await this.helper.callRpc('api.rpc.appPromotion.totalStakingLocked', [address])).toBigInt();
   }
 
   async getTotalStakedPerBlock(address: ICrossAccountId): Promise<bigint[][]> {
-    return (await this.helper.callRpc('api.rpc.unique.totalStakedPerBlock', [address])).map(([block, amount]: any[]) => [block.toBigInt(), amount.toBigInt()]);
+    return (await this.helper.callRpc('api.rpc.appPromotion.totalStakedPerBlock', [address])).map(([block, amount]: any[]) => [block.toBigInt(), amount.toBigInt()]);
   }
 
   async getPendingUnstake(address: ICrossAccountId): Promise<bigint> {
-    return (await this.helper.callRpc('api.rpc.unique.pendingUnstake', [address])).toBigInt();
+    return (await this.helper.callRpc('api.rpc.appPromotion.pendingUnstake', [address])).toBigInt();
   }
   
   async getPendingUnstakePerBlock(address: ICrossAccountId): Promise<bigint[][]> {
-    return (await this.helper.callRpc('api.rpc.unique.pendingUnstakePerBlock', [address])).map(([block, amount]: any[]) => [block.toBigInt(), amount.toBigInt()]);
+    return (await this.helper.callRpc('api.rpc.appPromotion.pendingUnstakePerBlock', [address])).map(([block, amount]: any[]) => [block.toBigInt(), amount.toBigInt()]);
   }
 }