git.delta.rocks / unique-network / refs/commits / 4b3d05886c9a

difftreelog

feat(rmrk-proxy) add resource

Fahrrader2022-06-02parent: #47e3bf2.patch.diff
in: master

21 files changed

modifiedCargo.lockdiffbeforeafterboth
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -6335,6 +6335,7 @@
  "pallet-common",
  "pallet-evm",
  "pallet-nonfungible",
+ "pallet-structure",
  "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
modifiedpallets/proxy-rmrk-core/Cargo.tomldiffbeforeafterboth
--- a/pallets/proxy-rmrk-core/Cargo.toml
+++ b/pallets/proxy-rmrk-core/Cargo.toml
@@ -18,6 +18,7 @@
 sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" }
 pallet-common = { default-features = false, path = '../common' }
 pallet-nonfungible = { default-features = false, path = "../../pallets/nonfungible" }
+pallet-structure = { default-features = false, path = "../../pallets/structure" }
 up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
 pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" }
 frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" }
@@ -33,6 +34,7 @@
     "up-data-structs/std",
     "pallet-common/std",
     "pallet-nonfungible/std",
+    "pallet-structure/std",
     "pallet-evm/std",
     'frame-benchmarking/std',
 ]
modifiedpallets/proxy-rmrk-core/src/lib.rsdiffbeforeafterboth
--- a/pallets/proxy-rmrk-core/src/lib.rs
+++ b/pallets/proxy-rmrk-core/src/lib.rs
@@ -25,6 +25,7 @@
 	Pallet as PalletCommon, Error as CommonError, CollectionHandle, CommonCollectionOperations,
 };
 use pallet_nonfungible::{Pallet as PalletNft, NonfungibleHandle, TokenData};
+use pallet_structure::Pallet as PalletStructure;
 use pallet_evm::account::CrossAccountId;
 use core::convert::AsRef;
 
@@ -56,7 +57,7 @@
 
 	#[pallet::storage]
 	#[pallet::getter(fn collection_index_map)]
-	pub type CollectionIndexMap<T: Config> = 
+	pub type CollectionIndexMap<T: Config> =
 		StorageMap<_, Twox64Concat, RmrkCollectionId, CollectionId, ValueQuery>;
 
 	#[pallet::pallet]
@@ -98,6 +99,10 @@
 			key: RmrkKeyString,
 			value: RmrkValueString,
 		},
+		ResourceAdded {
+			nft_id: RmrkNftId,
+			resource_id: RmrkResourceId,
+		},
 	}
 
 	#[pallet::error]
@@ -106,7 +111,7 @@
 		CorruptedCollectionType,
 		NftTypeEncodeError,
 		RmrkPropertyKeyIsTooLong,
-		RmrkPropertyValueIsTooLong,
+		RmrkPropertyValueIsTooLong, // todo utilize that in RPCs
 
 		/* RMRK compatible events */
 		CollectionNotEmpty,
@@ -115,6 +120,7 @@
 		CollectionUnknown,
 		NoPermission,
 		CollectionFullOrLocked,
+		// todo add resource errors?
 	}
 
 	#[pallet::call]
@@ -143,29 +149,21 @@
 					.map_err(|_| <CommonError<T>>::CollectionTokenPrefixLimitExceeded)?,
 				..Default::default()
 			};
-
-			let collection_id_res =
-				<PalletNft<T>>::init_collection(T::CrossAccountId::from_sub(sender.clone()), data);
-
-			if let Err(DispatchError::Arithmetic(_)) = &collection_id_res {
-				return Err(<Error<T>>::NoAvailableCollectionId.into());
-			}
 
-			let unique_collection_id = collection_id_res?;
-			let rmrk_collection_id = <CollectionIndex<T>>::get();
-
 			<CollectionIndex<T>>::mutate(|n| *n += 1);
-			<CollectionIndexMap<T>>::insert(rmrk_collection_id, unique_collection_id);
 
-			<PalletCommon<T>>::set_scoped_collection_properties(
-				unique_collection_id,
-				PropertyScope::Rmrk,
+			let unique_collection_id = Self::init_collection(
+				T::CrossAccountId::from_sub(sender.clone()),
+				data,
 				[
 					Self::rmrk_property(Metadata, &metadata)?,
 					Self::rmrk_property(CollectionType, &misc::CollectionType::Regular)?,
 				]
 				.into_iter(),
-			)?;
+			)?; //collection_id_res?;
+			let rmrk_collection_id = <CollectionIndex<T>>::get();
+
+			<CollectionIndexMap<T>>::insert(rmrk_collection_id, unique_collection_id);
 
 			Self::deposit_event(Event::CollectionCreated {
 				issuer: sender,
@@ -290,13 +288,26 @@
 				&sender,
 				&cross_owner,
 				&collection,
-				NftType::Regular,
 				[
+					Self::rmrk_property(TokenType, &NftType::Regular)?,
 					Self::rmrk_property(RoyaltyInfo, &royalty_info)?,
 					Self::rmrk_property(Metadata, &metadata)?,
 					Self::rmrk_property(Equipped, &false)?,
-					Self::rmrk_property(ResourceCollection, &None::<CollectionId>)?,
-					Self::rmrk_property(ResourcePriorities, &<Vec<u8>>::new())?,
+					Self::rmrk_property(
+						ResourceCollection,
+						&Self::init_collection(
+							sender.clone(),
+							CreateCollectionData {
+								..Default::default()
+							},
+							[Self::rmrk_property(
+								CollectionType,
+								&misc::CollectionType::Resource,
+							)?]
+							.into_iter(),
+						)?,
+					)?, // todo possibly add limits to the collection if rmrk warrants them
+					Self::rmrk_property(ResourcePriorities, &<Vec<u8>>::new())?, // todo create resource priorities?
 				]
 				.into_iter(),
 			)
@@ -392,6 +403,107 @@
 
 			Ok(())
 		}
+
+		#[pallet::weight(10_000 + T::DbWeight::get().reads_writes(1,1))]
+		#[transactional]
+		pub fn add_basic_resource(
+			origin: OriginFor<T>,
+			collection_id: RmrkCollectionId,
+			nft_id: RmrkNftId,
+			resource: RmrkBasicResource,
+		) -> DispatchResult {
+			let sender = ensure_signed(origin.clone())?;
+
+			let resource_id = Self::resource_add(
+				sender,
+				Self::unique_collection_id(collection_id)?,
+				nft_id.into(),
+				[
+					Self::rmrk_property(TokenType, &NftType::Resource)?,
+					Self::rmrk_property(ResourceType, &misc::ResourceType::Basic)?,
+					Self::rmrk_property(Src, &resource.src)?,
+					Self::rmrk_property(Metadata, &resource.metadata)?,
+					Self::rmrk_property(License, &resource.license)?,
+					Self::rmrk_property(Thumb, &resource.thumb)?,
+				]
+				.into_iter(),
+			)?;
+
+			Self::deposit_event(Event::ResourceAdded {
+				nft_id,
+				resource_id,
+			});
+			Ok(())
+		}
+
+		#[pallet::weight(10_000 + T::DbWeight::get().reads_writes(1,1))]
+		#[transactional]
+		pub fn add_composable_resource(
+			origin: OriginFor<T>,
+			collection_id: RmrkCollectionId,
+			nft_id: RmrkNftId,
+			_resource_id: RmrkBoundedResource,
+			resource: RmrkComposableResource,
+		) -> DispatchResult {
+			let sender = ensure_signed(origin.clone())?;
+
+			let resource_id = Self::resource_add(
+				sender,
+				Self::unique_collection_id(collection_id)?,
+				nft_id.into(),
+				[
+					Self::rmrk_property(TokenType, &NftType::Resource)?,
+					Self::rmrk_property(ResourceType, &misc::ResourceType::Composable)?,
+					Self::rmrk_property(Parts, &resource.parts)?,
+					Self::rmrk_property(Base, &resource.base)?,
+					Self::rmrk_property(Src, &resource.src)?,
+					Self::rmrk_property(Metadata, &resource.metadata)?,
+					Self::rmrk_property(License, &resource.license)?,
+					Self::rmrk_property(Thumb, &resource.thumb)?,
+				]
+				.into_iter(),
+			)?;
+
+			Self::deposit_event(Event::ResourceAdded {
+				nft_id,
+				resource_id,
+			});
+			Ok(())
+		}
+
+		#[pallet::weight(10_000 + T::DbWeight::get().reads_writes(1,1))]
+		#[transactional]
+		pub fn add_slot_resource(
+			origin: OriginFor<T>,
+			collection_id: RmrkCollectionId,
+			nft_id: RmrkNftId,
+			resource: RmrkSlotResource,
+		) -> DispatchResult {
+			let sender = ensure_signed(origin.clone())?;
+
+			let resource_id = Self::resource_add(
+				sender,
+				Self::unique_collection_id(collection_id)?,
+				nft_id.into(),
+				[
+					Self::rmrk_property(TokenType, &NftType::Resource)?,
+					Self::rmrk_property(ResourceType, &misc::ResourceType::Slot)?,
+					Self::rmrk_property(Base, &resource.base)?,
+					Self::rmrk_property(Src, &resource.src)?,
+					Self::rmrk_property(Metadata, &resource.metadata)?,
+					Self::rmrk_property(Slot, &resource.slot)?,
+					Self::rmrk_property(License, &resource.license)?,
+					Self::rmrk_property(Thumb, &resource.thumb)?,
+				]
+				.into_iter(),
+			)?;
+
+			Self::deposit_event(Event::ResourceAdded {
+				nft_id,
+				resource_id,
+			});
+			Ok(())
+		}
 	}
 }
 
@@ -422,14 +534,32 @@
 		Ok(property)
 	}
 
+	fn init_collection(
+		sender: T::CrossAccountId,
+		data: CreateCollectionData<T::AccountId>,
+		properties: impl Iterator<Item = Property>,
+	) -> Result<CollectionId, DispatchError> {
+		let collection_id = <PalletNft<T>>::init_collection(sender, data);
+
+		if let Err(DispatchError::Arithmetic(_)) = &collection_id {
+			return Err(<Error<T>>::NoAvailableCollectionId.into());
+		}
+
+		<PalletCommon<T>>::set_scoped_collection_properties(
+			collection_id?,
+			PropertyScope::Rmrk,
+			properties,
+		)?;
+
+		collection_id
+	}
+
 	pub fn create_nft(
 		sender: &T::CrossAccountId,
 		owner: &T::CrossAccountId,
 		collection: &NonfungibleHandle<T>,
-		nft_type: NftType,
 		properties: impl Iterator<Item = Property>,
 	) -> Result<TokenId, DispatchError> {
-		todo!("store nft type");
 		let data = CreateNftExData {
 			properties: BoundedVec::default(),
 			owner: owner.clone(),
@@ -465,6 +595,57 @@
 		Ok(())
 	}
 
+	fn resource_add(
+		sender: T::AccountId,
+		collection_id: CollectionId,
+		token_id: TokenId,
+		resource_properties: impl Iterator<Item = Property>,
+	) -> Result<RmrkResourceId, DispatchError> {
+		let collection =
+			Self::get_typed_nft_collection(collection_id, misc::CollectionType::Regular)?;
+		ensure!(collection.owner == sender, Error::<T>::NoPermission);
+
+		// Check NFT lock status // todo depends on market, maybe later
+		//ensure!(!Pallet::<T>::is_locked(collection_id, nft_id), pallet_uniques::Error::<T>::Locked);
+
+		let sender = T::CrossAccountId::from_sub(sender);
+		let budget = budget::Value::new(10);
+		let pending = <PalletStructure<T>>::check_indirectly_owned(
+			sender.clone(),
+			collection_id,
+			token_id,
+			None,
+			&budget,
+		)?;
+
+		let resource_collection_id: CollectionId =
+			Self::get_nft_property(collection_id, token_id, ResourceCollection)?
+				.decode_or_default();
+		let resource_collection =
+			Self::get_typed_nft_collection(resource_collection_id, misc::CollectionType::Resource)?;
+
+		// todo probably add extra connections to bases, slots, etc., when RMRK starts to use them
+
+		let resource_id = Self::create_nft(
+			&sender, // todo owner of the nft?
+			&sender,
+			&resource_collection,
+			resource_properties.chain(
+				[
+					Self::rmrk_property(PendingResourceAccept, &pending)?,
+					Self::rmrk_property(PendingResourceRemoval, &false)?,
+				]
+				.into_iter(),
+			),
+		)
+		.map_err(|err| match err {
+			DispatchError::Arithmetic(_) => <Error<T>>::NoAvailableNftId.into(),
+			err => Self::map_common_err_to_proxy(err),
+		})?;
+
+		Ok(resource_id.0)
+	}
+
 	fn change_collection_owner(
 		collection_id: CollectionId,
 		collection_type: misc::CollectionType,
@@ -493,8 +674,11 @@
 		<CollectionIndex<T>>::get()
 	}
 
-	pub fn unique_collection_id(rmrk_collection_id: RmrkCollectionId) -> Result<CollectionId, DispatchError> {
-		<CollectionIndexMap<T>>::try_get(rmrk_collection_id).map_err(|_| <Error<T>>::CollectionUnknown.into())
+	pub fn unique_collection_id(
+		rmrk_collection_id: RmrkCollectionId,
+	) -> Result<CollectionId, DispatchError> {
+		<CollectionIndexMap<T>>::try_get(rmrk_collection_id)
+			.map_err(|_| <Error<T>>::CollectionUnknown.into())
 	}
 
 	pub fn get_nft_collection(
@@ -513,10 +697,6 @@
 		<CollectionHandle<T>>::try_get(collection_id).is_ok()
 	}
 
-	pub fn nft_exists(collection_id: CollectionId, nft_id: TokenId) -> bool {
-		<TokenData<T>>::contains_key((collection_id, nft_id))
-	}
-
 	pub fn get_collection_property(
 		collection_id: CollectionId,
 		key: RmrkProperty,
@@ -553,6 +733,15 @@
 		Ok(())
 	}
 
+	pub fn get_typed_nft_collection(
+		collection_id: CollectionId,
+		collection_type: misc::CollectionType,
+	) -> Result<NonfungibleHandle<T>, DispatchError> {
+		Self::ensure_collection_type(collection_id, collection_type)?;
+
+		Self::get_nft_collection(collection_id)
+	}
+
 	pub fn get_nft_property(
 		collection_id: CollectionId,
 		nft_id: TokenId,
@@ -560,17 +749,23 @@
 	) -> Result<PropertyValue, DispatchError> {
 		let nft_property = <PalletNft<T>>::token_properties((collection_id, nft_id))
 			.get(&Self::rmrk_property_key(key)?)
-			.ok_or(<Error<T>>::NoAvailableNftId)?
+			.ok_or(<Error<T>>::NoAvailableNftId)? // todo replace with better error
 			.clone();
 
 		Ok(nft_property)
 	}
 
+	pub fn nft_exists(collection_id: CollectionId, nft_id: TokenId) -> bool {
+		<TokenData<T>>::contains_key((collection_id, nft_id))
+	}
+
 	pub fn get_nft_type(
-		_collection_id: CollectionId,
-		_token_id: TokenId,
+		collection_id: CollectionId,
+		token_id: TokenId,
 	) -> Result<NftType, DispatchError> {
-		todo!("should get it from properties?")
+		Ok(Self::get_nft_property(collection_id, token_id, TokenType)?.decode_or_default())
+		// todo throw error
+		// NftTypeEncodeError?
 	}
 
 	pub fn ensure_nft_type(
@@ -673,15 +868,6 @@
 		});
 
 		Ok(properties)
-	}
-
-	pub fn get_typed_nft_collection(
-		collection_id: CollectionId,
-		collection_type: misc::CollectionType,
-	) -> Result<NonfungibleHandle<T>, DispatchError> {
-		Self::ensure_collection_type(collection_id, collection_type)?;
-
-		Self::get_nft_collection(collection_id)
 	}
 
 	fn map_common_err_to_proxy(err: DispatchError) -> DispatchError {
modifiedpallets/proxy-rmrk-core/src/misc.rsdiffbeforeafterboth
--- a/pallets/proxy-rmrk-core/src/misc.rs
+++ b/pallets/proxy-rmrk-core/src/misc.rs
@@ -18,6 +18,7 @@
 	fn decode_or_default(&self) -> T;
 }
 
+// todo fail if unwrap doesn't work
 impl<T: Decode + Default, S> RmrkDecode<T, S> for BoundedVec<u8, S> {
 	fn decode_or_default(&self) -> T {
 		let mut value = self.as_slice();
@@ -30,6 +31,7 @@
 	fn rebind(&self) -> BoundedVec<u8, S>;
 }
 
+// todo fail if unwrap doesn't work
 impl<T, S> RmrkRebind<T, S> for BoundedVec<u8, T>
 where
 	BoundedVec<u8, S>: TryFrom<Vec<u8>>,
@@ -46,11 +48,22 @@
 	Base,
 }
 
-#[derive(Encode, Decode, PartialEq, Eq)]
+// todo remove default?
+#[derive(Encode, Decode, PartialEq, Eq, Default)]
 pub enum NftType {
+	#[default]
 	Regular,
 	Resource,
 	FixedPart,
 	SlotPart,
 	Theme,
 }
+
+// todo remove default?
+#[derive(Encode, Decode, PartialEq, Eq, Default)]
+pub enum ResourceType {
+	#[default]
+	Basic,
+	Composable,
+	Slot,
+}
modifiedpallets/proxy-rmrk-core/src/property.rsdiffbeforeafterboth
--- a/pallets/proxy-rmrk-core/src/property.rs
+++ b/pallets/proxy-rmrk-core/src/property.rs
@@ -4,6 +4,7 @@
 pub enum RmrkProperty<'r> {
 	Metadata,
 	CollectionType,
+	TokenType,
 	RoyaltyInfo,
 	Equipped,
 	ResourceCollection,
@@ -47,6 +48,7 @@
 		match self {
 			Self::Metadata => key!("metadata"),
 			Self::CollectionType => key!("collection-type"),
+			Self::TokenType => key!("token-type"),
 			Self::RoyaltyInfo => key!("royalty-info"),
 			Self::Equipped => key!("equipped"),
 			Self::ResourceCollection => key!("resource-collection"),
modifiedpallets/proxy-rmrk-equip/src/lib.rsdiffbeforeafterboth
--- a/pallets/proxy-rmrk-equip/src/lib.rs
+++ b/pallets/proxy-rmrk-equip/src/lib.rs
@@ -166,8 +166,8 @@
 				&sender,
 				owner,
 				&collection,
-				NftType::Theme,
 				[
+					<PalletCore<T>>::rmrk_property(TokenType, &NftType::Theme)?,
 					<PalletCore<T>>::rmrk_property(ThemeName, &theme.name)?,
 					<PalletCore<T>>::rmrk_property(ThemeInherit, &theme.inherit)?,
 				]
@@ -212,8 +212,8 @@
 			sender,
 			owner,
 			collection,
-			nft_type,
 			[
+				<PalletCore<T>>::rmrk_property(TokenType, &nft_type)?,
 				<PalletCore<T>>::rmrk_property(Src, &src)?,
 				<PalletCore<T>>::rmrk_property(ZIndex, &z_index)?,
 			]
modifiedprimitives/data-structs/src/lib.rsdiffbeforeafterboth
--- a/primitives/data-structs/src/lib.rs
+++ b/primitives/data-structs/src/lib.rs
@@ -41,6 +41,7 @@
 // RMRK
 use rmrk::{
 	CollectionInfo, NftInfo, ResourceInfo, PropertyInfo, BaseInfo, PartType, Theme, ThemeProperty,
+	ResourceTypes, BasicResource, ComposableResource, SlotResource,
 };
 pub use rmrk::{
 	primitives::{
@@ -49,8 +50,6 @@
 	},
 	NftChild as RmrkNftChild, AccountIdOrCollectionNftTuple as RmrkAccountIdOrCollectionNftTuple,
 	FixedPart as RmrkFixedPart, SlotPart as RmrkSlotPart, EquippableList as RmrkEquippableList,
-	BasicResource as RmrkBasicResource, ComposableResource as RmrkComposableResource,
-	SlotResource as RmrkSlotResource,
 };
 
 mod bounded;
@@ -942,23 +941,26 @@
 pub type RmrkCollectionInfo<AccountId> =
 	CollectionInfo<RmrkString, RmrkCollectionSymbol, AccountId>;
 pub type RmrkInstanceInfo<AccountId> = NftInfo<AccountId, Permill, RmrkString>;
-pub type RmrkResourceInfo = ResourceInfo<RmrkBoundedResource, RmrkString, RmrkBoundedParts>;
+pub type RmrkResourceInfo = ResourceInfo<RmrkString, RmrkBoundedParts>;
 pub type RmrkPropertyInfo = PropertyInfo<RmrkKeyString, RmrkValueString>;
 pub type RmrkBaseInfo<AccountId> = BaseInfo<AccountId, RmrkString>;
 pub type RmrkPartType =
 	PartType<RmrkString, BoundedVec<RmrkCollectionId, RmrkMaxCollectionsEquippablePerPart>>;
 pub type RmrkThemeProperty = ThemeProperty<RmrkString>;
 pub type RmrkTheme = Theme<RmrkString, Vec<RmrkThemeProperty>>;
+pub type RmrkResourceTypes = ResourceTypes<RmrkString, RmrkBoundedParts>;
+
+pub type RmrkBasicResource = BasicResource<RmrkString>;
+pub type RmrkComposableResource = ComposableResource<RmrkString, RmrkBoundedParts>;
+pub type RmrkSlotResource = SlotResource<RmrkString>;
 
+pub type RmrkString = BoundedVec<u8, RmrkStringLimit>;
 pub type RmrkCollectionSymbol = BoundedVec<u8, RmrkCollectionSymbolLimit>;
 pub type RmrkKeyString = BoundedVec<u8, RmrkKeyLimit>;
 pub type RmrkValueString = BoundedVec<u8, RmrkValueLimit>;
-
-type RmrkBoundedResource = BoundedVec<u8, RmrkResourceSymbolLimit>;
-type RmrkBoundedParts = BoundedVec<RmrkPartId, RmrkPartsLimit>;
+pub type RmrkBoundedResource = BoundedVec<u8, RmrkResourceSymbolLimit>;
+pub type RmrkBoundedParts = BoundedVec<RmrkPartId, RmrkPartsLimit>; // todo make sure it is needed
 
 pub type RmrkRpcString = Vec<u8>;
 pub type RmrkThemeName = RmrkRpcString;
 pub type RmrkPropertyKey = RmrkRpcString;
-
-pub type RmrkString = BoundedVec<u8, RmrkStringLimit>;
modifiedprimitives/data-structs/src/rmrk.rsdiffbeforeafterboth
--- a/primitives/data-structs/src/rmrk.rs
+++ b/primitives/data-structs/src/rmrk.rs
@@ -282,17 +282,16 @@
 #[cfg_attr(
 	feature = "std",
 	serde(bound = r#"
-			BoundedResource: AsRef<[u8]>,
 			BoundedString: AsRef<[u8]>,
 			BoundedParts: AsRef<[PartId]>
 		"#)
 )]
-pub struct ResourceInfo<BoundedResource, BoundedString: Default, BoundedParts> {
+pub struct ResourceInfo<BoundedString: Default, BoundedParts> {
 	/// id is a 5-character string of reasonable uniqueness.
 	/// The combination of base ID and resource id should be unique across the entire RMRK
 	/// ecosystem which
-	#[cfg_attr(feature = "std", serde(with = "serialize::vec"))]
-	pub id: BoundedResource,
+	//#[cfg_attr(feature = "std", serde(with = "serialize::vec"))]
+	pub id: ResourceId,
 
 	/// Resource
 	pub resource: ResourceTypes<BoundedString, BoundedParts>,
modifiedruntime/common/src/runtime_apis.rsdiffbeforeafterboth
--- a/runtime/common/src/runtime_apis.rs
+++ b/runtime/common/src/runtime_apis.rs
@@ -152,6 +152,7 @@
                         Err(_) => return Ok(None),
                     };
 
+                    // todo replace dispatch... calls with calls to rmrkcore and NFT collection. There's no point trying non-NFT collections
                     let nfts_count = dispatch_unique_runtime!(collection_id.total_supply())?;
 
                     Ok(Some(RmrkCollectionInfo {
@@ -171,6 +172,7 @@
                     let nft_id = TokenId(nft_by_id);
                     if !RmrkCore::nft_exists(collection_id, nft_id) { return Ok(None); }
 
+                    // todo replace dispatch with collection
                     let owner = match dispatch_unique_runtime!(collection_id.token_owner(nft_id))? {
                         Some(owner) => match <Runtime as pallet_common::Config>::CrossTokenAddressMapping::address_to_token(&owner) {
                             Some((col, tok)) => RmrkAccountIdOrCollectionNftTuple::CollectionAndNftTuple(col.0, tok.0),
@@ -270,34 +272,51 @@
 
                 fn nft_resources(collection_id: RmrkCollectionId, nft_id: RmrkNftId) -> Result<Vec<RmrkResourceInfo>, DispatchError> {
                     use frame_support::BoundedVec;
-                    use pallet_proxy_rmrk_core::{RmrkProperty, misc::{CollectionType, NftType, RmrkDecode}};
+                    use pallet_proxy_rmrk_core::{RmrkProperty, misc::{CollectionType, NftType, ResourceType, RmrkDecode}};
+                    use pallet_common::CommonCollectionOperations;
 
                     let collection_id = RmrkCore::unique_collection_id(collection_id)?;
-                    if !RmrkCore::collection_exists(collection_id) { return Ok(Vec::new()); } // todo make sure the collection type doesn't matter
+                    if RmrkCore::ensure_collection_type(collection_id, CollectionType::Regular).is_err() { return Ok(Vec::new()); }
 
                     let nft_id = TokenId(nft_id);
-                    if RmrkCore::ensure_nft_type(collection_id, nft_id, NftType::Resource).is_err() { return Ok(Vec::new()); }
+                    if RmrkCore::ensure_nft_type(collection_id, nft_id, NftType::Regular).is_err() { return Ok(Vec::new()); }
 
-                    let resource_collection_id: CollectionId = RmrkCore::get_nft_property(collection_id, nft_id, RmrkProperty::ResourceCollection)
-                        .unwrap()
+                    let res_collection_id: CollectionId = RmrkCore::get_nft_property(collection_id, nft_id, RmrkProperty::ResourceCollection)?
                         .decode_or_default();
-                    if RmrkCore::ensure_collection_type(collection_id, CollectionType::Resource).is_err() { return Ok(Vec::new()); }
+                    let resource_collection = RmrkCore::get_typed_nft_collection(res_collection_id, CollectionType::Resource)?;
 
-                    let resources = pallet_nonfungible::TokenProperties::<Runtime>::iter_prefix((resource_collection_id,))
-                        .filter_map(|(resource_id, properties)| Some(RmrkResourceInfo {
-                            id: BoundedVec::default(), // todo ResourceId property
-                            pending: RmrkCore::get_nft_property(resource_collection_id, resource_id, RmrkProperty::PendingResourceAccept).unwrap().decode_or_default(),
-                            pending_removal: RmrkCore::get_nft_property(resource_collection_id, resource_id, RmrkProperty::PendingResourceRemoval).unwrap().decode_or_default(),
-                            resource: RmrkCore::get_nft_property(resource_collection_id, resource_id, RmrkProperty::ResourceType).unwrap().decode_or_default(),/* {
-                                RmrkResourceTypes::Basic(resource) => RmrkResourceTypes::Basic(),/*(RmrkBasicResource {
-                                    src: RmrkCore::get_nft_property_inner(properties, RmrkProperty::Src).unwrap().decode_or_default(),
-                                    metadata: RmrkCore::get_nft_property_inner(properties, RmrkProperty::Metadata).unwrap().decode_or_default(),
-                                    license: RmrkCore::get_nft_property_inner(properties, RmrkProperty::License).unwrap().decode_or_default(),
-                                    thumb: RmrkCore::get_nft_property_inner(properties, RmrkProperty::Thumb).unwrap().decode_or_default(),
-                                },*///BasicResource<BoundedString>)
-                                _ => todo!(), //RmrkResourceTypes::Composable(ComposableResource<BoundedString, BoundedParts>),
-                                //RmrkResourceTypes::Slot(SlotResource<BoundedString>),
-                            },*/
+                    let resources = resource_collection
+                        .collection_tokens()
+                        .iter()
+                        .filter_map(|(res_id)| Some(RmrkResourceInfo {
+                            id: res_id.0,
+                            pending: RmrkCore::get_nft_property(res_collection_id, *res_id, RmrkProperty::PendingResourceAccept).unwrap().decode_or_default(),
+                            pending_removal: RmrkCore::get_nft_property(res_collection_id, *res_id, RmrkProperty::PendingResourceRemoval).unwrap().decode_or_default(),
+                            resource: match RmrkCore::get_nft_property(res_collection_id, *res_id, RmrkProperty::ResourceType).unwrap().decode_or_default() {
+                                ResourceType::Basic => RmrkResourceTypes::Basic(RmrkBasicResource {
+                                    src: RmrkCore::get_nft_property(res_collection_id, *res_id, RmrkProperty::Src).unwrap().decode_or_default(),
+                                    metadata: RmrkCore::get_nft_property(res_collection_id, *res_id, RmrkProperty::Metadata).unwrap().decode_or_default(),
+                                    license: RmrkCore::get_nft_property(res_collection_id, *res_id, RmrkProperty::License).unwrap().decode_or_default(),
+                                    thumb: RmrkCore::get_nft_property(res_collection_id, *res_id, RmrkProperty::Thumb).unwrap().decode_or_default(),
+                                }),
+                                ResourceType::Composable => RmrkResourceTypes::Composable(RmrkComposableResource {
+                                    parts: RmrkCore::get_nft_property(res_collection_id, *res_id, RmrkProperty::Parts).unwrap().decode_or_default(),
+                                    base: RmrkCore::get_nft_property(res_collection_id, *res_id, RmrkProperty::Base).unwrap().decode_or_default(),
+                                    src: RmrkCore::get_nft_property(res_collection_id, *res_id, RmrkProperty::Src).unwrap().decode_or_default(),
+                                    metadata: RmrkCore::get_nft_property(res_collection_id, *res_id, RmrkProperty::Metadata).unwrap().decode_or_default(),
+                                    license: RmrkCore::get_nft_property(res_collection_id, *res_id, RmrkProperty::License).unwrap().decode_or_default(),
+                                    thumb: RmrkCore::get_nft_property(res_collection_id, *res_id, RmrkProperty::Thumb).unwrap().decode_or_default(),
+                                }),
+                                ResourceType::Slot => RmrkResourceTypes::Slot(RmrkSlotResource {
+                                    base: RmrkCore::get_nft_property(res_collection_id, *res_id, RmrkProperty::Base).unwrap().decode_or_default(),
+                                    src: RmrkCore::get_nft_property(res_collection_id, *res_id, RmrkProperty::Src).unwrap().decode_or_default(),
+                                    metadata: RmrkCore::get_nft_property(res_collection_id, *res_id, RmrkProperty::Metadata).unwrap().decode_or_default(),
+                                    slot: RmrkCore::get_nft_property(res_collection_id, *res_id, RmrkProperty::Slot).unwrap().decode_or_default(),
+                                    license: RmrkCore::get_nft_property(res_collection_id, *res_id, RmrkProperty::License).unwrap().decode_or_default(),
+                                    thumb: RmrkCore::get_nft_property(res_collection_id, *res_id, RmrkProperty::Thumb).unwrap().decode_or_default(),
+                                }),
+                                // todo refactor :|
+                            },
                         }))
                         .collect();
 
@@ -308,10 +327,10 @@
                     use pallet_proxy_rmrk_core::{RmrkProperty, misc::{CollectionType, NftType, RmrkDecode}};
 
                     let collection_id = RmrkCore::unique_collection_id(collection_id)?;
-                    if !RmrkCore::collection_exists(collection_id) { return Ok(Vec::new()); } // todo ensure the collection type doesn't matter
+                    if RmrkCore::ensure_collection_type(collection_id, CollectionType::Regular).is_err() { return Ok(Vec::new()); }
 
                     let nft_id = TokenId(nft_id);
-                    if RmrkCore::ensure_nft_type(collection_id, nft_id, NftType::Resource).is_err() { return Ok(Vec::new()); }
+                    if RmrkCore::ensure_nft_type(collection_id, nft_id, NftType::Regular).is_err() { return Ok(Vec::new()); }
 
                     /*let resource_collection_id: CollectionId = RmrkCore::get_nft_property(collection_id, nft_id, RmrkProperty::ResourceCollection)
                         .unwrap()
@@ -327,6 +346,7 @@
                         .sort_by_key(|(_, index)| *index)
                         .into_iter().map(|(resource_id, _)| resource_id)*/
                     let priorities = RmrkCore::get_nft_property(collection_id, nft_id, RmrkProperty::ResourcePriorities)?.decode_or_default();
+                    // todo let it simply be default here after removing default from decode
 
                     Ok(priorities)
                 }
modifiedtests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-errors.ts
+++ b/tests/src/interfaces/augment-api-errors.ts
@@ -437,6 +437,33 @@
        **/
       [key: string]: AugmentedError<ApiType>;
     };
+    rmrkCore: {
+      CollectionFullOrLocked: AugmentedError<ApiType>;
+      CollectionNotEmpty: AugmentedError<ApiType>;
+      CollectionUnknown: AugmentedError<ApiType>;
+      CorruptedCollectionType: AugmentedError<ApiType>;
+      NftTypeEncodeError: AugmentedError<ApiType>;
+      NoAvailableCollectionId: AugmentedError<ApiType>;
+      NoAvailableNftId: AugmentedError<ApiType>;
+      NoPermission: AugmentedError<ApiType>;
+      RmrkPropertyKeyIsTooLong: AugmentedError<ApiType>;
+      RmrkPropertyValueIsTooLong: AugmentedError<ApiType>;
+      /**
+       * Generic error
+       **/
+      [key: string]: AugmentedError<ApiType>;
+    };
+    rmrkEquip: {
+      BaseDoesntExist: AugmentedError<ApiType>;
+      NeedsDefaultThemeFirst: AugmentedError<ApiType>;
+      NoAvailableBaseId: AugmentedError<ApiType>;
+      NoAvailablePartId: AugmentedError<ApiType>;
+      PermissionError: AugmentedError<ApiType>;
+      /**
+       * Generic error
+       **/
+      [key: string]: AugmentedError<ApiType>;
+    };
     structure: {
       /**
        * While searched for owner, encountered depth limit
modifiedtests/src/interfaces/augment-api-events.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-events.ts
+++ b/tests/src/interfaces/augment-api-events.ts
@@ -396,6 +396,27 @@
        **/
       [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]>;
+      NFTBurned: AugmentedEvent<ApiType, [AccountId32, u32]>;
+      NftMinted: AugmentedEvent<ApiType, [AccountId32, u32, u32]>;
+      PropertySet: AugmentedEvent<ApiType, [u32, Option<u32>, Bytes, Bytes]>;
+      ResourceAdded: AugmentedEvent<ApiType, [u32, u32]>;
+      /**
+       * Generic event
+       **/
+      [key: string]: AugmentedEvent<ApiType>;
+    };
+    rmrkEquip: {
+      BaseCreated: AugmentedEvent<ApiType, [AccountId32, u32]>;
+      /**
+       * Generic event
+       **/
+      [key: string]: AugmentedEvent<ApiType>;
+    };
     structure: {
       /**
        * Executed call on behalf of token
modifiedtests/src/interfaces/augment-api-query.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-query.ts
+++ b/tests/src/interfaces/augment-api-query.ts
@@ -415,6 +415,22 @@
        **/
       [key: string]: QueryableStorageEntry<ApiType>;
     };
+    rmrkCore: {
+      collectionIndex: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
+      collectionIndexMap: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
+      /**
+       * Generic query
+       **/
+      [key: string]: QueryableStorageEntry<ApiType>;
+    };
+    rmrkEquip: {
+      baseHasDefaultTheme: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<bool>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
+      inernalPartId: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
+      /**
+       * Generic query
+       **/
+      [key: string]: QueryableStorageEntry<ApiType>;
+    };
     structure: {
       /**
        * Generic query
modifiedtests/src/interfaces/augment-api-rpc.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-rpc.ts
+++ b/tests/src/interfaces/augment-api-rpc.ts
@@ -22,7 +22,7 @@
 import type { StorageKind } from '@polkadot/types/interfaces/offchain';
 import type { FeeDetails, RuntimeDispatchInfo } from '@polkadot/types/interfaces/payment';
 import type { RpcMethods } from '@polkadot/types/interfaces/rpc';
-import type { AccountId, BlockNumber, H160, H256, H64, Hash, Header, Index, Justification, KeyValue, SignedBlock, StorageData } from '@polkadot/types/interfaces/runtime';
+import type { AccountId, AccountId32, BlockNumber, H160, H256, H64, Hash, Header, Index, Justification, KeyValue, SignedBlock, StorageData } from '@polkadot/types/interfaces/runtime';
 import type { MigrationStatusResult, ReadProof, RuntimeVersion, TraceBlockResponse } from '@polkadot/types/interfaces/state';
 import type { ApplyExtrinsicResult, ChainProperties, ChainType, Health, NetworkState, NodeRole, PeerInfo, SyncState } from '@polkadot/types/interfaces/system';
 import type { IExtrinsic, Observable } from '@polkadot/types/types';
@@ -397,6 +397,60 @@
        **/
       queryInfo: AugmentedRpc<(extrinsic: Bytes | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<RuntimeDispatchInfo>>;
     };
+    rmrk: {
+      /**
+       * Get tokens owned by an account in a collection
+       **/
+      accountTokens: AugmentedRpc<(accountId: AccountId32 | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<u32>>>;
+      /**
+       * Get base info
+       **/
+      base: AugmentedRpc<(baseId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<UpDataStructsRmrkBaseInfo>>>;
+      /**
+       * Get all Base's parts
+       **/
+      baseParts: AugmentedRpc<(baseId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsRmrkPartType>>>;
+      /**
+       * Get collection by id
+       **/
+      collectionById: AugmentedRpc<(id: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<UpDataStructsRmrkCollectionInfo>>>;
+      /**
+       * Get collection properties
+       **/
+      collectionProperties: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, filterKeys?: Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsRmrkPropertyInfo>>>;
+      /**
+       * Get the latest created collection id
+       **/
+      lastCollectionIdx: AugmentedRpc<(at?: Hash | string | Uint8Array) => Observable<u32>>;
+      /**
+       * Get NFT by collection id and NFT id
+       **/
+      nftById: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<UpDataStructsRmrkNftInfo>>>;
+      /**
+       * Get NFT children
+       **/
+      nftChildren: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsRmrkNftChild>>>;
+      /**
+       * Get NFT properties
+       **/
+      nftProperties: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, filterKeys?: Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsRmrkPropertyInfo>>>;
+      /**
+       * Get NFT resource priorities
+       **/
+      nftResourcePriorities: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<Bytes>>>;
+      /**
+       * Get NFT resources
+       **/
+      nftResources: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsRmrkResourceInfo>>>;
+      /**
+       * Get Base's theme names
+       **/
+      themeNames: AugmentedRpc<(baseId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<Bytes>>>;
+      /**
+       * Get Theme's keys values
+       **/
+      themes: AugmentedRpc<(baseId: u32 | AnyNumber | Uint8Array, themeName: Text | string, keys: Option<Vec<Text>> | null | object | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<UpDataStructsRmrkTheme>>>;
+    };
     rpc: {
       /**
        * Retrieves the list of RPC methods that are exposed by the node
modifiedtests/src/interfaces/augment-api-tx.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-tx.ts
+++ b/tests/src/interfaces/augment-api-tx.ts
@@ -4,8 +4,8 @@
 import type { ApiTypes } from '@polkadot/api-base/types';
 import type { Bytes, Compact, Option, U256, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types-codec';
 import type { AnyNumber, IMethod, ITuple } from '@polkadot/types-codec/types';
-import type { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime';
-import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumTransactionTransactionV2, OrmlVestingVestingSchedule, PalletEvmAccountBasicCrossAccountIdRepr, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
+import type { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill } from '@polkadot/types/interfaces/runtime';
+import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumTransactionTransactionV2, OrmlVestingVestingSchedule, PalletEvmAccountBasicCrossAccountIdRepr, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsRmrkBasicResource, UpDataStructsRmrkComposableResource, UpDataStructsRmrkPartType, UpDataStructsRmrkSlotResource, UpDataStructsRmrkTheme, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
 
 declare module '@polkadot/api-base/types/submittable' {
   export interface AugmentedSubmittables<ApiType extends ApiTypes> {
@@ -346,6 +346,30 @@
        **/
       [key: string]: SubmittableExtrinsicFunction<ApiType>;
     };
+    rmrkCore: {
+      addBasicResource: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, resource: UpDataStructsRmrkBasicResource | { src?: any; metadata?: any; license?: any; thumb?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, UpDataStructsRmrkBasicResource]>;
+      addComposableResource: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, resourceId: Bytes | string | Uint8Array, resource: UpDataStructsRmrkComposableResource | { parts?: any; base?: any; src?: any; metadata?: any; license?: any; thumb?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, Bytes, UpDataStructsRmrkComposableResource]>;
+      addSlotResource: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, resource: UpDataStructsRmrkSlotResource | { base?: any; src?: any; metadata?: any; slot?: any; license?: any; thumb?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, UpDataStructsRmrkSlotResource]>;
+      burnNft: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32]>;
+      changeCollectionIssuer: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newIssuer: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, MultiAddress]>;
+      createCollection: AugmentedSubmittable<(metadata: Bytes | string | Uint8Array, max: Option<u32> | null | object | string | Uint8Array, symbol: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes, Option<u32>, Bytes]>;
+      destroyCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
+      lockCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
+      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) => SubmittableExtrinsic<ApiType>, [AccountId32, u32, Option<AccountId32>, Option<Permill>, Bytes]>;
+      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
+       **/
+      [key: string]: SubmittableExtrinsicFunction<ApiType>;
+    };
+    rmrkEquip: {
+      createBase: AugmentedSubmittable<(baseType: Bytes | string | Uint8Array, symbol: Bytes | string | Uint8Array, parts: Vec<UpDataStructsRmrkPartType> | (UpDataStructsRmrkPartType | { FixedPart: any } | { SlotPart: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Bytes, Bytes, Vec<UpDataStructsRmrkPartType>]>;
+      themeAdd: AugmentedSubmittable<(baseId: u32 | AnyNumber | Uint8Array, theme: UpDataStructsRmrkTheme | { name?: any; properties?: any; inherit?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsRmrkTheme]>;
+      /**
+       * Generic tx
+       **/
+      [key: string]: SubmittableExtrinsicFunction<ApiType>;
+    };
     structure: {
       /**
        * Generic tx
modifiedtests/src/interfaces/augment-types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-types.ts
+++ b/tests/src/interfaces/augment-types.ts
@@ -788,6 +788,12 @@
     PalletNonfungibleItemData: PalletNonfungibleItemData;
     PalletRefungibleError: PalletRefungibleError;
     PalletRefungibleItemData: PalletRefungibleItemData;
+    PalletRmrkCoreCall: PalletRmrkCoreCall;
+    PalletRmrkCoreError: PalletRmrkCoreError;
+    PalletRmrkCoreEvent: PalletRmrkCoreEvent;
+    PalletRmrkEquipCall: PalletRmrkEquipCall;
+    PalletRmrkEquipError: PalletRmrkEquipError;
+    PalletRmrkEquipEvent: PalletRmrkEquipEvent;
     PalletsOrigin: PalletsOrigin;
     PalletStorageMetadataLatest: PalletStorageMetadataLatest;
     PalletStorageMetadataV14: PalletStorageMetadataV14;
modifiedtests/src/interfaces/default/types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/default/types.ts
+++ b/tests/src/interfaces/default/types.ts
@@ -1129,6 +1129,169 @@
   readonly constData: Bytes;
 }
 
+/** @name PalletRmrkCoreCall */
+export interface PalletRmrkCoreCall extends Enum {
+  readonly isCreateCollection: boolean;
+  readonly asCreateCollection: {
+    readonly metadata: Bytes;
+    readonly max: Option<u32>;
+    readonly symbol: Bytes;
+  } & Struct;
+  readonly isDestroyCollection: boolean;
+  readonly asDestroyCollection: {
+    readonly collectionId: u32;
+  } & Struct;
+  readonly isChangeCollectionIssuer: boolean;
+  readonly asChangeCollectionIssuer: {
+    readonly collectionId: u32;
+    readonly newIssuer: MultiAddress;
+  } & Struct;
+  readonly isLockCollection: boolean;
+  readonly asLockCollection: {
+    readonly collectionId: u32;
+  } & Struct;
+  readonly isMintNft: boolean;
+  readonly asMintNft: {
+    readonly owner: AccountId32;
+    readonly collectionId: u32;
+    readonly recipient: Option<AccountId32>;
+    readonly royaltyAmount: Option<Permill>;
+    readonly metadata: Bytes;
+  } & Struct;
+  readonly isBurnNft: boolean;
+  readonly asBurnNft: {
+    readonly collectionId: u32;
+    readonly nftId: u32;
+  } & Struct;
+  readonly isSetProperty: boolean;
+  readonly asSetProperty: {
+    readonly rmrkCollectionId: Compact<u32>;
+    readonly maybeNftId: Option<u32>;
+    readonly key: Bytes;
+    readonly value: Bytes;
+  } & Struct;
+  readonly isAddBasicResource: boolean;
+  readonly asAddBasicResource: {
+    readonly collectionId: u32;
+    readonly nftId: u32;
+    readonly resource: UpDataStructsRmrkBasicResource;
+  } & Struct;
+  readonly isAddComposableResource: boolean;
+  readonly asAddComposableResource: {
+    readonly collectionId: u32;
+    readonly nftId: u32;
+    readonly resourceId: Bytes;
+    readonly resource: UpDataStructsRmrkComposableResource;
+  } & Struct;
+  readonly isAddSlotResource: boolean;
+  readonly asAddSlotResource: {
+    readonly collectionId: u32;
+    readonly nftId: u32;
+    readonly resource: UpDataStructsRmrkSlotResource;
+  } & Struct;
+  readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'SetProperty' | 'AddBasicResource' | 'AddComposableResource' | 'AddSlotResource';
+}
+
+/** @name PalletRmrkCoreError */
+export interface PalletRmrkCoreError extends Enum {
+  readonly isCorruptedCollectionType: boolean;
+  readonly isNftTypeEncodeError: boolean;
+  readonly isRmrkPropertyKeyIsTooLong: boolean;
+  readonly isRmrkPropertyValueIsTooLong: boolean;
+  readonly isCollectionNotEmpty: boolean;
+  readonly isNoAvailableCollectionId: boolean;
+  readonly isNoAvailableNftId: boolean;
+  readonly isCollectionUnknown: boolean;
+  readonly isNoPermission: boolean;
+  readonly isCollectionFullOrLocked: boolean;
+  readonly type: 'CorruptedCollectionType' | 'NftTypeEncodeError' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'CollectionFullOrLocked';
+}
+
+/** @name PalletRmrkCoreEvent */
+export interface PalletRmrkCoreEvent extends Enum {
+  readonly isCollectionCreated: boolean;
+  readonly asCollectionCreated: {
+    readonly issuer: AccountId32;
+    readonly collectionId: u32;
+  } & Struct;
+  readonly isCollectionDestroyed: boolean;
+  readonly asCollectionDestroyed: {
+    readonly issuer: AccountId32;
+    readonly collectionId: u32;
+  } & Struct;
+  readonly isIssuerChanged: boolean;
+  readonly asIssuerChanged: {
+    readonly oldIssuer: AccountId32;
+    readonly newIssuer: AccountId32;
+    readonly collectionId: u32;
+  } & Struct;
+  readonly isCollectionLocked: boolean;
+  readonly asCollectionLocked: {
+    readonly issuer: AccountId32;
+    readonly collectionId: u32;
+  } & Struct;
+  readonly isNftMinted: boolean;
+  readonly asNftMinted: {
+    readonly owner: AccountId32;
+    readonly collectionId: u32;
+    readonly nftId: u32;
+  } & Struct;
+  readonly isNftBurned: boolean;
+  readonly asNftBurned: {
+    readonly owner: AccountId32;
+    readonly nftId: u32;
+  } & Struct;
+  readonly isPropertySet: boolean;
+  readonly asPropertySet: {
+    readonly collectionId: u32;
+    readonly maybeNftId: Option<u32>;
+    readonly key: Bytes;
+    readonly value: Bytes;
+  } & Struct;
+  readonly isResourceAdded: boolean;
+  readonly asResourceAdded: {
+    readonly nftId: u32;
+    readonly resourceId: u32;
+  } & Struct;
+  readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'PropertySet' | 'ResourceAdded';
+}
+
+/** @name PalletRmrkEquipCall */
+export interface PalletRmrkEquipCall extends Enum {
+  readonly isCreateBase: boolean;
+  readonly asCreateBase: {
+    readonly baseType: Bytes;
+    readonly symbol: Bytes;
+    readonly parts: Vec<UpDataStructsRmrkPartType>;
+  } & Struct;
+  readonly isThemeAdd: boolean;
+  readonly asThemeAdd: {
+    readonly baseId: u32;
+    readonly theme: UpDataStructsRmrkTheme;
+  } & Struct;
+  readonly type: 'CreateBase' | 'ThemeAdd';
+}
+
+/** @name PalletRmrkEquipError */
+export interface PalletRmrkEquipError extends Enum {
+  readonly isPermissionError: boolean;
+  readonly isNoAvailableBaseId: boolean;
+  readonly isNoAvailablePartId: boolean;
+  readonly isBaseDoesntExist: boolean;
+  readonly isNeedsDefaultThemeFirst: boolean;
+  readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst';
+}
+
+/** @name PalletRmrkEquipEvent */
+export interface PalletRmrkEquipEvent extends Enum {
+  readonly isBaseCreated: boolean;
+  readonly asBaseCreated: {
+    readonly issuer: AccountId32;
+    readonly baseId: u32;
+  } & Struct;
+  readonly type: 'BaseCreated';
+}
+
 /** @name PalletStructureCall */
 export interface PalletStructureCall extends Null {}
 
@@ -2014,7 +2177,7 @@
 
 /** @name UpDataStructsRmrkResourceInfo */
 export interface UpDataStructsRmrkResourceInfo extends Struct {
-  readonly id: Bytes;
+  readonly id: u32;
   readonly resource: UpDataStructsRmrkResourceTypes;
   readonly pending: bool;
   readonly pendingRemoval: bool;
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;8]',158    amount: 'u128'159  },160  /**161   * Lookup50: pallet_balances::Releases162   **/163  PalletBalancesReleases: {164    _enum: ['V1_0_0', 'V2_0_0']165  },166  /**167   * Lookup51: 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   * Lookup57: 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   * Lookup58: frame_support::traits::tokens::misc::BalanceStatus252   **/253  FrameSupportTokensMiscBalanceStatus: {254    _enum: ['Free', 'Reserved']255  },256  /**257   * Lookup59: pallet_balances::pallet::Error<T, I>258   **/259  PalletBalancesError: {260    _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves']261  },262  /**263   * Lookup62: pallet_timestamp::pallet::Call<T>264   **/265  PalletTimestampCall: {266    _enum: {267      set: {268        now: 'Compact<u64>'269      }270    }271  },272  /**273   * Lookup65: pallet_transaction_payment::Releases274   **/275  PalletTransactionPaymentReleases: {276    _enum: ['V1Ancient', 'V2']277  },278  /**279   * Lookup67: frame_support::weights::WeightToFeeCoefficient<Balance>280   **/281  FrameSupportWeightsWeightToFeeCoefficient: {282    coeffInteger: 'u128',283    coeffFrac: 'Perbill',284    negative: 'bool',285    degree: 'u8'286  },287  /**288   * Lookup69: 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   * Lookup72: 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    }312  },313  /**314   * Lookup74: pallet_treasury::pallet::Event<T, I>315   **/316  PalletTreasuryEvent: {317    _enum: {318      Proposed: {319        proposalIndex: 'u32',320      },321      Spending: {322        budgetRemaining: 'u128',323      },324      Awarded: {325        proposalIndex: 'u32',326        award: 'u128',327        account: 'AccountId32',328      },329      Rejected: {330        proposalIndex: 'u32',331        slashed: 'u128',332      },333      Burnt: {334        burntFunds: 'u128',335      },336      Rollover: {337        rolloverBalance: 'u128',338      },339      Deposit: {340        value: 'u128'341      }342    }343  },344  /**345   * Lookup77: frame_support::PalletId346   **/347  FrameSupportPalletId: '[u8;8]',348  /**349   * Lookup78: pallet_treasury::pallet::Error<T, I>350   **/351  PalletTreasuryError: {352    _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals']353  },354  /**355   * Lookup79: pallet_sudo::pallet::Call<T>356   **/357  PalletSudoCall: {358    _enum: {359      sudo: {360        call: 'Call',361      },362      sudo_unchecked_weight: {363        call: 'Call',364        weight: 'u64',365      },366      set_key: {367        _alias: {368          new_: 'new',369        },370        new_: 'MultiAddress',371      },372      sudo_as: {373        who: 'MultiAddress',374        call: 'Call'375      }376    }377  },378  /**379   * Lookup81: frame_system::pallet::Call<T>380   **/381  FrameSystemCall: {382    _enum: {383      fill_block: {384        ratio: 'Perbill',385      },386      remark: {387        remark: 'Bytes',388      },389      set_heap_pages: {390        pages: 'u64',391      },392      set_code: {393        code: 'Bytes',394      },395      set_code_without_checks: {396        code: 'Bytes',397      },398      set_storage: {399        items: 'Vec<(Bytes,Bytes)>',400      },401      kill_storage: {402        _alias: {403          keys_: 'keys',404        },405        keys_: 'Vec<Bytes>',406      },407      kill_prefix: {408        prefix: 'Bytes',409        subkeys: 'u32',410      },411      remark_with_event: {412        remark: 'Bytes'413      }414    }415  },416  /**417   * Lookup84: orml_vesting::module::Call<T>418   **/419  OrmlVestingModuleCall: {420    _enum: {421      claim: 'Null',422      vested_transfer: {423        dest: 'MultiAddress',424        schedule: 'OrmlVestingVestingSchedule',425      },426      update_vesting_schedules: {427        who: 'MultiAddress',428        vestingSchedules: 'Vec<OrmlVestingVestingSchedule>',429      },430      claim_for: {431        dest: 'MultiAddress'432      }433    }434  },435  /**436   * Lookup85: orml_vesting::VestingSchedule<BlockNumber, Balance>437   **/438  OrmlVestingVestingSchedule: {439    start: 'u32',440    period: 'u32',441    periodCount: 'u32',442    perPeriod: 'Compact<u128>'443  },444  /**445   * Lookup87: cumulus_pallet_xcmp_queue::pallet::Call<T>446   **/447  CumulusPalletXcmpQueueCall: {448    _enum: {449      service_overweight: {450        index: 'u64',451        weightLimit: 'u64',452      },453      suspend_xcm_execution: 'Null',454      resume_xcm_execution: 'Null',455      update_suspend_threshold: {456        _alias: {457          new_: 'new',458        },459        new_: 'u32',460      },461      update_drop_threshold: {462        _alias: {463          new_: 'new',464        },465        new_: 'u32',466      },467      update_resume_threshold: {468        _alias: {469          new_: 'new',470        },471        new_: 'u32',472      },473      update_threshold_weight: {474        _alias: {475          new_: 'new',476        },477        new_: 'u64',478      },479      update_weight_restrict_decay: {480        _alias: {481          new_: 'new',482        },483        new_: 'u64',484      },485      update_xcmp_max_individual_weight: {486        _alias: {487          new_: 'new',488        },489        new_: 'u64'490      }491    }492  },493  /**494   * Lookup88: pallet_xcm::pallet::Call<T>495   **/496  PalletXcmCall: {497    _enum: {498      send: {499        dest: 'XcmVersionedMultiLocation',500        message: 'XcmVersionedXcm',501      },502      teleport_assets: {503        dest: 'XcmVersionedMultiLocation',504        beneficiary: 'XcmVersionedMultiLocation',505        assets: 'XcmVersionedMultiAssets',506        feeAssetItem: 'u32',507      },508      reserve_transfer_assets: {509        dest: 'XcmVersionedMultiLocation',510        beneficiary: 'XcmVersionedMultiLocation',511        assets: 'XcmVersionedMultiAssets',512        feeAssetItem: 'u32',513      },514      execute: {515        message: 'XcmVersionedXcm',516        maxWeight: 'u64',517      },518      force_xcm_version: {519        location: 'XcmV1MultiLocation',520        xcmVersion: 'u32',521      },522      force_default_xcm_version: {523        maybeXcmVersion: 'Option<u32>',524      },525      force_subscribe_version_notify: {526        location: 'XcmVersionedMultiLocation',527      },528      force_unsubscribe_version_notify: {529        location: 'XcmVersionedMultiLocation',530      },531      limited_reserve_transfer_assets: {532        dest: 'XcmVersionedMultiLocation',533        beneficiary: 'XcmVersionedMultiLocation',534        assets: 'XcmVersionedMultiAssets',535        feeAssetItem: 'u32',536        weightLimit: 'XcmV2WeightLimit',537      },538      limited_teleport_assets: {539        dest: 'XcmVersionedMultiLocation',540        beneficiary: 'XcmVersionedMultiLocation',541        assets: 'XcmVersionedMultiAssets',542        feeAssetItem: 'u32',543        weightLimit: 'XcmV2WeightLimit'544      }545    }546  },547  /**548   * Lookup89: xcm::VersionedMultiLocation549   **/550  XcmVersionedMultiLocation: {551    _enum: {552      V0: 'XcmV0MultiLocation',553      V1: 'XcmV1MultiLocation'554    }555  },556  /**557   * Lookup90: xcm::v0::multi_location::MultiLocation558   **/559  XcmV0MultiLocation: {560    _enum: {561      Null: 'Null',562      X1: 'XcmV0Junction',563      X2: '(XcmV0Junction,XcmV0Junction)',564      X3: '(XcmV0Junction,XcmV0Junction,XcmV0Junction)',565      X4: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',566      X5: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',567      X6: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',568      X7: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',569      X8: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)'570    }571  },572  /**573   * Lookup91: xcm::v0::junction::Junction574   **/575  XcmV0Junction: {576    _enum: {577      Parent: 'Null',578      Parachain: 'Compact<u32>',579      AccountId32: {580        network: 'XcmV0JunctionNetworkId',581        id: '[u8;32]',582      },583      AccountIndex64: {584        network: 'XcmV0JunctionNetworkId',585        index: 'Compact<u64>',586      },587      AccountKey20: {588        network: 'XcmV0JunctionNetworkId',589        key: '[u8;20]',590      },591      PalletInstance: 'u8',592      GeneralIndex: 'Compact<u128>',593      GeneralKey: 'Bytes',594      OnlyChild: 'Null',595      Plurality: {596        id: 'XcmV0JunctionBodyId',597        part: 'XcmV0JunctionBodyPart'598      }599    }600  },601  /**602   * Lookup92: xcm::v0::junction::NetworkId603   **/604  XcmV0JunctionNetworkId: {605    _enum: {606      Any: 'Null',607      Named: 'Bytes',608      Polkadot: 'Null',609      Kusama: 'Null'610    }611  },612  /**613   * Lookup93: xcm::v0::junction::BodyId614   **/615  XcmV0JunctionBodyId: {616    _enum: {617      Unit: 'Null',618      Named: 'Bytes',619      Index: 'Compact<u32>',620      Executive: 'Null',621      Technical: 'Null',622      Legislative: 'Null',623      Judicial: 'Null'624    }625  },626  /**627   * Lookup94: xcm::v0::junction::BodyPart628   **/629  XcmV0JunctionBodyPart: {630    _enum: {631      Voice: 'Null',632      Members: {633        count: 'Compact<u32>',634      },635      Fraction: {636        nom: 'Compact<u32>',637        denom: 'Compact<u32>',638      },639      AtLeastProportion: {640        nom: 'Compact<u32>',641        denom: 'Compact<u32>',642      },643      MoreThanProportion: {644        nom: 'Compact<u32>',645        denom: 'Compact<u32>'646      }647    }648  },649  /**650   * Lookup95: xcm::v1::multilocation::MultiLocation651   **/652  XcmV1MultiLocation: {653    parents: 'u8',654    interior: 'XcmV1MultilocationJunctions'655  },656  /**657   * Lookup96: xcm::v1::multilocation::Junctions658   **/659  XcmV1MultilocationJunctions: {660    _enum: {661      Here: 'Null',662      X1: 'XcmV1Junction',663      X2: '(XcmV1Junction,XcmV1Junction)',664      X3: '(XcmV1Junction,XcmV1Junction,XcmV1Junction)',665      X4: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',666      X5: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',667      X6: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',668      X7: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',669      X8: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)'670    }671  },672  /**673   * Lookup97: xcm::v1::junction::Junction674   **/675  XcmV1Junction: {676    _enum: {677      Parachain: 'Compact<u32>',678      AccountId32: {679        network: 'XcmV0JunctionNetworkId',680        id: '[u8;32]',681      },682      AccountIndex64: {683        network: 'XcmV0JunctionNetworkId',684        index: 'Compact<u64>',685      },686      AccountKey20: {687        network: 'XcmV0JunctionNetworkId',688        key: '[u8;20]',689      },690      PalletInstance: 'u8',691      GeneralIndex: 'Compact<u128>',692      GeneralKey: 'Bytes',693      OnlyChild: 'Null',694      Plurality: {695        id: 'XcmV0JunctionBodyId',696        part: 'XcmV0JunctionBodyPart'697      }698    }699  },700  /**701   * Lookup98: xcm::VersionedXcm<Call>702   **/703  XcmVersionedXcm: {704    _enum: {705      V0: 'XcmV0Xcm',706      V1: 'XcmV1Xcm',707      V2: 'XcmV2Xcm'708    }709  },710  /**711   * Lookup99: xcm::v0::Xcm<Call>712   **/713  XcmV0Xcm: {714    _enum: {715      WithdrawAsset: {716        assets: 'Vec<XcmV0MultiAsset>',717        effects: 'Vec<XcmV0Order>',718      },719      ReserveAssetDeposit: {720        assets: 'Vec<XcmV0MultiAsset>',721        effects: 'Vec<XcmV0Order>',722      },723      TeleportAsset: {724        assets: 'Vec<XcmV0MultiAsset>',725        effects: 'Vec<XcmV0Order>',726      },727      QueryResponse: {728        queryId: 'Compact<u64>',729        response: 'XcmV0Response',730      },731      TransferAsset: {732        assets: 'Vec<XcmV0MultiAsset>',733        dest: 'XcmV0MultiLocation',734      },735      TransferReserveAsset: {736        assets: 'Vec<XcmV0MultiAsset>',737        dest: 'XcmV0MultiLocation',738        effects: 'Vec<XcmV0Order>',739      },740      Transact: {741        originType: 'XcmV0OriginKind',742        requireWeightAtMost: 'u64',743        call: 'XcmDoubleEncoded',744      },745      HrmpNewChannelOpenRequest: {746        sender: 'Compact<u32>',747        maxMessageSize: 'Compact<u32>',748        maxCapacity: 'Compact<u32>',749      },750      HrmpChannelAccepted: {751        recipient: 'Compact<u32>',752      },753      HrmpChannelClosing: {754        initiator: 'Compact<u32>',755        sender: 'Compact<u32>',756        recipient: 'Compact<u32>',757      },758      RelayedFrom: {759        who: 'XcmV0MultiLocation',760        message: 'XcmV0Xcm'761      }762    }763  },764  /**765   * Lookup101: xcm::v0::multi_asset::MultiAsset766   **/767  XcmV0MultiAsset: {768    _enum: {769      None: 'Null',770      All: 'Null',771      AllFungible: 'Null',772      AllNonFungible: 'Null',773      AllAbstractFungible: {774        id: 'Bytes',775      },776      AllAbstractNonFungible: {777        class: 'Bytes',778      },779      AllConcreteFungible: {780        id: 'XcmV0MultiLocation',781      },782      AllConcreteNonFungible: {783        class: 'XcmV0MultiLocation',784      },785      AbstractFungible: {786        id: 'Bytes',787        amount: 'Compact<u128>',788      },789      AbstractNonFungible: {790        class: 'Bytes',791        instance: 'XcmV1MultiassetAssetInstance',792      },793      ConcreteFungible: {794        id: 'XcmV0MultiLocation',795        amount: 'Compact<u128>',796      },797      ConcreteNonFungible: {798        class: 'XcmV0MultiLocation',799        instance: 'XcmV1MultiassetAssetInstance'800      }801    }802  },803  /**804   * Lookup102: xcm::v1::multiasset::AssetInstance805   **/806  XcmV1MultiassetAssetInstance: {807    _enum: {808      Undefined: 'Null',809      Index: 'Compact<u128>',810      Array4: '[u8;4]',811      Array8: '[u8;8]',812      Array16: '[u8;16]',813      Array32: '[u8;32]',814      Blob: 'Bytes'815    }816  },817  /**818   * Lookup106: xcm::v0::order::Order<Call>819   **/820  XcmV0Order: {821    _enum: {822      Null: 'Null',823      DepositAsset: {824        assets: 'Vec<XcmV0MultiAsset>',825        dest: 'XcmV0MultiLocation',826      },827      DepositReserveAsset: {828        assets: 'Vec<XcmV0MultiAsset>',829        dest: 'XcmV0MultiLocation',830        effects: 'Vec<XcmV0Order>',831      },832      ExchangeAsset: {833        give: 'Vec<XcmV0MultiAsset>',834        receive: 'Vec<XcmV0MultiAsset>',835      },836      InitiateReserveWithdraw: {837        assets: 'Vec<XcmV0MultiAsset>',838        reserve: 'XcmV0MultiLocation',839        effects: 'Vec<XcmV0Order>',840      },841      InitiateTeleport: {842        assets: 'Vec<XcmV0MultiAsset>',843        dest: 'XcmV0MultiLocation',844        effects: 'Vec<XcmV0Order>',845      },846      QueryHolding: {847        queryId: 'Compact<u64>',848        dest: 'XcmV0MultiLocation',849        assets: 'Vec<XcmV0MultiAsset>',850      },851      BuyExecution: {852        fees: 'XcmV0MultiAsset',853        weight: 'u64',854        debt: 'u64',855        haltOnError: 'bool',856        xcm: 'Vec<XcmV0Xcm>'857      }858    }859  },860  /**861   * Lookup108: xcm::v0::Response862   **/863  XcmV0Response: {864    _enum: {865      Assets: 'Vec<XcmV0MultiAsset>'866    }867  },868  /**869   * Lookup109: xcm::v0::OriginKind870   **/871  XcmV0OriginKind: {872    _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']873  },874  /**875   * Lookup110: xcm::double_encoded::DoubleEncoded<T>876   **/877  XcmDoubleEncoded: {878    encoded: 'Bytes'879  },880  /**881   * Lookup111: xcm::v1::Xcm<Call>882   **/883  XcmV1Xcm: {884    _enum: {885      WithdrawAsset: {886        assets: 'XcmV1MultiassetMultiAssets',887        effects: 'Vec<XcmV1Order>',888      },889      ReserveAssetDeposited: {890        assets: 'XcmV1MultiassetMultiAssets',891        effects: 'Vec<XcmV1Order>',892      },893      ReceiveTeleportedAsset: {894        assets: 'XcmV1MultiassetMultiAssets',895        effects: 'Vec<XcmV1Order>',896      },897      QueryResponse: {898        queryId: 'Compact<u64>',899        response: 'XcmV1Response',900      },901      TransferAsset: {902        assets: 'XcmV1MultiassetMultiAssets',903        beneficiary: 'XcmV1MultiLocation',904      },905      TransferReserveAsset: {906        assets: 'XcmV1MultiassetMultiAssets',907        dest: 'XcmV1MultiLocation',908        effects: 'Vec<XcmV1Order>',909      },910      Transact: {911        originType: 'XcmV0OriginKind',912        requireWeightAtMost: 'u64',913        call: 'XcmDoubleEncoded',914      },915      HrmpNewChannelOpenRequest: {916        sender: 'Compact<u32>',917        maxMessageSize: 'Compact<u32>',918        maxCapacity: 'Compact<u32>',919      },920      HrmpChannelAccepted: {921        recipient: 'Compact<u32>',922      },923      HrmpChannelClosing: {924        initiator: 'Compact<u32>',925        sender: 'Compact<u32>',926        recipient: 'Compact<u32>',927      },928      RelayedFrom: {929        who: 'XcmV1MultilocationJunctions',930        message: 'XcmV1Xcm',931      },932      SubscribeVersion: {933        queryId: 'Compact<u64>',934        maxResponseWeight: 'Compact<u64>',935      },936      UnsubscribeVersion: 'Null'937    }938  },939  /**940   * Lookup112: xcm::v1::multiasset::MultiAssets941   **/942  XcmV1MultiassetMultiAssets: 'Vec<XcmV1MultiAsset>',943  /**944   * Lookup114: xcm::v1::multiasset::MultiAsset945   **/946  XcmV1MultiAsset: {947    id: 'XcmV1MultiassetAssetId',948    fun: 'XcmV1MultiassetFungibility'949  },950  /**951   * Lookup115: xcm::v1::multiasset::AssetId952   **/953  XcmV1MultiassetAssetId: {954    _enum: {955      Concrete: 'XcmV1MultiLocation',956      Abstract: 'Bytes'957    }958  },959  /**960   * Lookup116: xcm::v1::multiasset::Fungibility961   **/962  XcmV1MultiassetFungibility: {963    _enum: {964      Fungible: 'Compact<u128>',965      NonFungible: 'XcmV1MultiassetAssetInstance'966    }967  },968  /**969   * Lookup118: xcm::v1::order::Order<Call>970   **/971  XcmV1Order: {972    _enum: {973      Noop: 'Null',974      DepositAsset: {975        assets: 'XcmV1MultiassetMultiAssetFilter',976        maxAssets: 'u32',977        beneficiary: 'XcmV1MultiLocation',978      },979      DepositReserveAsset: {980        assets: 'XcmV1MultiassetMultiAssetFilter',981        maxAssets: 'u32',982        dest: 'XcmV1MultiLocation',983        effects: 'Vec<XcmV1Order>',984      },985      ExchangeAsset: {986        give: 'XcmV1MultiassetMultiAssetFilter',987        receive: 'XcmV1MultiassetMultiAssets',988      },989      InitiateReserveWithdraw: {990        assets: 'XcmV1MultiassetMultiAssetFilter',991        reserve: 'XcmV1MultiLocation',992        effects: 'Vec<XcmV1Order>',993      },994      InitiateTeleport: {995        assets: 'XcmV1MultiassetMultiAssetFilter',996        dest: 'XcmV1MultiLocation',997        effects: 'Vec<XcmV1Order>',998      },999      QueryHolding: {1000        queryId: 'Compact<u64>',1001        dest: 'XcmV1MultiLocation',1002        assets: 'XcmV1MultiassetMultiAssetFilter',1003      },1004      BuyExecution: {1005        fees: 'XcmV1MultiAsset',1006        weight: 'u64',1007        debt: 'u64',1008        haltOnError: 'bool',1009        instructions: 'Vec<XcmV1Xcm>'1010      }1011    }1012  },1013  /**1014   * Lookup119: xcm::v1::multiasset::MultiAssetFilter1015   **/1016  XcmV1MultiassetMultiAssetFilter: {1017    _enum: {1018      Definite: 'XcmV1MultiassetMultiAssets',1019      Wild: 'XcmV1MultiassetWildMultiAsset'1020    }1021  },1022  /**1023   * Lookup120: xcm::v1::multiasset::WildMultiAsset1024   **/1025  XcmV1MultiassetWildMultiAsset: {1026    _enum: {1027      All: 'Null',1028      AllOf: {1029        id: 'XcmV1MultiassetAssetId',1030        fun: 'XcmV1MultiassetWildFungibility'1031      }1032    }1033  },1034  /**1035   * Lookup121: xcm::v1::multiasset::WildFungibility1036   **/1037  XcmV1MultiassetWildFungibility: {1038    _enum: ['Fungible', 'NonFungible']1039  },1040  /**1041   * Lookup123: xcm::v1::Response1042   **/1043  XcmV1Response: {1044    _enum: {1045      Assets: 'XcmV1MultiassetMultiAssets',1046      Version: 'u32'1047    }1048  },1049  /**1050   * Lookup124: xcm::v2::Xcm<Call>1051   **/1052  XcmV2Xcm: 'Vec<XcmV2Instruction>',1053  /**1054   * Lookup126: xcm::v2::Instruction<Call>1055   **/1056  XcmV2Instruction: {1057    _enum: {1058      WithdrawAsset: 'XcmV1MultiassetMultiAssets',1059      ReserveAssetDeposited: 'XcmV1MultiassetMultiAssets',1060      ReceiveTeleportedAsset: 'XcmV1MultiassetMultiAssets',1061      QueryResponse: {1062        queryId: 'Compact<u64>',1063        response: 'XcmV2Response',1064        maxWeight: 'Compact<u64>',1065      },1066      TransferAsset: {1067        assets: 'XcmV1MultiassetMultiAssets',1068        beneficiary: 'XcmV1MultiLocation',1069      },1070      TransferReserveAsset: {1071        assets: 'XcmV1MultiassetMultiAssets',1072        dest: 'XcmV1MultiLocation',1073        xcm: 'XcmV2Xcm',1074      },1075      Transact: {1076        originType: 'XcmV0OriginKind',1077        requireWeightAtMost: 'Compact<u64>',1078        call: 'XcmDoubleEncoded',1079      },1080      HrmpNewChannelOpenRequest: {1081        sender: 'Compact<u32>',1082        maxMessageSize: 'Compact<u32>',1083        maxCapacity: 'Compact<u32>',1084      },1085      HrmpChannelAccepted: {1086        recipient: 'Compact<u32>',1087      },1088      HrmpChannelClosing: {1089        initiator: 'Compact<u32>',1090        sender: 'Compact<u32>',1091        recipient: 'Compact<u32>',1092      },1093      ClearOrigin: 'Null',1094      DescendOrigin: 'XcmV1MultilocationJunctions',1095      ReportError: {1096        queryId: 'Compact<u64>',1097        dest: 'XcmV1MultiLocation',1098        maxResponseWeight: 'Compact<u64>',1099      },1100      DepositAsset: {1101        assets: 'XcmV1MultiassetMultiAssetFilter',1102        maxAssets: 'Compact<u32>',1103        beneficiary: 'XcmV1MultiLocation',1104      },1105      DepositReserveAsset: {1106        assets: 'XcmV1MultiassetMultiAssetFilter',1107        maxAssets: 'Compact<u32>',1108        dest: 'XcmV1MultiLocation',1109        xcm: 'XcmV2Xcm',1110      },1111      ExchangeAsset: {1112        give: 'XcmV1MultiassetMultiAssetFilter',1113        receive: 'XcmV1MultiassetMultiAssets',1114      },1115      InitiateReserveWithdraw: {1116        assets: 'XcmV1MultiassetMultiAssetFilter',1117        reserve: 'XcmV1MultiLocation',1118        xcm: 'XcmV2Xcm',1119      },1120      InitiateTeleport: {1121        assets: 'XcmV1MultiassetMultiAssetFilter',1122        dest: 'XcmV1MultiLocation',1123        xcm: 'XcmV2Xcm',1124      },1125      QueryHolding: {1126        queryId: 'Compact<u64>',1127        dest: 'XcmV1MultiLocation',1128        assets: 'XcmV1MultiassetMultiAssetFilter',1129        maxResponseWeight: 'Compact<u64>',1130      },1131      BuyExecution: {1132        fees: 'XcmV1MultiAsset',1133        weightLimit: 'XcmV2WeightLimit',1134      },1135      RefundSurplus: 'Null',1136      SetErrorHandler: 'XcmV2Xcm',1137      SetAppendix: 'XcmV2Xcm',1138      ClearError: 'Null',1139      ClaimAsset: {1140        assets: 'XcmV1MultiassetMultiAssets',1141        ticket: 'XcmV1MultiLocation',1142      },1143      Trap: 'Compact<u64>',1144      SubscribeVersion: {1145        queryId: 'Compact<u64>',1146        maxResponseWeight: 'Compact<u64>',1147      },1148      UnsubscribeVersion: 'Null'1149    }1150  },1151  /**1152   * Lookup127: xcm::v2::Response1153   **/1154  XcmV2Response: {1155    _enum: {1156      Null: 'Null',1157      Assets: 'XcmV1MultiassetMultiAssets',1158      ExecutionResult: 'Option<(u32,XcmV2TraitsError)>',1159      Version: 'u32'1160    }1161  },1162  /**1163   * Lookup130: xcm::v2::traits::Error1164   **/1165  XcmV2TraitsError: {1166    _enum: {1167      Overflow: 'Null',1168      Unimplemented: 'Null',1169      UntrustedReserveLocation: 'Null',1170      UntrustedTeleportLocation: 'Null',1171      MultiLocationFull: 'Null',1172      MultiLocationNotInvertible: 'Null',1173      BadOrigin: 'Null',1174      InvalidLocation: 'Null',1175      AssetNotFound: 'Null',1176      FailedToTransactAsset: 'Null',1177      NotWithdrawable: 'Null',1178      LocationCannotHold: 'Null',1179      ExceedsMaxMessageSize: 'Null',1180      DestinationUnsupported: 'Null',1181      Transport: 'Null',1182      Unroutable: 'Null',1183      UnknownClaim: 'Null',1184      FailedToDecode: 'Null',1185      MaxWeightInvalid: 'Null',1186      NotHoldingFees: 'Null',1187      TooExpensive: 'Null',1188      Trap: 'u64',1189      UnhandledXcmVersion: 'Null',1190      WeightLimitReached: 'u64',1191      Barrier: 'Null',1192      WeightNotComputable: 'Null'1193    }1194  },1195  /**1196   * Lookup131: xcm::v2::WeightLimit1197   **/1198  XcmV2WeightLimit: {1199    _enum: {1200      Unlimited: 'Null',1201      Limited: 'Compact<u64>'1202    }1203  },1204  /**1205   * Lookup132: xcm::VersionedMultiAssets1206   **/1207  XcmVersionedMultiAssets: {1208    _enum: {1209      V0: 'Vec<XcmV0MultiAsset>',1210      V1: 'XcmV1MultiassetMultiAssets'1211    }1212  },1213  /**1214   * Lookup147: cumulus_pallet_xcm::pallet::Call<T>1215   **/1216  CumulusPalletXcmCall: 'Null',1217  /**1218   * Lookup148: cumulus_pallet_dmp_queue::pallet::Call<T>1219   **/1220  CumulusPalletDmpQueueCall: {1221    _enum: {1222      service_overweight: {1223        index: 'u64',1224        weightLimit: 'u64'1225      }1226    }1227  },1228  /**1229   * Lookup149: pallet_inflation::pallet::Call<T>1230   **/1231  PalletInflationCall: {1232    _enum: {1233      start_inflation: {1234        inflationStartRelayBlock: 'u32'1235      }1236    }1237  },1238  /**1239   * Lookup150: pallet_unique::Call<T>1240   **/1241  PalletUniqueCall: {1242    _enum: {1243      create_collection: {1244        collectionName: 'Vec<u16>',1245        collectionDescription: 'Vec<u16>',1246        tokenPrefix: 'Bytes',1247        mode: 'UpDataStructsCollectionMode',1248      },1249      create_collection_ex: {1250        data: 'UpDataStructsCreateCollectionData',1251      },1252      destroy_collection: {1253        collectionId: 'u32',1254      },1255      add_to_allow_list: {1256        collectionId: 'u32',1257        address: 'PalletEvmAccountBasicCrossAccountIdRepr',1258      },1259      remove_from_allow_list: {1260        collectionId: 'u32',1261        address: 'PalletEvmAccountBasicCrossAccountIdRepr',1262      },1263      change_collection_owner: {1264        collectionId: 'u32',1265        newOwner: 'AccountId32',1266      },1267      add_collection_admin: {1268        collectionId: 'u32',1269        newAdminId: 'PalletEvmAccountBasicCrossAccountIdRepr',1270      },1271      remove_collection_admin: {1272        collectionId: 'u32',1273        accountId: 'PalletEvmAccountBasicCrossAccountIdRepr',1274      },1275      set_collection_sponsor: {1276        collectionId: 'u32',1277        newSponsor: 'AccountId32',1278      },1279      confirm_sponsorship: {1280        collectionId: 'u32',1281      },1282      remove_collection_sponsor: {1283        collectionId: 'u32',1284      },1285      create_item: {1286        collectionId: 'u32',1287        owner: 'PalletEvmAccountBasicCrossAccountIdRepr',1288        data: 'UpDataStructsCreateItemData',1289      },1290      create_multiple_items: {1291        collectionId: 'u32',1292        owner: 'PalletEvmAccountBasicCrossAccountIdRepr',1293        itemsData: 'Vec<UpDataStructsCreateItemData>',1294      },1295      set_collection_properties: {1296        collectionId: 'u32',1297        properties: 'Vec<UpDataStructsProperty>',1298      },1299      delete_collection_properties: {1300        collectionId: 'u32',1301        propertyKeys: 'Vec<Bytes>',1302      },1303      set_token_properties: {1304        collectionId: 'u32',1305        tokenId: 'u32',1306        properties: 'Vec<UpDataStructsProperty>',1307      },1308      delete_token_properties: {1309        collectionId: 'u32',1310        tokenId: 'u32',1311        propertyKeys: 'Vec<Bytes>',1312      },1313      set_property_permissions: {1314        collectionId: 'u32',1315        propertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',1316      },1317      create_multiple_items_ex: {1318        collectionId: 'u32',1319        data: 'UpDataStructsCreateItemExData',1320      },1321      set_transfers_enabled_flag: {1322        collectionId: 'u32',1323        value: 'bool',1324      },1325      burn_item: {1326        collectionId: 'u32',1327        itemId: 'u32',1328        value: 'u128',1329      },1330      burn_from: {1331        collectionId: 'u32',1332        from: 'PalletEvmAccountBasicCrossAccountIdRepr',1333        itemId: 'u32',1334        value: 'u128',1335      },1336      transfer: {1337        recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',1338        collectionId: 'u32',1339        itemId: 'u32',1340        value: 'u128',1341      },1342      approve: {1343        spender: 'PalletEvmAccountBasicCrossAccountIdRepr',1344        collectionId: 'u32',1345        itemId: 'u32',1346        amount: 'u128',1347      },1348      transfer_from: {1349        from: 'PalletEvmAccountBasicCrossAccountIdRepr',1350        recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',1351        collectionId: 'u32',1352        itemId: 'u32',1353        value: 'u128',1354      },1355      set_collection_limits: {1356        collectionId: 'u32',1357        newLimit: 'UpDataStructsCollectionLimits',1358      },1359      set_collection_permissions: {1360        collectionId: 'u32',1361        newLimit: 'UpDataStructsCollectionPermissions'1362      }1363    }1364  },1365  /**1366   * Lookup156: up_data_structs::CollectionMode1367   **/1368  UpDataStructsCollectionMode: {1369    _enum: {1370      NFT: 'Null',1371      Fungible: 'u8',1372      ReFungible: 'Null'1373    }1374  },1375  /**1376   * Lookup157: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>1377   **/1378  UpDataStructsCreateCollectionData: {1379    mode: 'UpDataStructsCollectionMode',1380    access: 'Option<UpDataStructsAccessMode>',1381    name: 'Vec<u16>',1382    description: 'Vec<u16>',1383    tokenPrefix: 'Bytes',1384    pendingSponsor: 'Option<AccountId32>',1385    limits: 'Option<UpDataStructsCollectionLimits>',1386    permissions: 'Option<UpDataStructsCollectionPermissions>',1387    tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',1388    properties: 'Vec<UpDataStructsProperty>'1389  },1390  /**1391   * Lookup159: up_data_structs::AccessMode1392   **/1393  UpDataStructsAccessMode: {1394    _enum: ['Normal', 'AllowList']1395  },1396  /**1397   * Lookup162: up_data_structs::CollectionLimits1398   **/1399  UpDataStructsCollectionLimits: {1400    accountTokenOwnershipLimit: 'Option<u32>',1401    sponsoredDataSize: 'Option<u32>',1402    sponsoredDataRateLimit: 'Option<UpDataStructsSponsoringRateLimit>',1403    tokenLimit: 'Option<u32>',1404    sponsorTransferTimeout: 'Option<u32>',1405    sponsorApproveTimeout: 'Option<u32>',1406    ownerCanTransfer: 'Option<bool>',1407    ownerCanDestroy: 'Option<bool>',1408    transfersEnabled: 'Option<bool>'1409  },1410  /**1411   * Lookup164: up_data_structs::SponsoringRateLimit1412   **/1413  UpDataStructsSponsoringRateLimit: {1414    _enum: {1415      SponsoringDisabled: 'Null',1416      Blocks: 'u32'1417    }1418  },1419  /**1420   * Lookup167: up_data_structs::CollectionPermissions1421   **/1422  UpDataStructsCollectionPermissions: {1423    access: 'Option<UpDataStructsAccessMode>',1424    mintMode: 'Option<bool>',1425    nesting: 'Option<UpDataStructsNestingRule>'1426  },1427  /**1428   * Lookup169: up_data_structs::NestingRule1429   **/1430  UpDataStructsNestingRule: {1431    _enum: {1432      Disabled: 'Null',1433      Owner: 'Null',1434      OwnerRestricted: 'BTreeSet<u32>'1435    }1436  },1437  /**1438   * Lookup175: up_data_structs::PropertyKeyPermission1439   **/1440  UpDataStructsPropertyKeyPermission: {1441    key: 'Bytes',1442    permission: 'UpDataStructsPropertyPermission'1443  },1444  /**1445   * Lookup177: up_data_structs::PropertyPermission1446   **/1447  UpDataStructsPropertyPermission: {1448    mutable: 'bool',1449    collectionAdmin: 'bool',1450    tokenOwner: 'bool'1451  },1452  /**1453   * Lookup180: up_data_structs::Property1454   **/1455  UpDataStructsProperty: {1456    key: 'Bytes',1457    value: 'Bytes'1458  },1459  /**1460   * Lookup183: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>1461   **/1462  PalletEvmAccountBasicCrossAccountIdRepr: {1463    _enum: {1464      Substrate: 'AccountId32',1465      Ethereum: 'H160'1466    }1467  },1468  /**1469   * Lookup185: up_data_structs::CreateItemData1470   **/1471  UpDataStructsCreateItemData: {1472    _enum: {1473      NFT: 'UpDataStructsCreateNftData',1474      Fungible: 'UpDataStructsCreateFungibleData',1475      ReFungible: 'UpDataStructsCreateReFungibleData'1476    }1477  },1478  /**1479   * Lookup186: up_data_structs::CreateNftData1480   **/1481  UpDataStructsCreateNftData: {1482    properties: 'Vec<UpDataStructsProperty>'1483  },1484  /**1485   * Lookup187: up_data_structs::CreateFungibleData1486   **/1487  UpDataStructsCreateFungibleData: {1488    value: 'u128'1489  },1490  /**1491   * Lookup188: up_data_structs::CreateReFungibleData1492   **/1493  UpDataStructsCreateReFungibleData: {1494    constData: 'Bytes',1495    pieces: 'u128'1496  },1497  /**1498   * Lookup193: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1499   **/1500  UpDataStructsCreateItemExData: {1501    _enum: {1502      NFT: 'Vec<UpDataStructsCreateNftExData>',1503      Fungible: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',1504      RefungibleMultipleItems: 'Vec<UpDataStructsCreateRefungibleExData>',1505      RefungibleMultipleOwners: 'UpDataStructsCreateRefungibleExData'1506    }1507  },1508  /**1509   * Lookup195: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1510   **/1511  UpDataStructsCreateNftExData: {1512    properties: 'Vec<UpDataStructsProperty>',1513    owner: 'PalletEvmAccountBasicCrossAccountIdRepr'1514  },1515  /**1516   * Lookup202: up_data_structs::CreateRefungibleExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1517   **/1518  UpDataStructsCreateRefungibleExData: {1519    constData: 'Bytes',1520    users: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>'1521  },1522  /**1523   * Lookup204: pallet_template_transaction_payment::Call<T>1524   **/1525  PalletTemplateTransactionPaymentCall: 'Null',1526  /**1527   * Lookup205: pallet_structure::pallet::Call<T>1528   **/1529  PalletStructureCall: 'Null',1530  /**1531   * Lookup206: pallet_evm::pallet::Call<T>1532   **/1533  PalletEvmCall: {1534    _enum: {1535      withdraw: {1536        address: 'H160',1537        value: 'u128',1538      },1539      call: {1540        source: 'H160',1541        target: 'H160',1542        input: 'Bytes',1543        value: 'U256',1544        gasLimit: 'u64',1545        maxFeePerGas: 'U256',1546        maxPriorityFeePerGas: 'Option<U256>',1547        nonce: 'Option<U256>',1548        accessList: 'Vec<(H160,Vec<H256>)>',1549      },1550      create: {1551        source: 'H160',1552        init: 'Bytes',1553        value: 'U256',1554        gasLimit: 'u64',1555        maxFeePerGas: 'U256',1556        maxPriorityFeePerGas: 'Option<U256>',1557        nonce: 'Option<U256>',1558        accessList: 'Vec<(H160,Vec<H256>)>',1559      },1560      create2: {1561        source: 'H160',1562        init: 'Bytes',1563        salt: 'H256',1564        value: 'U256',1565        gasLimit: 'u64',1566        maxFeePerGas: 'U256',1567        maxPriorityFeePerGas: 'Option<U256>',1568        nonce: 'Option<U256>',1569        accessList: 'Vec<(H160,Vec<H256>)>'1570      }1571    }1572  },1573  /**1574   * Lookup212: pallet_ethereum::pallet::Call<T>1575   **/1576  PalletEthereumCall: {1577    _enum: {1578      transact: {1579        transaction: 'EthereumTransactionTransactionV2'1580      }1581    }1582  },1583  /**1584   * Lookup213: ethereum::transaction::TransactionV21585   **/1586  EthereumTransactionTransactionV2: {1587    _enum: {1588      Legacy: 'EthereumTransactionLegacyTransaction',1589      EIP2930: 'EthereumTransactionEip2930Transaction',1590      EIP1559: 'EthereumTransactionEip1559Transaction'1591    }1592  },1593  /**1594   * Lookup214: ethereum::transaction::LegacyTransaction1595   **/1596  EthereumTransactionLegacyTransaction: {1597    nonce: 'U256',1598    gasPrice: 'U256',1599    gasLimit: 'U256',1600    action: 'EthereumTransactionTransactionAction',1601    value: 'U256',1602    input: 'Bytes',1603    signature: 'EthereumTransactionTransactionSignature'1604  },1605  /**1606   * Lookup215: ethereum::transaction::TransactionAction1607   **/1608  EthereumTransactionTransactionAction: {1609    _enum: {1610      Call: 'H160',1611      Create: 'Null'1612    }1613  },1614  /**1615   * Lookup216: ethereum::transaction::TransactionSignature1616   **/1617  EthereumTransactionTransactionSignature: {1618    v: 'u64',1619    r: 'H256',1620    s: 'H256'1621  },1622  /**1623   * Lookup218: ethereum::transaction::EIP2930Transaction1624   **/1625  EthereumTransactionEip2930Transaction: {1626    chainId: 'u64',1627    nonce: 'U256',1628    gasPrice: 'U256',1629    gasLimit: 'U256',1630    action: 'EthereumTransactionTransactionAction',1631    value: 'U256',1632    input: 'Bytes',1633    accessList: 'Vec<EthereumTransactionAccessListItem>',1634    oddYParity: 'bool',1635    r: 'H256',1636    s: 'H256'1637  },1638  /**1639   * Lookup220: ethereum::transaction::AccessListItem1640   **/1641  EthereumTransactionAccessListItem: {1642    address: 'H160',1643    storageKeys: 'Vec<H256>'1644  },1645  /**1646   * Lookup221: ethereum::transaction::EIP1559Transaction1647   **/1648  EthereumTransactionEip1559Transaction: {1649    chainId: 'u64',1650    nonce: 'U256',1651    maxPriorityFeePerGas: 'U256',1652    maxFeePerGas: 'U256',1653    gasLimit: 'U256',1654    action: 'EthereumTransactionTransactionAction',1655    value: 'U256',1656    input: 'Bytes',1657    accessList: 'Vec<EthereumTransactionAccessListItem>',1658    oddYParity: 'bool',1659    r: 'H256',1660    s: 'H256'1661  },1662  /**1663   * Lookup222: pallet_evm_migration::pallet::Call<T>1664   **/1665  PalletEvmMigrationCall: {1666    _enum: {1667      begin: {1668        address: 'H160',1669      },1670      set_data: {1671        address: 'H160',1672        data: 'Vec<(H256,H256)>',1673      },1674      finish: {1675        address: 'H160',1676        code: 'Bytes'1677      }1678    }1679  },1680  /**1681   * Lookup225: pallet_sudo::pallet::Event<T>1682   **/1683  PalletSudoEvent: {1684    _enum: {1685      Sudid: {1686        sudoResult: 'Result<Null, SpRuntimeDispatchError>',1687      },1688      KeyChanged: {1689        oldSudoer: 'Option<AccountId32>',1690      },1691      SudoAsDone: {1692        sudoResult: 'Result<Null, SpRuntimeDispatchError>'1693      }1694    }1695  },1696  /**1697   * Lookup227: sp_runtime::DispatchError1698   **/1699  SpRuntimeDispatchError: {1700    _enum: {1701      Other: 'Null',1702      CannotLookup: 'Null',1703      BadOrigin: 'Null',1704      Module: 'SpRuntimeModuleError',1705      ConsumerRemaining: 'Null',1706      NoProviders: 'Null',1707      TooManyConsumers: 'Null',1708      Token: 'SpRuntimeTokenError',1709      Arithmetic: 'SpRuntimeArithmeticError',1710      Transactional: 'SpRuntimeTransactionalError'1711    }1712  },1713  /**1714   * Lookup228: sp_runtime::ModuleError1715   **/1716  SpRuntimeModuleError: {1717    index: 'u8',1718    error: '[u8;4]'1719  },1720  /**1721   * Lookup229: sp_runtime::TokenError1722   **/1723  SpRuntimeTokenError: {1724    _enum: ['NoFunds', 'WouldDie', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported']1725  },1726  /**1727   * Lookup230: sp_runtime::ArithmeticError1728   **/1729  SpRuntimeArithmeticError: {1730    _enum: ['Underflow', 'Overflow', 'DivisionByZero']1731  },1732  /**1733   * Lookup231: sp_runtime::TransactionalError1734   **/1735  SpRuntimeTransactionalError: {1736    _enum: ['LimitReached', 'NoLayer']1737  },1738  /**1739   * Lookup232: pallet_sudo::pallet::Error<T>1740   **/1741  PalletSudoError: {1742    _enum: ['RequireSudo']1743  },1744  /**1745   * Lookup233: frame_system::AccountInfo<Index, pallet_balances::AccountData<Balance>>1746   **/1747  FrameSystemAccountInfo: {1748    nonce: 'u32',1749    consumers: 'u32',1750    providers: 'u32',1751    sufficients: 'u32',1752    data: 'PalletBalancesAccountData'1753  },1754  /**1755   * Lookup234: frame_support::weights::PerDispatchClass<T>1756   **/1757  FrameSupportWeightsPerDispatchClassU64: {1758    normal: 'u64',1759    operational: 'u64',1760    mandatory: 'u64'1761  },1762  /**1763   * Lookup235: sp_runtime::generic::digest::Digest1764   **/1765  SpRuntimeDigest: {1766    logs: 'Vec<SpRuntimeDigestDigestItem>'1767  },1768  /**1769   * Lookup237: sp_runtime::generic::digest::DigestItem1770   **/1771  SpRuntimeDigestDigestItem: {1772    _enum: {1773      Other: 'Bytes',1774      __Unused1: 'Null',1775      __Unused2: 'Null',1776      __Unused3: 'Null',1777      Consensus: '([u8;4],Bytes)',1778      Seal: '([u8;4],Bytes)',1779      PreRuntime: '([u8;4],Bytes)',1780      __Unused7: 'Null',1781      RuntimeEnvironmentUpdated: 'Null'1782    }1783  },1784  /**1785   * Lookup239: frame_system::EventRecord<opal_runtime::Event, primitive_types::H256>1786   **/1787  FrameSystemEventRecord: {1788    phase: 'FrameSystemPhase',1789    event: 'Event',1790    topics: 'Vec<H256>'1791  },1792  /**1793   * Lookup241: frame_system::pallet::Event<T>1794   **/1795  FrameSystemEvent: {1796    _enum: {1797      ExtrinsicSuccess: {1798        dispatchInfo: 'FrameSupportWeightsDispatchInfo',1799      },1800      ExtrinsicFailed: {1801        dispatchError: 'SpRuntimeDispatchError',1802        dispatchInfo: 'FrameSupportWeightsDispatchInfo',1803      },1804      CodeUpdated: 'Null',1805      NewAccount: {1806        account: 'AccountId32',1807      },1808      KilledAccount: {1809        account: 'AccountId32',1810      },1811      Remarked: {1812        _alias: {1813          hash_: 'hash',1814        },1815        sender: 'AccountId32',1816        hash_: 'H256'1817      }1818    }1819  },1820  /**1821   * Lookup242: frame_support::weights::DispatchInfo1822   **/1823  FrameSupportWeightsDispatchInfo: {1824    weight: 'u64',1825    class: 'FrameSupportWeightsDispatchClass',1826    paysFee: 'FrameSupportWeightsPays'1827  },1828  /**1829   * Lookup243: frame_support::weights::DispatchClass1830   **/1831  FrameSupportWeightsDispatchClass: {1832    _enum: ['Normal', 'Operational', 'Mandatory']1833  },1834  /**1835   * Lookup244: frame_support::weights::Pays1836   **/1837  FrameSupportWeightsPays: {1838    _enum: ['Yes', 'No']1839  },1840  /**1841   * Lookup245: orml_vesting::module::Event<T>1842   **/1843  OrmlVestingModuleEvent: {1844    _enum: {1845      VestingScheduleAdded: {1846        from: 'AccountId32',1847        to: 'AccountId32',1848        vestingSchedule: 'OrmlVestingVestingSchedule',1849      },1850      Claimed: {1851        who: 'AccountId32',1852        amount: 'u128',1853      },1854      VestingSchedulesUpdated: {1855        who: 'AccountId32'1856      }1857    }1858  },1859  /**1860   * Lookup246: cumulus_pallet_xcmp_queue::pallet::Event<T>1861   **/1862  CumulusPalletXcmpQueueEvent: {1863    _enum: {1864      Success: 'Option<H256>',1865      Fail: '(Option<H256>,XcmV2TraitsError)',1866      BadVersion: 'Option<H256>',1867      BadFormat: 'Option<H256>',1868      UpwardMessageSent: 'Option<H256>',1869      XcmpMessageSent: 'Option<H256>',1870      OverweightEnqueued: '(u32,u32,u64,u64)',1871      OverweightServiced: '(u64,u64)'1872    }1873  },1874  /**1875   * Lookup247: pallet_xcm::pallet::Event<T>1876   **/1877  PalletXcmEvent: {1878    _enum: {1879      Attempted: 'XcmV2TraitsOutcome',1880      Sent: '(XcmV1MultiLocation,XcmV1MultiLocation,XcmV2Xcm)',1881      UnexpectedResponse: '(XcmV1MultiLocation,u64)',1882      ResponseReady: '(u64,XcmV2Response)',1883      Notified: '(u64,u8,u8)',1884      NotifyOverweight: '(u64,u8,u8,u64,u64)',1885      NotifyDispatchError: '(u64,u8,u8)',1886      NotifyDecodeFailed: '(u64,u8,u8)',1887      InvalidResponder: '(XcmV1MultiLocation,u64,Option<XcmV1MultiLocation>)',1888      InvalidResponderVersion: '(XcmV1MultiLocation,u64)',1889      ResponseTaken: 'u64',1890      AssetsTrapped: '(H256,XcmV1MultiLocation,XcmVersionedMultiAssets)',1891      VersionChangeNotified: '(XcmV1MultiLocation,u32)',1892      SupportedVersionChanged: '(XcmV1MultiLocation,u32)',1893      NotifyTargetSendFail: '(XcmV1MultiLocation,u64,XcmV2TraitsError)',1894      NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)'1895    }1896  },1897  /**1898   * Lookup248: xcm::v2::traits::Outcome1899   **/1900  XcmV2TraitsOutcome: {1901    _enum: {1902      Complete: 'u64',1903      Incomplete: '(u64,XcmV2TraitsError)',1904      Error: 'XcmV2TraitsError'1905    }1906  },1907  /**1908   * Lookup250: cumulus_pallet_xcm::pallet::Event<T>1909   **/1910  CumulusPalletXcmEvent: {1911    _enum: {1912      InvalidFormat: '[u8;8]',1913      UnsupportedVersion: '[u8;8]',1914      ExecutedDownward: '([u8;8],XcmV2TraitsOutcome)'1915    }1916  },1917  /**1918   * Lookup251: cumulus_pallet_dmp_queue::pallet::Event<T>1919   **/1920  CumulusPalletDmpQueueEvent: {1921    _enum: {1922      InvalidFormat: '[u8;32]',1923      UnsupportedVersion: '[u8;32]',1924      ExecutedDownward: '([u8;32],XcmV2TraitsOutcome)',1925      WeightExhausted: '([u8;32],u64,u64)',1926      OverweightEnqueued: '([u8;32],u64,u64)',1927      OverweightServiced: '(u64,u64)'1928    }1929  },1930  /**1931   * Lookup252: pallet_unique::RawEvent<sp_core::crypto::AccountId32, pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1932   **/1933  PalletUniqueRawEvent: {1934    _enum: {1935      CollectionSponsorRemoved: 'u32',1936      CollectionAdminAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',1937      CollectionOwnedChanged: '(u32,AccountId32)',1938      CollectionSponsorSet: '(u32,AccountId32)',1939      SponsorshipConfirmed: '(u32,AccountId32)',1940      CollectionAdminRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',1941      AllowListAddressRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',1942      AllowListAddressAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',1943      CollectionLimitSet: 'u32',1944      CollectionPermissionSet: 'u32'1945    }1946  },1947  /**1948   * Lookup253: pallet_common::pallet::Event<T>1949   **/1950  PalletCommonEvent: {1951    _enum: {1952      CollectionCreated: '(u32,u8,AccountId32)',1953      CollectionDestroyed: 'u32',1954      ItemCreated: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1955      ItemDestroyed: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1956      Transfer: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1957      Approved: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1958      CollectionPropertySet: '(u32,Bytes)',1959      CollectionPropertyDeleted: '(u32,Bytes)',1960      TokenPropertySet: '(u32,u32,Bytes)',1961      TokenPropertyDeleted: '(u32,u32,Bytes)',1962      PropertyPermissionSet: '(u32,Bytes)'1963    }1964  },1965  /**1966   * Lookup254: pallet_structure::pallet::Event<T>1967   **/1968  PalletStructureEvent: {1969    _enum: {1970      Executed: 'Result<Null, SpRuntimeDispatchError>'1971    }1972  },1973  /**1974   * Lookup255: pallet_evm::pallet::Event<T>1975   **/1976  PalletEvmEvent: {1977    _enum: {1978      Log: 'EthereumLog',1979      Created: 'H160',1980      CreatedFailed: 'H160',1981      Executed: 'H160',1982      ExecutedFailed: 'H160',1983      BalanceDeposit: '(AccountId32,H160,U256)',1984      BalanceWithdraw: '(AccountId32,H160,U256)'1985    }1986  },1987  /**1988   * Lookup256: ethereum::log::Log1989   **/1990  EthereumLog: {1991    address: 'H160',1992    topics: 'Vec<H256>',1993    data: 'Bytes'1994  },1995  /**1996   * Lookup257: pallet_ethereum::pallet::Event1997   **/1998  PalletEthereumEvent: {1999    _enum: {2000      Executed: '(H160,H160,H256,EvmCoreErrorExitReason)'2001    }2002  },2003  /**2004   * Lookup258: evm_core::error::ExitReason2005   **/2006  EvmCoreErrorExitReason: {2007    _enum: {2008      Succeed: 'EvmCoreErrorExitSucceed',2009      Error: 'EvmCoreErrorExitError',2010      Revert: 'EvmCoreErrorExitRevert',2011      Fatal: 'EvmCoreErrorExitFatal'2012    }2013  },2014  /**2015   * Lookup259: evm_core::error::ExitSucceed2016   **/2017  EvmCoreErrorExitSucceed: {2018    _enum: ['Stopped', 'Returned', 'Suicided']2019  },2020  /**2021   * Lookup260: evm_core::error::ExitError2022   **/2023  EvmCoreErrorExitError: {2024    _enum: {2025      StackUnderflow: 'Null',2026      StackOverflow: 'Null',2027      InvalidJump: 'Null',2028      InvalidRange: 'Null',2029      DesignatedInvalid: 'Null',2030      CallTooDeep: 'Null',2031      CreateCollision: 'Null',2032      CreateContractLimit: 'Null',2033      OutOfOffset: 'Null',2034      OutOfGas: 'Null',2035      OutOfFund: 'Null',2036      PCUnderflow: 'Null',2037      CreateEmpty: 'Null',2038      Other: 'Text',2039      InvalidCode: 'Null'2040    }2041  },2042  /**2043   * Lookup263: evm_core::error::ExitRevert2044   **/2045  EvmCoreErrorExitRevert: {2046    _enum: ['Reverted']2047  },2048  /**2049   * Lookup264: evm_core::error::ExitFatal2050   **/2051  EvmCoreErrorExitFatal: {2052    _enum: {2053      NotSupported: 'Null',2054      UnhandledInterrupt: 'Null',2055      CallErrorAsFatal: 'EvmCoreErrorExitError',2056      Other: 'Text'2057    }2058  },2059  /**2060   * Lookup265: frame_system::Phase2061   **/2062  FrameSystemPhase: {2063    _enum: {2064      ApplyExtrinsic: 'u32',2065      Finalization: 'Null',2066      Initialization: 'Null'2067    }2068  },2069  /**2070   * Lookup267: frame_system::LastRuntimeUpgradeInfo2071   **/2072  FrameSystemLastRuntimeUpgradeInfo: {2073    specVersion: 'Compact<u32>',2074    specName: 'Text'2075  },2076  /**2077   * Lookup268: frame_system::limits::BlockWeights2078   **/2079  FrameSystemLimitsBlockWeights: {2080    baseBlock: 'u64',2081    maxBlock: 'u64',2082    perClass: 'FrameSupportWeightsPerDispatchClassWeightsPerClass'2083  },2084  /**2085   * Lookup269: frame_support::weights::PerDispatchClass<frame_system::limits::WeightsPerClass>2086   **/2087  FrameSupportWeightsPerDispatchClassWeightsPerClass: {2088    normal: 'FrameSystemLimitsWeightsPerClass',2089    operational: 'FrameSystemLimitsWeightsPerClass',2090    mandatory: 'FrameSystemLimitsWeightsPerClass'2091  },2092  /**2093   * Lookup270: frame_system::limits::WeightsPerClass2094   **/2095  FrameSystemLimitsWeightsPerClass: {2096    baseExtrinsic: 'u64',2097    maxExtrinsic: 'Option<u64>',2098    maxTotal: 'Option<u64>',2099    reserved: 'Option<u64>'2100  },2101  /**2102   * Lookup272: frame_system::limits::BlockLength2103   **/2104  FrameSystemLimitsBlockLength: {2105    max: 'FrameSupportWeightsPerDispatchClassU32'2106  },2107  /**2108   * Lookup273: frame_support::weights::PerDispatchClass<T>2109   **/2110  FrameSupportWeightsPerDispatchClassU32: {2111    normal: 'u32',2112    operational: 'u32',2113    mandatory: 'u32'2114  },2115  /**2116   * Lookup274: frame_support::weights::RuntimeDbWeight2117   **/2118  FrameSupportWeightsRuntimeDbWeight: {2119    read: 'u64',2120    write: 'u64'2121  },2122  /**2123   * Lookup275: sp_version::RuntimeVersion2124   **/2125  SpVersionRuntimeVersion: {2126    specName: 'Text',2127    implName: 'Text',2128    authoringVersion: 'u32',2129    specVersion: 'u32',2130    implVersion: 'u32',2131    apis: 'Vec<([u8;8],u32)>',2132    transactionVersion: 'u32',2133    stateVersion: 'u8'2134  },2135  /**2136   * Lookup279: frame_system::pallet::Error<T>2137   **/2138  FrameSystemError: {2139    _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']2140  },2141  /**2142   * Lookup281: orml_vesting::module::Error<T>2143   **/2144  OrmlVestingModuleError: {2145    _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']2146  },2147  /**2148   * Lookup283: cumulus_pallet_xcmp_queue::InboundChannelDetails2149   **/2150  CumulusPalletXcmpQueueInboundChannelDetails: {2151    sender: 'u32',2152    state: 'CumulusPalletXcmpQueueInboundState',2153    messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'2154  },2155  /**2156   * Lookup284: cumulus_pallet_xcmp_queue::InboundState2157   **/2158  CumulusPalletXcmpQueueInboundState: {2159    _enum: ['Ok', 'Suspended']2160  },2161  /**2162   * Lookup287: polkadot_parachain::primitives::XcmpMessageFormat2163   **/2164  PolkadotParachainPrimitivesXcmpMessageFormat: {2165    _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']2166  },2167  /**2168   * Lookup290: cumulus_pallet_xcmp_queue::OutboundChannelDetails2169   **/2170  CumulusPalletXcmpQueueOutboundChannelDetails: {2171    recipient: 'u32',2172    state: 'CumulusPalletXcmpQueueOutboundState',2173    signalsExist: 'bool',2174    firstIndex: 'u16',2175    lastIndex: 'u16'2176  },2177  /**2178   * Lookup291: cumulus_pallet_xcmp_queue::OutboundState2179   **/2180  CumulusPalletXcmpQueueOutboundState: {2181    _enum: ['Ok', 'Suspended']2182  },2183  /**2184   * Lookup293: cumulus_pallet_xcmp_queue::QueueConfigData2185   **/2186  CumulusPalletXcmpQueueQueueConfigData: {2187    suspendThreshold: 'u32',2188    dropThreshold: 'u32',2189    resumeThreshold: 'u32',2190    thresholdWeight: 'u64',2191    weightRestrictDecay: 'u64',2192    xcmpMaxIndividualWeight: 'u64'2193  },2194  /**2195   * Lookup295: cumulus_pallet_xcmp_queue::pallet::Error<T>2196   **/2197  CumulusPalletXcmpQueueError: {2198    _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']2199  },2200  /**2201   * Lookup296: pallet_xcm::pallet::Error<T>2202   **/2203  PalletXcmError: {2204    _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']2205  },2206  /**2207   * Lookup297: cumulus_pallet_xcm::pallet::Error<T>2208   **/2209  CumulusPalletXcmError: 'Null',2210  /**2211   * Lookup298: cumulus_pallet_dmp_queue::ConfigData2212   **/2213  CumulusPalletDmpQueueConfigData: {2214    maxIndividual: 'u64'2215  },2216  /**2217   * Lookup299: cumulus_pallet_dmp_queue::PageIndexData2218   **/2219  CumulusPalletDmpQueuePageIndexData: {2220    beginUsed: 'u32',2221    endUsed: 'u32',2222    overweightCount: 'u64'2223  },2224  /**2225   * Lookup302: cumulus_pallet_dmp_queue::pallet::Error<T>2226   **/2227  CumulusPalletDmpQueueError: {2228    _enum: ['Unknown', 'OverLimit']2229  },2230  /**2231   * Lookup306: pallet_unique::Error<T>2232   **/2233  PalletUniqueError: {2234    _enum: ['CollectionDecimalPointLimitExceeded', 'ConfirmUnsetSponsorFail', 'EmptyArgument']2235  },2236  /**2237   * Lookup307: up_data_structs::Collection<sp_core::crypto::AccountId32>2238   **/2239  UpDataStructsCollection: {2240    owner: 'AccountId32',2241    mode: 'UpDataStructsCollectionMode',2242    name: 'Vec<u16>',2243    description: 'Vec<u16>',2244    tokenPrefix: 'Bytes',2245    sponsorship: 'UpDataStructsSponsorshipState',2246    limits: 'UpDataStructsCollectionLimits',2247    permissions: 'UpDataStructsCollectionPermissions'2248  },2249  /**2250   * Lookup308: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>2251   **/2252  UpDataStructsSponsorshipState: {2253    _enum: {2254      Disabled: 'Null',2255      Unconfirmed: 'AccountId32',2256      Confirmed: 'AccountId32'2257    }2258  },2259  /**2260   * Lookup309: up_data_structs::Properties2261   **/2262  UpDataStructsProperties: {2263    map: 'UpDataStructsPropertiesMapBoundedVec',2264    consumedSpace: 'u32',2265    spaceLimit: 'u32'2266  },2267  /**2268   * Lookup310: up_data_structs::PropertiesMap<frame_support::storage::bounded_vec::BoundedVec<T, S>>2269   **/2270  UpDataStructsPropertiesMapBoundedVec: 'BTreeMap<Bytes, Bytes>',2271  /**2272   * Lookup315: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>2273   **/2274  UpDataStructsPropertiesMapPropertyPermission: 'BTreeMap<Bytes, UpDataStructsPropertyPermission>',2275  /**2276   * Lookup322: up_data_structs::CollectionStats2277   **/2278  UpDataStructsCollectionStats: {2279    created: 'u32',2280    destroyed: 'u32',2281    alive: 'u32'2282  },2283  /**2284   * Lookup323: up_data_structs::TokenChild2285   **/2286  UpDataStructsTokenChild: {2287    token: 'u32',2288    collection: 'u32'2289  },2290  /**2291   * Lookup324: PhantomType::up_data_structs<T>2292   **/2293  PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,UpDataStructsRmrkCollectionInfo,UpDataStructsRmrkNftInfo,UpDataStructsRmrkResourceInfo,UpDataStructsRmrkPropertyInfo,UpDataStructsRmrkBaseInfo,UpDataStructsRmrkPartType,UpDataStructsRmrkTheme,UpDataStructsRmrkNftChild);0]',2294  /**2295   * Lookup326: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2296   **/2297  UpDataStructsTokenData: {2298    properties: 'Vec<UpDataStructsProperty>',2299    owner: 'Option<PalletEvmAccountBasicCrossAccountIdRepr>'2300  },2301  /**2302   * Lookup328: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>2303   **/2304  UpDataStructsRpcCollection: {2305    owner: 'AccountId32',2306    mode: 'UpDataStructsCollectionMode',2307    name: 'Vec<u16>',2308    description: 'Vec<u16>',2309    tokenPrefix: 'Bytes',2310    sponsorship: 'UpDataStructsSponsorshipState',2311    limits: 'UpDataStructsCollectionLimits',2312    permissions: 'UpDataStructsCollectionPermissions',2313    tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',2314    properties: 'Vec<UpDataStructsProperty>'2315  },2316  /**2317   * Lookup329: up_data_structs::rmrk::CollectionInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>, sp_core::crypto::AccountId32>2318   **/2319  UpDataStructsRmrkCollectionInfo: {2320    issuer: 'AccountId32',2321    metadata: 'Bytes',2322    max: 'Option<u32>',2323    symbol: 'Bytes',2324    nftsCount: 'u32'2325  },2326  /**2327   * Lookup332: up_data_structs::rmrk::NftInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill, frame_support::storage::bounded_vec::BoundedVec<T, S>>2328   **/2329  UpDataStructsRmrkNftInfo: {2330    owner: 'UpDataStructsRmrkAccountIdOrCollectionNftTuple',2331    royalty: 'Option<UpDataStructsRmrkRoyaltyInfo>',2332    metadata: 'Bytes',2333    equipped: 'bool',2334    pending: 'bool'2335  },2336  /**2337   * Lookup333: up_data_structs::rmrk::AccountIdOrCollectionNftTuple<sp_core::crypto::AccountId32>2338   **/2339  UpDataStructsRmrkAccountIdOrCollectionNftTuple: {2340    _enum: {2341      AccountId: 'AccountId32',2342      CollectionAndNftTuple: '(u32,u32)'2343    }2344  },2345  /**2346   * Lookup335: up_data_structs::rmrk::RoyaltyInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill>2347   **/2348  UpDataStructsRmrkRoyaltyInfo: {2349    recipient: 'AccountId32',2350    amount: 'Permill'2351  },2352  /**2353   * Lookup336: up_data_structs::rmrk::ResourceInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>2354   **/2355  UpDataStructsRmrkResourceInfo: {2356    id: 'Bytes',2357    resource: 'UpDataStructsRmrkResourceTypes',2358    pending: 'bool',2359    pendingRemoval: 'bool'2360  },2361  /**2362   * Lookup339: up_data_structs::rmrk::ResourceTypes<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>2363   **/2364  UpDataStructsRmrkResourceTypes: {2365    _enum: {2366      Basic: 'UpDataStructsRmrkBasicResource',2367      Composable: 'UpDataStructsRmrkComposableResource',2368      Slot: 'UpDataStructsRmrkSlotResource'2369    }2370  },2371  /**2372   * Lookup340: up_data_structs::rmrk::BasicResource<frame_support::storage::bounded_vec::BoundedVec<T, S>>2373   **/2374  UpDataStructsRmrkBasicResource: {2375    src: 'Option<Bytes>',2376    metadata: 'Option<Bytes>',2377    license: 'Option<Bytes>',2378    thumb: 'Option<Bytes>'2379  },2380  /**2381   * Lookup342: up_data_structs::rmrk::ComposableResource<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>2382   **/2383  UpDataStructsRmrkComposableResource: {2384    parts: 'Vec<u32>',2385    base: 'u32',2386    src: 'Option<Bytes>',2387    metadata: 'Option<Bytes>',2388    license: 'Option<Bytes>',2389    thumb: 'Option<Bytes>'2390  },2391  /**2392   * Lookup343: up_data_structs::rmrk::SlotResource<frame_support::storage::bounded_vec::BoundedVec<T, S>>2393   **/2394  UpDataStructsRmrkSlotResource: {2395    base: 'u32',2396    src: 'Option<Bytes>',2397    metadata: 'Option<Bytes>',2398    slot: 'u32',2399    license: 'Option<Bytes>',2400    thumb: 'Option<Bytes>'2401  },2402  /**2403   * Lookup344: up_data_structs::rmrk::PropertyInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>2404   **/2405  UpDataStructsRmrkPropertyInfo: {2406    key: 'Bytes',2407    value: 'Bytes'2408  },2409  /**2410   * Lookup347: up_data_structs::rmrk::BaseInfo<sp_core::crypto::AccountId32, frame_support::storage::bounded_vec::BoundedVec<T, S>>2411   **/2412  UpDataStructsRmrkBaseInfo: {2413    issuer: 'AccountId32',2414    baseType: 'Bytes',2415    symbol: 'Bytes'2416  },2417  /**2418   * Lookup348: up_data_structs::rmrk::PartType<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>2419   **/2420  UpDataStructsRmrkPartType: {2421    _enum: {2422      FixedPart: 'UpDataStructsRmrkFixedPart',2423      SlotPart: 'UpDataStructsRmrkSlotPart'2424    }2425  },2426  /**2427   * Lookup350: up_data_structs::rmrk::FixedPart<frame_support::storage::bounded_vec::BoundedVec<T, S>>2428   **/2429  UpDataStructsRmrkFixedPart: {2430    id: 'u32',2431    z: 'u32',2432    src: 'Bytes'2433  },2434  /**2435   * Lookup351: up_data_structs::rmrk::SlotPart<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>2436   **/2437  UpDataStructsRmrkSlotPart: {2438    id: 'u32',2439    equippable: 'UpDataStructsRmrkEquippableList',2440    src: 'Bytes',2441    z: 'u32'2442  },2443  /**2444   * Lookup352: up_data_structs::rmrk::EquippableList<frame_support::storage::bounded_vec::BoundedVec<T, S>>2445   **/2446  UpDataStructsRmrkEquippableList: {2447    _enum: {2448      All: 'Null',2449      Empty: 'Null',2450      Custom: 'Vec<u32>'2451    }2452  },2453  /**2454   * Lookup353: up_data_structs::rmrk::Theme<frame_support::storage::bounded_vec::BoundedVec<T, S>, PropertyList>2455   **/2456  UpDataStructsRmrkTheme: {2457    name: 'Bytes',2458    properties: 'Vec<UpDataStructsRmrkThemeProperty>',2459    inherit: 'bool'2460  },2461  /**2462   * Lookup355: up_data_structs::rmrk::ThemeProperty<frame_support::storage::bounded_vec::BoundedVec<T, S>>2463   **/2464  UpDataStructsRmrkThemeProperty: {2465    key: 'Bytes',2466    value: 'Bytes'2467  },2468  /**2469   * Lookup356: up_data_structs::rmrk::NftChild2470   **/2471  UpDataStructsRmrkNftChild: {2472    collectionId: 'u32',2473    nftId: 'u32'2474  },2475  /**2476   * Lookup358: pallet_common::pallet::Error<T>2477   **/2478  PalletCommonError: {2479    _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']2480  },2481  /**2482   * Lookup360: pallet_fungible::pallet::Error<T>2483   **/2484  PalletFungibleError: {2485    _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed']2486  },2487  /**2488   * Lookup361: pallet_refungible::ItemData2489   **/2490  PalletRefungibleItemData: {2491    constData: 'Bytes'2492  },2493  /**2494   * Lookup365: pallet_refungible::pallet::Error<T>2495   **/2496  PalletRefungibleError: {2497    _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed']2498  },2499  /**2500   * Lookup366: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2501   **/2502  PalletNonfungibleItemData: {2503    owner: 'PalletEvmAccountBasicCrossAccountIdRepr'2504  },2505  /**2506   * Lookup368: pallet_nonfungible::pallet::Error<T>2507   **/2508  PalletNonfungibleError: {2509    _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren']2510  },2511  /**2512   * Lookup369: pallet_structure::pallet::Error<T>2513   **/2514  PalletStructureError: {2515    _enum: ['OuroborosDetected', 'DepthLimit', 'TokenNotFound']2516  },2517  /**2518   * Lookup372: pallet_evm::pallet::Error<T>2519   **/2520  PalletEvmError: {2521    _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce']2522  },2523  /**2524   * Lookup375: fp_rpc::TransactionStatus2525   **/2526  FpRpcTransactionStatus: {2527    transactionHash: 'H256',2528    transactionIndex: 'u32',2529    from: 'H160',2530    to: 'Option<H160>',2531    contractAddress: 'Option<H160>',2532    logs: 'Vec<EthereumLog>',2533    logsBloom: 'EthbloomBloom'2534  },2535  /**2536   * Lookup377: ethbloom::Bloom2537   **/2538  EthbloomBloom: '[u8;256]',2539  /**2540   * Lookup379: ethereum::receipt::ReceiptV32541   **/2542  EthereumReceiptReceiptV3: {2543    _enum: {2544      Legacy: 'EthereumReceiptEip658ReceiptData',2545      EIP2930: 'EthereumReceiptEip658ReceiptData',2546      EIP1559: 'EthereumReceiptEip658ReceiptData'2547    }2548  },2549  /**2550   * Lookup380: ethereum::receipt::EIP658ReceiptData2551   **/2552  EthereumReceiptEip658ReceiptData: {2553    statusCode: 'u8',2554    usedGas: 'U256',2555    logsBloom: 'EthbloomBloom',2556    logs: 'Vec<EthereumLog>'2557  },2558  /**2559   * Lookup381: ethereum::block::Block<ethereum::transaction::TransactionV2>2560   **/2561  EthereumBlock: {2562    header: 'EthereumHeader',2563    transactions: 'Vec<EthereumTransactionTransactionV2>',2564    ommers: 'Vec<EthereumHeader>'2565  },2566  /**2567   * Lookup382: ethereum::header::Header2568   **/2569  EthereumHeader: {2570    parentHash: 'H256',2571    ommersHash: 'H256',2572    beneficiary: 'H160',2573    stateRoot: 'H256',2574    transactionsRoot: 'H256',2575    receiptsRoot: 'H256',2576    logsBloom: 'EthbloomBloom',2577    difficulty: 'U256',2578    number: 'U256',2579    gasLimit: 'U256',2580    gasUsed: 'U256',2581    timestamp: 'u64',2582    extraData: 'Bytes',2583    mixHash: 'H256',2584    nonce: 'EthereumTypesHashH64'2585  },2586  /**2587   * Lookup383: ethereum_types::hash::H642588   **/2589  EthereumTypesHashH64: '[u8;8]',2590  /**2591   * Lookup388: pallet_ethereum::pallet::Error<T>2592   **/2593  PalletEthereumError: {2594    _enum: ['InvalidSignature', 'PreLogExists']2595  },2596  /**2597   * Lookup389: pallet_evm_coder_substrate::pallet::Error<T>2598   **/2599  PalletEvmCoderSubstrateError: {2600    _enum: ['OutOfGas', 'OutOfFund']2601  },2602  /**2603   * Lookup390: pallet_evm_contract_helpers::SponsoringModeT2604   **/2605  PalletEvmContractHelpersSponsoringModeT: {2606    _enum: ['Disabled', 'Allowlisted', 'Generous']2607  },2608  /**2609   * Lookup392: pallet_evm_contract_helpers::pallet::Error<T>2610   **/2611  PalletEvmContractHelpersError: {2612    _enum: ['NoPermission']2613  },2614  /**2615   * Lookup393: pallet_evm_migration::pallet::Error<T>2616   **/2617  PalletEvmMigrationError: {2618    _enum: ['AccountNotEmpty', 'AccountIsNotMigrating']2619  },2620  /**2621   * Lookup395: sp_runtime::MultiSignature2622   **/2623  SpRuntimeMultiSignature: {2624    _enum: {2625      Ed25519: 'SpCoreEd25519Signature',2626      Sr25519: 'SpCoreSr25519Signature',2627      Ecdsa: 'SpCoreEcdsaSignature'2628    }2629  },2630  /**2631   * Lookup396: sp_core::ed25519::Signature2632   **/2633  SpCoreEd25519Signature: '[u8;64]',2634  /**2635   * Lookup398: sp_core::sr25519::Signature2636   **/2637  SpCoreSr25519Signature: '[u8;64]',2638  /**2639   * Lookup399: sp_core::ecdsa::Signature2640   **/2641  SpCoreEcdsaSignature: '[u8;65]',2642  /**2643   * Lookup402: frame_system::extensions::check_spec_version::CheckSpecVersion<T>2644   **/2645  FrameSystemExtensionsCheckSpecVersion: 'Null',2646  /**2647   * Lookup403: frame_system::extensions::check_genesis::CheckGenesis<T>2648   **/2649  FrameSystemExtensionsCheckGenesis: 'Null',2650  /**2651   * Lookup406: frame_system::extensions::check_nonce::CheckNonce<T>2652   **/2653  FrameSystemExtensionsCheckNonce: 'Compact<u32>',2654  /**2655   * Lookup407: frame_system::extensions::check_weight::CheckWeight<T>2656   **/2657  FrameSystemExtensionsCheckWeight: 'Null',2658  /**2659   * Lookup408: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>2660   **/2661  PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',2662  /**2663   * Lookup409: opal_runtime::Runtime2664   **/2665  OpalRuntimeRuntime: 'Null',2666  /**2667   * Lookup410: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>2668   **/2669  PalletEthereumFakeTransactionFinalizer: 'Null'2670};
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;8]',158    amount: 'u128'159  },160  /**161   * Lookup50: pallet_balances::Releases162   **/163  PalletBalancesReleases: {164    _enum: ['V1_0_0', 'V2_0_0']165  },166  /**167   * Lookup51: 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   * Lookup57: 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   * Lookup58: frame_support::traits::tokens::misc::BalanceStatus252   **/253  FrameSupportTokensMiscBalanceStatus: {254    _enum: ['Free', 'Reserved']255  },256  /**257   * Lookup59: pallet_balances::pallet::Error<T, I>258   **/259  PalletBalancesError: {260    _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves']261  },262  /**263   * Lookup62: pallet_timestamp::pallet::Call<T>264   **/265  PalletTimestampCall: {266    _enum: {267      set: {268        now: 'Compact<u64>'269      }270    }271  },272  /**273   * Lookup65: pallet_transaction_payment::Releases274   **/275  PalletTransactionPaymentReleases: {276    _enum: ['V1Ancient', 'V2']277  },278  /**279   * Lookup67: frame_support::weights::WeightToFeeCoefficient<Balance>280   **/281  FrameSupportWeightsWeightToFeeCoefficient: {282    coeffInteger: 'u128',283    coeffFrac: 'Perbill',284    negative: 'bool',285    degree: 'u8'286  },287  /**288   * Lookup69: 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   * Lookup72: 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    }312  },313  /**314   * Lookup74: pallet_treasury::pallet::Event<T, I>315   **/316  PalletTreasuryEvent: {317    _enum: {318      Proposed: {319        proposalIndex: 'u32',320      },321      Spending: {322        budgetRemaining: 'u128',323      },324      Awarded: {325        proposalIndex: 'u32',326        award: 'u128',327        account: 'AccountId32',328      },329      Rejected: {330        proposalIndex: 'u32',331        slashed: 'u128',332      },333      Burnt: {334        burntFunds: 'u128',335      },336      Rollover: {337        rolloverBalance: 'u128',338      },339      Deposit: {340        value: 'u128'341      }342    }343  },344  /**345   * Lookup77: frame_support::PalletId346   **/347  FrameSupportPalletId: '[u8;8]',348  /**349   * Lookup78: pallet_treasury::pallet::Error<T, I>350   **/351  PalletTreasuryError: {352    _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals']353  },354  /**355   * Lookup79: pallet_sudo::pallet::Call<T>356   **/357  PalletSudoCall: {358    _enum: {359      sudo: {360        call: 'Call',361      },362      sudo_unchecked_weight: {363        call: 'Call',364        weight: 'u64',365      },366      set_key: {367        _alias: {368          new_: 'new',369        },370        new_: 'MultiAddress',371      },372      sudo_as: {373        who: 'MultiAddress',374        call: 'Call'375      }376    }377  },378  /**379   * Lookup81: frame_system::pallet::Call<T>380   **/381  FrameSystemCall: {382    _enum: {383      fill_block: {384        ratio: 'Perbill',385      },386      remark: {387        remark: 'Bytes',388      },389      set_heap_pages: {390        pages: 'u64',391      },392      set_code: {393        code: 'Bytes',394      },395      set_code_without_checks: {396        code: 'Bytes',397      },398      set_storage: {399        items: 'Vec<(Bytes,Bytes)>',400      },401      kill_storage: {402        _alias: {403          keys_: 'keys',404        },405        keys_: 'Vec<Bytes>',406      },407      kill_prefix: {408        prefix: 'Bytes',409        subkeys: 'u32',410      },411      remark_with_event: {412        remark: 'Bytes'413      }414    }415  },416  /**417   * Lookup84: orml_vesting::module::Call<T>418   **/419  OrmlVestingModuleCall: {420    _enum: {421      claim: 'Null',422      vested_transfer: {423        dest: 'MultiAddress',424        schedule: 'OrmlVestingVestingSchedule',425      },426      update_vesting_schedules: {427        who: 'MultiAddress',428        vestingSchedules: 'Vec<OrmlVestingVestingSchedule>',429      },430      claim_for: {431        dest: 'MultiAddress'432      }433    }434  },435  /**436   * Lookup85: orml_vesting::VestingSchedule<BlockNumber, Balance>437   **/438  OrmlVestingVestingSchedule: {439    start: 'u32',440    period: 'u32',441    periodCount: 'u32',442    perPeriod: 'Compact<u128>'443  },444  /**445   * Lookup87: cumulus_pallet_xcmp_queue::pallet::Call<T>446   **/447  CumulusPalletXcmpQueueCall: {448    _enum: {449      service_overweight: {450        index: 'u64',451        weightLimit: 'u64',452      },453      suspend_xcm_execution: 'Null',454      resume_xcm_execution: 'Null',455      update_suspend_threshold: {456        _alias: {457          new_: 'new',458        },459        new_: 'u32',460      },461      update_drop_threshold: {462        _alias: {463          new_: 'new',464        },465        new_: 'u32',466      },467      update_resume_threshold: {468        _alias: {469          new_: 'new',470        },471        new_: 'u32',472      },473      update_threshold_weight: {474        _alias: {475          new_: 'new',476        },477        new_: 'u64',478      },479      update_weight_restrict_decay: {480        _alias: {481          new_: 'new',482        },483        new_: 'u64',484      },485      update_xcmp_max_individual_weight: {486        _alias: {487          new_: 'new',488        },489        new_: 'u64'490      }491    }492  },493  /**494   * Lookup88: pallet_xcm::pallet::Call<T>495   **/496  PalletXcmCall: {497    _enum: {498      send: {499        dest: 'XcmVersionedMultiLocation',500        message: 'XcmVersionedXcm',501      },502      teleport_assets: {503        dest: 'XcmVersionedMultiLocation',504        beneficiary: 'XcmVersionedMultiLocation',505        assets: 'XcmVersionedMultiAssets',506        feeAssetItem: 'u32',507      },508      reserve_transfer_assets: {509        dest: 'XcmVersionedMultiLocation',510        beneficiary: 'XcmVersionedMultiLocation',511        assets: 'XcmVersionedMultiAssets',512        feeAssetItem: 'u32',513      },514      execute: {515        message: 'XcmVersionedXcm',516        maxWeight: 'u64',517      },518      force_xcm_version: {519        location: 'XcmV1MultiLocation',520        xcmVersion: 'u32',521      },522      force_default_xcm_version: {523        maybeXcmVersion: 'Option<u32>',524      },525      force_subscribe_version_notify: {526        location: 'XcmVersionedMultiLocation',527      },528      force_unsubscribe_version_notify: {529        location: 'XcmVersionedMultiLocation',530      },531      limited_reserve_transfer_assets: {532        dest: 'XcmVersionedMultiLocation',533        beneficiary: 'XcmVersionedMultiLocation',534        assets: 'XcmVersionedMultiAssets',535        feeAssetItem: 'u32',536        weightLimit: 'XcmV2WeightLimit',537      },538      limited_teleport_assets: {539        dest: 'XcmVersionedMultiLocation',540        beneficiary: 'XcmVersionedMultiLocation',541        assets: 'XcmVersionedMultiAssets',542        feeAssetItem: 'u32',543        weightLimit: 'XcmV2WeightLimit'544      }545    }546  },547  /**548   * Lookup89: xcm::VersionedMultiLocation549   **/550  XcmVersionedMultiLocation: {551    _enum: {552      V0: 'XcmV0MultiLocation',553      V1: 'XcmV1MultiLocation'554    }555  },556  /**557   * Lookup90: xcm::v0::multi_location::MultiLocation558   **/559  XcmV0MultiLocation: {560    _enum: {561      Null: 'Null',562      X1: 'XcmV0Junction',563      X2: '(XcmV0Junction,XcmV0Junction)',564      X3: '(XcmV0Junction,XcmV0Junction,XcmV0Junction)',565      X4: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',566      X5: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',567      X6: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',568      X7: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',569      X8: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)'570    }571  },572  /**573   * Lookup91: xcm::v0::junction::Junction574   **/575  XcmV0Junction: {576    _enum: {577      Parent: 'Null',578      Parachain: 'Compact<u32>',579      AccountId32: {580        network: 'XcmV0JunctionNetworkId',581        id: '[u8;32]',582      },583      AccountIndex64: {584        network: 'XcmV0JunctionNetworkId',585        index: 'Compact<u64>',586      },587      AccountKey20: {588        network: 'XcmV0JunctionNetworkId',589        key: '[u8;20]',590      },591      PalletInstance: 'u8',592      GeneralIndex: 'Compact<u128>',593      GeneralKey: 'Bytes',594      OnlyChild: 'Null',595      Plurality: {596        id: 'XcmV0JunctionBodyId',597        part: 'XcmV0JunctionBodyPart'598      }599    }600  },601  /**602   * Lookup92: xcm::v0::junction::NetworkId603   **/604  XcmV0JunctionNetworkId: {605    _enum: {606      Any: 'Null',607      Named: 'Bytes',608      Polkadot: 'Null',609      Kusama: 'Null'610    }611  },612  /**613   * Lookup93: xcm::v0::junction::BodyId614   **/615  XcmV0JunctionBodyId: {616    _enum: {617      Unit: 'Null',618      Named: 'Bytes',619      Index: 'Compact<u32>',620      Executive: 'Null',621      Technical: 'Null',622      Legislative: 'Null',623      Judicial: 'Null'624    }625  },626  /**627   * Lookup94: xcm::v0::junction::BodyPart628   **/629  XcmV0JunctionBodyPart: {630    _enum: {631      Voice: 'Null',632      Members: {633        count: 'Compact<u32>',634      },635      Fraction: {636        nom: 'Compact<u32>',637        denom: 'Compact<u32>',638      },639      AtLeastProportion: {640        nom: 'Compact<u32>',641        denom: 'Compact<u32>',642      },643      MoreThanProportion: {644        nom: 'Compact<u32>',645        denom: 'Compact<u32>'646      }647    }648  },649  /**650   * Lookup95: xcm::v1::multilocation::MultiLocation651   **/652  XcmV1MultiLocation: {653    parents: 'u8',654    interior: 'XcmV1MultilocationJunctions'655  },656  /**657   * Lookup96: xcm::v1::multilocation::Junctions658   **/659  XcmV1MultilocationJunctions: {660    _enum: {661      Here: 'Null',662      X1: 'XcmV1Junction',663      X2: '(XcmV1Junction,XcmV1Junction)',664      X3: '(XcmV1Junction,XcmV1Junction,XcmV1Junction)',665      X4: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',666      X5: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',667      X6: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',668      X7: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',669      X8: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)'670    }671  },672  /**673   * Lookup97: xcm::v1::junction::Junction674   **/675  XcmV1Junction: {676    _enum: {677      Parachain: 'Compact<u32>',678      AccountId32: {679        network: 'XcmV0JunctionNetworkId',680        id: '[u8;32]',681      },682      AccountIndex64: {683        network: 'XcmV0JunctionNetworkId',684        index: 'Compact<u64>',685      },686      AccountKey20: {687        network: 'XcmV0JunctionNetworkId',688        key: '[u8;20]',689      },690      PalletInstance: 'u8',691      GeneralIndex: 'Compact<u128>',692      GeneralKey: 'Bytes',693      OnlyChild: 'Null',694      Plurality: {695        id: 'XcmV0JunctionBodyId',696        part: 'XcmV0JunctionBodyPart'697      }698    }699  },700  /**701   * Lookup98: xcm::VersionedXcm<Call>702   **/703  XcmVersionedXcm: {704    _enum: {705      V0: 'XcmV0Xcm',706      V1: 'XcmV1Xcm',707      V2: 'XcmV2Xcm'708    }709  },710  /**711   * Lookup99: xcm::v0::Xcm<Call>712   **/713  XcmV0Xcm: {714    _enum: {715      WithdrawAsset: {716        assets: 'Vec<XcmV0MultiAsset>',717        effects: 'Vec<XcmV0Order>',718      },719      ReserveAssetDeposit: {720        assets: 'Vec<XcmV0MultiAsset>',721        effects: 'Vec<XcmV0Order>',722      },723      TeleportAsset: {724        assets: 'Vec<XcmV0MultiAsset>',725        effects: 'Vec<XcmV0Order>',726      },727      QueryResponse: {728        queryId: 'Compact<u64>',729        response: 'XcmV0Response',730      },731      TransferAsset: {732        assets: 'Vec<XcmV0MultiAsset>',733        dest: 'XcmV0MultiLocation',734      },735      TransferReserveAsset: {736        assets: 'Vec<XcmV0MultiAsset>',737        dest: 'XcmV0MultiLocation',738        effects: 'Vec<XcmV0Order>',739      },740      Transact: {741        originType: 'XcmV0OriginKind',742        requireWeightAtMost: 'u64',743        call: 'XcmDoubleEncoded',744      },745      HrmpNewChannelOpenRequest: {746        sender: 'Compact<u32>',747        maxMessageSize: 'Compact<u32>',748        maxCapacity: 'Compact<u32>',749      },750      HrmpChannelAccepted: {751        recipient: 'Compact<u32>',752      },753      HrmpChannelClosing: {754        initiator: 'Compact<u32>',755        sender: 'Compact<u32>',756        recipient: 'Compact<u32>',757      },758      RelayedFrom: {759        who: 'XcmV0MultiLocation',760        message: 'XcmV0Xcm'761      }762    }763  },764  /**765   * Lookup101: xcm::v0::multi_asset::MultiAsset766   **/767  XcmV0MultiAsset: {768    _enum: {769      None: 'Null',770      All: 'Null',771      AllFungible: 'Null',772      AllNonFungible: 'Null',773      AllAbstractFungible: {774        id: 'Bytes',775      },776      AllAbstractNonFungible: {777        class: 'Bytes',778      },779      AllConcreteFungible: {780        id: 'XcmV0MultiLocation',781      },782      AllConcreteNonFungible: {783        class: 'XcmV0MultiLocation',784      },785      AbstractFungible: {786        id: 'Bytes',787        amount: 'Compact<u128>',788      },789      AbstractNonFungible: {790        class: 'Bytes',791        instance: 'XcmV1MultiassetAssetInstance',792      },793      ConcreteFungible: {794        id: 'XcmV0MultiLocation',795        amount: 'Compact<u128>',796      },797      ConcreteNonFungible: {798        class: 'XcmV0MultiLocation',799        instance: 'XcmV1MultiassetAssetInstance'800      }801    }802  },803  /**804   * Lookup102: xcm::v1::multiasset::AssetInstance805   **/806  XcmV1MultiassetAssetInstance: {807    _enum: {808      Undefined: 'Null',809      Index: 'Compact<u128>',810      Array4: '[u8;4]',811      Array8: '[u8;8]',812      Array16: '[u8;16]',813      Array32: '[u8;32]',814      Blob: 'Bytes'815    }816  },817  /**818   * Lookup106: xcm::v0::order::Order<Call>819   **/820  XcmV0Order: {821    _enum: {822      Null: 'Null',823      DepositAsset: {824        assets: 'Vec<XcmV0MultiAsset>',825        dest: 'XcmV0MultiLocation',826      },827      DepositReserveAsset: {828        assets: 'Vec<XcmV0MultiAsset>',829        dest: 'XcmV0MultiLocation',830        effects: 'Vec<XcmV0Order>',831      },832      ExchangeAsset: {833        give: 'Vec<XcmV0MultiAsset>',834        receive: 'Vec<XcmV0MultiAsset>',835      },836      InitiateReserveWithdraw: {837        assets: 'Vec<XcmV0MultiAsset>',838        reserve: 'XcmV0MultiLocation',839        effects: 'Vec<XcmV0Order>',840      },841      InitiateTeleport: {842        assets: 'Vec<XcmV0MultiAsset>',843        dest: 'XcmV0MultiLocation',844        effects: 'Vec<XcmV0Order>',845      },846      QueryHolding: {847        queryId: 'Compact<u64>',848        dest: 'XcmV0MultiLocation',849        assets: 'Vec<XcmV0MultiAsset>',850      },851      BuyExecution: {852        fees: 'XcmV0MultiAsset',853        weight: 'u64',854        debt: 'u64',855        haltOnError: 'bool',856        xcm: 'Vec<XcmV0Xcm>'857      }858    }859  },860  /**861   * Lookup108: xcm::v0::Response862   **/863  XcmV0Response: {864    _enum: {865      Assets: 'Vec<XcmV0MultiAsset>'866    }867  },868  /**869   * Lookup109: xcm::v0::OriginKind870   **/871  XcmV0OriginKind: {872    _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']873  },874  /**875   * Lookup110: xcm::double_encoded::DoubleEncoded<T>876   **/877  XcmDoubleEncoded: {878    encoded: 'Bytes'879  },880  /**881   * Lookup111: xcm::v1::Xcm<Call>882   **/883  XcmV1Xcm: {884    _enum: {885      WithdrawAsset: {886        assets: 'XcmV1MultiassetMultiAssets',887        effects: 'Vec<XcmV1Order>',888      },889      ReserveAssetDeposited: {890        assets: 'XcmV1MultiassetMultiAssets',891        effects: 'Vec<XcmV1Order>',892      },893      ReceiveTeleportedAsset: {894        assets: 'XcmV1MultiassetMultiAssets',895        effects: 'Vec<XcmV1Order>',896      },897      QueryResponse: {898        queryId: 'Compact<u64>',899        response: 'XcmV1Response',900      },901      TransferAsset: {902        assets: 'XcmV1MultiassetMultiAssets',903        beneficiary: 'XcmV1MultiLocation',904      },905      TransferReserveAsset: {906        assets: 'XcmV1MultiassetMultiAssets',907        dest: 'XcmV1MultiLocation',908        effects: 'Vec<XcmV1Order>',909      },910      Transact: {911        originType: 'XcmV0OriginKind',912        requireWeightAtMost: 'u64',913        call: 'XcmDoubleEncoded',914      },915      HrmpNewChannelOpenRequest: {916        sender: 'Compact<u32>',917        maxMessageSize: 'Compact<u32>',918        maxCapacity: 'Compact<u32>',919      },920      HrmpChannelAccepted: {921        recipient: 'Compact<u32>',922      },923      HrmpChannelClosing: {924        initiator: 'Compact<u32>',925        sender: 'Compact<u32>',926        recipient: 'Compact<u32>',927      },928      RelayedFrom: {929        who: 'XcmV1MultilocationJunctions',930        message: 'XcmV1Xcm',931      },932      SubscribeVersion: {933        queryId: 'Compact<u64>',934        maxResponseWeight: 'Compact<u64>',935      },936      UnsubscribeVersion: 'Null'937    }938  },939  /**940   * Lookup112: xcm::v1::multiasset::MultiAssets941   **/942  XcmV1MultiassetMultiAssets: 'Vec<XcmV1MultiAsset>',943  /**944   * Lookup114: xcm::v1::multiasset::MultiAsset945   **/946  XcmV1MultiAsset: {947    id: 'XcmV1MultiassetAssetId',948    fun: 'XcmV1MultiassetFungibility'949  },950  /**951   * Lookup115: xcm::v1::multiasset::AssetId952   **/953  XcmV1MultiassetAssetId: {954    _enum: {955      Concrete: 'XcmV1MultiLocation',956      Abstract: 'Bytes'957    }958  },959  /**960   * Lookup116: xcm::v1::multiasset::Fungibility961   **/962  XcmV1MultiassetFungibility: {963    _enum: {964      Fungible: 'Compact<u128>',965      NonFungible: 'XcmV1MultiassetAssetInstance'966    }967  },968  /**969   * Lookup118: xcm::v1::order::Order<Call>970   **/971  XcmV1Order: {972    _enum: {973      Noop: 'Null',974      DepositAsset: {975        assets: 'XcmV1MultiassetMultiAssetFilter',976        maxAssets: 'u32',977        beneficiary: 'XcmV1MultiLocation',978      },979      DepositReserveAsset: {980        assets: 'XcmV1MultiassetMultiAssetFilter',981        maxAssets: 'u32',982        dest: 'XcmV1MultiLocation',983        effects: 'Vec<XcmV1Order>',984      },985      ExchangeAsset: {986        give: 'XcmV1MultiassetMultiAssetFilter',987        receive: 'XcmV1MultiassetMultiAssets',988      },989      InitiateReserveWithdraw: {990        assets: 'XcmV1MultiassetMultiAssetFilter',991        reserve: 'XcmV1MultiLocation',992        effects: 'Vec<XcmV1Order>',993      },994      InitiateTeleport: {995        assets: 'XcmV1MultiassetMultiAssetFilter',996        dest: 'XcmV1MultiLocation',997        effects: 'Vec<XcmV1Order>',998      },999      QueryHolding: {1000        queryId: 'Compact<u64>',1001        dest: 'XcmV1MultiLocation',1002        assets: 'XcmV1MultiassetMultiAssetFilter',1003      },1004      BuyExecution: {1005        fees: 'XcmV1MultiAsset',1006        weight: 'u64',1007        debt: 'u64',1008        haltOnError: 'bool',1009        instructions: 'Vec<XcmV1Xcm>'1010      }1011    }1012  },1013  /**1014   * Lookup119: xcm::v1::multiasset::MultiAssetFilter1015   **/1016  XcmV1MultiassetMultiAssetFilter: {1017    _enum: {1018      Definite: 'XcmV1MultiassetMultiAssets',1019      Wild: 'XcmV1MultiassetWildMultiAsset'1020    }1021  },1022  /**1023   * Lookup120: xcm::v1::multiasset::WildMultiAsset1024   **/1025  XcmV1MultiassetWildMultiAsset: {1026    _enum: {1027      All: 'Null',1028      AllOf: {1029        id: 'XcmV1MultiassetAssetId',1030        fun: 'XcmV1MultiassetWildFungibility'1031      }1032    }1033  },1034  /**1035   * Lookup121: xcm::v1::multiasset::WildFungibility1036   **/1037  XcmV1MultiassetWildFungibility: {1038    _enum: ['Fungible', 'NonFungible']1039  },1040  /**1041   * Lookup123: xcm::v1::Response1042   **/1043  XcmV1Response: {1044    _enum: {1045      Assets: 'XcmV1MultiassetMultiAssets',1046      Version: 'u32'1047    }1048  },1049  /**1050   * Lookup124: xcm::v2::Xcm<Call>1051   **/1052  XcmV2Xcm: 'Vec<XcmV2Instruction>',1053  /**1054   * Lookup126: xcm::v2::Instruction<Call>1055   **/1056  XcmV2Instruction: {1057    _enum: {1058      WithdrawAsset: 'XcmV1MultiassetMultiAssets',1059      ReserveAssetDeposited: 'XcmV1MultiassetMultiAssets',1060      ReceiveTeleportedAsset: 'XcmV1MultiassetMultiAssets',1061      QueryResponse: {1062        queryId: 'Compact<u64>',1063        response: 'XcmV2Response',1064        maxWeight: 'Compact<u64>',1065      },1066      TransferAsset: {1067        assets: 'XcmV1MultiassetMultiAssets',1068        beneficiary: 'XcmV1MultiLocation',1069      },1070      TransferReserveAsset: {1071        assets: 'XcmV1MultiassetMultiAssets',1072        dest: 'XcmV1MultiLocation',1073        xcm: 'XcmV2Xcm',1074      },1075      Transact: {1076        originType: 'XcmV0OriginKind',1077        requireWeightAtMost: 'Compact<u64>',1078        call: 'XcmDoubleEncoded',1079      },1080      HrmpNewChannelOpenRequest: {1081        sender: 'Compact<u32>',1082        maxMessageSize: 'Compact<u32>',1083        maxCapacity: 'Compact<u32>',1084      },1085      HrmpChannelAccepted: {1086        recipient: 'Compact<u32>',1087      },1088      HrmpChannelClosing: {1089        initiator: 'Compact<u32>',1090        sender: 'Compact<u32>',1091        recipient: 'Compact<u32>',1092      },1093      ClearOrigin: 'Null',1094      DescendOrigin: 'XcmV1MultilocationJunctions',1095      ReportError: {1096        queryId: 'Compact<u64>',1097        dest: 'XcmV1MultiLocation',1098        maxResponseWeight: 'Compact<u64>',1099      },1100      DepositAsset: {1101        assets: 'XcmV1MultiassetMultiAssetFilter',1102        maxAssets: 'Compact<u32>',1103        beneficiary: 'XcmV1MultiLocation',1104      },1105      DepositReserveAsset: {1106        assets: 'XcmV1MultiassetMultiAssetFilter',1107        maxAssets: 'Compact<u32>',1108        dest: 'XcmV1MultiLocation',1109        xcm: 'XcmV2Xcm',1110      },1111      ExchangeAsset: {1112        give: 'XcmV1MultiassetMultiAssetFilter',1113        receive: 'XcmV1MultiassetMultiAssets',1114      },1115      InitiateReserveWithdraw: {1116        assets: 'XcmV1MultiassetMultiAssetFilter',1117        reserve: 'XcmV1MultiLocation',1118        xcm: 'XcmV2Xcm',1119      },1120      InitiateTeleport: {1121        assets: 'XcmV1MultiassetMultiAssetFilter',1122        dest: 'XcmV1MultiLocation',1123        xcm: 'XcmV2Xcm',1124      },1125      QueryHolding: {1126        queryId: 'Compact<u64>',1127        dest: 'XcmV1MultiLocation',1128        assets: 'XcmV1MultiassetMultiAssetFilter',1129        maxResponseWeight: 'Compact<u64>',1130      },1131      BuyExecution: {1132        fees: 'XcmV1MultiAsset',1133        weightLimit: 'XcmV2WeightLimit',1134      },1135      RefundSurplus: 'Null',1136      SetErrorHandler: 'XcmV2Xcm',1137      SetAppendix: 'XcmV2Xcm',1138      ClearError: 'Null',1139      ClaimAsset: {1140        assets: 'XcmV1MultiassetMultiAssets',1141        ticket: 'XcmV1MultiLocation',1142      },1143      Trap: 'Compact<u64>',1144      SubscribeVersion: {1145        queryId: 'Compact<u64>',1146        maxResponseWeight: 'Compact<u64>',1147      },1148      UnsubscribeVersion: 'Null'1149    }1150  },1151  /**1152   * Lookup127: xcm::v2::Response1153   **/1154  XcmV2Response: {1155    _enum: {1156      Null: 'Null',1157      Assets: 'XcmV1MultiassetMultiAssets',1158      ExecutionResult: 'Option<(u32,XcmV2TraitsError)>',1159      Version: 'u32'1160    }1161  },1162  /**1163   * Lookup130: xcm::v2::traits::Error1164   **/1165  XcmV2TraitsError: {1166    _enum: {1167      Overflow: 'Null',1168      Unimplemented: 'Null',1169      UntrustedReserveLocation: 'Null',1170      UntrustedTeleportLocation: 'Null',1171      MultiLocationFull: 'Null',1172      MultiLocationNotInvertible: 'Null',1173      BadOrigin: 'Null',1174      InvalidLocation: 'Null',1175      AssetNotFound: 'Null',1176      FailedToTransactAsset: 'Null',1177      NotWithdrawable: 'Null',1178      LocationCannotHold: 'Null',1179      ExceedsMaxMessageSize: 'Null',1180      DestinationUnsupported: 'Null',1181      Transport: 'Null',1182      Unroutable: 'Null',1183      UnknownClaim: 'Null',1184      FailedToDecode: 'Null',1185      MaxWeightInvalid: 'Null',1186      NotHoldingFees: 'Null',1187      TooExpensive: 'Null',1188      Trap: 'u64',1189      UnhandledXcmVersion: 'Null',1190      WeightLimitReached: 'u64',1191      Barrier: 'Null',1192      WeightNotComputable: 'Null'1193    }1194  },1195  /**1196   * Lookup131: xcm::v2::WeightLimit1197   **/1198  XcmV2WeightLimit: {1199    _enum: {1200      Unlimited: 'Null',1201      Limited: 'Compact<u64>'1202    }1203  },1204  /**1205   * Lookup132: xcm::VersionedMultiAssets1206   **/1207  XcmVersionedMultiAssets: {1208    _enum: {1209      V0: 'Vec<XcmV0MultiAsset>',1210      V1: 'XcmV1MultiassetMultiAssets'1211    }1212  },1213  /**1214   * Lookup147: cumulus_pallet_xcm::pallet::Call<T>1215   **/1216  CumulusPalletXcmCall: 'Null',1217  /**1218   * Lookup148: cumulus_pallet_dmp_queue::pallet::Call<T>1219   **/1220  CumulusPalletDmpQueueCall: {1221    _enum: {1222      service_overweight: {1223        index: 'u64',1224        weightLimit: 'u64'1225      }1226    }1227  },1228  /**1229   * Lookup149: pallet_inflation::pallet::Call<T>1230   **/1231  PalletInflationCall: {1232    _enum: {1233      start_inflation: {1234        inflationStartRelayBlock: 'u32'1235      }1236    }1237  },1238  /**1239   * Lookup150: pallet_unique::Call<T>1240   **/1241  PalletUniqueCall: {1242    _enum: {1243      create_collection: {1244        collectionName: 'Vec<u16>',1245        collectionDescription: 'Vec<u16>',1246        tokenPrefix: 'Bytes',1247        mode: 'UpDataStructsCollectionMode',1248      },1249      create_collection_ex: {1250        data: 'UpDataStructsCreateCollectionData',1251      },1252      destroy_collection: {1253        collectionId: 'u32',1254      },1255      add_to_allow_list: {1256        collectionId: 'u32',1257        address: 'PalletEvmAccountBasicCrossAccountIdRepr',1258      },1259      remove_from_allow_list: {1260        collectionId: 'u32',1261        address: 'PalletEvmAccountBasicCrossAccountIdRepr',1262      },1263      change_collection_owner: {1264        collectionId: 'u32',1265        newOwner: 'AccountId32',1266      },1267      add_collection_admin: {1268        collectionId: 'u32',1269        newAdminId: 'PalletEvmAccountBasicCrossAccountIdRepr',1270      },1271      remove_collection_admin: {1272        collectionId: 'u32',1273        accountId: 'PalletEvmAccountBasicCrossAccountIdRepr',1274      },1275      set_collection_sponsor: {1276        collectionId: 'u32',1277        newSponsor: 'AccountId32',1278      },1279      confirm_sponsorship: {1280        collectionId: 'u32',1281      },1282      remove_collection_sponsor: {1283        collectionId: 'u32',1284      },1285      create_item: {1286        collectionId: 'u32',1287        owner: 'PalletEvmAccountBasicCrossAccountIdRepr',1288        data: 'UpDataStructsCreateItemData',1289      },1290      create_multiple_items: {1291        collectionId: 'u32',1292        owner: 'PalletEvmAccountBasicCrossAccountIdRepr',1293        itemsData: 'Vec<UpDataStructsCreateItemData>',1294      },1295      set_collection_properties: {1296        collectionId: 'u32',1297        properties: 'Vec<UpDataStructsProperty>',1298      },1299      delete_collection_properties: {1300        collectionId: 'u32',1301        propertyKeys: 'Vec<Bytes>',1302      },1303      set_token_properties: {1304        collectionId: 'u32',1305        tokenId: 'u32',1306        properties: 'Vec<UpDataStructsProperty>',1307      },1308      delete_token_properties: {1309        collectionId: 'u32',1310        tokenId: 'u32',1311        propertyKeys: 'Vec<Bytes>',1312      },1313      set_property_permissions: {1314        collectionId: 'u32',1315        propertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',1316      },1317      create_multiple_items_ex: {1318        collectionId: 'u32',1319        data: 'UpDataStructsCreateItemExData',1320      },1321      set_transfers_enabled_flag: {1322        collectionId: 'u32',1323        value: 'bool',1324      },1325      burn_item: {1326        collectionId: 'u32',1327        itemId: 'u32',1328        value: 'u128',1329      },1330      burn_from: {1331        collectionId: 'u32',1332        from: 'PalletEvmAccountBasicCrossAccountIdRepr',1333        itemId: 'u32',1334        value: 'u128',1335      },1336      transfer: {1337        recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',1338        collectionId: 'u32',1339        itemId: 'u32',1340        value: 'u128',1341      },1342      approve: {1343        spender: 'PalletEvmAccountBasicCrossAccountIdRepr',1344        collectionId: 'u32',1345        itemId: 'u32',1346        amount: 'u128',1347      },1348      transfer_from: {1349        from: 'PalletEvmAccountBasicCrossAccountIdRepr',1350        recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',1351        collectionId: 'u32',1352        itemId: 'u32',1353        value: 'u128',1354      },1355      set_collection_limits: {1356        collectionId: 'u32',1357        newLimit: 'UpDataStructsCollectionLimits',1358      },1359      set_collection_permissions: {1360        collectionId: 'u32',1361        newLimit: 'UpDataStructsCollectionPermissions'1362      }1363    }1364  },1365  /**1366   * Lookup156: up_data_structs::CollectionMode1367   **/1368  UpDataStructsCollectionMode: {1369    _enum: {1370      NFT: 'Null',1371      Fungible: 'u8',1372      ReFungible: 'Null'1373    }1374  },1375  /**1376   * Lookup157: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>1377   **/1378  UpDataStructsCreateCollectionData: {1379    mode: 'UpDataStructsCollectionMode',1380    access: 'Option<UpDataStructsAccessMode>',1381    name: 'Vec<u16>',1382    description: 'Vec<u16>',1383    tokenPrefix: 'Bytes',1384    pendingSponsor: 'Option<AccountId32>',1385    limits: 'Option<UpDataStructsCollectionLimits>',1386    permissions: 'Option<UpDataStructsCollectionPermissions>',1387    tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',1388    properties: 'Vec<UpDataStructsProperty>'1389  },1390  /**1391   * Lookup159: up_data_structs::AccessMode1392   **/1393  UpDataStructsAccessMode: {1394    _enum: ['Normal', 'AllowList']1395  },1396  /**1397   * Lookup162: up_data_structs::CollectionLimits1398   **/1399  UpDataStructsCollectionLimits: {1400    accountTokenOwnershipLimit: 'Option<u32>',1401    sponsoredDataSize: 'Option<u32>',1402    sponsoredDataRateLimit: 'Option<UpDataStructsSponsoringRateLimit>',1403    tokenLimit: 'Option<u32>',1404    sponsorTransferTimeout: 'Option<u32>',1405    sponsorApproveTimeout: 'Option<u32>',1406    ownerCanTransfer: 'Option<bool>',1407    ownerCanDestroy: 'Option<bool>',1408    transfersEnabled: 'Option<bool>'1409  },1410  /**1411   * Lookup164: up_data_structs::SponsoringRateLimit1412   **/1413  UpDataStructsSponsoringRateLimit: {1414    _enum: {1415      SponsoringDisabled: 'Null',1416      Blocks: 'u32'1417    }1418  },1419  /**1420   * Lookup167: up_data_structs::CollectionPermissions1421   **/1422  UpDataStructsCollectionPermissions: {1423    access: 'Option<UpDataStructsAccessMode>',1424    mintMode: 'Option<bool>',1425    nesting: 'Option<UpDataStructsNestingRule>'1426  },1427  /**1428   * Lookup169: up_data_structs::NestingRule1429   **/1430  UpDataStructsNestingRule: {1431    _enum: {1432      Disabled: 'Null',1433      Owner: 'Null',1434      OwnerRestricted: 'BTreeSet<u32>'1435    }1436  },1437  /**1438   * Lookup175: up_data_structs::PropertyKeyPermission1439   **/1440  UpDataStructsPropertyKeyPermission: {1441    key: 'Bytes',1442    permission: 'UpDataStructsPropertyPermission'1443  },1444  /**1445   * Lookup177: up_data_structs::PropertyPermission1446   **/1447  UpDataStructsPropertyPermission: {1448    mutable: 'bool',1449    collectionAdmin: 'bool',1450    tokenOwner: 'bool'1451  },1452  /**1453   * Lookup180: up_data_structs::Property1454   **/1455  UpDataStructsProperty: {1456    key: 'Bytes',1457    value: 'Bytes'1458  },1459  /**1460   * Lookup183: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>1461   **/1462  PalletEvmAccountBasicCrossAccountIdRepr: {1463    _enum: {1464      Substrate: 'AccountId32',1465      Ethereum: 'H160'1466    }1467  },1468  /**1469   * Lookup185: up_data_structs::CreateItemData1470   **/1471  UpDataStructsCreateItemData: {1472    _enum: {1473      NFT: 'UpDataStructsCreateNftData',1474      Fungible: 'UpDataStructsCreateFungibleData',1475      ReFungible: 'UpDataStructsCreateReFungibleData'1476    }1477  },1478  /**1479   * Lookup186: up_data_structs::CreateNftData1480   **/1481  UpDataStructsCreateNftData: {1482    properties: 'Vec<UpDataStructsProperty>'1483  },1484  /**1485   * Lookup187: up_data_structs::CreateFungibleData1486   **/1487  UpDataStructsCreateFungibleData: {1488    value: 'u128'1489  },1490  /**1491   * Lookup188: up_data_structs::CreateReFungibleData1492   **/1493  UpDataStructsCreateReFungibleData: {1494    constData: 'Bytes',1495    pieces: 'u128'1496  },1497  /**1498   * Lookup193: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1499   **/1500  UpDataStructsCreateItemExData: {1501    _enum: {1502      NFT: 'Vec<UpDataStructsCreateNftExData>',1503      Fungible: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',1504      RefungibleMultipleItems: 'Vec<UpDataStructsCreateRefungibleExData>',1505      RefungibleMultipleOwners: 'UpDataStructsCreateRefungibleExData'1506    }1507  },1508  /**1509   * Lookup195: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1510   **/1511  UpDataStructsCreateNftExData: {1512    properties: 'Vec<UpDataStructsProperty>',1513    owner: 'PalletEvmAccountBasicCrossAccountIdRepr'1514  },1515  /**1516   * Lookup202: up_data_structs::CreateRefungibleExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1517   **/1518  UpDataStructsCreateRefungibleExData: {1519    constData: 'Bytes',1520    users: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>'1521  },1522  /**1523   * Lookup204: pallet_template_transaction_payment::Call<T>1524   **/1525  PalletTemplateTransactionPaymentCall: 'Null',1526  /**1527   * Lookup205: pallet_structure::pallet::Call<T>1528   **/1529  PalletStructureCall: 'Null',1530  /**1531   * Lookup206: pallet_rmrk_core::pallet::Call<T>1532   **/1533  PalletRmrkCoreCall: {1534    _enum: {1535      create_collection: {1536        metadata: 'Bytes',1537        max: 'Option<u32>',1538        symbol: 'Bytes',1539      },1540      destroy_collection: {1541        collectionId: 'u32',1542      },1543      change_collection_issuer: {1544        collectionId: 'u32',1545        newIssuer: 'MultiAddress',1546      },1547      lock_collection: {1548        collectionId: 'u32',1549      },1550      mint_nft: {1551        owner: 'AccountId32',1552        collectionId: 'u32',1553        recipient: 'Option<AccountId32>',1554        royaltyAmount: 'Option<Permill>',1555        metadata: 'Bytes',1556      },1557      burn_nft: {1558        collectionId: 'u32',1559        nftId: 'u32',1560      },1561      set_property: {1562        rmrkCollectionId: 'Compact<u32>',1563        maybeNftId: 'Option<u32>',1564        key: 'Bytes',1565        value: 'Bytes',1566      },1567      add_basic_resource: {1568        collectionId: 'u32',1569        nftId: 'u32',1570        resource: 'UpDataStructsRmrkBasicResource',1571      },1572      add_composable_resource: {1573        collectionId: 'u32',1574        nftId: 'u32',1575        resourceId: 'Bytes',1576        resource: 'UpDataStructsRmrkComposableResource',1577      },1578      add_slot_resource: {1579        collectionId: 'u32',1580        nftId: 'u32',1581        resource: 'UpDataStructsRmrkSlotResource'1582      }1583    }1584  },1585  /**1586   * Lookup212: up_data_structs::rmrk::BasicResource<frame_support::storage::bounded_vec::BoundedVec<T, S>>1587   **/1588  UpDataStructsRmrkBasicResource: {1589    src: 'Option<Bytes>',1590    metadata: 'Option<Bytes>',1591    license: 'Option<Bytes>',1592    thumb: 'Option<Bytes>'1593  },1594  /**1595   * Lookup215: up_data_structs::rmrk::ComposableResource<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>1596   **/1597  UpDataStructsRmrkComposableResource: {1598    parts: 'Vec<u32>',1599    base: 'u32',1600    src: 'Option<Bytes>',1601    metadata: 'Option<Bytes>',1602    license: 'Option<Bytes>',1603    thumb: 'Option<Bytes>'1604  },1605  /**1606   * Lookup217: up_data_structs::rmrk::SlotResource<frame_support::storage::bounded_vec::BoundedVec<T, S>>1607   **/1608  UpDataStructsRmrkSlotResource: {1609    base: 'u32',1610    src: 'Option<Bytes>',1611    metadata: 'Option<Bytes>',1612    slot: 'u32',1613    license: 'Option<Bytes>',1614    thumb: 'Option<Bytes>'1615  },1616  /**1617   * Lookup218: pallet_rmrk_equip::pallet::Call<T>1618   **/1619  PalletRmrkEquipCall: {1620    _enum: {1621      create_base: {1622        baseType: 'Bytes',1623        symbol: 'Bytes',1624        parts: 'Vec<UpDataStructsRmrkPartType>',1625      },1626      theme_add: {1627        baseId: 'u32',1628        theme: 'UpDataStructsRmrkTheme'1629      }1630    }1631  },1632  /**1633   * Lookup220: up_data_structs::rmrk::PartType<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>1634   **/1635  UpDataStructsRmrkPartType: {1636    _enum: {1637      FixedPart: 'UpDataStructsRmrkFixedPart',1638      SlotPart: 'UpDataStructsRmrkSlotPart'1639    }1640  },1641  /**1642   * Lookup222: up_data_structs::rmrk::FixedPart<frame_support::storage::bounded_vec::BoundedVec<T, S>>1643   **/1644  UpDataStructsRmrkFixedPart: {1645    id: 'u32',1646    z: 'u32',1647    src: 'Bytes'1648  },1649  /**1650   * Lookup223: up_data_structs::rmrk::SlotPart<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>1651   **/1652  UpDataStructsRmrkSlotPart: {1653    id: 'u32',1654    equippable: 'UpDataStructsRmrkEquippableList',1655    src: 'Bytes',1656    z: 'u32'1657  },1658  /**1659   * Lookup224: up_data_structs::rmrk::EquippableList<frame_support::storage::bounded_vec::BoundedVec<T, S>>1660   **/1661  UpDataStructsRmrkEquippableList: {1662    _enum: {1663      All: 'Null',1664      Empty: 'Null',1665      Custom: 'Vec<u32>'1666    }1667  },1668  /**1669   * Lookup226: up_data_structs::rmrk::Theme<frame_support::storage::bounded_vec::BoundedVec<T, S>, PropertyList>1670   **/1671  UpDataStructsRmrkTheme: {1672    name: 'Bytes',1673    properties: 'Vec<UpDataStructsRmrkThemeProperty>',1674    inherit: 'bool'1675  },1676  /**1677   * Lookup228: up_data_structs::rmrk::ThemeProperty<frame_support::storage::bounded_vec::BoundedVec<T, S>>1678   **/1679  UpDataStructsRmrkThemeProperty: {1680    key: 'Bytes',1681    value: 'Bytes'1682  },1683  /**1684   * Lookup229: pallet_evm::pallet::Call<T>1685   **/1686  PalletEvmCall: {1687    _enum: {1688      withdraw: {1689        address: 'H160',1690        value: 'u128',1691      },1692      call: {1693        source: 'H160',1694        target: 'H160',1695        input: 'Bytes',1696        value: 'U256',1697        gasLimit: 'u64',1698        maxFeePerGas: 'U256',1699        maxPriorityFeePerGas: 'Option<U256>',1700        nonce: 'Option<U256>',1701        accessList: 'Vec<(H160,Vec<H256>)>',1702      },1703      create: {1704        source: 'H160',1705        init: 'Bytes',1706        value: 'U256',1707        gasLimit: 'u64',1708        maxFeePerGas: 'U256',1709        maxPriorityFeePerGas: 'Option<U256>',1710        nonce: 'Option<U256>',1711        accessList: 'Vec<(H160,Vec<H256>)>',1712      },1713      create2: {1714        source: 'H160',1715        init: 'Bytes',1716        salt: 'H256',1717        value: 'U256',1718        gasLimit: 'u64',1719        maxFeePerGas: 'U256',1720        maxPriorityFeePerGas: 'Option<U256>',1721        nonce: 'Option<U256>',1722        accessList: 'Vec<(H160,Vec<H256>)>'1723      }1724    }1725  },1726  /**1727   * Lookup235: pallet_ethereum::pallet::Call<T>1728   **/1729  PalletEthereumCall: {1730    _enum: {1731      transact: {1732        transaction: 'EthereumTransactionTransactionV2'1733      }1734    }1735  },1736  /**1737   * Lookup236: ethereum::transaction::TransactionV21738   **/1739  EthereumTransactionTransactionV2: {1740    _enum: {1741      Legacy: 'EthereumTransactionLegacyTransaction',1742      EIP2930: 'EthereumTransactionEip2930Transaction',1743      EIP1559: 'EthereumTransactionEip1559Transaction'1744    }1745  },1746  /**1747   * Lookup237: ethereum::transaction::LegacyTransaction1748   **/1749  EthereumTransactionLegacyTransaction: {1750    nonce: 'U256',1751    gasPrice: 'U256',1752    gasLimit: 'U256',1753    action: 'EthereumTransactionTransactionAction',1754    value: 'U256',1755    input: 'Bytes',1756    signature: 'EthereumTransactionTransactionSignature'1757  },1758  /**1759   * Lookup238: ethereum::transaction::TransactionAction1760   **/1761  EthereumTransactionTransactionAction: {1762    _enum: {1763      Call: 'H160',1764      Create: 'Null'1765    }1766  },1767  /**1768   * Lookup239: ethereum::transaction::TransactionSignature1769   **/1770  EthereumTransactionTransactionSignature: {1771    v: 'u64',1772    r: 'H256',1773    s: 'H256'1774  },1775  /**1776   * Lookup241: ethereum::transaction::EIP2930Transaction1777   **/1778  EthereumTransactionEip2930Transaction: {1779    chainId: 'u64',1780    nonce: 'U256',1781    gasPrice: 'U256',1782    gasLimit: 'U256',1783    action: 'EthereumTransactionTransactionAction',1784    value: 'U256',1785    input: 'Bytes',1786    accessList: 'Vec<EthereumTransactionAccessListItem>',1787    oddYParity: 'bool',1788    r: 'H256',1789    s: 'H256'1790  },1791  /**1792   * Lookup243: ethereum::transaction::AccessListItem1793   **/1794  EthereumTransactionAccessListItem: {1795    address: 'H160',1796    storageKeys: 'Vec<H256>'1797  },1798  /**1799   * Lookup244: ethereum::transaction::EIP1559Transaction1800   **/1801  EthereumTransactionEip1559Transaction: {1802    chainId: 'u64',1803    nonce: 'U256',1804    maxPriorityFeePerGas: 'U256',1805    maxFeePerGas: 'U256',1806    gasLimit: 'U256',1807    action: 'EthereumTransactionTransactionAction',1808    value: 'U256',1809    input: 'Bytes',1810    accessList: 'Vec<EthereumTransactionAccessListItem>',1811    oddYParity: 'bool',1812    r: 'H256',1813    s: 'H256'1814  },1815  /**1816   * Lookup245: pallet_evm_migration::pallet::Call<T>1817   **/1818  PalletEvmMigrationCall: {1819    _enum: {1820      begin: {1821        address: 'H160',1822      },1823      set_data: {1824        address: 'H160',1825        data: 'Vec<(H256,H256)>',1826      },1827      finish: {1828        address: 'H160',1829        code: 'Bytes'1830      }1831    }1832  },1833  /**1834   * Lookup248: pallet_sudo::pallet::Event<T>1835   **/1836  PalletSudoEvent: {1837    _enum: {1838      Sudid: {1839        sudoResult: 'Result<Null, SpRuntimeDispatchError>',1840      },1841      KeyChanged: {1842        oldSudoer: 'Option<AccountId32>',1843      },1844      SudoAsDone: {1845        sudoResult: 'Result<Null, SpRuntimeDispatchError>'1846      }1847    }1848  },1849  /**1850   * Lookup250: sp_runtime::DispatchError1851   **/1852  SpRuntimeDispatchError: {1853    _enum: {1854      Other: 'Null',1855      CannotLookup: 'Null',1856      BadOrigin: 'Null',1857      Module: 'SpRuntimeModuleError',1858      ConsumerRemaining: 'Null',1859      NoProviders: 'Null',1860      TooManyConsumers: 'Null',1861      Token: 'SpRuntimeTokenError',1862      Arithmetic: 'SpRuntimeArithmeticError',1863      Transactional: 'SpRuntimeTransactionalError'1864    }1865  },1866  /**1867   * Lookup251: sp_runtime::ModuleError1868   **/1869  SpRuntimeModuleError: {1870    index: 'u8',1871    error: '[u8;4]'1872  },1873  /**1874   * Lookup252: sp_runtime::TokenError1875   **/1876  SpRuntimeTokenError: {1877    _enum: ['NoFunds', 'WouldDie', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported']1878  },1879  /**1880   * Lookup253: sp_runtime::ArithmeticError1881   **/1882  SpRuntimeArithmeticError: {1883    _enum: ['Underflow', 'Overflow', 'DivisionByZero']1884  },1885  /**1886   * Lookup254: sp_runtime::TransactionalError1887   **/1888  SpRuntimeTransactionalError: {1889    _enum: ['LimitReached', 'NoLayer']1890  },1891  /**1892   * Lookup255: pallet_sudo::pallet::Error<T>1893   **/1894  PalletSudoError: {1895    _enum: ['RequireSudo']1896  },1897  /**1898   * Lookup256: frame_system::AccountInfo<Index, pallet_balances::AccountData<Balance>>1899   **/1900  FrameSystemAccountInfo: {1901    nonce: 'u32',1902    consumers: 'u32',1903    providers: 'u32',1904    sufficients: 'u32',1905    data: 'PalletBalancesAccountData'1906  },1907  /**1908   * Lookup257: frame_support::weights::PerDispatchClass<T>1909   **/1910  FrameSupportWeightsPerDispatchClassU64: {1911    normal: 'u64',1912    operational: 'u64',1913    mandatory: 'u64'1914  },1915  /**1916   * Lookup258: sp_runtime::generic::digest::Digest1917   **/1918  SpRuntimeDigest: {1919    logs: 'Vec<SpRuntimeDigestDigestItem>'1920  },1921  /**1922   * Lookup260: sp_runtime::generic::digest::DigestItem1923   **/1924  SpRuntimeDigestDigestItem: {1925    _enum: {1926      Other: 'Bytes',1927      __Unused1: 'Null',1928      __Unused2: 'Null',1929      __Unused3: 'Null',1930      Consensus: '([u8;4],Bytes)',1931      Seal: '([u8;4],Bytes)',1932      PreRuntime: '([u8;4],Bytes)',1933      __Unused7: 'Null',1934      RuntimeEnvironmentUpdated: 'Null'1935    }1936  },1937  /**1938   * Lookup262: frame_system::EventRecord<opal_runtime::Event, primitive_types::H256>1939   **/1940  FrameSystemEventRecord: {1941    phase: 'FrameSystemPhase',1942    event: 'Event',1943    topics: 'Vec<H256>'1944  },1945  /**1946   * Lookup264: frame_system::pallet::Event<T>1947   **/1948  FrameSystemEvent: {1949    _enum: {1950      ExtrinsicSuccess: {1951        dispatchInfo: 'FrameSupportWeightsDispatchInfo',1952      },1953      ExtrinsicFailed: {1954        dispatchError: 'SpRuntimeDispatchError',1955        dispatchInfo: 'FrameSupportWeightsDispatchInfo',1956      },1957      CodeUpdated: 'Null',1958      NewAccount: {1959        account: 'AccountId32',1960      },1961      KilledAccount: {1962        account: 'AccountId32',1963      },1964      Remarked: {1965        _alias: {1966          hash_: 'hash',1967        },1968        sender: 'AccountId32',1969        hash_: 'H256'1970      }1971    }1972  },1973  /**1974   * Lookup265: frame_support::weights::DispatchInfo1975   **/1976  FrameSupportWeightsDispatchInfo: {1977    weight: 'u64',1978    class: 'FrameSupportWeightsDispatchClass',1979    paysFee: 'FrameSupportWeightsPays'1980  },1981  /**1982   * Lookup266: frame_support::weights::DispatchClass1983   **/1984  FrameSupportWeightsDispatchClass: {1985    _enum: ['Normal', 'Operational', 'Mandatory']1986  },1987  /**1988   * Lookup267: frame_support::weights::Pays1989   **/1990  FrameSupportWeightsPays: {1991    _enum: ['Yes', 'No']1992  },1993  /**1994   * Lookup268: orml_vesting::module::Event<T>1995   **/1996  OrmlVestingModuleEvent: {1997    _enum: {1998      VestingScheduleAdded: {1999        from: 'AccountId32',2000        to: 'AccountId32',2001        vestingSchedule: 'OrmlVestingVestingSchedule',2002      },2003      Claimed: {2004        who: 'AccountId32',2005        amount: 'u128',2006      },2007      VestingSchedulesUpdated: {2008        who: 'AccountId32'2009      }2010    }2011  },2012  /**2013   * Lookup269: cumulus_pallet_xcmp_queue::pallet::Event<T>2014   **/2015  CumulusPalletXcmpQueueEvent: {2016    _enum: {2017      Success: 'Option<H256>',2018      Fail: '(Option<H256>,XcmV2TraitsError)',2019      BadVersion: 'Option<H256>',2020      BadFormat: 'Option<H256>',2021      UpwardMessageSent: 'Option<H256>',2022      XcmpMessageSent: 'Option<H256>',2023      OverweightEnqueued: '(u32,u32,u64,u64)',2024      OverweightServiced: '(u64,u64)'2025    }2026  },2027  /**2028   * Lookup270: pallet_xcm::pallet::Event<T>2029   **/2030  PalletXcmEvent: {2031    _enum: {2032      Attempted: 'XcmV2TraitsOutcome',2033      Sent: '(XcmV1MultiLocation,XcmV1MultiLocation,XcmV2Xcm)',2034      UnexpectedResponse: '(XcmV1MultiLocation,u64)',2035      ResponseReady: '(u64,XcmV2Response)',2036      Notified: '(u64,u8,u8)',2037      NotifyOverweight: '(u64,u8,u8,u64,u64)',2038      NotifyDispatchError: '(u64,u8,u8)',2039      NotifyDecodeFailed: '(u64,u8,u8)',2040      InvalidResponder: '(XcmV1MultiLocation,u64,Option<XcmV1MultiLocation>)',2041      InvalidResponderVersion: '(XcmV1MultiLocation,u64)',2042      ResponseTaken: 'u64',2043      AssetsTrapped: '(H256,XcmV1MultiLocation,XcmVersionedMultiAssets)',2044      VersionChangeNotified: '(XcmV1MultiLocation,u32)',2045      SupportedVersionChanged: '(XcmV1MultiLocation,u32)',2046      NotifyTargetSendFail: '(XcmV1MultiLocation,u64,XcmV2TraitsError)',2047      NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)'2048    }2049  },2050  /**2051   * Lookup271: xcm::v2::traits::Outcome2052   **/2053  XcmV2TraitsOutcome: {2054    _enum: {2055      Complete: 'u64',2056      Incomplete: '(u64,XcmV2TraitsError)',2057      Error: 'XcmV2TraitsError'2058    }2059  },2060  /**2061   * Lookup273: cumulus_pallet_xcm::pallet::Event<T>2062   **/2063  CumulusPalletXcmEvent: {2064    _enum: {2065      InvalidFormat: '[u8;8]',2066      UnsupportedVersion: '[u8;8]',2067      ExecutedDownward: '([u8;8],XcmV2TraitsOutcome)'2068    }2069  },2070  /**2071   * Lookup274: cumulus_pallet_dmp_queue::pallet::Event<T>2072   **/2073  CumulusPalletDmpQueueEvent: {2074    _enum: {2075      InvalidFormat: '[u8;32]',2076      UnsupportedVersion: '[u8;32]',2077      ExecutedDownward: '([u8;32],XcmV2TraitsOutcome)',2078      WeightExhausted: '([u8;32],u64,u64)',2079      OverweightEnqueued: '([u8;32],u64,u64)',2080      OverweightServiced: '(u64,u64)'2081    }2082  },2083  /**2084   * Lookup275: pallet_unique::RawEvent<sp_core::crypto::AccountId32, pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2085   **/2086  PalletUniqueRawEvent: {2087    _enum: {2088      CollectionSponsorRemoved: 'u32',2089      CollectionAdminAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',2090      CollectionOwnedChanged: '(u32,AccountId32)',2091      CollectionSponsorSet: '(u32,AccountId32)',2092      SponsorshipConfirmed: '(u32,AccountId32)',2093      CollectionAdminRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',2094      AllowListAddressRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',2095      AllowListAddressAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',2096      CollectionLimitSet: 'u32',2097      CollectionPermissionSet: 'u32'2098    }2099  },2100  /**2101   * Lookup276: pallet_common::pallet::Event<T>2102   **/2103  PalletCommonEvent: {2104    _enum: {2105      CollectionCreated: '(u32,u8,AccountId32)',2106      CollectionDestroyed: 'u32',2107      ItemCreated: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',2108      ItemDestroyed: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',2109      Transfer: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',2110      Approved: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',2111      CollectionPropertySet: '(u32,Bytes)',2112      CollectionPropertyDeleted: '(u32,Bytes)',2113      TokenPropertySet: '(u32,u32,Bytes)',2114      TokenPropertyDeleted: '(u32,u32,Bytes)',2115      PropertyPermissionSet: '(u32,Bytes)'2116    }2117  },2118  /**2119   * Lookup277: pallet_structure::pallet::Event<T>2120   **/2121  PalletStructureEvent: {2122    _enum: {2123      Executed: 'Result<Null, SpRuntimeDispatchError>'2124    }2125  },2126  /**2127   * Lookup278: pallet_rmrk_core::pallet::Event<T>2128   **/2129  PalletRmrkCoreEvent: {2130    _enum: {2131      CollectionCreated: {2132        issuer: 'AccountId32',2133        collectionId: 'u32',2134      },2135      CollectionDestroyed: {2136        issuer: 'AccountId32',2137        collectionId: 'u32',2138      },2139      IssuerChanged: {2140        oldIssuer: 'AccountId32',2141        newIssuer: 'AccountId32',2142        collectionId: 'u32',2143      },2144      CollectionLocked: {2145        issuer: 'AccountId32',2146        collectionId: 'u32',2147      },2148      NftMinted: {2149        owner: 'AccountId32',2150        collectionId: 'u32',2151        nftId: 'u32',2152      },2153      NFTBurned: {2154        owner: 'AccountId32',2155        nftId: 'u32',2156      },2157      PropertySet: {2158        collectionId: 'u32',2159        maybeNftId: 'Option<u32>',2160        key: 'Bytes',2161        value: 'Bytes',2162      },2163      ResourceAdded: {2164        nftId: 'u32',2165        resourceId: 'u32'2166      }2167    }2168  },2169  /**2170   * Lookup279: pallet_rmrk_equip::pallet::Event<T>2171   **/2172  PalletRmrkEquipEvent: {2173    _enum: {2174      BaseCreated: {2175        issuer: 'AccountId32',2176        baseId: 'u32'2177      }2178    }2179  },2180  /**2181   * Lookup280: pallet_evm::pallet::Event<T>2182   **/2183  PalletEvmEvent: {2184    _enum: {2185      Log: 'EthereumLog',2186      Created: 'H160',2187      CreatedFailed: 'H160',2188      Executed: 'H160',2189      ExecutedFailed: 'H160',2190      BalanceDeposit: '(AccountId32,H160,U256)',2191      BalanceWithdraw: '(AccountId32,H160,U256)'2192    }2193  },2194  /**2195   * Lookup281: ethereum::log::Log2196   **/2197  EthereumLog: {2198    address: 'H160',2199    topics: 'Vec<H256>',2200    data: 'Bytes'2201  },2202  /**2203   * Lookup282: pallet_ethereum::pallet::Event2204   **/2205  PalletEthereumEvent: {2206    _enum: {2207      Executed: '(H160,H160,H256,EvmCoreErrorExitReason)'2208    }2209  },2210  /**2211   * Lookup283: evm_core::error::ExitReason2212   **/2213  EvmCoreErrorExitReason: {2214    _enum: {2215      Succeed: 'EvmCoreErrorExitSucceed',2216      Error: 'EvmCoreErrorExitError',2217      Revert: 'EvmCoreErrorExitRevert',2218      Fatal: 'EvmCoreErrorExitFatal'2219    }2220  },2221  /**2222   * Lookup284: evm_core::error::ExitSucceed2223   **/2224  EvmCoreErrorExitSucceed: {2225    _enum: ['Stopped', 'Returned', 'Suicided']2226  },2227  /**2228   * Lookup285: evm_core::error::ExitError2229   **/2230  EvmCoreErrorExitError: {2231    _enum: {2232      StackUnderflow: 'Null',2233      StackOverflow: 'Null',2234      InvalidJump: 'Null',2235      InvalidRange: 'Null',2236      DesignatedInvalid: 'Null',2237      CallTooDeep: 'Null',2238      CreateCollision: 'Null',2239      CreateContractLimit: 'Null',2240      OutOfOffset: 'Null',2241      OutOfGas: 'Null',2242      OutOfFund: 'Null',2243      PCUnderflow: 'Null',2244      CreateEmpty: 'Null',2245      Other: 'Text',2246      InvalidCode: 'Null'2247    }2248  },2249  /**2250   * Lookup288: evm_core::error::ExitRevert2251   **/2252  EvmCoreErrorExitRevert: {2253    _enum: ['Reverted']2254  },2255  /**2256   * Lookup289: evm_core::error::ExitFatal2257   **/2258  EvmCoreErrorExitFatal: {2259    _enum: {2260      NotSupported: 'Null',2261      UnhandledInterrupt: 'Null',2262      CallErrorAsFatal: 'EvmCoreErrorExitError',2263      Other: 'Text'2264    }2265  },2266  /**2267   * Lookup290: frame_system::Phase2268   **/2269  FrameSystemPhase: {2270    _enum: {2271      ApplyExtrinsic: 'u32',2272      Finalization: 'Null',2273      Initialization: 'Null'2274    }2275  },2276  /**2277   * Lookup292: frame_system::LastRuntimeUpgradeInfo2278   **/2279  FrameSystemLastRuntimeUpgradeInfo: {2280    specVersion: 'Compact<u32>',2281    specName: 'Text'2282  },2283  /**2284   * Lookup293: frame_system::limits::BlockWeights2285   **/2286  FrameSystemLimitsBlockWeights: {2287    baseBlock: 'u64',2288    maxBlock: 'u64',2289    perClass: 'FrameSupportWeightsPerDispatchClassWeightsPerClass'2290  },2291  /**2292   * Lookup294: frame_support::weights::PerDispatchClass<frame_system::limits::WeightsPerClass>2293   **/2294  FrameSupportWeightsPerDispatchClassWeightsPerClass: {2295    normal: 'FrameSystemLimitsWeightsPerClass',2296    operational: 'FrameSystemLimitsWeightsPerClass',2297    mandatory: 'FrameSystemLimitsWeightsPerClass'2298  },2299  /**2300   * Lookup295: frame_system::limits::WeightsPerClass2301   **/2302  FrameSystemLimitsWeightsPerClass: {2303    baseExtrinsic: 'u64',2304    maxExtrinsic: 'Option<u64>',2305    maxTotal: 'Option<u64>',2306    reserved: 'Option<u64>'2307  },2308  /**2309   * Lookup297: frame_system::limits::BlockLength2310   **/2311  FrameSystemLimitsBlockLength: {2312    max: 'FrameSupportWeightsPerDispatchClassU32'2313  },2314  /**2315   * Lookup298: frame_support::weights::PerDispatchClass<T>2316   **/2317  FrameSupportWeightsPerDispatchClassU32: {2318    normal: 'u32',2319    operational: 'u32',2320    mandatory: 'u32'2321  },2322  /**2323   * Lookup299: frame_support::weights::RuntimeDbWeight2324   **/2325  FrameSupportWeightsRuntimeDbWeight: {2326    read: 'u64',2327    write: 'u64'2328  },2329  /**2330   * Lookup300: sp_version::RuntimeVersion2331   **/2332  SpVersionRuntimeVersion: {2333    specName: 'Text',2334    implName: 'Text',2335    authoringVersion: 'u32',2336    specVersion: 'u32',2337    implVersion: 'u32',2338    apis: 'Vec<([u8;8],u32)>',2339    transactionVersion: 'u32',2340    stateVersion: 'u8'2341  },2342  /**2343   * Lookup304: frame_system::pallet::Error<T>2344   **/2345  FrameSystemError: {2346    _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']2347  },2348  /**2349   * Lookup306: orml_vesting::module::Error<T>2350   **/2351  OrmlVestingModuleError: {2352    _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']2353  },2354  /**2355   * Lookup308: cumulus_pallet_xcmp_queue::InboundChannelDetails2356   **/2357  CumulusPalletXcmpQueueInboundChannelDetails: {2358    sender: 'u32',2359    state: 'CumulusPalletXcmpQueueInboundState',2360    messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'2361  },2362  /**2363   * Lookup309: cumulus_pallet_xcmp_queue::InboundState2364   **/2365  CumulusPalletXcmpQueueInboundState: {2366    _enum: ['Ok', 'Suspended']2367  },2368  /**2369   * Lookup312: polkadot_parachain::primitives::XcmpMessageFormat2370   **/2371  PolkadotParachainPrimitivesXcmpMessageFormat: {2372    _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']2373  },2374  /**2375   * Lookup315: cumulus_pallet_xcmp_queue::OutboundChannelDetails2376   **/2377  CumulusPalletXcmpQueueOutboundChannelDetails: {2378    recipient: 'u32',2379    state: 'CumulusPalletXcmpQueueOutboundState',2380    signalsExist: 'bool',2381    firstIndex: 'u16',2382    lastIndex: 'u16'2383  },2384  /**2385   * Lookup316: cumulus_pallet_xcmp_queue::OutboundState2386   **/2387  CumulusPalletXcmpQueueOutboundState: {2388    _enum: ['Ok', 'Suspended']2389  },2390  /**2391   * Lookup318: cumulus_pallet_xcmp_queue::QueueConfigData2392   **/2393  CumulusPalletXcmpQueueQueueConfigData: {2394    suspendThreshold: 'u32',2395    dropThreshold: 'u32',2396    resumeThreshold: 'u32',2397    thresholdWeight: 'u64',2398    weightRestrictDecay: 'u64',2399    xcmpMaxIndividualWeight: 'u64'2400  },2401  /**2402   * Lookup320: cumulus_pallet_xcmp_queue::pallet::Error<T>2403   **/2404  CumulusPalletXcmpQueueError: {2405    _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']2406  },2407  /**2408   * Lookup321: pallet_xcm::pallet::Error<T>2409   **/2410  PalletXcmError: {2411    _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']2412  },2413  /**2414   * Lookup322: cumulus_pallet_xcm::pallet::Error<T>2415   **/2416  CumulusPalletXcmError: 'Null',2417  /**2418   * Lookup323: cumulus_pallet_dmp_queue::ConfigData2419   **/2420  CumulusPalletDmpQueueConfigData: {2421    maxIndividual: 'u64'2422  },2423  /**2424   * Lookup324: cumulus_pallet_dmp_queue::PageIndexData2425   **/2426  CumulusPalletDmpQueuePageIndexData: {2427    beginUsed: 'u32',2428    endUsed: 'u32',2429    overweightCount: 'u64'2430  },2431  /**2432   * Lookup327: cumulus_pallet_dmp_queue::pallet::Error<T>2433   **/2434  CumulusPalletDmpQueueError: {2435    _enum: ['Unknown', 'OverLimit']2436  },2437  /**2438   * Lookup331: pallet_unique::Error<T>2439   **/2440  PalletUniqueError: {2441    _enum: ['CollectionDecimalPointLimitExceeded', 'ConfirmUnsetSponsorFail', 'EmptyArgument']2442  },2443  /**2444   * Lookup332: up_data_structs::Collection<sp_core::crypto::AccountId32>2445   **/2446  UpDataStructsCollection: {2447    owner: 'AccountId32',2448    mode: 'UpDataStructsCollectionMode',2449    name: 'Vec<u16>',2450    description: 'Vec<u16>',2451    tokenPrefix: 'Bytes',2452    sponsorship: 'UpDataStructsSponsorshipState',2453    limits: 'UpDataStructsCollectionLimits',2454    permissions: 'UpDataStructsCollectionPermissions'2455  },2456  /**2457   * Lookup333: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>2458   **/2459  UpDataStructsSponsorshipState: {2460    _enum: {2461      Disabled: 'Null',2462      Unconfirmed: 'AccountId32',2463      Confirmed: 'AccountId32'2464    }2465  },2466  /**2467   * Lookup334: up_data_structs::Properties2468   **/2469  UpDataStructsProperties: {2470    map: 'UpDataStructsPropertiesMapBoundedVec',2471    consumedSpace: 'u32',2472    spaceLimit: 'u32'2473  },2474  /**2475   * Lookup335: up_data_structs::PropertiesMap<frame_support::storage::bounded_vec::BoundedVec<T, S>>2476   **/2477  UpDataStructsPropertiesMapBoundedVec: 'BTreeMap<Bytes, Bytes>',2478  /**2479   * Lookup340: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>2480   **/2481  UpDataStructsPropertiesMapPropertyPermission: 'BTreeMap<Bytes, UpDataStructsPropertyPermission>',2482  /**2483   * Lookup347: up_data_structs::CollectionStats2484   **/2485  UpDataStructsCollectionStats: {2486    created: 'u32',2487    destroyed: 'u32',2488    alive: 'u32'2489  },2490  /**2491   * Lookup323: up_data_structs::TokenChild2492   **/2493  UpDataStructsTokenChild: {2494    token: 'u32',2495    collection: 'u32'2496  },2497  /**2498   * Lookup324: PhantomType::up_data_structs<T>2499   **/2500  PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,UpDataStructsRmrkCollectionInfo,UpDataStructsRmrkNftInfo,UpDataStructsRmrkResourceInfo,UpDataStructsRmrkPropertyInfo,UpDataStructsRmrkBaseInfo,UpDataStructsRmrkPartType,UpDataStructsRmrkTheme,UpDataStructsRmrkNftChild);0]',2501  /**2502   * Lookup326: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2503   **/2504  UpDataStructsTokenData: {2505    properties: 'Vec<UpDataStructsProperty>',2506    owner: 'Option<PalletEvmAccountBasicCrossAccountIdRepr>'2507  },2508  /**2509   * Lookup328: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>2510   **/2511  UpDataStructsRpcCollection: {2512    owner: 'AccountId32',2513    mode: 'UpDataStructsCollectionMode',2514    name: 'Vec<u16>',2515    description: 'Vec<u16>',2516    tokenPrefix: 'Bytes',2517    sponsorship: 'UpDataStructsSponsorshipState',2518    limits: 'UpDataStructsCollectionLimits',2519    permissions: 'UpDataStructsCollectionPermissions',2520    tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',2521    properties: 'Vec<UpDataStructsProperty>'2522  },2523  /**2524   * Lookup329: up_data_structs::rmrk::CollectionInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>, sp_core::crypto::AccountId32>2525   **/2526  UpDataStructsRmrkCollectionInfo: {2527    issuer: 'AccountId32',2528    metadata: 'Bytes',2529    max: 'Option<u32>',2530    symbol: 'Bytes',2531    nftsCount: 'u32'2532  },2533  /**2534   * Lookup332: up_data_structs::rmrk::NftInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill, frame_support::storage::bounded_vec::BoundedVec<T, S>>2535   **/2536  UpDataStructsRmrkNftInfo: {2537    owner: 'UpDataStructsRmrkAccountIdOrCollectionNftTuple',2538    royalty: 'Option<UpDataStructsRmrkRoyaltyInfo>',2539    metadata: 'Bytes',2540    equipped: 'bool',2541    pending: 'bool'2542  },2543  /**2544   * Lookup333: up_data_structs::rmrk::AccountIdOrCollectionNftTuple<sp_core::crypto::AccountId32>2545   **/2546  UpDataStructsRmrkAccountIdOrCollectionNftTuple: {2547    _enum: {2548      AccountId: 'AccountId32',2549      CollectionAndNftTuple: '(u32,u32)'2550    }2551  },2552  /**2553   * Lookup335: up_data_structs::rmrk::RoyaltyInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill>2554   **/2555  UpDataStructsRmrkRoyaltyInfo: {2556    recipient: 'AccountId32',2557    amount: 'Permill'2558  },2559  /**2560   * Lookup336: up_data_structs::rmrk::ResourceInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>2561   **/2562  UpDataStructsRmrkResourceInfo: {2563    id: 'u32',2564    resource: 'UpDataStructsRmrkResourceTypes',2565    pending: 'bool',2566    pendingRemoval: 'bool'2567  },2568  /**2569   * Lookup339: up_data_structs::rmrk::ResourceTypes<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>2570   **/2571  UpDataStructsRmrkResourceTypes: {2572    _enum: {2573      Basic: 'UpDataStructsRmrkBasicResource',2574      Composable: 'UpDataStructsRmrkComposableResource',2575      Slot: 'UpDataStructsRmrkSlotResource'2576    }2577  },2578  /**2579   * Lookup340: up_data_structs::rmrk::BasicResource<frame_support::storage::bounded_vec::BoundedVec<T, S>>2580   **/2581  UpDataStructsRmrkBasicResource: {2582    src: 'Option<Bytes>',2583    metadata: 'Option<Bytes>',2584    license: 'Option<Bytes>',2585    thumb: 'Option<Bytes>'2586  },2587  /**2588   * Lookup342: up_data_structs::rmrk::ComposableResource<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>2589   **/2590  UpDataStructsRmrkComposableResource: {2591    parts: 'Vec<u32>',2592    base: 'u32',2593    src: 'Option<Bytes>',2594    metadata: 'Option<Bytes>',2595    license: 'Option<Bytes>',2596    thumb: 'Option<Bytes>'2597  },2598  /**2599   * Lookup343: up_data_structs::rmrk::SlotResource<frame_support::storage::bounded_vec::BoundedVec<T, S>>2600   **/2601  UpDataStructsRmrkSlotResource: {2602    base: 'u32',2603    src: 'Option<Bytes>',2604    metadata: 'Option<Bytes>',2605    slot: 'u32',2606    license: 'Option<Bytes>',2607    thumb: 'Option<Bytes>'2608  },2609  /**2610   * Lookup344: up_data_structs::rmrk::PropertyInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>2611   **/2612  UpDataStructsRmrkPropertyInfo: {2613    key: 'Bytes',2614    value: 'Bytes'2615  },2616  /**2617   * Lookup347: up_data_structs::rmrk::BaseInfo<sp_core::crypto::AccountId32, frame_support::storage::bounded_vec::BoundedVec<T, S>>2618   **/2619  UpDataStructsRmrkBaseInfo: {2620    issuer: 'AccountId32',2621    baseType: 'Bytes',2622    symbol: 'Bytes'2623  },2624  /**2625   * Lookup348: up_data_structs::rmrk::PartType<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>2626   **/2627  UpDataStructsRmrkPartType: {2628    _enum: {2629      FixedPart: 'UpDataStructsRmrkFixedPart',2630      SlotPart: 'UpDataStructsRmrkSlotPart'2631    }2632  },2633  /**2634   * Lookup350: up_data_structs::rmrk::FixedPart<frame_support::storage::bounded_vec::BoundedVec<T, S>>2635   **/2636  UpDataStructsRmrkFixedPart: {2637    id: 'u32',2638    z: 'u32',2639    src: 'Bytes'2640  },2641  /**2642   * Lookup351: up_data_structs::rmrk::SlotPart<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>2643   **/2644  UpDataStructsRmrkSlotPart: {2645    id: 'u32',2646    equippable: 'UpDataStructsRmrkEquippableList',2647    src: 'Bytes',2648    z: 'u32'2649  },2650  /**2651   * Lookup352: up_data_structs::rmrk::EquippableList<frame_support::storage::bounded_vec::BoundedVec<T, S>>2652   **/2653  UpDataStructsRmrkEquippableList: {2654    _enum: {2655      All: 'Null',2656      Empty: 'Null',2657      Custom: 'Vec<u32>'2658    }2659  },2660  /**2661   * Lookup353: up_data_structs::rmrk::Theme<frame_support::storage::bounded_vec::BoundedVec<T, S>, PropertyList>2662   **/2663  UpDataStructsRmrkTheme: {2664    name: 'Bytes',2665    properties: 'Vec<UpDataStructsRmrkThemeProperty>',2666    inherit: 'bool'2667  },2668  /**2669   * Lookup355: up_data_structs::rmrk::ThemeProperty<frame_support::storage::bounded_vec::BoundedVec<T, S>>2670   **/2671  UpDataStructsRmrkThemeProperty: {2672    key: 'Bytes',2673    value: 'Bytes'2674  },2675  /**2676   * Lookup356: up_data_structs::rmrk::NftChild2677   **/2678  UpDataStructsRmrkNftChild: {2679    collectionId: 'u32',2680    nftId: 'u32'2681  },2682  /**2683   * Lookup358: pallet_common::pallet::Error<T>2684   **/2685  PalletCommonError: {2686    _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']2687  },2688  /**2689   * Lookup360: pallet_fungible::pallet::Error<T>2690   **/2691  PalletFungibleError: {2692    _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed']2693  },2694  /**2695   * Lookup361: pallet_refungible::ItemData2696   **/2697  PalletRefungibleItemData: {2698    constData: 'Bytes'2699  },2700  /**2701   * Lookup365: pallet_refungible::pallet::Error<T>2702   **/2703  PalletRefungibleError: {2704    _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed']2705  },2706  /**2707   * Lookup366: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2708   **/2709  PalletNonfungibleItemData: {2710    owner: 'PalletEvmAccountBasicCrossAccountIdRepr'2711  },2712  /**2713   * Lookup368: pallet_nonfungible::pallet::Error<T>2714   **/2715  PalletNonfungibleError: {2716    _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren']2717  },2718  /**2719   * Lookup369: pallet_structure::pallet::Error<T>2720   **/2721  PalletStructureError: {2722    _enum: ['OuroborosDetected', 'DepthLimit', 'TokenNotFound']2723  },2724  /**2725   * Lookup372: pallet_evm::pallet::Error<T>2726   **/2727  PalletEvmError: {2728    _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce']2729  },2730  /**2731   * Lookup375: fp_rpc::TransactionStatus2732   **/2733  FpRpcTransactionStatus: {2734    transactionHash: 'H256',2735    transactionIndex: 'u32',2736    from: 'H160',2737    to: 'Option<H160>',2738    contractAddress: 'Option<H160>',2739    logs: 'Vec<EthereumLog>',2740    logsBloom: 'EthbloomBloom'2741  },2742  /**2743   * Lookup377: ethbloom::Bloom2744   **/2745  EthbloomBloom: '[u8;256]',2746  /**2747   * Lookup379: ethereum::receipt::ReceiptV32748   **/2749  EthereumReceiptReceiptV3: {2750    _enum: {2751      Legacy: 'EthereumReceiptEip658ReceiptData',2752      EIP2930: 'EthereumReceiptEip658ReceiptData',2753      EIP1559: 'EthereumReceiptEip658ReceiptData'2754    }2755  },2756  /**2757   * Lookup380: ethereum::receipt::EIP658ReceiptData2758   **/2759  EthereumReceiptEip658ReceiptData: {2760    statusCode: 'u8',2761    usedGas: 'U256',2762    logsBloom: 'EthbloomBloom',2763    logs: 'Vec<EthereumLog>'2764  },2765  /**2766   * Lookup381: ethereum::block::Block<ethereum::transaction::TransactionV2>2767   **/2768  EthereumBlock: {2769    header: 'EthereumHeader',2770    transactions: 'Vec<EthereumTransactionTransactionV2>',2771    ommers: 'Vec<EthereumHeader>'2772  },2773  /**2774   * Lookup382: ethereum::header::Header2775   **/2776  EthereumHeader: {2777    parentHash: 'H256',2778    ommersHash: 'H256',2779    beneficiary: 'H160',2780    stateRoot: 'H256',2781    transactionsRoot: 'H256',2782    receiptsRoot: 'H256',2783    logsBloom: 'EthbloomBloom',2784    difficulty: 'U256',2785    number: 'U256',2786    gasLimit: 'U256',2787    gasUsed: 'U256',2788    timestamp: 'u64',2789    extraData: 'Bytes',2790    mixHash: 'H256',2791    nonce: 'EthereumTypesHashH64'2792  },2793  /**2794   * Lookup383: ethereum_types::hash::H642795   **/2796  EthereumTypesHashH64: '[u8;8]',2797  /**2798   * Lookup388: pallet_ethereum::pallet::Error<T>2799   **/2800  PalletEthereumError: {2801    _enum: ['InvalidSignature', 'PreLogExists']2802  },2803  /**2804   * Lookup389: pallet_evm_coder_substrate::pallet::Error<T>2805   **/2806  PalletEvmCoderSubstrateError: {2807    _enum: ['OutOfGas', 'OutOfFund']2808  },2809  /**2810   * Lookup390: pallet_evm_contract_helpers::SponsoringModeT2811   **/2812  PalletEvmContractHelpersSponsoringModeT: {2813    _enum: ['Disabled', 'Allowlisted', 'Generous']2814  },2815  /**2816   * Lookup392: pallet_evm_contract_helpers::pallet::Error<T>2817   **/2818  PalletEvmContractHelpersError: {2819    _enum: ['NoPermission']2820  },2821  /**2822   * Lookup393: pallet_evm_migration::pallet::Error<T>2823   **/2824  PalletEvmMigrationError: {2825    _enum: ['AccountNotEmpty', 'AccountIsNotMigrating']2826  },2827  /**2828   * Lookup395: sp_runtime::MultiSignature2829   **/2830  SpRuntimeMultiSignature: {2831    _enum: {2832      Ed25519: 'SpCoreEd25519Signature',2833      Sr25519: 'SpCoreSr25519Signature',2834      Ecdsa: 'SpCoreEcdsaSignature'2835    }2836  },2837  /**2838   * Lookup396: sp_core::ed25519::Signature2839   **/2840  SpCoreEd25519Signature: '[u8;64]',2841  /**2842   * Lookup398: sp_core::sr25519::Signature2843   **/2844  SpCoreSr25519Signature: '[u8;64]',2845  /**2846   * Lookup399: sp_core::ecdsa::Signature2847   **/2848  SpCoreEcdsaSignature: '[u8;65]',2849  /**2850   * Lookup402: frame_system::extensions::check_spec_version::CheckSpecVersion<T>2851   **/2852  FrameSystemExtensionsCheckSpecVersion: 'Null',2853  /**2854   * Lookup403: frame_system::extensions::check_genesis::CheckGenesis<T>2855   **/2856  FrameSystemExtensionsCheckGenesis: 'Null',2857  /**2858   * Lookup406: frame_system::extensions::check_nonce::CheckNonce<T>2859   **/2860  FrameSystemExtensionsCheckNonce: 'Compact<u32>',2861  /**2862   * Lookup407: frame_system::extensions::check_weight::CheckWeight<T>2863   **/2864  FrameSystemExtensionsCheckWeight: 'Null',2865  /**2866   * Lookup408: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>2867   **/2868  PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',2869  /**2870   * Lookup409: opal_runtime::Runtime2871   **/2872  OpalRuntimeRuntime: 'Null',2873  /**2874   * Lookup410: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>2875   **/2876  PalletEthereumFakeTransactionFinalizer: 'Null'2877};
modifiedtests/src/interfaces/registry.tsdiffbeforeafterboth
--- a/tests/src/interfaces/registry.ts
+++ b/tests/src/interfaces/registry.ts
@@ -104,6 +104,12 @@
     PalletNonfungibleItemData: PalletNonfungibleItemData;
     PalletRefungibleError: PalletRefungibleError;
     PalletRefungibleItemData: PalletRefungibleItemData;
+    PalletRmrkCoreCall: PalletRmrkCoreCall;
+    PalletRmrkCoreError: PalletRmrkCoreError;
+    PalletRmrkCoreEvent: PalletRmrkCoreEvent;
+    PalletRmrkEquipCall: PalletRmrkEquipCall;
+    PalletRmrkEquipError: PalletRmrkEquipError;
+    PalletRmrkEquipEvent: PalletRmrkEquipEvent;
     PalletStructureCall: PalletStructureCall;
     PalletStructureError: PalletStructureError;
     PalletStructureEvent: PalletStructureEvent;
modifiedtests/src/interfaces/rmrk/definitions.tsdiffbeforeafterboth
--- a/tests/src/interfaces/rmrk/definitions.ts
+++ b/tests/src/interfaces/rmrk/definitions.ts
@@ -58,7 +58,10 @@
     ),
     collectionProperties: fn(
       'Get collection properties',
-      [{name: 'collectionId', type: 'u32'}],
+      [
+        {name: 'collectionId', type: 'u32'},
+        {name: 'filterKeys', type: 'Vec<String>', isOptional: true},
+      ],
       'Vec<UpDataStructsRmrkPropertyInfo>',
     ),
     nftProperties: fn(
@@ -66,6 +69,7 @@
       [
         {name: 'collectionId', type: 'u32'},
         {name: 'nftId', type: 'u32'},
+        {name: 'filterKeys', type: 'Vec<String>', isOptional: true},
       ],
       'Vec<UpDataStructsRmrkPropertyInfo>',
     ),
modifiedtests/src/interfaces/types-lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/types-lookup.ts
+++ b/tests/src/interfaces/types-lookup.ts
@@ -1649,7 +1649,160 @@
   /** @name PalletStructureCall (205) */
   export type PalletStructureCall = Null;
 
-  /** @name PalletEvmCall (206) */
+  /** @name PalletRmrkCoreCall (206) */
+  export interface PalletRmrkCoreCall extends Enum {
+    readonly isCreateCollection: boolean;
+    readonly asCreateCollection: {
+      readonly metadata: Bytes;
+      readonly max: Option<u32>;
+      readonly symbol: Bytes;
+    } & Struct;
+    readonly isDestroyCollection: boolean;
+    readonly asDestroyCollection: {
+      readonly collectionId: u32;
+    } & Struct;
+    readonly isChangeCollectionIssuer: boolean;
+    readonly asChangeCollectionIssuer: {
+      readonly collectionId: u32;
+      readonly newIssuer: MultiAddress;
+    } & Struct;
+    readonly isLockCollection: boolean;
+    readonly asLockCollection: {
+      readonly collectionId: u32;
+    } & Struct;
+    readonly isMintNft: boolean;
+    readonly asMintNft: {
+      readonly owner: AccountId32;
+      readonly collectionId: u32;
+      readonly recipient: Option<AccountId32>;
+      readonly royaltyAmount: Option<Permill>;
+      readonly metadata: Bytes;
+    } & Struct;
+    readonly isBurnNft: boolean;
+    readonly asBurnNft: {
+      readonly collectionId: u32;
+      readonly nftId: u32;
+    } & Struct;
+    readonly isSetProperty: boolean;
+    readonly asSetProperty: {
+      readonly rmrkCollectionId: Compact<u32>;
+      readonly maybeNftId: Option<u32>;
+      readonly key: Bytes;
+      readonly value: Bytes;
+    } & Struct;
+    readonly isAddBasicResource: boolean;
+    readonly asAddBasicResource: {
+      readonly collectionId: u32;
+      readonly nftId: u32;
+      readonly resource: UpDataStructsRmrkBasicResource;
+    } & Struct;
+    readonly isAddComposableResource: boolean;
+    readonly asAddComposableResource: {
+      readonly collectionId: u32;
+      readonly nftId: u32;
+      readonly resourceId: Bytes;
+      readonly resource: UpDataStructsRmrkComposableResource;
+    } & Struct;
+    readonly isAddSlotResource: boolean;
+    readonly asAddSlotResource: {
+      readonly collectionId: u32;
+      readonly nftId: u32;
+      readonly resource: UpDataStructsRmrkSlotResource;
+    } & Struct;
+    readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'SetProperty' | 'AddBasicResource' | 'AddComposableResource' | 'AddSlotResource';
+  }
+
+  /** @name UpDataStructsRmrkBasicResource (212) */
+  export interface UpDataStructsRmrkBasicResource extends Struct {
+    readonly src: Option<Bytes>;
+    readonly metadata: Option<Bytes>;
+    readonly license: Option<Bytes>;
+    readonly thumb: Option<Bytes>;
+  }
+
+  /** @name UpDataStructsRmrkComposableResource (215) */
+  export interface UpDataStructsRmrkComposableResource extends Struct {
+    readonly parts: Vec<u32>;
+    readonly base: u32;
+    readonly src: Option<Bytes>;
+    readonly metadata: Option<Bytes>;
+    readonly license: Option<Bytes>;
+    readonly thumb: Option<Bytes>;
+  }
+
+  /** @name UpDataStructsRmrkSlotResource (217) */
+  export interface UpDataStructsRmrkSlotResource extends Struct {
+    readonly base: u32;
+    readonly src: Option<Bytes>;
+    readonly metadata: Option<Bytes>;
+    readonly slot: u32;
+    readonly license: Option<Bytes>;
+    readonly thumb: Option<Bytes>;
+  }
+
+  /** @name PalletRmrkEquipCall (218) */
+  export interface PalletRmrkEquipCall extends Enum {
+    readonly isCreateBase: boolean;
+    readonly asCreateBase: {
+      readonly baseType: Bytes;
+      readonly symbol: Bytes;
+      readonly parts: Vec<UpDataStructsRmrkPartType>;
+    } & Struct;
+    readonly isThemeAdd: boolean;
+    readonly asThemeAdd: {
+      readonly baseId: u32;
+      readonly theme: UpDataStructsRmrkTheme;
+    } & Struct;
+    readonly type: 'CreateBase' | 'ThemeAdd';
+  }
+
+  /** @name UpDataStructsRmrkPartType (220) */
+  export interface UpDataStructsRmrkPartType extends Enum {
+    readonly isFixedPart: boolean;
+    readonly asFixedPart: UpDataStructsRmrkFixedPart;
+    readonly isSlotPart: boolean;
+    readonly asSlotPart: UpDataStructsRmrkSlotPart;
+    readonly type: 'FixedPart' | 'SlotPart';
+  }
+
+  /** @name UpDataStructsRmrkFixedPart (222) */
+  export interface UpDataStructsRmrkFixedPart extends Struct {
+    readonly id: u32;
+    readonly z: u32;
+    readonly src: Bytes;
+  }
+
+  /** @name UpDataStructsRmrkSlotPart (223) */
+  export interface UpDataStructsRmrkSlotPart extends Struct {
+    readonly id: u32;
+    readonly equippable: UpDataStructsRmrkEquippableList;
+    readonly src: Bytes;
+    readonly z: u32;
+  }
+
+  /** @name UpDataStructsRmrkEquippableList (224) */
+  export interface UpDataStructsRmrkEquippableList extends Enum {
+    readonly isAll: boolean;
+    readonly isEmpty: boolean;
+    readonly isCustom: boolean;
+    readonly asCustom: Vec<u32>;
+    readonly type: 'All' | 'Empty' | 'Custom';
+  }
+
+  /** @name UpDataStructsRmrkTheme (226) */
+  export interface UpDataStructsRmrkTheme extends Struct {
+    readonly name: Bytes;
+    readonly properties: Vec<UpDataStructsRmrkThemeProperty>;
+    readonly inherit: bool;
+  }
+
+  /** @name UpDataStructsRmrkThemeProperty (228) */
+  export interface UpDataStructsRmrkThemeProperty extends Struct {
+    readonly key: Bytes;
+    readonly value: Bytes;
+  }
+
+  /** @name PalletEvmCall (229) */
   export interface PalletEvmCall extends Enum {
     readonly isWithdraw: boolean;
     readonly asWithdraw: {
@@ -1694,7 +1847,7 @@
     readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';
   }
 
-  /** @name PalletEthereumCall (212) */
+  /** @name PalletEthereumCall (235) */
   export interface PalletEthereumCall extends Enum {
     readonly isTransact: boolean;
     readonly asTransact: {
@@ -1703,7 +1856,7 @@
     readonly type: 'Transact';
   }
 
-  /** @name EthereumTransactionTransactionV2 (213) */
+  /** @name EthereumTransactionTransactionV2 (236) */
   export interface EthereumTransactionTransactionV2 extends Enum {
     readonly isLegacy: boolean;
     readonly asLegacy: EthereumTransactionLegacyTransaction;
@@ -1714,7 +1867,7 @@
     readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
   }
 
-  /** @name EthereumTransactionLegacyTransaction (214) */
+  /** @name EthereumTransactionLegacyTransaction (237) */
   export interface EthereumTransactionLegacyTransaction extends Struct {
     readonly nonce: U256;
     readonly gasPrice: U256;
@@ -1725,7 +1878,7 @@
     readonly signature: EthereumTransactionTransactionSignature;
   }
 
-  /** @name EthereumTransactionTransactionAction (215) */
+  /** @name EthereumTransactionTransactionAction (238) */
   export interface EthereumTransactionTransactionAction extends Enum {
     readonly isCall: boolean;
     readonly asCall: H160;
@@ -1733,14 +1886,14 @@
     readonly type: 'Call' | 'Create';
   }
 
-  /** @name EthereumTransactionTransactionSignature (216) */
+  /** @name EthereumTransactionTransactionSignature (239) */
   export interface EthereumTransactionTransactionSignature extends Struct {
     readonly v: u64;
     readonly r: H256;
     readonly s: H256;
   }
 
-  /** @name EthereumTransactionEip2930Transaction (218) */
+  /** @name EthereumTransactionEip2930Transaction (241) */
   export interface EthereumTransactionEip2930Transaction extends Struct {
     readonly chainId: u64;
     readonly nonce: U256;
@@ -1755,13 +1908,13 @@
     readonly s: H256;
   }
 
-  /** @name EthereumTransactionAccessListItem (220) */
+  /** @name EthereumTransactionAccessListItem (243) */
   export interface EthereumTransactionAccessListItem extends Struct {
     readonly address: H160;
     readonly storageKeys: Vec<H256>;
   }
 
-  /** @name EthereumTransactionEip1559Transaction (221) */
+  /** @name EthereumTransactionEip1559Transaction (244) */
   export interface EthereumTransactionEip1559Transaction extends Struct {
     readonly chainId: u64;
     readonly nonce: U256;
@@ -1777,7 +1930,7 @@
     readonly s: H256;
   }
 
-  /** @name PalletEvmMigrationCall (222) */
+  /** @name PalletEvmMigrationCall (245) */
   export interface PalletEvmMigrationCall extends Enum {
     readonly isBegin: boolean;
     readonly asBegin: {
@@ -1796,7 +1949,7 @@
     readonly type: 'Begin' | 'SetData' | 'Finish';
   }
 
-  /** @name PalletSudoEvent (225) */
+  /** @name PalletSudoEvent (248) */
   export interface PalletSudoEvent extends Enum {
     readonly isSudid: boolean;
     readonly asSudid: {
@@ -1813,7 +1966,7 @@
     readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';
   }
 
-  /** @name SpRuntimeDispatchError (227) */
+  /** @name SpRuntimeDispatchError (250) */
   export interface SpRuntimeDispatchError extends Enum {
     readonly isOther: boolean;
     readonly isCannotLookup: boolean;
@@ -1832,13 +1985,13 @@
     readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional';
   }
 
-  /** @name SpRuntimeModuleError (228) */
+  /** @name SpRuntimeModuleError (251) */
   export interface SpRuntimeModuleError extends Struct {
     readonly index: u8;
     readonly error: U8aFixed;
   }
 
-  /** @name SpRuntimeTokenError (229) */
+  /** @name SpRuntimeTokenError (252) */
   export interface SpRuntimeTokenError extends Enum {
     readonly isNoFunds: boolean;
     readonly isWouldDie: boolean;
@@ -1850,7 +2003,7 @@
     readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported';
   }
 
-  /** @name SpRuntimeArithmeticError (230) */
+  /** @name SpRuntimeArithmeticError (253) */
   export interface SpRuntimeArithmeticError extends Enum {
     readonly isUnderflow: boolean;
     readonly isOverflow: boolean;
@@ -1858,20 +2011,20 @@
     readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';
   }
 
-  /** @name SpRuntimeTransactionalError (231) */
+  /** @name SpRuntimeTransactionalError (254) */
   export interface SpRuntimeTransactionalError extends Enum {
     readonly isLimitReached: boolean;
     readonly isNoLayer: boolean;
     readonly type: 'LimitReached' | 'NoLayer';
   }
 
-  /** @name PalletSudoError (232) */
+  /** @name PalletSudoError (255) */
   export interface PalletSudoError extends Enum {
     readonly isRequireSudo: boolean;
     readonly type: 'RequireSudo';
   }
 
-  /** @name FrameSystemAccountInfo (233) */
+  /** @name FrameSystemAccountInfo (256) */
   export interface FrameSystemAccountInfo extends Struct {
     readonly nonce: u32;
     readonly consumers: u32;
@@ -1880,19 +2033,19 @@
     readonly data: PalletBalancesAccountData;
   }
 
-  /** @name FrameSupportWeightsPerDispatchClassU64 (234) */
+  /** @name FrameSupportWeightsPerDispatchClassU64 (257) */
   export interface FrameSupportWeightsPerDispatchClassU64 extends Struct {
     readonly normal: u64;
     readonly operational: u64;
     readonly mandatory: u64;
   }
 
-  /** @name SpRuntimeDigest (235) */
+  /** @name SpRuntimeDigest (258) */
   export interface SpRuntimeDigest extends Struct {
     readonly logs: Vec<SpRuntimeDigestDigestItem>;
   }
 
-  /** @name SpRuntimeDigestDigestItem (237) */
+  /** @name SpRuntimeDigestDigestItem (260) */
   export interface SpRuntimeDigestDigestItem extends Enum {
     readonly isOther: boolean;
     readonly asOther: Bytes;
@@ -1906,14 +2059,14 @@
     readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated';
   }
 
-  /** @name FrameSystemEventRecord (239) */
+  /** @name FrameSystemEventRecord (262) */
   export interface FrameSystemEventRecord extends Struct {
     readonly phase: FrameSystemPhase;
     readonly event: Event;
     readonly topics: Vec<H256>;
   }
 
-  /** @name FrameSystemEvent (241) */
+  /** @name FrameSystemEvent (264) */
   export interface FrameSystemEvent extends Enum {
     readonly isExtrinsicSuccess: boolean;
     readonly asExtrinsicSuccess: {
@@ -1941,14 +2094,14 @@
     readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked';
   }
 
-  /** @name FrameSupportWeightsDispatchInfo (242) */
+  /** @name FrameSupportWeightsDispatchInfo (265) */
   export interface FrameSupportWeightsDispatchInfo extends Struct {
     readonly weight: u64;
     readonly class: FrameSupportWeightsDispatchClass;
     readonly paysFee: FrameSupportWeightsPays;
   }
 
-  /** @name FrameSupportWeightsDispatchClass (243) */
+  /** @name FrameSupportWeightsDispatchClass (266) */
   export interface FrameSupportWeightsDispatchClass extends Enum {
     readonly isNormal: boolean;
     readonly isOperational: boolean;
@@ -1956,14 +2109,14 @@
     readonly type: 'Normal' | 'Operational' | 'Mandatory';
   }
 
-  /** @name FrameSupportWeightsPays (244) */
+  /** @name FrameSupportWeightsPays (267) */
   export interface FrameSupportWeightsPays extends Enum {
     readonly isYes: boolean;
     readonly isNo: boolean;
     readonly type: 'Yes' | 'No';
   }
 
-  /** @name OrmlVestingModuleEvent (245) */
+  /** @name OrmlVestingModuleEvent (268) */
   export interface OrmlVestingModuleEvent extends Enum {
     readonly isVestingScheduleAdded: boolean;
     readonly asVestingScheduleAdded: {
@@ -1983,7 +2136,7 @@
     readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';
   }
 
-  /** @name CumulusPalletXcmpQueueEvent (246) */
+  /** @name CumulusPalletXcmpQueueEvent (269) */
   export interface CumulusPalletXcmpQueueEvent extends Enum {
     readonly isSuccess: boolean;
     readonly asSuccess: Option<H256>;
@@ -2004,7 +2157,7 @@
     readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';
   }
 
-  /** @name PalletXcmEvent (247) */
+  /** @name PalletXcmEvent (270) */
   export interface PalletXcmEvent extends Enum {
     readonly isAttempted: boolean;
     readonly asAttempted: XcmV2TraitsOutcome;
@@ -2041,7 +2194,7 @@
     readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail';
   }
 
-  /** @name XcmV2TraitsOutcome (248) */
+  /** @name XcmV2TraitsOutcome (271) */
   export interface XcmV2TraitsOutcome extends Enum {
     readonly isComplete: boolean;
     readonly asComplete: u64;
@@ -2052,7 +2205,7 @@
     readonly type: 'Complete' | 'Incomplete' | 'Error';
   }
 
-  /** @name CumulusPalletXcmEvent (250) */
+  /** @name CumulusPalletXcmEvent (273) */
   export interface CumulusPalletXcmEvent extends Enum {
     readonly isInvalidFormat: boolean;
     readonly asInvalidFormat: U8aFixed;
@@ -2063,7 +2216,7 @@
     readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';
   }
 
-  /** @name CumulusPalletDmpQueueEvent (251) */
+  /** @name CumulusPalletDmpQueueEvent (274) */
   export interface CumulusPalletDmpQueueEvent extends Enum {
     readonly isInvalidFormat: boolean;
     readonly asInvalidFormat: U8aFixed;
@@ -2080,7 +2233,7 @@
     readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';
   }
 
-  /** @name PalletUniqueRawEvent (252) */
+  /** @name PalletUniqueRawEvent (275) */
   export interface PalletUniqueRawEvent extends Enum {
     readonly isCollectionSponsorRemoved: boolean;
     readonly asCollectionSponsorRemoved: u32;
@@ -2105,7 +2258,7 @@
     readonly type: 'CollectionSponsorRemoved' | 'CollectionAdminAdded' | 'CollectionOwnedChanged' | 'CollectionSponsorSet' | 'SponsorshipConfirmed' | 'CollectionAdminRemoved' | 'AllowListAddressRemoved' | 'AllowListAddressAdded' | 'CollectionLimitSet' | 'CollectionPermissionSet';
   }
 
-  /** @name PalletCommonEvent (253) */
+  /** @name PalletCommonEvent (276) */
   export interface PalletCommonEvent extends Enum {
     readonly isCollectionCreated: boolean;
     readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;
@@ -2132,14 +2285,73 @@
     readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet';
   }
 
-  /** @name PalletStructureEvent (254) */
+  /** @name PalletStructureEvent (277) */
   export interface PalletStructureEvent extends Enum {
     readonly isExecuted: boolean;
     readonly asExecuted: Result<Null, SpRuntimeDispatchError>;
     readonly type: 'Executed';
   }
 
-  /** @name PalletEvmEvent (255) */
+  /** @name PalletRmrkCoreEvent (278) */
+  export interface PalletRmrkCoreEvent extends Enum {
+    readonly isCollectionCreated: boolean;
+    readonly asCollectionCreated: {
+      readonly issuer: AccountId32;
+      readonly collectionId: u32;
+    } & Struct;
+    readonly isCollectionDestroyed: boolean;
+    readonly asCollectionDestroyed: {
+      readonly issuer: AccountId32;
+      readonly collectionId: u32;
+    } & Struct;
+    readonly isIssuerChanged: boolean;
+    readonly asIssuerChanged: {
+      readonly oldIssuer: AccountId32;
+      readonly newIssuer: AccountId32;
+      readonly collectionId: u32;
+    } & Struct;
+    readonly isCollectionLocked: boolean;
+    readonly asCollectionLocked: {
+      readonly issuer: AccountId32;
+      readonly collectionId: u32;
+    } & Struct;
+    readonly isNftMinted: boolean;
+    readonly asNftMinted: {
+      readonly owner: AccountId32;
+      readonly collectionId: u32;
+      readonly nftId: u32;
+    } & Struct;
+    readonly isNftBurned: boolean;
+    readonly asNftBurned: {
+      readonly owner: AccountId32;
+      readonly nftId: u32;
+    } & Struct;
+    readonly isPropertySet: boolean;
+    readonly asPropertySet: {
+      readonly collectionId: u32;
+      readonly maybeNftId: Option<u32>;
+      readonly key: Bytes;
+      readonly value: Bytes;
+    } & Struct;
+    readonly isResourceAdded: boolean;
+    readonly asResourceAdded: {
+      readonly nftId: u32;
+      readonly resourceId: u32;
+    } & Struct;
+    readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'PropertySet' | 'ResourceAdded';
+  }
+
+  /** @name PalletRmrkEquipEvent (279) */
+  export interface PalletRmrkEquipEvent extends Enum {
+    readonly isBaseCreated: boolean;
+    readonly asBaseCreated: {
+      readonly issuer: AccountId32;
+      readonly baseId: u32;
+    } & Struct;
+    readonly type: 'BaseCreated';
+  }
+
+  /** @name PalletEvmEvent (280) */
   export interface PalletEvmEvent extends Enum {
     readonly isLog: boolean;
     readonly asLog: EthereumLog;
@@ -2158,21 +2370,21 @@
     readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed' | 'BalanceDeposit' | 'BalanceWithdraw';
   }
 
-  /** @name EthereumLog (256) */
+  /** @name EthereumLog (281) */
   export interface EthereumLog extends Struct {
     readonly address: H160;
     readonly topics: Vec<H256>;
     readonly data: Bytes;
   }
 
-  /** @name PalletEthereumEvent (257) */
+  /** @name PalletEthereumEvent (282) */
   export interface PalletEthereumEvent extends Enum {
     readonly isExecuted: boolean;
     readonly asExecuted: ITuple<[H160, H160, H256, EvmCoreErrorExitReason]>;
     readonly type: 'Executed';
   }
 
-  /** @name EvmCoreErrorExitReason (258) */
+  /** @name EvmCoreErrorExitReason (283) */
   export interface EvmCoreErrorExitReason extends Enum {
     readonly isSucceed: boolean;
     readonly asSucceed: EvmCoreErrorExitSucceed;
@@ -2185,7 +2397,7 @@
     readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';
   }
 
-  /** @name EvmCoreErrorExitSucceed (259) */
+  /** @name EvmCoreErrorExitSucceed (284) */
   export interface EvmCoreErrorExitSucceed extends Enum {
     readonly isStopped: boolean;
     readonly isReturned: boolean;
@@ -2193,7 +2405,7 @@
     readonly type: 'Stopped' | 'Returned' | 'Suicided';
   }
 
-  /** @name EvmCoreErrorExitError (260) */
+  /** @name EvmCoreErrorExitError (285) */
   export interface EvmCoreErrorExitError extends Enum {
     readonly isStackUnderflow: boolean;
     readonly isStackOverflow: boolean;
@@ -2214,13 +2426,13 @@
     readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';
   }
 
-  /** @name EvmCoreErrorExitRevert (263) */
+  /** @name EvmCoreErrorExitRevert (288) */
   export interface EvmCoreErrorExitRevert extends Enum {
     readonly isReverted: boolean;
     readonly type: 'Reverted';
   }
 
-  /** @name EvmCoreErrorExitFatal (264) */
+  /** @name EvmCoreErrorExitFatal (289) */
   export interface EvmCoreErrorExitFatal extends Enum {
     readonly isNotSupported: boolean;
     readonly isUnhandledInterrupt: boolean;
@@ -2231,7 +2443,7 @@
     readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';
   }
 
-  /** @name FrameSystemPhase (265) */
+  /** @name FrameSystemPhase (290) */
   export interface FrameSystemPhase extends Enum {
     readonly isApplyExtrinsic: boolean;
     readonly asApplyExtrinsic: u32;
@@ -2240,27 +2452,27 @@
     readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';
   }
 
-  /** @name FrameSystemLastRuntimeUpgradeInfo (267) */
+  /** @name FrameSystemLastRuntimeUpgradeInfo (292) */
   export interface FrameSystemLastRuntimeUpgradeInfo extends Struct {
     readonly specVersion: Compact<u32>;
     readonly specName: Text;
   }
 
-  /** @name FrameSystemLimitsBlockWeights (268) */
+  /** @name FrameSystemLimitsBlockWeights (293) */
   export interface FrameSystemLimitsBlockWeights extends Struct {
     readonly baseBlock: u64;
     readonly maxBlock: u64;
     readonly perClass: FrameSupportWeightsPerDispatchClassWeightsPerClass;
   }
 
-  /** @name FrameSupportWeightsPerDispatchClassWeightsPerClass (269) */
+  /** @name FrameSupportWeightsPerDispatchClassWeightsPerClass (294) */
   export interface FrameSupportWeightsPerDispatchClassWeightsPerClass extends Struct {
     readonly normal: FrameSystemLimitsWeightsPerClass;
     readonly operational: FrameSystemLimitsWeightsPerClass;
     readonly mandatory: FrameSystemLimitsWeightsPerClass;
   }
 
-  /** @name FrameSystemLimitsWeightsPerClass (270) */
+  /** @name FrameSystemLimitsWeightsPerClass (295) */
   export interface FrameSystemLimitsWeightsPerClass extends Struct {
     readonly baseExtrinsic: u64;
     readonly maxExtrinsic: Option<u64>;
@@ -2268,25 +2480,25 @@
     readonly reserved: Option<u64>;
   }
 
-  /** @name FrameSystemLimitsBlockLength (272) */
+  /** @name FrameSystemLimitsBlockLength (297) */
   export interface FrameSystemLimitsBlockLength extends Struct {
     readonly max: FrameSupportWeightsPerDispatchClassU32;
   }
 
-  /** @name FrameSupportWeightsPerDispatchClassU32 (273) */
+  /** @name FrameSupportWeightsPerDispatchClassU32 (298) */
   export interface FrameSupportWeightsPerDispatchClassU32 extends Struct {
     readonly normal: u32;
     readonly operational: u32;
     readonly mandatory: u32;
   }
 
-  /** @name FrameSupportWeightsRuntimeDbWeight (274) */
+  /** @name FrameSupportWeightsRuntimeDbWeight (299) */
   export interface FrameSupportWeightsRuntimeDbWeight extends Struct {
     readonly read: u64;
     readonly write: u64;
   }
 
-  /** @name SpVersionRuntimeVersion (275) */
+  /** @name SpVersionRuntimeVersion (300) */
   export interface SpVersionRuntimeVersion extends Struct {
     readonly specName: Text;
     readonly implName: Text;
@@ -2298,7 +2510,7 @@
     readonly stateVersion: u8;
   }
 
-  /** @name FrameSystemError (279) */
+  /** @name FrameSystemError (304) */
   export interface FrameSystemError extends Enum {
     readonly isInvalidSpecName: boolean;
     readonly isSpecVersionNeedsToIncrease: boolean;
@@ -2309,7 +2521,7 @@
     readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';
   }
 
-  /** @name OrmlVestingModuleError (281) */
+  /** @name OrmlVestingModuleError (306) */
   export interface OrmlVestingModuleError extends Enum {
     readonly isZeroVestingPeriod: boolean;
     readonly isZeroVestingPeriodCount: boolean;
@@ -2320,21 +2532,21 @@
     readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';
   }
 
-  /** @name CumulusPalletXcmpQueueInboundChannelDetails (283) */
+  /** @name CumulusPalletXcmpQueueInboundChannelDetails (308) */
   export interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {
     readonly sender: u32;
     readonly state: CumulusPalletXcmpQueueInboundState;
     readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;
   }
 
-  /** @name CumulusPalletXcmpQueueInboundState (284) */
+  /** @name CumulusPalletXcmpQueueInboundState (309) */
   export interface CumulusPalletXcmpQueueInboundState extends Enum {
     readonly isOk: boolean;
     readonly isSuspended: boolean;
     readonly type: 'Ok' | 'Suspended';
   }
 
-  /** @name PolkadotParachainPrimitivesXcmpMessageFormat (287) */
+  /** @name PolkadotParachainPrimitivesXcmpMessageFormat (312) */
   export interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {
     readonly isConcatenatedVersionedXcm: boolean;
     readonly isConcatenatedEncodedBlob: boolean;
@@ -2342,7 +2554,7 @@
     readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';
   }
 
-  /** @name CumulusPalletXcmpQueueOutboundChannelDetails (290) */
+  /** @name CumulusPalletXcmpQueueOutboundChannelDetails (315) */
   export interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {
     readonly recipient: u32;
     readonly state: CumulusPalletXcmpQueueOutboundState;
@@ -2351,14 +2563,14 @@
     readonly lastIndex: u16;
   }
 
-  /** @name CumulusPalletXcmpQueueOutboundState (291) */
+  /** @name CumulusPalletXcmpQueueOutboundState (316) */
   export interface CumulusPalletXcmpQueueOutboundState extends Enum {
     readonly isOk: boolean;
     readonly isSuspended: boolean;
     readonly type: 'Ok' | 'Suspended';
   }
 
-  /** @name CumulusPalletXcmpQueueQueueConfigData (293) */
+  /** @name CumulusPalletXcmpQueueQueueConfigData (318) */
   export interface CumulusPalletXcmpQueueQueueConfigData extends Struct {
     readonly suspendThreshold: u32;
     readonly dropThreshold: u32;
@@ -2368,7 +2580,7 @@
     readonly xcmpMaxIndividualWeight: u64;
   }
 
-  /** @name CumulusPalletXcmpQueueError (295) */
+  /** @name CumulusPalletXcmpQueueError (320) */
   export interface CumulusPalletXcmpQueueError extends Enum {
     readonly isFailedToSend: boolean;
     readonly isBadXcmOrigin: boolean;
@@ -2378,7 +2590,7 @@
     readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';
   }
 
-  /** @name PalletXcmError (296) */
+  /** @name PalletXcmError (321) */
   export interface PalletXcmError extends Enum {
     readonly isUnreachable: boolean;
     readonly isSendFailure: boolean;
@@ -2396,29 +2608,29 @@
     readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';
   }
 
-  /** @name CumulusPalletXcmError (297) */
+  /** @name CumulusPalletXcmError (322) */
   export type CumulusPalletXcmError = Null;
 
-  /** @name CumulusPalletDmpQueueConfigData (298) */
+  /** @name CumulusPalletDmpQueueConfigData (323) */
   export interface CumulusPalletDmpQueueConfigData extends Struct {
     readonly maxIndividual: u64;
   }
 
-  /** @name CumulusPalletDmpQueuePageIndexData (299) */
+  /** @name CumulusPalletDmpQueuePageIndexData (324) */
   export interface CumulusPalletDmpQueuePageIndexData extends Struct {
     readonly beginUsed: u32;
     readonly endUsed: u32;
     readonly overweightCount: u64;
   }
 
-  /** @name CumulusPalletDmpQueueError (302) */
+  /** @name CumulusPalletDmpQueueError (327) */
   export interface CumulusPalletDmpQueueError extends Enum {
     readonly isUnknown: boolean;
     readonly isOverLimit: boolean;
     readonly type: 'Unknown' | 'OverLimit';
   }
 
-  /** @name PalletUniqueError (306) */
+  /** @name PalletUniqueError (331) */
   export interface PalletUniqueError extends Enum {
     readonly isCollectionDecimalPointLimitExceeded: boolean;
     readonly isConfirmUnsetSponsorFail: boolean;
@@ -2426,7 +2638,7 @@
     readonly type: 'CollectionDecimalPointLimitExceeded' | 'ConfirmUnsetSponsorFail' | 'EmptyArgument';
   }
 
-  /** @name UpDataStructsCollection (307) */
+  /** @name UpDataStructsCollection (332) */
   export interface UpDataStructsCollection extends Struct {
     readonly owner: AccountId32;
     readonly mode: UpDataStructsCollectionMode;
@@ -2438,7 +2650,7 @@
     readonly permissions: UpDataStructsCollectionPermissions;
   }
 
-  /** @name UpDataStructsSponsorshipState (308) */
+  /** @name UpDataStructsSponsorshipState (333) */
   export interface UpDataStructsSponsorshipState extends Enum {
     readonly isDisabled: boolean;
     readonly isUnconfirmed: boolean;
@@ -2448,20 +2660,20 @@
     readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
   }
 
-  /** @name UpDataStructsProperties (309) */
+  /** @name UpDataStructsProperties (334) */
   export interface UpDataStructsProperties extends Struct {
     readonly map: UpDataStructsPropertiesMapBoundedVec;
     readonly consumedSpace: u32;
     readonly spaceLimit: u32;
   }
 
-  /** @name UpDataStructsPropertiesMapBoundedVec (310) */
+  /** @name UpDataStructsPropertiesMapBoundedVec (335) */
   export interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}
 
-  /** @name UpDataStructsPropertiesMapPropertyPermission (315) */
+  /** @name UpDataStructsPropertiesMapPropertyPermission (340) */
   export interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}
 
-  /** @name UpDataStructsCollectionStats (322) */
+  /** @name UpDataStructsCollectionStats (347) */
   export interface UpDataStructsCollectionStats extends Struct {
     readonly created: u32;
     readonly destroyed: u32;
@@ -2532,7 +2744,7 @@
 
   /** @name UpDataStructsRmrkResourceInfo (336) */
   export interface UpDataStructsRmrkResourceInfo extends Struct {
-    readonly id: Bytes;
+    readonly id: u32;
     readonly resource: UpDataStructsRmrkResourceTypes;
     readonly pending: bool;
     readonly pendingRemoval: bool;
modifiedtests/src/interfaces/types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/types.ts
+++ b/tests/src/interfaces/types.ts
@@ -2,4 +2,5 @@
 /* eslint-disable */
 
 export * from './unique/types';
+export * from './rmrk/types';
 export * from './default/types';