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
before · tests/src/interfaces/default/types.ts
1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34import type { BTreeMap, BTreeSet, Bytes, Compact, Enum, Null, Option, Result, Struct, Text, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';5import type { ITuple } from '@polkadot/types-codec/types';6import type { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill } from '@polkadot/types/interfaces/runtime';7import type { Event } from '@polkadot/types/interfaces/system';89/** @name CumulusPalletDmpQueueCall */10export interface CumulusPalletDmpQueueCall extends Enum {11  readonly isServiceOverweight: boolean;12  readonly asServiceOverweight: {13    readonly index: u64;14    readonly weightLimit: u64;15  } & Struct;16  readonly type: 'ServiceOverweight';17}1819/** @name CumulusPalletDmpQueueConfigData */20export interface CumulusPalletDmpQueueConfigData extends Struct {21  readonly maxIndividual: u64;22}2324/** @name CumulusPalletDmpQueueError */25export interface CumulusPalletDmpQueueError extends Enum {26  readonly isUnknown: boolean;27  readonly isOverLimit: boolean;28  readonly type: 'Unknown' | 'OverLimit';29}3031/** @name CumulusPalletDmpQueueEvent */32export interface CumulusPalletDmpQueueEvent extends Enum {33  readonly isInvalidFormat: boolean;34  readonly asInvalidFormat: U8aFixed;35  readonly isUnsupportedVersion: boolean;36  readonly asUnsupportedVersion: U8aFixed;37  readonly isExecutedDownward: boolean;38  readonly asExecutedDownward: ITuple<[U8aFixed, XcmV2TraitsOutcome]>;39  readonly isWeightExhausted: boolean;40  readonly asWeightExhausted: ITuple<[U8aFixed, u64, u64]>;41  readonly isOverweightEnqueued: boolean;42  readonly asOverweightEnqueued: ITuple<[U8aFixed, u64, u64]>;43  readonly isOverweightServiced: boolean;44  readonly asOverweightServiced: ITuple<[u64, u64]>;45  readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';46}4748/** @name CumulusPalletDmpQueuePageIndexData */49export interface CumulusPalletDmpQueuePageIndexData extends Struct {50  readonly beginUsed: u32;51  readonly endUsed: u32;52  readonly overweightCount: u64;53}5455/** @name CumulusPalletParachainSystemCall */56export interface CumulusPalletParachainSystemCall extends Enum {57  readonly isSetValidationData: boolean;58  readonly asSetValidationData: {59    readonly data: CumulusPrimitivesParachainInherentParachainInherentData;60  } & Struct;61  readonly isSudoSendUpwardMessage: boolean;62  readonly asSudoSendUpwardMessage: {63    readonly message: Bytes;64  } & Struct;65  readonly isAuthorizeUpgrade: boolean;66  readonly asAuthorizeUpgrade: {67    readonly codeHash: H256;68  } & Struct;69  readonly isEnactAuthorizedUpgrade: boolean;70  readonly asEnactAuthorizedUpgrade: {71    readonly code: Bytes;72  } & Struct;73  readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';74}7576/** @name CumulusPalletParachainSystemError */77export interface CumulusPalletParachainSystemError extends Enum {78  readonly isOverlappingUpgrades: boolean;79  readonly isProhibitedByPolkadot: boolean;80  readonly isTooBig: boolean;81  readonly isValidationDataNotAvailable: boolean;82  readonly isHostConfigurationNotAvailable: boolean;83  readonly isNotScheduled: boolean;84  readonly isNothingAuthorized: boolean;85  readonly isUnauthorized: boolean;86  readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';87}8889/** @name CumulusPalletParachainSystemEvent */90export interface CumulusPalletParachainSystemEvent extends Enum {91  readonly isValidationFunctionStored: boolean;92  readonly isValidationFunctionApplied: boolean;93  readonly asValidationFunctionApplied: u32;94  readonly isValidationFunctionDiscarded: boolean;95  readonly isUpgradeAuthorized: boolean;96  readonly asUpgradeAuthorized: H256;97  readonly isDownwardMessagesReceived: boolean;98  readonly asDownwardMessagesReceived: u32;99  readonly isDownwardMessagesProcessed: boolean;100  readonly asDownwardMessagesProcessed: ITuple<[u64, H256]>;101  readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed';102}103104/** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot */105export interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {106  readonly dmqMqcHead: H256;107  readonly relayDispatchQueueSize: ITuple<[u32, u32]>;108  readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;109  readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;110}111112/** @name CumulusPalletXcmCall */113export interface CumulusPalletXcmCall extends Null {}114115/** @name CumulusPalletXcmError */116export interface CumulusPalletXcmError extends Null {}117118/** @name CumulusPalletXcmEvent */119export interface CumulusPalletXcmEvent extends Enum {120  readonly isInvalidFormat: boolean;121  readonly asInvalidFormat: U8aFixed;122  readonly isUnsupportedVersion: boolean;123  readonly asUnsupportedVersion: U8aFixed;124  readonly isExecutedDownward: boolean;125  readonly asExecutedDownward: ITuple<[U8aFixed, XcmV2TraitsOutcome]>;126  readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';127}128129/** @name CumulusPalletXcmpQueueCall */130export interface CumulusPalletXcmpQueueCall extends Enum {131  readonly isServiceOverweight: boolean;132  readonly asServiceOverweight: {133    readonly index: u64;134    readonly weightLimit: u64;135  } & Struct;136  readonly isSuspendXcmExecution: boolean;137  readonly isResumeXcmExecution: boolean;138  readonly isUpdateSuspendThreshold: boolean;139  readonly asUpdateSuspendThreshold: {140    readonly new_: u32;141  } & Struct;142  readonly isUpdateDropThreshold: boolean;143  readonly asUpdateDropThreshold: {144    readonly new_: u32;145  } & Struct;146  readonly isUpdateResumeThreshold: boolean;147  readonly asUpdateResumeThreshold: {148    readonly new_: u32;149  } & Struct;150  readonly isUpdateThresholdWeight: boolean;151  readonly asUpdateThresholdWeight: {152    readonly new_: u64;153  } & Struct;154  readonly isUpdateWeightRestrictDecay: boolean;155  readonly asUpdateWeightRestrictDecay: {156    readonly new_: u64;157  } & Struct;158  readonly isUpdateXcmpMaxIndividualWeight: boolean;159  readonly asUpdateXcmpMaxIndividualWeight: {160    readonly new_: u64;161  } & Struct;162  readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';163}164165/** @name CumulusPalletXcmpQueueError */166export interface CumulusPalletXcmpQueueError extends Enum {167  readonly isFailedToSend: boolean;168  readonly isBadXcmOrigin: boolean;169  readonly isBadXcm: boolean;170  readonly isBadOverweightIndex: boolean;171  readonly isWeightOverLimit: boolean;172  readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';173}174175/** @name CumulusPalletXcmpQueueEvent */176export interface CumulusPalletXcmpQueueEvent extends Enum {177  readonly isSuccess: boolean;178  readonly asSuccess: Option<H256>;179  readonly isFail: boolean;180  readonly asFail: ITuple<[Option<H256>, XcmV2TraitsError]>;181  readonly isBadVersion: boolean;182  readonly asBadVersion: Option<H256>;183  readonly isBadFormat: boolean;184  readonly asBadFormat: Option<H256>;185  readonly isUpwardMessageSent: boolean;186  readonly asUpwardMessageSent: Option<H256>;187  readonly isXcmpMessageSent: boolean;188  readonly asXcmpMessageSent: Option<H256>;189  readonly isOverweightEnqueued: boolean;190  readonly asOverweightEnqueued: ITuple<[u32, u32, u64, u64]>;191  readonly isOverweightServiced: boolean;192  readonly asOverweightServiced: ITuple<[u64, u64]>;193  readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';194}195196/** @name CumulusPalletXcmpQueueInboundChannelDetails */197export interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {198  readonly sender: u32;199  readonly state: CumulusPalletXcmpQueueInboundState;200  readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;201}202203/** @name CumulusPalletXcmpQueueInboundState */204export interface CumulusPalletXcmpQueueInboundState extends Enum {205  readonly isOk: boolean;206  readonly isSuspended: boolean;207  readonly type: 'Ok' | 'Suspended';208}209210/** @name CumulusPalletXcmpQueueOutboundChannelDetails */211export interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {212  readonly recipient: u32;213  readonly state: CumulusPalletXcmpQueueOutboundState;214  readonly signalsExist: bool;215  readonly firstIndex: u16;216  readonly lastIndex: u16;217}218219/** @name CumulusPalletXcmpQueueOutboundState */220export interface CumulusPalletXcmpQueueOutboundState extends Enum {221  readonly isOk: boolean;222  readonly isSuspended: boolean;223  readonly type: 'Ok' | 'Suspended';224}225226/** @name CumulusPalletXcmpQueueQueueConfigData */227export interface CumulusPalletXcmpQueueQueueConfigData extends Struct {228  readonly suspendThreshold: u32;229  readonly dropThreshold: u32;230  readonly resumeThreshold: u32;231  readonly thresholdWeight: u64;232  readonly weightRestrictDecay: u64;233  readonly xcmpMaxIndividualWeight: u64;234}235236/** @name CumulusPrimitivesParachainInherentParachainInherentData */237export interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {238  readonly validationData: PolkadotPrimitivesV2PersistedValidationData;239  readonly relayChainState: SpTrieStorageProof;240  readonly downwardMessages: Vec<PolkadotCorePrimitivesInboundDownwardMessage>;241  readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;242}243244/** @name EthbloomBloom */245export interface EthbloomBloom extends U8aFixed {}246247/** @name EthereumBlock */248export interface EthereumBlock extends Struct {249  readonly header: EthereumHeader;250  readonly transactions: Vec<EthereumTransactionTransactionV2>;251  readonly ommers: Vec<EthereumHeader>;252}253254/** @name EthereumHeader */255export interface EthereumHeader extends Struct {256  readonly parentHash: H256;257  readonly ommersHash: H256;258  readonly beneficiary: H160;259  readonly stateRoot: H256;260  readonly transactionsRoot: H256;261  readonly receiptsRoot: H256;262  readonly logsBloom: EthbloomBloom;263  readonly difficulty: U256;264  readonly number: U256;265  readonly gasLimit: U256;266  readonly gasUsed: U256;267  readonly timestamp: u64;268  readonly extraData: Bytes;269  readonly mixHash: H256;270  readonly nonce: EthereumTypesHashH64;271}272273/** @name EthereumLog */274export interface EthereumLog extends Struct {275  readonly address: H160;276  readonly topics: Vec<H256>;277  readonly data: Bytes;278}279280/** @name EthereumReceiptEip658ReceiptData */281export interface EthereumReceiptEip658ReceiptData extends Struct {282  readonly statusCode: u8;283  readonly usedGas: U256;284  readonly logsBloom: EthbloomBloom;285  readonly logs: Vec<EthereumLog>;286}287288/** @name EthereumReceiptReceiptV3 */289export interface EthereumReceiptReceiptV3 extends Enum {290  readonly isLegacy: boolean;291  readonly asLegacy: EthereumReceiptEip658ReceiptData;292  readonly isEip2930: boolean;293  readonly asEip2930: EthereumReceiptEip658ReceiptData;294  readonly isEip1559: boolean;295  readonly asEip1559: EthereumReceiptEip658ReceiptData;296  readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';297}298299/** @name EthereumTransactionAccessListItem */300export interface EthereumTransactionAccessListItem extends Struct {301  readonly address: H160;302  readonly storageKeys: Vec<H256>;303}304305/** @name EthereumTransactionEip1559Transaction */306export interface EthereumTransactionEip1559Transaction extends Struct {307  readonly chainId: u64;308  readonly nonce: U256;309  readonly maxPriorityFeePerGas: U256;310  readonly maxFeePerGas: U256;311  readonly gasLimit: U256;312  readonly action: EthereumTransactionTransactionAction;313  readonly value: U256;314  readonly input: Bytes;315  readonly accessList: Vec<EthereumTransactionAccessListItem>;316  readonly oddYParity: bool;317  readonly r: H256;318  readonly s: H256;319}320321/** @name EthereumTransactionEip2930Transaction */322export interface EthereumTransactionEip2930Transaction extends Struct {323  readonly chainId: u64;324  readonly nonce: U256;325  readonly gasPrice: U256;326  readonly gasLimit: U256;327  readonly action: EthereumTransactionTransactionAction;328  readonly value: U256;329  readonly input: Bytes;330  readonly accessList: Vec<EthereumTransactionAccessListItem>;331  readonly oddYParity: bool;332  readonly r: H256;333  readonly s: H256;334}335336/** @name EthereumTransactionLegacyTransaction */337export interface EthereumTransactionLegacyTransaction extends Struct {338  readonly nonce: U256;339  readonly gasPrice: U256;340  readonly gasLimit: U256;341  readonly action: EthereumTransactionTransactionAction;342  readonly value: U256;343  readonly input: Bytes;344  readonly signature: EthereumTransactionTransactionSignature;345}346347/** @name EthereumTransactionTransactionAction */348export interface EthereumTransactionTransactionAction extends Enum {349  readonly isCall: boolean;350  readonly asCall: H160;351  readonly isCreate: boolean;352  readonly type: 'Call' | 'Create';353}354355/** @name EthereumTransactionTransactionSignature */356export interface EthereumTransactionTransactionSignature extends Struct {357  readonly v: u64;358  readonly r: H256;359  readonly s: H256;360}361362/** @name EthereumTransactionTransactionV2 */363export interface EthereumTransactionTransactionV2 extends Enum {364  readonly isLegacy: boolean;365  readonly asLegacy: EthereumTransactionLegacyTransaction;366  readonly isEip2930: boolean;367  readonly asEip2930: EthereumTransactionEip2930Transaction;368  readonly isEip1559: boolean;369  readonly asEip1559: EthereumTransactionEip1559Transaction;370  readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';371}372373/** @name EthereumTypesHashH64 */374export interface EthereumTypesHashH64 extends U8aFixed {}375376/** @name EvmCoreErrorExitError */377export interface EvmCoreErrorExitError extends Enum {378  readonly isStackUnderflow: boolean;379  readonly isStackOverflow: boolean;380  readonly isInvalidJump: boolean;381  readonly isInvalidRange: boolean;382  readonly isDesignatedInvalid: boolean;383  readonly isCallTooDeep: boolean;384  readonly isCreateCollision: boolean;385  readonly isCreateContractLimit: boolean;386  readonly isOutOfOffset: boolean;387  readonly isOutOfGas: boolean;388  readonly isOutOfFund: boolean;389  readonly isPcUnderflow: boolean;390  readonly isCreateEmpty: boolean;391  readonly isOther: boolean;392  readonly asOther: Text;393  readonly isInvalidCode: boolean;394  readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';395}396397/** @name EvmCoreErrorExitFatal */398export interface EvmCoreErrorExitFatal extends Enum {399  readonly isNotSupported: boolean;400  readonly isUnhandledInterrupt: boolean;401  readonly isCallErrorAsFatal: boolean;402  readonly asCallErrorAsFatal: EvmCoreErrorExitError;403  readonly isOther: boolean;404  readonly asOther: Text;405  readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';406}407408/** @name EvmCoreErrorExitReason */409export interface EvmCoreErrorExitReason extends Enum {410  readonly isSucceed: boolean;411  readonly asSucceed: EvmCoreErrorExitSucceed;412  readonly isError: boolean;413  readonly asError: EvmCoreErrorExitError;414  readonly isRevert: boolean;415  readonly asRevert: EvmCoreErrorExitRevert;416  readonly isFatal: boolean;417  readonly asFatal: EvmCoreErrorExitFatal;418  readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';419}420421/** @name EvmCoreErrorExitRevert */422export interface EvmCoreErrorExitRevert extends Enum {423  readonly isReverted: boolean;424  readonly type: 'Reverted';425}426427/** @name EvmCoreErrorExitSucceed */428export interface EvmCoreErrorExitSucceed extends Enum {429  readonly isStopped: boolean;430  readonly isReturned: boolean;431  readonly isSuicided: boolean;432  readonly type: 'Stopped' | 'Returned' | 'Suicided';433}434435/** @name FpRpcTransactionStatus */436export interface FpRpcTransactionStatus extends Struct {437  readonly transactionHash: H256;438  readonly transactionIndex: u32;439  readonly from: H160;440  readonly to: Option<H160>;441  readonly contractAddress: Option<H160>;442  readonly logs: Vec<EthereumLog>;443  readonly logsBloom: EthbloomBloom;444}445446/** @name FrameSupportPalletId */447export interface FrameSupportPalletId extends U8aFixed {}448449/** @name FrameSupportTokensMiscBalanceStatus */450export interface FrameSupportTokensMiscBalanceStatus extends Enum {451  readonly isFree: boolean;452  readonly isReserved: boolean;453  readonly type: 'Free' | 'Reserved';454}455456/** @name FrameSupportWeightsDispatchClass */457export interface FrameSupportWeightsDispatchClass extends Enum {458  readonly isNormal: boolean;459  readonly isOperational: boolean;460  readonly isMandatory: boolean;461  readonly type: 'Normal' | 'Operational' | 'Mandatory';462}463464/** @name FrameSupportWeightsDispatchInfo */465export interface FrameSupportWeightsDispatchInfo extends Struct {466  readonly weight: u64;467  readonly class: FrameSupportWeightsDispatchClass;468  readonly paysFee: FrameSupportWeightsPays;469}470471/** @name FrameSupportWeightsPays */472export interface FrameSupportWeightsPays extends Enum {473  readonly isYes: boolean;474  readonly isNo: boolean;475  readonly type: 'Yes' | 'No';476}477478/** @name FrameSupportWeightsPerDispatchClassU32 */479export interface FrameSupportWeightsPerDispatchClassU32 extends Struct {480  readonly normal: u32;481  readonly operational: u32;482  readonly mandatory: u32;483}484485/** @name FrameSupportWeightsPerDispatchClassU64 */486export interface FrameSupportWeightsPerDispatchClassU64 extends Struct {487  readonly normal: u64;488  readonly operational: u64;489  readonly mandatory: u64;490}491492/** @name FrameSupportWeightsPerDispatchClassWeightsPerClass */493export interface FrameSupportWeightsPerDispatchClassWeightsPerClass extends Struct {494  readonly normal: FrameSystemLimitsWeightsPerClass;495  readonly operational: FrameSystemLimitsWeightsPerClass;496  readonly mandatory: FrameSystemLimitsWeightsPerClass;497}498499/** @name FrameSupportWeightsRuntimeDbWeight */500export interface FrameSupportWeightsRuntimeDbWeight extends Struct {501  readonly read: u64;502  readonly write: u64;503}504505/** @name FrameSupportWeightsWeightToFeeCoefficient */506export interface FrameSupportWeightsWeightToFeeCoefficient extends Struct {507  readonly coeffInteger: u128;508  readonly coeffFrac: Perbill;509  readonly negative: bool;510  readonly degree: u8;511}512513/** @name FrameSystemAccountInfo */514export interface FrameSystemAccountInfo extends Struct {515  readonly nonce: u32;516  readonly consumers: u32;517  readonly providers: u32;518  readonly sufficients: u32;519  readonly data: PalletBalancesAccountData;520}521522/** @name FrameSystemCall */523export interface FrameSystemCall extends Enum {524  readonly isFillBlock: boolean;525  readonly asFillBlock: {526    readonly ratio: Perbill;527  } & Struct;528  readonly isRemark: boolean;529  readonly asRemark: {530    readonly remark: Bytes;531  } & Struct;532  readonly isSetHeapPages: boolean;533  readonly asSetHeapPages: {534    readonly pages: u64;535  } & Struct;536  readonly isSetCode: boolean;537  readonly asSetCode: {538    readonly code: Bytes;539  } & Struct;540  readonly isSetCodeWithoutChecks: boolean;541  readonly asSetCodeWithoutChecks: {542    readonly code: Bytes;543  } & Struct;544  readonly isSetStorage: boolean;545  readonly asSetStorage: {546    readonly items: Vec<ITuple<[Bytes, Bytes]>>;547  } & Struct;548  readonly isKillStorage: boolean;549  readonly asKillStorage: {550    readonly keys_: Vec<Bytes>;551  } & Struct;552  readonly isKillPrefix: boolean;553  readonly asKillPrefix: {554    readonly prefix: Bytes;555    readonly subkeys: u32;556  } & Struct;557  readonly isRemarkWithEvent: boolean;558  readonly asRemarkWithEvent: {559    readonly remark: Bytes;560  } & Struct;561  readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';562}563564/** @name FrameSystemError */565export interface FrameSystemError extends Enum {566  readonly isInvalidSpecName: boolean;567  readonly isSpecVersionNeedsToIncrease: boolean;568  readonly isFailedToExtractRuntimeVersion: boolean;569  readonly isNonDefaultComposite: boolean;570  readonly isNonZeroRefCount: boolean;571  readonly isCallFiltered: boolean;572  readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';573}574575/** @name FrameSystemEvent */576export interface FrameSystemEvent extends Enum {577  readonly isExtrinsicSuccess: boolean;578  readonly asExtrinsicSuccess: {579    readonly dispatchInfo: FrameSupportWeightsDispatchInfo;580  } & Struct;581  readonly isExtrinsicFailed: boolean;582  readonly asExtrinsicFailed: {583    readonly dispatchError: SpRuntimeDispatchError;584    readonly dispatchInfo: FrameSupportWeightsDispatchInfo;585  } & Struct;586  readonly isCodeUpdated: boolean;587  readonly isNewAccount: boolean;588  readonly asNewAccount: {589    readonly account: AccountId32;590  } & Struct;591  readonly isKilledAccount: boolean;592  readonly asKilledAccount: {593    readonly account: AccountId32;594  } & Struct;595  readonly isRemarked: boolean;596  readonly asRemarked: {597    readonly sender: AccountId32;598    readonly hash_: H256;599  } & Struct;600  readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked';601}602603/** @name FrameSystemEventRecord */604export interface FrameSystemEventRecord extends Struct {605  readonly phase: FrameSystemPhase;606  readonly event: Event;607  readonly topics: Vec<H256>;608}609610/** @name FrameSystemExtensionsCheckGenesis */611export interface FrameSystemExtensionsCheckGenesis extends Null {}612613/** @name FrameSystemExtensionsCheckNonce */614export interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}615616/** @name FrameSystemExtensionsCheckSpecVersion */617export interface FrameSystemExtensionsCheckSpecVersion extends Null {}618619/** @name FrameSystemExtensionsCheckWeight */620export interface FrameSystemExtensionsCheckWeight extends Null {}621622/** @name FrameSystemLastRuntimeUpgradeInfo */623export interface FrameSystemLastRuntimeUpgradeInfo extends Struct {624  readonly specVersion: Compact<u32>;625  readonly specName: Text;626}627628/** @name FrameSystemLimitsBlockLength */629export interface FrameSystemLimitsBlockLength extends Struct {630  readonly max: FrameSupportWeightsPerDispatchClassU32;631}632633/** @name FrameSystemLimitsBlockWeights */634export interface FrameSystemLimitsBlockWeights extends Struct {635  readonly baseBlock: u64;636  readonly maxBlock: u64;637  readonly perClass: FrameSupportWeightsPerDispatchClassWeightsPerClass;638}639640/** @name FrameSystemLimitsWeightsPerClass */641export interface FrameSystemLimitsWeightsPerClass extends Struct {642  readonly baseExtrinsic: u64;643  readonly maxExtrinsic: Option<u64>;644  readonly maxTotal: Option<u64>;645  readonly reserved: Option<u64>;646}647648/** @name FrameSystemPhase */649export interface FrameSystemPhase extends Enum {650  readonly isApplyExtrinsic: boolean;651  readonly asApplyExtrinsic: u32;652  readonly isFinalization: boolean;653  readonly isInitialization: boolean;654  readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';655}656657/** @name OpalRuntimeRuntime */658export interface OpalRuntimeRuntime extends Null {}659660/** @name OrmlVestingModuleCall */661export interface OrmlVestingModuleCall extends Enum {662  readonly isClaim: boolean;663  readonly isVestedTransfer: boolean;664  readonly asVestedTransfer: {665    readonly dest: MultiAddress;666    readonly schedule: OrmlVestingVestingSchedule;667  } & Struct;668  readonly isUpdateVestingSchedules: boolean;669  readonly asUpdateVestingSchedules: {670    readonly who: MultiAddress;671    readonly vestingSchedules: Vec<OrmlVestingVestingSchedule>;672  } & Struct;673  readonly isClaimFor: boolean;674  readonly asClaimFor: {675    readonly dest: MultiAddress;676  } & Struct;677  readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';678}679680/** @name OrmlVestingModuleError */681export interface OrmlVestingModuleError extends Enum {682  readonly isZeroVestingPeriod: boolean;683  readonly isZeroVestingPeriodCount: boolean;684  readonly isInsufficientBalanceToLock: boolean;685  readonly isTooManyVestingSchedules: boolean;686  readonly isAmountLow: boolean;687  readonly isMaxVestingSchedulesExceeded: boolean;688  readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';689}690691/** @name OrmlVestingModuleEvent */692export interface OrmlVestingModuleEvent extends Enum {693  readonly isVestingScheduleAdded: boolean;694  readonly asVestingScheduleAdded: {695    readonly from: AccountId32;696    readonly to: AccountId32;697    readonly vestingSchedule: OrmlVestingVestingSchedule;698  } & Struct;699  readonly isClaimed: boolean;700  readonly asClaimed: {701    readonly who: AccountId32;702    readonly amount: u128;703  } & Struct;704  readonly isVestingSchedulesUpdated: boolean;705  readonly asVestingSchedulesUpdated: {706    readonly who: AccountId32;707  } & Struct;708  readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';709}710711/** @name OrmlVestingVestingSchedule */712export interface OrmlVestingVestingSchedule extends Struct {713  readonly start: u32;714  readonly period: u32;715  readonly periodCount: u32;716  readonly perPeriod: Compact<u128>;717}718719/** @name PalletBalancesAccountData */720export interface PalletBalancesAccountData extends Struct {721  readonly free: u128;722  readonly reserved: u128;723  readonly miscFrozen: u128;724  readonly feeFrozen: u128;725}726727/** @name PalletBalancesBalanceLock */728export interface PalletBalancesBalanceLock extends Struct {729  readonly id: U8aFixed;730  readonly amount: u128;731  readonly reasons: PalletBalancesReasons;732}733734/** @name PalletBalancesCall */735export interface PalletBalancesCall extends Enum {736  readonly isTransfer: boolean;737  readonly asTransfer: {738    readonly dest: MultiAddress;739    readonly value: Compact<u128>;740  } & Struct;741  readonly isSetBalance: boolean;742  readonly asSetBalance: {743    readonly who: MultiAddress;744    readonly newFree: Compact<u128>;745    readonly newReserved: Compact<u128>;746  } & Struct;747  readonly isForceTransfer: boolean;748  readonly asForceTransfer: {749    readonly source: MultiAddress;750    readonly dest: MultiAddress;751    readonly value: Compact<u128>;752  } & Struct;753  readonly isTransferKeepAlive: boolean;754  readonly asTransferKeepAlive: {755    readonly dest: MultiAddress;756    readonly value: Compact<u128>;757  } & Struct;758  readonly isTransferAll: boolean;759  readonly asTransferAll: {760    readonly dest: MultiAddress;761    readonly keepAlive: bool;762  } & Struct;763  readonly isForceUnreserve: boolean;764  readonly asForceUnreserve: {765    readonly who: MultiAddress;766    readonly amount: u128;767  } & Struct;768  readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';769}770771/** @name PalletBalancesError */772export interface PalletBalancesError extends Enum {773  readonly isVestingBalance: boolean;774  readonly isLiquidityRestrictions: boolean;775  readonly isInsufficientBalance: boolean;776  readonly isExistentialDeposit: boolean;777  readonly isKeepAlive: boolean;778  readonly isExistingVestingSchedule: boolean;779  readonly isDeadAccount: boolean;780  readonly isTooManyReserves: boolean;781  readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';782}783784/** @name PalletBalancesEvent */785export interface PalletBalancesEvent extends Enum {786  readonly isEndowed: boolean;787  readonly asEndowed: {788    readonly account: AccountId32;789    readonly freeBalance: u128;790  } & Struct;791  readonly isDustLost: boolean;792  readonly asDustLost: {793    readonly account: AccountId32;794    readonly amount: u128;795  } & Struct;796  readonly isTransfer: boolean;797  readonly asTransfer: {798    readonly from: AccountId32;799    readonly to: AccountId32;800    readonly amount: u128;801  } & Struct;802  readonly isBalanceSet: boolean;803  readonly asBalanceSet: {804    readonly who: AccountId32;805    readonly free: u128;806    readonly reserved: u128;807  } & Struct;808  readonly isReserved: boolean;809  readonly asReserved: {810    readonly who: AccountId32;811    readonly amount: u128;812  } & Struct;813  readonly isUnreserved: boolean;814  readonly asUnreserved: {815    readonly who: AccountId32;816    readonly amount: u128;817  } & Struct;818  readonly isReserveRepatriated: boolean;819  readonly asReserveRepatriated: {820    readonly from: AccountId32;821    readonly to: AccountId32;822    readonly amount: u128;823    readonly destinationStatus: FrameSupportTokensMiscBalanceStatus;824  } & Struct;825  readonly isDeposit: boolean;826  readonly asDeposit: {827    readonly who: AccountId32;828    readonly amount: u128;829  } & Struct;830  readonly isWithdraw: boolean;831  readonly asWithdraw: {832    readonly who: AccountId32;833    readonly amount: u128;834  } & Struct;835  readonly isSlashed: boolean;836  readonly asSlashed: {837    readonly who: AccountId32;838    readonly amount: u128;839  } & Struct;840  readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed';841}842843/** @name PalletBalancesReasons */844export interface PalletBalancesReasons extends Enum {845  readonly isFee: boolean;846  readonly isMisc: boolean;847  readonly isAll: boolean;848  readonly type: 'Fee' | 'Misc' | 'All';849}850851/** @name PalletBalancesReleases */852export interface PalletBalancesReleases extends Enum {853  readonly isV100: boolean;854  readonly isV200: boolean;855  readonly type: 'V100' | 'V200';856}857858/** @name PalletBalancesReserveData */859export interface PalletBalancesReserveData extends Struct {860  readonly id: U8aFixed;861  readonly amount: u128;862}863864/** @name PalletCommonError */865export interface PalletCommonError extends Enum {866  readonly isCollectionNotFound: boolean;867  readonly isMustBeTokenOwner: boolean;868  readonly isNoPermission: boolean;869  readonly isCantDestroyNotEmptyCollection: boolean;870  readonly isPublicMintingNotAllowed: boolean;871  readonly isAddressNotInAllowlist: boolean;872  readonly isCollectionNameLimitExceeded: boolean;873  readonly isCollectionDescriptionLimitExceeded: boolean;874  readonly isCollectionTokenPrefixLimitExceeded: boolean;875  readonly isTotalCollectionsLimitExceeded: boolean;876  readonly isCollectionAdminCountExceeded: boolean;877  readonly isCollectionLimitBoundsExceeded: boolean;878  readonly isOwnerPermissionsCantBeReverted: boolean;879  readonly isTransferNotAllowed: boolean;880  readonly isAccountTokenLimitExceeded: boolean;881  readonly isCollectionTokenLimitExceeded: boolean;882  readonly isMetadataFlagFrozen: boolean;883  readonly isTokenNotFound: boolean;884  readonly isTokenValueTooLow: boolean;885  readonly isApprovedValueTooLow: boolean;886  readonly isCantApproveMoreThanOwned: boolean;887  readonly isAddressIsZero: boolean;888  readonly isUnsupportedOperation: boolean;889  readonly isNotSufficientFounds: boolean;890  readonly isNestingIsDisabled: boolean;891  readonly isOnlyOwnerAllowedToNest: boolean;892  readonly isSourceCollectionIsNotAllowedToNest: boolean;893  readonly isCollectionFieldSizeExceeded: boolean;894  readonly isNoSpaceForProperty: boolean;895  readonly isPropertyLimitReached: boolean;896  readonly isPropertyKeyIsTooLong: boolean;897  readonly isInvalidCharacterInPropertyKey: boolean;898  readonly isEmptyPropertyKey: boolean;899  readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'CantDestroyNotEmptyCollection' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds' | 'NestingIsDisabled' | 'OnlyOwnerAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey';900}901902/** @name PalletCommonEvent */903export interface PalletCommonEvent extends Enum {904  readonly isCollectionCreated: boolean;905  readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;906  readonly isCollectionDestroyed: boolean;907  readonly asCollectionDestroyed: u32;908  readonly isItemCreated: boolean;909  readonly asItemCreated: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;910  readonly isItemDestroyed: boolean;911  readonly asItemDestroyed: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;912  readonly isTransfer: boolean;913  readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;914  readonly isApproved: boolean;915  readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;916  readonly isCollectionPropertySet: boolean;917  readonly asCollectionPropertySet: ITuple<[u32, Bytes]>;918  readonly isCollectionPropertyDeleted: boolean;919  readonly asCollectionPropertyDeleted: ITuple<[u32, Bytes]>;920  readonly isTokenPropertySet: boolean;921  readonly asTokenPropertySet: ITuple<[u32, u32, Bytes]>;922  readonly isTokenPropertyDeleted: boolean;923  readonly asTokenPropertyDeleted: ITuple<[u32, u32, Bytes]>;924  readonly isPropertyPermissionSet: boolean;925  readonly asPropertyPermissionSet: ITuple<[u32, Bytes]>;926  readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet';927}928929/** @name PalletEthereumCall */930export interface PalletEthereumCall extends Enum {931  readonly isTransact: boolean;932  readonly asTransact: {933    readonly transaction: EthereumTransactionTransactionV2;934  } & Struct;935  readonly type: 'Transact';936}937938/** @name PalletEthereumError */939export interface PalletEthereumError extends Enum {940  readonly isInvalidSignature: boolean;941  readonly isPreLogExists: boolean;942  readonly type: 'InvalidSignature' | 'PreLogExists';943}944945/** @name PalletEthereumEvent */946export interface PalletEthereumEvent extends Enum {947  readonly isExecuted: boolean;948  readonly asExecuted: ITuple<[H160, H160, H256, EvmCoreErrorExitReason]>;949  readonly type: 'Executed';950}951952/** @name PalletEthereumFakeTransactionFinalizer */953export interface PalletEthereumFakeTransactionFinalizer extends Null {}954955/** @name PalletEvmAccountBasicCrossAccountIdRepr */956export interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {957  readonly isSubstrate: boolean;958  readonly asSubstrate: AccountId32;959  readonly isEthereum: boolean;960  readonly asEthereum: H160;961  readonly type: 'Substrate' | 'Ethereum';962}963964/** @name PalletEvmCall */965export interface PalletEvmCall extends Enum {966  readonly isWithdraw: boolean;967  readonly asWithdraw: {968    readonly address: H160;969    readonly value: u128;970  } & Struct;971  readonly isCall: boolean;972  readonly asCall: {973    readonly source: H160;974    readonly target: H160;975    readonly input: Bytes;976    readonly value: U256;977    readonly gasLimit: u64;978    readonly maxFeePerGas: U256;979    readonly maxPriorityFeePerGas: Option<U256>;980    readonly nonce: Option<U256>;981    readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;982  } & Struct;983  readonly isCreate: boolean;984  readonly asCreate: {985    readonly source: H160;986    readonly init: Bytes;987    readonly value: U256;988    readonly gasLimit: u64;989    readonly maxFeePerGas: U256;990    readonly maxPriorityFeePerGas: Option<U256>;991    readonly nonce: Option<U256>;992    readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;993  } & Struct;994  readonly isCreate2: boolean;995  readonly asCreate2: {996    readonly source: H160;997    readonly init: Bytes;998    readonly salt: H256;999    readonly value: U256;1000    readonly gasLimit: u64;1001    readonly maxFeePerGas: U256;1002    readonly maxPriorityFeePerGas: Option<U256>;1003    readonly nonce: Option<U256>;1004    readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;1005  } & Struct;1006  readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';1007}10081009/** @name PalletEvmCoderSubstrateError */1010export interface PalletEvmCoderSubstrateError extends Enum {1011  readonly isOutOfGas: boolean;1012  readonly isOutOfFund: boolean;1013  readonly type: 'OutOfGas' | 'OutOfFund';1014}10151016/** @name PalletEvmContractHelpersError */1017export interface PalletEvmContractHelpersError extends Enum {1018  readonly isNoPermission: boolean;1019  readonly type: 'NoPermission';1020}10211022/** @name PalletEvmContractHelpersSponsoringModeT */1023export interface PalletEvmContractHelpersSponsoringModeT extends Enum {1024  readonly isDisabled: boolean;1025  readonly isAllowlisted: boolean;1026  readonly isGenerous: boolean;1027  readonly type: 'Disabled' | 'Allowlisted' | 'Generous';1028}10291030/** @name PalletEvmError */1031export interface PalletEvmError extends Enum {1032  readonly isBalanceLow: boolean;1033  readonly isFeeOverflow: boolean;1034  readonly isPaymentOverflow: boolean;1035  readonly isWithdrawFailed: boolean;1036  readonly isGasPriceTooLow: boolean;1037  readonly isInvalidNonce: boolean;1038  readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce';1039}10401041/** @name PalletEvmEvent */1042export interface PalletEvmEvent extends Enum {1043  readonly isLog: boolean;1044  readonly asLog: EthereumLog;1045  readonly isCreated: boolean;1046  readonly asCreated: H160;1047  readonly isCreatedFailed: boolean;1048  readonly asCreatedFailed: H160;1049  readonly isExecuted: boolean;1050  readonly asExecuted: H160;1051  readonly isExecutedFailed: boolean;1052  readonly asExecutedFailed: H160;1053  readonly isBalanceDeposit: boolean;1054  readonly asBalanceDeposit: ITuple<[AccountId32, H160, U256]>;1055  readonly isBalanceWithdraw: boolean;1056  readonly asBalanceWithdraw: ITuple<[AccountId32, H160, U256]>;1057  readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed' | 'BalanceDeposit' | 'BalanceWithdraw';1058}10591060/** @name PalletEvmMigrationCall */1061export interface PalletEvmMigrationCall extends Enum {1062  readonly isBegin: boolean;1063  readonly asBegin: {1064    readonly address: H160;1065  } & Struct;1066  readonly isSetData: boolean;1067  readonly asSetData: {1068    readonly address: H160;1069    readonly data: Vec<ITuple<[H256, H256]>>;1070  } & Struct;1071  readonly isFinish: boolean;1072  readonly asFinish: {1073    readonly address: H160;1074    readonly code: Bytes;1075  } & Struct;1076  readonly type: 'Begin' | 'SetData' | 'Finish';1077}10781079/** @name PalletEvmMigrationError */1080export interface PalletEvmMigrationError extends Enum {1081  readonly isAccountNotEmpty: boolean;1082  readonly isAccountIsNotMigrating: boolean;1083  readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating';1084}10851086/** @name PalletFungibleError */1087export interface PalletFungibleError extends Enum {1088  readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;1089  readonly isFungibleItemsHaveNoId: boolean;1090  readonly isFungibleItemsDontHaveData: boolean;1091  readonly isFungibleDisallowsNesting: boolean;1092  readonly isSettingPropertiesNotAllowed: boolean;1093  readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';1094}10951096/** @name PalletInflationCall */1097export interface PalletInflationCall extends Enum {1098  readonly isStartInflation: boolean;1099  readonly asStartInflation: {1100    readonly inflationStartRelayBlock: u32;1101  } & Struct;1102  readonly type: 'StartInflation';1103}11041105/** @name PalletNonfungibleError */1106export interface PalletNonfungibleError extends Enum {1107  readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;1108  readonly isNonfungibleItemsHaveNoAmount: boolean;1109  readonly isCantBurnNftWithChildren: boolean;1110  readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';1111}11121113/** @name PalletNonfungibleItemData */1114export interface PalletNonfungibleItemData extends Struct {1115  readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1116}11171118/** @name PalletRefungibleError */1119export interface PalletRefungibleError extends Enum {1120  readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;1121  readonly isWrongRefungiblePieces: boolean;1122  readonly isRefungibleDisallowsNesting: boolean;1123  readonly isSettingPropertiesNotAllowed: boolean;1124  readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';1125}11261127/** @name PalletRefungibleItemData */1128export interface PalletRefungibleItemData extends Struct {1129  readonly constData: Bytes;1130}11311132/** @name PalletStructureCall */1133export interface PalletStructureCall extends Null {}11341135/** @name PalletStructureError */1136export interface PalletStructureError extends Enum {1137  readonly isOuroborosDetected: boolean;1138  readonly isDepthLimit: boolean;1139  readonly isTokenNotFound: boolean;1140  readonly type: 'OuroborosDetected' | 'DepthLimit' | 'TokenNotFound';1141}11421143/** @name PalletStructureEvent */1144export interface PalletStructureEvent extends Enum {1145  readonly isExecuted: boolean;1146  readonly asExecuted: Result<Null, SpRuntimeDispatchError>;1147  readonly type: 'Executed';1148}11491150/** @name PalletSudoCall */1151export interface PalletSudoCall extends Enum {1152  readonly isSudo: boolean;1153  readonly asSudo: {1154    readonly call: Call;1155  } & Struct;1156  readonly isSudoUncheckedWeight: boolean;1157  readonly asSudoUncheckedWeight: {1158    readonly call: Call;1159    readonly weight: u64;1160  } & Struct;1161  readonly isSetKey: boolean;1162  readonly asSetKey: {1163    readonly new_: MultiAddress;1164  } & Struct;1165  readonly isSudoAs: boolean;1166  readonly asSudoAs: {1167    readonly who: MultiAddress;1168    readonly call: Call;1169  } & Struct;1170  readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';1171}11721173/** @name PalletSudoError */1174export interface PalletSudoError extends Enum {1175  readonly isRequireSudo: boolean;1176  readonly type: 'RequireSudo';1177}11781179/** @name PalletSudoEvent */1180export interface PalletSudoEvent extends Enum {1181  readonly isSudid: boolean;1182  readonly asSudid: {1183    readonly sudoResult: Result<Null, SpRuntimeDispatchError>;1184  } & Struct;1185  readonly isKeyChanged: boolean;1186  readonly asKeyChanged: {1187    readonly oldSudoer: Option<AccountId32>;1188  } & Struct;1189  readonly isSudoAsDone: boolean;1190  readonly asSudoAsDone: {1191    readonly sudoResult: Result<Null, SpRuntimeDispatchError>;1192  } & Struct;1193  readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';1194}11951196/** @name PalletTemplateTransactionPaymentCall */1197export interface PalletTemplateTransactionPaymentCall extends Null {}11981199/** @name PalletTemplateTransactionPaymentChargeTransactionPayment */1200export interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}12011202/** @name PalletTimestampCall */1203export interface PalletTimestampCall extends Enum {1204  readonly isSet: boolean;1205  readonly asSet: {1206    readonly now: Compact<u64>;1207  } & Struct;1208  readonly type: 'Set';1209}12101211/** @name PalletTransactionPaymentReleases */1212export interface PalletTransactionPaymentReleases extends Enum {1213  readonly isV1Ancient: boolean;1214  readonly isV2: boolean;1215  readonly type: 'V1Ancient' | 'V2';1216}12171218/** @name PalletTreasuryCall */1219export interface PalletTreasuryCall extends Enum {1220  readonly isProposeSpend: boolean;1221  readonly asProposeSpend: {1222    readonly value: Compact<u128>;1223    readonly beneficiary: MultiAddress;1224  } & Struct;1225  readonly isRejectProposal: boolean;1226  readonly asRejectProposal: {1227    readonly proposalId: Compact<u32>;1228  } & Struct;1229  readonly isApproveProposal: boolean;1230  readonly asApproveProposal: {1231    readonly proposalId: Compact<u32>;1232  } & Struct;1233  readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal';1234}12351236/** @name PalletTreasuryError */1237export interface PalletTreasuryError extends Enum {1238  readonly isInsufficientProposersBalance: boolean;1239  readonly isInvalidIndex: boolean;1240  readonly isTooManyApprovals: boolean;1241  readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals';1242}12431244/** @name PalletTreasuryEvent */1245export interface PalletTreasuryEvent extends Enum {1246  readonly isProposed: boolean;1247  readonly asProposed: {1248    readonly proposalIndex: u32;1249  } & Struct;1250  readonly isSpending: boolean;1251  readonly asSpending: {1252    readonly budgetRemaining: u128;1253  } & Struct;1254  readonly isAwarded: boolean;1255  readonly asAwarded: {1256    readonly proposalIndex: u32;1257    readonly award: u128;1258    readonly account: AccountId32;1259  } & Struct;1260  readonly isRejected: boolean;1261  readonly asRejected: {1262    readonly proposalIndex: u32;1263    readonly slashed: u128;1264  } & Struct;1265  readonly isBurnt: boolean;1266  readonly asBurnt: {1267    readonly burntFunds: u128;1268  } & Struct;1269  readonly isRollover: boolean;1270  readonly asRollover: {1271    readonly rolloverBalance: u128;1272  } & Struct;1273  readonly isDeposit: boolean;1274  readonly asDeposit: {1275    readonly value: u128;1276  } & Struct;1277  readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit';1278}12791280/** @name PalletTreasuryProposal */1281export interface PalletTreasuryProposal extends Struct {1282  readonly proposer: AccountId32;1283  readonly value: u128;1284  readonly beneficiary: AccountId32;1285  readonly bond: u128;1286}12871288/** @name PalletUniqueCall */1289export interface PalletUniqueCall extends Enum {1290  readonly isCreateCollection: boolean;1291  readonly asCreateCollection: {1292    readonly collectionName: Vec<u16>;1293    readonly collectionDescription: Vec<u16>;1294    readonly tokenPrefix: Bytes;1295    readonly mode: UpDataStructsCollectionMode;1296  } & Struct;1297  readonly isCreateCollectionEx: boolean;1298  readonly asCreateCollectionEx: {1299    readonly data: UpDataStructsCreateCollectionData;1300  } & Struct;1301  readonly isDestroyCollection: boolean;1302  readonly asDestroyCollection: {1303    readonly collectionId: u32;1304  } & Struct;1305  readonly isAddToAllowList: boolean;1306  readonly asAddToAllowList: {1307    readonly collectionId: u32;1308    readonly address: PalletEvmAccountBasicCrossAccountIdRepr;1309  } & Struct;1310  readonly isRemoveFromAllowList: boolean;1311  readonly asRemoveFromAllowList: {1312    readonly collectionId: u32;1313    readonly address: PalletEvmAccountBasicCrossAccountIdRepr;1314  } & Struct;1315  readonly isChangeCollectionOwner: boolean;1316  readonly asChangeCollectionOwner: {1317    readonly collectionId: u32;1318    readonly newOwner: AccountId32;1319  } & Struct;1320  readonly isAddCollectionAdmin: boolean;1321  readonly asAddCollectionAdmin: {1322    readonly collectionId: u32;1323    readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr;1324  } & Struct;1325  readonly isRemoveCollectionAdmin: boolean;1326  readonly asRemoveCollectionAdmin: {1327    readonly collectionId: u32;1328    readonly accountId: PalletEvmAccountBasicCrossAccountIdRepr;1329  } & Struct;1330  readonly isSetCollectionSponsor: boolean;1331  readonly asSetCollectionSponsor: {1332    readonly collectionId: u32;1333    readonly newSponsor: AccountId32;1334  } & Struct;1335  readonly isConfirmSponsorship: boolean;1336  readonly asConfirmSponsorship: {1337    readonly collectionId: u32;1338  } & Struct;1339  readonly isRemoveCollectionSponsor: boolean;1340  readonly asRemoveCollectionSponsor: {1341    readonly collectionId: u32;1342  } & Struct;1343  readonly isCreateItem: boolean;1344  readonly asCreateItem: {1345    readonly collectionId: u32;1346    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1347    readonly data: UpDataStructsCreateItemData;1348  } & Struct;1349  readonly isCreateMultipleItems: boolean;1350  readonly asCreateMultipleItems: {1351    readonly collectionId: u32;1352    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1353    readonly itemsData: Vec<UpDataStructsCreateItemData>;1354  } & Struct;1355  readonly isSetCollectionProperties: boolean;1356  readonly asSetCollectionProperties: {1357    readonly collectionId: u32;1358    readonly properties: Vec<UpDataStructsProperty>;1359  } & Struct;1360  readonly isDeleteCollectionProperties: boolean;1361  readonly asDeleteCollectionProperties: {1362    readonly collectionId: u32;1363    readonly propertyKeys: Vec<Bytes>;1364  } & Struct;1365  readonly isSetTokenProperties: boolean;1366  readonly asSetTokenProperties: {1367    readonly collectionId: u32;1368    readonly tokenId: u32;1369    readonly properties: Vec<UpDataStructsProperty>;1370  } & Struct;1371  readonly isDeleteTokenProperties: boolean;1372  readonly asDeleteTokenProperties: {1373    readonly collectionId: u32;1374    readonly tokenId: u32;1375    readonly propertyKeys: Vec<Bytes>;1376  } & Struct;1377  readonly isSetPropertyPermissions: boolean;1378  readonly asSetPropertyPermissions: {1379    readonly collectionId: u32;1380    readonly propertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;1381  } & Struct;1382  readonly isCreateMultipleItemsEx: boolean;1383  readonly asCreateMultipleItemsEx: {1384    readonly collectionId: u32;1385    readonly data: UpDataStructsCreateItemExData;1386  } & Struct;1387  readonly isSetTransfersEnabledFlag: boolean;1388  readonly asSetTransfersEnabledFlag: {1389    readonly collectionId: u32;1390    readonly value: bool;1391  } & Struct;1392  readonly isBurnItem: boolean;1393  readonly asBurnItem: {1394    readonly collectionId: u32;1395    readonly itemId: u32;1396    readonly value: u128;1397  } & Struct;1398  readonly isBurnFrom: boolean;1399  readonly asBurnFrom: {1400    readonly collectionId: u32;1401    readonly from: PalletEvmAccountBasicCrossAccountIdRepr;1402    readonly itemId: u32;1403    readonly value: u128;1404  } & Struct;1405  readonly isTransfer: boolean;1406  readonly asTransfer: {1407    readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;1408    readonly collectionId: u32;1409    readonly itemId: u32;1410    readonly value: u128;1411  } & Struct;1412  readonly isApprove: boolean;1413  readonly asApprove: {1414    readonly spender: PalletEvmAccountBasicCrossAccountIdRepr;1415    readonly collectionId: u32;1416    readonly itemId: u32;1417    readonly amount: u128;1418  } & Struct;1419  readonly isTransferFrom: boolean;1420  readonly asTransferFrom: {1421    readonly from: PalletEvmAccountBasicCrossAccountIdRepr;1422    readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;1423    readonly collectionId: u32;1424    readonly itemId: u32;1425    readonly value: u128;1426  } & Struct;1427  readonly isSetCollectionLimits: boolean;1428  readonly asSetCollectionLimits: {1429    readonly collectionId: u32;1430    readonly newLimit: UpDataStructsCollectionLimits;1431  } & Struct;1432  readonly isSetCollectionPermissions: boolean;1433  readonly asSetCollectionPermissions: {1434    readonly collectionId: u32;1435    readonly newLimit: UpDataStructsCollectionPermissions;1436  } & Struct;1437  readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetCollectionProperties' | 'DeleteCollectionProperties' | 'SetTokenProperties' | 'DeleteTokenProperties' | 'SetPropertyPermissions' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetCollectionLimits' | 'SetCollectionPermissions';1438}14391440/** @name PalletUniqueError */1441export interface PalletUniqueError extends Enum {1442  readonly isCollectionDecimalPointLimitExceeded: boolean;1443  readonly isConfirmUnsetSponsorFail: boolean;1444  readonly isEmptyArgument: boolean;1445  readonly type: 'CollectionDecimalPointLimitExceeded' | 'ConfirmUnsetSponsorFail' | 'EmptyArgument';1446}14471448/** @name PalletUniqueRawEvent */1449export interface PalletUniqueRawEvent extends Enum {1450  readonly isCollectionSponsorRemoved: boolean;1451  readonly asCollectionSponsorRemoved: u32;1452  readonly isCollectionAdminAdded: boolean;1453  readonly asCollectionAdminAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1454  readonly isCollectionOwnedChanged: boolean;1455  readonly asCollectionOwnedChanged: ITuple<[u32, AccountId32]>;1456  readonly isCollectionSponsorSet: boolean;1457  readonly asCollectionSponsorSet: ITuple<[u32, AccountId32]>;1458  readonly isSponsorshipConfirmed: boolean;1459  readonly asSponsorshipConfirmed: ITuple<[u32, AccountId32]>;1460  readonly isCollectionAdminRemoved: boolean;1461  readonly asCollectionAdminRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1462  readonly isAllowListAddressRemoved: boolean;1463  readonly asAllowListAddressRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1464  readonly isAllowListAddressAdded: boolean;1465  readonly asAllowListAddressAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1466  readonly isCollectionLimitSet: boolean;1467  readonly asCollectionLimitSet: u32;1468  readonly isCollectionPermissionSet: boolean;1469  readonly asCollectionPermissionSet: u32;1470  readonly type: 'CollectionSponsorRemoved' | 'CollectionAdminAdded' | 'CollectionOwnedChanged' | 'CollectionSponsorSet' | 'SponsorshipConfirmed' | 'CollectionAdminRemoved' | 'AllowListAddressRemoved' | 'AllowListAddressAdded' | 'CollectionLimitSet' | 'CollectionPermissionSet';1471}14721473/** @name PalletXcmCall */1474export interface PalletXcmCall extends Enum {1475  readonly isSend: boolean;1476  readonly asSend: {1477    readonly dest: XcmVersionedMultiLocation;1478    readonly message: XcmVersionedXcm;1479  } & Struct;1480  readonly isTeleportAssets: boolean;1481  readonly asTeleportAssets: {1482    readonly dest: XcmVersionedMultiLocation;1483    readonly beneficiary: XcmVersionedMultiLocation;1484    readonly assets: XcmVersionedMultiAssets;1485    readonly feeAssetItem: u32;1486  } & Struct;1487  readonly isReserveTransferAssets: boolean;1488  readonly asReserveTransferAssets: {1489    readonly dest: XcmVersionedMultiLocation;1490    readonly beneficiary: XcmVersionedMultiLocation;1491    readonly assets: XcmVersionedMultiAssets;1492    readonly feeAssetItem: u32;1493  } & Struct;1494  readonly isExecute: boolean;1495  readonly asExecute: {1496    readonly message: XcmVersionedXcm;1497    readonly maxWeight: u64;1498  } & Struct;1499  readonly isForceXcmVersion: boolean;1500  readonly asForceXcmVersion: {1501    readonly location: XcmV1MultiLocation;1502    readonly xcmVersion: u32;1503  } & Struct;1504  readonly isForceDefaultXcmVersion: boolean;1505  readonly asForceDefaultXcmVersion: {1506    readonly maybeXcmVersion: Option<u32>;1507  } & Struct;1508  readonly isForceSubscribeVersionNotify: boolean;1509  readonly asForceSubscribeVersionNotify: {1510    readonly location: XcmVersionedMultiLocation;1511  } & Struct;1512  readonly isForceUnsubscribeVersionNotify: boolean;1513  readonly asForceUnsubscribeVersionNotify: {1514    readonly location: XcmVersionedMultiLocation;1515  } & Struct;1516  readonly isLimitedReserveTransferAssets: boolean;1517  readonly asLimitedReserveTransferAssets: {1518    readonly dest: XcmVersionedMultiLocation;1519    readonly beneficiary: XcmVersionedMultiLocation;1520    readonly assets: XcmVersionedMultiAssets;1521    readonly feeAssetItem: u32;1522    readonly weightLimit: XcmV2WeightLimit;1523  } & Struct;1524  readonly isLimitedTeleportAssets: boolean;1525  readonly asLimitedTeleportAssets: {1526    readonly dest: XcmVersionedMultiLocation;1527    readonly beneficiary: XcmVersionedMultiLocation;1528    readonly assets: XcmVersionedMultiAssets;1529    readonly feeAssetItem: u32;1530    readonly weightLimit: XcmV2WeightLimit;1531  } & Struct;1532  readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';1533}15341535/** @name PalletXcmError */1536export interface PalletXcmError extends Enum {1537  readonly isUnreachable: boolean;1538  readonly isSendFailure: boolean;1539  readonly isFiltered: boolean;1540  readonly isUnweighableMessage: boolean;1541  readonly isDestinationNotInvertible: boolean;1542  readonly isEmpty: boolean;1543  readonly isCannotReanchor: boolean;1544  readonly isTooManyAssets: boolean;1545  readonly isInvalidOrigin: boolean;1546  readonly isBadVersion: boolean;1547  readonly isBadLocation: boolean;1548  readonly isNoSubscription: boolean;1549  readonly isAlreadySubscribed: boolean;1550  readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';1551}15521553/** @name PalletXcmEvent */1554export interface PalletXcmEvent extends Enum {1555  readonly isAttempted: boolean;1556  readonly asAttempted: XcmV2TraitsOutcome;1557  readonly isSent: boolean;1558  readonly asSent: ITuple<[XcmV1MultiLocation, XcmV1MultiLocation, XcmV2Xcm]>;1559  readonly isUnexpectedResponse: boolean;1560  readonly asUnexpectedResponse: ITuple<[XcmV1MultiLocation, u64]>;1561  readonly isResponseReady: boolean;1562  readonly asResponseReady: ITuple<[u64, XcmV2Response]>;1563  readonly isNotified: boolean;1564  readonly asNotified: ITuple<[u64, u8, u8]>;1565  readonly isNotifyOverweight: boolean;1566  readonly asNotifyOverweight: ITuple<[u64, u8, u8, u64, u64]>;1567  readonly isNotifyDispatchError: boolean;1568  readonly asNotifyDispatchError: ITuple<[u64, u8, u8]>;1569  readonly isNotifyDecodeFailed: boolean;1570  readonly asNotifyDecodeFailed: ITuple<[u64, u8, u8]>;1571  readonly isInvalidResponder: boolean;1572  readonly asInvalidResponder: ITuple<[XcmV1MultiLocation, u64, Option<XcmV1MultiLocation>]>;1573  readonly isInvalidResponderVersion: boolean;1574  readonly asInvalidResponderVersion: ITuple<[XcmV1MultiLocation, u64]>;1575  readonly isResponseTaken: boolean;1576  readonly asResponseTaken: u64;1577  readonly isAssetsTrapped: boolean;1578  readonly asAssetsTrapped: ITuple<[H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;1579  readonly isVersionChangeNotified: boolean;1580  readonly asVersionChangeNotified: ITuple<[XcmV1MultiLocation, u32]>;1581  readonly isSupportedVersionChanged: boolean;1582  readonly asSupportedVersionChanged: ITuple<[XcmV1MultiLocation, u32]>;1583  readonly isNotifyTargetSendFail: boolean;1584  readonly asNotifyTargetSendFail: ITuple<[XcmV1MultiLocation, u64, XcmV2TraitsError]>;1585  readonly isNotifyTargetMigrationFail: boolean;1586  readonly asNotifyTargetMigrationFail: ITuple<[XcmVersionedMultiLocation, u64]>;1587  readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail';1588}15891590/** @name PhantomTypeUpDataStructs */1591export interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, UpDataStructsRmrkCollectionInfo, UpDataStructsRmrkNftInfo, UpDataStructsRmrkResourceInfo, UpDataStructsRmrkPropertyInfo, UpDataStructsRmrkBaseInfo, UpDataStructsRmrkPartType, UpDataStructsRmrkTheme, UpDataStructsRmrkNftChild]>> {}15921593/** @name PolkadotCorePrimitivesInboundDownwardMessage */1594export interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {1595  readonly sentAt: u32;1596  readonly msg: Bytes;1597}15981599/** @name PolkadotCorePrimitivesInboundHrmpMessage */1600export interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {1601  readonly sentAt: u32;1602  readonly data: Bytes;1603}16041605/** @name PolkadotCorePrimitivesOutboundHrmpMessage */1606export interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {1607  readonly recipient: u32;1608  readonly data: Bytes;1609}16101611/** @name PolkadotParachainPrimitivesXcmpMessageFormat */1612export interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {1613  readonly isConcatenatedVersionedXcm: boolean;1614  readonly isConcatenatedEncodedBlob: boolean;1615  readonly isSignals: boolean;1616  readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';1617}16181619/** @name PolkadotPrimitivesV2AbridgedHostConfiguration */1620export interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct {1621  readonly maxCodeSize: u32;1622  readonly maxHeadDataSize: u32;1623  readonly maxUpwardQueueCount: u32;1624  readonly maxUpwardQueueSize: u32;1625  readonly maxUpwardMessageSize: u32;1626  readonly maxUpwardMessageNumPerCandidate: u32;1627  readonly hrmpMaxMessageNumPerCandidate: u32;1628  readonly validationUpgradeCooldown: u32;1629  readonly validationUpgradeDelay: u32;1630}16311632/** @name PolkadotPrimitivesV2AbridgedHrmpChannel */1633export interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct {1634  readonly maxCapacity: u32;1635  readonly maxTotalSize: u32;1636  readonly maxMessageSize: u32;1637  readonly msgCount: u32;1638  readonly totalSize: u32;1639  readonly mqcHead: Option<H256>;1640}16411642/** @name PolkadotPrimitivesV2PersistedValidationData */1643export interface PolkadotPrimitivesV2PersistedValidationData extends Struct {1644  readonly parentHead: Bytes;1645  readonly relayParentNumber: u32;1646  readonly relayParentStorageRoot: H256;1647  readonly maxPovSize: u32;1648}16491650/** @name PolkadotPrimitivesV2UpgradeRestriction */1651export interface PolkadotPrimitivesV2UpgradeRestriction extends Enum {1652  readonly isPresent: boolean;1653  readonly type: 'Present';1654}16551656/** @name SpCoreEcdsaSignature */1657export interface SpCoreEcdsaSignature extends U8aFixed {}16581659/** @name SpCoreEd25519Signature */1660export interface SpCoreEd25519Signature extends U8aFixed {}16611662/** @name SpCoreSr25519Signature */1663export interface SpCoreSr25519Signature extends U8aFixed {}16641665/** @name SpRuntimeArithmeticError */1666export interface SpRuntimeArithmeticError extends Enum {1667  readonly isUnderflow: boolean;1668  readonly isOverflow: boolean;1669  readonly isDivisionByZero: boolean;1670  readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';1671}16721673/** @name SpRuntimeDigest */1674export interface SpRuntimeDigest extends Struct {1675  readonly logs: Vec<SpRuntimeDigestDigestItem>;1676}16771678/** @name SpRuntimeDigestDigestItem */1679export interface SpRuntimeDigestDigestItem extends Enum {1680  readonly isOther: boolean;1681  readonly asOther: Bytes;1682  readonly isConsensus: boolean;1683  readonly asConsensus: ITuple<[U8aFixed, Bytes]>;1684  readonly isSeal: boolean;1685  readonly asSeal: ITuple<[U8aFixed, Bytes]>;1686  readonly isPreRuntime: boolean;1687  readonly asPreRuntime: ITuple<[U8aFixed, Bytes]>;1688  readonly isRuntimeEnvironmentUpdated: boolean;1689  readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated';1690}16911692/** @name SpRuntimeDispatchError */1693export interface SpRuntimeDispatchError extends Enum {1694  readonly isOther: boolean;1695  readonly isCannotLookup: boolean;1696  readonly isBadOrigin: boolean;1697  readonly isModule: boolean;1698  readonly asModule: SpRuntimeModuleError;1699  readonly isConsumerRemaining: boolean;1700  readonly isNoProviders: boolean;1701  readonly isTooManyConsumers: boolean;1702  readonly isToken: boolean;1703  readonly asToken: SpRuntimeTokenError;1704  readonly isArithmetic: boolean;1705  readonly asArithmetic: SpRuntimeArithmeticError;1706  readonly isTransactional: boolean;1707  readonly asTransactional: SpRuntimeTransactionalError;1708  readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional';1709}17101711/** @name SpRuntimeModuleError */1712export interface SpRuntimeModuleError extends Struct {1713  readonly index: u8;1714  readonly error: U8aFixed;1715}17161717/** @name SpRuntimeMultiSignature */1718export interface SpRuntimeMultiSignature extends Enum {1719  readonly isEd25519: boolean;1720  readonly asEd25519: SpCoreEd25519Signature;1721  readonly isSr25519: boolean;1722  readonly asSr25519: SpCoreSr25519Signature;1723  readonly isEcdsa: boolean;1724  readonly asEcdsa: SpCoreEcdsaSignature;1725  readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';1726}17271728/** @name SpRuntimeTokenError */1729export interface SpRuntimeTokenError extends Enum {1730  readonly isNoFunds: boolean;1731  readonly isWouldDie: boolean;1732  readonly isBelowMinimum: boolean;1733  readonly isCannotCreate: boolean;1734  readonly isUnknownAsset: boolean;1735  readonly isFrozen: boolean;1736  readonly isUnsupported: boolean;1737  readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported';1738}17391740/** @name SpRuntimeTransactionalError */1741export interface SpRuntimeTransactionalError extends Enum {1742  readonly isLimitReached: boolean;1743  readonly isNoLayer: boolean;1744  readonly type: 'LimitReached' | 'NoLayer';1745}17461747/** @name SpTrieStorageProof */1748export interface SpTrieStorageProof extends Struct {1749  readonly trieNodes: BTreeSet<Bytes>;1750}17511752/** @name SpVersionRuntimeVersion */1753export interface SpVersionRuntimeVersion extends Struct {1754  readonly specName: Text;1755  readonly implName: Text;1756  readonly authoringVersion: u32;1757  readonly specVersion: u32;1758  readonly implVersion: u32;1759  readonly apis: Vec<ITuple<[U8aFixed, u32]>>;1760  readonly transactionVersion: u32;1761  readonly stateVersion: u8;1762}17631764/** @name UpDataStructsAccessMode */1765export interface UpDataStructsAccessMode extends Enum {1766  readonly isNormal: boolean;1767  readonly isAllowList: boolean;1768  readonly type: 'Normal' | 'AllowList';1769}17701771/** @name UpDataStructsCollection */1772export interface UpDataStructsCollection extends Struct {1773  readonly owner: AccountId32;1774  readonly mode: UpDataStructsCollectionMode;1775  readonly name: Vec<u16>;1776  readonly description: Vec<u16>;1777  readonly tokenPrefix: Bytes;1778  readonly sponsorship: UpDataStructsSponsorshipState;1779  readonly limits: UpDataStructsCollectionLimits;1780  readonly permissions: UpDataStructsCollectionPermissions;1781}17821783/** @name UpDataStructsCollectionLimits */1784export interface UpDataStructsCollectionLimits extends Struct {1785  readonly accountTokenOwnershipLimit: Option<u32>;1786  readonly sponsoredDataSize: Option<u32>;1787  readonly sponsoredDataRateLimit: Option<UpDataStructsSponsoringRateLimit>;1788  readonly tokenLimit: Option<u32>;1789  readonly sponsorTransferTimeout: Option<u32>;1790  readonly sponsorApproveTimeout: Option<u32>;1791  readonly ownerCanTransfer: Option<bool>;1792  readonly ownerCanDestroy: Option<bool>;1793  readonly transfersEnabled: Option<bool>;1794}17951796/** @name UpDataStructsCollectionMode */1797export interface UpDataStructsCollectionMode extends Enum {1798  readonly isNft: boolean;1799  readonly isFungible: boolean;1800  readonly asFungible: u8;1801  readonly isReFungible: boolean;1802  readonly type: 'Nft' | 'Fungible' | 'ReFungible';1803}18041805/** @name UpDataStructsCollectionPermissions */1806export interface UpDataStructsCollectionPermissions extends Struct {1807  readonly access: Option<UpDataStructsAccessMode>;1808  readonly mintMode: Option<bool>;1809  readonly nesting: Option<UpDataStructsNestingRule>;1810}18111812/** @name UpDataStructsCollectionStats */1813export interface UpDataStructsCollectionStats extends Struct {1814  readonly created: u32;1815  readonly destroyed: u32;1816  readonly alive: u32;1817}18181819/** @name UpDataStructsCreateCollectionData */1820export interface UpDataStructsCreateCollectionData extends Struct {1821  readonly mode: UpDataStructsCollectionMode;1822  readonly access: Option<UpDataStructsAccessMode>;1823  readonly name: Vec<u16>;1824  readonly description: Vec<u16>;1825  readonly tokenPrefix: Bytes;1826  readonly pendingSponsor: Option<AccountId32>;1827  readonly limits: Option<UpDataStructsCollectionLimits>;1828  readonly permissions: Option<UpDataStructsCollectionPermissions>;1829  readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;1830  readonly properties: Vec<UpDataStructsProperty>;1831}18321833/** @name UpDataStructsCreateFungibleData */1834export interface UpDataStructsCreateFungibleData extends Struct {1835  readonly value: u128;1836}18371838/** @name UpDataStructsCreateItemData */1839export interface UpDataStructsCreateItemData extends Enum {1840  readonly isNft: boolean;1841  readonly asNft: UpDataStructsCreateNftData;1842  readonly isFungible: boolean;1843  readonly asFungible: UpDataStructsCreateFungibleData;1844  readonly isReFungible: boolean;1845  readonly asReFungible: UpDataStructsCreateReFungibleData;1846  readonly type: 'Nft' | 'Fungible' | 'ReFungible';1847}18481849/** @name UpDataStructsCreateItemExData */1850export interface UpDataStructsCreateItemExData extends Enum {1851  readonly isNft: boolean;1852  readonly asNft: Vec<UpDataStructsCreateNftExData>;1853  readonly isFungible: boolean;1854  readonly asFungible: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr,u128>;1855  readonly isRefungibleMultipleItems: boolean;1856  readonly asRefungibleMultipleItems: Vec<UpDataStructsCreateRefungibleExData>;1857  readonly isRefungibleMultipleOwners: boolean;1858  readonly asRefungibleMultipleOwners: UpDataStructsCreateRefungibleExData;1859  readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';1860}18611862/** @name UpDataStructsCreateNftData */1863export interface UpDataStructsCreateNftData extends Struct {1864  readonly properties: Vec<UpDataStructsProperty>;1865}18661867/** @name UpDataStructsCreateNftExData */1868export interface UpDataStructsCreateNftExData extends Struct {1869  readonly properties: Vec<UpDataStructsProperty>;1870  readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1871}18721873/** @name UpDataStructsCreateReFungibleData */1874export interface UpDataStructsCreateReFungibleData extends Struct {1875  readonly constData: Bytes;1876  readonly pieces: u128;1877}18781879/** @name UpDataStructsCreateRefungibleExData */1880export interface UpDataStructsCreateRefungibleExData extends Struct {1881  readonly constData: Bytes;1882  readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;1883}18841885/** @name UpDataStructsNestingRule */1886export interface UpDataStructsNestingRule extends Enum {1887  readonly isDisabled: boolean;1888  readonly isOwner: boolean;1889  readonly isOwnerRestricted: boolean;1890  readonly asOwnerRestricted: BTreeSet<u32>;1891  readonly type: 'Disabled' | 'Owner' | 'OwnerRestricted';1892}18931894/** @name UpDataStructsProperties */1895export interface UpDataStructsProperties extends Struct {1896  readonly map: UpDataStructsPropertiesMapBoundedVec;1897  readonly consumedSpace: u32;1898  readonly spaceLimit: u32;1899}19001901/** @name UpDataStructsPropertiesMapBoundedVec */1902export interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}19031904/** @name UpDataStructsPropertiesMapPropertyPermission */1905export interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}19061907/** @name UpDataStructsProperty */1908export interface UpDataStructsProperty extends Struct {1909  readonly key: Bytes;1910  readonly value: Bytes;1911}19121913/** @name UpDataStructsPropertyKeyPermission */1914export interface UpDataStructsPropertyKeyPermission extends Struct {1915  readonly key: Bytes;1916  readonly permission: UpDataStructsPropertyPermission;1917}19181919/** @name UpDataStructsPropertyPermission */1920export interface UpDataStructsPropertyPermission extends Struct {1921  readonly mutable: bool;1922  readonly collectionAdmin: bool;1923  readonly tokenOwner: bool;1924}19251926/** @name UpDataStructsRmrkAccountIdOrCollectionNftTuple */1927export interface UpDataStructsRmrkAccountIdOrCollectionNftTuple extends Enum {1928  readonly isAccountId: boolean;1929  readonly asAccountId: AccountId32;1930  readonly isCollectionAndNftTuple: boolean;1931  readonly asCollectionAndNftTuple: ITuple<[u32, u32]>;1932  readonly type: 'AccountId' | 'CollectionAndNftTuple';1933}19341935/** @name UpDataStructsRmrkBaseInfo */1936export interface UpDataStructsRmrkBaseInfo extends Struct {1937  readonly issuer: AccountId32;1938  readonly baseType: Bytes;1939  readonly symbol: Bytes;1940}19411942/** @name UpDataStructsRmrkBasicResource */1943export interface UpDataStructsRmrkBasicResource extends Struct {1944  readonly src: Option<Bytes>;1945  readonly metadata: Option<Bytes>;1946  readonly license: Option<Bytes>;1947  readonly thumb: Option<Bytes>;1948}19491950/** @name UpDataStructsRmrkCollectionInfo */1951export interface UpDataStructsRmrkCollectionInfo extends Struct {1952  readonly issuer: AccountId32;1953  readonly metadata: Bytes;1954  readonly max: Option<u32>;1955  readonly symbol: Bytes;1956  readonly nftsCount: u32;1957}19581959/** @name UpDataStructsRmrkComposableResource */1960export interface UpDataStructsRmrkComposableResource extends Struct {1961  readonly parts: Vec<u32>;1962  readonly base: u32;1963  readonly src: Option<Bytes>;1964  readonly metadata: Option<Bytes>;1965  readonly license: Option<Bytes>;1966  readonly thumb: Option<Bytes>;1967}19681969/** @name UpDataStructsRmrkEquippableList */1970export interface UpDataStructsRmrkEquippableList extends Enum {1971  readonly isAll: boolean;1972  readonly isEmpty: boolean;1973  readonly isCustom: boolean;1974  readonly asCustom: Vec<u32>;1975  readonly type: 'All' | 'Empty' | 'Custom';1976}19771978/** @name UpDataStructsRmrkFixedPart */1979export interface UpDataStructsRmrkFixedPart extends Struct {1980  readonly id: u32;1981  readonly z: u32;1982  readonly src: Bytes;1983}19841985/** @name UpDataStructsRmrkNftChild */1986export interface UpDataStructsRmrkNftChild extends Struct {1987  readonly collectionId: u32;1988  readonly nftId: u32;1989}19901991/** @name UpDataStructsRmrkNftInfo */1992export interface UpDataStructsRmrkNftInfo extends Struct {1993  readonly owner: UpDataStructsRmrkAccountIdOrCollectionNftTuple;1994  readonly royalty: Option<UpDataStructsRmrkRoyaltyInfo>;1995  readonly metadata: Bytes;1996  readonly equipped: bool;1997  readonly pending: bool;1998}19992000/** @name UpDataStructsRmrkPartType */2001export interface UpDataStructsRmrkPartType extends Enum {2002  readonly isFixedPart: boolean;2003  readonly asFixedPart: UpDataStructsRmrkFixedPart;2004  readonly isSlotPart: boolean;2005  readonly asSlotPart: UpDataStructsRmrkSlotPart;2006  readonly type: 'FixedPart' | 'SlotPart';2007}20082009/** @name UpDataStructsRmrkPropertyInfo */2010export interface UpDataStructsRmrkPropertyInfo extends Struct {2011  readonly key: Bytes;2012  readonly value: Bytes;2013}20142015/** @name UpDataStructsRmrkResourceInfo */2016export interface UpDataStructsRmrkResourceInfo extends Struct {2017  readonly id: Bytes;2018  readonly resource: UpDataStructsRmrkResourceTypes;2019  readonly pending: bool;2020  readonly pendingRemoval: bool;2021}20222023/** @name UpDataStructsRmrkResourceTypes */2024export interface UpDataStructsRmrkResourceTypes extends Enum {2025  readonly isBasic: boolean;2026  readonly asBasic: UpDataStructsRmrkBasicResource;2027  readonly isComposable: boolean;2028  readonly asComposable: UpDataStructsRmrkComposableResource;2029  readonly isSlot: boolean;2030  readonly asSlot: UpDataStructsRmrkSlotResource;2031  readonly type: 'Basic' | 'Composable' | 'Slot';2032}20332034/** @name UpDataStructsRmrkRoyaltyInfo */2035export interface UpDataStructsRmrkRoyaltyInfo extends Struct {2036  readonly recipient: AccountId32;2037  readonly amount: Permill;2038}20392040/** @name UpDataStructsRmrkSlotPart */2041export interface UpDataStructsRmrkSlotPart extends Struct {2042  readonly id: u32;2043  readonly equippable: UpDataStructsRmrkEquippableList;2044  readonly src: Bytes;2045  readonly z: u32;2046}20472048/** @name UpDataStructsRmrkSlotResource */2049export interface UpDataStructsRmrkSlotResource extends Struct {2050  readonly base: u32;2051  readonly src: Option<Bytes>;2052  readonly metadata: Option<Bytes>;2053  readonly slot: u32;2054  readonly license: Option<Bytes>;2055  readonly thumb: Option<Bytes>;2056}20572058/** @name UpDataStructsRmrkTheme */2059export interface UpDataStructsRmrkTheme extends Struct {2060  readonly name: Bytes;2061  readonly properties: Vec<UpDataStructsRmrkThemeProperty>;2062  readonly inherit: bool;2063}20642065/** @name UpDataStructsRmrkThemeProperty */2066export interface UpDataStructsRmrkThemeProperty extends Struct {2067  readonly key: Bytes;2068  readonly value: Bytes;2069}20702071/** @name UpDataStructsRpcCollection */2072export interface UpDataStructsRpcCollection extends Struct {2073  readonly owner: AccountId32;2074  readonly mode: UpDataStructsCollectionMode;2075  readonly name: Vec<u16>;2076  readonly description: Vec<u16>;2077  readonly tokenPrefix: Bytes;2078  readonly sponsorship: UpDataStructsSponsorshipState;2079  readonly limits: UpDataStructsCollectionLimits;2080  readonly permissions: UpDataStructsCollectionPermissions;2081  readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;2082  readonly properties: Vec<UpDataStructsProperty>;2083}20842085/** @name UpDataStructsSponsoringRateLimit */2086export interface UpDataStructsSponsoringRateLimit extends Enum {2087  readonly isSponsoringDisabled: boolean;2088  readonly isBlocks: boolean;2089  readonly asBlocks: u32;2090  readonly type: 'SponsoringDisabled' | 'Blocks';2091}20922093/** @name UpDataStructsSponsorshipState */2094export interface UpDataStructsSponsorshipState extends Enum {2095  readonly isDisabled: boolean;2096  readonly isUnconfirmed: boolean;2097  readonly asUnconfirmed: AccountId32;2098  readonly isConfirmed: boolean;2099  readonly asConfirmed: AccountId32;2100  readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';2101}21022103/** @name UpDataStructsTokenChild */2104export interface UpDataStructsTokenChild extends Struct {2105  readonly token: u32;2106  readonly collection: u32;2107}21082109/** @name UpDataStructsTokenData */2110export interface UpDataStructsTokenData extends Struct {2111  readonly properties: Vec<UpDataStructsProperty>;2112  readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;2113}21142115/** @name XcmDoubleEncoded */2116export interface XcmDoubleEncoded extends Struct {2117  readonly encoded: Bytes;2118}21192120/** @name XcmV0Junction */2121export interface XcmV0Junction extends Enum {2122  readonly isParent: boolean;2123  readonly isParachain: boolean;2124  readonly asParachain: Compact<u32>;2125  readonly isAccountId32: boolean;2126  readonly asAccountId32: {2127    readonly network: XcmV0JunctionNetworkId;2128    readonly id: U8aFixed;2129  } & Struct;2130  readonly isAccountIndex64: boolean;2131  readonly asAccountIndex64: {2132    readonly network: XcmV0JunctionNetworkId;2133    readonly index: Compact<u64>;2134  } & Struct;2135  readonly isAccountKey20: boolean;2136  readonly asAccountKey20: {2137    readonly network: XcmV0JunctionNetworkId;2138    readonly key: U8aFixed;2139  } & Struct;2140  readonly isPalletInstance: boolean;2141  readonly asPalletInstance: u8;2142  readonly isGeneralIndex: boolean;2143  readonly asGeneralIndex: Compact<u128>;2144  readonly isGeneralKey: boolean;2145  readonly asGeneralKey: Bytes;2146  readonly isOnlyChild: boolean;2147  readonly isPlurality: boolean;2148  readonly asPlurality: {2149    readonly id: XcmV0JunctionBodyId;2150    readonly part: XcmV0JunctionBodyPart;2151  } & Struct;2152  readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';2153}21542155/** @name XcmV0JunctionBodyId */2156export interface XcmV0JunctionBodyId extends Enum {2157  readonly isUnit: boolean;2158  readonly isNamed: boolean;2159  readonly asNamed: Bytes;2160  readonly isIndex: boolean;2161  readonly asIndex: Compact<u32>;2162  readonly isExecutive: boolean;2163  readonly isTechnical: boolean;2164  readonly isLegislative: boolean;2165  readonly isJudicial: boolean;2166  readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial';2167}21682169/** @name XcmV0JunctionBodyPart */2170export interface XcmV0JunctionBodyPart extends Enum {2171  readonly isVoice: boolean;2172  readonly isMembers: boolean;2173  readonly asMembers: {2174    readonly count: Compact<u32>;2175  } & Struct;2176  readonly isFraction: boolean;2177  readonly asFraction: {2178    readonly nom: Compact<u32>;2179    readonly denom: Compact<u32>;2180  } & Struct;2181  readonly isAtLeastProportion: boolean;2182  readonly asAtLeastProportion: {2183    readonly nom: Compact<u32>;2184    readonly denom: Compact<u32>;2185  } & Struct;2186  readonly isMoreThanProportion: boolean;2187  readonly asMoreThanProportion: {2188    readonly nom: Compact<u32>;2189    readonly denom: Compact<u32>;2190  } & Struct;2191  readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';2192}21932194/** @name XcmV0JunctionNetworkId */2195export interface XcmV0JunctionNetworkId extends Enum {2196  readonly isAny: boolean;2197  readonly isNamed: boolean;2198  readonly asNamed: Bytes;2199  readonly isPolkadot: boolean;2200  readonly isKusama: boolean;2201  readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';2202}22032204/** @name XcmV0MultiAsset */2205export interface XcmV0MultiAsset extends Enum {2206  readonly isNone: boolean;2207  readonly isAll: boolean;2208  readonly isAllFungible: boolean;2209  readonly isAllNonFungible: boolean;2210  readonly isAllAbstractFungible: boolean;2211  readonly asAllAbstractFungible: {2212    readonly id: Bytes;2213  } & Struct;2214  readonly isAllAbstractNonFungible: boolean;2215  readonly asAllAbstractNonFungible: {2216    readonly class: Bytes;2217  } & Struct;2218  readonly isAllConcreteFungible: boolean;2219  readonly asAllConcreteFungible: {2220    readonly id: XcmV0MultiLocation;2221  } & Struct;2222  readonly isAllConcreteNonFungible: boolean;2223  readonly asAllConcreteNonFungible: {2224    readonly class: XcmV0MultiLocation;2225  } & Struct;2226  readonly isAbstractFungible: boolean;2227  readonly asAbstractFungible: {2228    readonly id: Bytes;2229    readonly amount: Compact<u128>;2230  } & Struct;2231  readonly isAbstractNonFungible: boolean;2232  readonly asAbstractNonFungible: {2233    readonly class: Bytes;2234    readonly instance: XcmV1MultiassetAssetInstance;2235  } & Struct;2236  readonly isConcreteFungible: boolean;2237  readonly asConcreteFungible: {2238    readonly id: XcmV0MultiLocation;2239    readonly amount: Compact<u128>;2240  } & Struct;2241  readonly isConcreteNonFungible: boolean;2242  readonly asConcreteNonFungible: {2243    readonly class: XcmV0MultiLocation;2244    readonly instance: XcmV1MultiassetAssetInstance;2245  } & Struct;2246  readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible';2247}22482249/** @name XcmV0MultiLocation */2250export interface XcmV0MultiLocation extends Enum {2251  readonly isNull: boolean;2252  readonly isX1: boolean;2253  readonly asX1: XcmV0Junction;2254  readonly isX2: boolean;2255  readonly asX2: ITuple<[XcmV0Junction, XcmV0Junction]>;2256  readonly isX3: boolean;2257  readonly asX3: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2258  readonly isX4: boolean;2259  readonly asX4: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2260  readonly isX5: boolean;2261  readonly asX5: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2262  readonly isX6: boolean;2263  readonly asX6: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2264  readonly isX7: boolean;2265  readonly asX7: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2266  readonly isX8: boolean;2267  readonly asX8: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2268  readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';2269}22702271/** @name XcmV0Order */2272export interface XcmV0Order extends Enum {2273  readonly isNull: boolean;2274  readonly isDepositAsset: boolean;2275  readonly asDepositAsset: {2276    readonly assets: Vec<XcmV0MultiAsset>;2277    readonly dest: XcmV0MultiLocation;2278  } & Struct;2279  readonly isDepositReserveAsset: boolean;2280  readonly asDepositReserveAsset: {2281    readonly assets: Vec<XcmV0MultiAsset>;2282    readonly dest: XcmV0MultiLocation;2283    readonly effects: Vec<XcmV0Order>;2284  } & Struct;2285  readonly isExchangeAsset: boolean;2286  readonly asExchangeAsset: {2287    readonly give: Vec<XcmV0MultiAsset>;2288    readonly receive: Vec<XcmV0MultiAsset>;2289  } & Struct;2290  readonly isInitiateReserveWithdraw: boolean;2291  readonly asInitiateReserveWithdraw: {2292    readonly assets: Vec<XcmV0MultiAsset>;2293    readonly reserve: XcmV0MultiLocation;2294    readonly effects: Vec<XcmV0Order>;2295  } & Struct;2296  readonly isInitiateTeleport: boolean;2297  readonly asInitiateTeleport: {2298    readonly assets: Vec<XcmV0MultiAsset>;2299    readonly dest: XcmV0MultiLocation;2300    readonly effects: Vec<XcmV0Order>;2301  } & Struct;2302  readonly isQueryHolding: boolean;2303  readonly asQueryHolding: {2304    readonly queryId: Compact<u64>;2305    readonly dest: XcmV0MultiLocation;2306    readonly assets: Vec<XcmV0MultiAsset>;2307  } & Struct;2308  readonly isBuyExecution: boolean;2309  readonly asBuyExecution: {2310    readonly fees: XcmV0MultiAsset;2311    readonly weight: u64;2312    readonly debt: u64;2313    readonly haltOnError: bool;2314    readonly xcm: Vec<XcmV0Xcm>;2315  } & Struct;2316  readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2317}23182319/** @name XcmV0OriginKind */2320export interface XcmV0OriginKind extends Enum {2321  readonly isNative: boolean;2322  readonly isSovereignAccount: boolean;2323  readonly isSuperuser: boolean;2324  readonly isXcm: boolean;2325  readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';2326}23272328/** @name XcmV0Response */2329export interface XcmV0Response extends Enum {2330  readonly isAssets: boolean;2331  readonly asAssets: Vec<XcmV0MultiAsset>;2332  readonly type: 'Assets';2333}23342335/** @name XcmV0Xcm */2336export interface XcmV0Xcm extends Enum {2337  readonly isWithdrawAsset: boolean;2338  readonly asWithdrawAsset: {2339    readonly assets: Vec<XcmV0MultiAsset>;2340    readonly effects: Vec<XcmV0Order>;2341  } & Struct;2342  readonly isReserveAssetDeposit: boolean;2343  readonly asReserveAssetDeposit: {2344    readonly assets: Vec<XcmV0MultiAsset>;2345    readonly effects: Vec<XcmV0Order>;2346  } & Struct;2347  readonly isTeleportAsset: boolean;2348  readonly asTeleportAsset: {2349    readonly assets: Vec<XcmV0MultiAsset>;2350    readonly effects: Vec<XcmV0Order>;2351  } & Struct;2352  readonly isQueryResponse: boolean;2353  readonly asQueryResponse: {2354    readonly queryId: Compact<u64>;2355    readonly response: XcmV0Response;2356  } & Struct;2357  readonly isTransferAsset: boolean;2358  readonly asTransferAsset: {2359    readonly assets: Vec<XcmV0MultiAsset>;2360    readonly dest: XcmV0MultiLocation;2361  } & Struct;2362  readonly isTransferReserveAsset: boolean;2363  readonly asTransferReserveAsset: {2364    readonly assets: Vec<XcmV0MultiAsset>;2365    readonly dest: XcmV0MultiLocation;2366    readonly effects: Vec<XcmV0Order>;2367  } & Struct;2368  readonly isTransact: boolean;2369  readonly asTransact: {2370    readonly originType: XcmV0OriginKind;2371    readonly requireWeightAtMost: u64;2372    readonly call: XcmDoubleEncoded;2373  } & Struct;2374  readonly isHrmpNewChannelOpenRequest: boolean;2375  readonly asHrmpNewChannelOpenRequest: {2376    readonly sender: Compact<u32>;2377    readonly maxMessageSize: Compact<u32>;2378    readonly maxCapacity: Compact<u32>;2379  } & Struct;2380  readonly isHrmpChannelAccepted: boolean;2381  readonly asHrmpChannelAccepted: {2382    readonly recipient: Compact<u32>;2383  } & Struct;2384  readonly isHrmpChannelClosing: boolean;2385  readonly asHrmpChannelClosing: {2386    readonly initiator: Compact<u32>;2387    readonly sender: Compact<u32>;2388    readonly recipient: Compact<u32>;2389  } & Struct;2390  readonly isRelayedFrom: boolean;2391  readonly asRelayedFrom: {2392    readonly who: XcmV0MultiLocation;2393    readonly message: XcmV0Xcm;2394  } & Struct;2395  readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';2396}23972398/** @name XcmV1Junction */2399export interface XcmV1Junction extends Enum {2400  readonly isParachain: boolean;2401  readonly asParachain: Compact<u32>;2402  readonly isAccountId32: boolean;2403  readonly asAccountId32: {2404    readonly network: XcmV0JunctionNetworkId;2405    readonly id: U8aFixed;2406  } & Struct;2407  readonly isAccountIndex64: boolean;2408  readonly asAccountIndex64: {2409    readonly network: XcmV0JunctionNetworkId;2410    readonly index: Compact<u64>;2411  } & Struct;2412  readonly isAccountKey20: boolean;2413  readonly asAccountKey20: {2414    readonly network: XcmV0JunctionNetworkId;2415    readonly key: U8aFixed;2416  } & Struct;2417  readonly isPalletInstance: boolean;2418  readonly asPalletInstance: u8;2419  readonly isGeneralIndex: boolean;2420  readonly asGeneralIndex: Compact<u128>;2421  readonly isGeneralKey: boolean;2422  readonly asGeneralKey: Bytes;2423  readonly isOnlyChild: boolean;2424  readonly isPlurality: boolean;2425  readonly asPlurality: {2426    readonly id: XcmV0JunctionBodyId;2427    readonly part: XcmV0JunctionBodyPart;2428  } & Struct;2429  readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';2430}24312432/** @name XcmV1MultiAsset */2433export interface XcmV1MultiAsset extends Struct {2434  readonly id: XcmV1MultiassetAssetId;2435  readonly fun: XcmV1MultiassetFungibility;2436}24372438/** @name XcmV1MultiassetAssetId */2439export interface XcmV1MultiassetAssetId extends Enum {2440  readonly isConcrete: boolean;2441  readonly asConcrete: XcmV1MultiLocation;2442  readonly isAbstract: boolean;2443  readonly asAbstract: Bytes;2444  readonly type: 'Concrete' | 'Abstract';2445}24462447/** @name XcmV1MultiassetAssetInstance */2448export interface XcmV1MultiassetAssetInstance extends Enum {2449  readonly isUndefined: boolean;2450  readonly isIndex: boolean;2451  readonly asIndex: Compact<u128>;2452  readonly isArray4: boolean;2453  readonly asArray4: U8aFixed;2454  readonly isArray8: boolean;2455  readonly asArray8: U8aFixed;2456  readonly isArray16: boolean;2457  readonly asArray16: U8aFixed;2458  readonly isArray32: boolean;2459  readonly asArray32: U8aFixed;2460  readonly isBlob: boolean;2461  readonly asBlob: Bytes;2462  readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';2463}24642465/** @name XcmV1MultiassetFungibility */2466export interface XcmV1MultiassetFungibility extends Enum {2467  readonly isFungible: boolean;2468  readonly asFungible: Compact<u128>;2469  readonly isNonFungible: boolean;2470  readonly asNonFungible: XcmV1MultiassetAssetInstance;2471  readonly type: 'Fungible' | 'NonFungible';2472}24732474/** @name XcmV1MultiassetMultiAssetFilter */2475export interface XcmV1MultiassetMultiAssetFilter extends Enum {2476  readonly isDefinite: boolean;2477  readonly asDefinite: XcmV1MultiassetMultiAssets;2478  readonly isWild: boolean;2479  readonly asWild: XcmV1MultiassetWildMultiAsset;2480  readonly type: 'Definite' | 'Wild';2481}24822483/** @name XcmV1MultiassetMultiAssets */2484export interface XcmV1MultiassetMultiAssets extends Vec<XcmV1MultiAsset> {}24852486/** @name XcmV1MultiassetWildFungibility */2487export interface XcmV1MultiassetWildFungibility extends Enum {2488  readonly isFungible: boolean;2489  readonly isNonFungible: boolean;2490  readonly type: 'Fungible' | 'NonFungible';2491}24922493/** @name XcmV1MultiassetWildMultiAsset */2494export interface XcmV1MultiassetWildMultiAsset extends Enum {2495  readonly isAll: boolean;2496  readonly isAllOf: boolean;2497  readonly asAllOf: {2498    readonly id: XcmV1MultiassetAssetId;2499    readonly fun: XcmV1MultiassetWildFungibility;2500  } & Struct;2501  readonly type: 'All' | 'AllOf';2502}25032504/** @name XcmV1MultiLocation */2505export interface XcmV1MultiLocation extends Struct {2506  readonly parents: u8;2507  readonly interior: XcmV1MultilocationJunctions;2508}25092510/** @name XcmV1MultilocationJunctions */2511export interface XcmV1MultilocationJunctions extends Enum {2512  readonly isHere: boolean;2513  readonly isX1: boolean;2514  readonly asX1: XcmV1Junction;2515  readonly isX2: boolean;2516  readonly asX2: ITuple<[XcmV1Junction, XcmV1Junction]>;2517  readonly isX3: boolean;2518  readonly asX3: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2519  readonly isX4: boolean;2520  readonly asX4: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2521  readonly isX5: boolean;2522  readonly asX5: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2523  readonly isX6: boolean;2524  readonly asX6: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2525  readonly isX7: boolean;2526  readonly asX7: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2527  readonly isX8: boolean;2528  readonly asX8: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2529  readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';2530}25312532/** @name XcmV1Order */2533export interface XcmV1Order extends Enum {2534  readonly isNoop: boolean;2535  readonly isDepositAsset: boolean;2536  readonly asDepositAsset: {2537    readonly assets: XcmV1MultiassetMultiAssetFilter;2538    readonly maxAssets: u32;2539    readonly beneficiary: XcmV1MultiLocation;2540  } & Struct;2541  readonly isDepositReserveAsset: boolean;2542  readonly asDepositReserveAsset: {2543    readonly assets: XcmV1MultiassetMultiAssetFilter;2544    readonly maxAssets: u32;2545    readonly dest: XcmV1MultiLocation;2546    readonly effects: Vec<XcmV1Order>;2547  } & Struct;2548  readonly isExchangeAsset: boolean;2549  readonly asExchangeAsset: {2550    readonly give: XcmV1MultiassetMultiAssetFilter;2551    readonly receive: XcmV1MultiassetMultiAssets;2552  } & Struct;2553  readonly isInitiateReserveWithdraw: boolean;2554  readonly asInitiateReserveWithdraw: {2555    readonly assets: XcmV1MultiassetMultiAssetFilter;2556    readonly reserve: XcmV1MultiLocation;2557    readonly effects: Vec<XcmV1Order>;2558  } & Struct;2559  readonly isInitiateTeleport: boolean;2560  readonly asInitiateTeleport: {2561    readonly assets: XcmV1MultiassetMultiAssetFilter;2562    readonly dest: XcmV1MultiLocation;2563    readonly effects: Vec<XcmV1Order>;2564  } & Struct;2565  readonly isQueryHolding: boolean;2566  readonly asQueryHolding: {2567    readonly queryId: Compact<u64>;2568    readonly dest: XcmV1MultiLocation;2569    readonly assets: XcmV1MultiassetMultiAssetFilter;2570  } & Struct;2571  readonly isBuyExecution: boolean;2572  readonly asBuyExecution: {2573    readonly fees: XcmV1MultiAsset;2574    readonly weight: u64;2575    readonly debt: u64;2576    readonly haltOnError: bool;2577    readonly instructions: Vec<XcmV1Xcm>;2578  } & Struct;2579  readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2580}25812582/** @name XcmV1Response */2583export interface XcmV1Response extends Enum {2584  readonly isAssets: boolean;2585  readonly asAssets: XcmV1MultiassetMultiAssets;2586  readonly isVersion: boolean;2587  readonly asVersion: u32;2588  readonly type: 'Assets' | 'Version';2589}25902591/** @name XcmV1Xcm */2592export interface XcmV1Xcm extends Enum {2593  readonly isWithdrawAsset: boolean;2594  readonly asWithdrawAsset: {2595    readonly assets: XcmV1MultiassetMultiAssets;2596    readonly effects: Vec<XcmV1Order>;2597  } & Struct;2598  readonly isReserveAssetDeposited: boolean;2599  readonly asReserveAssetDeposited: {2600    readonly assets: XcmV1MultiassetMultiAssets;2601    readonly effects: Vec<XcmV1Order>;2602  } & Struct;2603  readonly isReceiveTeleportedAsset: boolean;2604  readonly asReceiveTeleportedAsset: {2605    readonly assets: XcmV1MultiassetMultiAssets;2606    readonly effects: Vec<XcmV1Order>;2607  } & Struct;2608  readonly isQueryResponse: boolean;2609  readonly asQueryResponse: {2610    readonly queryId: Compact<u64>;2611    readonly response: XcmV1Response;2612  } & Struct;2613  readonly isTransferAsset: boolean;2614  readonly asTransferAsset: {2615    readonly assets: XcmV1MultiassetMultiAssets;2616    readonly beneficiary: XcmV1MultiLocation;2617  } & Struct;2618  readonly isTransferReserveAsset: boolean;2619  readonly asTransferReserveAsset: {2620    readonly assets: XcmV1MultiassetMultiAssets;2621    readonly dest: XcmV1MultiLocation;2622    readonly effects: Vec<XcmV1Order>;2623  } & Struct;2624  readonly isTransact: boolean;2625  readonly asTransact: {2626    readonly originType: XcmV0OriginKind;2627    readonly requireWeightAtMost: u64;2628    readonly call: XcmDoubleEncoded;2629  } & Struct;2630  readonly isHrmpNewChannelOpenRequest: boolean;2631  readonly asHrmpNewChannelOpenRequest: {2632    readonly sender: Compact<u32>;2633    readonly maxMessageSize: Compact<u32>;2634    readonly maxCapacity: Compact<u32>;2635  } & Struct;2636  readonly isHrmpChannelAccepted: boolean;2637  readonly asHrmpChannelAccepted: {2638    readonly recipient: Compact<u32>;2639  } & Struct;2640  readonly isHrmpChannelClosing: boolean;2641  readonly asHrmpChannelClosing: {2642    readonly initiator: Compact<u32>;2643    readonly sender: Compact<u32>;2644    readonly recipient: Compact<u32>;2645  } & Struct;2646  readonly isRelayedFrom: boolean;2647  readonly asRelayedFrom: {2648    readonly who: XcmV1MultilocationJunctions;2649    readonly message: XcmV1Xcm;2650  } & Struct;2651  readonly isSubscribeVersion: boolean;2652  readonly asSubscribeVersion: {2653    readonly queryId: Compact<u64>;2654    readonly maxResponseWeight: Compact<u64>;2655  } & Struct;2656  readonly isUnsubscribeVersion: boolean;2657  readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';2658}26592660/** @name XcmV2Instruction */2661export interface XcmV2Instruction extends Enum {2662  readonly isWithdrawAsset: boolean;2663  readonly asWithdrawAsset: XcmV1MultiassetMultiAssets;2664  readonly isReserveAssetDeposited: boolean;2665  readonly asReserveAssetDeposited: XcmV1MultiassetMultiAssets;2666  readonly isReceiveTeleportedAsset: boolean;2667  readonly asReceiveTeleportedAsset: XcmV1MultiassetMultiAssets;2668  readonly isQueryResponse: boolean;2669  readonly asQueryResponse: {2670    readonly queryId: Compact<u64>;2671    readonly response: XcmV2Response;2672    readonly maxWeight: Compact<u64>;2673  } & Struct;2674  readonly isTransferAsset: boolean;2675  readonly asTransferAsset: {2676    readonly assets: XcmV1MultiassetMultiAssets;2677    readonly beneficiary: XcmV1MultiLocation;2678  } & Struct;2679  readonly isTransferReserveAsset: boolean;2680  readonly asTransferReserveAsset: {2681    readonly assets: XcmV1MultiassetMultiAssets;2682    readonly dest: XcmV1MultiLocation;2683    readonly xcm: XcmV2Xcm;2684  } & Struct;2685  readonly isTransact: boolean;2686  readonly asTransact: {2687    readonly originType: XcmV0OriginKind;2688    readonly requireWeightAtMost: Compact<u64>;2689    readonly call: XcmDoubleEncoded;2690  } & Struct;2691  readonly isHrmpNewChannelOpenRequest: boolean;2692  readonly asHrmpNewChannelOpenRequest: {2693    readonly sender: Compact<u32>;2694    readonly maxMessageSize: Compact<u32>;2695    readonly maxCapacity: Compact<u32>;2696  } & Struct;2697  readonly isHrmpChannelAccepted: boolean;2698  readonly asHrmpChannelAccepted: {2699    readonly recipient: Compact<u32>;2700  } & Struct;2701  readonly isHrmpChannelClosing: boolean;2702  readonly asHrmpChannelClosing: {2703    readonly initiator: Compact<u32>;2704    readonly sender: Compact<u32>;2705    readonly recipient: Compact<u32>;2706  } & Struct;2707  readonly isClearOrigin: boolean;2708  readonly isDescendOrigin: boolean;2709  readonly asDescendOrigin: XcmV1MultilocationJunctions;2710  readonly isReportError: boolean;2711  readonly asReportError: {2712    readonly queryId: Compact<u64>;2713    readonly dest: XcmV1MultiLocation;2714    readonly maxResponseWeight: Compact<u64>;2715  } & Struct;2716  readonly isDepositAsset: boolean;2717  readonly asDepositAsset: {2718    readonly assets: XcmV1MultiassetMultiAssetFilter;2719    readonly maxAssets: Compact<u32>;2720    readonly beneficiary: XcmV1MultiLocation;2721  } & Struct;2722  readonly isDepositReserveAsset: boolean;2723  readonly asDepositReserveAsset: {2724    readonly assets: XcmV1MultiassetMultiAssetFilter;2725    readonly maxAssets: Compact<u32>;2726    readonly dest: XcmV1MultiLocation;2727    readonly xcm: XcmV2Xcm;2728  } & Struct;2729  readonly isExchangeAsset: boolean;2730  readonly asExchangeAsset: {2731    readonly give: XcmV1MultiassetMultiAssetFilter;2732    readonly receive: XcmV1MultiassetMultiAssets;2733  } & Struct;2734  readonly isInitiateReserveWithdraw: boolean;2735  readonly asInitiateReserveWithdraw: {2736    readonly assets: XcmV1MultiassetMultiAssetFilter;2737    readonly reserve: XcmV1MultiLocation;2738    readonly xcm: XcmV2Xcm;2739  } & Struct;2740  readonly isInitiateTeleport: boolean;2741  readonly asInitiateTeleport: {2742    readonly assets: XcmV1MultiassetMultiAssetFilter;2743    readonly dest: XcmV1MultiLocation;2744    readonly xcm: XcmV2Xcm;2745  } & Struct;2746  readonly isQueryHolding: boolean;2747  readonly asQueryHolding: {2748    readonly queryId: Compact<u64>;2749    readonly dest: XcmV1MultiLocation;2750    readonly assets: XcmV1MultiassetMultiAssetFilter;2751    readonly maxResponseWeight: Compact<u64>;2752  } & Struct;2753  readonly isBuyExecution: boolean;2754  readonly asBuyExecution: {2755    readonly fees: XcmV1MultiAsset;2756    readonly weightLimit: XcmV2WeightLimit;2757  } & Struct;2758  readonly isRefundSurplus: boolean;2759  readonly isSetErrorHandler: boolean;2760  readonly asSetErrorHandler: XcmV2Xcm;2761  readonly isSetAppendix: boolean;2762  readonly asSetAppendix: XcmV2Xcm;2763  readonly isClearError: boolean;2764  readonly isClaimAsset: boolean;2765  readonly asClaimAsset: {2766    readonly assets: XcmV1MultiassetMultiAssets;2767    readonly ticket: XcmV1MultiLocation;2768  } & Struct;2769  readonly isTrap: boolean;2770  readonly asTrap: Compact<u64>;2771  readonly isSubscribeVersion: boolean;2772  readonly asSubscribeVersion: {2773    readonly queryId: Compact<u64>;2774    readonly maxResponseWeight: Compact<u64>;2775  } & Struct;2776  readonly isUnsubscribeVersion: boolean;2777  readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion';2778}27792780/** @name XcmV2Response */2781export interface XcmV2Response extends Enum {2782  readonly isNull: boolean;2783  readonly isAssets: boolean;2784  readonly asAssets: XcmV1MultiassetMultiAssets;2785  readonly isExecutionResult: boolean;2786  readonly asExecutionResult: Option<ITuple<[u32, XcmV2TraitsError]>>;2787  readonly isVersion: boolean;2788  readonly asVersion: u32;2789  readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';2790}27912792/** @name XcmV2TraitsError */2793export interface XcmV2TraitsError extends Enum {2794  readonly isOverflow: boolean;2795  readonly isUnimplemented: boolean;2796  readonly isUntrustedReserveLocation: boolean;2797  readonly isUntrustedTeleportLocation: boolean;2798  readonly isMultiLocationFull: boolean;2799  readonly isMultiLocationNotInvertible: boolean;2800  readonly isBadOrigin: boolean;2801  readonly isInvalidLocation: boolean;2802  readonly isAssetNotFound: boolean;2803  readonly isFailedToTransactAsset: boolean;2804  readonly isNotWithdrawable: boolean;2805  readonly isLocationCannotHold: boolean;2806  readonly isExceedsMaxMessageSize: boolean;2807  readonly isDestinationUnsupported: boolean;2808  readonly isTransport: boolean;2809  readonly isUnroutable: boolean;2810  readonly isUnknownClaim: boolean;2811  readonly isFailedToDecode: boolean;2812  readonly isMaxWeightInvalid: boolean;2813  readonly isNotHoldingFees: boolean;2814  readonly isTooExpensive: boolean;2815  readonly isTrap: boolean;2816  readonly asTrap: u64;2817  readonly isUnhandledXcmVersion: boolean;2818  readonly isWeightLimitReached: boolean;2819  readonly asWeightLimitReached: u64;2820  readonly isBarrier: boolean;2821  readonly isWeightNotComputable: boolean;2822  readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'MultiLocationFull' | 'MultiLocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable';2823}28242825/** @name XcmV2TraitsOutcome */2826export interface XcmV2TraitsOutcome extends Enum {2827  readonly isComplete: boolean;2828  readonly asComplete: u64;2829  readonly isIncomplete: boolean;2830  readonly asIncomplete: ITuple<[u64, XcmV2TraitsError]>;2831  readonly isError: boolean;2832  readonly asError: XcmV2TraitsError;2833  readonly type: 'Complete' | 'Incomplete' | 'Error';2834}28352836/** @name XcmV2WeightLimit */2837export interface XcmV2WeightLimit extends Enum {2838  readonly isUnlimited: boolean;2839  readonly isLimited: boolean;2840  readonly asLimited: Compact<u64>;2841  readonly type: 'Unlimited' | 'Limited';2842}28432844/** @name XcmV2Xcm */2845export interface XcmV2Xcm extends Vec<XcmV2Instruction> {}28462847/** @name XcmVersionedMultiAssets */2848export interface XcmVersionedMultiAssets extends Enum {2849  readonly isV0: boolean;2850  readonly asV0: Vec<XcmV0MultiAsset>;2851  readonly isV1: boolean;2852  readonly asV1: XcmV1MultiassetMultiAssets;2853  readonly type: 'V0' | 'V1';2854}28552856/** @name XcmVersionedMultiLocation */2857export interface XcmVersionedMultiLocation extends Enum {2858  readonly isV0: boolean;2859  readonly asV0: XcmV0MultiLocation;2860  readonly isV1: boolean;2861  readonly asV1: XcmV1MultiLocation;2862  readonly type: 'V0' | 'V1';2863}28642865/** @name XcmVersionedXcm */2866export interface XcmVersionedXcm extends Enum {2867  readonly isV0: boolean;2868  readonly asV0: XcmV0Xcm;2869  readonly isV1: boolean;2870  readonly asV1: XcmV1Xcm;2871  readonly isV2: boolean;2872  readonly asV2: XcmV2Xcm;2873  readonly type: 'V0' | 'V1' | 'V2';2874}28752876export type PHANTOM_DEFAULT = 'default';
modifiedtests/src/interfaces/lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/lookup.ts
+++ b/tests/src/interfaces/lookup.ts
@@ -1528,8 +1528,161 @@
    **/
   PalletStructureCall: 'Null',
   /**
-   * Lookup206: pallet_evm::pallet::Call<T>
+   * Lookup206: pallet_rmrk_core::pallet::Call<T>
+   **/
+  PalletRmrkCoreCall: {
+    _enum: {
+      create_collection: {
+        metadata: 'Bytes',
+        max: 'Option<u32>',
+        symbol: 'Bytes',
+      },
+      destroy_collection: {
+        collectionId: 'u32',
+      },
+      change_collection_issuer: {
+        collectionId: 'u32',
+        newIssuer: 'MultiAddress',
+      },
+      lock_collection: {
+        collectionId: 'u32',
+      },
+      mint_nft: {
+        owner: 'AccountId32',
+        collectionId: 'u32',
+        recipient: 'Option<AccountId32>',
+        royaltyAmount: 'Option<Permill>',
+        metadata: 'Bytes',
+      },
+      burn_nft: {
+        collectionId: 'u32',
+        nftId: 'u32',
+      },
+      set_property: {
+        rmrkCollectionId: 'Compact<u32>',
+        maybeNftId: 'Option<u32>',
+        key: 'Bytes',
+        value: 'Bytes',
+      },
+      add_basic_resource: {
+        collectionId: 'u32',
+        nftId: 'u32',
+        resource: 'UpDataStructsRmrkBasicResource',
+      },
+      add_composable_resource: {
+        collectionId: 'u32',
+        nftId: 'u32',
+        resourceId: 'Bytes',
+        resource: 'UpDataStructsRmrkComposableResource',
+      },
+      add_slot_resource: {
+        collectionId: 'u32',
+        nftId: 'u32',
+        resource: 'UpDataStructsRmrkSlotResource'
+      }
+    }
+  },
+  /**
+   * Lookup212: up_data_structs::rmrk::BasicResource<frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   **/
+  UpDataStructsRmrkBasicResource: {
+    src: 'Option<Bytes>',
+    metadata: 'Option<Bytes>',
+    license: 'Option<Bytes>',
+    thumb: 'Option<Bytes>'
+  },
+  /**
+   * Lookup215: up_data_structs::rmrk::ComposableResource<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   **/
+  UpDataStructsRmrkComposableResource: {
+    parts: 'Vec<u32>',
+    base: 'u32',
+    src: 'Option<Bytes>',
+    metadata: 'Option<Bytes>',
+    license: 'Option<Bytes>',
+    thumb: 'Option<Bytes>'
+  },
+  /**
+   * Lookup217: up_data_structs::rmrk::SlotResource<frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   **/
+  UpDataStructsRmrkSlotResource: {
+    base: 'u32',
+    src: 'Option<Bytes>',
+    metadata: 'Option<Bytes>',
+    slot: 'u32',
+    license: 'Option<Bytes>',
+    thumb: 'Option<Bytes>'
+  },
+  /**
+   * Lookup218: pallet_rmrk_equip::pallet::Call<T>
+   **/
+  PalletRmrkEquipCall: {
+    _enum: {
+      create_base: {
+        baseType: 'Bytes',
+        symbol: 'Bytes',
+        parts: 'Vec<UpDataStructsRmrkPartType>',
+      },
+      theme_add: {
+        baseId: 'u32',
+        theme: 'UpDataStructsRmrkTheme'
+      }
+    }
+  },
+  /**
+   * Lookup220: up_data_structs::rmrk::PartType<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
+  UpDataStructsRmrkPartType: {
+    _enum: {
+      FixedPart: 'UpDataStructsRmrkFixedPart',
+      SlotPart: 'UpDataStructsRmrkSlotPart'
+    }
+  },
+  /**
+   * Lookup222: up_data_structs::rmrk::FixedPart<frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   **/
+  UpDataStructsRmrkFixedPart: {
+    id: 'u32',
+    z: 'u32',
+    src: 'Bytes'
+  },
+  /**
+   * Lookup223: up_data_structs::rmrk::SlotPart<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   **/
+  UpDataStructsRmrkSlotPart: {
+    id: 'u32',
+    equippable: 'UpDataStructsRmrkEquippableList',
+    src: 'Bytes',
+    z: 'u32'
+  },
+  /**
+   * Lookup224: up_data_structs::rmrk::EquippableList<frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   **/
+  UpDataStructsRmrkEquippableList: {
+    _enum: {
+      All: 'Null',
+      Empty: 'Null',
+      Custom: 'Vec<u32>'
+    }
+  },
+  /**
+   * Lookup226: up_data_structs::rmrk::Theme<frame_support::storage::bounded_vec::BoundedVec<T, S>, PropertyList>
+   **/
+  UpDataStructsRmrkTheme: {
+    name: 'Bytes',
+    properties: 'Vec<UpDataStructsRmrkThemeProperty>',
+    inherit: 'bool'
+  },
+  /**
+   * Lookup228: up_data_structs::rmrk::ThemeProperty<frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   **/
+  UpDataStructsRmrkThemeProperty: {
+    key: 'Bytes',
+    value: 'Bytes'
+  },
+  /**
+   * Lookup229: pallet_evm::pallet::Call<T>
+   **/
   PalletEvmCall: {
     _enum: {
       withdraw: {
@@ -1571,7 +1724,7 @@
     }
   },
   /**
-   * Lookup212: pallet_ethereum::pallet::Call<T>
+   * Lookup235: pallet_ethereum::pallet::Call<T>
    **/
   PalletEthereumCall: {
     _enum: {
@@ -1581,7 +1734,7 @@
     }
   },
   /**
-   * Lookup213: ethereum::transaction::TransactionV2
+   * Lookup236: ethereum::transaction::TransactionV2
    **/
   EthereumTransactionTransactionV2: {
     _enum: {
@@ -1591,7 +1744,7 @@
     }
   },
   /**
-   * Lookup214: ethereum::transaction::LegacyTransaction
+   * Lookup237: ethereum::transaction::LegacyTransaction
    **/
   EthereumTransactionLegacyTransaction: {
     nonce: 'U256',
@@ -1603,7 +1756,7 @@
     signature: 'EthereumTransactionTransactionSignature'
   },
   /**
-   * Lookup215: ethereum::transaction::TransactionAction
+   * Lookup238: ethereum::transaction::TransactionAction
    **/
   EthereumTransactionTransactionAction: {
     _enum: {
@@ -1612,7 +1765,7 @@
     }
   },
   /**
-   * Lookup216: ethereum::transaction::TransactionSignature
+   * Lookup239: ethereum::transaction::TransactionSignature
    **/
   EthereumTransactionTransactionSignature: {
     v: 'u64',
@@ -1620,7 +1773,7 @@
     s: 'H256'
   },
   /**
-   * Lookup218: ethereum::transaction::EIP2930Transaction
+   * Lookup241: ethereum::transaction::EIP2930Transaction
    **/
   EthereumTransactionEip2930Transaction: {
     chainId: 'u64',
@@ -1636,14 +1789,14 @@
     s: 'H256'
   },
   /**
-   * Lookup220: ethereum::transaction::AccessListItem
+   * Lookup243: ethereum::transaction::AccessListItem
    **/
   EthereumTransactionAccessListItem: {
     address: 'H160',
     storageKeys: 'Vec<H256>'
   },
   /**
-   * Lookup221: ethereum::transaction::EIP1559Transaction
+   * Lookup244: ethereum::transaction::EIP1559Transaction
    **/
   EthereumTransactionEip1559Transaction: {
     chainId: 'u64',
@@ -1660,7 +1813,7 @@
     s: 'H256'
   },
   /**
-   * Lookup222: pallet_evm_migration::pallet::Call<T>
+   * Lookup245: pallet_evm_migration::pallet::Call<T>
    **/
   PalletEvmMigrationCall: {
     _enum: {
@@ -1678,7 +1831,7 @@
     }
   },
   /**
-   * Lookup225: pallet_sudo::pallet::Event<T>
+   * Lookup248: pallet_sudo::pallet::Event<T>
    **/
   PalletSudoEvent: {
     _enum: {
@@ -1694,7 +1847,7 @@
     }
   },
   /**
-   * Lookup227: sp_runtime::DispatchError
+   * Lookup250: sp_runtime::DispatchError
    **/
   SpRuntimeDispatchError: {
     _enum: {
@@ -1711,38 +1864,38 @@
     }
   },
   /**
-   * Lookup228: sp_runtime::ModuleError
+   * Lookup251: sp_runtime::ModuleError
    **/
   SpRuntimeModuleError: {
     index: 'u8',
     error: '[u8;4]'
   },
   /**
-   * Lookup229: sp_runtime::TokenError
+   * Lookup252: sp_runtime::TokenError
    **/
   SpRuntimeTokenError: {
     _enum: ['NoFunds', 'WouldDie', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported']
   },
   /**
-   * Lookup230: sp_runtime::ArithmeticError
+   * Lookup253: sp_runtime::ArithmeticError
    **/
   SpRuntimeArithmeticError: {
     _enum: ['Underflow', 'Overflow', 'DivisionByZero']
   },
   /**
-   * Lookup231: sp_runtime::TransactionalError
+   * Lookup254: sp_runtime::TransactionalError
    **/
   SpRuntimeTransactionalError: {
     _enum: ['LimitReached', 'NoLayer']
   },
   /**
-   * Lookup232: pallet_sudo::pallet::Error<T>
+   * Lookup255: pallet_sudo::pallet::Error<T>
    **/
   PalletSudoError: {
     _enum: ['RequireSudo']
   },
   /**
-   * Lookup233: frame_system::AccountInfo<Index, pallet_balances::AccountData<Balance>>
+   * Lookup256: frame_system::AccountInfo<Index, pallet_balances::AccountData<Balance>>
    **/
   FrameSystemAccountInfo: {
     nonce: 'u32',
@@ -1752,7 +1905,7 @@
     data: 'PalletBalancesAccountData'
   },
   /**
-   * Lookup234: frame_support::weights::PerDispatchClass<T>
+   * Lookup257: frame_support::weights::PerDispatchClass<T>
    **/
   FrameSupportWeightsPerDispatchClassU64: {
     normal: 'u64',
@@ -1760,13 +1913,13 @@
     mandatory: 'u64'
   },
   /**
-   * Lookup235: sp_runtime::generic::digest::Digest
+   * Lookup258: sp_runtime::generic::digest::Digest
    **/
   SpRuntimeDigest: {
     logs: 'Vec<SpRuntimeDigestDigestItem>'
   },
   /**
-   * Lookup237: sp_runtime::generic::digest::DigestItem
+   * Lookup260: sp_runtime::generic::digest::DigestItem
    **/
   SpRuntimeDigestDigestItem: {
     _enum: {
@@ -1782,7 +1935,7 @@
     }
   },
   /**
-   * Lookup239: frame_system::EventRecord<opal_runtime::Event, primitive_types::H256>
+   * Lookup262: frame_system::EventRecord<opal_runtime::Event, primitive_types::H256>
    **/
   FrameSystemEventRecord: {
     phase: 'FrameSystemPhase',
@@ -1790,7 +1943,7 @@
     topics: 'Vec<H256>'
   },
   /**
-   * Lookup241: frame_system::pallet::Event<T>
+   * Lookup264: frame_system::pallet::Event<T>
    **/
   FrameSystemEvent: {
     _enum: {
@@ -1818,7 +1971,7 @@
     }
   },
   /**
-   * Lookup242: frame_support::weights::DispatchInfo
+   * Lookup265: frame_support::weights::DispatchInfo
    **/
   FrameSupportWeightsDispatchInfo: {
     weight: 'u64',
@@ -1826,19 +1979,19 @@
     paysFee: 'FrameSupportWeightsPays'
   },
   /**
-   * Lookup243: frame_support::weights::DispatchClass
+   * Lookup266: frame_support::weights::DispatchClass
    **/
   FrameSupportWeightsDispatchClass: {
     _enum: ['Normal', 'Operational', 'Mandatory']
   },
   /**
-   * Lookup244: frame_support::weights::Pays
+   * Lookup267: frame_support::weights::Pays
    **/
   FrameSupportWeightsPays: {
     _enum: ['Yes', 'No']
   },
   /**
-   * Lookup245: orml_vesting::module::Event<T>
+   * Lookup268: orml_vesting::module::Event<T>
    **/
   OrmlVestingModuleEvent: {
     _enum: {
@@ -1857,7 +2010,7 @@
     }
   },
   /**
-   * Lookup246: cumulus_pallet_xcmp_queue::pallet::Event<T>
+   * Lookup269: cumulus_pallet_xcmp_queue::pallet::Event<T>
    **/
   CumulusPalletXcmpQueueEvent: {
     _enum: {
@@ -1872,7 +2025,7 @@
     }
   },
   /**
-   * Lookup247: pallet_xcm::pallet::Event<T>
+   * Lookup270: pallet_xcm::pallet::Event<T>
    **/
   PalletXcmEvent: {
     _enum: {
@@ -1895,7 +2048,7 @@
     }
   },
   /**
-   * Lookup248: xcm::v2::traits::Outcome
+   * Lookup271: xcm::v2::traits::Outcome
    **/
   XcmV2TraitsOutcome: {
     _enum: {
@@ -1905,7 +2058,7 @@
     }
   },
   /**
-   * Lookup250: cumulus_pallet_xcm::pallet::Event<T>
+   * Lookup273: cumulus_pallet_xcm::pallet::Event<T>
    **/
   CumulusPalletXcmEvent: {
     _enum: {
@@ -1915,7 +2068,7 @@
     }
   },
   /**
-   * Lookup251: cumulus_pallet_dmp_queue::pallet::Event<T>
+   * Lookup274: cumulus_pallet_dmp_queue::pallet::Event<T>
    **/
   CumulusPalletDmpQueueEvent: {
     _enum: {
@@ -1928,7 +2081,7 @@
     }
   },
   /**
-   * Lookup252: pallet_unique::RawEvent<sp_core::crypto::AccountId32, pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup275: pallet_unique::RawEvent<sp_core::crypto::AccountId32, pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   PalletUniqueRawEvent: {
     _enum: {
@@ -1945,7 +2098,7 @@
     }
   },
   /**
-   * Lookup253: pallet_common::pallet::Event<T>
+   * Lookup276: pallet_common::pallet::Event<T>
    **/
   PalletCommonEvent: {
     _enum: {
@@ -1963,7 +2116,7 @@
     }
   },
   /**
-   * Lookup254: pallet_structure::pallet::Event<T>
+   * Lookup277: pallet_structure::pallet::Event<T>
    **/
   PalletStructureEvent: {
     _enum: {
@@ -1971,8 +2124,62 @@
     }
   },
   /**
-   * Lookup255: pallet_evm::pallet::Event<T>
+   * Lookup278: pallet_rmrk_core::pallet::Event<T>
    **/
+  PalletRmrkCoreEvent: {
+    _enum: {
+      CollectionCreated: {
+        issuer: 'AccountId32',
+        collectionId: 'u32',
+      },
+      CollectionDestroyed: {
+        issuer: 'AccountId32',
+        collectionId: 'u32',
+      },
+      IssuerChanged: {
+        oldIssuer: 'AccountId32',
+        newIssuer: 'AccountId32',
+        collectionId: 'u32',
+      },
+      CollectionLocked: {
+        issuer: 'AccountId32',
+        collectionId: 'u32',
+      },
+      NftMinted: {
+        owner: 'AccountId32',
+        collectionId: 'u32',
+        nftId: 'u32',
+      },
+      NFTBurned: {
+        owner: 'AccountId32',
+        nftId: 'u32',
+      },
+      PropertySet: {
+        collectionId: 'u32',
+        maybeNftId: 'Option<u32>',
+        key: 'Bytes',
+        value: 'Bytes',
+      },
+      ResourceAdded: {
+        nftId: 'u32',
+        resourceId: 'u32'
+      }
+    }
+  },
+  /**
+   * Lookup279: pallet_rmrk_equip::pallet::Event<T>
+   **/
+  PalletRmrkEquipEvent: {
+    _enum: {
+      BaseCreated: {
+        issuer: 'AccountId32',
+        baseId: 'u32'
+      }
+    }
+  },
+  /**
+   * Lookup280: pallet_evm::pallet::Event<T>
+   **/
   PalletEvmEvent: {
     _enum: {
       Log: 'EthereumLog',
@@ -1985,7 +2192,7 @@
     }
   },
   /**
-   * Lookup256: ethereum::log::Log
+   * Lookup281: ethereum::log::Log
    **/
   EthereumLog: {
     address: 'H160',
@@ -1993,7 +2200,7 @@
     data: 'Bytes'
   },
   /**
-   * Lookup257: pallet_ethereum::pallet::Event
+   * Lookup282: pallet_ethereum::pallet::Event
    **/
   PalletEthereumEvent: {
     _enum: {
@@ -2001,7 +2208,7 @@
     }
   },
   /**
-   * Lookup258: evm_core::error::ExitReason
+   * Lookup283: evm_core::error::ExitReason
    **/
   EvmCoreErrorExitReason: {
     _enum: {
@@ -2012,13 +2219,13 @@
     }
   },
   /**
-   * Lookup259: evm_core::error::ExitSucceed
+   * Lookup284: evm_core::error::ExitSucceed
    **/
   EvmCoreErrorExitSucceed: {
     _enum: ['Stopped', 'Returned', 'Suicided']
   },
   /**
-   * Lookup260: evm_core::error::ExitError
+   * Lookup285: evm_core::error::ExitError
    **/
   EvmCoreErrorExitError: {
     _enum: {
@@ -2040,13 +2247,13 @@
     }
   },
   /**
-   * Lookup263: evm_core::error::ExitRevert
+   * Lookup288: evm_core::error::ExitRevert
    **/
   EvmCoreErrorExitRevert: {
     _enum: ['Reverted']
   },
   /**
-   * Lookup264: evm_core::error::ExitFatal
+   * Lookup289: evm_core::error::ExitFatal
    **/
   EvmCoreErrorExitFatal: {
     _enum: {
@@ -2057,7 +2264,7 @@
     }
   },
   /**
-   * Lookup265: frame_system::Phase
+   * Lookup290: frame_system::Phase
    **/
   FrameSystemPhase: {
     _enum: {
@@ -2067,14 +2274,14 @@
     }
   },
   /**
-   * Lookup267: frame_system::LastRuntimeUpgradeInfo
+   * Lookup292: frame_system::LastRuntimeUpgradeInfo
    **/
   FrameSystemLastRuntimeUpgradeInfo: {
     specVersion: 'Compact<u32>',
     specName: 'Text'
   },
   /**
-   * Lookup268: frame_system::limits::BlockWeights
+   * Lookup293: frame_system::limits::BlockWeights
    **/
   FrameSystemLimitsBlockWeights: {
     baseBlock: 'u64',
@@ -2082,7 +2289,7 @@
     perClass: 'FrameSupportWeightsPerDispatchClassWeightsPerClass'
   },
   /**
-   * Lookup269: frame_support::weights::PerDispatchClass<frame_system::limits::WeightsPerClass>
+   * Lookup294: frame_support::weights::PerDispatchClass<frame_system::limits::WeightsPerClass>
    **/
   FrameSupportWeightsPerDispatchClassWeightsPerClass: {
     normal: 'FrameSystemLimitsWeightsPerClass',
@@ -2090,7 +2297,7 @@
     mandatory: 'FrameSystemLimitsWeightsPerClass'
   },
   /**
-   * Lookup270: frame_system::limits::WeightsPerClass
+   * Lookup295: frame_system::limits::WeightsPerClass
    **/
   FrameSystemLimitsWeightsPerClass: {
     baseExtrinsic: 'u64',
@@ -2099,13 +2306,13 @@
     reserved: 'Option<u64>'
   },
   /**
-   * Lookup272: frame_system::limits::BlockLength
+   * Lookup297: frame_system::limits::BlockLength
    **/
   FrameSystemLimitsBlockLength: {
     max: 'FrameSupportWeightsPerDispatchClassU32'
   },
   /**
-   * Lookup273: frame_support::weights::PerDispatchClass<T>
+   * Lookup298: frame_support::weights::PerDispatchClass<T>
    **/
   FrameSupportWeightsPerDispatchClassU32: {
     normal: 'u32',
@@ -2113,14 +2320,14 @@
     mandatory: 'u32'
   },
   /**
-   * Lookup274: frame_support::weights::RuntimeDbWeight
+   * Lookup299: frame_support::weights::RuntimeDbWeight
    **/
   FrameSupportWeightsRuntimeDbWeight: {
     read: 'u64',
     write: 'u64'
   },
   /**
-   * Lookup275: sp_version::RuntimeVersion
+   * Lookup300: sp_version::RuntimeVersion
    **/
   SpVersionRuntimeVersion: {
     specName: 'Text',
@@ -2133,19 +2340,19 @@
     stateVersion: 'u8'
   },
   /**
-   * Lookup279: frame_system::pallet::Error<T>
+   * Lookup304: frame_system::pallet::Error<T>
    **/
   FrameSystemError: {
     _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']
   },
   /**
-   * Lookup281: orml_vesting::module::Error<T>
+   * Lookup306: orml_vesting::module::Error<T>
    **/
   OrmlVestingModuleError: {
     _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']
   },
   /**
-   * Lookup283: cumulus_pallet_xcmp_queue::InboundChannelDetails
+   * Lookup308: cumulus_pallet_xcmp_queue::InboundChannelDetails
    **/
   CumulusPalletXcmpQueueInboundChannelDetails: {
     sender: 'u32',
@@ -2153,19 +2360,19 @@
     messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'
   },
   /**
-   * Lookup284: cumulus_pallet_xcmp_queue::InboundState
+   * Lookup309: cumulus_pallet_xcmp_queue::InboundState
    **/
   CumulusPalletXcmpQueueInboundState: {
     _enum: ['Ok', 'Suspended']
   },
   /**
-   * Lookup287: polkadot_parachain::primitives::XcmpMessageFormat
+   * Lookup312: polkadot_parachain::primitives::XcmpMessageFormat
    **/
   PolkadotParachainPrimitivesXcmpMessageFormat: {
     _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']
   },
   /**
-   * Lookup290: cumulus_pallet_xcmp_queue::OutboundChannelDetails
+   * Lookup315: cumulus_pallet_xcmp_queue::OutboundChannelDetails
    **/
   CumulusPalletXcmpQueueOutboundChannelDetails: {
     recipient: 'u32',
@@ -2175,13 +2382,13 @@
     lastIndex: 'u16'
   },
   /**
-   * Lookup291: cumulus_pallet_xcmp_queue::OutboundState
+   * Lookup316: cumulus_pallet_xcmp_queue::OutboundState
    **/
   CumulusPalletXcmpQueueOutboundState: {
     _enum: ['Ok', 'Suspended']
   },
   /**
-   * Lookup293: cumulus_pallet_xcmp_queue::QueueConfigData
+   * Lookup318: cumulus_pallet_xcmp_queue::QueueConfigData
    **/
   CumulusPalletXcmpQueueQueueConfigData: {
     suspendThreshold: 'u32',
@@ -2192,29 +2399,29 @@
     xcmpMaxIndividualWeight: 'u64'
   },
   /**
-   * Lookup295: cumulus_pallet_xcmp_queue::pallet::Error<T>
+   * Lookup320: cumulus_pallet_xcmp_queue::pallet::Error<T>
    **/
   CumulusPalletXcmpQueueError: {
     _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']
   },
   /**
-   * Lookup296: pallet_xcm::pallet::Error<T>
+   * Lookup321: pallet_xcm::pallet::Error<T>
    **/
   PalletXcmError: {
     _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']
   },
   /**
-   * Lookup297: cumulus_pallet_xcm::pallet::Error<T>
+   * Lookup322: cumulus_pallet_xcm::pallet::Error<T>
    **/
   CumulusPalletXcmError: 'Null',
   /**
-   * Lookup298: cumulus_pallet_dmp_queue::ConfigData
+   * Lookup323: cumulus_pallet_dmp_queue::ConfigData
    **/
   CumulusPalletDmpQueueConfigData: {
     maxIndividual: 'u64'
   },
   /**
-   * Lookup299: cumulus_pallet_dmp_queue::PageIndexData
+   * Lookup324: cumulus_pallet_dmp_queue::PageIndexData
    **/
   CumulusPalletDmpQueuePageIndexData: {
     beginUsed: 'u32',
@@ -2222,19 +2429,19 @@
     overweightCount: 'u64'
   },
   /**
-   * Lookup302: cumulus_pallet_dmp_queue::pallet::Error<T>
+   * Lookup327: cumulus_pallet_dmp_queue::pallet::Error<T>
    **/
   CumulusPalletDmpQueueError: {
     _enum: ['Unknown', 'OverLimit']
   },
   /**
-   * Lookup306: pallet_unique::Error<T>
+   * Lookup331: pallet_unique::Error<T>
    **/
   PalletUniqueError: {
     _enum: ['CollectionDecimalPointLimitExceeded', 'ConfirmUnsetSponsorFail', 'EmptyArgument']
   },
   /**
-   * Lookup307: up_data_structs::Collection<sp_core::crypto::AccountId32>
+   * Lookup332: up_data_structs::Collection<sp_core::crypto::AccountId32>
    **/
   UpDataStructsCollection: {
     owner: 'AccountId32',
@@ -2247,7 +2454,7 @@
     permissions: 'UpDataStructsCollectionPermissions'
   },
   /**
-   * Lookup308: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>
+   * Lookup333: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>
    **/
   UpDataStructsSponsorshipState: {
     _enum: {
@@ -2257,7 +2464,7 @@
     }
   },
   /**
-   * Lookup309: up_data_structs::Properties
+   * Lookup334: up_data_structs::Properties
    **/
   UpDataStructsProperties: {
     map: 'UpDataStructsPropertiesMapBoundedVec',
@@ -2265,15 +2472,15 @@
     spaceLimit: 'u32'
   },
   /**
-   * Lookup310: up_data_structs::PropertiesMap<frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   * Lookup335: up_data_structs::PropertiesMap<frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
   UpDataStructsPropertiesMapBoundedVec: 'BTreeMap<Bytes, Bytes>',
   /**
-   * Lookup315: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>
+   * Lookup340: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>
    **/
   UpDataStructsPropertiesMapPropertyPermission: 'BTreeMap<Bytes, UpDataStructsPropertyPermission>',
   /**
-   * Lookup322: up_data_structs::CollectionStats
+   * Lookup347: up_data_structs::CollectionStats
    **/
   UpDataStructsCollectionStats: {
     created: 'u32',
@@ -2353,7 +2560,7 @@
    * 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>>
    **/
   UpDataStructsRmrkResourceInfo: {
-    id: 'Bytes',
+    id: 'u32',
     resource: 'UpDataStructsRmrkResourceTypes',
     pending: 'bool',
     pendingRemoval: 'bool'
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';