git.delta.rocks / unique-network / refs/commits / 504df77ef385

difftreelog

refactor nesting permission structure

Yaroslav Bolyukin2022-06-10parent: #bb7c8cc.patch.diff
in: master

20 files changed

modifiedpallets/common/src/benchmarking.rsdiffbeforeafterboth
--- a/pallets/common/src/benchmarking.rs
+++ b/pallets/common/src/benchmarking.rs
@@ -20,7 +20,7 @@
 use frame_benchmarking::{benchmarks, account};
 use up_data_structs::{
 	CollectionMode, CreateCollectionData, CollectionId, Property, PropertyKey, PropertyValue,
-	CollectionPermissions, NestingRule, MAX_COLLECTION_NAME_LENGTH,
+	CollectionPermissions, NestingPermissions, MAX_COLLECTION_NAME_LENGTH,
 	MAX_COLLECTION_DESCRIPTION_LENGTH, MAX_TOKEN_PREFIX_LENGTH, MAX_PROPERTIES_PER_ITEM,
 };
 use frame_support::{
@@ -94,7 +94,12 @@
 			description,
 			token_prefix,
 			permissions: Some(CollectionPermissions {
-				nesting: Some(NestingRule::Permissive),
+				nesting: Some(NestingPermissions {
+					token_owner: false,
+					admin: false,
+					restricted: None,
+					permissive: true,
+				}),
 				..Default::default()
 			}),
 			..Default::default()
modifiedpallets/common/src/erc.rsdiffbeforeafterboth
--- a/pallets/common/src/erc.rs
+++ b/pallets/common/src/erc.rs
@@ -22,7 +22,7 @@
 pub use pallet_evm::{PrecompileOutput, PrecompileResult, PrecompileHandle, account::CrossAccountId};
 use pallet_evm_coder_substrate::dispatch_to_evm;
 use sp_std::vec::Vec;
-use up_data_structs::{Property, SponsoringRateLimit, NestingRule, OwnerRestrictedSet, AccessMode};
+use up_data_structs::{Property, SponsoringRateLimit, OwnerRestrictedSet, AccessMode};
 use alloc::format;
 
 use crate::{Pallet, CollectionHandle, Config, CollectionProperties};
@@ -215,12 +215,21 @@
 		let caller = T::CrossAccountId::from_eth(caller);
 		self.check_is_owner_or_admin(&caller)
 			.map_err(dispatch_to_evm::<T>)?;
-		self.collection.permissions.nesting = Some(match enable {
-			false => NestingRule::Disabled,
-			true => NestingRule::Owner,
-		});
-		save(self)?;
-		Ok(())
+
+		let mut permissions = self.collection.permissions.clone();
+		let mut nesting = permissions.nesting().clone();
+		nesting.token_owner = enable;
+		nesting.restricted = None;
+		permissions.nesting = Some(nesting);
+
+		self.collection.permissions = <Pallet<T>>::clamp_permissions(
+			self.collection.mode.clone(),
+			&self.collection.permissions,
+			permissions,
+		)
+		.map_err(dispatch_to_evm::<T>)?;
+
+		save(self)
 	}
 
 	#[solidity(rename_selector = "setCollectionNesting")]
@@ -233,31 +242,41 @@
 		if collections.is_empty() {
 			return Err("No addresses provided".into());
 		}
-		if collections.len() >= OwnerRestrictedSet::bound() {
-			return Err(Error::Revert(format!(
-				"Out of bound: {} >= {}",
-				collections.len(),
-				OwnerRestrictedSet::bound()
-			)));
-		}
 		let caller = T::CrossAccountId::from_eth(caller);
 		self.check_is_owner_or_admin(&caller)
 			.map_err(dispatch_to_evm::<T>)?;
-		self.collection.permissions.nesting = Some(match enable {
-			false => NestingRule::Disabled,
+
+		let mut permissions = self.collection.permissions.clone();
+		match enable {
+			false => {
+				let mut nesting = permissions.nesting().clone();
+				nesting.token_owner = false;
+				nesting.restricted = None;
+				permissions.nesting = Some(nesting);
+			}
 			true => {
 				let mut bv = OwnerRestrictedSet::new();
 				for i in collections {
 					bv.try_insert(crate::eth::map_eth_to_id(&i).ok_or(Error::Revert(
 						"Can't convert address into collection id".into(),
 					))?)
-					.map_err(|e| Error::Revert(format!("{:?}", e)))?;
+					.map_err(|_| "too many collections")?;
 				}
-				NestingRule::OwnerRestricted(bv)
+				let mut nesting = permissions.nesting().clone();
+				nesting.token_owner = true;
+				nesting.restricted = Some(bv);
+				permissions.nesting = Some(nesting);
 			}
-		});
-		save(self)?;
-		Ok(())
+		};
+
+		self.collection.permissions = <Pallet<T>>::clamp_permissions(
+			self.collection.mode.clone(),
+			&self.collection.permissions,
+			permissions,
+		)
+		.map_err(dispatch_to_evm::<T>)?;
+
+		save(self)
 	}
 
 	fn set_collection_access(&mut self, caller: caller, mode: uint8) -> Result<void> {
modifiedpallets/common/src/lib.rsdiffbeforeafterboth
--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -430,10 +430,8 @@
 		/// Not sufficient funds to perform action
 		NotSufficientFounds,
 
-		/// Collection has nesting disabled
-		NestingIsDisabled,
-		/// Only owner may nest tokens under this collection
-		OnlyOwnerAllowedToNest,
+		/// User not passed nesting rule
+		UserIsNotAllowedToNest,
 		/// Only tokens from specific collections may nest tokens under this
 		SourceCollectionIsNotAllowedToNest,
 
@@ -1212,7 +1210,11 @@
 		limit_default_clone!(old_limit, new_limit,
 			access => {},
 			mint_mode => {},
-			nesting => {},
+			nesting => ensure!(
+				// Permissive is only allowed for tests and internal usage of chain for now
+				old_limit.permissive || !new_limit.permissive,
+				<Error<T>>::NoPermission,
+			),
 		);
 		Ok(new_limit)
 	}
modifiedpallets/nonfungible/src/lib.rsdiffbeforeafterboth
--- a/pallets/nonfungible/src/lib.rs
+++ b/pallets/nonfungible/src/lib.rs
@@ -27,8 +27,8 @@
 };
 use up_data_structs::{
 	AccessMode, CollectionId, CustomDataLimit, TokenId, CreateCollectionData, CreateNftExData,
-	mapping::TokenAddressMapping, NestingRule, budget::Budget, Property, PropertyPermission,
-	PropertyKey, PropertyKeyPermission, Properties, PropertyScope, TrySetProperty, TokenChild,
+	mapping::TokenAddressMapping, budget::Budget, Property, PropertyPermission, PropertyKey,
+	PropertyKeyPermission, Properties, PropertyScope, TrySetProperty, TokenChild,
 };
 use pallet_evm::{account::CrossAccountId, Pallet as PalletEvm};
 use pallet_common::{
@@ -996,38 +996,29 @@
 		under: TokenId,
 		nesting_budget: &dyn Budget,
 	) -> DispatchResult {
-		fn ensure_sender_allowed<T: Config>(
-			collection: CollectionId,
-			token: TokenId,
-			for_nest: (CollectionId, TokenId),
-			sender: T::CrossAccountId,
-			budget: &dyn Budget,
-		) -> DispatchResult {
+		let nesting = handle.permissions.nesting();
+		if nesting.permissive {
+			// Pass
+		} else if nesting.token_owner
+			&& <PalletStructure<T>>::check_indirectly_owned(
+				sender.clone(),
+				handle.id,
+				under,
+				Some(from),
+				nesting_budget,
+			)? {
+			// Pass
+		} else if nesting.admin && handle.is_owner_or_admin(&sender) {
+			// Pass
+		} else {
+			fail!(<CommonError<T>>::UserIsNotAllowedToNest);
+		}
+
+		if let Some(whitelist) = &nesting.restricted {
 			ensure!(
-				<PalletStructure<T>>::check_indirectly_owned(
-					sender,
-					collection,
-					token,
-					Some(for_nest),
-					budget
-				)?,
-				<CommonError<T>>::OnlyOwnerAllowedToNest,
+				whitelist.contains(&from.0),
+				<CommonError<T>>::SourceCollectionIsNotAllowedToNest
 			);
-			Ok(())
-		}
-		match handle.permissions.nesting() {
-			NestingRule::Disabled => fail!(<CommonError<T>>::NestingIsDisabled),
-			NestingRule::Owner => {
-				ensure_sender_allowed::<T>(handle.id, under, from, sender, nesting_budget)?
-			}
-			NestingRule::OwnerRestricted(whitelist) => {
-				ensure!(
-					whitelist.contains(&from.0),
-					<CommonError<T>>::SourceCollectionIsNotAllowedToNest
-				);
-				ensure_sender_allowed::<T>(handle.id, under, from, sender, nesting_budget)?
-			}
-			NestingRule::Permissive => {}
 		}
 		Ok(())
 	}
modifiedpallets/proxy-rmrk-core/src/lib.rsdiffbeforeafterboth
--- a/pallets/proxy-rmrk-core/src/lib.rs
+++ b/pallets/proxy-rmrk-core/src/lib.rs
@@ -200,7 +200,13 @@
 					.try_into()
 					.map_err(|_| <CommonError<T>>::CollectionTokenPrefixLimitExceeded)?,
 				permissions: Some(CollectionPermissions {
-					nesting: Some(NestingRule::Owner),
+					nesting: Some(NestingPermissions {
+						token_owner: true,
+						admin: false,
+						restricted: None,
+
+						permissive: false,
+					}),
 					..Default::default()
 				}),
 				..Default::default()
@@ -600,7 +606,7 @@
 				&budget,
 			)
 			.map_err(|err| {
-				if err == <CommonError<T>>::OnlyOwnerAllowedToNest.into() {
+				if err == <CommonError<T>>::UserIsNotAllowedToNest.into() {
 					<Error<T>>::CannotAcceptNonOwnedNft.into()
 				} else {
 					Self::map_unique_err_to_proxy(err)
modifiedprimitives/data-structs/src/lib.rsdiffbeforeafterboth
--- a/primitives/data-structs/src/lib.rs
+++ b/primitives/data-structs/src/lib.rs
@@ -441,7 +441,7 @@
 pub struct CollectionPermissions {
 	pub access: Option<AccessMode>,
 	pub mint_mode: Option<bool>,
-	pub nesting: Option<NestingRule>,
+	pub nesting: Option<NestingPermissions>,
 }
 
 impl CollectionPermissions {
@@ -451,30 +451,58 @@
 	pub fn mint_mode(&self) -> bool {
 		self.mint_mode.unwrap_or(false)
 	}
-	pub fn nesting(&self) -> &NestingRule {
-		static DEFAULT: NestingRule = NestingRule::Disabled;
+	pub fn nesting(&self) -> &NestingPermissions {
+		static DEFAULT: NestingPermissions = NestingPermissions {
+			token_owner: false,
+			admin: false,
+			restricted: None,
+
+			permissive: false,
+		};
 		self.nesting.as_ref().unwrap_or(&DEFAULT)
 	}
 }
 
-pub type OwnerRestrictedSet = BoundedBTreeSet<CollectionId, ConstU32<16>>;
+type OwnerRestrictedSetInner = BoundedBTreeSet<CollectionId, ConstU32<16>>;
+
+#[derive(Encode, Decode, Clone, PartialEq, TypeInfo, MaxEncodedLen, Derivative)]
+#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
+#[derivative(Debug)]
+pub struct OwnerRestrictedSet(
+	#[cfg_attr(feature = "serde1", serde(with = "bounded::set_serde"))]
+	#[derivative(Debug(format_with = "bounded::set_debug"))]
+	pub OwnerRestrictedSetInner,
+);
+impl OwnerRestrictedSet {
+	pub fn new() -> Self {
+		Self(Default::default())
+	}
+}
+impl core::ops::Deref for OwnerRestrictedSet {
+	type Target = OwnerRestrictedSetInner;
+	fn deref(&self) -> &Self::Target {
+		&self.0
+	}
+}
+impl core::ops::DerefMut for OwnerRestrictedSet {
+	fn deref_mut(&mut self) -> &mut Self::Target {
+		&mut self.0
+	}
+}
 
 #[derive(Encode, Decode, Clone, PartialEq, TypeInfo, MaxEncodedLen, Derivative)]
 #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
 #[derivative(Debug)]
-pub enum NestingRule {
-	/// No one can nest tokens
-	Disabled,
-	/// Owner can nest any tokens
-	Owner,
-	/// Owner can nest tokens from specified collections
-	OwnerRestricted(
-		#[cfg_attr(feature = "serde1", serde(with = "bounded::set_serde"))]
-		#[derivative(Debug(format_with = "bounded::set_debug"))]
-		OwnerRestrictedSet,
-	),
-	/// Used for tests
-	Permissive,
+pub struct NestingPermissions {
+	/// Owner of token can nest tokens under it
+	pub token_owner: bool,
+	/// Admin of token collection can nest tokens under token
+	pub admin: bool,
+	/// If set - only tokens from specified collections can be nested
+	pub restricted: Option<OwnerRestrictedSet>,
+
+	/// Anyone can nest tokens, mutually exclusive with `token_owner`, `admin`
+	pub permissive: bool,
 }
 
 #[derive(Encode, Decode, Debug, Clone, Copy, PartialEq, TypeInfo, MaxEncodedLen)]
modifiedtests/package.jsondiffbeforeafterboth
--- a/tests/package.json
+++ b/tests/package.json
@@ -5,7 +5,7 @@
   "main": "",
   "devDependencies": {
     "@polkadot/ts": "0.4.22",
-    "@polkadot/typegen": "8.7.2-11",
+    "@polkadot/typegen": "8.7.2-15",
     "@types/chai": "^4.3.1",
     "@types/chai-as-promised": "^7.1.5",
     "@types/mocha": "^9.1.1",
@@ -86,8 +86,8 @@
   "license": "SEE LICENSE IN ../LICENSE",
   "homepage": "",
   "dependencies": {
-    "@polkadot/api": "8.7.2-11",
-    "@polkadot/api-contract": "8.7.2-11",
+    "@polkadot/api": "8.7.2-15",
+    "@polkadot/api-contract": "8.7.2-15",
     "@polkadot/util-crypto": "9.4.1",
     "bignumber.js": "^9.0.2",
     "chai-as-promised": "^7.1.1",
modifiedtests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-errors.ts
+++ b/tests/src/interfaces/augment-api-errors.ts
@@ -125,10 +125,6 @@
        **/
       MustBeTokenOwner: AugmentedError<ApiType>;
       /**
-       * Collection has nesting disabled
-       **/
-      NestingIsDisabled: AugmentedError<ApiType>;
-      /**
        * No permission to perform action
        **/
       NoPermission: AugmentedError<ApiType>;
@@ -137,13 +133,9 @@
        **/
       NoSpaceForProperty: AugmentedError<ApiType>;
       /**
-       * Not sufficient founds to perform action
+       * Not sufficient funds to perform action
        **/
       NotSufficientFounds: AugmentedError<ApiType>;
-      /**
-       * Only owner may nest tokens under this collection
-       **/
-      OnlyOwnerAllowedToNest: AugmentedError<ApiType>;
       /**
        * Tried to enable permissions which are only permitted to be disabled
        **/
@@ -185,6 +177,10 @@
        **/
       UnsupportedOperation: AugmentedError<ApiType>;
       /**
+       * User not passed nesting rule
+       **/
+      UserIsNotAllowedToNest: AugmentedError<ApiType>;
+      /**
        * Generic error
        **/
       [key: string]: AugmentedError<ApiType>;
@@ -502,6 +498,10 @@
     };
     structure: {
       /**
+       * While iterating over children, encountered breadth limit
+       **/
+      BreadthLimit: AugmentedError<ApiType>;
+      /**
        * While searched for owner, encountered depth limit
        **/
       DepthLimit: AugmentedError<ApiType>;
modifiedtests/src/interfaces/augment-api-events.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-events.ts
+++ b/tests/src/interfaces/augment-api-events.ts
@@ -13,45 +13,45 @@
       /**
        * A balance was set by root.
        **/
-      BalanceSet: AugmentedEvent<ApiType, [AccountId32, u128, u128]>;
+      BalanceSet: AugmentedEvent<ApiType, [who: AccountId32, free: u128, reserved: u128], { who: AccountId32, free: u128, reserved: u128 }>;
       /**
        * Some amount was deposited (e.g. for transaction fees).
        **/
-      Deposit: AugmentedEvent<ApiType, [AccountId32, u128]>;
+      Deposit: AugmentedEvent<ApiType, [who: AccountId32, amount: u128], { who: AccountId32, amount: u128 }>;
       /**
        * An account was removed whose balance was non-zero but below ExistentialDeposit,
        * resulting in an outright loss.
        **/
-      DustLost: AugmentedEvent<ApiType, [AccountId32, u128]>;
+      DustLost: AugmentedEvent<ApiType, [account: AccountId32, amount: u128], { account: AccountId32, amount: u128 }>;
       /**
        * An account was created with some free balance.
        **/
-      Endowed: AugmentedEvent<ApiType, [AccountId32, u128]>;
+      Endowed: AugmentedEvent<ApiType, [account: AccountId32, freeBalance: u128], { account: AccountId32, freeBalance: u128 }>;
       /**
        * Some balance was reserved (moved from free to reserved).
        **/
-      Reserved: AugmentedEvent<ApiType, [AccountId32, u128]>;
+      Reserved: AugmentedEvent<ApiType, [who: AccountId32, amount: u128], { who: AccountId32, amount: u128 }>;
       /**
        * Some balance was moved from the reserve of the first account to the second account.
        * Final argument indicates the destination balance type.
        **/
-      ReserveRepatriated: AugmentedEvent<ApiType, [AccountId32, AccountId32, u128, FrameSupportTokensMiscBalanceStatus]>;
+      ReserveRepatriated: AugmentedEvent<ApiType, [from: AccountId32, to: AccountId32, amount: u128, destinationStatus: FrameSupportTokensMiscBalanceStatus], { from: AccountId32, to: AccountId32, amount: u128, destinationStatus: FrameSupportTokensMiscBalanceStatus }>;
       /**
        * Some amount was removed from the account (e.g. for misbehavior).
        **/
-      Slashed: AugmentedEvent<ApiType, [AccountId32, u128]>;
+      Slashed: AugmentedEvent<ApiType, [who: AccountId32, amount: u128], { who: AccountId32, amount: u128 }>;
       /**
        * Transfer succeeded.
        **/
-      Transfer: AugmentedEvent<ApiType, [AccountId32, AccountId32, u128]>;
+      Transfer: AugmentedEvent<ApiType, [from: AccountId32, to: AccountId32, amount: u128], { from: AccountId32, to: AccountId32, amount: u128 }>;
       /**
        * Some balance was unreserved (moved from reserved to free).
        **/
-      Unreserved: AugmentedEvent<ApiType, [AccountId32, u128]>;
+      Unreserved: AugmentedEvent<ApiType, [who: AccountId32, amount: u128], { who: AccountId32, amount: u128 }>;
       /**
        * Some amount was withdrawn from the account (e.g. for transaction fees).
        **/
-      Withdraw: AugmentedEvent<ApiType, [AccountId32, u128]>;
+      Withdraw: AugmentedEvent<ApiType, [who: AccountId32, amount: u128], { who: AccountId32, amount: u128 }>;
       /**
        * Generic event
        **/
@@ -398,28 +398,28 @@
       [key: string]: AugmentedEvent<ApiType>;
     };
     rmrkCore: {
-      CollectionCreated: AugmentedEvent<ApiType, [AccountId32, u32]>;
-      CollectionDestroyed: AugmentedEvent<ApiType, [AccountId32, u32]>;
-      CollectionLocked: AugmentedEvent<ApiType, [AccountId32, u32]>;
-      IssuerChanged: AugmentedEvent<ApiType, [AccountId32, AccountId32, u32]>;
-      NFTAccepted: AugmentedEvent<ApiType, [AccountId32, RmrkTraitsNftAccountIdOrCollectionNftTuple, u32, u32]>;
-      NFTBurned: AugmentedEvent<ApiType, [AccountId32, u32]>;
-      NftMinted: AugmentedEvent<ApiType, [AccountId32, u32, u32]>;
-      NFTRejected: AugmentedEvent<ApiType, [AccountId32, u32, u32]>;
-      NFTSent: AugmentedEvent<ApiType, [AccountId32, RmrkTraitsNftAccountIdOrCollectionNftTuple, u32, u32, bool]>;
-      PrioritySet: AugmentedEvent<ApiType, [u32, u32]>;
-      PropertySet: AugmentedEvent<ApiType, [u32, Option<u32>, Bytes, Bytes]>;
-      ResourceAccepted: AugmentedEvent<ApiType, [u32, u32]>;
-      ResourceAdded: AugmentedEvent<ApiType, [u32, u32]>;
-      ResourceRemoval: AugmentedEvent<ApiType, [u32, u32]>;
-      ResourceRemovalAccepted: AugmentedEvent<ApiType, [u32, u32]>;
+      CollectionCreated: AugmentedEvent<ApiType, [issuer: AccountId32, collectionId: u32], { issuer: AccountId32, collectionId: u32 }>;
+      CollectionDestroyed: AugmentedEvent<ApiType, [issuer: AccountId32, collectionId: u32], { issuer: AccountId32, collectionId: u32 }>;
+      CollectionLocked: AugmentedEvent<ApiType, [issuer: AccountId32, collectionId: u32], { issuer: AccountId32, collectionId: u32 }>;
+      IssuerChanged: AugmentedEvent<ApiType, [oldIssuer: AccountId32, newIssuer: AccountId32, collectionId: u32], { oldIssuer: AccountId32, newIssuer: AccountId32, collectionId: u32 }>;
+      NFTAccepted: AugmentedEvent<ApiType, [sender: AccountId32, recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple, collectionId: u32, nftId: u32], { sender: AccountId32, recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple, collectionId: u32, nftId: u32 }>;
+      NFTBurned: AugmentedEvent<ApiType, [owner: AccountId32, nftId: u32], { owner: AccountId32, nftId: u32 }>;
+      NftMinted: AugmentedEvent<ApiType, [owner: AccountId32, collectionId: u32, nftId: u32], { owner: AccountId32, collectionId: u32, nftId: u32 }>;
+      NFTRejected: AugmentedEvent<ApiType, [sender: AccountId32, collectionId: u32, nftId: u32], { sender: AccountId32, collectionId: u32, nftId: u32 }>;
+      NFTSent: AugmentedEvent<ApiType, [sender: AccountId32, recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple, collectionId: u32, nftId: u32, approvalRequired: bool], { sender: AccountId32, recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple, collectionId: u32, nftId: u32, approvalRequired: bool }>;
+      PrioritySet: AugmentedEvent<ApiType, [collectionId: u32, nftId: u32], { collectionId: u32, nftId: u32 }>;
+      PropertySet: AugmentedEvent<ApiType, [collectionId: u32, maybeNftId: Option<u32>, key: Bytes, value: Bytes], { collectionId: u32, maybeNftId: Option<u32>, key: Bytes, value: Bytes }>;
+      ResourceAccepted: AugmentedEvent<ApiType, [nftId: u32, resourceId: u32], { nftId: u32, resourceId: u32 }>;
+      ResourceAdded: AugmentedEvent<ApiType, [nftId: u32, resourceId: u32], { nftId: u32, resourceId: u32 }>;
+      ResourceRemoval: AugmentedEvent<ApiType, [nftId: u32, resourceId: u32], { nftId: u32, resourceId: u32 }>;
+      ResourceRemovalAccepted: AugmentedEvent<ApiType, [nftId: u32, resourceId: u32], { nftId: u32, resourceId: u32 }>;
       /**
        * Generic event
        **/
       [key: string]: AugmentedEvent<ApiType>;
     };
     rmrkEquip: {
-      BaseCreated: AugmentedEvent<ApiType, [AccountId32, u32]>;
+      BaseCreated: AugmentedEvent<ApiType, [issuer: AccountId32, baseId: u32], { issuer: AccountId32, baseId: u32 }>;
       /**
        * Generic event
        **/
@@ -429,19 +429,19 @@
       /**
        * The call for the provided hash was not found so the task has been aborted.
        **/
-      CallLookupFailed: AugmentedEvent<ApiType, [ITuple<[u32, u32]>, Option<U8aFixed>, FrameSupportScheduleLookupError]>;
+      CallLookupFailed: AugmentedEvent<ApiType, [task: ITuple<[u32, u32]>, id: Option<U8aFixed>, error: FrameSupportScheduleLookupError], { task: ITuple<[u32, u32]>, id: Option<U8aFixed>, error: FrameSupportScheduleLookupError }>;
       /**
        * Canceled some task.
        **/
-      Canceled: AugmentedEvent<ApiType, [u32, u32]>;
+      Canceled: AugmentedEvent<ApiType, [when: u32, index: u32], { when: u32, index: u32 }>;
       /**
        * Dispatched some task.
        **/
-      Dispatched: AugmentedEvent<ApiType, [ITuple<[u32, u32]>, Option<U8aFixed>, Result<Null, SpRuntimeDispatchError>]>;
+      Dispatched: AugmentedEvent<ApiType, [task: ITuple<[u32, u32]>, id: Option<U8aFixed>, result: Result<Null, SpRuntimeDispatchError>], { task: ITuple<[u32, u32]>, id: Option<U8aFixed>, result: Result<Null, SpRuntimeDispatchError> }>;
       /**
        * Scheduled some task.
        **/
-      Scheduled: AugmentedEvent<ApiType, [u32, u32]>;
+      Scheduled: AugmentedEvent<ApiType, [when: u32, index: u32], { when: u32, index: u32 }>;
       /**
        * Generic event
        **/
@@ -461,15 +461,15 @@
       /**
        * The \[sudoer\] just switched identity; the old key is supplied if one existed.
        **/
-      KeyChanged: AugmentedEvent<ApiType, [Option<AccountId32>]>;
+      KeyChanged: AugmentedEvent<ApiType, [oldSudoer: Option<AccountId32>], { oldSudoer: Option<AccountId32> }>;
       /**
        * A sudo just took place. \[result\]
        **/
-      Sudid: AugmentedEvent<ApiType, [Result<Null, SpRuntimeDispatchError>]>;
+      Sudid: AugmentedEvent<ApiType, [sudoResult: Result<Null, SpRuntimeDispatchError>], { sudoResult: Result<Null, SpRuntimeDispatchError> }>;
       /**
        * A sudo just took place. \[result\]
        **/
-      SudoAsDone: AugmentedEvent<ApiType, [Result<Null, SpRuntimeDispatchError>]>;
+      SudoAsDone: AugmentedEvent<ApiType, [sudoResult: Result<Null, SpRuntimeDispatchError>], { sudoResult: Result<Null, SpRuntimeDispatchError> }>;
       /**
        * Generic event
        **/
@@ -483,23 +483,23 @@
       /**
        * An extrinsic failed.
        **/
-      ExtrinsicFailed: AugmentedEvent<ApiType, [SpRuntimeDispatchError, FrameSupportWeightsDispatchInfo]>;
+      ExtrinsicFailed: AugmentedEvent<ApiType, [dispatchError: SpRuntimeDispatchError, dispatchInfo: FrameSupportWeightsDispatchInfo], { dispatchError: SpRuntimeDispatchError, dispatchInfo: FrameSupportWeightsDispatchInfo }>;
       /**
        * An extrinsic completed successfully.
        **/
-      ExtrinsicSuccess: AugmentedEvent<ApiType, [FrameSupportWeightsDispatchInfo]>;
+      ExtrinsicSuccess: AugmentedEvent<ApiType, [dispatchInfo: FrameSupportWeightsDispatchInfo], { dispatchInfo: FrameSupportWeightsDispatchInfo }>;
       /**
        * An account was reaped.
        **/
-      KilledAccount: AugmentedEvent<ApiType, [AccountId32]>;
+      KilledAccount: AugmentedEvent<ApiType, [account: AccountId32], { account: AccountId32 }>;
       /**
        * A new account was created.
        **/
-      NewAccount: AugmentedEvent<ApiType, [AccountId32]>;
+      NewAccount: AugmentedEvent<ApiType, [account: AccountId32], { account: AccountId32 }>;
       /**
        * On on-chain remark happened.
        **/
-      Remarked: AugmentedEvent<ApiType, [AccountId32, H256]>;
+      Remarked: AugmentedEvent<ApiType, [sender: AccountId32, hash_: H256], { sender: AccountId32, hash_: H256 }>;
       /**
        * Generic event
        **/
@@ -509,31 +509,31 @@
       /**
        * Some funds have been allocated.
        **/
-      Awarded: AugmentedEvent<ApiType, [u32, u128, AccountId32]>;
+      Awarded: AugmentedEvent<ApiType, [proposalIndex: u32, award: u128, account: AccountId32], { proposalIndex: u32, award: u128, account: AccountId32 }>;
       /**
        * Some of our funds have been burnt.
        **/
-      Burnt: AugmentedEvent<ApiType, [u128]>;
+      Burnt: AugmentedEvent<ApiType, [burntFunds: u128], { burntFunds: u128 }>;
       /**
        * Some funds have been deposited.
        **/
-      Deposit: AugmentedEvent<ApiType, [u128]>;
+      Deposit: AugmentedEvent<ApiType, [value: u128], { value: u128 }>;
       /**
        * New proposal.
        **/
-      Proposed: AugmentedEvent<ApiType, [u32]>;
+      Proposed: AugmentedEvent<ApiType, [proposalIndex: u32], { proposalIndex: u32 }>;
       /**
        * A proposal was rejected; funds were slashed.
        **/
-      Rejected: AugmentedEvent<ApiType, [u32, u128]>;
+      Rejected: AugmentedEvent<ApiType, [proposalIndex: u32, slashed: u128], { proposalIndex: u32, slashed: u128 }>;
       /**
        * Spending has finished; this is the amount that rolls over until next spend.
        **/
-      Rollover: AugmentedEvent<ApiType, [u128]>;
+      Rollover: AugmentedEvent<ApiType, [rolloverBalance: u128], { rolloverBalance: u128 }>;
       /**
        * We have ended a spend period and will now allocate funds.
        **/
-      Spending: AugmentedEvent<ApiType, [u128]>;
+      Spending: AugmentedEvent<ApiType, [budgetRemaining: u128], { budgetRemaining: u128 }>;
       /**
        * Generic event
        **/
@@ -636,15 +636,15 @@
       /**
        * Claimed vesting.
        **/
-      Claimed: AugmentedEvent<ApiType, [AccountId32, u128]>;
+      Claimed: AugmentedEvent<ApiType, [who: AccountId32, amount: u128], { who: AccountId32, amount: u128 }>;
       /**
        * Added new vesting schedule.
        **/
-      VestingScheduleAdded: AugmentedEvent<ApiType, [AccountId32, AccountId32, OrmlVestingVestingSchedule]>;
+      VestingScheduleAdded: AugmentedEvent<ApiType, [from: AccountId32, to: AccountId32, vestingSchedule: OrmlVestingVestingSchedule], { from: AccountId32, to: AccountId32, vestingSchedule: OrmlVestingVestingSchedule }>;
       /**
        * Updated vesting schedules.
        **/
-      VestingSchedulesUpdated: AugmentedEvent<ApiType, [AccountId32]>;
+      VestingSchedulesUpdated: AugmentedEvent<ApiType, [who: AccountId32], { who: AccountId32 }>;
       /**
        * Generic event
        **/
modifiedtests/src/interfaces/augment-api-tx.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-tx.ts
+++ b/tests/src/interfaces/augment-api-tx.ts
@@ -347,22 +347,105 @@
       [key: string]: SubmittableExtrinsicFunction<ApiType>;
     };
     rmrkCore: {
+      /**
+       * Accepts an NFT sent from another account to self or owned NFT
+       * 
+       * Parameters:
+       * - `origin`: sender of the transaction
+       * - `rmrk_collection_id`: collection id of the nft to be accepted
+       * - `rmrk_nft_id`: nft id of the nft to be accepted
+       * - `new_owner`: either origin's account ID or origin-owned NFT, whichever the NFT was
+       * sent to
+       **/
       acceptNft: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, rmrkNftId: u32 | AnyNumber | Uint8Array, newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple | { AccountId: any } | { CollectionAndNftTuple: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, RmrkTraitsNftAccountIdOrCollectionNftTuple]>;
+      /**
+       * accept the addition of a new resource to an existing NFT
+       **/
       acceptResource: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, rmrkNftId: u32 | AnyNumber | Uint8Array, rmrkResourceId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u32]>;
+      /**
+       * accept the removal of a resource of an existing NFT
+       **/
       acceptResourceRemoval: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, rmrkNftId: u32 | AnyNumber | Uint8Array, rmrkResourceId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u32]>;
+      /**
+       * Create basic resource
+       **/
       addBasicResource: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, resource: RmrkTraitsResourceBasicResource | { src?: any; metadata?: any; license?: any; thumb?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, RmrkTraitsResourceBasicResource]>;
+      /**
+       * Create composable resource
+       **/
       addComposableResource: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, resourceId: Bytes | string | Uint8Array, resource: RmrkTraitsResourceComposableResource | { parts?: any; base?: any; src?: any; metadata?: any; license?: any; thumb?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, Bytes, RmrkTraitsResourceComposableResource]>;
+      /**
+       * Create slot resource
+       **/
       addSlotResource: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, resource: RmrkTraitsResourceSlotResource | { base?: any; src?: any; metadata?: any; slot?: any; license?: any; thumb?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, RmrkTraitsResourceSlotResource]>;
+      /**
+       * burn nft
+       **/
       burnNft: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32]>;
+      /**
+       * Change the issuer of a collection
+       * 
+       * Parameters:
+       * - `origin`: sender of the transaction
+       * - `collection_id`: collection id of the nft to change issuer of
+       * - `new_issuer`: Collection's new issuer
+       **/
       changeCollectionIssuer: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newIssuer: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, MultiAddress]>;
+      /**
+       * Create a collection
+       **/
       createCollection: AugmentedSubmittable<(metadata: Bytes | string | Uint8Array, max: Option<u32> | null | object | string | Uint8Array, symbol: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes, Option<u32>, Bytes]>;
+      /**
+       * destroy collection
+       **/
       destroyCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
+      /**
+       * lock collection
+       **/
       lockCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
+      /**
+       * Mints an NFT in the specified collection
+       * Sets metadata and the royalty attribute
+       * 
+       * Parameters:
+       * - `collection_id`: The class of the asset to be minted.
+       * - `nft_id`: The nft value of the asset to be minted.
+       * - `recipient`: Receiver of the royalty
+       * - `royalty`: Permillage reward from each trade for the Recipient
+       * - `metadata`: Arbitrary data about an nft, e.g. IPFS hash
+       * - `transferable`: Ability to transfer this NFT
+       **/
       mintNft: AugmentedSubmittable<(owner: AccountId32 | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, recipient: Option<AccountId32> | null | object | string | Uint8Array, royaltyAmount: Option<Permill> | null | object | string | Uint8Array, metadata: Bytes | string | Uint8Array, transferable: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [AccountId32, u32, Option<AccountId32>, Option<Permill>, Bytes, bool]>;
+      /**
+       * Rejects an NFT sent from another account to self or owned NFT
+       * 
+       * Parameters:
+       * - `origin`: sender of the transaction
+       * - `rmrk_collection_id`: collection id of the nft to be accepted
+       * - `rmrk_nft_id`: nft id of the nft to be accepted
+       **/
       rejectNft: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, rmrkNftId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32]>;
+      /**
+       * remove resource
+       **/
       removeResource: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, resourceId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u32]>;
+      /**
+       * Transfers a NFT from an Account or NFT A to another Account or NFT B
+       * 
+       * Parameters:
+       * - `origin`: sender of the transaction
+       * - `rmrk_collection_id`: collection id of the nft to be transferred
+       * - `rmrk_nft_id`: nft id of the nft to be transferred
+       * - `new_owner`: new owner of the nft which can be either an account or a NFT
+       **/
       send: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, rmrkNftId: u32 | AnyNumber | Uint8Array, newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple | { AccountId: any } | { CollectionAndNftTuple: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, RmrkTraitsNftAccountIdOrCollectionNftTuple]>;
+      /**
+       * set a different order of resource priority
+       **/
       setPriority: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, rmrkNftId: u32 | AnyNumber | Uint8Array, priorities: Vec<u32> | (u32 | AnyNumber | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, u32, Vec<u32>]>;
+      /**
+       * set a custom value on an NFT
+       **/
       setProperty: AugmentedSubmittable<(rmrkCollectionId: Compact<u32> | AnyNumber | Uint8Array, maybeNftId: Option<u32> | null | object | string | Uint8Array, key: Bytes | string | Uint8Array, value: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>, Option<u32>, Bytes, Bytes]>;
       /**
        * Generic tx
@@ -370,7 +453,33 @@
       [key: string]: SubmittableExtrinsicFunction<ApiType>;
     };
     rmrkEquip: {
+      /**
+       * Creates a new Base.
+       * Modeled after [base interaction](https://github.com/rmrk-team/rmrk-spec/blob/master/standards/rmrk2.0.0/interactions/base.md)
+       * 
+       * Parameters:
+       * - origin: Caller, will be assigned as the issuer of the Base
+       * - base_type: media type, e.g. "svg"
+       * - symbol: arbitrary client-chosen symbol
+       * - parts: array of Fixed and Slot parts composing the base, confined in length by
+       * RmrkPartsLimit
+       **/
       createBase: AugmentedSubmittable<(baseType: Bytes | string | Uint8Array, symbol: Bytes | string | Uint8Array, parts: Vec<RmrkTraitsPartPartType> | (RmrkTraitsPartPartType | { FixedPart: any } | { SlotPart: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Bytes, Bytes, Vec<RmrkTraitsPartPartType>]>;
+      /**
+       * Adds a Theme to a Base.
+       * Modeled after [themeadd interaction](https://github.com/rmrk-team/rmrk-spec/blob/master/standards/rmrk2.0.0/interactions/themeadd.md)
+       * Themes are stored in the Themes storage
+       * A Theme named "default" is required prior to adding other Themes.
+       * 
+       * Parameters:
+       * - origin: The caller of the function, must be issuer of the base
+       * - base_id: The Base containing the Theme to be updated
+       * - theme: The Theme to add to the Base.  A Theme has a name and properties, which are an
+       * array of [key, value, inherit].
+       * - key: arbitrary BoundedString, defined by client
+       * - value: arbitrary BoundedString, defined by client
+       * - inherit: optional bool
+       **/
       themeAdd: AugmentedSubmittable<(baseId: u32 | AnyNumber | Uint8Array, theme: RmrkTraitsTheme | { name?: any; properties?: any; inherit?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, RmrkTraitsTheme]>;
       /**
        * Generic tx
modifiedtests/src/interfaces/augment-types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-types.ts
+++ b/tests/src/interfaces/augment-types.ts
@@ -1,7 +1,7 @@
 // Auto-generated via `yarn polkadot-types-from-defs`, do not edit
 /* eslint-disable */
 
-import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportScheduleLookupError, FrameSupportScheduleMaybeHashed, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeOriginCaller, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEthereumRawOrigin, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletUnqSchedulerCall, PalletUnqSchedulerError, PalletUnqSchedulerEvent, PalletUnqSchedulerScheduledV3, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsNestingRule, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsRpcCollection, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './default';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportScheduleLookupError, FrameSupportScheduleMaybeHashed, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeOriginCaller, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEthereumRawOrigin, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletUnqSchedulerCall, PalletUnqSchedulerError, PalletUnqSchedulerEvent, PalletUnqSchedulerScheduledV3, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsRpcCollection, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './default';
 import type { Data, StorageKey } from '@polkadot/types';
 import type { BitVec, Bool, Bytes, I128, I16, I256, I32, I64, I8, Json, Null, OptionBool, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, i128, i16, i256, i32, i64, i8, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types-codec';
 import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets';
@@ -1218,7 +1218,8 @@
     UpDataStructsCreateNftExData: UpDataStructsCreateNftExData;
     UpDataStructsCreateReFungibleData: UpDataStructsCreateReFungibleData;
     UpDataStructsCreateRefungibleExData: UpDataStructsCreateRefungibleExData;
-    UpDataStructsNestingRule: UpDataStructsNestingRule;
+    UpDataStructsNestingPermissions: UpDataStructsNestingPermissions;
+    UpDataStructsOwnerRestrictedSet: UpDataStructsOwnerRestrictedSet;
     UpDataStructsProperties: UpDataStructsProperties;
     UpDataStructsPropertiesMapBoundedVec: UpDataStructsPropertiesMapBoundedVec;
     UpDataStructsPropertiesMapPropertyPermission: UpDataStructsPropertiesMapPropertyPermission;
modifiedtests/src/interfaces/default/types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/default/types.ts
+++ b/tests/src/interfaces/default/types.ts
@@ -935,8 +935,7 @@
   readonly isAddressIsZero: boolean;
   readonly isUnsupportedOperation: boolean;
   readonly isNotSufficientFounds: boolean;
-  readonly isNestingIsDisabled: boolean;
-  readonly isOnlyOwnerAllowedToNest: boolean;
+  readonly isUserIsNotAllowedToNest: boolean;
   readonly isSourceCollectionIsNotAllowedToNest: boolean;
   readonly isCollectionFieldSizeExceeded: boolean;
   readonly isNoSpaceForProperty: boolean;
@@ -946,7 +945,7 @@
   readonly isEmptyPropertyKey: boolean;
   readonly isCollectionIsExternal: boolean;
   readonly isCollectionIsInternal: boolean;
-  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' | 'NestingIsDisabled' | 'OnlyOwnerAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey' | 'CollectionIsExternal' | 'CollectionIsInternal';
+  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';
 }
 
 /** @name PalletCommonEvent */
@@ -1445,8 +1444,9 @@
 export interface PalletStructureError extends Enum {
   readonly isOuroborosDetected: boolean;
   readonly isDepthLimit: boolean;
+  readonly isBreadthLimit: boolean;
   readonly isTokenNotFound: boolean;
-  readonly type: 'OuroborosDetected' | 'DepthLimit' | 'TokenNotFound';
+  readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound';
 }
 
 /** @name PalletStructureEvent */
@@ -2348,7 +2348,7 @@
 export interface UpDataStructsCollectionPermissions extends Struct {
   readonly access: Option<UpDataStructsAccessMode>;
   readonly mintMode: Option<bool>;
-  readonly nesting: Option<UpDataStructsNestingRule>;
+  readonly nesting: Option<UpDataStructsNestingPermissions>;
 }
 
 /** @name UpDataStructsCollectionStats */
@@ -2424,15 +2424,17 @@
   readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;
 }
 
-/** @name UpDataStructsNestingRule */
-export interface UpDataStructsNestingRule extends Enum {
-  readonly isDisabled: boolean;
-  readonly isOwner: boolean;
-  readonly isOwnerRestricted: boolean;
-  readonly asOwnerRestricted: BTreeSet<u32>;
-  readonly type: 'Disabled' | 'Owner' | 'OwnerRestricted';
+/** @name UpDataStructsNestingPermissions */
+export interface UpDataStructsNestingPermissions extends Struct {
+  readonly tokenOwner: bool;
+  readonly admin: bool;
+  readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;
+  readonly permissive: bool;
 }
 
+/** @name UpDataStructsOwnerRestrictedSet */
+export interface UpDataStructsOwnerRestrictedSet extends BTreeSet<u32> {}
+
 /** @name UpDataStructsProperties */
 export interface UpDataStructsProperties extends Struct {
   readonly map: UpDataStructsPropertiesMapBoundedVec;
modifiedtests/src/interfaces/lookup.tsdiffbeforeafterboth
before · tests/src/interfaces/lookup.ts
1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34/* eslint-disable sort-keys */56export default {7  /**8   * Lookup2: polkadot_primitives::v2::PersistedValidationData<primitive_types::H256, N>9   **/10  PolkadotPrimitivesV2PersistedValidationData: {11    parentHead: 'Bytes',12    relayParentNumber: 'u32',13    relayParentStorageRoot: 'H256',14    maxPovSize: 'u32'15  },16  /**17   * Lookup9: polkadot_primitives::v2::UpgradeRestriction18   **/19  PolkadotPrimitivesV2UpgradeRestriction: {20    _enum: ['Present']21  },22  /**23   * Lookup10: sp_trie::storage_proof::StorageProof24   **/25  SpTrieStorageProof: {26    trieNodes: 'BTreeSet<Bytes>'27  },28  /**29   * Lookup13: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot30   **/31  CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {32    dmqMqcHead: 'H256',33    relayDispatchQueueSize: '(u32,u32)',34    ingressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>',35    egressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>'36  },37  /**38   * Lookup18: polkadot_primitives::v2::AbridgedHrmpChannel39   **/40  PolkadotPrimitivesV2AbridgedHrmpChannel: {41    maxCapacity: 'u32',42    maxTotalSize: 'u32',43    maxMessageSize: 'u32',44    msgCount: 'u32',45    totalSize: 'u32',46    mqcHead: 'Option<H256>'47  },48  /**49   * Lookup20: polkadot_primitives::v2::AbridgedHostConfiguration50   **/51  PolkadotPrimitivesV2AbridgedHostConfiguration: {52    maxCodeSize: 'u32',53    maxHeadDataSize: 'u32',54    maxUpwardQueueCount: 'u32',55    maxUpwardQueueSize: 'u32',56    maxUpwardMessageSize: 'u32',57    maxUpwardMessageNumPerCandidate: 'u32',58    hrmpMaxMessageNumPerCandidate: 'u32',59    validationUpgradeCooldown: 'u32',60    validationUpgradeDelay: 'u32'61  },62  /**63   * Lookup26: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>64   **/65  PolkadotCorePrimitivesOutboundHrmpMessage: {66    recipient: 'u32',67    data: 'Bytes'68  },69  /**70   * Lookup28: cumulus_pallet_parachain_system::pallet::Call<T>71   **/72  CumulusPalletParachainSystemCall: {73    _enum: {74      set_validation_data: {75        data: 'CumulusPrimitivesParachainInherentParachainInherentData',76      },77      sudo_send_upward_message: {78        message: 'Bytes',79      },80      authorize_upgrade: {81        codeHash: 'H256',82      },83      enact_authorized_upgrade: {84        code: 'Bytes'85      }86    }87  },88  /**89   * Lookup29: cumulus_primitives_parachain_inherent::ParachainInherentData90   **/91  CumulusPrimitivesParachainInherentParachainInherentData: {92    validationData: 'PolkadotPrimitivesV2PersistedValidationData',93    relayChainState: 'SpTrieStorageProof',94    downwardMessages: 'Vec<PolkadotCorePrimitivesInboundDownwardMessage>',95    horizontalMessages: 'BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>'96  },97  /**98   * Lookup31: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>99   **/100  PolkadotCorePrimitivesInboundDownwardMessage: {101    sentAt: 'u32',102    msg: 'Bytes'103  },104  /**105   * Lookup34: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>106   **/107  PolkadotCorePrimitivesInboundHrmpMessage: {108    sentAt: 'u32',109    data: 'Bytes'110  },111  /**112   * Lookup37: cumulus_pallet_parachain_system::pallet::Event<T>113   **/114  CumulusPalletParachainSystemEvent: {115    _enum: {116      ValidationFunctionStored: 'Null',117      ValidationFunctionApplied: 'u32',118      ValidationFunctionDiscarded: 'Null',119      UpgradeAuthorized: 'H256',120      DownwardMessagesReceived: 'u32',121      DownwardMessagesProcessed: '(u64,H256)'122    }123  },124  /**125   * Lookup38: cumulus_pallet_parachain_system::pallet::Error<T>126   **/127  CumulusPalletParachainSystemError: {128    _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized']129  },130  /**131   * Lookup41: pallet_balances::AccountData<Balance>132   **/133  PalletBalancesAccountData: {134    free: 'u128',135    reserved: 'u128',136    miscFrozen: 'u128',137    feeFrozen: 'u128'138  },139  /**140   * Lookup43: pallet_balances::BalanceLock<Balance>141   **/142  PalletBalancesBalanceLock: {143    id: '[u8;8]',144    amount: 'u128',145    reasons: 'PalletBalancesReasons'146  },147  /**148   * Lookup45: pallet_balances::Reasons149   **/150  PalletBalancesReasons: {151    _enum: ['Fee', 'Misc', 'All']152  },153  /**154   * Lookup48: pallet_balances::ReserveData<ReserveIdentifier, Balance>155   **/156  PalletBalancesReserveData: {157    id: '[u8;16]',158    amount: 'u128'159  },160  /**161   * Lookup51: pallet_balances::Releases162   **/163  PalletBalancesReleases: {164    _enum: ['V1_0_0', 'V2_0_0']165  },166  /**167   * Lookup52: pallet_balances::pallet::Call<T, I>168   **/169  PalletBalancesCall: {170    _enum: {171      transfer: {172        dest: 'MultiAddress',173        value: 'Compact<u128>',174      },175      set_balance: {176        who: 'MultiAddress',177        newFree: 'Compact<u128>',178        newReserved: 'Compact<u128>',179      },180      force_transfer: {181        source: 'MultiAddress',182        dest: 'MultiAddress',183        value: 'Compact<u128>',184      },185      transfer_keep_alive: {186        dest: 'MultiAddress',187        value: 'Compact<u128>',188      },189      transfer_all: {190        dest: 'MultiAddress',191        keepAlive: 'bool',192      },193      force_unreserve: {194        who: 'MultiAddress',195        amount: 'u128'196      }197    }198  },199  /**200   * Lookup58: pallet_balances::pallet::Event<T, I>201   **/202  PalletBalancesEvent: {203    _enum: {204      Endowed: {205        account: 'AccountId32',206        freeBalance: 'u128',207      },208      DustLost: {209        account: 'AccountId32',210        amount: 'u128',211      },212      Transfer: {213        from: 'AccountId32',214        to: 'AccountId32',215        amount: 'u128',216      },217      BalanceSet: {218        who: 'AccountId32',219        free: 'u128',220        reserved: 'u128',221      },222      Reserved: {223        who: 'AccountId32',224        amount: 'u128',225      },226      Unreserved: {227        who: 'AccountId32',228        amount: 'u128',229      },230      ReserveRepatriated: {231        from: 'AccountId32',232        to: 'AccountId32',233        amount: 'u128',234        destinationStatus: 'FrameSupportTokensMiscBalanceStatus',235      },236      Deposit: {237        who: 'AccountId32',238        amount: 'u128',239      },240      Withdraw: {241        who: 'AccountId32',242        amount: 'u128',243      },244      Slashed: {245        who: 'AccountId32',246        amount: 'u128'247      }248    }249  },250  /**251   * Lookup59: frame_support::traits::tokens::misc::BalanceStatus252   **/253  FrameSupportTokensMiscBalanceStatus: {254    _enum: ['Free', 'Reserved']255  },256  /**257   * Lookup60: pallet_balances::pallet::Error<T, I>258   **/259  PalletBalancesError: {260    _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves']261  },262  /**263   * Lookup63: pallet_timestamp::pallet::Call<T>264   **/265  PalletTimestampCall: {266    _enum: {267      set: {268        now: 'Compact<u64>'269      }270    }271  },272  /**273   * Lookup66: pallet_transaction_payment::Releases274   **/275  PalletTransactionPaymentReleases: {276    _enum: ['V1Ancient', 'V2']277  },278  /**279   * Lookup68: frame_support::weights::WeightToFeeCoefficient<Balance>280   **/281  FrameSupportWeightsWeightToFeeCoefficient: {282    coeffInteger: 'u128',283    coeffFrac: 'Perbill',284    negative: 'bool',285    degree: 'u8'286  },287  /**288   * Lookup70: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>289   **/290  PalletTreasuryProposal: {291    proposer: 'AccountId32',292    value: 'u128',293    beneficiary: 'AccountId32',294    bond: 'u128'295  },296  /**297   * Lookup73: pallet_treasury::pallet::Call<T, I>298   **/299  PalletTreasuryCall: {300    _enum: {301      propose_spend: {302        value: 'Compact<u128>',303        beneficiary: 'MultiAddress',304      },305      reject_proposal: {306        proposalId: 'Compact<u32>',307      },308      approve_proposal: {309        proposalId: 'Compact<u32>',310      },311      remove_approval: {312        proposalId: 'Compact<u32>'313      }314    }315  },316  /**317   * Lookup75: pallet_treasury::pallet::Event<T, I>318   **/319  PalletTreasuryEvent: {320    _enum: {321      Proposed: {322        proposalIndex: 'u32',323      },324      Spending: {325        budgetRemaining: 'u128',326      },327      Awarded: {328        proposalIndex: 'u32',329        award: 'u128',330        account: 'AccountId32',331      },332      Rejected: {333        proposalIndex: 'u32',334        slashed: 'u128',335      },336      Burnt: {337        burntFunds: 'u128',338      },339      Rollover: {340        rolloverBalance: 'u128',341      },342      Deposit: {343        value: 'u128'344      }345    }346  },347  /**348   * Lookup78: frame_support::PalletId349   **/350  FrameSupportPalletId: '[u8;8]',351  /**352   * Lookup79: pallet_treasury::pallet::Error<T, I>353   **/354  PalletTreasuryError: {355    _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'ProposalNotApproved']356  },357  /**358   * Lookup80: pallet_sudo::pallet::Call<T>359   **/360  PalletSudoCall: {361    _enum: {362      sudo: {363        call: 'Call',364      },365      sudo_unchecked_weight: {366        call: 'Call',367        weight: 'u64',368      },369      set_key: {370        _alias: {371          new_: 'new',372        },373        new_: 'MultiAddress',374      },375      sudo_as: {376        who: 'MultiAddress',377        call: 'Call'378      }379    }380  },381  /**382   * Lookup82: frame_system::pallet::Call<T>383   **/384  FrameSystemCall: {385    _enum: {386      fill_block: {387        ratio: 'Perbill',388      },389      remark: {390        remark: 'Bytes',391      },392      set_heap_pages: {393        pages: 'u64',394      },395      set_code: {396        code: 'Bytes',397      },398      set_code_without_checks: {399        code: 'Bytes',400      },401      set_storage: {402        items: 'Vec<(Bytes,Bytes)>',403      },404      kill_storage: {405        _alias: {406          keys_: 'keys',407        },408        keys_: 'Vec<Bytes>',409      },410      kill_prefix: {411        prefix: 'Bytes',412        subkeys: 'u32',413      },414      remark_with_event: {415        remark: 'Bytes'416      }417    }418  },419  /**420   * Lookup85: orml_vesting::module::Call<T>421   **/422  OrmlVestingModuleCall: {423    _enum: {424      claim: 'Null',425      vested_transfer: {426        dest: 'MultiAddress',427        schedule: 'OrmlVestingVestingSchedule',428      },429      update_vesting_schedules: {430        who: 'MultiAddress',431        vestingSchedules: 'Vec<OrmlVestingVestingSchedule>',432      },433      claim_for: {434        dest: 'MultiAddress'435      }436    }437  },438  /**439   * Lookup86: orml_vesting::VestingSchedule<BlockNumber, Balance>440   **/441  OrmlVestingVestingSchedule: {442    start: 'u32',443    period: 'u32',444    periodCount: 'u32',445    perPeriod: 'Compact<u128>'446  },447  /**448   * Lookup88: cumulus_pallet_xcmp_queue::pallet::Call<T>449   **/450  CumulusPalletXcmpQueueCall: {451    _enum: {452      service_overweight: {453        index: 'u64',454        weightLimit: 'u64',455      },456      suspend_xcm_execution: 'Null',457      resume_xcm_execution: 'Null',458      update_suspend_threshold: {459        _alias: {460          new_: 'new',461        },462        new_: 'u32',463      },464      update_drop_threshold: {465        _alias: {466          new_: 'new',467        },468        new_: 'u32',469      },470      update_resume_threshold: {471        _alias: {472          new_: 'new',473        },474        new_: 'u32',475      },476      update_threshold_weight: {477        _alias: {478          new_: 'new',479        },480        new_: 'u64',481      },482      update_weight_restrict_decay: {483        _alias: {484          new_: 'new',485        },486        new_: 'u64',487      },488      update_xcmp_max_individual_weight: {489        _alias: {490          new_: 'new',491        },492        new_: 'u64'493      }494    }495  },496  /**497   * Lookup89: pallet_xcm::pallet::Call<T>498   **/499  PalletXcmCall: {500    _enum: {501      send: {502        dest: 'XcmVersionedMultiLocation',503        message: 'XcmVersionedXcm',504      },505      teleport_assets: {506        dest: 'XcmVersionedMultiLocation',507        beneficiary: 'XcmVersionedMultiLocation',508        assets: 'XcmVersionedMultiAssets',509        feeAssetItem: 'u32',510      },511      reserve_transfer_assets: {512        dest: 'XcmVersionedMultiLocation',513        beneficiary: 'XcmVersionedMultiLocation',514        assets: 'XcmVersionedMultiAssets',515        feeAssetItem: 'u32',516      },517      execute: {518        message: 'XcmVersionedXcm',519        maxWeight: 'u64',520      },521      force_xcm_version: {522        location: 'XcmV1MultiLocation',523        xcmVersion: 'u32',524      },525      force_default_xcm_version: {526        maybeXcmVersion: 'Option<u32>',527      },528      force_subscribe_version_notify: {529        location: 'XcmVersionedMultiLocation',530      },531      force_unsubscribe_version_notify: {532        location: 'XcmVersionedMultiLocation',533      },534      limited_reserve_transfer_assets: {535        dest: 'XcmVersionedMultiLocation',536        beneficiary: 'XcmVersionedMultiLocation',537        assets: 'XcmVersionedMultiAssets',538        feeAssetItem: 'u32',539        weightLimit: 'XcmV2WeightLimit',540      },541      limited_teleport_assets: {542        dest: 'XcmVersionedMultiLocation',543        beneficiary: 'XcmVersionedMultiLocation',544        assets: 'XcmVersionedMultiAssets',545        feeAssetItem: 'u32',546        weightLimit: 'XcmV2WeightLimit'547      }548    }549  },550  /**551   * Lookup90: xcm::VersionedMultiLocation552   **/553  XcmVersionedMultiLocation: {554    _enum: {555      V0: 'XcmV0MultiLocation',556      V1: 'XcmV1MultiLocation'557    }558  },559  /**560   * Lookup91: xcm::v0::multi_location::MultiLocation561   **/562  XcmV0MultiLocation: {563    _enum: {564      Null: 'Null',565      X1: 'XcmV0Junction',566      X2: '(XcmV0Junction,XcmV0Junction)',567      X3: '(XcmV0Junction,XcmV0Junction,XcmV0Junction)',568      X4: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',569      X5: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',570      X6: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',571      X7: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',572      X8: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)'573    }574  },575  /**576   * Lookup92: xcm::v0::junction::Junction577   **/578  XcmV0Junction: {579    _enum: {580      Parent: 'Null',581      Parachain: 'Compact<u32>',582      AccountId32: {583        network: 'XcmV0JunctionNetworkId',584        id: '[u8;32]',585      },586      AccountIndex64: {587        network: 'XcmV0JunctionNetworkId',588        index: 'Compact<u64>',589      },590      AccountKey20: {591        network: 'XcmV0JunctionNetworkId',592        key: '[u8;20]',593      },594      PalletInstance: 'u8',595      GeneralIndex: 'Compact<u128>',596      GeneralKey: 'Bytes',597      OnlyChild: 'Null',598      Plurality: {599        id: 'XcmV0JunctionBodyId',600        part: 'XcmV0JunctionBodyPart'601      }602    }603  },604  /**605   * Lookup93: xcm::v0::junction::NetworkId606   **/607  XcmV0JunctionNetworkId: {608    _enum: {609      Any: 'Null',610      Named: 'Bytes',611      Polkadot: 'Null',612      Kusama: 'Null'613    }614  },615  /**616   * Lookup94: xcm::v0::junction::BodyId617   **/618  XcmV0JunctionBodyId: {619    _enum: {620      Unit: 'Null',621      Named: 'Bytes',622      Index: 'Compact<u32>',623      Executive: 'Null',624      Technical: 'Null',625      Legislative: 'Null',626      Judicial: 'Null'627    }628  },629  /**630   * Lookup95: xcm::v0::junction::BodyPart631   **/632  XcmV0JunctionBodyPart: {633    _enum: {634      Voice: 'Null',635      Members: {636        count: 'Compact<u32>',637      },638      Fraction: {639        nom: 'Compact<u32>',640        denom: 'Compact<u32>',641      },642      AtLeastProportion: {643        nom: 'Compact<u32>',644        denom: 'Compact<u32>',645      },646      MoreThanProportion: {647        nom: 'Compact<u32>',648        denom: 'Compact<u32>'649      }650    }651  },652  /**653   * Lookup96: xcm::v1::multilocation::MultiLocation654   **/655  XcmV1MultiLocation: {656    parents: 'u8',657    interior: 'XcmV1MultilocationJunctions'658  },659  /**660   * Lookup97: xcm::v1::multilocation::Junctions661   **/662  XcmV1MultilocationJunctions: {663    _enum: {664      Here: 'Null',665      X1: 'XcmV1Junction',666      X2: '(XcmV1Junction,XcmV1Junction)',667      X3: '(XcmV1Junction,XcmV1Junction,XcmV1Junction)',668      X4: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',669      X5: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',670      X6: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',671      X7: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',672      X8: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)'673    }674  },675  /**676   * Lookup98: xcm::v1::junction::Junction677   **/678  XcmV1Junction: {679    _enum: {680      Parachain: 'Compact<u32>',681      AccountId32: {682        network: 'XcmV0JunctionNetworkId',683        id: '[u8;32]',684      },685      AccountIndex64: {686        network: 'XcmV0JunctionNetworkId',687        index: 'Compact<u64>',688      },689      AccountKey20: {690        network: 'XcmV0JunctionNetworkId',691        key: '[u8;20]',692      },693      PalletInstance: 'u8',694      GeneralIndex: 'Compact<u128>',695      GeneralKey: 'Bytes',696      OnlyChild: 'Null',697      Plurality: {698        id: 'XcmV0JunctionBodyId',699        part: 'XcmV0JunctionBodyPart'700      }701    }702  },703  /**704   * Lookup99: xcm::VersionedXcm<Call>705   **/706  XcmVersionedXcm: {707    _enum: {708      V0: 'XcmV0Xcm',709      V1: 'XcmV1Xcm',710      V2: 'XcmV2Xcm'711    }712  },713  /**714   * Lookup100: xcm::v0::Xcm<Call>715   **/716  XcmV0Xcm: {717    _enum: {718      WithdrawAsset: {719        assets: 'Vec<XcmV0MultiAsset>',720        effects: 'Vec<XcmV0Order>',721      },722      ReserveAssetDeposit: {723        assets: 'Vec<XcmV0MultiAsset>',724        effects: 'Vec<XcmV0Order>',725      },726      TeleportAsset: {727        assets: 'Vec<XcmV0MultiAsset>',728        effects: 'Vec<XcmV0Order>',729      },730      QueryResponse: {731        queryId: 'Compact<u64>',732        response: 'XcmV0Response',733      },734      TransferAsset: {735        assets: 'Vec<XcmV0MultiAsset>',736        dest: 'XcmV0MultiLocation',737      },738      TransferReserveAsset: {739        assets: 'Vec<XcmV0MultiAsset>',740        dest: 'XcmV0MultiLocation',741        effects: 'Vec<XcmV0Order>',742      },743      Transact: {744        originType: 'XcmV0OriginKind',745        requireWeightAtMost: 'u64',746        call: 'XcmDoubleEncoded',747      },748      HrmpNewChannelOpenRequest: {749        sender: 'Compact<u32>',750        maxMessageSize: 'Compact<u32>',751        maxCapacity: 'Compact<u32>',752      },753      HrmpChannelAccepted: {754        recipient: 'Compact<u32>',755      },756      HrmpChannelClosing: {757        initiator: 'Compact<u32>',758        sender: 'Compact<u32>',759        recipient: 'Compact<u32>',760      },761      RelayedFrom: {762        who: 'XcmV0MultiLocation',763        message: 'XcmV0Xcm'764      }765    }766  },767  /**768   * Lookup102: xcm::v0::multi_asset::MultiAsset769   **/770  XcmV0MultiAsset: {771    _enum: {772      None: 'Null',773      All: 'Null',774      AllFungible: 'Null',775      AllNonFungible: 'Null',776      AllAbstractFungible: {777        id: 'Bytes',778      },779      AllAbstractNonFungible: {780        class: 'Bytes',781      },782      AllConcreteFungible: {783        id: 'XcmV0MultiLocation',784      },785      AllConcreteNonFungible: {786        class: 'XcmV0MultiLocation',787      },788      AbstractFungible: {789        id: 'Bytes',790        amount: 'Compact<u128>',791      },792      AbstractNonFungible: {793        class: 'Bytes',794        instance: 'XcmV1MultiassetAssetInstance',795      },796      ConcreteFungible: {797        id: 'XcmV0MultiLocation',798        amount: 'Compact<u128>',799      },800      ConcreteNonFungible: {801        class: 'XcmV0MultiLocation',802        instance: 'XcmV1MultiassetAssetInstance'803      }804    }805  },806  /**807   * Lookup103: xcm::v1::multiasset::AssetInstance808   **/809  XcmV1MultiassetAssetInstance: {810    _enum: {811      Undefined: 'Null',812      Index: 'Compact<u128>',813      Array4: '[u8;4]',814      Array8: '[u8;8]',815      Array16: '[u8;16]',816      Array32: '[u8;32]',817      Blob: 'Bytes'818    }819  },820  /**821   * Lookup106: xcm::v0::order::Order<Call>822   **/823  XcmV0Order: {824    _enum: {825      Null: 'Null',826      DepositAsset: {827        assets: 'Vec<XcmV0MultiAsset>',828        dest: 'XcmV0MultiLocation',829      },830      DepositReserveAsset: {831        assets: 'Vec<XcmV0MultiAsset>',832        dest: 'XcmV0MultiLocation',833        effects: 'Vec<XcmV0Order>',834      },835      ExchangeAsset: {836        give: 'Vec<XcmV0MultiAsset>',837        receive: 'Vec<XcmV0MultiAsset>',838      },839      InitiateReserveWithdraw: {840        assets: 'Vec<XcmV0MultiAsset>',841        reserve: 'XcmV0MultiLocation',842        effects: 'Vec<XcmV0Order>',843      },844      InitiateTeleport: {845        assets: 'Vec<XcmV0MultiAsset>',846        dest: 'XcmV0MultiLocation',847        effects: 'Vec<XcmV0Order>',848      },849      QueryHolding: {850        queryId: 'Compact<u64>',851        dest: 'XcmV0MultiLocation',852        assets: 'Vec<XcmV0MultiAsset>',853      },854      BuyExecution: {855        fees: 'XcmV0MultiAsset',856        weight: 'u64',857        debt: 'u64',858        haltOnError: 'bool',859        xcm: 'Vec<XcmV0Xcm>'860      }861    }862  },863  /**864   * Lookup108: xcm::v0::Response865   **/866  XcmV0Response: {867    _enum: {868      Assets: 'Vec<XcmV0MultiAsset>'869    }870  },871  /**872   * Lookup109: xcm::v0::OriginKind873   **/874  XcmV0OriginKind: {875    _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']876  },877  /**878   * Lookup110: xcm::double_encoded::DoubleEncoded<T>879   **/880  XcmDoubleEncoded: {881    encoded: 'Bytes'882  },883  /**884   * Lookup111: xcm::v1::Xcm<Call>885   **/886  XcmV1Xcm: {887    _enum: {888      WithdrawAsset: {889        assets: 'XcmV1MultiassetMultiAssets',890        effects: 'Vec<XcmV1Order>',891      },892      ReserveAssetDeposited: {893        assets: 'XcmV1MultiassetMultiAssets',894        effects: 'Vec<XcmV1Order>',895      },896      ReceiveTeleportedAsset: {897        assets: 'XcmV1MultiassetMultiAssets',898        effects: 'Vec<XcmV1Order>',899      },900      QueryResponse: {901        queryId: 'Compact<u64>',902        response: 'XcmV1Response',903      },904      TransferAsset: {905        assets: 'XcmV1MultiassetMultiAssets',906        beneficiary: 'XcmV1MultiLocation',907      },908      TransferReserveAsset: {909        assets: 'XcmV1MultiassetMultiAssets',910        dest: 'XcmV1MultiLocation',911        effects: 'Vec<XcmV1Order>',912      },913      Transact: {914        originType: 'XcmV0OriginKind',915        requireWeightAtMost: 'u64',916        call: 'XcmDoubleEncoded',917      },918      HrmpNewChannelOpenRequest: {919        sender: 'Compact<u32>',920        maxMessageSize: 'Compact<u32>',921        maxCapacity: 'Compact<u32>',922      },923      HrmpChannelAccepted: {924        recipient: 'Compact<u32>',925      },926      HrmpChannelClosing: {927        initiator: 'Compact<u32>',928        sender: 'Compact<u32>',929        recipient: 'Compact<u32>',930      },931      RelayedFrom: {932        who: 'XcmV1MultilocationJunctions',933        message: 'XcmV1Xcm',934      },935      SubscribeVersion: {936        queryId: 'Compact<u64>',937        maxResponseWeight: 'Compact<u64>',938      },939      UnsubscribeVersion: 'Null'940    }941  },942  /**943   * Lookup112: xcm::v1::multiasset::MultiAssets944   **/945  XcmV1MultiassetMultiAssets: 'Vec<XcmV1MultiAsset>',946  /**947   * Lookup114: xcm::v1::multiasset::MultiAsset948   **/949  XcmV1MultiAsset: {950    id: 'XcmV1MultiassetAssetId',951    fun: 'XcmV1MultiassetFungibility'952  },953  /**954   * Lookup115: xcm::v1::multiasset::AssetId955   **/956  XcmV1MultiassetAssetId: {957    _enum: {958      Concrete: 'XcmV1MultiLocation',959      Abstract: 'Bytes'960    }961  },962  /**963   * Lookup116: xcm::v1::multiasset::Fungibility964   **/965  XcmV1MultiassetFungibility: {966    _enum: {967      Fungible: 'Compact<u128>',968      NonFungible: 'XcmV1MultiassetAssetInstance'969    }970  },971  /**972   * Lookup118: xcm::v1::order::Order<Call>973   **/974  XcmV1Order: {975    _enum: {976      Noop: 'Null',977      DepositAsset: {978        assets: 'XcmV1MultiassetMultiAssetFilter',979        maxAssets: 'u32',980        beneficiary: 'XcmV1MultiLocation',981      },982      DepositReserveAsset: {983        assets: 'XcmV1MultiassetMultiAssetFilter',984        maxAssets: 'u32',985        dest: 'XcmV1MultiLocation',986        effects: 'Vec<XcmV1Order>',987      },988      ExchangeAsset: {989        give: 'XcmV1MultiassetMultiAssetFilter',990        receive: 'XcmV1MultiassetMultiAssets',991      },992      InitiateReserveWithdraw: {993        assets: 'XcmV1MultiassetMultiAssetFilter',994        reserve: 'XcmV1MultiLocation',995        effects: 'Vec<XcmV1Order>',996      },997      InitiateTeleport: {998        assets: 'XcmV1MultiassetMultiAssetFilter',999        dest: 'XcmV1MultiLocation',1000        effects: 'Vec<XcmV1Order>',1001      },1002      QueryHolding: {1003        queryId: 'Compact<u64>',1004        dest: 'XcmV1MultiLocation',1005        assets: 'XcmV1MultiassetMultiAssetFilter',1006      },1007      BuyExecution: {1008        fees: 'XcmV1MultiAsset',1009        weight: 'u64',1010        debt: 'u64',1011        haltOnError: 'bool',1012        instructions: 'Vec<XcmV1Xcm>'1013      }1014    }1015  },1016  /**1017   * Lookup119: xcm::v1::multiasset::MultiAssetFilter1018   **/1019  XcmV1MultiassetMultiAssetFilter: {1020    _enum: {1021      Definite: 'XcmV1MultiassetMultiAssets',1022      Wild: 'XcmV1MultiassetWildMultiAsset'1023    }1024  },1025  /**1026   * Lookup120: xcm::v1::multiasset::WildMultiAsset1027   **/1028  XcmV1MultiassetWildMultiAsset: {1029    _enum: {1030      All: 'Null',1031      AllOf: {1032        id: 'XcmV1MultiassetAssetId',1033        fun: 'XcmV1MultiassetWildFungibility'1034      }1035    }1036  },1037  /**1038   * Lookup121: xcm::v1::multiasset::WildFungibility1039   **/1040  XcmV1MultiassetWildFungibility: {1041    _enum: ['Fungible', 'NonFungible']1042  },1043  /**1044   * Lookup123: xcm::v1::Response1045   **/1046  XcmV1Response: {1047    _enum: {1048      Assets: 'XcmV1MultiassetMultiAssets',1049      Version: 'u32'1050    }1051  },1052  /**1053   * Lookup124: xcm::v2::Xcm<Call>1054   **/1055  XcmV2Xcm: 'Vec<XcmV2Instruction>',1056  /**1057   * Lookup126: xcm::v2::Instruction<Call>1058   **/1059  XcmV2Instruction: {1060    _enum: {1061      WithdrawAsset: 'XcmV1MultiassetMultiAssets',1062      ReserveAssetDeposited: 'XcmV1MultiassetMultiAssets',1063      ReceiveTeleportedAsset: 'XcmV1MultiassetMultiAssets',1064      QueryResponse: {1065        queryId: 'Compact<u64>',1066        response: 'XcmV2Response',1067        maxWeight: 'Compact<u64>',1068      },1069      TransferAsset: {1070        assets: 'XcmV1MultiassetMultiAssets',1071        beneficiary: 'XcmV1MultiLocation',1072      },1073      TransferReserveAsset: {1074        assets: 'XcmV1MultiassetMultiAssets',1075        dest: 'XcmV1MultiLocation',1076        xcm: 'XcmV2Xcm',1077      },1078      Transact: {1079        originType: 'XcmV0OriginKind',1080        requireWeightAtMost: 'Compact<u64>',1081        call: 'XcmDoubleEncoded',1082      },1083      HrmpNewChannelOpenRequest: {1084        sender: 'Compact<u32>',1085        maxMessageSize: 'Compact<u32>',1086        maxCapacity: 'Compact<u32>',1087      },1088      HrmpChannelAccepted: {1089        recipient: 'Compact<u32>',1090      },1091      HrmpChannelClosing: {1092        initiator: 'Compact<u32>',1093        sender: 'Compact<u32>',1094        recipient: 'Compact<u32>',1095      },1096      ClearOrigin: 'Null',1097      DescendOrigin: 'XcmV1MultilocationJunctions',1098      ReportError: {1099        queryId: 'Compact<u64>',1100        dest: 'XcmV1MultiLocation',1101        maxResponseWeight: 'Compact<u64>',1102      },1103      DepositAsset: {1104        assets: 'XcmV1MultiassetMultiAssetFilter',1105        maxAssets: 'Compact<u32>',1106        beneficiary: 'XcmV1MultiLocation',1107      },1108      DepositReserveAsset: {1109        assets: 'XcmV1MultiassetMultiAssetFilter',1110        maxAssets: 'Compact<u32>',1111        dest: 'XcmV1MultiLocation',1112        xcm: 'XcmV2Xcm',1113      },1114      ExchangeAsset: {1115        give: 'XcmV1MultiassetMultiAssetFilter',1116        receive: 'XcmV1MultiassetMultiAssets',1117      },1118      InitiateReserveWithdraw: {1119        assets: 'XcmV1MultiassetMultiAssetFilter',1120        reserve: 'XcmV1MultiLocation',1121        xcm: 'XcmV2Xcm',1122      },1123      InitiateTeleport: {1124        assets: 'XcmV1MultiassetMultiAssetFilter',1125        dest: 'XcmV1MultiLocation',1126        xcm: 'XcmV2Xcm',1127      },1128      QueryHolding: {1129        queryId: 'Compact<u64>',1130        dest: 'XcmV1MultiLocation',1131        assets: 'XcmV1MultiassetMultiAssetFilter',1132        maxResponseWeight: 'Compact<u64>',1133      },1134      BuyExecution: {1135        fees: 'XcmV1MultiAsset',1136        weightLimit: 'XcmV2WeightLimit',1137      },1138      RefundSurplus: 'Null',1139      SetErrorHandler: 'XcmV2Xcm',1140      SetAppendix: 'XcmV2Xcm',1141      ClearError: 'Null',1142      ClaimAsset: {1143        assets: 'XcmV1MultiassetMultiAssets',1144        ticket: 'XcmV1MultiLocation',1145      },1146      Trap: 'Compact<u64>',1147      SubscribeVersion: {1148        queryId: 'Compact<u64>',1149        maxResponseWeight: 'Compact<u64>',1150      },1151      UnsubscribeVersion: 'Null'1152    }1153  },1154  /**1155   * Lookup127: xcm::v2::Response1156   **/1157  XcmV2Response: {1158    _enum: {1159      Null: 'Null',1160      Assets: 'XcmV1MultiassetMultiAssets',1161      ExecutionResult: 'Option<(u32,XcmV2TraitsError)>',1162      Version: 'u32'1163    }1164  },1165  /**1166   * Lookup130: xcm::v2::traits::Error1167   **/1168  XcmV2TraitsError: {1169    _enum: {1170      Overflow: 'Null',1171      Unimplemented: 'Null',1172      UntrustedReserveLocation: 'Null',1173      UntrustedTeleportLocation: 'Null',1174      MultiLocationFull: 'Null',1175      MultiLocationNotInvertible: 'Null',1176      BadOrigin: 'Null',1177      InvalidLocation: 'Null',1178      AssetNotFound: 'Null',1179      FailedToTransactAsset: 'Null',1180      NotWithdrawable: 'Null',1181      LocationCannotHold: 'Null',1182      ExceedsMaxMessageSize: 'Null',1183      DestinationUnsupported: 'Null',1184      Transport: 'Null',1185      Unroutable: 'Null',1186      UnknownClaim: 'Null',1187      FailedToDecode: 'Null',1188      MaxWeightInvalid: 'Null',1189      NotHoldingFees: 'Null',1190      TooExpensive: 'Null',1191      Trap: 'u64',1192      UnhandledXcmVersion: 'Null',1193      WeightLimitReached: 'u64',1194      Barrier: 'Null',1195      WeightNotComputable: 'Null'1196    }1197  },1198  /**1199   * Lookup131: xcm::v2::WeightLimit1200   **/1201  XcmV2WeightLimit: {1202    _enum: {1203      Unlimited: 'Null',1204      Limited: 'Compact<u64>'1205    }1206  },1207  /**1208   * Lookup132: xcm::VersionedMultiAssets1209   **/1210  XcmVersionedMultiAssets: {1211    _enum: {1212      V0: 'Vec<XcmV0MultiAsset>',1213      V1: 'XcmV1MultiassetMultiAssets'1214    }1215  },1216  /**1217   * Lookup147: cumulus_pallet_xcm::pallet::Call<T>1218   **/1219  CumulusPalletXcmCall: 'Null',1220  /**1221   * Lookup148: cumulus_pallet_dmp_queue::pallet::Call<T>1222   **/1223  CumulusPalletDmpQueueCall: {1224    _enum: {1225      service_overweight: {1226        index: 'u64',1227        weightLimit: 'u64'1228      }1229    }1230  },1231  /**1232   * Lookup149: pallet_inflation::pallet::Call<T>1233   **/1234  PalletInflationCall: {1235    _enum: {1236      start_inflation: {1237        inflationStartRelayBlock: 'u32'1238      }1239    }1240  },1241  /**1242   * Lookup150: pallet_unique::Call<T>1243   **/1244  PalletUniqueCall: {1245    _enum: {1246      create_collection: {1247        collectionName: 'Vec<u16>',1248        collectionDescription: 'Vec<u16>',1249        tokenPrefix: 'Bytes',1250        mode: 'UpDataStructsCollectionMode',1251      },1252      create_collection_ex: {1253        data: 'UpDataStructsCreateCollectionData',1254      },1255      destroy_collection: {1256        collectionId: 'u32',1257      },1258      add_to_allow_list: {1259        collectionId: 'u32',1260        address: 'PalletEvmAccountBasicCrossAccountIdRepr',1261      },1262      remove_from_allow_list: {1263        collectionId: 'u32',1264        address: 'PalletEvmAccountBasicCrossAccountIdRepr',1265      },1266      change_collection_owner: {1267        collectionId: 'u32',1268        newOwner: 'AccountId32',1269      },1270      add_collection_admin: {1271        collectionId: 'u32',1272        newAdminId: 'PalletEvmAccountBasicCrossAccountIdRepr',1273      },1274      remove_collection_admin: {1275        collectionId: 'u32',1276        accountId: 'PalletEvmAccountBasicCrossAccountIdRepr',1277      },1278      set_collection_sponsor: {1279        collectionId: 'u32',1280        newSponsor: 'AccountId32',1281      },1282      confirm_sponsorship: {1283        collectionId: 'u32',1284      },1285      remove_collection_sponsor: {1286        collectionId: 'u32',1287      },1288      create_item: {1289        collectionId: 'u32',1290        owner: 'PalletEvmAccountBasicCrossAccountIdRepr',1291        data: 'UpDataStructsCreateItemData',1292      },1293      create_multiple_items: {1294        collectionId: 'u32',1295        owner: 'PalletEvmAccountBasicCrossAccountIdRepr',1296        itemsData: 'Vec<UpDataStructsCreateItemData>',1297      },1298      set_collection_properties: {1299        collectionId: 'u32',1300        properties: 'Vec<UpDataStructsProperty>',1301      },1302      delete_collection_properties: {1303        collectionId: 'u32',1304        propertyKeys: 'Vec<Bytes>',1305      },1306      set_token_properties: {1307        collectionId: 'u32',1308        tokenId: 'u32',1309        properties: 'Vec<UpDataStructsProperty>',1310      },1311      delete_token_properties: {1312        collectionId: 'u32',1313        tokenId: 'u32',1314        propertyKeys: 'Vec<Bytes>',1315      },1316      set_property_permissions: {1317        collectionId: 'u32',1318        propertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',1319      },1320      create_multiple_items_ex: {1321        collectionId: 'u32',1322        data: 'UpDataStructsCreateItemExData',1323      },1324      set_transfers_enabled_flag: {1325        collectionId: 'u32',1326        value: 'bool',1327      },1328      burn_item: {1329        collectionId: 'u32',1330        itemId: 'u32',1331        value: 'u128',1332      },1333      burn_from: {1334        collectionId: 'u32',1335        from: 'PalletEvmAccountBasicCrossAccountIdRepr',1336        itemId: 'u32',1337        value: 'u128',1338      },1339      transfer: {1340        recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',1341        collectionId: 'u32',1342        itemId: 'u32',1343        value: 'u128',1344      },1345      approve: {1346        spender: 'PalletEvmAccountBasicCrossAccountIdRepr',1347        collectionId: 'u32',1348        itemId: 'u32',1349        amount: 'u128',1350      },1351      transfer_from: {1352        from: 'PalletEvmAccountBasicCrossAccountIdRepr',1353        recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',1354        collectionId: 'u32',1355        itemId: 'u32',1356        value: 'u128',1357      },1358      set_collection_limits: {1359        collectionId: 'u32',1360        newLimit: 'UpDataStructsCollectionLimits',1361      },1362      set_collection_permissions: {1363        collectionId: 'u32',1364        newLimit: 'UpDataStructsCollectionPermissions'1365      }1366    }1367  },1368  /**1369   * Lookup156: up_data_structs::CollectionMode1370   **/1371  UpDataStructsCollectionMode: {1372    _enum: {1373      NFT: 'Null',1374      Fungible: 'u8',1375      ReFungible: 'Null'1376    }1377  },1378  /**1379   * Lookup157: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>1380   **/1381  UpDataStructsCreateCollectionData: {1382    mode: 'UpDataStructsCollectionMode',1383    access: 'Option<UpDataStructsAccessMode>',1384    name: 'Vec<u16>',1385    description: 'Vec<u16>',1386    tokenPrefix: 'Bytes',1387    pendingSponsor: 'Option<AccountId32>',1388    limits: 'Option<UpDataStructsCollectionLimits>',1389    permissions: 'Option<UpDataStructsCollectionPermissions>',1390    tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',1391    properties: 'Vec<UpDataStructsProperty>'1392  },1393  /**1394   * Lookup159: up_data_structs::AccessMode1395   **/1396  UpDataStructsAccessMode: {1397    _enum: ['Normal', 'AllowList']1398  },1399  /**1400   * Lookup162: up_data_structs::CollectionLimits1401   **/1402  UpDataStructsCollectionLimits: {1403    accountTokenOwnershipLimit: 'Option<u32>',1404    sponsoredDataSize: 'Option<u32>',1405    sponsoredDataRateLimit: 'Option<UpDataStructsSponsoringRateLimit>',1406    tokenLimit: 'Option<u32>',1407    sponsorTransferTimeout: 'Option<u32>',1408    sponsorApproveTimeout: 'Option<u32>',1409    ownerCanTransfer: 'Option<bool>',1410    ownerCanDestroy: 'Option<bool>',1411    transfersEnabled: 'Option<bool>'1412  },1413  /**1414   * Lookup164: up_data_structs::SponsoringRateLimit1415   **/1416  UpDataStructsSponsoringRateLimit: {1417    _enum: {1418      SponsoringDisabled: 'Null',1419      Blocks: 'u32'1420    }1421  },1422  /**1423   * Lookup167: up_data_structs::CollectionPermissions1424   **/1425  UpDataStructsCollectionPermissions: {1426    access: 'Option<UpDataStructsAccessMode>',1427    mintMode: 'Option<bool>',1428    nesting: 'Option<UpDataStructsNestingRule>'1429  },1430  /**1431   * Lookup169: up_data_structs::NestingRule1432   **/1433  UpDataStructsNestingRule: {1434    _enum: {1435      Disabled: 'Null',1436      Owner: 'Null',1437      OwnerRestricted: 'BTreeSet<u32>'1438    }1439  },1440  /**1441   * Lookup175: up_data_structs::PropertyKeyPermission1442   **/1443  UpDataStructsPropertyKeyPermission: {1444    key: 'Bytes',1445    permission: 'UpDataStructsPropertyPermission'1446  },1447  /**1448   * Lookup177: up_data_structs::PropertyPermission1449   **/1450  UpDataStructsPropertyPermission: {1451    mutable: 'bool',1452    collectionAdmin: 'bool',1453    tokenOwner: 'bool'1454  },1455  /**1456   * Lookup180: up_data_structs::Property1457   **/1458  UpDataStructsProperty: {1459    key: 'Bytes',1460    value: 'Bytes'1461  },1462  /**1463   * Lookup183: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>1464   **/1465  PalletEvmAccountBasicCrossAccountIdRepr: {1466    _enum: {1467      Substrate: 'AccountId32',1468      Ethereum: 'H160'1469    }1470  },1471  /**1472   * Lookup185: up_data_structs::CreateItemData1473   **/1474  UpDataStructsCreateItemData: {1475    _enum: {1476      NFT: 'UpDataStructsCreateNftData',1477      Fungible: 'UpDataStructsCreateFungibleData',1478      ReFungible: 'UpDataStructsCreateReFungibleData'1479    }1480  },1481  /**1482   * Lookup186: up_data_structs::CreateNftData1483   **/1484  UpDataStructsCreateNftData: {1485    properties: 'Vec<UpDataStructsProperty>'1486  },1487  /**1488   * Lookup187: up_data_structs::CreateFungibleData1489   **/1490  UpDataStructsCreateFungibleData: {1491    value: 'u128'1492  },1493  /**1494   * Lookup188: up_data_structs::CreateReFungibleData1495   **/1496  UpDataStructsCreateReFungibleData: {1497    constData: 'Bytes',1498    pieces: 'u128'1499  },1500  /**1501   * Lookup193: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1502   **/1503  UpDataStructsCreateItemExData: {1504    _enum: {1505      NFT: 'Vec<UpDataStructsCreateNftExData>',1506      Fungible: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',1507      RefungibleMultipleItems: 'Vec<UpDataStructsCreateRefungibleExData>',1508      RefungibleMultipleOwners: 'UpDataStructsCreateRefungibleExData'1509    }1510  },1511  /**1512   * Lookup195: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1513   **/1514  UpDataStructsCreateNftExData: {1515    properties: 'Vec<UpDataStructsProperty>',1516    owner: 'PalletEvmAccountBasicCrossAccountIdRepr'1517  },1518  /**1519   * Lookup202: up_data_structs::CreateRefungibleExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1520   **/1521  UpDataStructsCreateRefungibleExData: {1522    constData: 'Bytes',1523    users: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>'1524  },1525  /**1526   * Lookup204: pallet_unq_scheduler::pallet::Call<T>1527   **/1528  PalletUnqSchedulerCall: {1529    _enum: {1530      schedule_named: {1531        id: '[u8;16]',1532        when: 'u32',1533        maybePeriodic: 'Option<(u32,u32)>',1534        priority: 'u8',1535        call: 'FrameSupportScheduleMaybeHashed',1536      },1537      cancel_named: {1538        id: '[u8;16]',1539      },1540      schedule_named_after: {1541        id: '[u8;16]',1542        after: 'u32',1543        maybePeriodic: 'Option<(u32,u32)>',1544        priority: 'u8',1545        call: 'FrameSupportScheduleMaybeHashed'1546      }1547    }1548  },1549  /**1550   * Lookup206: frame_support::traits::schedule::MaybeHashed<opal_runtime::Call, primitive_types::H256>1551   **/1552  FrameSupportScheduleMaybeHashed: {1553    _enum: {1554      Value: 'Call',1555      Hash: 'H256'1556    }1557  },1558  /**1559   * Lookup207: pallet_template_transaction_payment::Call<T>1560   **/1561  PalletTemplateTransactionPaymentCall: 'Null',1562  /**1563   * Lookup208: pallet_structure::pallet::Call<T>1564   **/1565  PalletStructureCall: 'Null',1566  /**1567   * Lookup209: pallet_rmrk_core::pallet::Call<T>1568   **/1569  PalletRmrkCoreCall: {1570    _enum: {1571      create_collection: {1572        metadata: 'Bytes',1573        max: 'Option<u32>',1574        symbol: 'Bytes',1575      },1576      destroy_collection: {1577        collectionId: 'u32',1578      },1579      change_collection_issuer: {1580        collectionId: 'u32',1581        newIssuer: 'MultiAddress',1582      },1583      lock_collection: {1584        collectionId: 'u32',1585      },1586      mint_nft: {1587        owner: 'AccountId32',1588        collectionId: 'u32',1589        recipient: 'Option<AccountId32>',1590        royaltyAmount: 'Option<Permill>',1591        metadata: 'Bytes',1592        transferable: 'bool',1593      },1594      burn_nft: {1595        collectionId: 'u32',1596        nftId: 'u32',1597      },1598      send: {1599        rmrkCollectionId: 'u32',1600        rmrkNftId: 'u32',1601        newOwner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',1602      },1603      accept_nft: {1604        rmrkCollectionId: 'u32',1605        rmrkNftId: 'u32',1606        newOwner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',1607      },1608      reject_nft: {1609        rmrkCollectionId: 'u32',1610        rmrkNftId: 'u32',1611      },1612      accept_resource: {1613        rmrkCollectionId: 'u32',1614        rmrkNftId: 'u32',1615        rmrkResourceId: 'u32',1616      },1617      accept_resource_removal: {1618        rmrkCollectionId: 'u32',1619        rmrkNftId: 'u32',1620        rmrkResourceId: 'u32',1621      },1622      set_property: {1623        rmrkCollectionId: 'Compact<u32>',1624        maybeNftId: 'Option<u32>',1625        key: 'Bytes',1626        value: 'Bytes',1627      },1628      set_priority: {1629        rmrkCollectionId: 'u32',1630        rmrkNftId: 'u32',1631        priorities: 'Vec<u32>',1632      },1633      add_basic_resource: {1634        rmrkCollectionId: 'u32',1635        nftId: 'u32',1636        resource: 'RmrkTraitsResourceBasicResource',1637      },1638      add_composable_resource: {1639        rmrkCollectionId: 'u32',1640        nftId: 'u32',1641        resourceId: 'Bytes',1642        resource: 'RmrkTraitsResourceComposableResource',1643      },1644      add_slot_resource: {1645        rmrkCollectionId: 'u32',1646        nftId: 'u32',1647        resource: 'RmrkTraitsResourceSlotResource',1648      },1649      remove_resource: {1650        rmrkCollectionId: 'u32',1651        nftId: 'u32',1652        resourceId: 'u32'1653      }1654    }1655  },1656  /**1657   * Lookup213: rmrk_traits::nft::AccountIdOrCollectionNftTuple<sp_core::crypto::AccountId32>1658   **/1659  RmrkTraitsNftAccountIdOrCollectionNftTuple: {1660    _enum: {1661      AccountId: 'AccountId32',1662      CollectionAndNftTuple: '(u32,u32)'1663    }1664  },1665  /**1666   * Lookup217: rmrk_traits::resource::BasicResource<frame_support::storage::bounded_vec::BoundedVec<T, S>>1667   **/1668  RmrkTraitsResourceBasicResource: {1669    src: 'Option<Bytes>',1670    metadata: 'Option<Bytes>',1671    license: 'Option<Bytes>',1672    thumb: 'Option<Bytes>'1673  },1674  /**1675   * Lookup220: rmrk_traits::resource::ComposableResource<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>1676   **/1677  RmrkTraitsResourceComposableResource: {1678    parts: 'Vec<u32>',1679    base: 'u32',1680    src: 'Option<Bytes>',1681    metadata: 'Option<Bytes>',1682    license: 'Option<Bytes>',1683    thumb: 'Option<Bytes>'1684  },1685  /**1686   * Lookup222: rmrk_traits::resource::SlotResource<frame_support::storage::bounded_vec::BoundedVec<T, S>>1687   **/1688  RmrkTraitsResourceSlotResource: {1689    base: 'u32',1690    src: 'Option<Bytes>',1691    metadata: 'Option<Bytes>',1692    slot: 'u32',1693    license: 'Option<Bytes>',1694    thumb: 'Option<Bytes>'1695  },1696  /**1697   * Lookup223: pallet_rmrk_equip::pallet::Call<T>1698   **/1699  PalletRmrkEquipCall: {1700    _enum: {1701      create_base: {1702        baseType: 'Bytes',1703        symbol: 'Bytes',1704        parts: 'Vec<RmrkTraitsPartPartType>',1705      },1706      theme_add: {1707        baseId: 'u32',1708        theme: 'RmrkTraitsTheme'1709      }1710    }1711  },1712  /**1713   * Lookup225: rmrk_traits::part::PartType<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>1714   **/1715  RmrkTraitsPartPartType: {1716    _enum: {1717      FixedPart: 'RmrkTraitsPartFixedPart',1718      SlotPart: 'RmrkTraitsPartSlotPart'1719    }1720  },1721  /**1722   * Lookup227: rmrk_traits::part::FixedPart<frame_support::storage::bounded_vec::BoundedVec<T, S>>1723   **/1724  RmrkTraitsPartFixedPart: {1725    id: 'u32',1726    z: 'u32',1727    src: 'Bytes'1728  },1729  /**1730   * Lookup228: rmrk_traits::part::SlotPart<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>1731   **/1732  RmrkTraitsPartSlotPart: {1733    id: 'u32',1734    equippable: 'RmrkTraitsPartEquippableList',1735    src: 'Bytes',1736    z: 'u32'1737  },1738  /**1739   * Lookup229: rmrk_traits::part::EquippableList<frame_support::storage::bounded_vec::BoundedVec<T, S>>1740   **/1741  RmrkTraitsPartEquippableList: {1742    _enum: {1743      All: 'Null',1744      Empty: 'Null',1745      Custom: 'Vec<u32>'1746    }1747  },1748  /**1749   * Lookup231: rmrk_traits::theme::Theme<frame_support::storage::bounded_vec::BoundedVec<T, S>, PropertyList>1750   **/1751  RmrkTraitsTheme: {1752    name: 'Bytes',1753    properties: 'Vec<RmrkTraitsThemeThemeProperty>',1754    inherit: 'bool'1755  },1756  /**1757   * Lookup233: rmrk_traits::theme::ThemeProperty<frame_support::storage::bounded_vec::BoundedVec<T, S>>1758   **/1759  RmrkTraitsThemeThemeProperty: {1760    key: 'Bytes',1761    value: 'Bytes'1762  },1763  /**1764   * Lookup234: pallet_evm::pallet::Call<T>1765   **/1766  PalletEvmCall: {1767    _enum: {1768      withdraw: {1769        address: 'H160',1770        value: 'u128',1771      },1772      call: {1773        source: 'H160',1774        target: 'H160',1775        input: 'Bytes',1776        value: 'U256',1777        gasLimit: 'u64',1778        maxFeePerGas: 'U256',1779        maxPriorityFeePerGas: 'Option<U256>',1780        nonce: 'Option<U256>',1781        accessList: 'Vec<(H160,Vec<H256>)>',1782      },1783      create: {1784        source: 'H160',1785        init: 'Bytes',1786        value: 'U256',1787        gasLimit: 'u64',1788        maxFeePerGas: 'U256',1789        maxPriorityFeePerGas: 'Option<U256>',1790        nonce: 'Option<U256>',1791        accessList: 'Vec<(H160,Vec<H256>)>',1792      },1793      create2: {1794        source: 'H160',1795        init: 'Bytes',1796        salt: 'H256',1797        value: 'U256',1798        gasLimit: 'u64',1799        maxFeePerGas: 'U256',1800        maxPriorityFeePerGas: 'Option<U256>',1801        nonce: 'Option<U256>',1802        accessList: 'Vec<(H160,Vec<H256>)>'1803      }1804    }1805  },1806  /**1807   * Lookup240: pallet_ethereum::pallet::Call<T>1808   **/1809  PalletEthereumCall: {1810    _enum: {1811      transact: {1812        transaction: 'EthereumTransactionTransactionV2'1813      }1814    }1815  },1816  /**1817   * Lookup241: ethereum::transaction::TransactionV21818   **/1819  EthereumTransactionTransactionV2: {1820    _enum: {1821      Legacy: 'EthereumTransactionLegacyTransaction',1822      EIP2930: 'EthereumTransactionEip2930Transaction',1823      EIP1559: 'EthereumTransactionEip1559Transaction'1824    }1825  },1826  /**1827   * Lookup242: ethereum::transaction::LegacyTransaction1828   **/1829  EthereumTransactionLegacyTransaction: {1830    nonce: 'U256',1831    gasPrice: 'U256',1832    gasLimit: 'U256',1833    action: 'EthereumTransactionTransactionAction',1834    value: 'U256',1835    input: 'Bytes',1836    signature: 'EthereumTransactionTransactionSignature'1837  },1838  /**1839   * Lookup243: ethereum::transaction::TransactionAction1840   **/1841  EthereumTransactionTransactionAction: {1842    _enum: {1843      Call: 'H160',1844      Create: 'Null'1845    }1846  },1847  /**1848   * Lookup244: ethereum::transaction::TransactionSignature1849   **/1850  EthereumTransactionTransactionSignature: {1851    v: 'u64',1852    r: 'H256',1853    s: 'H256'1854  },1855  /**1856   * Lookup246: ethereum::transaction::EIP2930Transaction1857   **/1858  EthereumTransactionEip2930Transaction: {1859    chainId: 'u64',1860    nonce: 'U256',1861    gasPrice: 'U256',1862    gasLimit: 'U256',1863    action: 'EthereumTransactionTransactionAction',1864    value: 'U256',1865    input: 'Bytes',1866    accessList: 'Vec<EthereumTransactionAccessListItem>',1867    oddYParity: 'bool',1868    r: 'H256',1869    s: 'H256'1870  },1871  /**1872   * Lookup248: ethereum::transaction::AccessListItem1873   **/1874  EthereumTransactionAccessListItem: {1875    address: 'H160',1876    storageKeys: 'Vec<H256>'1877  },1878  /**1879   * Lookup249: ethereum::transaction::EIP1559Transaction1880   **/1881  EthereumTransactionEip1559Transaction: {1882    chainId: 'u64',1883    nonce: 'U256',1884    maxPriorityFeePerGas: 'U256',1885    maxFeePerGas: 'U256',1886    gasLimit: 'U256',1887    action: 'EthereumTransactionTransactionAction',1888    value: 'U256',1889    input: 'Bytes',1890    accessList: 'Vec<EthereumTransactionAccessListItem>',1891    oddYParity: 'bool',1892    r: 'H256',1893    s: 'H256'1894  },1895  /**1896   * Lookup250: pallet_evm_migration::pallet::Call<T>1897   **/1898  PalletEvmMigrationCall: {1899    _enum: {1900      begin: {1901        address: 'H160',1902      },1903      set_data: {1904        address: 'H160',1905        data: 'Vec<(H256,H256)>',1906      },1907      finish: {1908        address: 'H160',1909        code: 'Bytes'1910      }1911    }1912  },1913  /**1914   * Lookup253: pallet_sudo::pallet::Event<T>1915   **/1916  PalletSudoEvent: {1917    _enum: {1918      Sudid: {1919        sudoResult: 'Result<Null, SpRuntimeDispatchError>',1920      },1921      KeyChanged: {1922        oldSudoer: 'Option<AccountId32>',1923      },1924      SudoAsDone: {1925        sudoResult: 'Result<Null, SpRuntimeDispatchError>'1926      }1927    }1928  },1929  /**1930   * Lookup255: sp_runtime::DispatchError1931   **/1932  SpRuntimeDispatchError: {1933    _enum: {1934      Other: 'Null',1935      CannotLookup: 'Null',1936      BadOrigin: 'Null',1937      Module: 'SpRuntimeModuleError',1938      ConsumerRemaining: 'Null',1939      NoProviders: 'Null',1940      TooManyConsumers: 'Null',1941      Token: 'SpRuntimeTokenError',1942      Arithmetic: 'SpRuntimeArithmeticError',1943      Transactional: 'SpRuntimeTransactionalError'1944    }1945  },1946  /**1947   * Lookup256: sp_runtime::ModuleError1948   **/1949  SpRuntimeModuleError: {1950    index: 'u8',1951    error: '[u8;4]'1952  },1953  /**1954   * Lookup257: sp_runtime::TokenError1955   **/1956  SpRuntimeTokenError: {1957    _enum: ['NoFunds', 'WouldDie', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported']1958  },1959  /**1960   * Lookup258: sp_runtime::ArithmeticError1961   **/1962  SpRuntimeArithmeticError: {1963    _enum: ['Underflow', 'Overflow', 'DivisionByZero']1964  },1965  /**1966   * Lookup259: sp_runtime::TransactionalError1967   **/1968  SpRuntimeTransactionalError: {1969    _enum: ['LimitReached', 'NoLayer']1970  },1971  /**1972   * Lookup260: pallet_sudo::pallet::Error<T>1973   **/1974  PalletSudoError: {1975    _enum: ['RequireSudo']1976  },1977  /**1978   * Lookup261: frame_system::AccountInfo<Index, pallet_balances::AccountData<Balance>>1979   **/1980  FrameSystemAccountInfo: {1981    nonce: 'u32',1982    consumers: 'u32',1983    providers: 'u32',1984    sufficients: 'u32',1985    data: 'PalletBalancesAccountData'1986  },1987  /**1988   * Lookup262: frame_support::weights::PerDispatchClass<T>1989   **/1990  FrameSupportWeightsPerDispatchClassU64: {1991    normal: 'u64',1992    operational: 'u64',1993    mandatory: 'u64'1994  },1995  /**1996   * Lookup263: sp_runtime::generic::digest::Digest1997   **/1998  SpRuntimeDigest: {1999    logs: 'Vec<SpRuntimeDigestDigestItem>'2000  },2001  /**2002   * Lookup265: sp_runtime::generic::digest::DigestItem2003   **/2004  SpRuntimeDigestDigestItem: {2005    _enum: {2006      Other: 'Bytes',2007      __Unused1: 'Null',2008      __Unused2: 'Null',2009      __Unused3: 'Null',2010      Consensus: '([u8;4],Bytes)',2011      Seal: '([u8;4],Bytes)',2012      PreRuntime: '([u8;4],Bytes)',2013      __Unused7: 'Null',2014      RuntimeEnvironmentUpdated: 'Null'2015    }2016  },2017  /**2018   * Lookup267: frame_system::EventRecord<opal_runtime::Event, primitive_types::H256>2019   **/2020  FrameSystemEventRecord: {2021    phase: 'FrameSystemPhase',2022    event: 'Event',2023    topics: 'Vec<H256>'2024  },2025  /**2026   * Lookup269: frame_system::pallet::Event<T>2027   **/2028  FrameSystemEvent: {2029    _enum: {2030      ExtrinsicSuccess: {2031        dispatchInfo: 'FrameSupportWeightsDispatchInfo',2032      },2033      ExtrinsicFailed: {2034        dispatchError: 'SpRuntimeDispatchError',2035        dispatchInfo: 'FrameSupportWeightsDispatchInfo',2036      },2037      CodeUpdated: 'Null',2038      NewAccount: {2039        account: 'AccountId32',2040      },2041      KilledAccount: {2042        account: 'AccountId32',2043      },2044      Remarked: {2045        _alias: {2046          hash_: 'hash',2047        },2048        sender: 'AccountId32',2049        hash_: 'H256'2050      }2051    }2052  },2053  /**2054   * Lookup270: frame_support::weights::DispatchInfo2055   **/2056  FrameSupportWeightsDispatchInfo: {2057    weight: 'u64',2058    class: 'FrameSupportWeightsDispatchClass',2059    paysFee: 'FrameSupportWeightsPays'2060  },2061  /**2062   * Lookup271: frame_support::weights::DispatchClass2063   **/2064  FrameSupportWeightsDispatchClass: {2065    _enum: ['Normal', 'Operational', 'Mandatory']2066  },2067  /**2068   * Lookup272: frame_support::weights::Pays2069   **/2070  FrameSupportWeightsPays: {2071    _enum: ['Yes', 'No']2072  },2073  /**2074   * Lookup273: orml_vesting::module::Event<T>2075   **/2076  OrmlVestingModuleEvent: {2077    _enum: {2078      VestingScheduleAdded: {2079        from: 'AccountId32',2080        to: 'AccountId32',2081        vestingSchedule: 'OrmlVestingVestingSchedule',2082      },2083      Claimed: {2084        who: 'AccountId32',2085        amount: 'u128',2086      },2087      VestingSchedulesUpdated: {2088        who: 'AccountId32'2089      }2090    }2091  },2092  /**2093   * Lookup274: cumulus_pallet_xcmp_queue::pallet::Event<T>2094   **/2095  CumulusPalletXcmpQueueEvent: {2096    _enum: {2097      Success: 'Option<H256>',2098      Fail: '(Option<H256>,XcmV2TraitsError)',2099      BadVersion: 'Option<H256>',2100      BadFormat: 'Option<H256>',2101      UpwardMessageSent: 'Option<H256>',2102      XcmpMessageSent: 'Option<H256>',2103      OverweightEnqueued: '(u32,u32,u64,u64)',2104      OverweightServiced: '(u64,u64)'2105    }2106  },2107  /**2108   * Lookup275: pallet_xcm::pallet::Event<T>2109   **/2110  PalletXcmEvent: {2111    _enum: {2112      Attempted: 'XcmV2TraitsOutcome',2113      Sent: '(XcmV1MultiLocation,XcmV1MultiLocation,XcmV2Xcm)',2114      UnexpectedResponse: '(XcmV1MultiLocation,u64)',2115      ResponseReady: '(u64,XcmV2Response)',2116      Notified: '(u64,u8,u8)',2117      NotifyOverweight: '(u64,u8,u8,u64,u64)',2118      NotifyDispatchError: '(u64,u8,u8)',2119      NotifyDecodeFailed: '(u64,u8,u8)',2120      InvalidResponder: '(XcmV1MultiLocation,u64,Option<XcmV1MultiLocation>)',2121      InvalidResponderVersion: '(XcmV1MultiLocation,u64)',2122      ResponseTaken: 'u64',2123      AssetsTrapped: '(H256,XcmV1MultiLocation,XcmVersionedMultiAssets)',2124      VersionChangeNotified: '(XcmV1MultiLocation,u32)',2125      SupportedVersionChanged: '(XcmV1MultiLocation,u32)',2126      NotifyTargetSendFail: '(XcmV1MultiLocation,u64,XcmV2TraitsError)',2127      NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)'2128    }2129  },2130  /**2131   * Lookup276: xcm::v2::traits::Outcome2132   **/2133  XcmV2TraitsOutcome: {2134    _enum: {2135      Complete: 'u64',2136      Incomplete: '(u64,XcmV2TraitsError)',2137      Error: 'XcmV2TraitsError'2138    }2139  },2140  /**2141   * Lookup278: cumulus_pallet_xcm::pallet::Event<T>2142   **/2143  CumulusPalletXcmEvent: {2144    _enum: {2145      InvalidFormat: '[u8;8]',2146      UnsupportedVersion: '[u8;8]',2147      ExecutedDownward: '([u8;8],XcmV2TraitsOutcome)'2148    }2149  },2150  /**2151   * Lookup279: cumulus_pallet_dmp_queue::pallet::Event<T>2152   **/2153  CumulusPalletDmpQueueEvent: {2154    _enum: {2155      InvalidFormat: '[u8;32]',2156      UnsupportedVersion: '[u8;32]',2157      ExecutedDownward: '([u8;32],XcmV2TraitsOutcome)',2158      WeightExhausted: '([u8;32],u64,u64)',2159      OverweightEnqueued: '([u8;32],u64,u64)',2160      OverweightServiced: '(u64,u64)'2161    }2162  },2163  /**2164   * Lookup280: pallet_unique::RawEvent<sp_core::crypto::AccountId32, pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2165   **/2166  PalletUniqueRawEvent: {2167    _enum: {2168      CollectionSponsorRemoved: 'u32',2169      CollectionAdminAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',2170      CollectionOwnedChanged: '(u32,AccountId32)',2171      CollectionSponsorSet: '(u32,AccountId32)',2172      SponsorshipConfirmed: '(u32,AccountId32)',2173      CollectionAdminRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',2174      AllowListAddressRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',2175      AllowListAddressAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',2176      CollectionLimitSet: 'u32',2177      CollectionPermissionSet: 'u32'2178    }2179  },2180  /**2181   * Lookup281: pallet_unq_scheduler::pallet::Event<T>2182   **/2183  PalletUnqSchedulerEvent: {2184    _enum: {2185      Scheduled: {2186        when: 'u32',2187        index: 'u32',2188      },2189      Canceled: {2190        when: 'u32',2191        index: 'u32',2192      },2193      Dispatched: {2194        task: '(u32,u32)',2195        id: 'Option<[u8;16]>',2196        result: 'Result<Null, SpRuntimeDispatchError>',2197      },2198      CallLookupFailed: {2199        task: '(u32,u32)',2200        id: 'Option<[u8;16]>',2201        error: 'FrameSupportScheduleLookupError'2202      }2203    }2204  },2205  /**2206   * Lookup283: frame_support::traits::schedule::LookupError2207   **/2208  FrameSupportScheduleLookupError: {2209    _enum: ['Unknown', 'BadFormat']2210  },2211  /**2212   * Lookup284: pallet_common::pallet::Event<T>2213   **/2214  PalletCommonEvent: {2215    _enum: {2216      CollectionCreated: '(u32,u8,AccountId32)',2217      CollectionDestroyed: 'u32',2218      ItemCreated: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',2219      ItemDestroyed: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',2220      Transfer: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',2221      Approved: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',2222      CollectionPropertySet: '(u32,Bytes)',2223      CollectionPropertyDeleted: '(u32,Bytes)',2224      TokenPropertySet: '(u32,u32,Bytes)',2225      TokenPropertyDeleted: '(u32,u32,Bytes)',2226      PropertyPermissionSet: '(u32,Bytes)'2227    }2228  },2229  /**2230   * Lookup285: pallet_structure::pallet::Event<T>2231   **/2232  PalletStructureEvent: {2233    _enum: {2234      Executed: 'Result<Null, SpRuntimeDispatchError>'2235    }2236  },2237  /**2238   * Lookup286: pallet_rmrk_core::pallet::Event<T>2239   **/2240  PalletRmrkCoreEvent: {2241    _enum: {2242      CollectionCreated: {2243        issuer: 'AccountId32',2244        collectionId: 'u32',2245      },2246      CollectionDestroyed: {2247        issuer: 'AccountId32',2248        collectionId: 'u32',2249      },2250      IssuerChanged: {2251        oldIssuer: 'AccountId32',2252        newIssuer: 'AccountId32',2253        collectionId: 'u32',2254      },2255      CollectionLocked: {2256        issuer: 'AccountId32',2257        collectionId: 'u32',2258      },2259      NftMinted: {2260        owner: 'AccountId32',2261        collectionId: 'u32',2262        nftId: 'u32',2263      },2264      NFTBurned: {2265        owner: 'AccountId32',2266        nftId: 'u32',2267      },2268      NFTSent: {2269        sender: 'AccountId32',2270        recipient: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',2271        collectionId: 'u32',2272        nftId: 'u32',2273        approvalRequired: 'bool',2274      },2275      NFTAccepted: {2276        sender: 'AccountId32',2277        recipient: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',2278        collectionId: 'u32',2279        nftId: 'u32',2280      },2281      NFTRejected: {2282        sender: 'AccountId32',2283        collectionId: 'u32',2284        nftId: 'u32',2285      },2286      PropertySet: {2287        collectionId: 'u32',2288        maybeNftId: 'Option<u32>',2289        key: 'Bytes',2290        value: 'Bytes',2291      },2292      ResourceAdded: {2293        nftId: 'u32',2294        resourceId: 'u32',2295      },2296      ResourceRemoval: {2297        nftId: 'u32',2298        resourceId: 'u32',2299      },2300      ResourceAccepted: {2301        nftId: 'u32',2302        resourceId: 'u32',2303      },2304      ResourceRemovalAccepted: {2305        nftId: 'u32',2306        resourceId: 'u32',2307      },2308      PrioritySet: {2309        collectionId: 'u32',2310        nftId: 'u32'2311      }2312    }2313  },2314  /**2315   * Lookup287: pallet_rmrk_equip::pallet::Event<T>2316   **/2317  PalletRmrkEquipEvent: {2318    _enum: {2319      BaseCreated: {2320        issuer: 'AccountId32',2321        baseId: 'u32'2322      }2323    }2324  },2325  /**2326   * Lookup288: pallet_evm::pallet::Event<T>2327   **/2328  PalletEvmEvent: {2329    _enum: {2330      Log: 'EthereumLog',2331      Created: 'H160',2332      CreatedFailed: 'H160',2333      Executed: 'H160',2334      ExecutedFailed: 'H160',2335      BalanceDeposit: '(AccountId32,H160,U256)',2336      BalanceWithdraw: '(AccountId32,H160,U256)'2337    }2338  },2339  /**2340   * Lookup289: ethereum::log::Log2341   **/2342  EthereumLog: {2343    address: 'H160',2344    topics: 'Vec<H256>',2345    data: 'Bytes'2346  },2347  /**2348   * Lookup290: pallet_ethereum::pallet::Event2349   **/2350  PalletEthereumEvent: {2351    _enum: {2352      Executed: '(H160,H160,H256,EvmCoreErrorExitReason)'2353    }2354  },2355  /**2356   * Lookup291: evm_core::error::ExitReason2357   **/2358  EvmCoreErrorExitReason: {2359    _enum: {2360      Succeed: 'EvmCoreErrorExitSucceed',2361      Error: 'EvmCoreErrorExitError',2362      Revert: 'EvmCoreErrorExitRevert',2363      Fatal: 'EvmCoreErrorExitFatal'2364    }2365  },2366  /**2367   * Lookup292: evm_core::error::ExitSucceed2368   **/2369  EvmCoreErrorExitSucceed: {2370    _enum: ['Stopped', 'Returned', 'Suicided']2371  },2372  /**2373   * Lookup293: evm_core::error::ExitError2374   **/2375  EvmCoreErrorExitError: {2376    _enum: {2377      StackUnderflow: 'Null',2378      StackOverflow: 'Null',2379      InvalidJump: 'Null',2380      InvalidRange: 'Null',2381      DesignatedInvalid: 'Null',2382      CallTooDeep: 'Null',2383      CreateCollision: 'Null',2384      CreateContractLimit: 'Null',2385      OutOfOffset: 'Null',2386      OutOfGas: 'Null',2387      OutOfFund: 'Null',2388      PCUnderflow: 'Null',2389      CreateEmpty: 'Null',2390      Other: 'Text',2391      InvalidCode: 'Null'2392    }2393  },2394  /**2395   * Lookup296: evm_core::error::ExitRevert2396   **/2397  EvmCoreErrorExitRevert: {2398    _enum: ['Reverted']2399  },2400  /**2401   * Lookup297: evm_core::error::ExitFatal2402   **/2403  EvmCoreErrorExitFatal: {2404    _enum: {2405      NotSupported: 'Null',2406      UnhandledInterrupt: 'Null',2407      CallErrorAsFatal: 'EvmCoreErrorExitError',2408      Other: 'Text'2409    }2410  },2411  /**2412   * Lookup298: frame_system::Phase2413   **/2414  FrameSystemPhase: {2415    _enum: {2416      ApplyExtrinsic: 'u32',2417      Finalization: 'Null',2418      Initialization: 'Null'2419    }2420  },2421  /**2422   * Lookup300: frame_system::LastRuntimeUpgradeInfo2423   **/2424  FrameSystemLastRuntimeUpgradeInfo: {2425    specVersion: 'Compact<u32>',2426    specName: 'Text'2427  },2428  /**2429   * Lookup301: frame_system::limits::BlockWeights2430   **/2431  FrameSystemLimitsBlockWeights: {2432    baseBlock: 'u64',2433    maxBlock: 'u64',2434    perClass: 'FrameSupportWeightsPerDispatchClassWeightsPerClass'2435  },2436  /**2437   * Lookup302: frame_support::weights::PerDispatchClass<frame_system::limits::WeightsPerClass>2438   **/2439  FrameSupportWeightsPerDispatchClassWeightsPerClass: {2440    normal: 'FrameSystemLimitsWeightsPerClass',2441    operational: 'FrameSystemLimitsWeightsPerClass',2442    mandatory: 'FrameSystemLimitsWeightsPerClass'2443  },2444  /**2445   * Lookup303: frame_system::limits::WeightsPerClass2446   **/2447  FrameSystemLimitsWeightsPerClass: {2448    baseExtrinsic: 'u64',2449    maxExtrinsic: 'Option<u64>',2450    maxTotal: 'Option<u64>',2451    reserved: 'Option<u64>'2452  },2453  /**2454   * Lookup305: frame_system::limits::BlockLength2455   **/2456  FrameSystemLimitsBlockLength: {2457    max: 'FrameSupportWeightsPerDispatchClassU32'2458  },2459  /**2460   * Lookup306: frame_support::weights::PerDispatchClass<T>2461   **/2462  FrameSupportWeightsPerDispatchClassU32: {2463    normal: 'u32',2464    operational: 'u32',2465    mandatory: 'u32'2466  },2467  /**2468   * Lookup307: frame_support::weights::RuntimeDbWeight2469   **/2470  FrameSupportWeightsRuntimeDbWeight: {2471    read: 'u64',2472    write: 'u64'2473  },2474  /**2475   * Lookup308: sp_version::RuntimeVersion2476   **/2477  SpVersionRuntimeVersion: {2478    specName: 'Text',2479    implName: 'Text',2480    authoringVersion: 'u32',2481    specVersion: 'u32',2482    implVersion: 'u32',2483    apis: 'Vec<([u8;8],u32)>',2484    transactionVersion: 'u32',2485    stateVersion: 'u8'2486  },2487  /**2488   * Lookup312: frame_system::pallet::Error<T>2489   **/2490  FrameSystemError: {2491    _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']2492  },2493  /**2494   * Lookup314: orml_vesting::module::Error<T>2495   **/2496  OrmlVestingModuleError: {2497    _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']2498  },2499  /**2500   * Lookup316: cumulus_pallet_xcmp_queue::InboundChannelDetails2501   **/2502  CumulusPalletXcmpQueueInboundChannelDetails: {2503    sender: 'u32',2504    state: 'CumulusPalletXcmpQueueInboundState',2505    messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'2506  },2507  /**2508   * Lookup317: cumulus_pallet_xcmp_queue::InboundState2509   **/2510  CumulusPalletXcmpQueueInboundState: {2511    _enum: ['Ok', 'Suspended']2512  },2513  /**2514   * Lookup320: polkadot_parachain::primitives::XcmpMessageFormat2515   **/2516  PolkadotParachainPrimitivesXcmpMessageFormat: {2517    _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']2518  },2519  /**2520   * Lookup323: cumulus_pallet_xcmp_queue::OutboundChannelDetails2521   **/2522  CumulusPalletXcmpQueueOutboundChannelDetails: {2523    recipient: 'u32',2524    state: 'CumulusPalletXcmpQueueOutboundState',2525    signalsExist: 'bool',2526    firstIndex: 'u16',2527    lastIndex: 'u16'2528  },2529  /**2530   * Lookup324: cumulus_pallet_xcmp_queue::OutboundState2531   **/2532  CumulusPalletXcmpQueueOutboundState: {2533    _enum: ['Ok', 'Suspended']2534  },2535  /**2536   * Lookup326: cumulus_pallet_xcmp_queue::QueueConfigData2537   **/2538  CumulusPalletXcmpQueueQueueConfigData: {2539    suspendThreshold: 'u32',2540    dropThreshold: 'u32',2541    resumeThreshold: 'u32',2542    thresholdWeight: 'u64',2543    weightRestrictDecay: 'u64',2544    xcmpMaxIndividualWeight: 'u64'2545  },2546  /**2547   * Lookup328: cumulus_pallet_xcmp_queue::pallet::Error<T>2548   **/2549  CumulusPalletXcmpQueueError: {2550    _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']2551  },2552  /**2553   * Lookup329: pallet_xcm::pallet::Error<T>2554   **/2555  PalletXcmError: {2556    _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']2557  },2558  /**2559   * Lookup330: cumulus_pallet_xcm::pallet::Error<T>2560   **/2561  CumulusPalletXcmError: 'Null',2562  /**2563   * Lookup331: cumulus_pallet_dmp_queue::ConfigData2564   **/2565  CumulusPalletDmpQueueConfigData: {2566    maxIndividual: 'u64'2567  },2568  /**2569   * Lookup332: cumulus_pallet_dmp_queue::PageIndexData2570   **/2571  CumulusPalletDmpQueuePageIndexData: {2572    beginUsed: 'u32',2573    endUsed: 'u32',2574    overweightCount: 'u64'2575  },2576  /**2577   * Lookup335: cumulus_pallet_dmp_queue::pallet::Error<T>2578   **/2579  CumulusPalletDmpQueueError: {2580    _enum: ['Unknown', 'OverLimit']2581  },2582  /**2583   * Lookup339: pallet_unique::Error<T>2584   **/2585  PalletUniqueError: {2586    _enum: ['CollectionDecimalPointLimitExceeded', 'ConfirmUnsetSponsorFail', 'EmptyArgument']2587  },2588  /**2589   * Lookup342: pallet_unq_scheduler::ScheduledV3<frame_support::traits::schedule::MaybeHashed<opal_runtime::Call, primitive_types::H256>, BlockNumber, opal_runtime::OriginCaller, sp_core::crypto::AccountId32>2590   **/2591  PalletUnqSchedulerScheduledV3: {2592    maybeId: 'Option<[u8;16]>',2593    priority: 'u8',2594    call: 'FrameSupportScheduleMaybeHashed',2595    maybePeriodic: 'Option<(u32,u32)>',2596    origin: 'OpalRuntimeOriginCaller'2597  },2598  /**2599   * Lookup343: opal_runtime::OriginCaller2600   **/2601  OpalRuntimeOriginCaller: {2602    _enum: {2603      __Unused0: 'Null',2604      __Unused1: 'Null',2605      __Unused2: 'Null',2606      __Unused3: 'Null',2607      Void: 'SpCoreVoid',2608      __Unused5: 'Null',2609      __Unused6: 'Null',2610      __Unused7: 'Null',2611      __Unused8: 'Null',2612      __Unused9: 'Null',2613      __Unused10: 'Null',2614      __Unused11: 'Null',2615      __Unused12: 'Null',2616      __Unused13: 'Null',2617      __Unused14: 'Null',2618      __Unused15: 'Null',2619      __Unused16: 'Null',2620      __Unused17: 'Null',2621      __Unused18: 'Null',2622      __Unused19: 'Null',2623      __Unused20: 'Null',2624      __Unused21: 'Null',2625      __Unused22: 'Null',2626      __Unused23: 'Null',2627      __Unused24: 'Null',2628      __Unused25: 'Null',2629      __Unused26: 'Null',2630      __Unused27: 'Null',2631      __Unused28: 'Null',2632      __Unused29: 'Null',2633      __Unused30: 'Null',2634      __Unused31: 'Null',2635      __Unused32: 'Null',2636      __Unused33: 'Null',2637      __Unused34: 'Null',2638      __Unused35: 'Null',2639      system: 'FrameSupportDispatchRawOrigin',2640      __Unused37: 'Null',2641      __Unused38: 'Null',2642      __Unused39: 'Null',2643      __Unused40: 'Null',2644      __Unused41: 'Null',2645      __Unused42: 'Null',2646      __Unused43: 'Null',2647      __Unused44: 'Null',2648      __Unused45: 'Null',2649      __Unused46: 'Null',2650      __Unused47: 'Null',2651      __Unused48: 'Null',2652      __Unused49: 'Null',2653      __Unused50: 'Null',2654      PolkadotXcm: 'PalletXcmOrigin',2655      CumulusXcm: 'CumulusPalletXcmOrigin',2656      __Unused53: 'Null',2657      __Unused54: 'Null',2658      __Unused55: 'Null',2659      __Unused56: 'Null',2660      __Unused57: 'Null',2661      __Unused58: 'Null',2662      __Unused59: 'Null',2663      __Unused60: 'Null',2664      __Unused61: 'Null',2665      __Unused62: 'Null',2666      __Unused63: 'Null',2667      __Unused64: 'Null',2668      __Unused65: 'Null',2669      __Unused66: 'Null',2670      __Unused67: 'Null',2671      __Unused68: 'Null',2672      __Unused69: 'Null',2673      __Unused70: 'Null',2674      __Unused71: 'Null',2675      __Unused72: 'Null',2676      __Unused73: 'Null',2677      __Unused74: 'Null',2678      __Unused75: 'Null',2679      __Unused76: 'Null',2680      __Unused77: 'Null',2681      __Unused78: 'Null',2682      __Unused79: 'Null',2683      __Unused80: 'Null',2684      __Unused81: 'Null',2685      __Unused82: 'Null',2686      __Unused83: 'Null',2687      __Unused84: 'Null',2688      __Unused85: 'Null',2689      __Unused86: 'Null',2690      __Unused87: 'Null',2691      __Unused88: 'Null',2692      __Unused89: 'Null',2693      __Unused90: 'Null',2694      __Unused91: 'Null',2695      __Unused92: 'Null',2696      __Unused93: 'Null',2697      __Unused94: 'Null',2698      __Unused95: 'Null',2699      __Unused96: 'Null',2700      __Unused97: 'Null',2701      __Unused98: 'Null',2702      __Unused99: 'Null',2703      __Unused100: 'Null',2704      Ethereum: 'PalletEthereumRawOrigin'2705    }2706  },2707  /**2708   * Lookup344: frame_support::dispatch::RawOrigin<sp_core::crypto::AccountId32>2709   **/2710  FrameSupportDispatchRawOrigin: {2711    _enum: {2712      Root: 'Null',2713      Signed: 'AccountId32',2714      None: 'Null'2715    }2716  },2717  /**2718   * Lookup345: pallet_xcm::pallet::Origin2719   **/2720  PalletXcmOrigin: {2721    _enum: {2722      Xcm: 'XcmV1MultiLocation',2723      Response: 'XcmV1MultiLocation'2724    }2725  },2726  /**2727   * Lookup346: cumulus_pallet_xcm::pallet::Origin2728   **/2729  CumulusPalletXcmOrigin: {2730    _enum: {2731      Relay: 'Null',2732      SiblingParachain: 'u32'2733    }2734  },2735  /**2736   * Lookup347: pallet_ethereum::RawOrigin2737   **/2738  PalletEthereumRawOrigin: {2739    _enum: {2740      EthereumTransaction: 'H160'2741    }2742  },2743  /**2744   * Lookup348: sp_core::Void2745   **/2746  SpCoreVoid: 'Null',2747  /**2748   * Lookup349: pallet_unq_scheduler::pallet::Error<T>2749   **/2750  PalletUnqSchedulerError: {2751    _enum: ['FailedToSchedule', 'NotFound', 'TargetBlockNumberInPast', 'RescheduleNoChange']2752  },2753  /**2754   * Lookup350: up_data_structs::Collection<sp_core::crypto::AccountId32>2755   **/2756  UpDataStructsCollection: {2757    owner: 'AccountId32',2758    mode: 'UpDataStructsCollectionMode',2759    name: 'Vec<u16>',2760    description: 'Vec<u16>',2761    tokenPrefix: 'Bytes',2762    sponsorship: 'UpDataStructsSponsorshipState',2763    limits: 'UpDataStructsCollectionLimits',2764    permissions: 'UpDataStructsCollectionPermissions',2765    externalCollection: 'bool'2766  },2767  /**2768   * Lookup351: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>2769   **/2770  UpDataStructsSponsorshipState: {2771    _enum: {2772      Disabled: 'Null',2773      Unconfirmed: 'AccountId32',2774      Confirmed: 'AccountId32'2775    }2776  },2777  /**2778   * Lookup352: up_data_structs::Properties2779   **/2780  UpDataStructsProperties: {2781    map: 'UpDataStructsPropertiesMapBoundedVec',2782    consumedSpace: 'u32',2783    spaceLimit: 'u32'2784  },2785  /**2786   * Lookup353: up_data_structs::PropertiesMap<frame_support::storage::bounded_vec::BoundedVec<T, S>>2787   **/2788  UpDataStructsPropertiesMapBoundedVec: 'BTreeMap<Bytes, Bytes>',2789  /**2790   * Lookup358: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>2791   **/2792  UpDataStructsPropertiesMapPropertyPermission: 'BTreeMap<Bytes, UpDataStructsPropertyPermission>',2793  /**2794   * Lookup365: up_data_structs::CollectionStats2795   **/2796  UpDataStructsCollectionStats: {2797    created: 'u32',2798    destroyed: 'u32',2799    alive: 'u32'2800  },2801  /**2802   * Lookup366: up_data_structs::TokenChild2803   **/2804  UpDataStructsTokenChild: {2805    token: 'u32',2806    collection: 'u32'2807  },2808  /**2809   * Lookup367: PhantomType::up_data_structs<T>2810   **/2811  PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,RmrkTraitsCollectionCollectionInfo,RmrkTraitsNftNftInfo,RmrkTraitsResourceResourceInfo,RmrkTraitsPropertyPropertyInfo,RmrkTraitsBaseBaseInfo,RmrkTraitsPartPartType,RmrkTraitsTheme,RmrkTraitsNftNftChild);0]',2812  /**2813   * Lookup369: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2814   **/2815  UpDataStructsTokenData: {2816    properties: 'Vec<UpDataStructsProperty>',2817    owner: 'Option<PalletEvmAccountBasicCrossAccountIdRepr>'2818  },2819  /**2820   * Lookup371: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>2821   **/2822  UpDataStructsRpcCollection: {2823    owner: 'AccountId32',2824    mode: 'UpDataStructsCollectionMode',2825    name: 'Vec<u16>',2826    description: 'Vec<u16>',2827    tokenPrefix: 'Bytes',2828    sponsorship: 'UpDataStructsSponsorshipState',2829    limits: 'UpDataStructsCollectionLimits',2830    permissions: 'UpDataStructsCollectionPermissions',2831    tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',2832    properties: 'Vec<UpDataStructsProperty>',2833    readOnly: 'bool'2834  },2835  /**2836   * Lookup372: rmrk_traits::collection::CollectionInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>, sp_core::crypto::AccountId32>2837   **/2838  RmrkTraitsCollectionCollectionInfo: {2839    issuer: 'AccountId32',2840    metadata: 'Bytes',2841    max: 'Option<u32>',2842    symbol: 'Bytes',2843    nftsCount: 'u32'2844  },2845  /**2846   * Lookup373: rmrk_traits::nft::NftInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill, frame_support::storage::bounded_vec::BoundedVec<T, S>>2847   **/2848  RmrkTraitsNftNftInfo: {2849    owner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',2850    royalty: 'Option<RmrkTraitsNftRoyaltyInfo>',2851    metadata: 'Bytes',2852    equipped: 'bool',2853    pending: 'bool'2854  },2855  /**2856   * Lookup375: rmrk_traits::nft::RoyaltyInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill>2857   **/2858  RmrkTraitsNftRoyaltyInfo: {2859    recipient: 'AccountId32',2860    amount: 'Permill'2861  },2862  /**2863   * Lookup376: rmrk_traits::resource::ResourceInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>2864   **/2865  RmrkTraitsResourceResourceInfo: {2866    id: 'u32',2867    resource: 'RmrkTraitsResourceResourceTypes',2868    pending: 'bool',2869    pendingRemoval: 'bool'2870  },2871  /**2872   * Lookup377: rmrk_traits::resource::ResourceTypes<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>2873   **/2874  RmrkTraitsResourceResourceTypes: {2875    _enum: {2876      Basic: 'RmrkTraitsResourceBasicResource',2877      Composable: 'RmrkTraitsResourceComposableResource',2878      Slot: 'RmrkTraitsResourceSlotResource'2879    }2880  },2881  /**2882   * Lookup378: rmrk_traits::property::PropertyInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>2883   **/2884  RmrkTraitsPropertyPropertyInfo: {2885    key: 'Bytes',2886    value: 'Bytes'2887  },2888  /**2889   * Lookup379: rmrk_traits::base::BaseInfo<sp_core::crypto::AccountId32, frame_support::storage::bounded_vec::BoundedVec<T, S>>2890   **/2891  RmrkTraitsBaseBaseInfo: {2892    issuer: 'AccountId32',2893    baseType: 'Bytes',2894    symbol: 'Bytes'2895  },2896  /**2897   * Lookup380: rmrk_traits::nft::NftChild2898   **/2899  RmrkTraitsNftNftChild: {2900    collectionId: 'u32',2901    nftId: 'u32'2902  },2903  /**2904   * Lookup382: pallet_common::pallet::Error<T>2905   **/2906  PalletCommonError: {2907    _enum: ['CollectionNotFound', 'MustBeTokenOwner', 'NoPermission', 'CantDestroyNotEmptyCollection', 'PublicMintingNotAllowed', 'AddressNotInAllowlist', 'CollectionNameLimitExceeded', 'CollectionDescriptionLimitExceeded', 'CollectionTokenPrefixLimitExceeded', 'TotalCollectionsLimitExceeded', 'CollectionAdminCountExceeded', 'CollectionLimitBoundsExceeded', 'OwnerPermissionsCantBeReverted', 'TransferNotAllowed', 'AccountTokenLimitExceeded', 'CollectionTokenLimitExceeded', 'MetadataFlagFrozen', 'TokenNotFound', 'TokenValueTooLow', 'ApprovedValueTooLow', 'CantApproveMoreThanOwned', 'AddressIsZero', 'UnsupportedOperation', 'NotSufficientFounds', 'NestingIsDisabled', 'OnlyOwnerAllowedToNest', 'SourceCollectionIsNotAllowedToNest', 'CollectionFieldSizeExceeded', 'NoSpaceForProperty', 'PropertyLimitReached', 'PropertyKeyIsTooLong', 'InvalidCharacterInPropertyKey', 'EmptyPropertyKey', 'CollectionIsExternal', 'CollectionIsInternal']2908  },2909  /**2910   * Lookup384: pallet_fungible::pallet::Error<T>2911   **/2912  PalletFungibleError: {2913    _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed']2914  },2915  /**2916   * Lookup385: pallet_refungible::ItemData2917   **/2918  PalletRefungibleItemData: {2919    constData: 'Bytes'2920  },2921  /**2922   * Lookup389: pallet_refungible::pallet::Error<T>2923   **/2924  PalletRefungibleError: {2925    _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed']2926  },2927  /**2928   * Lookup390: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2929   **/2930  PalletNonfungibleItemData: {2931    owner: 'PalletEvmAccountBasicCrossAccountIdRepr'2932  },2933  /**2934   * Lookup392: pallet_nonfungible::pallet::Error<T>2935   **/2936  PalletNonfungibleError: {2937    _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren']2938  },2939  /**2940   * Lookup393: pallet_structure::pallet::Error<T>2941   **/2942  PalletStructureError: {2943    _enum: ['OuroborosDetected', 'DepthLimit', 'TokenNotFound']2944  },2945  /**2946   * Lookup394: pallet_rmrk_core::pallet::Error<T>2947   **/2948  PalletRmrkCoreError: {2949    _enum: ['CorruptedCollectionType', 'NftTypeEncodeError', 'RmrkPropertyKeyIsTooLong', 'RmrkPropertyValueIsTooLong', 'CollectionNotEmpty', 'NoAvailableCollectionId', 'NoAvailableNftId', 'CollectionUnknown', 'NoPermission', 'NonTransferable', 'CollectionFullOrLocked', 'ResourceDoesntExist', 'CannotSendToDescendentOrSelf', 'CannotAcceptNonOwnedNft', 'CannotRejectNonOwnedNft', 'ResourceNotPending']2950  },2951  /**2952   * Lookup396: pallet_rmrk_equip::pallet::Error<T>2953   **/2954  PalletRmrkEquipError: {2955    _enum: ['PermissionError', 'NoAvailableBaseId', 'NoAvailablePartId', 'BaseDoesntExist', 'NeedsDefaultThemeFirst']2956  },2957  /**2958   * Lookup399: pallet_evm::pallet::Error<T>2959   **/2960  PalletEvmError: {2961    _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce']2962  },2963  /**2964   * Lookup402: fp_rpc::TransactionStatus2965   **/2966  FpRpcTransactionStatus: {2967    transactionHash: 'H256',2968    transactionIndex: 'u32',2969    from: 'H160',2970    to: 'Option<H160>',2971    contractAddress: 'Option<H160>',2972    logs: 'Vec<EthereumLog>',2973    logsBloom: 'EthbloomBloom'2974  },2975  /**2976   * Lookup404: ethbloom::Bloom2977   **/2978  EthbloomBloom: '[u8;256]',2979  /**2980   * Lookup406: ethereum::receipt::ReceiptV32981   **/2982  EthereumReceiptReceiptV3: {2983    _enum: {2984      Legacy: 'EthereumReceiptEip658ReceiptData',2985      EIP2930: 'EthereumReceiptEip658ReceiptData',2986      EIP1559: 'EthereumReceiptEip658ReceiptData'2987    }2988  },2989  /**2990   * Lookup407: ethereum::receipt::EIP658ReceiptData2991   **/2992  EthereumReceiptEip658ReceiptData: {2993    statusCode: 'u8',2994    usedGas: 'U256',2995    logsBloom: 'EthbloomBloom',2996    logs: 'Vec<EthereumLog>'2997  },2998  /**2999   * Lookup408: ethereum::block::Block<ethereum::transaction::TransactionV2>3000   **/3001  EthereumBlock: {3002    header: 'EthereumHeader',3003    transactions: 'Vec<EthereumTransactionTransactionV2>',3004    ommers: 'Vec<EthereumHeader>'3005  },3006  /**3007   * Lookup409: ethereum::header::Header3008   **/3009  EthereumHeader: {3010    parentHash: 'H256',3011    ommersHash: 'H256',3012    beneficiary: 'H160',3013    stateRoot: 'H256',3014    transactionsRoot: 'H256',3015    receiptsRoot: 'H256',3016    logsBloom: 'EthbloomBloom',3017    difficulty: 'U256',3018    number: 'U256',3019    gasLimit: 'U256',3020    gasUsed: 'U256',3021    timestamp: 'u64',3022    extraData: 'Bytes',3023    mixHash: 'H256',3024    nonce: 'EthereumTypesHashH64'3025  },3026  /**3027   * Lookup410: ethereum_types::hash::H643028   **/3029  EthereumTypesHashH64: '[u8;8]',3030  /**3031   * Lookup415: pallet_ethereum::pallet::Error<T>3032   **/3033  PalletEthereumError: {3034    _enum: ['InvalidSignature', 'PreLogExists']3035  },3036  /**3037   * Lookup416: pallet_evm_coder_substrate::pallet::Error<T>3038   **/3039  PalletEvmCoderSubstrateError: {3040    _enum: ['OutOfGas', 'OutOfFund']3041  },3042  /**3043   * Lookup417: pallet_evm_contract_helpers::SponsoringModeT3044   **/3045  PalletEvmContractHelpersSponsoringModeT: {3046    _enum: ['Disabled', 'Allowlisted', 'Generous']3047  },3048  /**3049   * Lookup419: pallet_evm_contract_helpers::pallet::Error<T>3050   **/3051  PalletEvmContractHelpersError: {3052    _enum: ['NoPermission']3053  },3054  /**3055   * Lookup420: pallet_evm_migration::pallet::Error<T>3056   **/3057  PalletEvmMigrationError: {3058    _enum: ['AccountNotEmpty', 'AccountIsNotMigrating']3059  },3060  /**3061   * Lookup422: sp_runtime::MultiSignature3062   **/3063  SpRuntimeMultiSignature: {3064    _enum: {3065      Ed25519: 'SpCoreEd25519Signature',3066      Sr25519: 'SpCoreSr25519Signature',3067      Ecdsa: 'SpCoreEcdsaSignature'3068    }3069  },3070  /**3071   * Lookup423: sp_core::ed25519::Signature3072   **/3073  SpCoreEd25519Signature: '[u8;64]',3074  /**3075   * Lookup425: sp_core::sr25519::Signature3076   **/3077  SpCoreSr25519Signature: '[u8;64]',3078  /**3079   * Lookup426: sp_core::ecdsa::Signature3080   **/3081  SpCoreEcdsaSignature: '[u8;65]',3082  /**3083   * Lookup429: frame_system::extensions::check_spec_version::CheckSpecVersion<T>3084   **/3085  FrameSystemExtensionsCheckSpecVersion: 'Null',3086  /**3087   * Lookup430: frame_system::extensions::check_genesis::CheckGenesis<T>3088   **/3089  FrameSystemExtensionsCheckGenesis: 'Null',3090  /**3091   * Lookup433: frame_system::extensions::check_nonce::CheckNonce<T>3092   **/3093  FrameSystemExtensionsCheckNonce: 'Compact<u32>',3094  /**3095   * Lookup434: frame_system::extensions::check_weight::CheckWeight<T>3096   **/3097  FrameSystemExtensionsCheckWeight: 'Null',3098  /**3099   * Lookup435: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>3100   **/3101  PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',3102  /**3103   * Lookup436: opal_runtime::Runtime3104   **/3105  OpalRuntimeRuntime: 'Null',3106  /**3107   * Lookup437: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>3108   **/3109  PalletEthereumFakeTransactionFinalizer: 'Null'3110};
after · tests/src/interfaces/lookup.ts
1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34/* eslint-disable sort-keys */56export default {7  /**8   * Lookup2: polkadot_primitives::v2::PersistedValidationData<primitive_types::H256, N>9   **/10  PolkadotPrimitivesV2PersistedValidationData: {11    parentHead: 'Bytes',12    relayParentNumber: 'u32',13    relayParentStorageRoot: 'H256',14    maxPovSize: 'u32'15  },16  /**17   * Lookup9: polkadot_primitives::v2::UpgradeRestriction18   **/19  PolkadotPrimitivesV2UpgradeRestriction: {20    _enum: ['Present']21  },22  /**23   * Lookup10: sp_trie::storage_proof::StorageProof24   **/25  SpTrieStorageProof: {26    trieNodes: 'BTreeSet<Bytes>'27  },28  /**29   * Lookup13: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot30   **/31  CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {32    dmqMqcHead: 'H256',33    relayDispatchQueueSize: '(u32,u32)',34    ingressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>',35    egressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>'36  },37  /**38   * Lookup18: polkadot_primitives::v2::AbridgedHrmpChannel39   **/40  PolkadotPrimitivesV2AbridgedHrmpChannel: {41    maxCapacity: 'u32',42    maxTotalSize: 'u32',43    maxMessageSize: 'u32',44    msgCount: 'u32',45    totalSize: 'u32',46    mqcHead: 'Option<H256>'47  },48  /**49   * Lookup20: polkadot_primitives::v2::AbridgedHostConfiguration50   **/51  PolkadotPrimitivesV2AbridgedHostConfiguration: {52    maxCodeSize: 'u32',53    maxHeadDataSize: 'u32',54    maxUpwardQueueCount: 'u32',55    maxUpwardQueueSize: 'u32',56    maxUpwardMessageSize: 'u32',57    maxUpwardMessageNumPerCandidate: 'u32',58    hrmpMaxMessageNumPerCandidate: 'u32',59    validationUpgradeCooldown: 'u32',60    validationUpgradeDelay: 'u32'61  },62  /**63   * Lookup26: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>64   **/65  PolkadotCorePrimitivesOutboundHrmpMessage: {66    recipient: 'u32',67    data: 'Bytes'68  },69  /**70   * Lookup28: cumulus_pallet_parachain_system::pallet::Call<T>71   **/72  CumulusPalletParachainSystemCall: {73    _enum: {74      set_validation_data: {75        data: 'CumulusPrimitivesParachainInherentParachainInherentData',76      },77      sudo_send_upward_message: {78        message: 'Bytes',79      },80      authorize_upgrade: {81        codeHash: 'H256',82      },83      enact_authorized_upgrade: {84        code: 'Bytes'85      }86    }87  },88  /**89   * Lookup29: cumulus_primitives_parachain_inherent::ParachainInherentData90   **/91  CumulusPrimitivesParachainInherentParachainInherentData: {92    validationData: 'PolkadotPrimitivesV2PersistedValidationData',93    relayChainState: 'SpTrieStorageProof',94    downwardMessages: 'Vec<PolkadotCorePrimitivesInboundDownwardMessage>',95    horizontalMessages: 'BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>'96  },97  /**98   * Lookup31: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>99   **/100  PolkadotCorePrimitivesInboundDownwardMessage: {101    sentAt: 'u32',102    msg: 'Bytes'103  },104  /**105   * Lookup34: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>106   **/107  PolkadotCorePrimitivesInboundHrmpMessage: {108    sentAt: 'u32',109    data: 'Bytes'110  },111  /**112   * Lookup37: cumulus_pallet_parachain_system::pallet::Event<T>113   **/114  CumulusPalletParachainSystemEvent: {115    _enum: {116      ValidationFunctionStored: 'Null',117      ValidationFunctionApplied: 'u32',118      ValidationFunctionDiscarded: 'Null',119      UpgradeAuthorized: 'H256',120      DownwardMessagesReceived: 'u32',121      DownwardMessagesProcessed: '(u64,H256)'122    }123  },124  /**125   * Lookup38: cumulus_pallet_parachain_system::pallet::Error<T>126   **/127  CumulusPalletParachainSystemError: {128    _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized']129  },130  /**131   * Lookup41: pallet_balances::AccountData<Balance>132   **/133  PalletBalancesAccountData: {134    free: 'u128',135    reserved: 'u128',136    miscFrozen: 'u128',137    feeFrozen: 'u128'138  },139  /**140   * Lookup43: pallet_balances::BalanceLock<Balance>141   **/142  PalletBalancesBalanceLock: {143    id: '[u8;8]',144    amount: 'u128',145    reasons: 'PalletBalancesReasons'146  },147  /**148   * Lookup45: pallet_balances::Reasons149   **/150  PalletBalancesReasons: {151    _enum: ['Fee', 'Misc', 'All']152  },153  /**154   * Lookup48: pallet_balances::ReserveData<ReserveIdentifier, Balance>155   **/156  PalletBalancesReserveData: {157    id: '[u8;16]',158    amount: 'u128'159  },160  /**161   * Lookup51: pallet_balances::Releases162   **/163  PalletBalancesReleases: {164    _enum: ['V1_0_0', 'V2_0_0']165  },166  /**167   * Lookup52: pallet_balances::pallet::Call<T, I>168   **/169  PalletBalancesCall: {170    _enum: {171      transfer: {172        dest: 'MultiAddress',173        value: 'Compact<u128>',174      },175      set_balance: {176        who: 'MultiAddress',177        newFree: 'Compact<u128>',178        newReserved: 'Compact<u128>',179      },180      force_transfer: {181        source: 'MultiAddress',182        dest: 'MultiAddress',183        value: 'Compact<u128>',184      },185      transfer_keep_alive: {186        dest: 'MultiAddress',187        value: 'Compact<u128>',188      },189      transfer_all: {190        dest: 'MultiAddress',191        keepAlive: 'bool',192      },193      force_unreserve: {194        who: 'MultiAddress',195        amount: 'u128'196      }197    }198  },199  /**200   * Lookup58: pallet_balances::pallet::Event<T, I>201   **/202  PalletBalancesEvent: {203    _enum: {204      Endowed: {205        account: 'AccountId32',206        freeBalance: 'u128',207      },208      DustLost: {209        account: 'AccountId32',210        amount: 'u128',211      },212      Transfer: {213        from: 'AccountId32',214        to: 'AccountId32',215        amount: 'u128',216      },217      BalanceSet: {218        who: 'AccountId32',219        free: 'u128',220        reserved: 'u128',221      },222      Reserved: {223        who: 'AccountId32',224        amount: 'u128',225      },226      Unreserved: {227        who: 'AccountId32',228        amount: 'u128',229      },230      ReserveRepatriated: {231        from: 'AccountId32',232        to: 'AccountId32',233        amount: 'u128',234        destinationStatus: 'FrameSupportTokensMiscBalanceStatus',235      },236      Deposit: {237        who: 'AccountId32',238        amount: 'u128',239      },240      Withdraw: {241        who: 'AccountId32',242        amount: 'u128',243      },244      Slashed: {245        who: 'AccountId32',246        amount: 'u128'247      }248    }249  },250  /**251   * Lookup59: frame_support::traits::tokens::misc::BalanceStatus252   **/253  FrameSupportTokensMiscBalanceStatus: {254    _enum: ['Free', 'Reserved']255  },256  /**257   * Lookup60: pallet_balances::pallet::Error<T, I>258   **/259  PalletBalancesError: {260    _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves']261  },262  /**263   * Lookup63: pallet_timestamp::pallet::Call<T>264   **/265  PalletTimestampCall: {266    _enum: {267      set: {268        now: 'Compact<u64>'269      }270    }271  },272  /**273   * Lookup66: pallet_transaction_payment::Releases274   **/275  PalletTransactionPaymentReleases: {276    _enum: ['V1Ancient', 'V2']277  },278  /**279   * Lookup68: frame_support::weights::WeightToFeeCoefficient<Balance>280   **/281  FrameSupportWeightsWeightToFeeCoefficient: {282    coeffInteger: 'u128',283    coeffFrac: 'Perbill',284    negative: 'bool',285    degree: 'u8'286  },287  /**288   * Lookup70: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>289   **/290  PalletTreasuryProposal: {291    proposer: 'AccountId32',292    value: 'u128',293    beneficiary: 'AccountId32',294    bond: 'u128'295  },296  /**297   * Lookup73: pallet_treasury::pallet::Call<T, I>298   **/299  PalletTreasuryCall: {300    _enum: {301      propose_spend: {302        value: 'Compact<u128>',303        beneficiary: 'MultiAddress',304      },305      reject_proposal: {306        proposalId: 'Compact<u32>',307      },308      approve_proposal: {309        proposalId: 'Compact<u32>',310      },311      remove_approval: {312        proposalId: 'Compact<u32>'313      }314    }315  },316  /**317   * Lookup75: pallet_treasury::pallet::Event<T, I>318   **/319  PalletTreasuryEvent: {320    _enum: {321      Proposed: {322        proposalIndex: 'u32',323      },324      Spending: {325        budgetRemaining: 'u128',326      },327      Awarded: {328        proposalIndex: 'u32',329        award: 'u128',330        account: 'AccountId32',331      },332      Rejected: {333        proposalIndex: 'u32',334        slashed: 'u128',335      },336      Burnt: {337        burntFunds: 'u128',338      },339      Rollover: {340        rolloverBalance: 'u128',341      },342      Deposit: {343        value: 'u128'344      }345    }346  },347  /**348   * Lookup78: frame_support::PalletId349   **/350  FrameSupportPalletId: '[u8;8]',351  /**352   * Lookup79: pallet_treasury::pallet::Error<T, I>353   **/354  PalletTreasuryError: {355    _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'ProposalNotApproved']356  },357  /**358   * Lookup80: pallet_sudo::pallet::Call<T>359   **/360  PalletSudoCall: {361    _enum: {362      sudo: {363        call: 'Call',364      },365      sudo_unchecked_weight: {366        call: 'Call',367        weight: 'u64',368      },369      set_key: {370        _alias: {371          new_: 'new',372        },373        new_: 'MultiAddress',374      },375      sudo_as: {376        who: 'MultiAddress',377        call: 'Call'378      }379    }380  },381  /**382   * Lookup82: frame_system::pallet::Call<T>383   **/384  FrameSystemCall: {385    _enum: {386      fill_block: {387        ratio: 'Perbill',388      },389      remark: {390        remark: 'Bytes',391      },392      set_heap_pages: {393        pages: 'u64',394      },395      set_code: {396        code: 'Bytes',397      },398      set_code_without_checks: {399        code: 'Bytes',400      },401      set_storage: {402        items: 'Vec<(Bytes,Bytes)>',403      },404      kill_storage: {405        _alias: {406          keys_: 'keys',407        },408        keys_: 'Vec<Bytes>',409      },410      kill_prefix: {411        prefix: 'Bytes',412        subkeys: 'u32',413      },414      remark_with_event: {415        remark: 'Bytes'416      }417    }418  },419  /**420   * Lookup85: orml_vesting::module::Call<T>421   **/422  OrmlVestingModuleCall: {423    _enum: {424      claim: 'Null',425      vested_transfer: {426        dest: 'MultiAddress',427        schedule: 'OrmlVestingVestingSchedule',428      },429      update_vesting_schedules: {430        who: 'MultiAddress',431        vestingSchedules: 'Vec<OrmlVestingVestingSchedule>',432      },433      claim_for: {434        dest: 'MultiAddress'435      }436    }437  },438  /**439   * Lookup86: orml_vesting::VestingSchedule<BlockNumber, Balance>440   **/441  OrmlVestingVestingSchedule: {442    start: 'u32',443    period: 'u32',444    periodCount: 'u32',445    perPeriod: 'Compact<u128>'446  },447  /**448   * Lookup88: cumulus_pallet_xcmp_queue::pallet::Call<T>449   **/450  CumulusPalletXcmpQueueCall: {451    _enum: {452      service_overweight: {453        index: 'u64',454        weightLimit: 'u64',455      },456      suspend_xcm_execution: 'Null',457      resume_xcm_execution: 'Null',458      update_suspend_threshold: {459        _alias: {460          new_: 'new',461        },462        new_: 'u32',463      },464      update_drop_threshold: {465        _alias: {466          new_: 'new',467        },468        new_: 'u32',469      },470      update_resume_threshold: {471        _alias: {472          new_: 'new',473        },474        new_: 'u32',475      },476      update_threshold_weight: {477        _alias: {478          new_: 'new',479        },480        new_: 'u64',481      },482      update_weight_restrict_decay: {483        _alias: {484          new_: 'new',485        },486        new_: 'u64',487      },488      update_xcmp_max_individual_weight: {489        _alias: {490          new_: 'new',491        },492        new_: 'u64'493      }494    }495  },496  /**497   * Lookup89: pallet_xcm::pallet::Call<T>498   **/499  PalletXcmCall: {500    _enum: {501      send: {502        dest: 'XcmVersionedMultiLocation',503        message: 'XcmVersionedXcm',504      },505      teleport_assets: {506        dest: 'XcmVersionedMultiLocation',507        beneficiary: 'XcmVersionedMultiLocation',508        assets: 'XcmVersionedMultiAssets',509        feeAssetItem: 'u32',510      },511      reserve_transfer_assets: {512        dest: 'XcmVersionedMultiLocation',513        beneficiary: 'XcmVersionedMultiLocation',514        assets: 'XcmVersionedMultiAssets',515        feeAssetItem: 'u32',516      },517      execute: {518        message: 'XcmVersionedXcm',519        maxWeight: 'u64',520      },521      force_xcm_version: {522        location: 'XcmV1MultiLocation',523        xcmVersion: 'u32',524      },525      force_default_xcm_version: {526        maybeXcmVersion: 'Option<u32>',527      },528      force_subscribe_version_notify: {529        location: 'XcmVersionedMultiLocation',530      },531      force_unsubscribe_version_notify: {532        location: 'XcmVersionedMultiLocation',533      },534      limited_reserve_transfer_assets: {535        dest: 'XcmVersionedMultiLocation',536        beneficiary: 'XcmVersionedMultiLocation',537        assets: 'XcmVersionedMultiAssets',538        feeAssetItem: 'u32',539        weightLimit: 'XcmV2WeightLimit',540      },541      limited_teleport_assets: {542        dest: 'XcmVersionedMultiLocation',543        beneficiary: 'XcmVersionedMultiLocation',544        assets: 'XcmVersionedMultiAssets',545        feeAssetItem: 'u32',546        weightLimit: 'XcmV2WeightLimit'547      }548    }549  },550  /**551   * Lookup90: xcm::VersionedMultiLocation552   **/553  XcmVersionedMultiLocation: {554    _enum: {555      V0: 'XcmV0MultiLocation',556      V1: 'XcmV1MultiLocation'557    }558  },559  /**560   * Lookup91: xcm::v0::multi_location::MultiLocation561   **/562  XcmV0MultiLocation: {563    _enum: {564      Null: 'Null',565      X1: 'XcmV0Junction',566      X2: '(XcmV0Junction,XcmV0Junction)',567      X3: '(XcmV0Junction,XcmV0Junction,XcmV0Junction)',568      X4: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',569      X5: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',570      X6: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',571      X7: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',572      X8: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)'573    }574  },575  /**576   * Lookup92: xcm::v0::junction::Junction577   **/578  XcmV0Junction: {579    _enum: {580      Parent: 'Null',581      Parachain: 'Compact<u32>',582      AccountId32: {583        network: 'XcmV0JunctionNetworkId',584        id: '[u8;32]',585      },586      AccountIndex64: {587        network: 'XcmV0JunctionNetworkId',588        index: 'Compact<u64>',589      },590      AccountKey20: {591        network: 'XcmV0JunctionNetworkId',592        key: '[u8;20]',593      },594      PalletInstance: 'u8',595      GeneralIndex: 'Compact<u128>',596      GeneralKey: 'Bytes',597      OnlyChild: 'Null',598      Plurality: {599        id: 'XcmV0JunctionBodyId',600        part: 'XcmV0JunctionBodyPart'601      }602    }603  },604  /**605   * Lookup93: xcm::v0::junction::NetworkId606   **/607  XcmV0JunctionNetworkId: {608    _enum: {609      Any: 'Null',610      Named: 'Bytes',611      Polkadot: 'Null',612      Kusama: 'Null'613    }614  },615  /**616   * Lookup94: xcm::v0::junction::BodyId617   **/618  XcmV0JunctionBodyId: {619    _enum: {620      Unit: 'Null',621      Named: 'Bytes',622      Index: 'Compact<u32>',623      Executive: 'Null',624      Technical: 'Null',625      Legislative: 'Null',626      Judicial: 'Null'627    }628  },629  /**630   * Lookup95: xcm::v0::junction::BodyPart631   **/632  XcmV0JunctionBodyPart: {633    _enum: {634      Voice: 'Null',635      Members: {636        count: 'Compact<u32>',637      },638      Fraction: {639        nom: 'Compact<u32>',640        denom: 'Compact<u32>',641      },642      AtLeastProportion: {643        nom: 'Compact<u32>',644        denom: 'Compact<u32>',645      },646      MoreThanProportion: {647        nom: 'Compact<u32>',648        denom: 'Compact<u32>'649      }650    }651  },652  /**653   * Lookup96: xcm::v1::multilocation::MultiLocation654   **/655  XcmV1MultiLocation: {656    parents: 'u8',657    interior: 'XcmV1MultilocationJunctions'658  },659  /**660   * Lookup97: xcm::v1::multilocation::Junctions661   **/662  XcmV1MultilocationJunctions: {663    _enum: {664      Here: 'Null',665      X1: 'XcmV1Junction',666      X2: '(XcmV1Junction,XcmV1Junction)',667      X3: '(XcmV1Junction,XcmV1Junction,XcmV1Junction)',668      X4: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',669      X5: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',670      X6: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',671      X7: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',672      X8: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)'673    }674  },675  /**676   * Lookup98: xcm::v1::junction::Junction677   **/678  XcmV1Junction: {679    _enum: {680      Parachain: 'Compact<u32>',681      AccountId32: {682        network: 'XcmV0JunctionNetworkId',683        id: '[u8;32]',684      },685      AccountIndex64: {686        network: 'XcmV0JunctionNetworkId',687        index: 'Compact<u64>',688      },689      AccountKey20: {690        network: 'XcmV0JunctionNetworkId',691        key: '[u8;20]',692      },693      PalletInstance: 'u8',694      GeneralIndex: 'Compact<u128>',695      GeneralKey: 'Bytes',696      OnlyChild: 'Null',697      Plurality: {698        id: 'XcmV0JunctionBodyId',699        part: 'XcmV0JunctionBodyPart'700      }701    }702  },703  /**704   * Lookup99: xcm::VersionedXcm<Call>705   **/706  XcmVersionedXcm: {707    _enum: {708      V0: 'XcmV0Xcm',709      V1: 'XcmV1Xcm',710      V2: 'XcmV2Xcm'711    }712  },713  /**714   * Lookup100: xcm::v0::Xcm<Call>715   **/716  XcmV0Xcm: {717    _enum: {718      WithdrawAsset: {719        assets: 'Vec<XcmV0MultiAsset>',720        effects: 'Vec<XcmV0Order>',721      },722      ReserveAssetDeposit: {723        assets: 'Vec<XcmV0MultiAsset>',724        effects: 'Vec<XcmV0Order>',725      },726      TeleportAsset: {727        assets: 'Vec<XcmV0MultiAsset>',728        effects: 'Vec<XcmV0Order>',729      },730      QueryResponse: {731        queryId: 'Compact<u64>',732        response: 'XcmV0Response',733      },734      TransferAsset: {735        assets: 'Vec<XcmV0MultiAsset>',736        dest: 'XcmV0MultiLocation',737      },738      TransferReserveAsset: {739        assets: 'Vec<XcmV0MultiAsset>',740        dest: 'XcmV0MultiLocation',741        effects: 'Vec<XcmV0Order>',742      },743      Transact: {744        originType: 'XcmV0OriginKind',745        requireWeightAtMost: 'u64',746        call: 'XcmDoubleEncoded',747      },748      HrmpNewChannelOpenRequest: {749        sender: 'Compact<u32>',750        maxMessageSize: 'Compact<u32>',751        maxCapacity: 'Compact<u32>',752      },753      HrmpChannelAccepted: {754        recipient: 'Compact<u32>',755      },756      HrmpChannelClosing: {757        initiator: 'Compact<u32>',758        sender: 'Compact<u32>',759        recipient: 'Compact<u32>',760      },761      RelayedFrom: {762        who: 'XcmV0MultiLocation',763        message: 'XcmV0Xcm'764      }765    }766  },767  /**768   * Lookup102: xcm::v0::multi_asset::MultiAsset769   **/770  XcmV0MultiAsset: {771    _enum: {772      None: 'Null',773      All: 'Null',774      AllFungible: 'Null',775      AllNonFungible: 'Null',776      AllAbstractFungible: {777        id: 'Bytes',778      },779      AllAbstractNonFungible: {780        class: 'Bytes',781      },782      AllConcreteFungible: {783        id: 'XcmV0MultiLocation',784      },785      AllConcreteNonFungible: {786        class: 'XcmV0MultiLocation',787      },788      AbstractFungible: {789        id: 'Bytes',790        amount: 'Compact<u128>',791      },792      AbstractNonFungible: {793        class: 'Bytes',794        instance: 'XcmV1MultiassetAssetInstance',795      },796      ConcreteFungible: {797        id: 'XcmV0MultiLocation',798        amount: 'Compact<u128>',799      },800      ConcreteNonFungible: {801        class: 'XcmV0MultiLocation',802        instance: 'XcmV1MultiassetAssetInstance'803      }804    }805  },806  /**807   * Lookup103: xcm::v1::multiasset::AssetInstance808   **/809  XcmV1MultiassetAssetInstance: {810    _enum: {811      Undefined: 'Null',812      Index: 'Compact<u128>',813      Array4: '[u8;4]',814      Array8: '[u8;8]',815      Array16: '[u8;16]',816      Array32: '[u8;32]',817      Blob: 'Bytes'818    }819  },820  /**821   * Lookup106: xcm::v0::order::Order<Call>822   **/823  XcmV0Order: {824    _enum: {825      Null: 'Null',826      DepositAsset: {827        assets: 'Vec<XcmV0MultiAsset>',828        dest: 'XcmV0MultiLocation',829      },830      DepositReserveAsset: {831        assets: 'Vec<XcmV0MultiAsset>',832        dest: 'XcmV0MultiLocation',833        effects: 'Vec<XcmV0Order>',834      },835      ExchangeAsset: {836        give: 'Vec<XcmV0MultiAsset>',837        receive: 'Vec<XcmV0MultiAsset>',838      },839      InitiateReserveWithdraw: {840        assets: 'Vec<XcmV0MultiAsset>',841        reserve: 'XcmV0MultiLocation',842        effects: 'Vec<XcmV0Order>',843      },844      InitiateTeleport: {845        assets: 'Vec<XcmV0MultiAsset>',846        dest: 'XcmV0MultiLocation',847        effects: 'Vec<XcmV0Order>',848      },849      QueryHolding: {850        queryId: 'Compact<u64>',851        dest: 'XcmV0MultiLocation',852        assets: 'Vec<XcmV0MultiAsset>',853      },854      BuyExecution: {855        fees: 'XcmV0MultiAsset',856        weight: 'u64',857        debt: 'u64',858        haltOnError: 'bool',859        xcm: 'Vec<XcmV0Xcm>'860      }861    }862  },863  /**864   * Lookup108: xcm::v0::Response865   **/866  XcmV0Response: {867    _enum: {868      Assets: 'Vec<XcmV0MultiAsset>'869    }870  },871  /**872   * Lookup109: xcm::v0::OriginKind873   **/874  XcmV0OriginKind: {875    _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']876  },877  /**878   * Lookup110: xcm::double_encoded::DoubleEncoded<T>879   **/880  XcmDoubleEncoded: {881    encoded: 'Bytes'882  },883  /**884   * Lookup111: xcm::v1::Xcm<Call>885   **/886  XcmV1Xcm: {887    _enum: {888      WithdrawAsset: {889        assets: 'XcmV1MultiassetMultiAssets',890        effects: 'Vec<XcmV1Order>',891      },892      ReserveAssetDeposited: {893        assets: 'XcmV1MultiassetMultiAssets',894        effects: 'Vec<XcmV1Order>',895      },896      ReceiveTeleportedAsset: {897        assets: 'XcmV1MultiassetMultiAssets',898        effects: 'Vec<XcmV1Order>',899      },900      QueryResponse: {901        queryId: 'Compact<u64>',902        response: 'XcmV1Response',903      },904      TransferAsset: {905        assets: 'XcmV1MultiassetMultiAssets',906        beneficiary: 'XcmV1MultiLocation',907      },908      TransferReserveAsset: {909        assets: 'XcmV1MultiassetMultiAssets',910        dest: 'XcmV1MultiLocation',911        effects: 'Vec<XcmV1Order>',912      },913      Transact: {914        originType: 'XcmV0OriginKind',915        requireWeightAtMost: 'u64',916        call: 'XcmDoubleEncoded',917      },918      HrmpNewChannelOpenRequest: {919        sender: 'Compact<u32>',920        maxMessageSize: 'Compact<u32>',921        maxCapacity: 'Compact<u32>',922      },923      HrmpChannelAccepted: {924        recipient: 'Compact<u32>',925      },926      HrmpChannelClosing: {927        initiator: 'Compact<u32>',928        sender: 'Compact<u32>',929        recipient: 'Compact<u32>',930      },931      RelayedFrom: {932        who: 'XcmV1MultilocationJunctions',933        message: 'XcmV1Xcm',934      },935      SubscribeVersion: {936        queryId: 'Compact<u64>',937        maxResponseWeight: 'Compact<u64>',938      },939      UnsubscribeVersion: 'Null'940    }941  },942  /**943   * Lookup112: xcm::v1::multiasset::MultiAssets944   **/945  XcmV1MultiassetMultiAssets: 'Vec<XcmV1MultiAsset>',946  /**947   * Lookup114: xcm::v1::multiasset::MultiAsset948   **/949  XcmV1MultiAsset: {950    id: 'XcmV1MultiassetAssetId',951    fun: 'XcmV1MultiassetFungibility'952  },953  /**954   * Lookup115: xcm::v1::multiasset::AssetId955   **/956  XcmV1MultiassetAssetId: {957    _enum: {958      Concrete: 'XcmV1MultiLocation',959      Abstract: 'Bytes'960    }961  },962  /**963   * Lookup116: xcm::v1::multiasset::Fungibility964   **/965  XcmV1MultiassetFungibility: {966    _enum: {967      Fungible: 'Compact<u128>',968      NonFungible: 'XcmV1MultiassetAssetInstance'969    }970  },971  /**972   * Lookup118: xcm::v1::order::Order<Call>973   **/974  XcmV1Order: {975    _enum: {976      Noop: 'Null',977      DepositAsset: {978        assets: 'XcmV1MultiassetMultiAssetFilter',979        maxAssets: 'u32',980        beneficiary: 'XcmV1MultiLocation',981      },982      DepositReserveAsset: {983        assets: 'XcmV1MultiassetMultiAssetFilter',984        maxAssets: 'u32',985        dest: 'XcmV1MultiLocation',986        effects: 'Vec<XcmV1Order>',987      },988      ExchangeAsset: {989        give: 'XcmV1MultiassetMultiAssetFilter',990        receive: 'XcmV1MultiassetMultiAssets',991      },992      InitiateReserveWithdraw: {993        assets: 'XcmV1MultiassetMultiAssetFilter',994        reserve: 'XcmV1MultiLocation',995        effects: 'Vec<XcmV1Order>',996      },997      InitiateTeleport: {998        assets: 'XcmV1MultiassetMultiAssetFilter',999        dest: 'XcmV1MultiLocation',1000        effects: 'Vec<XcmV1Order>',1001      },1002      QueryHolding: {1003        queryId: 'Compact<u64>',1004        dest: 'XcmV1MultiLocation',1005        assets: 'XcmV1MultiassetMultiAssetFilter',1006      },1007      BuyExecution: {1008        fees: 'XcmV1MultiAsset',1009        weight: 'u64',1010        debt: 'u64',1011        haltOnError: 'bool',1012        instructions: 'Vec<XcmV1Xcm>'1013      }1014    }1015  },1016  /**1017   * Lookup119: xcm::v1::multiasset::MultiAssetFilter1018   **/1019  XcmV1MultiassetMultiAssetFilter: {1020    _enum: {1021      Definite: 'XcmV1MultiassetMultiAssets',1022      Wild: 'XcmV1MultiassetWildMultiAsset'1023    }1024  },1025  /**1026   * Lookup120: xcm::v1::multiasset::WildMultiAsset1027   **/1028  XcmV1MultiassetWildMultiAsset: {1029    _enum: {1030      All: 'Null',1031      AllOf: {1032        id: 'XcmV1MultiassetAssetId',1033        fun: 'XcmV1MultiassetWildFungibility'1034      }1035    }1036  },1037  /**1038   * Lookup121: xcm::v1::multiasset::WildFungibility1039   **/1040  XcmV1MultiassetWildFungibility: {1041    _enum: ['Fungible', 'NonFungible']1042  },1043  /**1044   * Lookup123: xcm::v1::Response1045   **/1046  XcmV1Response: {1047    _enum: {1048      Assets: 'XcmV1MultiassetMultiAssets',1049      Version: 'u32'1050    }1051  },1052  /**1053   * Lookup124: xcm::v2::Xcm<Call>1054   **/1055  XcmV2Xcm: 'Vec<XcmV2Instruction>',1056  /**1057   * Lookup126: xcm::v2::Instruction<Call>1058   **/1059  XcmV2Instruction: {1060    _enum: {1061      WithdrawAsset: 'XcmV1MultiassetMultiAssets',1062      ReserveAssetDeposited: 'XcmV1MultiassetMultiAssets',1063      ReceiveTeleportedAsset: 'XcmV1MultiassetMultiAssets',1064      QueryResponse: {1065        queryId: 'Compact<u64>',1066        response: 'XcmV2Response',1067        maxWeight: 'Compact<u64>',1068      },1069      TransferAsset: {1070        assets: 'XcmV1MultiassetMultiAssets',1071        beneficiary: 'XcmV1MultiLocation',1072      },1073      TransferReserveAsset: {1074        assets: 'XcmV1MultiassetMultiAssets',1075        dest: 'XcmV1MultiLocation',1076        xcm: 'XcmV2Xcm',1077      },1078      Transact: {1079        originType: 'XcmV0OriginKind',1080        requireWeightAtMost: 'Compact<u64>',1081        call: 'XcmDoubleEncoded',1082      },1083      HrmpNewChannelOpenRequest: {1084        sender: 'Compact<u32>',1085        maxMessageSize: 'Compact<u32>',1086        maxCapacity: 'Compact<u32>',1087      },1088      HrmpChannelAccepted: {1089        recipient: 'Compact<u32>',1090      },1091      HrmpChannelClosing: {1092        initiator: 'Compact<u32>',1093        sender: 'Compact<u32>',1094        recipient: 'Compact<u32>',1095      },1096      ClearOrigin: 'Null',1097      DescendOrigin: 'XcmV1MultilocationJunctions',1098      ReportError: {1099        queryId: 'Compact<u64>',1100        dest: 'XcmV1MultiLocation',1101        maxResponseWeight: 'Compact<u64>',1102      },1103      DepositAsset: {1104        assets: 'XcmV1MultiassetMultiAssetFilter',1105        maxAssets: 'Compact<u32>',1106        beneficiary: 'XcmV1MultiLocation',1107      },1108      DepositReserveAsset: {1109        assets: 'XcmV1MultiassetMultiAssetFilter',1110        maxAssets: 'Compact<u32>',1111        dest: 'XcmV1MultiLocation',1112        xcm: 'XcmV2Xcm',1113      },1114      ExchangeAsset: {1115        give: 'XcmV1MultiassetMultiAssetFilter',1116        receive: 'XcmV1MultiassetMultiAssets',1117      },1118      InitiateReserveWithdraw: {1119        assets: 'XcmV1MultiassetMultiAssetFilter',1120        reserve: 'XcmV1MultiLocation',1121        xcm: 'XcmV2Xcm',1122      },1123      InitiateTeleport: {1124        assets: 'XcmV1MultiassetMultiAssetFilter',1125        dest: 'XcmV1MultiLocation',1126        xcm: 'XcmV2Xcm',1127      },1128      QueryHolding: {1129        queryId: 'Compact<u64>',1130        dest: 'XcmV1MultiLocation',1131        assets: 'XcmV1MultiassetMultiAssetFilter',1132        maxResponseWeight: 'Compact<u64>',1133      },1134      BuyExecution: {1135        fees: 'XcmV1MultiAsset',1136        weightLimit: 'XcmV2WeightLimit',1137      },1138      RefundSurplus: 'Null',1139      SetErrorHandler: 'XcmV2Xcm',1140      SetAppendix: 'XcmV2Xcm',1141      ClearError: 'Null',1142      ClaimAsset: {1143        assets: 'XcmV1MultiassetMultiAssets',1144        ticket: 'XcmV1MultiLocation',1145      },1146      Trap: 'Compact<u64>',1147      SubscribeVersion: {1148        queryId: 'Compact<u64>',1149        maxResponseWeight: 'Compact<u64>',1150      },1151      UnsubscribeVersion: 'Null'1152    }1153  },1154  /**1155   * Lookup127: xcm::v2::Response1156   **/1157  XcmV2Response: {1158    _enum: {1159      Null: 'Null',1160      Assets: 'XcmV1MultiassetMultiAssets',1161      ExecutionResult: 'Option<(u32,XcmV2TraitsError)>',1162      Version: 'u32'1163    }1164  },1165  /**1166   * Lookup130: xcm::v2::traits::Error1167   **/1168  XcmV2TraitsError: {1169    _enum: {1170      Overflow: 'Null',1171      Unimplemented: 'Null',1172      UntrustedReserveLocation: 'Null',1173      UntrustedTeleportLocation: 'Null',1174      MultiLocationFull: 'Null',1175      MultiLocationNotInvertible: 'Null',1176      BadOrigin: 'Null',1177      InvalidLocation: 'Null',1178      AssetNotFound: 'Null',1179      FailedToTransactAsset: 'Null',1180      NotWithdrawable: 'Null',1181      LocationCannotHold: 'Null',1182      ExceedsMaxMessageSize: 'Null',1183      DestinationUnsupported: 'Null',1184      Transport: 'Null',1185      Unroutable: 'Null',1186      UnknownClaim: 'Null',1187      FailedToDecode: 'Null',1188      MaxWeightInvalid: 'Null',1189      NotHoldingFees: 'Null',1190      TooExpensive: 'Null',1191      Trap: 'u64',1192      UnhandledXcmVersion: 'Null',1193      WeightLimitReached: 'u64',1194      Barrier: 'Null',1195      WeightNotComputable: 'Null'1196    }1197  },1198  /**1199   * Lookup131: xcm::v2::WeightLimit1200   **/1201  XcmV2WeightLimit: {1202    _enum: {1203      Unlimited: 'Null',1204      Limited: 'Compact<u64>'1205    }1206  },1207  /**1208   * Lookup132: xcm::VersionedMultiAssets1209   **/1210  XcmVersionedMultiAssets: {1211    _enum: {1212      V0: 'Vec<XcmV0MultiAsset>',1213      V1: 'XcmV1MultiassetMultiAssets'1214    }1215  },1216  /**1217   * Lookup147: cumulus_pallet_xcm::pallet::Call<T>1218   **/1219  CumulusPalletXcmCall: 'Null',1220  /**1221   * Lookup148: cumulus_pallet_dmp_queue::pallet::Call<T>1222   **/1223  CumulusPalletDmpQueueCall: {1224    _enum: {1225      service_overweight: {1226        index: 'u64',1227        weightLimit: 'u64'1228      }1229    }1230  },1231  /**1232   * Lookup149: pallet_inflation::pallet::Call<T>1233   **/1234  PalletInflationCall: {1235    _enum: {1236      start_inflation: {1237        inflationStartRelayBlock: 'u32'1238      }1239    }1240  },1241  /**1242   * Lookup150: pallet_unique::Call<T>1243   **/1244  PalletUniqueCall: {1245    _enum: {1246      create_collection: {1247        collectionName: 'Vec<u16>',1248        collectionDescription: 'Vec<u16>',1249        tokenPrefix: 'Bytes',1250        mode: 'UpDataStructsCollectionMode',1251      },1252      create_collection_ex: {1253        data: 'UpDataStructsCreateCollectionData',1254      },1255      destroy_collection: {1256        collectionId: 'u32',1257      },1258      add_to_allow_list: {1259        collectionId: 'u32',1260        address: 'PalletEvmAccountBasicCrossAccountIdRepr',1261      },1262      remove_from_allow_list: {1263        collectionId: 'u32',1264        address: 'PalletEvmAccountBasicCrossAccountIdRepr',1265      },1266      change_collection_owner: {1267        collectionId: 'u32',1268        newOwner: 'AccountId32',1269      },1270      add_collection_admin: {1271        collectionId: 'u32',1272        newAdminId: 'PalletEvmAccountBasicCrossAccountIdRepr',1273      },1274      remove_collection_admin: {1275        collectionId: 'u32',1276        accountId: 'PalletEvmAccountBasicCrossAccountIdRepr',1277      },1278      set_collection_sponsor: {1279        collectionId: 'u32',1280        newSponsor: 'AccountId32',1281      },1282      confirm_sponsorship: {1283        collectionId: 'u32',1284      },1285      remove_collection_sponsor: {1286        collectionId: 'u32',1287      },1288      create_item: {1289        collectionId: 'u32',1290        owner: 'PalletEvmAccountBasicCrossAccountIdRepr',1291        data: 'UpDataStructsCreateItemData',1292      },1293      create_multiple_items: {1294        collectionId: 'u32',1295        owner: 'PalletEvmAccountBasicCrossAccountIdRepr',1296        itemsData: 'Vec<UpDataStructsCreateItemData>',1297      },1298      set_collection_properties: {1299        collectionId: 'u32',1300        properties: 'Vec<UpDataStructsProperty>',1301      },1302      delete_collection_properties: {1303        collectionId: 'u32',1304        propertyKeys: 'Vec<Bytes>',1305      },1306      set_token_properties: {1307        collectionId: 'u32',1308        tokenId: 'u32',1309        properties: 'Vec<UpDataStructsProperty>',1310      },1311      delete_token_properties: {1312        collectionId: 'u32',1313        tokenId: 'u32',1314        propertyKeys: 'Vec<Bytes>',1315      },1316      set_property_permissions: {1317        collectionId: 'u32',1318        propertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',1319      },1320      create_multiple_items_ex: {1321        collectionId: 'u32',1322        data: 'UpDataStructsCreateItemExData',1323      },1324      set_transfers_enabled_flag: {1325        collectionId: 'u32',1326        value: 'bool',1327      },1328      burn_item: {1329        collectionId: 'u32',1330        itemId: 'u32',1331        value: 'u128',1332      },1333      burn_from: {1334        collectionId: 'u32',1335        from: 'PalletEvmAccountBasicCrossAccountIdRepr',1336        itemId: 'u32',1337        value: 'u128',1338      },1339      transfer: {1340        recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',1341        collectionId: 'u32',1342        itemId: 'u32',1343        value: 'u128',1344      },1345      approve: {1346        spender: 'PalletEvmAccountBasicCrossAccountIdRepr',1347        collectionId: 'u32',1348        itemId: 'u32',1349        amount: 'u128',1350      },1351      transfer_from: {1352        from: 'PalletEvmAccountBasicCrossAccountIdRepr',1353        recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',1354        collectionId: 'u32',1355        itemId: 'u32',1356        value: 'u128',1357      },1358      set_collection_limits: {1359        collectionId: 'u32',1360        newLimit: 'UpDataStructsCollectionLimits',1361      },1362      set_collection_permissions: {1363        collectionId: 'u32',1364        newLimit: 'UpDataStructsCollectionPermissions'1365      }1366    }1367  },1368  /**1369   * Lookup156: up_data_structs::CollectionMode1370   **/1371  UpDataStructsCollectionMode: {1372    _enum: {1373      NFT: 'Null',1374      Fungible: 'u8',1375      ReFungible: 'Null'1376    }1377  },1378  /**1379   * Lookup157: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>1380   **/1381  UpDataStructsCreateCollectionData: {1382    mode: 'UpDataStructsCollectionMode',1383    access: 'Option<UpDataStructsAccessMode>',1384    name: 'Vec<u16>',1385    description: 'Vec<u16>',1386    tokenPrefix: 'Bytes',1387    pendingSponsor: 'Option<AccountId32>',1388    limits: 'Option<UpDataStructsCollectionLimits>',1389    permissions: 'Option<UpDataStructsCollectionPermissions>',1390    tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',1391    properties: 'Vec<UpDataStructsProperty>'1392  },1393  /**1394   * Lookup159: up_data_structs::AccessMode1395   **/1396  UpDataStructsAccessMode: {1397    _enum: ['Normal', 'AllowList']1398  },1399  /**1400   * Lookup162: up_data_structs::CollectionLimits1401   **/1402  UpDataStructsCollectionLimits: {1403    accountTokenOwnershipLimit: 'Option<u32>',1404    sponsoredDataSize: 'Option<u32>',1405    sponsoredDataRateLimit: 'Option<UpDataStructsSponsoringRateLimit>',1406    tokenLimit: 'Option<u32>',1407    sponsorTransferTimeout: 'Option<u32>',1408    sponsorApproveTimeout: 'Option<u32>',1409    ownerCanTransfer: 'Option<bool>',1410    ownerCanDestroy: 'Option<bool>',1411    transfersEnabled: 'Option<bool>'1412  },1413  /**1414   * Lookup164: up_data_structs::SponsoringRateLimit1415   **/1416  UpDataStructsSponsoringRateLimit: {1417    _enum: {1418      SponsoringDisabled: 'Null',1419      Blocks: 'u32'1420    }1421  },1422  /**1423   * Lookup167: up_data_structs::CollectionPermissions1424   **/1425  UpDataStructsCollectionPermissions: {1426    access: 'Option<UpDataStructsAccessMode>',1427    mintMode: 'Option<bool>',1428    nesting: 'Option<UpDataStructsNestingPermissions>'1429  },1430  /**1431   * Lookup169: up_data_structs::NestingPermissions1432   **/1433  UpDataStructsNestingPermissions: {1434    tokenOwner: 'bool',1435    admin: 'bool',1436    restricted: 'Option<UpDataStructsOwnerRestrictedSet>',1437    permissive: 'bool'1438  },1439  /**1440   * Lookup171: up_data_structs::OwnerRestrictedSet1441   **/1442  UpDataStructsOwnerRestrictedSet: 'BTreeSet<u32>',1443  /**1444   * Lookup177: up_data_structs::PropertyKeyPermission1445   **/1446  UpDataStructsPropertyKeyPermission: {1447    key: 'Bytes',1448    permission: 'UpDataStructsPropertyPermission'1449  },1450  /**1451   * Lookup179: up_data_structs::PropertyPermission1452   **/1453  UpDataStructsPropertyPermission: {1454    mutable: 'bool',1455    collectionAdmin: 'bool',1456    tokenOwner: 'bool'1457  },1458  /**1459   * Lookup182: up_data_structs::Property1460   **/1461  UpDataStructsProperty: {1462    key: 'Bytes',1463    value: 'Bytes'1464  },1465  /**1466   * Lookup185: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>1467   **/1468  PalletEvmAccountBasicCrossAccountIdRepr: {1469    _enum: {1470      Substrate: 'AccountId32',1471      Ethereum: 'H160'1472    }1473  },1474  /**1475   * Lookup187: up_data_structs::CreateItemData1476   **/1477  UpDataStructsCreateItemData: {1478    _enum: {1479      NFT: 'UpDataStructsCreateNftData',1480      Fungible: 'UpDataStructsCreateFungibleData',1481      ReFungible: 'UpDataStructsCreateReFungibleData'1482    }1483  },1484  /**1485   * Lookup188: up_data_structs::CreateNftData1486   **/1487  UpDataStructsCreateNftData: {1488    properties: 'Vec<UpDataStructsProperty>'1489  },1490  /**1491   * Lookup189: up_data_structs::CreateFungibleData1492   **/1493  UpDataStructsCreateFungibleData: {1494    value: 'u128'1495  },1496  /**1497   * Lookup190: up_data_structs::CreateReFungibleData1498   **/1499  UpDataStructsCreateReFungibleData: {1500    constData: 'Bytes',1501    pieces: 'u128'1502  },1503  /**1504   * Lookup195: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1505   **/1506  UpDataStructsCreateItemExData: {1507    _enum: {1508      NFT: 'Vec<UpDataStructsCreateNftExData>',1509      Fungible: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',1510      RefungibleMultipleItems: 'Vec<UpDataStructsCreateRefungibleExData>',1511      RefungibleMultipleOwners: 'UpDataStructsCreateRefungibleExData'1512    }1513  },1514  /**1515   * Lookup197: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1516   **/1517  UpDataStructsCreateNftExData: {1518    properties: 'Vec<UpDataStructsProperty>',1519    owner: 'PalletEvmAccountBasicCrossAccountIdRepr'1520  },1521  /**1522   * Lookup204: up_data_structs::CreateRefungibleExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1523   **/1524  UpDataStructsCreateRefungibleExData: {1525    constData: 'Bytes',1526    users: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>'1527  },1528  /**1529   * Lookup206: pallet_unq_scheduler::pallet::Call<T>1530   **/1531  PalletUnqSchedulerCall: {1532    _enum: {1533      schedule_named: {1534        id: '[u8;16]',1535        when: 'u32',1536        maybePeriodic: 'Option<(u32,u32)>',1537        priority: 'u8',1538        call: 'FrameSupportScheduleMaybeHashed',1539      },1540      cancel_named: {1541        id: '[u8;16]',1542      },1543      schedule_named_after: {1544        id: '[u8;16]',1545        after: 'u32',1546        maybePeriodic: 'Option<(u32,u32)>',1547        priority: 'u8',1548        call: 'FrameSupportScheduleMaybeHashed'1549      }1550    }1551  },1552  /**1553   * Lookup208: frame_support::traits::schedule::MaybeHashed<opal_runtime::Call, primitive_types::H256>1554   **/1555  FrameSupportScheduleMaybeHashed: {1556    _enum: {1557      Value: 'Call',1558      Hash: 'H256'1559    }1560  },1561  /**1562   * Lookup209: pallet_template_transaction_payment::Call<T>1563   **/1564  PalletTemplateTransactionPaymentCall: 'Null',1565  /**1566   * Lookup210: pallet_structure::pallet::Call<T>1567   **/1568  PalletStructureCall: 'Null',1569  /**1570   * Lookup211: pallet_rmrk_core::pallet::Call<T>1571   **/1572  PalletRmrkCoreCall: {1573    _enum: {1574      create_collection: {1575        metadata: 'Bytes',1576        max: 'Option<u32>',1577        symbol: 'Bytes',1578      },1579      destroy_collection: {1580        collectionId: 'u32',1581      },1582      change_collection_issuer: {1583        collectionId: 'u32',1584        newIssuer: 'MultiAddress',1585      },1586      lock_collection: {1587        collectionId: 'u32',1588      },1589      mint_nft: {1590        owner: 'AccountId32',1591        collectionId: 'u32',1592        recipient: 'Option<AccountId32>',1593        royaltyAmount: 'Option<Permill>',1594        metadata: 'Bytes',1595        transferable: 'bool',1596      },1597      burn_nft: {1598        collectionId: 'u32',1599        nftId: 'u32',1600      },1601      send: {1602        rmrkCollectionId: 'u32',1603        rmrkNftId: 'u32',1604        newOwner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',1605      },1606      accept_nft: {1607        rmrkCollectionId: 'u32',1608        rmrkNftId: 'u32',1609        newOwner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',1610      },1611      reject_nft: {1612        rmrkCollectionId: 'u32',1613        rmrkNftId: 'u32',1614      },1615      accept_resource: {1616        rmrkCollectionId: 'u32',1617        rmrkNftId: 'u32',1618        rmrkResourceId: 'u32',1619      },1620      accept_resource_removal: {1621        rmrkCollectionId: 'u32',1622        rmrkNftId: 'u32',1623        rmrkResourceId: 'u32',1624      },1625      set_property: {1626        rmrkCollectionId: 'Compact<u32>',1627        maybeNftId: 'Option<u32>',1628        key: 'Bytes',1629        value: 'Bytes',1630      },1631      set_priority: {1632        rmrkCollectionId: 'u32',1633        rmrkNftId: 'u32',1634        priorities: 'Vec<u32>',1635      },1636      add_basic_resource: {1637        rmrkCollectionId: 'u32',1638        nftId: 'u32',1639        resource: 'RmrkTraitsResourceBasicResource',1640      },1641      add_composable_resource: {1642        rmrkCollectionId: 'u32',1643        nftId: 'u32',1644        resourceId: 'Bytes',1645        resource: 'RmrkTraitsResourceComposableResource',1646      },1647      add_slot_resource: {1648        rmrkCollectionId: 'u32',1649        nftId: 'u32',1650        resource: 'RmrkTraitsResourceSlotResource',1651      },1652      remove_resource: {1653        rmrkCollectionId: 'u32',1654        nftId: 'u32',1655        resourceId: 'u32'1656      }1657    }1658  },1659  /**1660   * Lookup215: rmrk_traits::nft::AccountIdOrCollectionNftTuple<sp_core::crypto::AccountId32>1661   **/1662  RmrkTraitsNftAccountIdOrCollectionNftTuple: {1663    _enum: {1664      AccountId: 'AccountId32',1665      CollectionAndNftTuple: '(u32,u32)'1666    }1667  },1668  /**1669   * Lookup219: rmrk_traits::resource::BasicResource<frame_support::storage::bounded_vec::BoundedVec<T, S>>1670   **/1671  RmrkTraitsResourceBasicResource: {1672    src: 'Option<Bytes>',1673    metadata: 'Option<Bytes>',1674    license: 'Option<Bytes>',1675    thumb: 'Option<Bytes>'1676  },1677  /**1678   * Lookup222: rmrk_traits::resource::ComposableResource<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>1679   **/1680  RmrkTraitsResourceComposableResource: {1681    parts: 'Vec<u32>',1682    base: 'u32',1683    src: 'Option<Bytes>',1684    metadata: 'Option<Bytes>',1685    license: 'Option<Bytes>',1686    thumb: 'Option<Bytes>'1687  },1688  /**1689   * Lookup224: rmrk_traits::resource::SlotResource<frame_support::storage::bounded_vec::BoundedVec<T, S>>1690   **/1691  RmrkTraitsResourceSlotResource: {1692    base: 'u32',1693    src: 'Option<Bytes>',1694    metadata: 'Option<Bytes>',1695    slot: 'u32',1696    license: 'Option<Bytes>',1697    thumb: 'Option<Bytes>'1698  },1699  /**1700   * Lookup225: pallet_rmrk_equip::pallet::Call<T>1701   **/1702  PalletRmrkEquipCall: {1703    _enum: {1704      create_base: {1705        baseType: 'Bytes',1706        symbol: 'Bytes',1707        parts: 'Vec<RmrkTraitsPartPartType>',1708      },1709      theme_add: {1710        baseId: 'u32',1711        theme: 'RmrkTraitsTheme'1712      }1713    }1714  },1715  /**1716   * Lookup227: rmrk_traits::part::PartType<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>1717   **/1718  RmrkTraitsPartPartType: {1719    _enum: {1720      FixedPart: 'RmrkTraitsPartFixedPart',1721      SlotPart: 'RmrkTraitsPartSlotPart'1722    }1723  },1724  /**1725   * Lookup229: rmrk_traits::part::FixedPart<frame_support::storage::bounded_vec::BoundedVec<T, S>>1726   **/1727  RmrkTraitsPartFixedPart: {1728    id: 'u32',1729    z: 'u32',1730    src: 'Bytes'1731  },1732  /**1733   * Lookup230: rmrk_traits::part::SlotPart<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>1734   **/1735  RmrkTraitsPartSlotPart: {1736    id: 'u32',1737    equippable: 'RmrkTraitsPartEquippableList',1738    src: 'Bytes',1739    z: 'u32'1740  },1741  /**1742   * Lookup231: rmrk_traits::part::EquippableList<frame_support::storage::bounded_vec::BoundedVec<T, S>>1743   **/1744  RmrkTraitsPartEquippableList: {1745    _enum: {1746      All: 'Null',1747      Empty: 'Null',1748      Custom: 'Vec<u32>'1749    }1750  },1751  /**1752   * Lookup233: rmrk_traits::theme::Theme<frame_support::storage::bounded_vec::BoundedVec<T, S>, PropertyList>1753   **/1754  RmrkTraitsTheme: {1755    name: 'Bytes',1756    properties: 'Vec<RmrkTraitsThemeThemeProperty>',1757    inherit: 'bool'1758  },1759  /**1760   * Lookup235: rmrk_traits::theme::ThemeProperty<frame_support::storage::bounded_vec::BoundedVec<T, S>>1761   **/1762  RmrkTraitsThemeThemeProperty: {1763    key: 'Bytes',1764    value: 'Bytes'1765  },1766  /**1767   * Lookup236: pallet_evm::pallet::Call<T>1768   **/1769  PalletEvmCall: {1770    _enum: {1771      withdraw: {1772        address: 'H160',1773        value: 'u128',1774      },1775      call: {1776        source: 'H160',1777        target: 'H160',1778        input: 'Bytes',1779        value: 'U256',1780        gasLimit: 'u64',1781        maxFeePerGas: 'U256',1782        maxPriorityFeePerGas: 'Option<U256>',1783        nonce: 'Option<U256>',1784        accessList: 'Vec<(H160,Vec<H256>)>',1785      },1786      create: {1787        source: 'H160',1788        init: 'Bytes',1789        value: 'U256',1790        gasLimit: 'u64',1791        maxFeePerGas: 'U256',1792        maxPriorityFeePerGas: 'Option<U256>',1793        nonce: 'Option<U256>',1794        accessList: 'Vec<(H160,Vec<H256>)>',1795      },1796      create2: {1797        source: 'H160',1798        init: 'Bytes',1799        salt: 'H256',1800        value: 'U256',1801        gasLimit: 'u64',1802        maxFeePerGas: 'U256',1803        maxPriorityFeePerGas: 'Option<U256>',1804        nonce: 'Option<U256>',1805        accessList: 'Vec<(H160,Vec<H256>)>'1806      }1807    }1808  },1809  /**1810   * Lookup242: pallet_ethereum::pallet::Call<T>1811   **/1812  PalletEthereumCall: {1813    _enum: {1814      transact: {1815        transaction: 'EthereumTransactionTransactionV2'1816      }1817    }1818  },1819  /**1820   * Lookup243: ethereum::transaction::TransactionV21821   **/1822  EthereumTransactionTransactionV2: {1823    _enum: {1824      Legacy: 'EthereumTransactionLegacyTransaction',1825      EIP2930: 'EthereumTransactionEip2930Transaction',1826      EIP1559: 'EthereumTransactionEip1559Transaction'1827    }1828  },1829  /**1830   * Lookup244: ethereum::transaction::LegacyTransaction1831   **/1832  EthereumTransactionLegacyTransaction: {1833    nonce: 'U256',1834    gasPrice: 'U256',1835    gasLimit: 'U256',1836    action: 'EthereumTransactionTransactionAction',1837    value: 'U256',1838    input: 'Bytes',1839    signature: 'EthereumTransactionTransactionSignature'1840  },1841  /**1842   * Lookup245: ethereum::transaction::TransactionAction1843   **/1844  EthereumTransactionTransactionAction: {1845    _enum: {1846      Call: 'H160',1847      Create: 'Null'1848    }1849  },1850  /**1851   * Lookup246: ethereum::transaction::TransactionSignature1852   **/1853  EthereumTransactionTransactionSignature: {1854    v: 'u64',1855    r: 'H256',1856    s: 'H256'1857  },1858  /**1859   * Lookup248: ethereum::transaction::EIP2930Transaction1860   **/1861  EthereumTransactionEip2930Transaction: {1862    chainId: 'u64',1863    nonce: 'U256',1864    gasPrice: 'U256',1865    gasLimit: 'U256',1866    action: 'EthereumTransactionTransactionAction',1867    value: 'U256',1868    input: 'Bytes',1869    accessList: 'Vec<EthereumTransactionAccessListItem>',1870    oddYParity: 'bool',1871    r: 'H256',1872    s: 'H256'1873  },1874  /**1875   * Lookup250: ethereum::transaction::AccessListItem1876   **/1877  EthereumTransactionAccessListItem: {1878    address: 'H160',1879    storageKeys: 'Vec<H256>'1880  },1881  /**1882   * Lookup251: ethereum::transaction::EIP1559Transaction1883   **/1884  EthereumTransactionEip1559Transaction: {1885    chainId: 'u64',1886    nonce: 'U256',1887    maxPriorityFeePerGas: 'U256',1888    maxFeePerGas: 'U256',1889    gasLimit: 'U256',1890    action: 'EthereumTransactionTransactionAction',1891    value: 'U256',1892    input: 'Bytes',1893    accessList: 'Vec<EthereumTransactionAccessListItem>',1894    oddYParity: 'bool',1895    r: 'H256',1896    s: 'H256'1897  },1898  /**1899   * Lookup252: pallet_evm_migration::pallet::Call<T>1900   **/1901  PalletEvmMigrationCall: {1902    _enum: {1903      begin: {1904        address: 'H160',1905      },1906      set_data: {1907        address: 'H160',1908        data: 'Vec<(H256,H256)>',1909      },1910      finish: {1911        address: 'H160',1912        code: 'Bytes'1913      }1914    }1915  },1916  /**1917   * Lookup255: pallet_sudo::pallet::Event<T>1918   **/1919  PalletSudoEvent: {1920    _enum: {1921      Sudid: {1922        sudoResult: 'Result<Null, SpRuntimeDispatchError>',1923      },1924      KeyChanged: {1925        oldSudoer: 'Option<AccountId32>',1926      },1927      SudoAsDone: {1928        sudoResult: 'Result<Null, SpRuntimeDispatchError>'1929      }1930    }1931  },1932  /**1933   * Lookup257: sp_runtime::DispatchError1934   **/1935  SpRuntimeDispatchError: {1936    _enum: {1937      Other: 'Null',1938      CannotLookup: 'Null',1939      BadOrigin: 'Null',1940      Module: 'SpRuntimeModuleError',1941      ConsumerRemaining: 'Null',1942      NoProviders: 'Null',1943      TooManyConsumers: 'Null',1944      Token: 'SpRuntimeTokenError',1945      Arithmetic: 'SpRuntimeArithmeticError',1946      Transactional: 'SpRuntimeTransactionalError'1947    }1948  },1949  /**1950   * Lookup258: sp_runtime::ModuleError1951   **/1952  SpRuntimeModuleError: {1953    index: 'u8',1954    error: '[u8;4]'1955  },1956  /**1957   * Lookup259: sp_runtime::TokenError1958   **/1959  SpRuntimeTokenError: {1960    _enum: ['NoFunds', 'WouldDie', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported']1961  },1962  /**1963   * Lookup260: sp_runtime::ArithmeticError1964   **/1965  SpRuntimeArithmeticError: {1966    _enum: ['Underflow', 'Overflow', 'DivisionByZero']1967  },1968  /**1969   * Lookup261: sp_runtime::TransactionalError1970   **/1971  SpRuntimeTransactionalError: {1972    _enum: ['LimitReached', 'NoLayer']1973  },1974  /**1975   * Lookup262: pallet_sudo::pallet::Error<T>1976   **/1977  PalletSudoError: {1978    _enum: ['RequireSudo']1979  },1980  /**1981   * Lookup263: frame_system::AccountInfo<Index, pallet_balances::AccountData<Balance>>1982   **/1983  FrameSystemAccountInfo: {1984    nonce: 'u32',1985    consumers: 'u32',1986    providers: 'u32',1987    sufficients: 'u32',1988    data: 'PalletBalancesAccountData'1989  },1990  /**1991   * Lookup264: frame_support::weights::PerDispatchClass<T>1992   **/1993  FrameSupportWeightsPerDispatchClassU64: {1994    normal: 'u64',1995    operational: 'u64',1996    mandatory: 'u64'1997  },1998  /**1999   * Lookup265: sp_runtime::generic::digest::Digest2000   **/2001  SpRuntimeDigest: {2002    logs: 'Vec<SpRuntimeDigestDigestItem>'2003  },2004  /**2005   * Lookup267: sp_runtime::generic::digest::DigestItem2006   **/2007  SpRuntimeDigestDigestItem: {2008    _enum: {2009      Other: 'Bytes',2010      __Unused1: 'Null',2011      __Unused2: 'Null',2012      __Unused3: 'Null',2013      Consensus: '([u8;4],Bytes)',2014      Seal: '([u8;4],Bytes)',2015      PreRuntime: '([u8;4],Bytes)',2016      __Unused7: 'Null',2017      RuntimeEnvironmentUpdated: 'Null'2018    }2019  },2020  /**2021   * Lookup269: frame_system::EventRecord<opal_runtime::Event, primitive_types::H256>2022   **/2023  FrameSystemEventRecord: {2024    phase: 'FrameSystemPhase',2025    event: 'Event',2026    topics: 'Vec<H256>'2027  },2028  /**2029   * Lookup271: frame_system::pallet::Event<T>2030   **/2031  FrameSystemEvent: {2032    _enum: {2033      ExtrinsicSuccess: {2034        dispatchInfo: 'FrameSupportWeightsDispatchInfo',2035      },2036      ExtrinsicFailed: {2037        dispatchError: 'SpRuntimeDispatchError',2038        dispatchInfo: 'FrameSupportWeightsDispatchInfo',2039      },2040      CodeUpdated: 'Null',2041      NewAccount: {2042        account: 'AccountId32',2043      },2044      KilledAccount: {2045        account: 'AccountId32',2046      },2047      Remarked: {2048        _alias: {2049          hash_: 'hash',2050        },2051        sender: 'AccountId32',2052        hash_: 'H256'2053      }2054    }2055  },2056  /**2057   * Lookup272: frame_support::weights::DispatchInfo2058   **/2059  FrameSupportWeightsDispatchInfo: {2060    weight: 'u64',2061    class: 'FrameSupportWeightsDispatchClass',2062    paysFee: 'FrameSupportWeightsPays'2063  },2064  /**2065   * Lookup273: frame_support::weights::DispatchClass2066   **/2067  FrameSupportWeightsDispatchClass: {2068    _enum: ['Normal', 'Operational', 'Mandatory']2069  },2070  /**2071   * Lookup274: frame_support::weights::Pays2072   **/2073  FrameSupportWeightsPays: {2074    _enum: ['Yes', 'No']2075  },2076  /**2077   * Lookup275: orml_vesting::module::Event<T>2078   **/2079  OrmlVestingModuleEvent: {2080    _enum: {2081      VestingScheduleAdded: {2082        from: 'AccountId32',2083        to: 'AccountId32',2084        vestingSchedule: 'OrmlVestingVestingSchedule',2085      },2086      Claimed: {2087        who: 'AccountId32',2088        amount: 'u128',2089      },2090      VestingSchedulesUpdated: {2091        who: 'AccountId32'2092      }2093    }2094  },2095  /**2096   * Lookup276: cumulus_pallet_xcmp_queue::pallet::Event<T>2097   **/2098  CumulusPalletXcmpQueueEvent: {2099    _enum: {2100      Success: 'Option<H256>',2101      Fail: '(Option<H256>,XcmV2TraitsError)',2102      BadVersion: 'Option<H256>',2103      BadFormat: 'Option<H256>',2104      UpwardMessageSent: 'Option<H256>',2105      XcmpMessageSent: 'Option<H256>',2106      OverweightEnqueued: '(u32,u32,u64,u64)',2107      OverweightServiced: '(u64,u64)'2108    }2109  },2110  /**2111   * Lookup277: pallet_xcm::pallet::Event<T>2112   **/2113  PalletXcmEvent: {2114    _enum: {2115      Attempted: 'XcmV2TraitsOutcome',2116      Sent: '(XcmV1MultiLocation,XcmV1MultiLocation,XcmV2Xcm)',2117      UnexpectedResponse: '(XcmV1MultiLocation,u64)',2118      ResponseReady: '(u64,XcmV2Response)',2119      Notified: '(u64,u8,u8)',2120      NotifyOverweight: '(u64,u8,u8,u64,u64)',2121      NotifyDispatchError: '(u64,u8,u8)',2122      NotifyDecodeFailed: '(u64,u8,u8)',2123      InvalidResponder: '(XcmV1MultiLocation,u64,Option<XcmV1MultiLocation>)',2124      InvalidResponderVersion: '(XcmV1MultiLocation,u64)',2125      ResponseTaken: 'u64',2126      AssetsTrapped: '(H256,XcmV1MultiLocation,XcmVersionedMultiAssets)',2127      VersionChangeNotified: '(XcmV1MultiLocation,u32)',2128      SupportedVersionChanged: '(XcmV1MultiLocation,u32)',2129      NotifyTargetSendFail: '(XcmV1MultiLocation,u64,XcmV2TraitsError)',2130      NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)'2131    }2132  },2133  /**2134   * Lookup278: xcm::v2::traits::Outcome2135   **/2136  XcmV2TraitsOutcome: {2137    _enum: {2138      Complete: 'u64',2139      Incomplete: '(u64,XcmV2TraitsError)',2140      Error: 'XcmV2TraitsError'2141    }2142  },2143  /**2144   * Lookup280: cumulus_pallet_xcm::pallet::Event<T>2145   **/2146  CumulusPalletXcmEvent: {2147    _enum: {2148      InvalidFormat: '[u8;8]',2149      UnsupportedVersion: '[u8;8]',2150      ExecutedDownward: '([u8;8],XcmV2TraitsOutcome)'2151    }2152  },2153  /**2154   * Lookup281: cumulus_pallet_dmp_queue::pallet::Event<T>2155   **/2156  CumulusPalletDmpQueueEvent: {2157    _enum: {2158      InvalidFormat: '[u8;32]',2159      UnsupportedVersion: '[u8;32]',2160      ExecutedDownward: '([u8;32],XcmV2TraitsOutcome)',2161      WeightExhausted: '([u8;32],u64,u64)',2162      OverweightEnqueued: '([u8;32],u64,u64)',2163      OverweightServiced: '(u64,u64)'2164    }2165  },2166  /**2167   * Lookup282: pallet_unique::RawEvent<sp_core::crypto::AccountId32, pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2168   **/2169  PalletUniqueRawEvent: {2170    _enum: {2171      CollectionSponsorRemoved: 'u32',2172      CollectionAdminAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',2173      CollectionOwnedChanged: '(u32,AccountId32)',2174      CollectionSponsorSet: '(u32,AccountId32)',2175      SponsorshipConfirmed: '(u32,AccountId32)',2176      CollectionAdminRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',2177      AllowListAddressRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',2178      AllowListAddressAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',2179      CollectionLimitSet: 'u32',2180      CollectionPermissionSet: 'u32'2181    }2182  },2183  /**2184   * Lookup283: pallet_unq_scheduler::pallet::Event<T>2185   **/2186  PalletUnqSchedulerEvent: {2187    _enum: {2188      Scheduled: {2189        when: 'u32',2190        index: 'u32',2191      },2192      Canceled: {2193        when: 'u32',2194        index: 'u32',2195      },2196      Dispatched: {2197        task: '(u32,u32)',2198        id: 'Option<[u8;16]>',2199        result: 'Result<Null, SpRuntimeDispatchError>',2200      },2201      CallLookupFailed: {2202        task: '(u32,u32)',2203        id: 'Option<[u8;16]>',2204        error: 'FrameSupportScheduleLookupError'2205      }2206    }2207  },2208  /**2209   * Lookup285: frame_support::traits::schedule::LookupError2210   **/2211  FrameSupportScheduleLookupError: {2212    _enum: ['Unknown', 'BadFormat']2213  },2214  /**2215   * Lookup286: pallet_common::pallet::Event<T>2216   **/2217  PalletCommonEvent: {2218    _enum: {2219      CollectionCreated: '(u32,u8,AccountId32)',2220      CollectionDestroyed: 'u32',2221      ItemCreated: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',2222      ItemDestroyed: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',2223      Transfer: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',2224      Approved: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',2225      CollectionPropertySet: '(u32,Bytes)',2226      CollectionPropertyDeleted: '(u32,Bytes)',2227      TokenPropertySet: '(u32,u32,Bytes)',2228      TokenPropertyDeleted: '(u32,u32,Bytes)',2229      PropertyPermissionSet: '(u32,Bytes)'2230    }2231  },2232  /**2233   * Lookup287: pallet_structure::pallet::Event<T>2234   **/2235  PalletStructureEvent: {2236    _enum: {2237      Executed: 'Result<Null, SpRuntimeDispatchError>'2238    }2239  },2240  /**2241   * Lookup288: pallet_rmrk_core::pallet::Event<T>2242   **/2243  PalletRmrkCoreEvent: {2244    _enum: {2245      CollectionCreated: {2246        issuer: 'AccountId32',2247        collectionId: 'u32',2248      },2249      CollectionDestroyed: {2250        issuer: 'AccountId32',2251        collectionId: 'u32',2252      },2253      IssuerChanged: {2254        oldIssuer: 'AccountId32',2255        newIssuer: 'AccountId32',2256        collectionId: 'u32',2257      },2258      CollectionLocked: {2259        issuer: 'AccountId32',2260        collectionId: 'u32',2261      },2262      NftMinted: {2263        owner: 'AccountId32',2264        collectionId: 'u32',2265        nftId: 'u32',2266      },2267      NFTBurned: {2268        owner: 'AccountId32',2269        nftId: 'u32',2270      },2271      NFTSent: {2272        sender: 'AccountId32',2273        recipient: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',2274        collectionId: 'u32',2275        nftId: 'u32',2276        approvalRequired: 'bool',2277      },2278      NFTAccepted: {2279        sender: 'AccountId32',2280        recipient: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',2281        collectionId: 'u32',2282        nftId: 'u32',2283      },2284      NFTRejected: {2285        sender: 'AccountId32',2286        collectionId: 'u32',2287        nftId: 'u32',2288      },2289      PropertySet: {2290        collectionId: 'u32',2291        maybeNftId: 'Option<u32>',2292        key: 'Bytes',2293        value: 'Bytes',2294      },2295      ResourceAdded: {2296        nftId: 'u32',2297        resourceId: 'u32',2298      },2299      ResourceRemoval: {2300        nftId: 'u32',2301        resourceId: 'u32',2302      },2303      ResourceAccepted: {2304        nftId: 'u32',2305        resourceId: 'u32',2306      },2307      ResourceRemovalAccepted: {2308        nftId: 'u32',2309        resourceId: 'u32',2310      },2311      PrioritySet: {2312        collectionId: 'u32',2313        nftId: 'u32'2314      }2315    }2316  },2317  /**2318   * Lookup289: pallet_rmrk_equip::pallet::Event<T>2319   **/2320  PalletRmrkEquipEvent: {2321    _enum: {2322      BaseCreated: {2323        issuer: 'AccountId32',2324        baseId: 'u32'2325      }2326    }2327  },2328  /**2329   * Lookup290: pallet_evm::pallet::Event<T>2330   **/2331  PalletEvmEvent: {2332    _enum: {2333      Log: 'EthereumLog',2334      Created: 'H160',2335      CreatedFailed: 'H160',2336      Executed: 'H160',2337      ExecutedFailed: 'H160',2338      BalanceDeposit: '(AccountId32,H160,U256)',2339      BalanceWithdraw: '(AccountId32,H160,U256)'2340    }2341  },2342  /**2343   * Lookup291: ethereum::log::Log2344   **/2345  EthereumLog: {2346    address: 'H160',2347    topics: 'Vec<H256>',2348    data: 'Bytes'2349  },2350  /**2351   * Lookup292: pallet_ethereum::pallet::Event2352   **/2353  PalletEthereumEvent: {2354    _enum: {2355      Executed: '(H160,H160,H256,EvmCoreErrorExitReason)'2356    }2357  },2358  /**2359   * Lookup293: evm_core::error::ExitReason2360   **/2361  EvmCoreErrorExitReason: {2362    _enum: {2363      Succeed: 'EvmCoreErrorExitSucceed',2364      Error: 'EvmCoreErrorExitError',2365      Revert: 'EvmCoreErrorExitRevert',2366      Fatal: 'EvmCoreErrorExitFatal'2367    }2368  },2369  /**2370   * Lookup294: evm_core::error::ExitSucceed2371   **/2372  EvmCoreErrorExitSucceed: {2373    _enum: ['Stopped', 'Returned', 'Suicided']2374  },2375  /**2376   * Lookup295: evm_core::error::ExitError2377   **/2378  EvmCoreErrorExitError: {2379    _enum: {2380      StackUnderflow: 'Null',2381      StackOverflow: 'Null',2382      InvalidJump: 'Null',2383      InvalidRange: 'Null',2384      DesignatedInvalid: 'Null',2385      CallTooDeep: 'Null',2386      CreateCollision: 'Null',2387      CreateContractLimit: 'Null',2388      OutOfOffset: 'Null',2389      OutOfGas: 'Null',2390      OutOfFund: 'Null',2391      PCUnderflow: 'Null',2392      CreateEmpty: 'Null',2393      Other: 'Text',2394      InvalidCode: 'Null'2395    }2396  },2397  /**2398   * Lookup298: evm_core::error::ExitRevert2399   **/2400  EvmCoreErrorExitRevert: {2401    _enum: ['Reverted']2402  },2403  /**2404   * Lookup299: evm_core::error::ExitFatal2405   **/2406  EvmCoreErrorExitFatal: {2407    _enum: {2408      NotSupported: 'Null',2409      UnhandledInterrupt: 'Null',2410      CallErrorAsFatal: 'EvmCoreErrorExitError',2411      Other: 'Text'2412    }2413  },2414  /**2415   * Lookup300: frame_system::Phase2416   **/2417  FrameSystemPhase: {2418    _enum: {2419      ApplyExtrinsic: 'u32',2420      Finalization: 'Null',2421      Initialization: 'Null'2422    }2423  },2424  /**2425   * Lookup302: frame_system::LastRuntimeUpgradeInfo2426   **/2427  FrameSystemLastRuntimeUpgradeInfo: {2428    specVersion: 'Compact<u32>',2429    specName: 'Text'2430  },2431  /**2432   * Lookup303: frame_system::limits::BlockWeights2433   **/2434  FrameSystemLimitsBlockWeights: {2435    baseBlock: 'u64',2436    maxBlock: 'u64',2437    perClass: 'FrameSupportWeightsPerDispatchClassWeightsPerClass'2438  },2439  /**2440   * Lookup304: frame_support::weights::PerDispatchClass<frame_system::limits::WeightsPerClass>2441   **/2442  FrameSupportWeightsPerDispatchClassWeightsPerClass: {2443    normal: 'FrameSystemLimitsWeightsPerClass',2444    operational: 'FrameSystemLimitsWeightsPerClass',2445    mandatory: 'FrameSystemLimitsWeightsPerClass'2446  },2447  /**2448   * Lookup305: frame_system::limits::WeightsPerClass2449   **/2450  FrameSystemLimitsWeightsPerClass: {2451    baseExtrinsic: 'u64',2452    maxExtrinsic: 'Option<u64>',2453    maxTotal: 'Option<u64>',2454    reserved: 'Option<u64>'2455  },2456  /**2457   * Lookup307: frame_system::limits::BlockLength2458   **/2459  FrameSystemLimitsBlockLength: {2460    max: 'FrameSupportWeightsPerDispatchClassU32'2461  },2462  /**2463   * Lookup308: frame_support::weights::PerDispatchClass<T>2464   **/2465  FrameSupportWeightsPerDispatchClassU32: {2466    normal: 'u32',2467    operational: 'u32',2468    mandatory: 'u32'2469  },2470  /**2471   * Lookup309: frame_support::weights::RuntimeDbWeight2472   **/2473  FrameSupportWeightsRuntimeDbWeight: {2474    read: 'u64',2475    write: 'u64'2476  },2477  /**2478   * Lookup310: sp_version::RuntimeVersion2479   **/2480  SpVersionRuntimeVersion: {2481    specName: 'Text',2482    implName: 'Text',2483    authoringVersion: 'u32',2484    specVersion: 'u32',2485    implVersion: 'u32',2486    apis: 'Vec<([u8;8],u32)>',2487    transactionVersion: 'u32',2488    stateVersion: 'u8'2489  },2490  /**2491   * Lookup314: frame_system::pallet::Error<T>2492   **/2493  FrameSystemError: {2494    _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']2495  },2496  /**2497   * Lookup316: orml_vesting::module::Error<T>2498   **/2499  OrmlVestingModuleError: {2500    _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']2501  },2502  /**2503   * Lookup318: cumulus_pallet_xcmp_queue::InboundChannelDetails2504   **/2505  CumulusPalletXcmpQueueInboundChannelDetails: {2506    sender: 'u32',2507    state: 'CumulusPalletXcmpQueueInboundState',2508    messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'2509  },2510  /**2511   * Lookup319: cumulus_pallet_xcmp_queue::InboundState2512   **/2513  CumulusPalletXcmpQueueInboundState: {2514    _enum: ['Ok', 'Suspended']2515  },2516  /**2517   * Lookup322: polkadot_parachain::primitives::XcmpMessageFormat2518   **/2519  PolkadotParachainPrimitivesXcmpMessageFormat: {2520    _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']2521  },2522  /**2523   * Lookup325: cumulus_pallet_xcmp_queue::OutboundChannelDetails2524   **/2525  CumulusPalletXcmpQueueOutboundChannelDetails: {2526    recipient: 'u32',2527    state: 'CumulusPalletXcmpQueueOutboundState',2528    signalsExist: 'bool',2529    firstIndex: 'u16',2530    lastIndex: 'u16'2531  },2532  /**2533   * Lookup326: cumulus_pallet_xcmp_queue::OutboundState2534   **/2535  CumulusPalletXcmpQueueOutboundState: {2536    _enum: ['Ok', 'Suspended']2537  },2538  /**2539   * Lookup328: cumulus_pallet_xcmp_queue::QueueConfigData2540   **/2541  CumulusPalletXcmpQueueQueueConfigData: {2542    suspendThreshold: 'u32',2543    dropThreshold: 'u32',2544    resumeThreshold: 'u32',2545    thresholdWeight: 'u64',2546    weightRestrictDecay: 'u64',2547    xcmpMaxIndividualWeight: 'u64'2548  },2549  /**2550   * Lookup330: cumulus_pallet_xcmp_queue::pallet::Error<T>2551   **/2552  CumulusPalletXcmpQueueError: {2553    _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']2554  },2555  /**2556   * Lookup331: pallet_xcm::pallet::Error<T>2557   **/2558  PalletXcmError: {2559    _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']2560  },2561  /**2562   * Lookup332: cumulus_pallet_xcm::pallet::Error<T>2563   **/2564  CumulusPalletXcmError: 'Null',2565  /**2566   * Lookup333: cumulus_pallet_dmp_queue::ConfigData2567   **/2568  CumulusPalletDmpQueueConfigData: {2569    maxIndividual: 'u64'2570  },2571  /**2572   * Lookup334: cumulus_pallet_dmp_queue::PageIndexData2573   **/2574  CumulusPalletDmpQueuePageIndexData: {2575    beginUsed: 'u32',2576    endUsed: 'u32',2577    overweightCount: 'u64'2578  },2579  /**2580   * Lookup337: cumulus_pallet_dmp_queue::pallet::Error<T>2581   **/2582  CumulusPalletDmpQueueError: {2583    _enum: ['Unknown', 'OverLimit']2584  },2585  /**2586   * Lookup341: pallet_unique::Error<T>2587   **/2588  PalletUniqueError: {2589    _enum: ['CollectionDecimalPointLimitExceeded', 'ConfirmUnsetSponsorFail', 'EmptyArgument']2590  },2591  /**2592   * Lookup344: pallet_unq_scheduler::ScheduledV3<frame_support::traits::schedule::MaybeHashed<opal_runtime::Call, primitive_types::H256>, BlockNumber, opal_runtime::OriginCaller, sp_core::crypto::AccountId32>2593   **/2594  PalletUnqSchedulerScheduledV3: {2595    maybeId: 'Option<[u8;16]>',2596    priority: 'u8',2597    call: 'FrameSupportScheduleMaybeHashed',2598    maybePeriodic: 'Option<(u32,u32)>',2599    origin: 'OpalRuntimeOriginCaller'2600  },2601  /**2602   * Lookup345: opal_runtime::OriginCaller2603   **/2604  OpalRuntimeOriginCaller: {2605    _enum: {2606      __Unused0: 'Null',2607      __Unused1: 'Null',2608      __Unused2: 'Null',2609      __Unused3: 'Null',2610      Void: 'SpCoreVoid',2611      __Unused5: 'Null',2612      __Unused6: 'Null',2613      __Unused7: 'Null',2614      __Unused8: 'Null',2615      __Unused9: 'Null',2616      __Unused10: 'Null',2617      __Unused11: 'Null',2618      __Unused12: 'Null',2619      __Unused13: 'Null',2620      __Unused14: 'Null',2621      __Unused15: 'Null',2622      __Unused16: 'Null',2623      __Unused17: 'Null',2624      __Unused18: 'Null',2625      __Unused19: 'Null',2626      __Unused20: 'Null',2627      __Unused21: 'Null',2628      __Unused22: 'Null',2629      __Unused23: 'Null',2630      __Unused24: 'Null',2631      __Unused25: 'Null',2632      __Unused26: 'Null',2633      __Unused27: 'Null',2634      __Unused28: 'Null',2635      __Unused29: 'Null',2636      __Unused30: 'Null',2637      __Unused31: 'Null',2638      __Unused32: 'Null',2639      __Unused33: 'Null',2640      __Unused34: 'Null',2641      __Unused35: 'Null',2642      system: 'FrameSupportDispatchRawOrigin',2643      __Unused37: 'Null',2644      __Unused38: 'Null',2645      __Unused39: 'Null',2646      __Unused40: 'Null',2647      __Unused41: 'Null',2648      __Unused42: 'Null',2649      __Unused43: 'Null',2650      __Unused44: 'Null',2651      __Unused45: 'Null',2652      __Unused46: 'Null',2653      __Unused47: 'Null',2654      __Unused48: 'Null',2655      __Unused49: 'Null',2656      __Unused50: 'Null',2657      PolkadotXcm: 'PalletXcmOrigin',2658      CumulusXcm: 'CumulusPalletXcmOrigin',2659      __Unused53: 'Null',2660      __Unused54: 'Null',2661      __Unused55: 'Null',2662      __Unused56: 'Null',2663      __Unused57: 'Null',2664      __Unused58: 'Null',2665      __Unused59: 'Null',2666      __Unused60: 'Null',2667      __Unused61: 'Null',2668      __Unused62: 'Null',2669      __Unused63: 'Null',2670      __Unused64: 'Null',2671      __Unused65: 'Null',2672      __Unused66: 'Null',2673      __Unused67: 'Null',2674      __Unused68: 'Null',2675      __Unused69: 'Null',2676      __Unused70: 'Null',2677      __Unused71: 'Null',2678      __Unused72: 'Null',2679      __Unused73: 'Null',2680      __Unused74: 'Null',2681      __Unused75: 'Null',2682      __Unused76: 'Null',2683      __Unused77: 'Null',2684      __Unused78: 'Null',2685      __Unused79: 'Null',2686      __Unused80: 'Null',2687      __Unused81: 'Null',2688      __Unused82: 'Null',2689      __Unused83: 'Null',2690      __Unused84: 'Null',2691      __Unused85: 'Null',2692      __Unused86: 'Null',2693      __Unused87: 'Null',2694      __Unused88: 'Null',2695      __Unused89: 'Null',2696      __Unused90: 'Null',2697      __Unused91: 'Null',2698      __Unused92: 'Null',2699      __Unused93: 'Null',2700      __Unused94: 'Null',2701      __Unused95: 'Null',2702      __Unused96: 'Null',2703      __Unused97: 'Null',2704      __Unused98: 'Null',2705      __Unused99: 'Null',2706      __Unused100: 'Null',2707      Ethereum: 'PalletEthereumRawOrigin'2708    }2709  },2710  /**2711   * Lookup346: frame_support::dispatch::RawOrigin<sp_core::crypto::AccountId32>2712   **/2713  FrameSupportDispatchRawOrigin: {2714    _enum: {2715      Root: 'Null',2716      Signed: 'AccountId32',2717      None: 'Null'2718    }2719  },2720  /**2721   * Lookup347: pallet_xcm::pallet::Origin2722   **/2723  PalletXcmOrigin: {2724    _enum: {2725      Xcm: 'XcmV1MultiLocation',2726      Response: 'XcmV1MultiLocation'2727    }2728  },2729  /**2730   * Lookup348: cumulus_pallet_xcm::pallet::Origin2731   **/2732  CumulusPalletXcmOrigin: {2733    _enum: {2734      Relay: 'Null',2735      SiblingParachain: 'u32'2736    }2737  },2738  /**2739   * Lookup349: pallet_ethereum::RawOrigin2740   **/2741  PalletEthereumRawOrigin: {2742    _enum: {2743      EthereumTransaction: 'H160'2744    }2745  },2746  /**2747   * Lookup350: sp_core::Void2748   **/2749  SpCoreVoid: 'Null',2750  /**2751   * Lookup351: pallet_unq_scheduler::pallet::Error<T>2752   **/2753  PalletUnqSchedulerError: {2754    _enum: ['FailedToSchedule', 'NotFound', 'TargetBlockNumberInPast', 'RescheduleNoChange']2755  },2756  /**2757   * Lookup352: up_data_structs::Collection<sp_core::crypto::AccountId32>2758   **/2759  UpDataStructsCollection: {2760    owner: 'AccountId32',2761    mode: 'UpDataStructsCollectionMode',2762    name: 'Vec<u16>',2763    description: 'Vec<u16>',2764    tokenPrefix: 'Bytes',2765    sponsorship: 'UpDataStructsSponsorshipState',2766    limits: 'UpDataStructsCollectionLimits',2767    permissions: 'UpDataStructsCollectionPermissions',2768    externalCollection: 'bool'2769  },2770  /**2771   * Lookup353: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>2772   **/2773  UpDataStructsSponsorshipState: {2774    _enum: {2775      Disabled: 'Null',2776      Unconfirmed: 'AccountId32',2777      Confirmed: 'AccountId32'2778    }2779  },2780  /**2781   * Lookup354: up_data_structs::Properties2782   **/2783  UpDataStructsProperties: {2784    map: 'UpDataStructsPropertiesMapBoundedVec',2785    consumedSpace: 'u32',2786    spaceLimit: 'u32'2787  },2788  /**2789   * Lookup355: up_data_structs::PropertiesMap<frame_support::storage::bounded_vec::BoundedVec<T, S>>2790   **/2791  UpDataStructsPropertiesMapBoundedVec: 'BTreeMap<Bytes, Bytes>',2792  /**2793   * Lookup360: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>2794   **/2795  UpDataStructsPropertiesMapPropertyPermission: 'BTreeMap<Bytes, UpDataStructsPropertyPermission>',2796  /**2797   * Lookup367: up_data_structs::CollectionStats2798   **/2799  UpDataStructsCollectionStats: {2800    created: 'u32',2801    destroyed: 'u32',2802    alive: 'u32'2803  },2804  /**2805   * Lookup368: up_data_structs::TokenChild2806   **/2807  UpDataStructsTokenChild: {2808    token: 'u32',2809    collection: 'u32'2810  },2811  /**2812   * Lookup369: PhantomType::up_data_structs<T>2813   **/2814  PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,RmrkTraitsCollectionCollectionInfo,RmrkTraitsNftNftInfo,RmrkTraitsResourceResourceInfo,RmrkTraitsPropertyPropertyInfo,RmrkTraitsBaseBaseInfo,RmrkTraitsPartPartType,RmrkTraitsTheme,RmrkTraitsNftNftChild);0]',2815  /**2816   * Lookup371: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2817   **/2818  UpDataStructsTokenData: {2819    properties: 'Vec<UpDataStructsProperty>',2820    owner: 'Option<PalletEvmAccountBasicCrossAccountIdRepr>'2821  },2822  /**2823   * Lookup373: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>2824   **/2825  UpDataStructsRpcCollection: {2826    owner: 'AccountId32',2827    mode: 'UpDataStructsCollectionMode',2828    name: 'Vec<u16>',2829    description: 'Vec<u16>',2830    tokenPrefix: 'Bytes',2831    sponsorship: 'UpDataStructsSponsorshipState',2832    limits: 'UpDataStructsCollectionLimits',2833    permissions: 'UpDataStructsCollectionPermissions',2834    tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',2835    properties: 'Vec<UpDataStructsProperty>',2836    readOnly: 'bool'2837  },2838  /**2839   * Lookup374: rmrk_traits::collection::CollectionInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>, sp_core::crypto::AccountId32>2840   **/2841  RmrkTraitsCollectionCollectionInfo: {2842    issuer: 'AccountId32',2843    metadata: 'Bytes',2844    max: 'Option<u32>',2845    symbol: 'Bytes',2846    nftsCount: 'u32'2847  },2848  /**2849   * Lookup375: rmrk_traits::nft::NftInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill, frame_support::storage::bounded_vec::BoundedVec<T, S>>2850   **/2851  RmrkTraitsNftNftInfo: {2852    owner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',2853    royalty: 'Option<RmrkTraitsNftRoyaltyInfo>',2854    metadata: 'Bytes',2855    equipped: 'bool',2856    pending: 'bool'2857  },2858  /**2859   * Lookup377: rmrk_traits::nft::RoyaltyInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill>2860   **/2861  RmrkTraitsNftRoyaltyInfo: {2862    recipient: 'AccountId32',2863    amount: 'Permill'2864  },2865  /**2866   * Lookup378: rmrk_traits::resource::ResourceInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>2867   **/2868  RmrkTraitsResourceResourceInfo: {2869    id: 'u32',2870    resource: 'RmrkTraitsResourceResourceTypes',2871    pending: 'bool',2872    pendingRemoval: 'bool'2873  },2874  /**2875   * Lookup379: rmrk_traits::resource::ResourceTypes<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>2876   **/2877  RmrkTraitsResourceResourceTypes: {2878    _enum: {2879      Basic: 'RmrkTraitsResourceBasicResource',2880      Composable: 'RmrkTraitsResourceComposableResource',2881      Slot: 'RmrkTraitsResourceSlotResource'2882    }2883  },2884  /**2885   * Lookup380: rmrk_traits::property::PropertyInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>2886   **/2887  RmrkTraitsPropertyPropertyInfo: {2888    key: 'Bytes',2889    value: 'Bytes'2890  },2891  /**2892   * Lookup381: rmrk_traits::base::BaseInfo<sp_core::crypto::AccountId32, frame_support::storage::bounded_vec::BoundedVec<T, S>>2893   **/2894  RmrkTraitsBaseBaseInfo: {2895    issuer: 'AccountId32',2896    baseType: 'Bytes',2897    symbol: 'Bytes'2898  },2899  /**2900   * Lookup382: rmrk_traits::nft::NftChild2901   **/2902  RmrkTraitsNftNftChild: {2903    collectionId: 'u32',2904    nftId: 'u32'2905  },2906  /**2907   * Lookup384: pallet_common::pallet::Error<T>2908   **/2909  PalletCommonError: {2910    _enum: ['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']2911  },2912  /**2913   * Lookup386: pallet_fungible::pallet::Error<T>2914   **/2915  PalletFungibleError: {2916    _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed']2917  },2918  /**2919   * Lookup387: pallet_refungible::ItemData2920   **/2921  PalletRefungibleItemData: {2922    constData: 'Bytes'2923  },2924  /**2925   * Lookup391: pallet_refungible::pallet::Error<T>2926   **/2927  PalletRefungibleError: {2928    _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed']2929  },2930  /**2931   * Lookup392: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2932   **/2933  PalletNonfungibleItemData: {2934    owner: 'PalletEvmAccountBasicCrossAccountIdRepr'2935  },2936  /**2937   * Lookup394: pallet_nonfungible::pallet::Error<T>2938   **/2939  PalletNonfungibleError: {2940    _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren']2941  },2942  /**2943   * Lookup395: pallet_structure::pallet::Error<T>2944   **/2945  PalletStructureError: {2946    _enum: ['OuroborosDetected', 'DepthLimit', 'BreadthLimit', 'TokenNotFound']2947  },2948  /**2949   * Lookup396: pallet_rmrk_core::pallet::Error<T>2950   **/2951  PalletRmrkCoreError: {2952    _enum: ['CorruptedCollectionType', 'NftTypeEncodeError', 'RmrkPropertyKeyIsTooLong', 'RmrkPropertyValueIsTooLong', 'CollectionNotEmpty', 'NoAvailableCollectionId', 'NoAvailableNftId', 'CollectionUnknown', 'NoPermission', 'NonTransferable', 'CollectionFullOrLocked', 'ResourceDoesntExist', 'CannotSendToDescendentOrSelf', 'CannotAcceptNonOwnedNft', 'CannotRejectNonOwnedNft', 'ResourceNotPending']2953  },2954  /**2955   * Lookup398: pallet_rmrk_equip::pallet::Error<T>2956   **/2957  PalletRmrkEquipError: {2958    _enum: ['PermissionError', 'NoAvailableBaseId', 'NoAvailablePartId', 'BaseDoesntExist', 'NeedsDefaultThemeFirst']2959  },2960  /**2961   * Lookup401: pallet_evm::pallet::Error<T>2962   **/2963  PalletEvmError: {2964    _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce']2965  },2966  /**2967   * Lookup404: fp_rpc::TransactionStatus2968   **/2969  FpRpcTransactionStatus: {2970    transactionHash: 'H256',2971    transactionIndex: 'u32',2972    from: 'H160',2973    to: 'Option<H160>',2974    contractAddress: 'Option<H160>',2975    logs: 'Vec<EthereumLog>',2976    logsBloom: 'EthbloomBloom'2977  },2978  /**2979   * Lookup406: ethbloom::Bloom2980   **/2981  EthbloomBloom: '[u8;256]',2982  /**2983   * Lookup408: ethereum::receipt::ReceiptV32984   **/2985  EthereumReceiptReceiptV3: {2986    _enum: {2987      Legacy: 'EthereumReceiptEip658ReceiptData',2988      EIP2930: 'EthereumReceiptEip658ReceiptData',2989      EIP1559: 'EthereumReceiptEip658ReceiptData'2990    }2991  },2992  /**2993   * Lookup409: ethereum::receipt::EIP658ReceiptData2994   **/2995  EthereumReceiptEip658ReceiptData: {2996    statusCode: 'u8',2997    usedGas: 'U256',2998    logsBloom: 'EthbloomBloom',2999    logs: 'Vec<EthereumLog>'3000  },3001  /**3002   * Lookup410: ethereum::block::Block<ethereum::transaction::TransactionV2>3003   **/3004  EthereumBlock: {3005    header: 'EthereumHeader',3006    transactions: 'Vec<EthereumTransactionTransactionV2>',3007    ommers: 'Vec<EthereumHeader>'3008  },3009  /**3010   * Lookup411: ethereum::header::Header3011   **/3012  EthereumHeader: {3013    parentHash: 'H256',3014    ommersHash: 'H256',3015    beneficiary: 'H160',3016    stateRoot: 'H256',3017    transactionsRoot: 'H256',3018    receiptsRoot: 'H256',3019    logsBloom: 'EthbloomBloom',3020    difficulty: 'U256',3021    number: 'U256',3022    gasLimit: 'U256',3023    gasUsed: 'U256',3024    timestamp: 'u64',3025    extraData: 'Bytes',3026    mixHash: 'H256',3027    nonce: 'EthereumTypesHashH64'3028  },3029  /**3030   * Lookup412: ethereum_types::hash::H643031   **/3032  EthereumTypesHashH64: '[u8;8]',3033  /**3034   * Lookup417: pallet_ethereum::pallet::Error<T>3035   **/3036  PalletEthereumError: {3037    _enum: ['InvalidSignature', 'PreLogExists']3038  },3039  /**3040   * Lookup418: pallet_evm_coder_substrate::pallet::Error<T>3041   **/3042  PalletEvmCoderSubstrateError: {3043    _enum: ['OutOfGas', 'OutOfFund']3044  },3045  /**3046   * Lookup419: pallet_evm_contract_helpers::SponsoringModeT3047   **/3048  PalletEvmContractHelpersSponsoringModeT: {3049    _enum: ['Disabled', 'Allowlisted', 'Generous']3050  },3051  /**3052   * Lookup421: pallet_evm_contract_helpers::pallet::Error<T>3053   **/3054  PalletEvmContractHelpersError: {3055    _enum: ['NoPermission']3056  },3057  /**3058   * Lookup422: pallet_evm_migration::pallet::Error<T>3059   **/3060  PalletEvmMigrationError: {3061    _enum: ['AccountNotEmpty', 'AccountIsNotMigrating']3062  },3063  /**3064   * Lookup424: sp_runtime::MultiSignature3065   **/3066  SpRuntimeMultiSignature: {3067    _enum: {3068      Ed25519: 'SpCoreEd25519Signature',3069      Sr25519: 'SpCoreSr25519Signature',3070      Ecdsa: 'SpCoreEcdsaSignature'3071    }3072  },3073  /**3074   * Lookup425: sp_core::ed25519::Signature3075   **/3076  SpCoreEd25519Signature: '[u8;64]',3077  /**3078   * Lookup427: sp_core::sr25519::Signature3079   **/3080  SpCoreSr25519Signature: '[u8;64]',3081  /**3082   * Lookup428: sp_core::ecdsa::Signature3083   **/3084  SpCoreEcdsaSignature: '[u8;65]',3085  /**3086   * Lookup431: frame_system::extensions::check_spec_version::CheckSpecVersion<T>3087   **/3088  FrameSystemExtensionsCheckSpecVersion: 'Null',3089  /**3090   * Lookup432: frame_system::extensions::check_genesis::CheckGenesis<T>3091   **/3092  FrameSystemExtensionsCheckGenesis: 'Null',3093  /**3094   * Lookup435: frame_system::extensions::check_nonce::CheckNonce<T>3095   **/3096  FrameSystemExtensionsCheckNonce: 'Compact<u32>',3097  /**3098   * Lookup436: frame_system::extensions::check_weight::CheckWeight<T>3099   **/3100  FrameSystemExtensionsCheckWeight: 'Null',3101  /**3102   * Lookup437: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>3103   **/3104  PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',3105  /**3106   * Lookup438: opal_runtime::Runtime3107   **/3108  OpalRuntimeRuntime: 'Null',3109  /**3110   * Lookup439: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>3111   **/3112  PalletEthereumFakeTransactionFinalizer: 'Null'3113};
modifiedtests/src/interfaces/registry.tsdiffbeforeafterboth
--- a/tests/src/interfaces/registry.ts
+++ b/tests/src/interfaces/registry.ts
@@ -1,7 +1,7 @@
 // Auto-generated via `yarn polkadot-types-from-defs`, do not edit
 /* eslint-disable */
 
-import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportScheduleLookupError, FrameSupportScheduleMaybeHashed, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeOriginCaller, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEthereumRawOrigin, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletUnqSchedulerCall, PalletUnqSchedulerError, PalletUnqSchedulerEvent, PalletUnqSchedulerScheduledV3, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsNestingRule, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsRpcCollection, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportScheduleLookupError, FrameSupportScheduleMaybeHashed, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeOriginCaller, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEthereumRawOrigin, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletUnqSchedulerCall, PalletUnqSchedulerError, PalletUnqSchedulerEvent, PalletUnqSchedulerScheduledV3, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsRpcCollection, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
 
 declare module '@polkadot/types/types/registry' {
   export interface InterfaceTypes {
@@ -196,7 +196,8 @@
     UpDataStructsCreateNftExData: UpDataStructsCreateNftExData;
     UpDataStructsCreateReFungibleData: UpDataStructsCreateReFungibleData;
     UpDataStructsCreateRefungibleExData: UpDataStructsCreateRefungibleExData;
-    UpDataStructsNestingRule: UpDataStructsNestingRule;
+    UpDataStructsNestingPermissions: UpDataStructsNestingPermissions;
+    UpDataStructsOwnerRestrictedSet: UpDataStructsOwnerRestrictedSet;
     UpDataStructsProperties: UpDataStructsProperties;
     UpDataStructsPropertiesMapBoundedVec: UpDataStructsPropertiesMapBoundedVec;
     UpDataStructsPropertiesMapPropertyPermission: UpDataStructsPropertiesMapPropertyPermission;
modifiedtests/src/interfaces/types-lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/types-lookup.ts
+++ b/tests/src/interfaces/types-lookup.ts
@@ -1556,38 +1556,40 @@
   export interface UpDataStructsCollectionPermissions extends Struct {
     readonly access: Option<UpDataStructsAccessMode>;
     readonly mintMode: Option<bool>;
-    readonly nesting: Option<UpDataStructsNestingRule>;
+    readonly nesting: Option<UpDataStructsNestingPermissions>;
   }
 
-  /** @name UpDataStructsNestingRule (169) */
-  export interface UpDataStructsNestingRule extends Enum {
-    readonly isDisabled: boolean;
-    readonly isOwner: boolean;
-    readonly isOwnerRestricted: boolean;
-    readonly asOwnerRestricted: BTreeSet<u32>;
-    readonly type: 'Disabled' | 'Owner' | 'OwnerRestricted';
+  /** @name UpDataStructsNestingPermissions (169) */
+  export interface UpDataStructsNestingPermissions extends Struct {
+    readonly tokenOwner: bool;
+    readonly admin: bool;
+    readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;
+    readonly permissive: bool;
   }
 
-  /** @name UpDataStructsPropertyKeyPermission (175) */
+  /** @name UpDataStructsOwnerRestrictedSet (171) */
+  export interface UpDataStructsOwnerRestrictedSet extends BTreeSet<u32> {}
+
+  /** @name UpDataStructsPropertyKeyPermission (177) */
   export interface UpDataStructsPropertyKeyPermission extends Struct {
     readonly key: Bytes;
     readonly permission: UpDataStructsPropertyPermission;
   }
 
-  /** @name UpDataStructsPropertyPermission (177) */
+  /** @name UpDataStructsPropertyPermission (179) */
   export interface UpDataStructsPropertyPermission extends Struct {
     readonly mutable: bool;
     readonly collectionAdmin: bool;
     readonly tokenOwner: bool;
   }
 
-  /** @name UpDataStructsProperty (180) */
+  /** @name UpDataStructsProperty (182) */
   export interface UpDataStructsProperty extends Struct {
     readonly key: Bytes;
     readonly value: Bytes;
   }
 
-  /** @name PalletEvmAccountBasicCrossAccountIdRepr (183) */
+  /** @name PalletEvmAccountBasicCrossAccountIdRepr (185) */
   export interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {
     readonly isSubstrate: boolean;
     readonly asSubstrate: AccountId32;
@@ -1596,7 +1598,7 @@
     readonly type: 'Substrate' | 'Ethereum';
   }
 
-  /** @name UpDataStructsCreateItemData (185) */
+  /** @name UpDataStructsCreateItemData (187) */
   export interface UpDataStructsCreateItemData extends Enum {
     readonly isNft: boolean;
     readonly asNft: UpDataStructsCreateNftData;
@@ -1607,23 +1609,23 @@
     readonly type: 'Nft' | 'Fungible' | 'ReFungible';
   }
 
-  /** @name UpDataStructsCreateNftData (186) */
+  /** @name UpDataStructsCreateNftData (188) */
   export interface UpDataStructsCreateNftData extends Struct {
     readonly properties: Vec<UpDataStructsProperty>;
   }
 
-  /** @name UpDataStructsCreateFungibleData (187) */
+  /** @name UpDataStructsCreateFungibleData (189) */
   export interface UpDataStructsCreateFungibleData extends Struct {
     readonly value: u128;
   }
 
-  /** @name UpDataStructsCreateReFungibleData (188) */
+  /** @name UpDataStructsCreateReFungibleData (190) */
   export interface UpDataStructsCreateReFungibleData extends Struct {
     readonly constData: Bytes;
     readonly pieces: u128;
   }
 
-  /** @name UpDataStructsCreateItemExData (193) */
+  /** @name UpDataStructsCreateItemExData (195) */
   export interface UpDataStructsCreateItemExData extends Enum {
     readonly isNft: boolean;
     readonly asNft: Vec<UpDataStructsCreateNftExData>;
@@ -1636,19 +1638,19 @@
     readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';
   }
 
-  /** @name UpDataStructsCreateNftExData (195) */
+  /** @name UpDataStructsCreateNftExData (197) */
   export interface UpDataStructsCreateNftExData extends Struct {
     readonly properties: Vec<UpDataStructsProperty>;
     readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
   }
 
-  /** @name UpDataStructsCreateRefungibleExData (202) */
+  /** @name UpDataStructsCreateRefungibleExData (204) */
   export interface UpDataStructsCreateRefungibleExData extends Struct {
     readonly constData: Bytes;
     readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;
   }
 
-  /** @name PalletUnqSchedulerCall (204) */
+  /** @name PalletUnqSchedulerCall (206) */
   export interface PalletUnqSchedulerCall extends Enum {
     readonly isScheduleNamed: boolean;
     readonly asScheduleNamed: {
@@ -1673,7 +1675,7 @@
     readonly type: 'ScheduleNamed' | 'CancelNamed' | 'ScheduleNamedAfter';
   }
 
-  /** @name FrameSupportScheduleMaybeHashed (206) */
+  /** @name FrameSupportScheduleMaybeHashed (208) */
   export interface FrameSupportScheduleMaybeHashed extends Enum {
     readonly isValue: boolean;
     readonly asValue: Call;
@@ -1682,13 +1684,13 @@
     readonly type: 'Value' | 'Hash';
   }
 
-  /** @name PalletTemplateTransactionPaymentCall (207) */
+  /** @name PalletTemplateTransactionPaymentCall (209) */
   export type PalletTemplateTransactionPaymentCall = Null;
 
-  /** @name PalletStructureCall (208) */
+  /** @name PalletStructureCall (210) */
   export type PalletStructureCall = Null;
 
-  /** @name PalletRmrkCoreCall (209) */
+  /** @name PalletRmrkCoreCall (211) */
   export interface PalletRmrkCoreCall extends Enum {
     readonly isCreateCollection: boolean;
     readonly asCreateCollection: {
@@ -1793,7 +1795,7 @@
     readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'Send' | 'AcceptNft' | 'RejectNft' | 'AcceptResource' | 'AcceptResourceRemoval' | 'SetProperty' | 'SetPriority' | 'AddBasicResource' | 'AddComposableResource' | 'AddSlotResource' | 'RemoveResource';
   }
 
-  /** @name RmrkTraitsNftAccountIdOrCollectionNftTuple (213) */
+  /** @name RmrkTraitsNftAccountIdOrCollectionNftTuple (215) */
   export interface RmrkTraitsNftAccountIdOrCollectionNftTuple extends Enum {
     readonly isAccountId: boolean;
     readonly asAccountId: AccountId32;
@@ -1802,7 +1804,7 @@
     readonly type: 'AccountId' | 'CollectionAndNftTuple';
   }
 
-  /** @name RmrkTraitsResourceBasicResource (217) */
+  /** @name RmrkTraitsResourceBasicResource (219) */
   export interface RmrkTraitsResourceBasicResource extends Struct {
     readonly src: Option<Bytes>;
     readonly metadata: Option<Bytes>;
@@ -1810,7 +1812,7 @@
     readonly thumb: Option<Bytes>;
   }
 
-  /** @name RmrkTraitsResourceComposableResource (220) */
+  /** @name RmrkTraitsResourceComposableResource (222) */
   export interface RmrkTraitsResourceComposableResource extends Struct {
     readonly parts: Vec<u32>;
     readonly base: u32;
@@ -1820,7 +1822,7 @@
     readonly thumb: Option<Bytes>;
   }
 
-  /** @name RmrkTraitsResourceSlotResource (222) */
+  /** @name RmrkTraitsResourceSlotResource (224) */
   export interface RmrkTraitsResourceSlotResource extends Struct {
     readonly base: u32;
     readonly src: Option<Bytes>;
@@ -1830,7 +1832,7 @@
     readonly thumb: Option<Bytes>;
   }
 
-  /** @name PalletRmrkEquipCall (223) */
+  /** @name PalletRmrkEquipCall (225) */
   export interface PalletRmrkEquipCall extends Enum {
     readonly isCreateBase: boolean;
     readonly asCreateBase: {
@@ -1846,7 +1848,7 @@
     readonly type: 'CreateBase' | 'ThemeAdd';
   }
 
-  /** @name RmrkTraitsPartPartType (225) */
+  /** @name RmrkTraitsPartPartType (227) */
   export interface RmrkTraitsPartPartType extends Enum {
     readonly isFixedPart: boolean;
     readonly asFixedPart: RmrkTraitsPartFixedPart;
@@ -1855,14 +1857,14 @@
     readonly type: 'FixedPart' | 'SlotPart';
   }
 
-  /** @name RmrkTraitsPartFixedPart (227) */
+  /** @name RmrkTraitsPartFixedPart (229) */
   export interface RmrkTraitsPartFixedPart extends Struct {
     readonly id: u32;
     readonly z: u32;
     readonly src: Bytes;
   }
 
-  /** @name RmrkTraitsPartSlotPart (228) */
+  /** @name RmrkTraitsPartSlotPart (230) */
   export interface RmrkTraitsPartSlotPart extends Struct {
     readonly id: u32;
     readonly equippable: RmrkTraitsPartEquippableList;
@@ -1870,7 +1872,7 @@
     readonly z: u32;
   }
 
-  /** @name RmrkTraitsPartEquippableList (229) */
+  /** @name RmrkTraitsPartEquippableList (231) */
   export interface RmrkTraitsPartEquippableList extends Enum {
     readonly isAll: boolean;
     readonly isEmpty: boolean;
@@ -1879,20 +1881,20 @@
     readonly type: 'All' | 'Empty' | 'Custom';
   }
 
-  /** @name RmrkTraitsTheme (231) */
+  /** @name RmrkTraitsTheme (233) */
   export interface RmrkTraitsTheme extends Struct {
     readonly name: Bytes;
     readonly properties: Vec<RmrkTraitsThemeThemeProperty>;
     readonly inherit: bool;
   }
 
-  /** @name RmrkTraitsThemeThemeProperty (233) */
+  /** @name RmrkTraitsThemeThemeProperty (235) */
   export interface RmrkTraitsThemeThemeProperty extends Struct {
     readonly key: Bytes;
     readonly value: Bytes;
   }
 
-  /** @name PalletEvmCall (234) */
+  /** @name PalletEvmCall (236) */
   export interface PalletEvmCall extends Enum {
     readonly isWithdraw: boolean;
     readonly asWithdraw: {
@@ -1937,7 +1939,7 @@
     readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';
   }
 
-  /** @name PalletEthereumCall (240) */
+  /** @name PalletEthereumCall (242) */
   export interface PalletEthereumCall extends Enum {
     readonly isTransact: boolean;
     readonly asTransact: {
@@ -1946,7 +1948,7 @@
     readonly type: 'Transact';
   }
 
-  /** @name EthereumTransactionTransactionV2 (241) */
+  /** @name EthereumTransactionTransactionV2 (243) */
   export interface EthereumTransactionTransactionV2 extends Enum {
     readonly isLegacy: boolean;
     readonly asLegacy: EthereumTransactionLegacyTransaction;
@@ -1957,7 +1959,7 @@
     readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
   }
 
-  /** @name EthereumTransactionLegacyTransaction (242) */
+  /** @name EthereumTransactionLegacyTransaction (244) */
   export interface EthereumTransactionLegacyTransaction extends Struct {
     readonly nonce: U256;
     readonly gasPrice: U256;
@@ -1968,7 +1970,7 @@
     readonly signature: EthereumTransactionTransactionSignature;
   }
 
-  /** @name EthereumTransactionTransactionAction (243) */
+  /** @name EthereumTransactionTransactionAction (245) */
   export interface EthereumTransactionTransactionAction extends Enum {
     readonly isCall: boolean;
     readonly asCall: H160;
@@ -1976,14 +1978,14 @@
     readonly type: 'Call' | 'Create';
   }
 
-  /** @name EthereumTransactionTransactionSignature (244) */
+  /** @name EthereumTransactionTransactionSignature (246) */
   export interface EthereumTransactionTransactionSignature extends Struct {
     readonly v: u64;
     readonly r: H256;
     readonly s: H256;
   }
 
-  /** @name EthereumTransactionEip2930Transaction (246) */
+  /** @name EthereumTransactionEip2930Transaction (248) */
   export interface EthereumTransactionEip2930Transaction extends Struct {
     readonly chainId: u64;
     readonly nonce: U256;
@@ -1998,13 +2000,13 @@
     readonly s: H256;
   }
 
-  /** @name EthereumTransactionAccessListItem (248) */
+  /** @name EthereumTransactionAccessListItem (250) */
   export interface EthereumTransactionAccessListItem extends Struct {
     readonly address: H160;
     readonly storageKeys: Vec<H256>;
   }
 
-  /** @name EthereumTransactionEip1559Transaction (249) */
+  /** @name EthereumTransactionEip1559Transaction (251) */
   export interface EthereumTransactionEip1559Transaction extends Struct {
     readonly chainId: u64;
     readonly nonce: U256;
@@ -2020,7 +2022,7 @@
     readonly s: H256;
   }
 
-  /** @name PalletEvmMigrationCall (250) */
+  /** @name PalletEvmMigrationCall (252) */
   export interface PalletEvmMigrationCall extends Enum {
     readonly isBegin: boolean;
     readonly asBegin: {
@@ -2039,7 +2041,7 @@
     readonly type: 'Begin' | 'SetData' | 'Finish';
   }
 
-  /** @name PalletSudoEvent (253) */
+  /** @name PalletSudoEvent (255) */
   export interface PalletSudoEvent extends Enum {
     readonly isSudid: boolean;
     readonly asSudid: {
@@ -2056,7 +2058,7 @@
     readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';
   }
 
-  /** @name SpRuntimeDispatchError (255) */
+  /** @name SpRuntimeDispatchError (257) */
   export interface SpRuntimeDispatchError extends Enum {
     readonly isOther: boolean;
     readonly isCannotLookup: boolean;
@@ -2075,13 +2077,13 @@
     readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional';
   }
 
-  /** @name SpRuntimeModuleError (256) */
+  /** @name SpRuntimeModuleError (258) */
   export interface SpRuntimeModuleError extends Struct {
     readonly index: u8;
     readonly error: U8aFixed;
   }
 
-  /** @name SpRuntimeTokenError (257) */
+  /** @name SpRuntimeTokenError (259) */
   export interface SpRuntimeTokenError extends Enum {
     readonly isNoFunds: boolean;
     readonly isWouldDie: boolean;
@@ -2093,7 +2095,7 @@
     readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported';
   }
 
-  /** @name SpRuntimeArithmeticError (258) */
+  /** @name SpRuntimeArithmeticError (260) */
   export interface SpRuntimeArithmeticError extends Enum {
     readonly isUnderflow: boolean;
     readonly isOverflow: boolean;
@@ -2101,20 +2103,20 @@
     readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';
   }
 
-  /** @name SpRuntimeTransactionalError (259) */
+  /** @name SpRuntimeTransactionalError (261) */
   export interface SpRuntimeTransactionalError extends Enum {
     readonly isLimitReached: boolean;
     readonly isNoLayer: boolean;
     readonly type: 'LimitReached' | 'NoLayer';
   }
 
-  /** @name PalletSudoError (260) */
+  /** @name PalletSudoError (262) */
   export interface PalletSudoError extends Enum {
     readonly isRequireSudo: boolean;
     readonly type: 'RequireSudo';
   }
 
-  /** @name FrameSystemAccountInfo (261) */
+  /** @name FrameSystemAccountInfo (263) */
   export interface FrameSystemAccountInfo extends Struct {
     readonly nonce: u32;
     readonly consumers: u32;
@@ -2123,19 +2125,19 @@
     readonly data: PalletBalancesAccountData;
   }
 
-  /** @name FrameSupportWeightsPerDispatchClassU64 (262) */
+  /** @name FrameSupportWeightsPerDispatchClassU64 (264) */
   export interface FrameSupportWeightsPerDispatchClassU64 extends Struct {
     readonly normal: u64;
     readonly operational: u64;
     readonly mandatory: u64;
   }
 
-  /** @name SpRuntimeDigest (263) */
+  /** @name SpRuntimeDigest (265) */
   export interface SpRuntimeDigest extends Struct {
     readonly logs: Vec<SpRuntimeDigestDigestItem>;
   }
 
-  /** @name SpRuntimeDigestDigestItem (265) */
+  /** @name SpRuntimeDigestDigestItem (267) */
   export interface SpRuntimeDigestDigestItem extends Enum {
     readonly isOther: boolean;
     readonly asOther: Bytes;
@@ -2149,14 +2151,14 @@
     readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated';
   }
 
-  /** @name FrameSystemEventRecord (267) */
+  /** @name FrameSystemEventRecord (269) */
   export interface FrameSystemEventRecord extends Struct {
     readonly phase: FrameSystemPhase;
     readonly event: Event;
     readonly topics: Vec<H256>;
   }
 
-  /** @name FrameSystemEvent (269) */
+  /** @name FrameSystemEvent (271) */
   export interface FrameSystemEvent extends Enum {
     readonly isExtrinsicSuccess: boolean;
     readonly asExtrinsicSuccess: {
@@ -2184,14 +2186,14 @@
     readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked';
   }
 
-  /** @name FrameSupportWeightsDispatchInfo (270) */
+  /** @name FrameSupportWeightsDispatchInfo (272) */
   export interface FrameSupportWeightsDispatchInfo extends Struct {
     readonly weight: u64;
     readonly class: FrameSupportWeightsDispatchClass;
     readonly paysFee: FrameSupportWeightsPays;
   }
 
-  /** @name FrameSupportWeightsDispatchClass (271) */
+  /** @name FrameSupportWeightsDispatchClass (273) */
   export interface FrameSupportWeightsDispatchClass extends Enum {
     readonly isNormal: boolean;
     readonly isOperational: boolean;
@@ -2199,14 +2201,14 @@
     readonly type: 'Normal' | 'Operational' | 'Mandatory';
   }
 
-  /** @name FrameSupportWeightsPays (272) */
+  /** @name FrameSupportWeightsPays (274) */
   export interface FrameSupportWeightsPays extends Enum {
     readonly isYes: boolean;
     readonly isNo: boolean;
     readonly type: 'Yes' | 'No';
   }
 
-  /** @name OrmlVestingModuleEvent (273) */
+  /** @name OrmlVestingModuleEvent (275) */
   export interface OrmlVestingModuleEvent extends Enum {
     readonly isVestingScheduleAdded: boolean;
     readonly asVestingScheduleAdded: {
@@ -2226,7 +2228,7 @@
     readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';
   }
 
-  /** @name CumulusPalletXcmpQueueEvent (274) */
+  /** @name CumulusPalletXcmpQueueEvent (276) */
   export interface CumulusPalletXcmpQueueEvent extends Enum {
     readonly isSuccess: boolean;
     readonly asSuccess: Option<H256>;
@@ -2247,7 +2249,7 @@
     readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';
   }
 
-  /** @name PalletXcmEvent (275) */
+  /** @name PalletXcmEvent (277) */
   export interface PalletXcmEvent extends Enum {
     readonly isAttempted: boolean;
     readonly asAttempted: XcmV2TraitsOutcome;
@@ -2284,7 +2286,7 @@
     readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail';
   }
 
-  /** @name XcmV2TraitsOutcome (276) */
+  /** @name XcmV2TraitsOutcome (278) */
   export interface XcmV2TraitsOutcome extends Enum {
     readonly isComplete: boolean;
     readonly asComplete: u64;
@@ -2295,7 +2297,7 @@
     readonly type: 'Complete' | 'Incomplete' | 'Error';
   }
 
-  /** @name CumulusPalletXcmEvent (278) */
+  /** @name CumulusPalletXcmEvent (280) */
   export interface CumulusPalletXcmEvent extends Enum {
     readonly isInvalidFormat: boolean;
     readonly asInvalidFormat: U8aFixed;
@@ -2306,7 +2308,7 @@
     readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';
   }
 
-  /** @name CumulusPalletDmpQueueEvent (279) */
+  /** @name CumulusPalletDmpQueueEvent (281) */
   export interface CumulusPalletDmpQueueEvent extends Enum {
     readonly isInvalidFormat: boolean;
     readonly asInvalidFormat: U8aFixed;
@@ -2323,7 +2325,7 @@
     readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';
   }
 
-  /** @name PalletUniqueRawEvent (280) */
+  /** @name PalletUniqueRawEvent (282) */
   export interface PalletUniqueRawEvent extends Enum {
     readonly isCollectionSponsorRemoved: boolean;
     readonly asCollectionSponsorRemoved: u32;
@@ -2348,7 +2350,7 @@
     readonly type: 'CollectionSponsorRemoved' | 'CollectionAdminAdded' | 'CollectionOwnedChanged' | 'CollectionSponsorSet' | 'SponsorshipConfirmed' | 'CollectionAdminRemoved' | 'AllowListAddressRemoved' | 'AllowListAddressAdded' | 'CollectionLimitSet' | 'CollectionPermissionSet';
   }
 
-  /** @name PalletUnqSchedulerEvent (281) */
+  /** @name PalletUnqSchedulerEvent (283) */
   export interface PalletUnqSchedulerEvent extends Enum {
     readonly isScheduled: boolean;
     readonly asScheduled: {
@@ -2375,14 +2377,14 @@
     readonly type: 'Scheduled' | 'Canceled' | 'Dispatched' | 'CallLookupFailed';
   }
 
-  /** @name FrameSupportScheduleLookupError (283) */
+  /** @name FrameSupportScheduleLookupError (285) */
   export interface FrameSupportScheduleLookupError extends Enum {
     readonly isUnknown: boolean;
     readonly isBadFormat: boolean;
     readonly type: 'Unknown' | 'BadFormat';
   }
 
-  /** @name PalletCommonEvent (284) */
+  /** @name PalletCommonEvent (286) */
   export interface PalletCommonEvent extends Enum {
     readonly isCollectionCreated: boolean;
     readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;
@@ -2409,14 +2411,14 @@
     readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet';
   }
 
-  /** @name PalletStructureEvent (285) */
+  /** @name PalletStructureEvent (287) */
   export interface PalletStructureEvent extends Enum {
     readonly isExecuted: boolean;
     readonly asExecuted: Result<Null, SpRuntimeDispatchError>;
     readonly type: 'Executed';
   }
 
-  /** @name PalletRmrkCoreEvent (286) */
+  /** @name PalletRmrkCoreEvent (288) */
   export interface PalletRmrkCoreEvent extends Enum {
     readonly isCollectionCreated: boolean;
     readonly asCollectionCreated: {
@@ -2506,7 +2508,7 @@
     readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'NftSent' | 'NftAccepted' | 'NftRejected' | 'PropertySet' | 'ResourceAdded' | 'ResourceRemoval' | 'ResourceAccepted' | 'ResourceRemovalAccepted' | 'PrioritySet';
   }
 
-  /** @name PalletRmrkEquipEvent (287) */
+  /** @name PalletRmrkEquipEvent (289) */
   export interface PalletRmrkEquipEvent extends Enum {
     readonly isBaseCreated: boolean;
     readonly asBaseCreated: {
@@ -2516,7 +2518,7 @@
     readonly type: 'BaseCreated';
   }
 
-  /** @name PalletEvmEvent (288) */
+  /** @name PalletEvmEvent (290) */
   export interface PalletEvmEvent extends Enum {
     readonly isLog: boolean;
     readonly asLog: EthereumLog;
@@ -2535,21 +2537,21 @@
     readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed' | 'BalanceDeposit' | 'BalanceWithdraw';
   }
 
-  /** @name EthereumLog (289) */
+  /** @name EthereumLog (291) */
   export interface EthereumLog extends Struct {
     readonly address: H160;
     readonly topics: Vec<H256>;
     readonly data: Bytes;
   }
 
-  /** @name PalletEthereumEvent (290) */
+  /** @name PalletEthereumEvent (292) */
   export interface PalletEthereumEvent extends Enum {
     readonly isExecuted: boolean;
     readonly asExecuted: ITuple<[H160, H160, H256, EvmCoreErrorExitReason]>;
     readonly type: 'Executed';
   }
 
-  /** @name EvmCoreErrorExitReason (291) */
+  /** @name EvmCoreErrorExitReason (293) */
   export interface EvmCoreErrorExitReason extends Enum {
     readonly isSucceed: boolean;
     readonly asSucceed: EvmCoreErrorExitSucceed;
@@ -2562,7 +2564,7 @@
     readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';
   }
 
-  /** @name EvmCoreErrorExitSucceed (292) */
+  /** @name EvmCoreErrorExitSucceed (294) */
   export interface EvmCoreErrorExitSucceed extends Enum {
     readonly isStopped: boolean;
     readonly isReturned: boolean;
@@ -2570,7 +2572,7 @@
     readonly type: 'Stopped' | 'Returned' | 'Suicided';
   }
 
-  /** @name EvmCoreErrorExitError (293) */
+  /** @name EvmCoreErrorExitError (295) */
   export interface EvmCoreErrorExitError extends Enum {
     readonly isStackUnderflow: boolean;
     readonly isStackOverflow: boolean;
@@ -2591,13 +2593,13 @@
     readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';
   }
 
-  /** @name EvmCoreErrorExitRevert (296) */
+  /** @name EvmCoreErrorExitRevert (298) */
   export interface EvmCoreErrorExitRevert extends Enum {
     readonly isReverted: boolean;
     readonly type: 'Reverted';
   }
 
-  /** @name EvmCoreErrorExitFatal (297) */
+  /** @name EvmCoreErrorExitFatal (299) */
   export interface EvmCoreErrorExitFatal extends Enum {
     readonly isNotSupported: boolean;
     readonly isUnhandledInterrupt: boolean;
@@ -2608,7 +2610,7 @@
     readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';
   }
 
-  /** @name FrameSystemPhase (298) */
+  /** @name FrameSystemPhase (300) */
   export interface FrameSystemPhase extends Enum {
     readonly isApplyExtrinsic: boolean;
     readonly asApplyExtrinsic: u32;
@@ -2617,27 +2619,27 @@
     readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';
   }
 
-  /** @name FrameSystemLastRuntimeUpgradeInfo (300) */
+  /** @name FrameSystemLastRuntimeUpgradeInfo (302) */
   export interface FrameSystemLastRuntimeUpgradeInfo extends Struct {
     readonly specVersion: Compact<u32>;
     readonly specName: Text;
   }
 
-  /** @name FrameSystemLimitsBlockWeights (301) */
+  /** @name FrameSystemLimitsBlockWeights (303) */
   export interface FrameSystemLimitsBlockWeights extends Struct {
     readonly baseBlock: u64;
     readonly maxBlock: u64;
     readonly perClass: FrameSupportWeightsPerDispatchClassWeightsPerClass;
   }
 
-  /** @name FrameSupportWeightsPerDispatchClassWeightsPerClass (302) */
+  /** @name FrameSupportWeightsPerDispatchClassWeightsPerClass (304) */
   export interface FrameSupportWeightsPerDispatchClassWeightsPerClass extends Struct {
     readonly normal: FrameSystemLimitsWeightsPerClass;
     readonly operational: FrameSystemLimitsWeightsPerClass;
     readonly mandatory: FrameSystemLimitsWeightsPerClass;
   }
 
-  /** @name FrameSystemLimitsWeightsPerClass (303) */
+  /** @name FrameSystemLimitsWeightsPerClass (305) */
   export interface FrameSystemLimitsWeightsPerClass extends Struct {
     readonly baseExtrinsic: u64;
     readonly maxExtrinsic: Option<u64>;
@@ -2645,25 +2647,25 @@
     readonly reserved: Option<u64>;
   }
 
-  /** @name FrameSystemLimitsBlockLength (305) */
+  /** @name FrameSystemLimitsBlockLength (307) */
   export interface FrameSystemLimitsBlockLength extends Struct {
     readonly max: FrameSupportWeightsPerDispatchClassU32;
   }
 
-  /** @name FrameSupportWeightsPerDispatchClassU32 (306) */
+  /** @name FrameSupportWeightsPerDispatchClassU32 (308) */
   export interface FrameSupportWeightsPerDispatchClassU32 extends Struct {
     readonly normal: u32;
     readonly operational: u32;
     readonly mandatory: u32;
   }
 
-  /** @name FrameSupportWeightsRuntimeDbWeight (307) */
+  /** @name FrameSupportWeightsRuntimeDbWeight (309) */
   export interface FrameSupportWeightsRuntimeDbWeight extends Struct {
     readonly read: u64;
     readonly write: u64;
   }
 
-  /** @name SpVersionRuntimeVersion (308) */
+  /** @name SpVersionRuntimeVersion (310) */
   export interface SpVersionRuntimeVersion extends Struct {
     readonly specName: Text;
     readonly implName: Text;
@@ -2675,7 +2677,7 @@
     readonly stateVersion: u8;
   }
 
-  /** @name FrameSystemError (312) */
+  /** @name FrameSystemError (314) */
   export interface FrameSystemError extends Enum {
     readonly isInvalidSpecName: boolean;
     readonly isSpecVersionNeedsToIncrease: boolean;
@@ -2686,7 +2688,7 @@
     readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';
   }
 
-  /** @name OrmlVestingModuleError (314) */
+  /** @name OrmlVestingModuleError (316) */
   export interface OrmlVestingModuleError extends Enum {
     readonly isZeroVestingPeriod: boolean;
     readonly isZeroVestingPeriodCount: boolean;
@@ -2697,21 +2699,21 @@
     readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';
   }
 
-  /** @name CumulusPalletXcmpQueueInboundChannelDetails (316) */
+  /** @name CumulusPalletXcmpQueueInboundChannelDetails (318) */
   export interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {
     readonly sender: u32;
     readonly state: CumulusPalletXcmpQueueInboundState;
     readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;
   }
 
-  /** @name CumulusPalletXcmpQueueInboundState (317) */
+  /** @name CumulusPalletXcmpQueueInboundState (319) */
   export interface CumulusPalletXcmpQueueInboundState extends Enum {
     readonly isOk: boolean;
     readonly isSuspended: boolean;
     readonly type: 'Ok' | 'Suspended';
   }
 
-  /** @name PolkadotParachainPrimitivesXcmpMessageFormat (320) */
+  /** @name PolkadotParachainPrimitivesXcmpMessageFormat (322) */
   export interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {
     readonly isConcatenatedVersionedXcm: boolean;
     readonly isConcatenatedEncodedBlob: boolean;
@@ -2719,7 +2721,7 @@
     readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';
   }
 
-  /** @name CumulusPalletXcmpQueueOutboundChannelDetails (323) */
+  /** @name CumulusPalletXcmpQueueOutboundChannelDetails (325) */
   export interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {
     readonly recipient: u32;
     readonly state: CumulusPalletXcmpQueueOutboundState;
@@ -2728,14 +2730,14 @@
     readonly lastIndex: u16;
   }
 
-  /** @name CumulusPalletXcmpQueueOutboundState (324) */
+  /** @name CumulusPalletXcmpQueueOutboundState (326) */
   export interface CumulusPalletXcmpQueueOutboundState extends Enum {
     readonly isOk: boolean;
     readonly isSuspended: boolean;
     readonly type: 'Ok' | 'Suspended';
   }
 
-  /** @name CumulusPalletXcmpQueueQueueConfigData (326) */
+  /** @name CumulusPalletXcmpQueueQueueConfigData (328) */
   export interface CumulusPalletXcmpQueueQueueConfigData extends Struct {
     readonly suspendThreshold: u32;
     readonly dropThreshold: u32;
@@ -2745,7 +2747,7 @@
     readonly xcmpMaxIndividualWeight: u64;
   }
 
-  /** @name CumulusPalletXcmpQueueError (328) */
+  /** @name CumulusPalletXcmpQueueError (330) */
   export interface CumulusPalletXcmpQueueError extends Enum {
     readonly isFailedToSend: boolean;
     readonly isBadXcmOrigin: boolean;
@@ -2755,7 +2757,7 @@
     readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';
   }
 
-  /** @name PalletXcmError (329) */
+  /** @name PalletXcmError (331) */
   export interface PalletXcmError extends Enum {
     readonly isUnreachable: boolean;
     readonly isSendFailure: boolean;
@@ -2773,29 +2775,29 @@
     readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';
   }
 
-  /** @name CumulusPalletXcmError (330) */
+  /** @name CumulusPalletXcmError (332) */
   export type CumulusPalletXcmError = Null;
 
-  /** @name CumulusPalletDmpQueueConfigData (331) */
+  /** @name CumulusPalletDmpQueueConfigData (333) */
   export interface CumulusPalletDmpQueueConfigData extends Struct {
     readonly maxIndividual: u64;
   }
 
-  /** @name CumulusPalletDmpQueuePageIndexData (332) */
+  /** @name CumulusPalletDmpQueuePageIndexData (334) */
   export interface CumulusPalletDmpQueuePageIndexData extends Struct {
     readonly beginUsed: u32;
     readonly endUsed: u32;
     readonly overweightCount: u64;
   }
 
-  /** @name CumulusPalletDmpQueueError (335) */
+  /** @name CumulusPalletDmpQueueError (337) */
   export interface CumulusPalletDmpQueueError extends Enum {
     readonly isUnknown: boolean;
     readonly isOverLimit: boolean;
     readonly type: 'Unknown' | 'OverLimit';
   }
 
-  /** @name PalletUniqueError (339) */
+  /** @name PalletUniqueError (341) */
   export interface PalletUniqueError extends Enum {
     readonly isCollectionDecimalPointLimitExceeded: boolean;
     readonly isConfirmUnsetSponsorFail: boolean;
@@ -2803,7 +2805,7 @@
     readonly type: 'CollectionDecimalPointLimitExceeded' | 'ConfirmUnsetSponsorFail' | 'EmptyArgument';
   }
 
-  /** @name PalletUnqSchedulerScheduledV3 (342) */
+  /** @name PalletUnqSchedulerScheduledV3 (344) */
   export interface PalletUnqSchedulerScheduledV3 extends Struct {
     readonly maybeId: Option<U8aFixed>;
     readonly priority: u8;
@@ -2812,7 +2814,7 @@
     readonly origin: OpalRuntimeOriginCaller;
   }
 
-  /** @name OpalRuntimeOriginCaller (343) */
+  /** @name OpalRuntimeOriginCaller (345) */
   export interface OpalRuntimeOriginCaller extends Enum {
     readonly isVoid: boolean;
     readonly isSystem: boolean;
@@ -2826,7 +2828,7 @@
     readonly type: 'Void' | 'System' | 'PolkadotXcm' | 'CumulusXcm' | 'Ethereum';
   }
 
-  /** @name FrameSupportDispatchRawOrigin (344) */
+  /** @name FrameSupportDispatchRawOrigin (346) */
   export interface FrameSupportDispatchRawOrigin extends Enum {
     readonly isRoot: boolean;
     readonly isSigned: boolean;
@@ -2835,7 +2837,7 @@
     readonly type: 'Root' | 'Signed' | 'None';
   }
 
-  /** @name PalletXcmOrigin (345) */
+  /** @name PalletXcmOrigin (347) */
   export interface PalletXcmOrigin extends Enum {
     readonly isXcm: boolean;
     readonly asXcm: XcmV1MultiLocation;
@@ -2844,7 +2846,7 @@
     readonly type: 'Xcm' | 'Response';
   }
 
-  /** @name CumulusPalletXcmOrigin (346) */
+  /** @name CumulusPalletXcmOrigin (348) */
   export interface CumulusPalletXcmOrigin extends Enum {
     readonly isRelay: boolean;
     readonly isSiblingParachain: boolean;
@@ -2852,17 +2854,17 @@
     readonly type: 'Relay' | 'SiblingParachain';
   }
 
-  /** @name PalletEthereumRawOrigin (347) */
+  /** @name PalletEthereumRawOrigin (349) */
   export interface PalletEthereumRawOrigin extends Enum {
     readonly isEthereumTransaction: boolean;
     readonly asEthereumTransaction: H160;
     readonly type: 'EthereumTransaction';
   }
 
-  /** @name SpCoreVoid (348) */
+  /** @name SpCoreVoid (350) */
   export type SpCoreVoid = Null;
 
-  /** @name PalletUnqSchedulerError (349) */
+  /** @name PalletUnqSchedulerError (351) */
   export interface PalletUnqSchedulerError extends Enum {
     readonly isFailedToSchedule: boolean;
     readonly isNotFound: boolean;
@@ -2871,7 +2873,7 @@
     readonly type: 'FailedToSchedule' | 'NotFound' | 'TargetBlockNumberInPast' | 'RescheduleNoChange';
   }
 
-  /** @name UpDataStructsCollection (350) */
+  /** @name UpDataStructsCollection (352) */
   export interface UpDataStructsCollection extends Struct {
     readonly owner: AccountId32;
     readonly mode: UpDataStructsCollectionMode;
@@ -2884,7 +2886,7 @@
     readonly externalCollection: bool;
   }
 
-  /** @name UpDataStructsSponsorshipState (351) */
+  /** @name UpDataStructsSponsorshipState (353) */
   export interface UpDataStructsSponsorshipState extends Enum {
     readonly isDisabled: boolean;
     readonly isUnconfirmed: boolean;
@@ -2894,42 +2896,42 @@
     readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
   }
 
-  /** @name UpDataStructsProperties (352) */
+  /** @name UpDataStructsProperties (354) */
   export interface UpDataStructsProperties extends Struct {
     readonly map: UpDataStructsPropertiesMapBoundedVec;
     readonly consumedSpace: u32;
     readonly spaceLimit: u32;
   }
 
-  /** @name UpDataStructsPropertiesMapBoundedVec (353) */
+  /** @name UpDataStructsPropertiesMapBoundedVec (355) */
   export interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}
 
-  /** @name UpDataStructsPropertiesMapPropertyPermission (358) */
+  /** @name UpDataStructsPropertiesMapPropertyPermission (360) */
   export interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}
 
-  /** @name UpDataStructsCollectionStats (365) */
+  /** @name UpDataStructsCollectionStats (367) */
   export interface UpDataStructsCollectionStats extends Struct {
     readonly created: u32;
     readonly destroyed: u32;
     readonly alive: u32;
   }
 
-  /** @name UpDataStructsTokenChild (366) */
+  /** @name UpDataStructsTokenChild (368) */
   export interface UpDataStructsTokenChild extends Struct {
     readonly token: u32;
     readonly collection: u32;
   }
 
-  /** @name PhantomTypeUpDataStructs (367) */
+  /** @name PhantomTypeUpDataStructs (369) */
   export interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftNftInfo, RmrkTraitsResourceResourceInfo, RmrkTraitsPropertyPropertyInfo, RmrkTraitsBaseBaseInfo, RmrkTraitsPartPartType, RmrkTraitsTheme, RmrkTraitsNftNftChild]>> {}
 
-  /** @name UpDataStructsTokenData (369) */
+  /** @name UpDataStructsTokenData (371) */
   export interface UpDataStructsTokenData extends Struct {
     readonly properties: Vec<UpDataStructsProperty>;
     readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;
   }
 
-  /** @name UpDataStructsRpcCollection (371) */
+  /** @name UpDataStructsRpcCollection (373) */
   export interface UpDataStructsRpcCollection extends Struct {
     readonly owner: AccountId32;
     readonly mode: UpDataStructsCollectionMode;
@@ -2944,7 +2946,7 @@
     readonly readOnly: bool;
   }
 
-  /** @name RmrkTraitsCollectionCollectionInfo (372) */
+  /** @name RmrkTraitsCollectionCollectionInfo (374) */
   export interface RmrkTraitsCollectionCollectionInfo extends Struct {
     readonly issuer: AccountId32;
     readonly metadata: Bytes;
@@ -2953,7 +2955,7 @@
     readonly nftsCount: u32;
   }
 
-  /** @name RmrkTraitsNftNftInfo (373) */
+  /** @name RmrkTraitsNftNftInfo (375) */
   export interface RmrkTraitsNftNftInfo extends Struct {
     readonly owner: RmrkTraitsNftAccountIdOrCollectionNftTuple;
     readonly royalty: Option<RmrkTraitsNftRoyaltyInfo>;
@@ -2962,13 +2964,13 @@
     readonly pending: bool;
   }
 
-  /** @name RmrkTraitsNftRoyaltyInfo (375) */
+  /** @name RmrkTraitsNftRoyaltyInfo (377) */
   export interface RmrkTraitsNftRoyaltyInfo extends Struct {
     readonly recipient: AccountId32;
     readonly amount: Permill;
   }
 
-  /** @name RmrkTraitsResourceResourceInfo (376) */
+  /** @name RmrkTraitsResourceResourceInfo (378) */
   export interface RmrkTraitsResourceResourceInfo extends Struct {
     readonly id: u32;
     readonly resource: RmrkTraitsResourceResourceTypes;
@@ -2976,7 +2978,7 @@
     readonly pendingRemoval: bool;
   }
 
-  /** @name RmrkTraitsResourceResourceTypes (377) */
+  /** @name RmrkTraitsResourceResourceTypes (379) */
   export interface RmrkTraitsResourceResourceTypes extends Enum {
     readonly isBasic: boolean;
     readonly asBasic: RmrkTraitsResourceBasicResource;
@@ -2987,26 +2989,26 @@
     readonly type: 'Basic' | 'Composable' | 'Slot';
   }
 
-  /** @name RmrkTraitsPropertyPropertyInfo (378) */
+  /** @name RmrkTraitsPropertyPropertyInfo (380) */
   export interface RmrkTraitsPropertyPropertyInfo extends Struct {
     readonly key: Bytes;
     readonly value: Bytes;
   }
 
-  /** @name RmrkTraitsBaseBaseInfo (379) */
+  /** @name RmrkTraitsBaseBaseInfo (381) */
   export interface RmrkTraitsBaseBaseInfo extends Struct {
     readonly issuer: AccountId32;
     readonly baseType: Bytes;
     readonly symbol: Bytes;
   }
 
-  /** @name RmrkTraitsNftNftChild (380) */
+  /** @name RmrkTraitsNftNftChild (382) */
   export interface RmrkTraitsNftNftChild extends Struct {
     readonly collectionId: u32;
     readonly nftId: u32;
   }
 
-  /** @name PalletCommonError (382) */
+  /** @name PalletCommonError (384) */
   export interface PalletCommonError extends Enum {
     readonly isCollectionNotFound: boolean;
     readonly isMustBeTokenOwner: boolean;
@@ -3032,8 +3034,7 @@
     readonly isAddressIsZero: boolean;
     readonly isUnsupportedOperation: boolean;
     readonly isNotSufficientFounds: boolean;
-    readonly isNestingIsDisabled: boolean;
-    readonly isOnlyOwnerAllowedToNest: boolean;
+    readonly isUserIsNotAllowedToNest: boolean;
     readonly isSourceCollectionIsNotAllowedToNest: boolean;
     readonly isCollectionFieldSizeExceeded: boolean;
     readonly isNoSpaceForProperty: boolean;
@@ -3043,10 +3044,10 @@
     readonly isEmptyPropertyKey: boolean;
     readonly isCollectionIsExternal: boolean;
     readonly isCollectionIsInternal: boolean;
-    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' | 'NestingIsDisabled' | 'OnlyOwnerAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey' | 'CollectionIsExternal' | 'CollectionIsInternal';
+    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';
   }
 
-  /** @name PalletFungibleError (384) */
+  /** @name PalletFungibleError (386) */
   export interface PalletFungibleError extends Enum {
     readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;
     readonly isFungibleItemsHaveNoId: boolean;
@@ -3056,12 +3057,12 @@
     readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
   }
 
-  /** @name PalletRefungibleItemData (385) */
+  /** @name PalletRefungibleItemData (387) */
   export interface PalletRefungibleItemData extends Struct {
     readonly constData: Bytes;
   }
 
-  /** @name PalletRefungibleError (389) */
+  /** @name PalletRefungibleError (391) */
   export interface PalletRefungibleError extends Enum {
     readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;
     readonly isWrongRefungiblePieces: boolean;
@@ -3070,12 +3071,12 @@
     readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
   }
 
-  /** @name PalletNonfungibleItemData (390) */
+  /** @name PalletNonfungibleItemData (392) */
   export interface PalletNonfungibleItemData extends Struct {
     readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
   }
 
-  /** @name PalletNonfungibleError (392) */
+  /** @name PalletNonfungibleError (394) */
   export interface PalletNonfungibleError extends Enum {
     readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;
     readonly isNonfungibleItemsHaveNoAmount: boolean;
@@ -3083,15 +3084,16 @@
     readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';
   }
 
-  /** @name PalletStructureError (393) */
+  /** @name PalletStructureError (395) */
   export interface PalletStructureError extends Enum {
     readonly isOuroborosDetected: boolean;
     readonly isDepthLimit: boolean;
+    readonly isBreadthLimit: boolean;
     readonly isTokenNotFound: boolean;
-    readonly type: 'OuroborosDetected' | 'DepthLimit' | 'TokenNotFound';
+    readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound';
   }
 
-  /** @name PalletRmrkCoreError (394) */
+  /** @name PalletRmrkCoreError (396) */
   export interface PalletRmrkCoreError extends Enum {
     readonly isCorruptedCollectionType: boolean;
     readonly isNftTypeEncodeError: boolean;
@@ -3112,7 +3114,7 @@
     readonly type: 'CorruptedCollectionType' | 'NftTypeEncodeError' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'ResourceNotPending';
   }
 
-  /** @name PalletRmrkEquipError (396) */
+  /** @name PalletRmrkEquipError (398) */
   export interface PalletRmrkEquipError extends Enum {
     readonly isPermissionError: boolean;
     readonly isNoAvailableBaseId: boolean;
@@ -3122,7 +3124,7 @@
     readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst';
   }
 
-  /** @name PalletEvmError (399) */
+  /** @name PalletEvmError (401) */
   export interface PalletEvmError extends Enum {
     readonly isBalanceLow: boolean;
     readonly isFeeOverflow: boolean;
@@ -3133,7 +3135,7 @@
     readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce';
   }
 
-  /** @name FpRpcTransactionStatus (402) */
+  /** @name FpRpcTransactionStatus (404) */
   export interface FpRpcTransactionStatus extends Struct {
     readonly transactionHash: H256;
     readonly transactionIndex: u32;
@@ -3144,10 +3146,10 @@
     readonly logsBloom: EthbloomBloom;
   }
 
-  /** @name EthbloomBloom (404) */
+  /** @name EthbloomBloom (406) */
   export interface EthbloomBloom extends U8aFixed {}
 
-  /** @name EthereumReceiptReceiptV3 (406) */
+  /** @name EthereumReceiptReceiptV3 (408) */
   export interface EthereumReceiptReceiptV3 extends Enum {
     readonly isLegacy: boolean;
     readonly asLegacy: EthereumReceiptEip658ReceiptData;
@@ -3158,7 +3160,7 @@
     readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
   }
 
-  /** @name EthereumReceiptEip658ReceiptData (407) */
+  /** @name EthereumReceiptEip658ReceiptData (409) */
   export interface EthereumReceiptEip658ReceiptData extends Struct {
     readonly statusCode: u8;
     readonly usedGas: U256;
@@ -3166,14 +3168,14 @@
     readonly logs: Vec<EthereumLog>;
   }
 
-  /** @name EthereumBlock (408) */
+  /** @name EthereumBlock (410) */
   export interface EthereumBlock extends Struct {
     readonly header: EthereumHeader;
     readonly transactions: Vec<EthereumTransactionTransactionV2>;
     readonly ommers: Vec<EthereumHeader>;
   }
 
-  /** @name EthereumHeader (409) */
+  /** @name EthereumHeader (411) */
   export interface EthereumHeader extends Struct {
     readonly parentHash: H256;
     readonly ommersHash: H256;
@@ -3192,24 +3194,24 @@
     readonly nonce: EthereumTypesHashH64;
   }
 
-  /** @name EthereumTypesHashH64 (410) */
+  /** @name EthereumTypesHashH64 (412) */
   export interface EthereumTypesHashH64 extends U8aFixed {}
 
-  /** @name PalletEthereumError (415) */
+  /** @name PalletEthereumError (417) */
   export interface PalletEthereumError extends Enum {
     readonly isInvalidSignature: boolean;
     readonly isPreLogExists: boolean;
     readonly type: 'InvalidSignature' | 'PreLogExists';
   }
 
-  /** @name PalletEvmCoderSubstrateError (416) */
+  /** @name PalletEvmCoderSubstrateError (418) */
   export interface PalletEvmCoderSubstrateError extends Enum {
     readonly isOutOfGas: boolean;
     readonly isOutOfFund: boolean;
     readonly type: 'OutOfGas' | 'OutOfFund';
   }
 
-  /** @name PalletEvmContractHelpersSponsoringModeT (417) */
+  /** @name PalletEvmContractHelpersSponsoringModeT (419) */
   export interface PalletEvmContractHelpersSponsoringModeT extends Enum {
     readonly isDisabled: boolean;
     readonly isAllowlisted: boolean;
@@ -3217,20 +3219,20 @@
     readonly type: 'Disabled' | 'Allowlisted' | 'Generous';
   }
 
-  /** @name PalletEvmContractHelpersError (419) */
+  /** @name PalletEvmContractHelpersError (421) */
   export interface PalletEvmContractHelpersError extends Enum {
     readonly isNoPermission: boolean;
     readonly type: 'NoPermission';
   }
 
-  /** @name PalletEvmMigrationError (420) */
+  /** @name PalletEvmMigrationError (422) */
   export interface PalletEvmMigrationError extends Enum {
     readonly isAccountNotEmpty: boolean;
     readonly isAccountIsNotMigrating: boolean;
     readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating';
   }
 
-  /** @name SpRuntimeMultiSignature (422) */
+  /** @name SpRuntimeMultiSignature (424) */
   export interface SpRuntimeMultiSignature extends Enum {
     readonly isEd25519: boolean;
     readonly asEd25519: SpCoreEd25519Signature;
@@ -3241,34 +3243,34 @@
     readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';
   }
 
-  /** @name SpCoreEd25519Signature (423) */
+  /** @name SpCoreEd25519Signature (425) */
   export interface SpCoreEd25519Signature extends U8aFixed {}
 
-  /** @name SpCoreSr25519Signature (425) */
+  /** @name SpCoreSr25519Signature (427) */
   export interface SpCoreSr25519Signature extends U8aFixed {}
 
-  /** @name SpCoreEcdsaSignature (426) */
+  /** @name SpCoreEcdsaSignature (428) */
   export interface SpCoreEcdsaSignature extends U8aFixed {}
 
-  /** @name FrameSystemExtensionsCheckSpecVersion (429) */
+  /** @name FrameSystemExtensionsCheckSpecVersion (431) */
   export type FrameSystemExtensionsCheckSpecVersion = Null;
 
-  /** @name FrameSystemExtensionsCheckGenesis (430) */
+  /** @name FrameSystemExtensionsCheckGenesis (432) */
   export type FrameSystemExtensionsCheckGenesis = Null;
 
-  /** @name FrameSystemExtensionsCheckNonce (433) */
+  /** @name FrameSystemExtensionsCheckNonce (435) */
   export interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}
 
-  /** @name FrameSystemExtensionsCheckWeight (434) */
+  /** @name FrameSystemExtensionsCheckWeight (436) */
   export type FrameSystemExtensionsCheckWeight = Null;
 
-  /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (435) */
+  /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (437) */
   export interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}
 
-  /** @name OpalRuntimeRuntime (436) */
+  /** @name OpalRuntimeRuntime (438) */
   export type OpalRuntimeRuntime = Null;
 
-  /** @name PalletEthereumFakeTransactionFinalizer (437) */
+  /** @name PalletEthereumFakeTransactionFinalizer (439) */
   export type PalletEthereumFakeTransactionFinalizer = Null;
 
 } // declare module
modifiedtests/src/nesting/nest.test.tsdiffbeforeafterboth
--- a/tests/src/nesting/nest.test.ts
+++ b/tests/src/nesting/nest.test.ts
@@ -32,7 +32,7 @@
   it('Performs the full suite: bundles a token, transfers, and unnests', async () => {
     await usingApi(async api => {
       const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
-      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: 'Owner'});
+      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {tokenOwner: true}});
       const targetToken = await createItemExpectSuccess(alice, collection, 'NFT');
 
       // Create a nested token
@@ -62,7 +62,7 @@
   it('Transfers an already bundled token', async () => {
     await usingApi(async api => {
       const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
-      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: 'Owner'});
+      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {tokenOwner: true}});
 
       const tokenA = await createItemExpectSuccess(alice, collection, 'NFT');
       const tokenB = await createItemExpectSuccess(alice, collection, 'NFT');
@@ -92,7 +92,7 @@
   it('Checks token children', async () => {
     await usingApi(async api => {
       const collectionA = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
-      await setCollectionPermissionsExpectSuccess(alice, collectionA, {nesting: 'Owner'});
+      await setCollectionPermissionsExpectSuccess(alice, collectionA, {nesting: {tokenOwner: true}});
       const collectionB = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}});
 
       const targetToken = await createItemExpectSuccess(alice, collectionA, 'NFT');
@@ -151,7 +151,7 @@
   it('NFT: allows an Owner to nest/unnest their token', async () => {
     await usingApi(async api => {
       const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
-      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: 'Owner'});
+      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {tokenOwner: true}});
       const targetToken = await createItemExpectSuccess(alice, collection, 'NFT');
 
       // Create a nested token
@@ -170,7 +170,7 @@
   it('NFT: allows an Owner to nest/unnest their token (Restricted nesting)', async () => {
     await usingApi(async api => {
       const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
-      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {OwnerRestricted:[collection]}});
+      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {tokenOwner: true, restricted:[collection]}});
       const targetToken = await createItemExpectSuccess(alice, collection, 'NFT');
 
       // Create a nested token
@@ -191,7 +191,7 @@
   it('Fungible: allows an Owner to nest/unnest their token', async () => {
     await usingApi(async api => {
       const collectionNFT = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
-      await setCollectionPermissionsExpectSuccess(alice, collectionNFT, {nesting: 'Owner'});
+      await setCollectionPermissionsExpectSuccess(alice, collectionNFT, {nesting: {tokenOwner: true}});
       const targetToken = await createItemExpectSuccess(alice, collectionNFT, 'NFT', {Substrate: alice.address});
       const targetAddress = {Ethereum: tokenIdToAddress(collectionNFT, targetToken)};
 
@@ -218,7 +218,7 @@
 
       const collectionFT = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}});
 
-      await setCollectionPermissionsExpectSuccess(alice, collectionNFT, {nesting: {OwnerRestricted: [collectionFT]}});
+      await setCollectionPermissionsExpectSuccess(alice, collectionNFT, {nesting: {tokenOwner: true, restricted: [collectionFT]}});
 
       // Create a nested token
       await expect(executeTransaction(api, alice, api.tx.unique.createItem(
@@ -238,7 +238,7 @@
   it('ReFungible: allows an Owner to nest/unnest their token', async () => {
     await usingApi(async api => {
       const collectionNFT = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
-      await setCollectionPermissionsExpectSuccess(alice, collectionNFT, {nesting: 'Owner'});
+      await setCollectionPermissionsExpectSuccess(alice, collectionNFT, {nesting: {tokenOwner: true}});
       const targetToken = await createItemExpectSuccess(alice, collectionNFT, 'NFT', {Substrate: alice.address});
       const targetAddress = {Ethereum: tokenIdToAddress(collectionNFT, targetToken)};
 
@@ -265,7 +265,7 @@
 
       const collectionRFT = await createCollectionExpectSuccess({mode: {type: 'ReFungible'}});
 
-      await setCollectionPermissionsExpectSuccess(alice, collectionNFT, {nesting: {OwnerRestricted:[collectionRFT]}});
+      await setCollectionPermissionsExpectSuccess(alice, collectionNFT, {nesting: {tokenOwner: true, restricted:[collectionRFT]}});
 
       // Create a nested token
       await expect(executeTransaction(api, alice, api.tx.unique.createItem(
@@ -292,7 +292,7 @@
   it('Disallows excessive token nesting', async () => {
     await usingApi(async api => {
       const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
-      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: 'Owner'});
+      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {tokenOwner: true}});
       const targetToken = await createItemExpectSuccess(alice, collection, 'NFT');
 
       const maxNestingLevel = 5;
@@ -326,7 +326,7 @@
   it('NFT: disallows to nest token if nesting is disabled', async () => {
     await usingApi(async api => {
       const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
-      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: 'Disabled'});
+      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {}});
       const targetToken = await createItemExpectSuccess(alice, collection, 'NFT');
 
       // Try to create a nested token
@@ -334,12 +334,12 @@
         collection,
         {Ethereum: tokenIdToAddress(collection, targetToken)},
           {nft: {const_data: [], variable_data: []}} as any,
-      )), 'while creating nested token').to.be.rejectedWith(/^common\.NestingIsDisabled$/);
+      )), 'while creating nested token').to.be.rejectedWith(/^common\.UserIsNotAllowedToNest$/);
 
       // Create a token to be nested
       const newToken = await createItemExpectSuccess(alice, collection, 'NFT');
       // Try to nest
-      await expect(executeTransaction(api, alice, api.tx.unique.transfer({Ethereum: tokenIdToAddress(collection, targetToken)}, collection, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.NestingIsDisabled/);
+      await expect(executeTransaction(api, alice, api.tx.unique.transfer({Ethereum: tokenIdToAddress(collection, targetToken)}, collection, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.UserIsNotAllowedToNest/);
       expect(await getTopmostTokenOwner(api, collection, newToken)).to.be.deep.equal({Substrate: alice.address});
       expect(await getTokenOwner(api, collection, newToken)).to.be.deep.equal({Substrate: alice.address});
     });
@@ -348,7 +348,7 @@
   it('NFT: disallows a non-Owner to nest someone else\'s token', async () => {
     await usingApi(async api => {
       const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
-      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: 'Owner'});
+      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {tokenOwner: true}});
 
       await addToAllowListExpectSuccess(alice, collection, bob.address);
       await enableAllowListExpectSuccess(alice, collection);
@@ -362,7 +362,7 @@
         collection,
         {Ethereum: tokenIdToAddress(collection, targetToken)},
           {nft: {const_data: [], variable_data: []}} as any,
-      )), 'while creating nested token').to.be.rejectedWith(/common\.OnlyOwnerAllowedToNest/);
+      )), 'while creating nested token').to.be.rejectedWith(/common\.UserIsNotAllowedToNest/);
 
       // Try to create and nest a token in the wrong collection
       const newToken = await createItemExpectSuccess(alice, collection, 'NFT');
@@ -374,7 +374,7 @@
   it('NFT: disallows a non-Owner to nest someone else\'s token (Restricted nesting)', async () => {
     await usingApi(async api => {
       const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
-      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {OwnerRestricted:[collection]}});
+      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {tokenOwner: true, restricted:[collection]}});
 
       await addToAllowListExpectSuccess(alice, collection, bob.address);
       await enableAllowListExpectSuccess(alice, collection);
@@ -388,7 +388,7 @@
         collection,
         {Ethereum: tokenIdToAddress(collection, targetToken)},
           {nft: {const_data: [], variable_data: []}} as any,
-      )), 'while creating nested token').to.be.rejectedWith(/common\.OnlyOwnerAllowedToNest/);
+      )), 'while creating nested token').to.be.rejectedWith(/common\.UserIsNotAllowedToNest/);
 
       // Try to create and nest a token in the wrong collection
       const newToken = await createItemExpectSuccess(alice, collection, 'NFT');
@@ -400,7 +400,7 @@
   it('NFT: disallows to nest token in an unlisted collection', async () => {
     await usingApi(async api => {
       const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
-      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {OwnerRestricted:[]}});
+      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {tokenOwner: true, restricted:[]}});
 
       // Create a token to attempt to be nested into
       const targetToken = await createItemExpectSuccess(alice, collection, 'NFT');
@@ -424,7 +424,7 @@
   it('Fungible: disallows to nest token if nesting is disabled', async () => {
     await usingApi(async api => {
       const collectionNFT = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
-      await setCollectionPermissionsExpectSuccess(alice, collectionNFT, {nesting: 'Disabled'});
+      await setCollectionPermissionsExpectSuccess(alice, collectionNFT, {nesting: {}});
       const targetToken = await createItemExpectSuccess(alice, collectionNFT, 'NFT');
       const targetAddress = {Ethereum: tokenIdToAddress(collectionNFT, targetToken)};
 
@@ -435,12 +435,12 @@
         collectionFT,
         targetAddress,
         {Fungible: {Value: 10}},
-      )), 'while creating nested token').to.be.rejectedWith(/^common\.NestingIsDisabled$/);
+      )), 'while creating nested token').to.be.rejectedWith(/^common\.UserIsNotAllowedToNest$/);
 
       // Create a token to be nested
       const newToken = await createItemExpectSuccess(alice, collectionFT, 'Fungible');
       // Try to nest
-      await expect(executeTransaction(api, alice, api.tx.unique.transfer(targetAddress, collectionFT, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.NestingIsDisabled/);
+      await expect(executeTransaction(api, alice, api.tx.unique.transfer(targetAddress, collectionFT, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.UserIsNotAllowedToNest/);
 
       // Create another token to be nested
       const newToken2 = await createItemExpectSuccess(alice, collectionFT, 'Fungible');
@@ -452,7 +452,7 @@
   it('Fungible: disallows a non-Owner to nest someone else\'s token', async () => {
     await usingApi(async api => {
       const collectionNFT = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
-      await setCollectionPermissionsExpectSuccess(alice, collectionNFT, {nesting: 'Owner'});
+      await setCollectionPermissionsExpectSuccess(alice, collectionNFT, {nesting: {tokenOwner: true}});
 
       await addToAllowListExpectSuccess(alice, collectionNFT, bob.address);
       await enableAllowListExpectSuccess(alice, collectionNFT);
@@ -469,11 +469,11 @@
         collectionFT,
         targetAddress,
         {Fungible: {Value: 10}},
-      )), 'while creating nested token').to.be.rejectedWith(/common\.OnlyOwnerAllowedToNest/);
+      )), 'while creating nested token').to.be.rejectedWith(/common\.UserIsNotAllowedToNest/);
 
       // Try to create and nest a token in the wrong collection
       const newToken = await createItemExpectSuccess(alice, collectionFT, 'Fungible');
-      await expect(executeTransaction(api, alice, api.tx.unique.transfer(targetAddress, collectionFT, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.OnlyOwnerAllowedToNest/);
+      await expect(executeTransaction(api, alice, api.tx.unique.transfer(targetAddress, collectionFT, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.UserIsNotAllowedToNest/);
     });
   });
 
@@ -489,25 +489,25 @@
       const targetAddress = {Ethereum: tokenIdToAddress(collectionNFT, targetToken)};
 
       const collectionFT = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}});
-      await setCollectionPermissionsExpectSuccess(alice, collectionNFT, {nesting: {OwnerRestricted:[collectionFT]}});
+      await setCollectionPermissionsExpectSuccess(alice, collectionNFT, {nesting: {tokenOwner: true, restricted:[collectionFT]}});
 
       // Try to create a nested token in the wrong collection
       await expect(executeTransaction(api, alice, api.tx.unique.createItem(
         collectionFT,
         targetAddress,
         {Fungible: {Value: 10}},
-      )), 'while creating nested token').to.be.rejectedWith(/common\.OnlyOwnerAllowedToNest/);
+      )), 'while creating nested token').to.be.rejectedWith(/common\.UserIsNotAllowedToNest/);
 
       // Try to create and nest a token in the wrong collection
       const newToken = await createItemExpectSuccess(alice, collectionFT, 'Fungible');
-      await expect(executeTransaction(api, alice, api.tx.unique.transfer(targetAddress, collectionFT, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.OnlyOwnerAllowedToNest/);
+      await expect(executeTransaction(api, alice, api.tx.unique.transfer(targetAddress, collectionFT, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.UserIsNotAllowedToNest/);
     });
   });
 
   it('Fungible: disallows to nest token in an unlisted collection', async () => {
     await usingApi(async api => {
       const collectionNFT = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
-      await setCollectionPermissionsExpectSuccess(alice, collectionNFT, {nesting: {OwnerRestricted:[]}});
+      await setCollectionPermissionsExpectSuccess(alice, collectionNFT, {nesting: {tokenOwner: true, restricted:[]}});
 
       // Create a token to attempt to be nested into
       const targetToken = await createItemExpectSuccess(alice, collectionNFT, 'NFT');
@@ -533,7 +533,7 @@
   it('ReFungible: disallows to nest token if nesting is disabled', async () => {
     await usingApi(async api => {
       const collectionNFT = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
-      await setCollectionPermissionsExpectSuccess(alice, collectionNFT, {nesting: 'Disabled'});
+      await setCollectionPermissionsExpectSuccess(alice, collectionNFT, {nesting: {}});
       const targetToken = await createItemExpectSuccess(alice, collectionNFT, 'NFT');
       const targetAddress = {Ethereum: tokenIdToAddress(collectionNFT, targetToken)};
 
@@ -544,14 +544,14 @@
         collectionRFT,
         targetAddress,
         {ReFungible: {const_data: [], pieces: 100}},
-      )), 'while creating a nested token').to.be.rejectedWith(/^common\.NestingIsDisabled$/);
+      )), 'while creating a nested token').to.be.rejectedWith(/^common\.UserIsNotAllowedToNest$/);
 
       // Create a token to be nested
       const newToken = await createItemExpectSuccess(alice, collectionRFT, 'ReFungible');
       // Try to nest
       await transferExpectFailure(collectionRFT, newToken, alice, targetAddress, 100);
       // Try to nest
-      await expect(executeTransaction(api, alice, api.tx.unique.transfer(targetAddress, collectionRFT, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.NestingIsDisabled/);
+      await expect(executeTransaction(api, alice, api.tx.unique.transfer(targetAddress, collectionRFT, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.UserIsNotAllowedToNest/);
 
       // Create another token to be nested
       const newToken2 = await createItemExpectSuccess(alice, collectionRFT, 'ReFungible');
@@ -563,7 +563,7 @@
   it('ReFungible: disallows a non-Owner to nest someone else\'s token', async () => {
     await usingApi(async api => {
       const collectionNFT = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
-      await setCollectionPermissionsExpectSuccess(alice, collectionNFT, {nesting: 'Owner'});
+      await setCollectionPermissionsExpectSuccess(alice, collectionNFT, {nesting: {tokenOwner: true}});
 
       await addToAllowListExpectSuccess(alice, collectionNFT, bob.address);
       await enableAllowListExpectSuccess(alice, collectionNFT);
@@ -580,11 +580,11 @@
         collectionRFT,
         targetAddress,
         {ReFungible: {const_data: [], pieces: 100}},
-      )), 'while creating a nested token').to.be.rejectedWith(/common\.OnlyOwnerAllowedToNest/);
+      )), 'while creating a nested token').to.be.rejectedWith(/common\.UserIsNotAllowedToNest/);
 
       // Try to create and nest a token in the wrong collection
       const newToken = await createItemExpectSuccess(alice, collectionRFT, 'ReFungible');
-      await expect(executeTransaction(api, alice, api.tx.unique.transfer(targetAddress, collectionRFT, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.OnlyOwnerAllowedToNest/);
+      await expect(executeTransaction(api, alice, api.tx.unique.transfer(targetAddress, collectionRFT, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.UserIsNotAllowedToNest/);
     });
   });
 
@@ -600,25 +600,25 @@
       const targetAddress = {Ethereum: tokenIdToAddress(collectionNFT, targetToken)};
 
       const collectionRFT = await createCollectionExpectSuccess({mode: {type: 'ReFungible'}});
-      await setCollectionPermissionsExpectSuccess(alice, collectionNFT, {nesting: {OwnerRestricted:[collectionRFT]}});
+      await setCollectionPermissionsExpectSuccess(alice, collectionNFT, {nesting: {tokenOwner: true, restricted:[collectionRFT]}});
 
       // Try to create a nested token in the wrong collection
       await expect(executeTransaction(api, alice, api.tx.unique.createItem(
         collectionRFT,
         targetAddress,
         {ReFungible: {const_data: [], pieces: 100}},
-      )), 'while creating a nested token').to.be.rejectedWith(/common\.OnlyOwnerAllowedToNest/);
+      )), 'while creating a nested token').to.be.rejectedWith(/common\.UserIsNotAllowedToNest/);
 
       // Try to create and nest a token in the wrong collection
       const newToken = await createItemExpectSuccess(alice, collectionRFT, 'ReFungible');
-      await expect(executeTransaction(api, alice, api.tx.unique.transfer(targetAddress, collectionRFT, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.OnlyOwnerAllowedToNest/);
+      await expect(executeTransaction(api, alice, api.tx.unique.transfer(targetAddress, collectionRFT, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.UserIsNotAllowedToNest/);
     });
   });
 
   it('ReFungible: disallows to nest token to an unlisted collection', async () => {
     await usingApi(async api => {
       const collectionNFT = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
-      await setCollectionPermissionsExpectSuccess(alice, collectionNFT, {nesting: {OwnerRestricted:[]}});
+      await setCollectionPermissionsExpectSuccess(alice, collectionNFT, {nesting: {tokenOwner: true, restricted:[]}});
 
       // Create a token to attempt to be nested into
       const targetToken = await createItemExpectSuccess(alice, collectionNFT, 'NFT');
modifiedtests/src/nesting/rules-smoke.test.tsdiffbeforeafterboth
--- a/tests/src/nesting/rules-smoke.test.ts
+++ b/tests/src/nesting/rules-smoke.test.ts
@@ -14,7 +14,7 @@
       const events = await executeTransaction(api, alice, api.tx.unique.createCollectionEx({
         mode: 'NFT',
         permissions: {
-          nesting: {OwnerRestricted: []},
+          nesting: {tokenOwner: true, restricted: []},
         },
       }));
       const collection = getCreateCollectionResult(events).collectionId;
modifiedtests/src/nesting/unnest.test.tsdiffbeforeafterboth
--- a/tests/src/nesting/unnest.test.ts
+++ b/tests/src/nesting/unnest.test.ts
@@ -27,7 +27,7 @@
   it('NFT: allows the owner to successfully unnest a token', async () => {
     await usingApi(async api => {
       const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
-      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: 'Owner'});
+      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {tokenOwner: true}});
       const targetToken = await createItemExpectSuccess(alice, collection, 'NFT');
       const targetAddress = {Ethereum: tokenIdToAddress(collection, targetToken)};
 
@@ -56,7 +56,7 @@
   it('Fungible: allows the owner to successfully unnest a token', async () => {
     await usingApi(async api => {
       const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
-      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: 'Owner'});
+      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {tokenOwner: true}});
       const targetToken = await createItemExpectSuccess(alice, collection, 'NFT');
       const targetAddress = {Ethereum: tokenIdToAddress(collection, targetToken)};
 
@@ -83,7 +83,7 @@
   it('ReFungible: allows the owner to successfully unnest a token', async () => {
     await usingApi(async api => {
       const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
-      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: 'Owner'});
+      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {tokenOwner: true}});
       const targetToken = await createItemExpectSuccess(alice, collection, 'NFT');
       const targetAddress = {Ethereum: tokenIdToAddress(collection, targetToken)};
 
@@ -118,7 +118,7 @@
   it('Disallows a non-owner to unnest/burn a token', async () => {
     await usingApi(async api => {
       const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
-      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: 'Owner'});
+      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {tokenOwner: true}});
       const targetToken = await createItemExpectSuccess(alice, collection, 'NFT');
       const targetAddress = {Ethereum: tokenIdToAddress(collection, targetToken)};
 
@@ -148,7 +148,7 @@
   // Recursive nesting
   it('Prevents Ouroboros creation', async () => {
     const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
-    await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: 'Owner'});
+    await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {tokenOwner: true}});
     const targetToken = await createItemExpectSuccess(alice, collection, 'NFT');
 
     // Create a nested token ouroboros
modifiedtests/src/util/helpers.tsdiffbeforeafterboth
--- a/tests/src/util/helpers.ts
+++ b/tests/src/util/helpers.ts
@@ -193,7 +193,7 @@
     if (method === 'ExtrinsicSuccess') {
       success = true;
     } else if ((expectSection == section) && (expectMethod == method)) {
-      successData = extractAction!(data);
+      successData = extractAction!(data as any);
     }
   });
 
@@ -547,7 +547,7 @@
   });
 }
 
-export const setCollectionPermissionsExpectSuccess = async (sender: IKeyringPair, collectionId: number, permissions: {mintMode?: boolean, access?: 'Normal' | 'AllowList', nesting?: 'Disabled' | 'Owner' | {OwnerRestricted: number[]}}) => {
+export const setCollectionPermissionsExpectSuccess = async (sender: IKeyringPair, collectionId: number, permissions: any) => {
   await usingApi(async(api) => {
     const tx = api.tx.unique.setCollectionPermissions(collectionId, permissions);
     const events = await submitTransactionAsync(sender, tx);
modifiedtests/yarn.lockdiffbeforeafterboth
--- a/tests/yarn.lock
+++ b/tests/yarn.lock
@@ -508,78 +508,78 @@
     "@nodelib/fs.scandir" "2.1.5"
     fastq "^1.6.0"
 
-"@polkadot/api-augment@8.7.2-11":
-  version "8.7.2-11"
-  resolved "https://registry.yarnpkg.com/@polkadot/api-augment/-/api-augment-8.7.2-11.tgz#7f174f830c181d82863eb41f48e24fd6bbde3065"
-  integrity sha512-yKsuxjez1ArwSEZJ+g8mausm38CgOtaWBG5ob5cmO9M2v45HBXy3Kmviqr8Dputtu23deT85p7m/8RFLlAnzSA==
+"@polkadot/api-augment@8.7.2-15":
+  version "8.7.2-15"
+  resolved "https://registry.yarnpkg.com/@polkadot/api-augment/-/api-augment-8.7.2-15.tgz#a141d3cd595a39e7e2965330268b5eb92bdd5849"
+  integrity sha512-QGXosX6p0RFYNhWepZCIaRiyCvHnVt5Pb6U7/77UxIszgGRHfHFDsYr4v5bGiaRTOj/E8moc2Ufi/+VgOiG9sw==
   dependencies:
     "@babel/runtime" "^7.18.3"
-    "@polkadot/api-base" "8.7.2-11"
-    "@polkadot/rpc-augment" "8.7.2-11"
-    "@polkadot/types" "8.7.2-11"
-    "@polkadot/types-augment" "8.7.2-11"
-    "@polkadot/types-codec" "8.7.2-11"
+    "@polkadot/api-base" "8.7.2-15"
+    "@polkadot/rpc-augment" "8.7.2-15"
+    "@polkadot/types" "8.7.2-15"
+    "@polkadot/types-augment" "8.7.2-15"
+    "@polkadot/types-codec" "8.7.2-15"
     "@polkadot/util" "^9.4.1"
 
-"@polkadot/api-base@8.7.2-11":
-  version "8.7.2-11"
-  resolved "https://registry.yarnpkg.com/@polkadot/api-base/-/api-base-8.7.2-11.tgz#7e297a0ca283a58bc9d8d11c1edb099bc61da9f1"
-  integrity sha512-WQE5uvb7W7AKSfy4ekW2i6mJJzZYLMS/eNPNXYpURW/cRPt9NhT9lNz2Ae2d7gaWgWil+jNLecXTHTUzxobRbA==
+"@polkadot/api-base@8.7.2-15":
+  version "8.7.2-15"
+  resolved "https://registry.yarnpkg.com/@polkadot/api-base/-/api-base-8.7.2-15.tgz#c909d3bf0fbfb3cc46ca7067199e36e72b959bdb"
+  integrity sha512-HXdtaqbpnfFbOazjI9CPSYM37S4mzhxUs8hLMKrWqpHL//at4tiMa5dRyev9VSKeE6gqeqCT9JTBvEAZ9eNR6Q==
   dependencies:
     "@babel/runtime" "^7.18.3"
-    "@polkadot/rpc-core" "8.7.2-11"
-    "@polkadot/types" "8.7.2-11"
+    "@polkadot/rpc-core" "8.7.2-15"
+    "@polkadot/types" "8.7.2-15"
     "@polkadot/util" "^9.4.1"
     rxjs "^7.5.5"
 
-"@polkadot/api-contract@8.7.2-11":
-  version "8.7.2-11"
-  resolved "https://registry.yarnpkg.com/@polkadot/api-contract/-/api-contract-8.7.2-11.tgz#9487394286e536a7b1edfb6296529722fa63a43a"
-  integrity sha512-vOi4FX33ttkotJDzSum0nFUworWJ2+yfDejZkC33mM8zb+ne0Quggfz2nQqiKS2lgkj2z4YwJbsf/9paRQeS3w==
+"@polkadot/api-contract@8.7.2-15":
+  version "8.7.2-15"
+  resolved "https://registry.yarnpkg.com/@polkadot/api-contract/-/api-contract-8.7.2-15.tgz#687706fb4bd33c4a88187db3a269292f6e559892"
+  integrity sha512-Pr1Nm5zBpW9foCKm/Q6hIT5KHCeFVE8EFSfHBgjbitYpFOGnz19kduEpa0vxIcfq2WVXcVPTQ2eqjGtHoThNqA==
   dependencies:
     "@babel/runtime" "^7.18.3"
-    "@polkadot/api" "8.7.2-11"
-    "@polkadot/types" "8.7.2-11"
-    "@polkadot/types-codec" "8.7.2-11"
-    "@polkadot/types-create" "8.7.2-11"
+    "@polkadot/api" "8.7.2-15"
+    "@polkadot/types" "8.7.2-15"
+    "@polkadot/types-codec" "8.7.2-15"
+    "@polkadot/types-create" "8.7.2-15"
     "@polkadot/util" "^9.4.1"
     "@polkadot/util-crypto" "^9.4.1"
     rxjs "^7.5.5"
 
-"@polkadot/api-derive@8.7.2-11":
-  version "8.7.2-11"
-  resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-8.7.2-11.tgz#21e315d554a8cd31bb1f3b10077960e35391a311"
-  integrity sha512-8fkYidDgNjJcWHtiRfJQaI4H386uGZh5Ie0t21KG4sSC5R+Lbnm0CJwIX4scJvQ/U+38gCyQW07b+Pxt9oDwvg==
+"@polkadot/api-derive@8.7.2-15":
+  version "8.7.2-15"
+  resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-8.7.2-15.tgz#b29f24d435c036c9bf5624d18a9d93196cf2c4f4"
+  integrity sha512-0R3M9LFKoQ0d7elIDQjPKuV5EAHTtkU/72Lgxw2GYStsOqcnfFNomfLoLMuk8Xy4ETUAp/Kq1eMJpvsY6hSTtA==
   dependencies:
     "@babel/runtime" "^7.18.3"
-    "@polkadot/api" "8.7.2-11"
-    "@polkadot/api-augment" "8.7.2-11"
-    "@polkadot/api-base" "8.7.2-11"
-    "@polkadot/rpc-core" "8.7.2-11"
-    "@polkadot/types" "8.7.2-11"
-    "@polkadot/types-codec" "8.7.2-11"
+    "@polkadot/api" "8.7.2-15"
+    "@polkadot/api-augment" "8.7.2-15"
+    "@polkadot/api-base" "8.7.2-15"
+    "@polkadot/rpc-core" "8.7.2-15"
+    "@polkadot/types" "8.7.2-15"
+    "@polkadot/types-codec" "8.7.2-15"
     "@polkadot/util" "^9.4.1"
     "@polkadot/util-crypto" "^9.4.1"
     rxjs "^7.5.5"
 
-"@polkadot/api@8.7.2-11":
-  version "8.7.2-11"
-  resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-8.7.2-11.tgz#d76ad24f96fc9eba49825c11277105d12bf5e05c"
-  integrity sha512-eFQtZOJOVK5IbNSjvrk1JrOZJrtZRjaecMAhnQiglMPoIfQJiRbnXhUslGbXsgFoJsfWW6DAVY5aJi/PjuF9OQ==
+"@polkadot/api@8.7.2-15":
+  version "8.7.2-15"
+  resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-8.7.2-15.tgz#c7ede416e4d277c227fc93fdfdc4d27634935d08"
+  integrity sha512-tzEUWsXIPzPbnpn/3LTGtJ7SXzMgCJ/da5d9q0UH3vsx1gDEjuZEWXOeSYLHgbqQSgwPukvMVuGtRjcC+A/WZQ==
   dependencies:
     "@babel/runtime" "^7.18.3"
-    "@polkadot/api-augment" "8.7.2-11"
-    "@polkadot/api-base" "8.7.2-11"
-    "@polkadot/api-derive" "8.7.2-11"
+    "@polkadot/api-augment" "8.7.2-15"
+    "@polkadot/api-base" "8.7.2-15"
+    "@polkadot/api-derive" "8.7.2-15"
     "@polkadot/keyring" "^9.4.1"
-    "@polkadot/rpc-augment" "8.7.2-11"
-    "@polkadot/rpc-core" "8.7.2-11"
-    "@polkadot/rpc-provider" "8.7.2-11"
-    "@polkadot/types" "8.7.2-11"
-    "@polkadot/types-augment" "8.7.2-11"
-    "@polkadot/types-codec" "8.7.2-11"
-    "@polkadot/types-create" "8.7.2-11"
-    "@polkadot/types-known" "8.7.2-11"
+    "@polkadot/rpc-augment" "8.7.2-15"
+    "@polkadot/rpc-core" "8.7.2-15"
+    "@polkadot/rpc-provider" "8.7.2-15"
+    "@polkadot/types" "8.7.2-15"
+    "@polkadot/types-augment" "8.7.2-15"
+    "@polkadot/types-codec" "8.7.2-15"
+    "@polkadot/types-create" "8.7.2-15"
+    "@polkadot/types-known" "8.7.2-15"
     "@polkadot/util" "^9.4.1"
     "@polkadot/util-crypto" "^9.4.1"
     eventemitter3 "^4.0.7"
@@ -603,38 +603,38 @@
     "@polkadot/util" "9.4.1"
     "@substrate/ss58-registry" "^1.22.0"
 
-"@polkadot/rpc-augment@8.7.2-11":
-  version "8.7.2-11"
-  resolved "https://registry.yarnpkg.com/@polkadot/rpc-augment/-/rpc-augment-8.7.2-11.tgz#b118303653fb6f80688c62600fde2ed489e1c974"
-  integrity sha512-/h50Kzz/UZwhsV+g7bwGWf0fkVvlWIQ/zaA7H9xtuE4VGvmZRE4Uu06011ToVWNyAwM5xQfXBx1gUznRhem+pg==
+"@polkadot/rpc-augment@8.7.2-15":
+  version "8.7.2-15"
+  resolved "https://registry.yarnpkg.com/@polkadot/rpc-augment/-/rpc-augment-8.7.2-15.tgz#6175126968dfb79ba5549b03cac8c3860666e72b"
+  integrity sha512-IgfkR9CHT8jDuGYkb75DBFu+yJNW32+vOt3oS0sf57VqkHketSq9rD3mtZD37V/21Q4a17yrqKQOte7mMl9kcg==
   dependencies:
     "@babel/runtime" "^7.18.3"
-    "@polkadot/rpc-core" "8.7.2-11"
-    "@polkadot/types" "8.7.2-11"
-    "@polkadot/types-codec" "8.7.2-11"
+    "@polkadot/rpc-core" "8.7.2-15"
+    "@polkadot/types" "8.7.2-15"
+    "@polkadot/types-codec" "8.7.2-15"
     "@polkadot/util" "^9.4.1"
 
-"@polkadot/rpc-core@8.7.2-11":
-  version "8.7.2-11"
-  resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-8.7.2-11.tgz#9c31a34bc2f70e4dab40f9ba08ca9b89c8f3e5c0"
-  integrity sha512-DyHYgzBusMFfsDJ/2VBaVTNHRwZ2cf/woaeJA/ijJbxK2Ke/sg9UW6zr+3Ip8T62GnSNnJoSHMOaMdqvebkNVQ==
+"@polkadot/rpc-core@8.7.2-15":
+  version "8.7.2-15"
+  resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-8.7.2-15.tgz#827a31adf833fb866cb5f39dbd86c5f0b44d63a4"
+  integrity sha512-yGmpESOmGyzY7+D3yUxbKToz/eP/q8vDyOGajLnHn12TcnjgbAfMdc4xdU6cQex+mSsPwS0YQFuPrPXGloCOHA==
   dependencies:
     "@babel/runtime" "^7.18.3"
-    "@polkadot/rpc-augment" "8.7.2-11"
-    "@polkadot/rpc-provider" "8.7.2-11"
-    "@polkadot/types" "8.7.2-11"
+    "@polkadot/rpc-augment" "8.7.2-15"
+    "@polkadot/rpc-provider" "8.7.2-15"
+    "@polkadot/types" "8.7.2-15"
     "@polkadot/util" "^9.4.1"
     rxjs "^7.5.5"
 
-"@polkadot/rpc-provider@8.7.2-11":
-  version "8.7.2-11"
-  resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-8.7.2-11.tgz#1f4ef542aee83e0c4e1b2a126ed00ade7c818660"
-  integrity sha512-LE5kKEMxL4mZ+dLbU8lOPG2GuPYliYtX1SnXv509zAgUjSCWW9fkdeMBF3tFCjSJJcUmle3mlxG8kYuAqNUScA==
+"@polkadot/rpc-provider@8.7.2-15":
+  version "8.7.2-15"
+  resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-8.7.2-15.tgz#99dd30085284442265225e0f12aef3849b7bfe44"
+  integrity sha512-EwgBnUIpGhEfSanDXVviQQ784HYD3DWUPdv9pIvn9qnCZPk7o+MGPvKW73A+XbQpPV9j8tAGnVsSnbDuoSVp1g==
   dependencies:
     "@babel/runtime" "^7.18.3"
     "@polkadot/keyring" "^9.4.1"
-    "@polkadot/types" "8.7.2-11"
-    "@polkadot/types-support" "8.7.2-11"
+    "@polkadot/types" "8.7.2-15"
+    "@polkadot/types-support" "8.7.2-15"
     "@polkadot/util" "^9.4.1"
     "@polkadot/util-crypto" "^9.4.1"
     "@polkadot/x-fetch" "^9.4.1"
@@ -652,86 +652,86 @@
   dependencies:
     "@types/chrome" "^0.0.171"
 
-"@polkadot/typegen@8.7.2-11":
-  version "8.7.2-11"
-  resolved "https://registry.yarnpkg.com/@polkadot/typegen/-/typegen-8.7.2-11.tgz#047c3c91f4b34f0188853bed606fd12f6a0fbf4d"
-  integrity sha512-YZpyT8LJFm3akFurrxHpRWxZU50yKvrfdgyZpJh+JJOhSIIDtkx58JNj2+lv0QvhUFOUkd4IWap9bbCPmeLf6w==
+"@polkadot/typegen@8.7.2-15":
+  version "8.7.2-15"
+  resolved "https://registry.yarnpkg.com/@polkadot/typegen/-/typegen-8.7.2-15.tgz#06e9d054db1c63d9862186429a8017b2b80bce2a"
+  integrity sha512-NC8Ticirh20k1Co17D8cqQawIJ8W9HWDuq6oDyEMT4XkeBbZ1hQRO9JBO14neWDJmYJBhlUotP65jgjs8D5bMw==
   dependencies:
     "@babel/core" "^7.18.2"
     "@babel/register" "^7.17.7"
     "@babel/runtime" "^7.18.3"
-    "@polkadot/api" "8.7.2-11"
-    "@polkadot/api-augment" "8.7.2-11"
-    "@polkadot/rpc-augment" "8.7.2-11"
-    "@polkadot/rpc-provider" "8.7.2-11"
-    "@polkadot/types" "8.7.2-11"
-    "@polkadot/types-augment" "8.7.2-11"
-    "@polkadot/types-codec" "8.7.2-11"
-    "@polkadot/types-create" "8.7.2-11"
-    "@polkadot/types-support" "8.7.2-11"
+    "@polkadot/api" "8.7.2-15"
+    "@polkadot/api-augment" "8.7.2-15"
+    "@polkadot/rpc-augment" "8.7.2-15"
+    "@polkadot/rpc-provider" "8.7.2-15"
+    "@polkadot/types" "8.7.2-15"
+    "@polkadot/types-augment" "8.7.2-15"
+    "@polkadot/types-codec" "8.7.2-15"
+    "@polkadot/types-create" "8.7.2-15"
+    "@polkadot/types-support" "8.7.2-15"
     "@polkadot/util" "^9.4.1"
     "@polkadot/x-ws" "^9.4.1"
     handlebars "^4.7.7"
     websocket "^1.0.34"
     yargs "^17.5.1"
 
-"@polkadot/types-augment@8.7.2-11":
-  version "8.7.2-11"
-  resolved "https://registry.yarnpkg.com/@polkadot/types-augment/-/types-augment-8.7.2-11.tgz#c63105c76f8d85f7e642f8e81e16c3ffc3b3e7c4"
-  integrity sha512-1meIbpS0Synfdz+Jo90jc/utxwbwl9XQiH5WoFCUYLlbtE/H/yQcIoeme5o6gr/q7BalFQMYYwGBfctGT/KGjA==
+"@polkadot/types-augment@8.7.2-15":
+  version "8.7.2-15"
+  resolved "https://registry.yarnpkg.com/@polkadot/types-augment/-/types-augment-8.7.2-15.tgz#7ab077a1a31190ad17183196efb1da065c0d0bcd"
+  integrity sha512-th1jVBDqpyQVB2gCNzo/HV0dIeNinjyPla01BFdhQ5mDKYXJ8fugsLCk5oKUPpItBrj+5NWCgynVvCwm0YJw3g==
   dependencies:
     "@babel/runtime" "^7.18.3"
-    "@polkadot/types" "8.7.2-11"
-    "@polkadot/types-codec" "8.7.2-11"
+    "@polkadot/types" "8.7.2-15"
+    "@polkadot/types-codec" "8.7.2-15"
     "@polkadot/util" "^9.4.1"
 
-"@polkadot/types-codec@8.7.2-11":
-  version "8.7.2-11"
-  resolved "https://registry.yarnpkg.com/@polkadot/types-codec/-/types-codec-8.7.2-11.tgz#a852d3493062ee1052f7a837d07cce4146f2c67e"
-  integrity sha512-ZvRBiVo5IwZ+vcbKIMv6l0kRG2bVpBmU+pCPdWV9zGtKpgumz1FTvxBmjXoNo6OJVX23fKNMF8qBD/DEiC9ZwA==
+"@polkadot/types-codec@8.7.2-15":
+  version "8.7.2-15"
+  resolved "https://registry.yarnpkg.com/@polkadot/types-codec/-/types-codec-8.7.2-15.tgz#6afa4ff45dc7afb9250f283f70a40be641367941"
+  integrity sha512-k8t7/Ern7sY4ZKQc5cYY3h1bg7/GAEaTPmKz094DhPJmEhi3NNgeJ4uyeB/JYCo5GbxXQG6W2M021s582urjMw==
   dependencies:
     "@babel/runtime" "^7.18.3"
     "@polkadot/util" "^9.4.1"
 
-"@polkadot/types-create@8.7.2-11":
-  version "8.7.2-11"
-  resolved "https://registry.yarnpkg.com/@polkadot/types-create/-/types-create-8.7.2-11.tgz#2489409155d55c941a322349d740e9f8f8325147"
-  integrity sha512-489UaZP7JKfZ2Fn0oDQ32setAiV7vv9Q3Kg4a+j4m2TGEEXAVeiNE4Uvijmsw3ayLTtzO9hL0WtMpFWa8GlIMg==
+"@polkadot/types-create@8.7.2-15":
+  version "8.7.2-15"
+  resolved "https://registry.yarnpkg.com/@polkadot/types-create/-/types-create-8.7.2-15.tgz#106a11eb71dc2743b140d8640a3b3e7fc5ccf10e"
+  integrity sha512-xB9jAJ3XQh/U05b+X77m5TPh4N9oBwwpePkAmLhovTSOSeobj7qeUKrZqccs0BSxJnJPlLwrwuusjeTtTfZCHw==
   dependencies:
     "@babel/runtime" "^7.18.3"
-    "@polkadot/types-codec" "8.7.2-11"
+    "@polkadot/types-codec" "8.7.2-15"
     "@polkadot/util" "^9.4.1"
 
-"@polkadot/types-known@8.7.2-11":
-  version "8.7.2-11"
-  resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-8.7.2-11.tgz#89cb0cdea197ed3887b30948a560b0cd13b39c23"
-  integrity sha512-ulPQCmwJTJ/MGJGVJZfjWEGq28HGl7D4sOrigbfLOlo6/KyFl2p5H4GUFeF/s+/lGfUQsxfu4Q6QgXDZAOkB1A==
+"@polkadot/types-known@8.7.2-15":
+  version "8.7.2-15"
+  resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-8.7.2-15.tgz#171b8d3963a5c38d46f98a7c14be59033f9a4da8"
+  integrity sha512-c5YuuauPCu70chDnV7Fphh7SbAQl8JWj+PoY37I5BACCNFxtUx5KnP93BChiD0QxcHs2QqD6RdjW6O7cVRUKfA==
   dependencies:
     "@babel/runtime" "^7.18.3"
     "@polkadot/networks" "^9.4.1"
-    "@polkadot/types" "8.7.2-11"
-    "@polkadot/types-codec" "8.7.2-11"
-    "@polkadot/types-create" "8.7.2-11"
+    "@polkadot/types" "8.7.2-15"
+    "@polkadot/types-codec" "8.7.2-15"
+    "@polkadot/types-create" "8.7.2-15"
     "@polkadot/util" "^9.4.1"
 
-"@polkadot/types-support@8.7.2-11":
-  version "8.7.2-11"
-  resolved "https://registry.yarnpkg.com/@polkadot/types-support/-/types-support-8.7.2-11.tgz#ed08331ba1faf7a803e35aafa0692eefd28baa90"
-  integrity sha512-oflUi0eahFMoS3Sxz6EKjZKNl7GMRnd91kClEV0FzR1wEha+3CL1BCXTGV3n8YoJtfztUUNInVHPQTvMW78WvQ==
+"@polkadot/types-support@8.7.2-15":
+  version "8.7.2-15"
+  resolved "https://registry.yarnpkg.com/@polkadot/types-support/-/types-support-8.7.2-15.tgz#2d726e3d5615383ca97db3f32ee21e2aad077fcb"
+  integrity sha512-Tl6xm9r/uqrKQK1OUdi5X9MaTgplBYPj3tY9677ZPV7QGYWt0Uz912u9fC2v0PGNReDXtzvrlgvk0aoErwzF5Q==
   dependencies:
     "@babel/runtime" "^7.18.3"
     "@polkadot/util" "^9.4.1"
 
-"@polkadot/types@8.7.2-11":
-  version "8.7.2-11"
-  resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-8.7.2-11.tgz#84b1dca2896fec4af23d4096fa810b59f44071ac"
-  integrity sha512-PSreCXr/csWpMVqtByEj7Pk5j+JEqxOiipsP+PdtOJaRnWtBMFpMqs7Fj2uULVYqFJKKPyp+JofnRDRcH1YDYg==
+"@polkadot/types@8.7.2-15":
+  version "8.7.2-15"
+  resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-8.7.2-15.tgz#5b25b6b76c916637a1d15133b5880a73079e65bc"
+  integrity sha512-KfJKzk6/Ta8vZVJH8+xYYPvd9SD+4fdl4coGgKuPGYZFsjDGnYvAX4ls6/WKby51JK5s24sqaUP3vZisIgh4wA==
   dependencies:
     "@babel/runtime" "^7.18.3"
     "@polkadot/keyring" "^9.4.1"
-    "@polkadot/types-augment" "8.7.2-11"
-    "@polkadot/types-codec" "8.7.2-11"
-    "@polkadot/types-create" "8.7.2-11"
+    "@polkadot/types-augment" "8.7.2-15"
+    "@polkadot/types-codec" "8.7.2-15"
+    "@polkadot/types-create" "8.7.2-15"
     "@polkadot/util" "^9.4.1"
     "@polkadot/util-crypto" "^9.4.1"
     rxjs "^7.5.5"