git.delta.rocks / unique-network / refs/commits / dfe6d1900e26

difftreelog

Merge commit '2074c933e3ff90b7ea5fc778111ead850fd4a5ea' into release-v922000

Yaroslav Bolyukin2022-06-07parents: #0713a71 #2074c93.patch.diff
in: master

20 files changed

modifiedclient/rpc/src/lib.rsdiffbeforeafterboth
--- a/client/rpc/src/lib.rs
+++ b/client/rpc/src/lib.rs
@@ -25,7 +25,7 @@
 use anyhow::anyhow;
 use up_data_structs::{
 	RpcCollection, CollectionId, CollectionStats, CollectionLimits, TokenId, Property,
-	PropertyKeyPermission, TokenData,
+	PropertyKeyPermission, TokenData, TokenChild,
 };
 use sp_api::{BlockId, BlockT, ProvideRuntimeApi, ApiExt};
 use sp_blockchain::HeaderBackend;
@@ -77,6 +77,13 @@
 		token: TokenId,
 		at: Option<BlockHash>,
 	) -> Result<Option<CrossAccountId>>;
+	#[method(name = "unique_tokenChildren")]
+	fn token_children(
+		&self,
+		collection: CollectionId,
+		token: TokenId,
+		at: Option<BlockHash>,
+	) -> Result<Vec<TokenChild>>;
 
 	#[method(name = "unique_collectionProperties")]
 	fn collection_properties(
@@ -394,6 +401,7 @@
 	pass_method!(
 		topmost_token_owner(collection: CollectionId, token: TokenId) -> Option<CrossAccountId>, unique_api
 	);
+	pass_method!(token_children(collection: CollectionId, token: TokenId) -> Vec<TokenChild>, unique_api);
 	pass_method!(total_supply(collection: CollectionId) -> u32, unique_api);
 	pass_method!(account_balance(collection: CollectionId, account: CrossAccountId) -> u32, unique_api);
 	pass_method!(balance(collection: CollectionId, account: CrossAccountId, token: TokenId) -> String => |v| v.to_string(), unique_api);
modifiedpallets/common/src/lib.rsdiffbeforeafterboth
--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -40,6 +40,7 @@
 	MAX_TOKEN_PREFIX_LENGTH,
 	COLLECTION_ADMINS_LIMIT,
 	TokenId,
+	TokenChild,
 	CollectionStats,
 	MAX_TOKEN_OWNERSHIP,
 	CollectionMode,
@@ -502,6 +503,7 @@
 			CollectionStats,
 			CollectionId,
 			TokenId,
+			TokenChild,
 			PhantomType<(
 				TokenData<T::CrossAccountId>,
 				RpcCollection<T::AccountId>,
modifiedpallets/nonfungible/src/lib.rsdiffbeforeafterboth
--- a/pallets/nonfungible/src/lib.rs
+++ b/pallets/nonfungible/src/lib.rs
@@ -22,7 +22,7 @@
 use up_data_structs::{
 	AccessMode, CollectionId, CustomDataLimit, TokenId, CreateCollectionData, CreateNftExData,
 	mapping::TokenAddressMapping, NestingRule, budget::Budget, Property, PropertyPermission,
-	PropertyKey, PropertyKeyPermission, Properties, PropertyScope, TrySetProperty,
+	PropertyKey, PropertyKeyPermission, Properties, PropertyScope, TrySetProperty, TokenChild,
 };
 use pallet_evm::{account::CrossAccountId, Pallet as PalletEvm};
 use pallet_common::{
@@ -604,7 +604,7 @@
 
 		// =========
 
-		<PalletStructure<T>>::unnest_if_nested(from, collection.id, token);
+		<PalletStructure<T>>::unnest_if_nested(&token_data.owner, collection.id, token);
 
 		<TokenData<T>>::insert(
 			(collection.id, token),
@@ -988,6 +988,15 @@
 			.is_some()
 	}
 
+	pub fn token_children_ids(collection_id: CollectionId, token_id: TokenId) -> Vec<TokenChild> {
+		<TokenChildren<T>>::iter_prefix((collection_id, token_id))
+			.map(|((child_collection_id, child_id), _)| TokenChild {
+				collection: child_collection_id,
+				token: child_id,
+			})
+			.collect()
+	}
+
 	/// Delegated to `create_multiple_items`
 	pub fn create_item(
 		collection: &NonfungibleHandle<T>,
modifiedpallets/structure/src/lib.rsdiffbeforeafterboth
--- a/pallets/structure/src/lib.rs
+++ b/pallets/structure/src/lib.rs
@@ -191,8 +191,8 @@
 		token_id: TokenId,
 		nesting_budget: &dyn Budget,
 	) -> DispatchResult {
-		Self::try_exec_if_owner_is_valid_nft(under, |d, parent_id| {
-			d.check_nesting(from, (collection_id, token_id), parent_id, nesting_budget)
+		Self::try_exec_if_owner_is_valid_nft(under, |collection, parent_id| {
+			collection.check_nesting(from, (collection_id, token_id), parent_id, nesting_budget)
 		})
 	}
 
@@ -203,10 +203,10 @@
 		token_id: TokenId,
 		nesting_budget: &dyn Budget,
 	) -> DispatchResult {
-		Self::try_exec_if_owner_is_valid_nft(under, |d, parent_id| {
-			d.check_nesting(from, (collection_id, token_id), parent_id, nesting_budget)?;
+		Self::try_exec_if_owner_is_valid_nft(under, |collection, parent_id| {
+			collection.check_nesting(from, (collection_id, token_id), parent_id, nesting_budget)?;
 
-			d.nest(parent_id, (collection_id, token_id));
+			collection.nest(parent_id, (collection_id, token_id));
 
 			Ok(())
 		})
@@ -217,8 +217,8 @@
 		collection_id: CollectionId,
 		token_id: TokenId,
 	) {
-		Self::exec_if_owner_is_valid_nft(owner, |d, parent_id| {
-			d.nest(parent_id, (collection_id, token_id))
+		Self::exec_if_owner_is_valid_nft(owner, |collection, parent_id| {
+			collection.nest(parent_id, (collection_id, token_id))
 		});
 	}
 
@@ -227,8 +227,8 @@
 		collection_id: CollectionId,
 		token_id: TokenId,
 	) {
-		Self::exec_if_owner_is_valid_nft(owner, |d, parent_id| {
-			d.unnest(parent_id, (collection_id, token_id))
+		Self::exec_if_owner_is_valid_nft(owner, |collection, parent_id| {
+			collection.unnest(parent_id, (collection_id, token_id))
 		});
 	}
 
@@ -236,8 +236,8 @@
 		account: &T::CrossAccountId,
 		action: impl FnOnce(&dyn CommonCollectionOperations<T>, TokenId),
 	) {
-		Self::try_exec_if_owner_is_valid_nft(account, |d, id| {
-			action(d, id);
+		Self::try_exec_if_owner_is_valid_nft(account, |collection, id| {
+			action(collection, id);
 			Ok(())
 		})
 		.unwrap();
modifiedprimitives/data-structs/src/lib.rsdiffbeforeafterboth
--- a/primitives/data-structs/src/lib.rs
+++ b/primitives/data-structs/src/lib.rs
@@ -585,6 +585,14 @@
 
 #[derive(Encode, Decode, MaxEncodedLen, PartialEq, Clone, Debug, TypeInfo)]
 #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
+// todo possibly rename to be used generally as an address pair
+pub struct TokenChild {
+	pub token: TokenId,
+	pub collection: CollectionId,
+}
+
+#[derive(Encode, Decode, MaxEncodedLen, PartialEq, Clone, Debug, TypeInfo)]
+#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
 pub struct CollectionStats {
 	pub created: u32,
 	pub destroyed: u32,
modifiedprimitives/rpc/src/lib.rsdiffbeforeafterboth
--- a/primitives/rpc/src/lib.rs
+++ b/primitives/rpc/src/lib.rs
@@ -18,7 +18,7 @@
 
 use up_data_structs::{
 	CollectionId, TokenId, RpcCollection, CollectionStats, CollectionLimits, Property,
-	PropertyKeyPermission, TokenData,
+	PropertyKeyPermission, TokenData, TokenChild,
 };
 use sp_std::vec::Vec;
 use codec::Decode;
@@ -41,6 +41,7 @@
 
 		fn token_owner(collection: CollectionId, token: TokenId) -> Result<Option<CrossAccountId>>;
 		fn topmost_token_owner(collection: CollectionId, token: TokenId) -> Result<Option<CrossAccountId>>;
+		fn token_children(collection: CollectionId, token: TokenId) -> Result<Vec<TokenChild>>;
 
 		fn collection_properties(collection: CollectionId, properties: Option<Vec<Vec<u8>>>) -> Result<Vec<Property>>;
 
modifiedruntime/common/src/runtime_apis.rsdiffbeforeafterboth
--- a/runtime/common/src/runtime_apis.rs
+++ b/runtime/common/src/runtime_apis.rs
@@ -29,7 +29,9 @@
 
                     Ok(Some(<pallet_structure::Pallet<Runtime>>::find_topmost_owner(collection, token, &budget)?))
                 }
-
+                fn token_children(collection: CollectionId, token: TokenId) -> Result<Vec<TokenChild>, DispatchError> {
+                    Ok(<pallet_nonfungible::Pallet<Runtime>>::token_children_ids(collection, token))
+                }
                 fn collection_properties(
                     collection: CollectionId,
                     keys: Option<Vec<Vec<u8>>>
modifiedruntime/opal/src/lib.rsdiffbeforeafterboth
--- a/runtime/opal/src/lib.rs
+++ b/runtime/opal/src/lib.rs
@@ -73,6 +73,7 @@
 	CollectionId, TokenId, TokenData, Property, PropertyKeyPermission, CollectionLimits,
 	CollectionStats, RpcCollection,
 	mapping::{EvmTokenAddressMapping, CrossTokenAddressMapping},
+	TokenChild,
 };
 
 // use pallet_contracts::weights::WeightInfo;
modifiedruntime/quartz/src/lib.rsdiffbeforeafterboth
--- a/runtime/quartz/src/lib.rs
+++ b/runtime/quartz/src/lib.rs
@@ -72,7 +72,8 @@
 use up_data_structs::{
 	CollectionId, TokenId, TokenData, Property, PropertyKeyPermission, CollectionLimits, 
 	CollectionStats, RpcCollection, 
-	mapping::{EvmTokenAddressMapping, CrossTokenAddressMapping}
+	mapping::{EvmTokenAddressMapping, CrossTokenAddressMapping},
+	TokenChild,
 };
 
 // use pallet_contracts::weights::WeightInfo;
modifiedruntime/tests/src/tests.rsdiffbeforeafterboth
--- a/runtime/tests/src/tests.rs
+++ b/runtime/tests/src/tests.rs
@@ -21,7 +21,7 @@
 	CreateReFungibleData, MAX_DECIMAL_POINTS, COLLECTION_ADMINS_LIMIT, TokenId,
 	MAX_TOKEN_OWNERSHIP, CreateCollectionData, CollectionMode, AccessMode, CollectionPermissions,
 	PropertyKeyPermission, PropertyPermission, Property, CollectionPropertiesVec,
-	CollectionPropertiesPermissionsVec,
+	CollectionPropertiesPermissionsVec, TokenChild,
 };
 use frame_support::{assert_noop, assert_ok, assert_err};
 use sp_std::convert::TryInto;
modifiedtests/src/interfaces/augment-api-query.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-query.ts
+++ b/tests/src/interfaces/augment-api-query.ts
@@ -5,7 +5,7 @@
 import type { BTreeMap, Bytes, Option, U256, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types-codec';
 import type { AnyNumber, ITuple } from '@polkadot/types-codec/types';
 import type { AccountId32, H160, H256 } from '@polkadot/types/interfaces/runtime';
-import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumLog, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportWeightsPerDispatchClassU64, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PhantomTypeUpDataStructs, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpRuntimeDigest, SpTrieStorageProof, UpDataStructsCollection, UpDataStructsCollectionStats, UpDataStructsProperties, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsPropertyPermission } from '@polkadot/types/lookup';
+import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumLog, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportWeightsPerDispatchClassU64, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PhantomTypeUpDataStructs, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpRuntimeDigest, SpTrieStorageProof, UpDataStructsCollection, UpDataStructsCollectionStats, UpDataStructsProperties, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsPropertyPermission, UpDataStructsTokenChild } from '@polkadot/types/lookup';
 import type { Observable } from '@polkadot/types/types';
 
 declare module '@polkadot/api-base/types/storage' {
@@ -88,7 +88,7 @@
       /**
        * Not used by code, exists only to provide some types to metadata
        **/
-      dummyStorageValue: AugmentedQuery<ApiType, () => Observable<Option<ITuple<[UpDataStructsCollectionStats, u32, u32, PhantomTypeUpDataStructs]>>>, []> & QueryableStorageEntry<ApiType, []>;
+      dummyStorageValue: AugmentedQuery<ApiType, () => Observable<Option<ITuple<[UpDataStructsCollectionStats, u32, u32, UpDataStructsTokenChild, PhantomTypeUpDataStructs]>>>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * List of collection admins
        **/
modifiedtests/src/interfaces/augment-api-rpc.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-rpc.ts
+++ b/tests/src/interfaces/augment-api-rpc.ts
@@ -1,7 +1,7 @@
 // Auto-generated via `yarn polkadot-types-from-chain`, do not edit
 /* eslint-disable */
 
-import type { PalletEvmAccountBasicCrossAccountIdRepr, UpDataStructsCollectionLimits, UpDataStructsCollectionStats, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsRpcCollection, UpDataStructsTokenData } from './default';
+import type { PalletEvmAccountBasicCrossAccountIdRepr, UpDataStructsCollectionLimits, UpDataStructsCollectionStats, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsRpcCollection, UpDataStructsTokenChild, UpDataStructsTokenData } from './default';
 import type { AugmentedRpc } from '@polkadot/rpc-core/types';
 import type { Metadata, StorageKey } from '@polkadot/types';
 import type { Bytes, HashMap, Json, Null, Option, Text, U256, U64, Vec, bool, u128, u32, u64 } from '@polkadot/types-codec';
@@ -639,6 +639,10 @@
        **/
       propertyPermissions: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, propertyKeys?: Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsPropertyKeyPermission>>>;
       /**
+       * Get tokens nested directly into the token
+       **/
+      tokenChildren: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsTokenChild>>>;
+      /**
        * Get token data
        **/
       tokenData: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, propertyKeys?: Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<UpDataStructsTokenData>>;
modifiedtests/src/interfaces/augment-types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-types.ts
+++ b/tests/src/interfaces/augment-types.ts
@@ -1,7 +1,7 @@
 // Auto-generated via `yarn polkadot-types-from-defs`, do not edit
 /* eslint-disable */
 
-import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsNestingRule, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsRmrkAccountIdOrCollectionNftTuple, UpDataStructsRmrkBaseInfo, UpDataStructsRmrkBasicResource, UpDataStructsRmrkCollectionInfo, UpDataStructsRmrkComposableResource, UpDataStructsRmrkEquippableList, UpDataStructsRmrkFixedPart, UpDataStructsRmrkNftChild, UpDataStructsRmrkNftInfo, UpDataStructsRmrkPartType, UpDataStructsRmrkPropertyInfo, UpDataStructsRmrkResourceInfo, UpDataStructsRmrkResourceTypes, UpDataStructsRmrkRoyaltyInfo, UpDataStructsRmrkSlotPart, UpDataStructsRmrkSlotResource, UpDataStructsRmrkTheme, UpDataStructsRmrkThemeProperty, UpDataStructsRpcCollection, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './default';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsNestingRule, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsRmrkAccountIdOrCollectionNftTuple, UpDataStructsRmrkBaseInfo, UpDataStructsRmrkBasicResource, UpDataStructsRmrkCollectionInfo, UpDataStructsRmrkComposableResource, UpDataStructsRmrkEquippableList, UpDataStructsRmrkFixedPart, UpDataStructsRmrkNftChild, UpDataStructsRmrkNftInfo, UpDataStructsRmrkPartType, UpDataStructsRmrkPropertyInfo, UpDataStructsRmrkResourceInfo, UpDataStructsRmrkResourceTypes, UpDataStructsRmrkRoyaltyInfo, UpDataStructsRmrkSlotPart, UpDataStructsRmrkSlotResource, UpDataStructsRmrkTheme, UpDataStructsRmrkThemeProperty, UpDataStructsRpcCollection, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './default';
 import type { Data, StorageKey } from '@polkadot/types';
 import type { BitVec, Bool, Bytes, I128, I16, I256, I32, I64, I8, Json, Null, OptionBool, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, i128, i16, i256, i32, i64, i8, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types-codec';
 import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets';
@@ -1210,6 +1210,7 @@
     UpDataStructsRpcCollection: UpDataStructsRpcCollection;
     UpDataStructsSponsoringRateLimit: UpDataStructsSponsoringRateLimit;
     UpDataStructsSponsorshipState: UpDataStructsSponsorshipState;
+    UpDataStructsTokenChild: UpDataStructsTokenChild;
     UpDataStructsTokenData: UpDataStructsTokenData;
     UpgradeGoAhead: UpgradeGoAhead;
     UpgradeRestriction: UpgradeRestriction;
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, PalletEvmAccountBasicCrossAccountIdRepr, 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 constData: Bytes;1865  readonly properties: Vec<UpDataStructsProperty>;1866}18671868/** @name UpDataStructsCreateNftExData */1869export interface UpDataStructsCreateNftExData extends Struct {1870  readonly properties: Vec<UpDataStructsProperty>;1871  readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1872}18731874/** @name UpDataStructsCreateReFungibleData */1875export interface UpDataStructsCreateReFungibleData extends Struct {1876  readonly constData: Bytes;1877  readonly pieces: u128;1878}18791880/** @name UpDataStructsCreateRefungibleExData */1881export interface UpDataStructsCreateRefungibleExData extends Struct {1882  readonly constData: Bytes;1883  readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;1884}18851886/** @name UpDataStructsNestingRule */1887export interface UpDataStructsNestingRule extends Enum {1888  readonly isDisabled: boolean;1889  readonly isOwner: boolean;1890  readonly isOwnerRestricted: boolean;1891  readonly asOwnerRestricted: BTreeSet<u32>;1892  readonly type: 'Disabled' | 'Owner' | 'OwnerRestricted';1893}18941895/** @name UpDataStructsProperties */1896export interface UpDataStructsProperties extends Struct {1897  readonly map: UpDataStructsPropertiesMapBoundedVec;1898  readonly consumedSpace: u32;1899  readonly spaceLimit: u32;1900}19011902/** @name UpDataStructsPropertiesMapBoundedVec */1903export interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}19041905/** @name UpDataStructsPropertiesMapPropertyPermission */1906export interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}19071908/** @name UpDataStructsProperty */1909export interface UpDataStructsProperty extends Struct {1910  readonly key: Bytes;1911  readonly value: Bytes;1912}19131914/** @name UpDataStructsPropertyKeyPermission */1915export interface UpDataStructsPropertyKeyPermission extends Struct {1916  readonly key: Bytes;1917  readonly permission: UpDataStructsPropertyPermission;1918}19191920/** @name UpDataStructsPropertyPermission */1921export interface UpDataStructsPropertyPermission extends Struct {1922  readonly mutable: bool;1923  readonly collectionAdmin: bool;1924  readonly tokenOwner: bool;1925}19261927/** @name UpDataStructsRmrkAccountIdOrCollectionNftTuple */1928export interface UpDataStructsRmrkAccountIdOrCollectionNftTuple extends Enum {1929  readonly isAccountId: boolean;1930  readonly asAccountId: AccountId32;1931  readonly isCollectionAndNftTuple: boolean;1932  readonly asCollectionAndNftTuple: ITuple<[u32, u32]>;1933  readonly type: 'AccountId' | 'CollectionAndNftTuple';1934}19351936/** @name UpDataStructsRmrkBaseInfo */1937export interface UpDataStructsRmrkBaseInfo extends Struct {1938  readonly issuer: AccountId32;1939  readonly baseType: Bytes;1940  readonly symbol: Bytes;1941}19421943/** @name UpDataStructsRmrkBasicResource */1944export interface UpDataStructsRmrkBasicResource extends Struct {1945  readonly src: Option<Bytes>;1946  readonly metadata: Option<Bytes>;1947  readonly license: Option<Bytes>;1948  readonly thumb: Option<Bytes>;1949}19501951/** @name UpDataStructsRmrkCollectionInfo */1952export interface UpDataStructsRmrkCollectionInfo extends Struct {1953  readonly issuer: AccountId32;1954  readonly metadata: Bytes;1955  readonly max: Option<u32>;1956  readonly symbol: Bytes;1957  readonly nftsCount: u32;1958}19591960/** @name UpDataStructsRmrkComposableResource */1961export interface UpDataStructsRmrkComposableResource extends Struct {1962  readonly parts: Vec<u32>;1963  readonly base: u32;1964  readonly src: Option<Bytes>;1965  readonly metadata: Option<Bytes>;1966  readonly license: Option<Bytes>;1967  readonly thumb: Option<Bytes>;1968}19691970/** @name UpDataStructsRmrkEquippableList */1971export interface UpDataStructsRmrkEquippableList extends Enum {1972  readonly isAll: boolean;1973  readonly isEmpty: boolean;1974  readonly isCustom: boolean;1975  readonly asCustom: Vec<u32>;1976  readonly type: 'All' | 'Empty' | 'Custom';1977}19781979/** @name UpDataStructsRmrkFixedPart */1980export interface UpDataStructsRmrkFixedPart extends Struct {1981  readonly id: u32;1982  readonly z: u32;1983  readonly src: Bytes;1984}19851986/** @name UpDataStructsRmrkNftChild */1987export interface UpDataStructsRmrkNftChild extends Struct {1988  readonly collectionId: u32;1989  readonly nftId: u32;1990}19911992/** @name UpDataStructsRmrkNftInfo */1993export interface UpDataStructsRmrkNftInfo extends Struct {1994  readonly owner: UpDataStructsRmrkAccountIdOrCollectionNftTuple;1995  readonly royalty: Option<UpDataStructsRmrkRoyaltyInfo>;1996  readonly metadata: Bytes;1997  readonly equipped: bool;1998  readonly pending: bool;1999}20002001/** @name UpDataStructsRmrkPartType */2002export interface UpDataStructsRmrkPartType extends Enum {2003  readonly isFixedPart: boolean;2004  readonly asFixedPart: UpDataStructsRmrkFixedPart;2005  readonly isSlotPart: boolean;2006  readonly asSlotPart: UpDataStructsRmrkSlotPart;2007  readonly type: 'FixedPart' | 'SlotPart';2008}20092010/** @name UpDataStructsRmrkPropertyInfo */2011export interface UpDataStructsRmrkPropertyInfo extends Struct {2012  readonly key: Bytes;2013  readonly value: Bytes;2014}20152016/** @name UpDataStructsRmrkResourceInfo */2017export interface UpDataStructsRmrkResourceInfo extends Struct {2018  readonly id: Bytes;2019  readonly resource: UpDataStructsRmrkResourceTypes;2020  readonly pending: bool;2021  readonly pendingRemoval: bool;2022}20232024/** @name UpDataStructsRmrkResourceTypes */2025export interface UpDataStructsRmrkResourceTypes extends Enum {2026  readonly isBasic: boolean;2027  readonly asBasic: UpDataStructsRmrkBasicResource;2028  readonly isComposable: boolean;2029  readonly asComposable: UpDataStructsRmrkComposableResource;2030  readonly isSlot: boolean;2031  readonly asSlot: UpDataStructsRmrkSlotResource;2032  readonly type: 'Basic' | 'Composable' | 'Slot';2033}20342035/** @name UpDataStructsRmrkRoyaltyInfo */2036export interface UpDataStructsRmrkRoyaltyInfo extends Struct {2037  readonly recipient: AccountId32;2038  readonly amount: Permill;2039}20402041/** @name UpDataStructsRmrkSlotPart */2042export interface UpDataStructsRmrkSlotPart extends Struct {2043  readonly id: u32;2044  readonly equippable: UpDataStructsRmrkEquippableList;2045  readonly src: Bytes;2046  readonly z: u32;2047}20482049/** @name UpDataStructsRmrkSlotResource */2050export interface UpDataStructsRmrkSlotResource extends Struct {2051  readonly base: u32;2052  readonly src: Option<Bytes>;2053  readonly metadata: Option<Bytes>;2054  readonly slot: u32;2055  readonly license: Option<Bytes>;2056  readonly thumb: Option<Bytes>;2057}20582059/** @name UpDataStructsRmrkTheme */2060export interface UpDataStructsRmrkTheme extends Struct {2061  readonly name: Bytes;2062  readonly properties: Vec<UpDataStructsRmrkThemeProperty>;2063  readonly inherit: bool;2064}20652066/** @name UpDataStructsRmrkThemeProperty */2067export interface UpDataStructsRmrkThemeProperty extends Struct {2068  readonly key: Bytes;2069  readonly value: Bytes;2070}20712072/** @name UpDataStructsRpcCollection */2073export interface UpDataStructsRpcCollection extends Struct {2074  readonly owner: AccountId32;2075  readonly mode: UpDataStructsCollectionMode;2076  readonly name: Vec<u16>;2077  readonly description: Vec<u16>;2078  readonly tokenPrefix: Bytes;2079  readonly sponsorship: UpDataStructsSponsorshipState;2080  readonly limits: UpDataStructsCollectionLimits;2081  readonly permissions: UpDataStructsCollectionPermissions;2082  readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;2083  readonly properties: Vec<UpDataStructsProperty>;2084}20852086/** @name UpDataStructsSponsoringRateLimit */2087export interface UpDataStructsSponsoringRateLimit extends Enum {2088  readonly isSponsoringDisabled: boolean;2089  readonly isBlocks: boolean;2090  readonly asBlocks: u32;2091  readonly type: 'SponsoringDisabled' | 'Blocks';2092}20932094/** @name UpDataStructsSponsorshipState */2095export interface UpDataStructsSponsorshipState extends Enum {2096  readonly isDisabled: boolean;2097  readonly isUnconfirmed: boolean;2098  readonly asUnconfirmed: AccountId32;2099  readonly isConfirmed: boolean;2100  readonly asConfirmed: AccountId32;2101  readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';2102}21032104/** @name UpDataStructsTokenData */2105export interface UpDataStructsTokenData extends Struct {2106  readonly properties: Vec<UpDataStructsProperty>;2107  readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;2108}21092110/** @name XcmDoubleEncoded */2111export interface XcmDoubleEncoded extends Struct {2112  readonly encoded: Bytes;2113}21142115/** @name XcmV0Junction */2116export interface XcmV0Junction extends Enum {2117  readonly isParent: boolean;2118  readonly isParachain: boolean;2119  readonly asParachain: Compact<u32>;2120  readonly isAccountId32: boolean;2121  readonly asAccountId32: {2122    readonly network: XcmV0JunctionNetworkId;2123    readonly id: U8aFixed;2124  } & Struct;2125  readonly isAccountIndex64: boolean;2126  readonly asAccountIndex64: {2127    readonly network: XcmV0JunctionNetworkId;2128    readonly index: Compact<u64>;2129  } & Struct;2130  readonly isAccountKey20: boolean;2131  readonly asAccountKey20: {2132    readonly network: XcmV0JunctionNetworkId;2133    readonly key: U8aFixed;2134  } & Struct;2135  readonly isPalletInstance: boolean;2136  readonly asPalletInstance: u8;2137  readonly isGeneralIndex: boolean;2138  readonly asGeneralIndex: Compact<u128>;2139  readonly isGeneralKey: boolean;2140  readonly asGeneralKey: Bytes;2141  readonly isOnlyChild: boolean;2142  readonly isPlurality: boolean;2143  readonly asPlurality: {2144    readonly id: XcmV0JunctionBodyId;2145    readonly part: XcmV0JunctionBodyPart;2146  } & Struct;2147  readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';2148}21492150/** @name XcmV0JunctionBodyId */2151export interface XcmV0JunctionBodyId extends Enum {2152  readonly isUnit: boolean;2153  readonly isNamed: boolean;2154  readonly asNamed: Bytes;2155  readonly isIndex: boolean;2156  readonly asIndex: Compact<u32>;2157  readonly isExecutive: boolean;2158  readonly isTechnical: boolean;2159  readonly isLegislative: boolean;2160  readonly isJudicial: boolean;2161  readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial';2162}21632164/** @name XcmV0JunctionBodyPart */2165export interface XcmV0JunctionBodyPart extends Enum {2166  readonly isVoice: boolean;2167  readonly isMembers: boolean;2168  readonly asMembers: {2169    readonly count: Compact<u32>;2170  } & Struct;2171  readonly isFraction: boolean;2172  readonly asFraction: {2173    readonly nom: Compact<u32>;2174    readonly denom: Compact<u32>;2175  } & Struct;2176  readonly isAtLeastProportion: boolean;2177  readonly asAtLeastProportion: {2178    readonly nom: Compact<u32>;2179    readonly denom: Compact<u32>;2180  } & Struct;2181  readonly isMoreThanProportion: boolean;2182  readonly asMoreThanProportion: {2183    readonly nom: Compact<u32>;2184    readonly denom: Compact<u32>;2185  } & Struct;2186  readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';2187}21882189/** @name XcmV0JunctionNetworkId */2190export interface XcmV0JunctionNetworkId extends Enum {2191  readonly isAny: boolean;2192  readonly isNamed: boolean;2193  readonly asNamed: Bytes;2194  readonly isPolkadot: boolean;2195  readonly isKusama: boolean;2196  readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';2197}21982199/** @name XcmV0MultiAsset */2200export interface XcmV0MultiAsset extends Enum {2201  readonly isNone: boolean;2202  readonly isAll: boolean;2203  readonly isAllFungible: boolean;2204  readonly isAllNonFungible: boolean;2205  readonly isAllAbstractFungible: boolean;2206  readonly asAllAbstractFungible: {2207    readonly id: Bytes;2208  } & Struct;2209  readonly isAllAbstractNonFungible: boolean;2210  readonly asAllAbstractNonFungible: {2211    readonly class: Bytes;2212  } & Struct;2213  readonly isAllConcreteFungible: boolean;2214  readonly asAllConcreteFungible: {2215    readonly id: XcmV0MultiLocation;2216  } & Struct;2217  readonly isAllConcreteNonFungible: boolean;2218  readonly asAllConcreteNonFungible: {2219    readonly class: XcmV0MultiLocation;2220  } & Struct;2221  readonly isAbstractFungible: boolean;2222  readonly asAbstractFungible: {2223    readonly id: Bytes;2224    readonly amount: Compact<u128>;2225  } & Struct;2226  readonly isAbstractNonFungible: boolean;2227  readonly asAbstractNonFungible: {2228    readonly class: Bytes;2229    readonly instance: XcmV1MultiassetAssetInstance;2230  } & Struct;2231  readonly isConcreteFungible: boolean;2232  readonly asConcreteFungible: {2233    readonly id: XcmV0MultiLocation;2234    readonly amount: Compact<u128>;2235  } & Struct;2236  readonly isConcreteNonFungible: boolean;2237  readonly asConcreteNonFungible: {2238    readonly class: XcmV0MultiLocation;2239    readonly instance: XcmV1MultiassetAssetInstance;2240  } & Struct;2241  readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible';2242}22432244/** @name XcmV0MultiLocation */2245export interface XcmV0MultiLocation extends Enum {2246  readonly isNull: boolean;2247  readonly isX1: boolean;2248  readonly asX1: XcmV0Junction;2249  readonly isX2: boolean;2250  readonly asX2: ITuple<[XcmV0Junction, XcmV0Junction]>;2251  readonly isX3: boolean;2252  readonly asX3: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2253  readonly isX4: boolean;2254  readonly asX4: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2255  readonly isX5: boolean;2256  readonly asX5: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2257  readonly isX6: boolean;2258  readonly asX6: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2259  readonly isX7: boolean;2260  readonly asX7: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2261  readonly isX8: boolean;2262  readonly asX8: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2263  readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';2264}22652266/** @name XcmV0Order */2267export interface XcmV0Order extends Enum {2268  readonly isNull: boolean;2269  readonly isDepositAsset: boolean;2270  readonly asDepositAsset: {2271    readonly assets: Vec<XcmV0MultiAsset>;2272    readonly dest: XcmV0MultiLocation;2273  } & Struct;2274  readonly isDepositReserveAsset: boolean;2275  readonly asDepositReserveAsset: {2276    readonly assets: Vec<XcmV0MultiAsset>;2277    readonly dest: XcmV0MultiLocation;2278    readonly effects: Vec<XcmV0Order>;2279  } & Struct;2280  readonly isExchangeAsset: boolean;2281  readonly asExchangeAsset: {2282    readonly give: Vec<XcmV0MultiAsset>;2283    readonly receive: Vec<XcmV0MultiAsset>;2284  } & Struct;2285  readonly isInitiateReserveWithdraw: boolean;2286  readonly asInitiateReserveWithdraw: {2287    readonly assets: Vec<XcmV0MultiAsset>;2288    readonly reserve: XcmV0MultiLocation;2289    readonly effects: Vec<XcmV0Order>;2290  } & Struct;2291  readonly isInitiateTeleport: boolean;2292  readonly asInitiateTeleport: {2293    readonly assets: Vec<XcmV0MultiAsset>;2294    readonly dest: XcmV0MultiLocation;2295    readonly effects: Vec<XcmV0Order>;2296  } & Struct;2297  readonly isQueryHolding: boolean;2298  readonly asQueryHolding: {2299    readonly queryId: Compact<u64>;2300    readonly dest: XcmV0MultiLocation;2301    readonly assets: Vec<XcmV0MultiAsset>;2302  } & Struct;2303  readonly isBuyExecution: boolean;2304  readonly asBuyExecution: {2305    readonly fees: XcmV0MultiAsset;2306    readonly weight: u64;2307    readonly debt: u64;2308    readonly haltOnError: bool;2309    readonly xcm: Vec<XcmV0Xcm>;2310  } & Struct;2311  readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2312}23132314/** @name XcmV0OriginKind */2315export interface XcmV0OriginKind extends Enum {2316  readonly isNative: boolean;2317  readonly isSovereignAccount: boolean;2318  readonly isSuperuser: boolean;2319  readonly isXcm: boolean;2320  readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';2321}23222323/** @name XcmV0Response */2324export interface XcmV0Response extends Enum {2325  readonly isAssets: boolean;2326  readonly asAssets: Vec<XcmV0MultiAsset>;2327  readonly type: 'Assets';2328}23292330/** @name XcmV0Xcm */2331export interface XcmV0Xcm extends Enum {2332  readonly isWithdrawAsset: boolean;2333  readonly asWithdrawAsset: {2334    readonly assets: Vec<XcmV0MultiAsset>;2335    readonly effects: Vec<XcmV0Order>;2336  } & Struct;2337  readonly isReserveAssetDeposit: boolean;2338  readonly asReserveAssetDeposit: {2339    readonly assets: Vec<XcmV0MultiAsset>;2340    readonly effects: Vec<XcmV0Order>;2341  } & Struct;2342  readonly isTeleportAsset: boolean;2343  readonly asTeleportAsset: {2344    readonly assets: Vec<XcmV0MultiAsset>;2345    readonly effects: Vec<XcmV0Order>;2346  } & Struct;2347  readonly isQueryResponse: boolean;2348  readonly asQueryResponse: {2349    readonly queryId: Compact<u64>;2350    readonly response: XcmV0Response;2351  } & Struct;2352  readonly isTransferAsset: boolean;2353  readonly asTransferAsset: {2354    readonly assets: Vec<XcmV0MultiAsset>;2355    readonly dest: XcmV0MultiLocation;2356  } & Struct;2357  readonly isTransferReserveAsset: boolean;2358  readonly asTransferReserveAsset: {2359    readonly assets: Vec<XcmV0MultiAsset>;2360    readonly dest: XcmV0MultiLocation;2361    readonly effects: Vec<XcmV0Order>;2362  } & Struct;2363  readonly isTransact: boolean;2364  readonly asTransact: {2365    readonly originType: XcmV0OriginKind;2366    readonly requireWeightAtMost: u64;2367    readonly call: XcmDoubleEncoded;2368  } & Struct;2369  readonly isHrmpNewChannelOpenRequest: boolean;2370  readonly asHrmpNewChannelOpenRequest: {2371    readonly sender: Compact<u32>;2372    readonly maxMessageSize: Compact<u32>;2373    readonly maxCapacity: Compact<u32>;2374  } & Struct;2375  readonly isHrmpChannelAccepted: boolean;2376  readonly asHrmpChannelAccepted: {2377    readonly recipient: Compact<u32>;2378  } & Struct;2379  readonly isHrmpChannelClosing: boolean;2380  readonly asHrmpChannelClosing: {2381    readonly initiator: Compact<u32>;2382    readonly sender: Compact<u32>;2383    readonly recipient: Compact<u32>;2384  } & Struct;2385  readonly isRelayedFrom: boolean;2386  readonly asRelayedFrom: {2387    readonly who: XcmV0MultiLocation;2388    readonly message: XcmV0Xcm;2389  } & Struct;2390  readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';2391}23922393/** @name XcmV1Junction */2394export interface XcmV1Junction extends Enum {2395  readonly isParachain: boolean;2396  readonly asParachain: Compact<u32>;2397  readonly isAccountId32: boolean;2398  readonly asAccountId32: {2399    readonly network: XcmV0JunctionNetworkId;2400    readonly id: U8aFixed;2401  } & Struct;2402  readonly isAccountIndex64: boolean;2403  readonly asAccountIndex64: {2404    readonly network: XcmV0JunctionNetworkId;2405    readonly index: Compact<u64>;2406  } & Struct;2407  readonly isAccountKey20: boolean;2408  readonly asAccountKey20: {2409    readonly network: XcmV0JunctionNetworkId;2410    readonly key: U8aFixed;2411  } & Struct;2412  readonly isPalletInstance: boolean;2413  readonly asPalletInstance: u8;2414  readonly isGeneralIndex: boolean;2415  readonly asGeneralIndex: Compact<u128>;2416  readonly isGeneralKey: boolean;2417  readonly asGeneralKey: Bytes;2418  readonly isOnlyChild: boolean;2419  readonly isPlurality: boolean;2420  readonly asPlurality: {2421    readonly id: XcmV0JunctionBodyId;2422    readonly part: XcmV0JunctionBodyPart;2423  } & Struct;2424  readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';2425}24262427/** @name XcmV1MultiAsset */2428export interface XcmV1MultiAsset extends Struct {2429  readonly id: XcmV1MultiassetAssetId;2430  readonly fun: XcmV1MultiassetFungibility;2431}24322433/** @name XcmV1MultiassetAssetId */2434export interface XcmV1MultiassetAssetId extends Enum {2435  readonly isConcrete: boolean;2436  readonly asConcrete: XcmV1MultiLocation;2437  readonly isAbstract: boolean;2438  readonly asAbstract: Bytes;2439  readonly type: 'Concrete' | 'Abstract';2440}24412442/** @name XcmV1MultiassetAssetInstance */2443export interface XcmV1MultiassetAssetInstance extends Enum {2444  readonly isUndefined: boolean;2445  readonly isIndex: boolean;2446  readonly asIndex: Compact<u128>;2447  readonly isArray4: boolean;2448  readonly asArray4: U8aFixed;2449  readonly isArray8: boolean;2450  readonly asArray8: U8aFixed;2451  readonly isArray16: boolean;2452  readonly asArray16: U8aFixed;2453  readonly isArray32: boolean;2454  readonly asArray32: U8aFixed;2455  readonly isBlob: boolean;2456  readonly asBlob: Bytes;2457  readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';2458}24592460/** @name XcmV1MultiassetFungibility */2461export interface XcmV1MultiassetFungibility extends Enum {2462  readonly isFungible: boolean;2463  readonly asFungible: Compact<u128>;2464  readonly isNonFungible: boolean;2465  readonly asNonFungible: XcmV1MultiassetAssetInstance;2466  readonly type: 'Fungible' | 'NonFungible';2467}24682469/** @name XcmV1MultiassetMultiAssetFilter */2470export interface XcmV1MultiassetMultiAssetFilter extends Enum {2471  readonly isDefinite: boolean;2472  readonly asDefinite: XcmV1MultiassetMultiAssets;2473  readonly isWild: boolean;2474  readonly asWild: XcmV1MultiassetWildMultiAsset;2475  readonly type: 'Definite' | 'Wild';2476}24772478/** @name XcmV1MultiassetMultiAssets */2479export interface XcmV1MultiassetMultiAssets extends Vec<XcmV1MultiAsset> {}24802481/** @name XcmV1MultiassetWildFungibility */2482export interface XcmV1MultiassetWildFungibility extends Enum {2483  readonly isFungible: boolean;2484  readonly isNonFungible: boolean;2485  readonly type: 'Fungible' | 'NonFungible';2486}24872488/** @name XcmV1MultiassetWildMultiAsset */2489export interface XcmV1MultiassetWildMultiAsset extends Enum {2490  readonly isAll: boolean;2491  readonly isAllOf: boolean;2492  readonly asAllOf: {2493    readonly id: XcmV1MultiassetAssetId;2494    readonly fun: XcmV1MultiassetWildFungibility;2495  } & Struct;2496  readonly type: 'All' | 'AllOf';2497}24982499/** @name XcmV1MultiLocation */2500export interface XcmV1MultiLocation extends Struct {2501  readonly parents: u8;2502  readonly interior: XcmV1MultilocationJunctions;2503}25042505/** @name XcmV1MultilocationJunctions */2506export interface XcmV1MultilocationJunctions extends Enum {2507  readonly isHere: boolean;2508  readonly isX1: boolean;2509  readonly asX1: XcmV1Junction;2510  readonly isX2: boolean;2511  readonly asX2: ITuple<[XcmV1Junction, XcmV1Junction]>;2512  readonly isX3: boolean;2513  readonly asX3: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2514  readonly isX4: boolean;2515  readonly asX4: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2516  readonly isX5: boolean;2517  readonly asX5: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2518  readonly isX6: boolean;2519  readonly asX6: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2520  readonly isX7: boolean;2521  readonly asX7: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2522  readonly isX8: boolean;2523  readonly asX8: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2524  readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';2525}25262527/** @name XcmV1Order */2528export interface XcmV1Order extends Enum {2529  readonly isNoop: boolean;2530  readonly isDepositAsset: boolean;2531  readonly asDepositAsset: {2532    readonly assets: XcmV1MultiassetMultiAssetFilter;2533    readonly maxAssets: u32;2534    readonly beneficiary: XcmV1MultiLocation;2535  } & Struct;2536  readonly isDepositReserveAsset: boolean;2537  readonly asDepositReserveAsset: {2538    readonly assets: XcmV1MultiassetMultiAssetFilter;2539    readonly maxAssets: u32;2540    readonly dest: XcmV1MultiLocation;2541    readonly effects: Vec<XcmV1Order>;2542  } & Struct;2543  readonly isExchangeAsset: boolean;2544  readonly asExchangeAsset: {2545    readonly give: XcmV1MultiassetMultiAssetFilter;2546    readonly receive: XcmV1MultiassetMultiAssets;2547  } & Struct;2548  readonly isInitiateReserveWithdraw: boolean;2549  readonly asInitiateReserveWithdraw: {2550    readonly assets: XcmV1MultiassetMultiAssetFilter;2551    readonly reserve: XcmV1MultiLocation;2552    readonly effects: Vec<XcmV1Order>;2553  } & Struct;2554  readonly isInitiateTeleport: boolean;2555  readonly asInitiateTeleport: {2556    readonly assets: XcmV1MultiassetMultiAssetFilter;2557    readonly dest: XcmV1MultiLocation;2558    readonly effects: Vec<XcmV1Order>;2559  } & Struct;2560  readonly isQueryHolding: boolean;2561  readonly asQueryHolding: {2562    readonly queryId: Compact<u64>;2563    readonly dest: XcmV1MultiLocation;2564    readonly assets: XcmV1MultiassetMultiAssetFilter;2565  } & Struct;2566  readonly isBuyExecution: boolean;2567  readonly asBuyExecution: {2568    readonly fees: XcmV1MultiAsset;2569    readonly weight: u64;2570    readonly debt: u64;2571    readonly haltOnError: bool;2572    readonly instructions: Vec<XcmV1Xcm>;2573  } & Struct;2574  readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2575}25762577/** @name XcmV1Response */2578export interface XcmV1Response extends Enum {2579  readonly isAssets: boolean;2580  readonly asAssets: XcmV1MultiassetMultiAssets;2581  readonly isVersion: boolean;2582  readonly asVersion: u32;2583  readonly type: 'Assets' | 'Version';2584}25852586/** @name XcmV1Xcm */2587export interface XcmV1Xcm extends Enum {2588  readonly isWithdrawAsset: boolean;2589  readonly asWithdrawAsset: {2590    readonly assets: XcmV1MultiassetMultiAssets;2591    readonly effects: Vec<XcmV1Order>;2592  } & Struct;2593  readonly isReserveAssetDeposited: boolean;2594  readonly asReserveAssetDeposited: {2595    readonly assets: XcmV1MultiassetMultiAssets;2596    readonly effects: Vec<XcmV1Order>;2597  } & Struct;2598  readonly isReceiveTeleportedAsset: boolean;2599  readonly asReceiveTeleportedAsset: {2600    readonly assets: XcmV1MultiassetMultiAssets;2601    readonly effects: Vec<XcmV1Order>;2602  } & Struct;2603  readonly isQueryResponse: boolean;2604  readonly asQueryResponse: {2605    readonly queryId: Compact<u64>;2606    readonly response: XcmV1Response;2607  } & Struct;2608  readonly isTransferAsset: boolean;2609  readonly asTransferAsset: {2610    readonly assets: XcmV1MultiassetMultiAssets;2611    readonly beneficiary: XcmV1MultiLocation;2612  } & Struct;2613  readonly isTransferReserveAsset: boolean;2614  readonly asTransferReserveAsset: {2615    readonly assets: XcmV1MultiassetMultiAssets;2616    readonly dest: XcmV1MultiLocation;2617    readonly effects: Vec<XcmV1Order>;2618  } & Struct;2619  readonly isTransact: boolean;2620  readonly asTransact: {2621    readonly originType: XcmV0OriginKind;2622    readonly requireWeightAtMost: u64;2623    readonly call: XcmDoubleEncoded;2624  } & Struct;2625  readonly isHrmpNewChannelOpenRequest: boolean;2626  readonly asHrmpNewChannelOpenRequest: {2627    readonly sender: Compact<u32>;2628    readonly maxMessageSize: Compact<u32>;2629    readonly maxCapacity: Compact<u32>;2630  } & Struct;2631  readonly isHrmpChannelAccepted: boolean;2632  readonly asHrmpChannelAccepted: {2633    readonly recipient: Compact<u32>;2634  } & Struct;2635  readonly isHrmpChannelClosing: boolean;2636  readonly asHrmpChannelClosing: {2637    readonly initiator: Compact<u32>;2638    readonly sender: Compact<u32>;2639    readonly recipient: Compact<u32>;2640  } & Struct;2641  readonly isRelayedFrom: boolean;2642  readonly asRelayedFrom: {2643    readonly who: XcmV1MultilocationJunctions;2644    readonly message: XcmV1Xcm;2645  } & Struct;2646  readonly isSubscribeVersion: boolean;2647  readonly asSubscribeVersion: {2648    readonly queryId: Compact<u64>;2649    readonly maxResponseWeight: Compact<u64>;2650  } & Struct;2651  readonly isUnsubscribeVersion: boolean;2652  readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';2653}26542655/** @name XcmV2Instruction */2656export interface XcmV2Instruction extends Enum {2657  readonly isWithdrawAsset: boolean;2658  readonly asWithdrawAsset: XcmV1MultiassetMultiAssets;2659  readonly isReserveAssetDeposited: boolean;2660  readonly asReserveAssetDeposited: XcmV1MultiassetMultiAssets;2661  readonly isReceiveTeleportedAsset: boolean;2662  readonly asReceiveTeleportedAsset: XcmV1MultiassetMultiAssets;2663  readonly isQueryResponse: boolean;2664  readonly asQueryResponse: {2665    readonly queryId: Compact<u64>;2666    readonly response: XcmV2Response;2667    readonly maxWeight: Compact<u64>;2668  } & Struct;2669  readonly isTransferAsset: boolean;2670  readonly asTransferAsset: {2671    readonly assets: XcmV1MultiassetMultiAssets;2672    readonly beneficiary: XcmV1MultiLocation;2673  } & Struct;2674  readonly isTransferReserveAsset: boolean;2675  readonly asTransferReserveAsset: {2676    readonly assets: XcmV1MultiassetMultiAssets;2677    readonly dest: XcmV1MultiLocation;2678    readonly xcm: XcmV2Xcm;2679  } & Struct;2680  readonly isTransact: boolean;2681  readonly asTransact: {2682    readonly originType: XcmV0OriginKind;2683    readonly requireWeightAtMost: Compact<u64>;2684    readonly call: XcmDoubleEncoded;2685  } & Struct;2686  readonly isHrmpNewChannelOpenRequest: boolean;2687  readonly asHrmpNewChannelOpenRequest: {2688    readonly sender: Compact<u32>;2689    readonly maxMessageSize: Compact<u32>;2690    readonly maxCapacity: Compact<u32>;2691  } & Struct;2692  readonly isHrmpChannelAccepted: boolean;2693  readonly asHrmpChannelAccepted: {2694    readonly recipient: Compact<u32>;2695  } & Struct;2696  readonly isHrmpChannelClosing: boolean;2697  readonly asHrmpChannelClosing: {2698    readonly initiator: Compact<u32>;2699    readonly sender: Compact<u32>;2700    readonly recipient: Compact<u32>;2701  } & Struct;2702  readonly isClearOrigin: boolean;2703  readonly isDescendOrigin: boolean;2704  readonly asDescendOrigin: XcmV1MultilocationJunctions;2705  readonly isReportError: boolean;2706  readonly asReportError: {2707    readonly queryId: Compact<u64>;2708    readonly dest: XcmV1MultiLocation;2709    readonly maxResponseWeight: Compact<u64>;2710  } & Struct;2711  readonly isDepositAsset: boolean;2712  readonly asDepositAsset: {2713    readonly assets: XcmV1MultiassetMultiAssetFilter;2714    readonly maxAssets: Compact<u32>;2715    readonly beneficiary: XcmV1MultiLocation;2716  } & Struct;2717  readonly isDepositReserveAsset: boolean;2718  readonly asDepositReserveAsset: {2719    readonly assets: XcmV1MultiassetMultiAssetFilter;2720    readonly maxAssets: Compact<u32>;2721    readonly dest: XcmV1MultiLocation;2722    readonly xcm: XcmV2Xcm;2723  } & Struct;2724  readonly isExchangeAsset: boolean;2725  readonly asExchangeAsset: {2726    readonly give: XcmV1MultiassetMultiAssetFilter;2727    readonly receive: XcmV1MultiassetMultiAssets;2728  } & Struct;2729  readonly isInitiateReserveWithdraw: boolean;2730  readonly asInitiateReserveWithdraw: {2731    readonly assets: XcmV1MultiassetMultiAssetFilter;2732    readonly reserve: XcmV1MultiLocation;2733    readonly xcm: XcmV2Xcm;2734  } & Struct;2735  readonly isInitiateTeleport: boolean;2736  readonly asInitiateTeleport: {2737    readonly assets: XcmV1MultiassetMultiAssetFilter;2738    readonly dest: XcmV1MultiLocation;2739    readonly xcm: XcmV2Xcm;2740  } & Struct;2741  readonly isQueryHolding: boolean;2742  readonly asQueryHolding: {2743    readonly queryId: Compact<u64>;2744    readonly dest: XcmV1MultiLocation;2745    readonly assets: XcmV1MultiassetMultiAssetFilter;2746    readonly maxResponseWeight: Compact<u64>;2747  } & Struct;2748  readonly isBuyExecution: boolean;2749  readonly asBuyExecution: {2750    readonly fees: XcmV1MultiAsset;2751    readonly weightLimit: XcmV2WeightLimit;2752  } & Struct;2753  readonly isRefundSurplus: boolean;2754  readonly isSetErrorHandler: boolean;2755  readonly asSetErrorHandler: XcmV2Xcm;2756  readonly isSetAppendix: boolean;2757  readonly asSetAppendix: XcmV2Xcm;2758  readonly isClearError: boolean;2759  readonly isClaimAsset: boolean;2760  readonly asClaimAsset: {2761    readonly assets: XcmV1MultiassetMultiAssets;2762    readonly ticket: XcmV1MultiLocation;2763  } & Struct;2764  readonly isTrap: boolean;2765  readonly asTrap: Compact<u64>;2766  readonly isSubscribeVersion: boolean;2767  readonly asSubscribeVersion: {2768    readonly queryId: Compact<u64>;2769    readonly maxResponseWeight: Compact<u64>;2770  } & Struct;2771  readonly isUnsubscribeVersion: boolean;2772  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';2773}27742775/** @name XcmV2Response */2776export interface XcmV2Response extends Enum {2777  readonly isNull: boolean;2778  readonly isAssets: boolean;2779  readonly asAssets: XcmV1MultiassetMultiAssets;2780  readonly isExecutionResult: boolean;2781  readonly asExecutionResult: Option<ITuple<[u32, XcmV2TraitsError]>>;2782  readonly isVersion: boolean;2783  readonly asVersion: u32;2784  readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';2785}27862787/** @name XcmV2TraitsError */2788export interface XcmV2TraitsError extends Enum {2789  readonly isOverflow: boolean;2790  readonly isUnimplemented: boolean;2791  readonly isUntrustedReserveLocation: boolean;2792  readonly isUntrustedTeleportLocation: boolean;2793  readonly isMultiLocationFull: boolean;2794  readonly isMultiLocationNotInvertible: boolean;2795  readonly isBadOrigin: boolean;2796  readonly isInvalidLocation: boolean;2797  readonly isAssetNotFound: boolean;2798  readonly isFailedToTransactAsset: boolean;2799  readonly isNotWithdrawable: boolean;2800  readonly isLocationCannotHold: boolean;2801  readonly isExceedsMaxMessageSize: boolean;2802  readonly isDestinationUnsupported: boolean;2803  readonly isTransport: boolean;2804  readonly isUnroutable: boolean;2805  readonly isUnknownClaim: boolean;2806  readonly isFailedToDecode: boolean;2807  readonly isMaxWeightInvalid: boolean;2808  readonly isNotHoldingFees: boolean;2809  readonly isTooExpensive: boolean;2810  readonly isTrap: boolean;2811  readonly asTrap: u64;2812  readonly isUnhandledXcmVersion: boolean;2813  readonly isWeightLimitReached: boolean;2814  readonly asWeightLimitReached: u64;2815  readonly isBarrier: boolean;2816  readonly isWeightNotComputable: boolean;2817  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';2818}28192820/** @name XcmV2TraitsOutcome */2821export interface XcmV2TraitsOutcome extends Enum {2822  readonly isComplete: boolean;2823  readonly asComplete: u64;2824  readonly isIncomplete: boolean;2825  readonly asIncomplete: ITuple<[u64, XcmV2TraitsError]>;2826  readonly isError: boolean;2827  readonly asError: XcmV2TraitsError;2828  readonly type: 'Complete' | 'Incomplete' | 'Error';2829}28302831/** @name XcmV2WeightLimit */2832export interface XcmV2WeightLimit extends Enum {2833  readonly isUnlimited: boolean;2834  readonly isLimited: boolean;2835  readonly asLimited: Compact<u64>;2836  readonly type: 'Unlimited' | 'Limited';2837}28382839/** @name XcmV2Xcm */2840export interface XcmV2Xcm extends Vec<XcmV2Instruction> {}28412842/** @name XcmVersionedMultiAssets */2843export interface XcmVersionedMultiAssets extends Enum {2844  readonly isV0: boolean;2845  readonly asV0: Vec<XcmV0MultiAsset>;2846  readonly isV1: boolean;2847  readonly asV1: XcmV1MultiassetMultiAssets;2848  readonly type: 'V0' | 'V1';2849}28502851/** @name XcmVersionedMultiLocation */2852export interface XcmVersionedMultiLocation extends Enum {2853  readonly isV0: boolean;2854  readonly asV0: XcmV0MultiLocation;2855  readonly isV1: boolean;2856  readonly asV1: XcmV1MultiLocation;2857  readonly type: 'V0' | 'V1';2858}28592860/** @name XcmVersionedXcm */2861export interface XcmVersionedXcm extends Enum {2862  readonly isV0: boolean;2863  readonly asV0: XcmV0Xcm;2864  readonly isV1: boolean;2865  readonly asV1: XcmV1Xcm;2866  readonly isV2: boolean;2867  readonly asV2: XcmV2Xcm;2868  readonly type: 'V0' | 'V1' | 'V2';2869}28702871export type PHANTOM_DEFAULT = 'default';
modifiedtests/src/interfaces/lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/lookup.ts
+++ b/tests/src/interfaces/lookup.ts
@@ -1479,17 +1479,16 @@
    * Lookup186: up_data_structs::CreateNftData
    **/
   UpDataStructsCreateNftData: {
-    constData: 'Bytes',
     properties: 'Vec<UpDataStructsProperty>'
   },
   /**
-   * Lookup188: up_data_structs::CreateFungibleData
+   * Lookup187: up_data_structs::CreateFungibleData
    **/
   UpDataStructsCreateFungibleData: {
     value: 'u128'
   },
   /**
-   * Lookup189: up_data_structs::CreateReFungibleData
+   * Lookup188: up_data_structs::CreateReFungibleData
    **/
   UpDataStructsCreateReFungibleData: {
     constData: 'Bytes',
@@ -2282,18 +2281,25 @@
     alive: 'u32'
   },
   /**
-   * Lookup323: PhantomType::up_data_structs<T>
+   * Lookup323: up_data_structs::TokenChild
    **/
-  PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,PalletEvmAccountBasicCrossAccountIdRepr,UpDataStructsRmrkCollectionInfo,UpDataStructsRmrkNftInfo,UpDataStructsRmrkResourceInfo,UpDataStructsRmrkPropertyInfo,UpDataStructsRmrkBaseInfo,UpDataStructsRmrkPartType,UpDataStructsRmrkTheme,UpDataStructsRmrkNftChild);0]',
+  UpDataStructsTokenChild: {
+    token: 'u32',
+    collection: 'u32'
+  },
+  /**
+   * Lookup324: PhantomType::up_data_structs<T>
+   **/
+  PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,UpDataStructsRmrkCollectionInfo,UpDataStructsRmrkNftInfo,UpDataStructsRmrkResourceInfo,UpDataStructsRmrkPropertyInfo,UpDataStructsRmrkBaseInfo,UpDataStructsRmrkPartType,UpDataStructsRmrkTheme,UpDataStructsRmrkNftChild);0]',
   /**
-   * Lookup325: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup326: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsTokenData: {
     properties: 'Vec<UpDataStructsProperty>',
     owner: 'Option<PalletEvmAccountBasicCrossAccountIdRepr>'
   },
   /**
-   * Lookup327: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>
+   * Lookup328: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>
    **/
   UpDataStructsRpcCollection: {
     owner: 'AccountId32',
@@ -2308,7 +2314,7 @@
     properties: 'Vec<UpDataStructsProperty>'
   },
   /**
-   * Lookup328: up_data_structs::rmrk::CollectionInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>, sp_core::crypto::AccountId32>
+   * Lookup329: up_data_structs::rmrk::CollectionInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>, sp_core::crypto::AccountId32>
    **/
   UpDataStructsRmrkCollectionInfo: {
     issuer: 'AccountId32',
@@ -2318,7 +2324,7 @@
     nftsCount: 'u32'
   },
   /**
-   * Lookup331: up_data_structs::rmrk::NftInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill, frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   * Lookup332: up_data_structs::rmrk::NftInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill, frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
   UpDataStructsRmrkNftInfo: {
     owner: 'UpDataStructsRmrkAccountIdOrCollectionNftTuple',
@@ -2328,7 +2334,7 @@
     pending: 'bool'
   },
   /**
-   * Lookup332: up_data_structs::rmrk::AccountIdOrCollectionNftTuple<sp_core::crypto::AccountId32>
+   * Lookup333: up_data_structs::rmrk::AccountIdOrCollectionNftTuple<sp_core::crypto::AccountId32>
    **/
   UpDataStructsRmrkAccountIdOrCollectionNftTuple: {
     _enum: {
@@ -2337,14 +2343,14 @@
     }
   },
   /**
-   * Lookup334: up_data_structs::rmrk::RoyaltyInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill>
+   * Lookup335: up_data_structs::rmrk::RoyaltyInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill>
    **/
   UpDataStructsRmrkRoyaltyInfo: {
     recipient: 'AccountId32',
     amount: 'Permill'
   },
   /**
-   * Lookup335: 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>>
+   * 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',
@@ -2353,7 +2359,7 @@
     pendingRemoval: 'bool'
   },
   /**
-   * Lookup338: up_data_structs::rmrk::ResourceTypes<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   * Lookup339: up_data_structs::rmrk::ResourceTypes<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
   UpDataStructsRmrkResourceTypes: {
     _enum: {
@@ -2363,7 +2369,7 @@
     }
   },
   /**
-   * Lookup339: up_data_structs::rmrk::BasicResource<frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   * Lookup340: up_data_structs::rmrk::BasicResource<frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
   UpDataStructsRmrkBasicResource: {
     src: 'Option<Bytes>',
@@ -2372,7 +2378,7 @@
     thumb: 'Option<Bytes>'
   },
   /**
-   * Lookup341: up_data_structs::rmrk::ComposableResource<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   * Lookup342: 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>',
@@ -2383,7 +2389,7 @@
     thumb: 'Option<Bytes>'
   },
   /**
-   * Lookup342: up_data_structs::rmrk::SlotResource<frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   * Lookup343: up_data_structs::rmrk::SlotResource<frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
   UpDataStructsRmrkSlotResource: {
     base: 'u32',
@@ -2394,14 +2400,14 @@
     thumb: 'Option<Bytes>'
   },
   /**
-   * Lookup343: up_data_structs::rmrk::PropertyInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   * Lookup344: up_data_structs::rmrk::PropertyInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
   UpDataStructsRmrkPropertyInfo: {
     key: 'Bytes',
     value: 'Bytes'
   },
   /**
-   * Lookup346: up_data_structs::rmrk::BaseInfo<sp_core::crypto::AccountId32, frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   * Lookup347: up_data_structs::rmrk::BaseInfo<sp_core::crypto::AccountId32, frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
   UpDataStructsRmrkBaseInfo: {
     issuer: 'AccountId32',
@@ -2409,7 +2415,7 @@
     symbol: 'Bytes'
   },
   /**
-   * Lookup347: up_data_structs::rmrk::PartType<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   * Lookup348: up_data_structs::rmrk::PartType<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
   UpDataStructsRmrkPartType: {
     _enum: {
@@ -2418,7 +2424,7 @@
     }
   },
   /**
-   * Lookup349: up_data_structs::rmrk::FixedPart<frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   * Lookup350: up_data_structs::rmrk::FixedPart<frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
   UpDataStructsRmrkFixedPart: {
     id: 'u32',
@@ -2426,7 +2432,7 @@
     src: 'Bytes'
   },
   /**
-   * Lookup350: up_data_structs::rmrk::SlotPart<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   * Lookup351: up_data_structs::rmrk::SlotPart<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
   UpDataStructsRmrkSlotPart: {
     id: 'u32',
@@ -2435,7 +2441,7 @@
     z: 'u32'
   },
   /**
-   * Lookup351: up_data_structs::rmrk::EquippableList<frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   * Lookup352: up_data_structs::rmrk::EquippableList<frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
   UpDataStructsRmrkEquippableList: {
     _enum: {
@@ -2445,7 +2451,7 @@
     }
   },
   /**
-   * Lookup352: up_data_structs::rmrk::Theme<frame_support::storage::bounded_vec::BoundedVec<T, S>, PropertyList>
+   * Lookup353: up_data_structs::rmrk::Theme<frame_support::storage::bounded_vec::BoundedVec<T, S>, PropertyList>
    **/
   UpDataStructsRmrkTheme: {
     name: 'Bytes',
@@ -2453,69 +2459,69 @@
     inherit: 'bool'
   },
   /**
-   * Lookup354: up_data_structs::rmrk::ThemeProperty<frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   * Lookup355: up_data_structs::rmrk::ThemeProperty<frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
   UpDataStructsRmrkThemeProperty: {
     key: 'Bytes',
     value: 'Bytes'
   },
   /**
-   * Lookup355: up_data_structs::rmrk::NftChild
+   * Lookup356: up_data_structs::rmrk::NftChild
    **/
   UpDataStructsRmrkNftChild: {
     collectionId: 'u32',
     nftId: 'u32'
   },
   /**
-   * Lookup357: pallet_common::pallet::Error<T>
+   * Lookup358: pallet_common::pallet::Error<T>
    **/
   PalletCommonError: {
     _enum: ['CollectionNotFound', 'MustBeTokenOwner', 'NoPermission', 'CantDestroyNotEmptyCollection', 'PublicMintingNotAllowed', 'AddressNotInAllowlist', 'CollectionNameLimitExceeded', 'CollectionDescriptionLimitExceeded', 'CollectionTokenPrefixLimitExceeded', 'TotalCollectionsLimitExceeded', 'CollectionAdminCountExceeded', 'CollectionLimitBoundsExceeded', 'OwnerPermissionsCantBeReverted', 'TransferNotAllowed', 'AccountTokenLimitExceeded', 'CollectionTokenLimitExceeded', 'MetadataFlagFrozen', 'TokenNotFound', 'TokenValueTooLow', 'ApprovedValueTooLow', 'CantApproveMoreThanOwned', 'AddressIsZero', 'UnsupportedOperation', 'NotSufficientFounds', 'NestingIsDisabled', 'OnlyOwnerAllowedToNest', 'SourceCollectionIsNotAllowedToNest', 'CollectionFieldSizeExceeded', 'NoSpaceForProperty', 'PropertyLimitReached', 'PropertyKeyIsTooLong', 'InvalidCharacterInPropertyKey', 'EmptyPropertyKey']
   },
   /**
-   * Lookup359: pallet_fungible::pallet::Error<T>
+   * Lookup360: pallet_fungible::pallet::Error<T>
    **/
   PalletFungibleError: {
     _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed']
   },
   /**
-   * Lookup360: pallet_refungible::ItemData
+   * Lookup361: pallet_refungible::ItemData
    **/
   PalletRefungibleItemData: {
     constData: 'Bytes'
   },
   /**
-   * Lookup364: pallet_refungible::pallet::Error<T>
+   * Lookup365: pallet_refungible::pallet::Error<T>
    **/
   PalletRefungibleError: {
     _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed']
   },
   /**
-   * Lookup365: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup366: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   PalletNonfungibleItemData: {
     owner: 'PalletEvmAccountBasicCrossAccountIdRepr'
   },
   /**
-   * Lookup367: pallet_nonfungible::pallet::Error<T>
+   * Lookup368: pallet_nonfungible::pallet::Error<T>
    **/
   PalletNonfungibleError: {
     _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren']
   },
   /**
-   * Lookup368: pallet_structure::pallet::Error<T>
+   * Lookup369: pallet_structure::pallet::Error<T>
    **/
   PalletStructureError: {
     _enum: ['OuroborosDetected', 'DepthLimit', 'TokenNotFound']
   },
   /**
-   * Lookup371: pallet_evm::pallet::Error<T>
+   * Lookup372: pallet_evm::pallet::Error<T>
    **/
   PalletEvmError: {
     _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce']
   },
   /**
-   * Lookup374: fp_rpc::TransactionStatus
+   * Lookup375: fp_rpc::TransactionStatus
    **/
   FpRpcTransactionStatus: {
     transactionHash: 'H256',
@@ -2527,11 +2533,11 @@
     logsBloom: 'EthbloomBloom'
   },
   /**
-   * Lookup376: ethbloom::Bloom
+   * Lookup377: ethbloom::Bloom
    **/
   EthbloomBloom: '[u8;256]',
   /**
-   * Lookup378: ethereum::receipt::ReceiptV3
+   * Lookup379: ethereum::receipt::ReceiptV3
    **/
   EthereumReceiptReceiptV3: {
     _enum: {
@@ -2541,7 +2547,7 @@
     }
   },
   /**
-   * Lookup379: ethereum::receipt::EIP658ReceiptData
+   * Lookup380: ethereum::receipt::EIP658ReceiptData
    **/
   EthereumReceiptEip658ReceiptData: {
     statusCode: 'u8',
@@ -2550,7 +2556,7 @@
     logs: 'Vec<EthereumLog>'
   },
   /**
-   * Lookup380: ethereum::block::Block<ethereum::transaction::TransactionV2>
+   * Lookup381: ethereum::block::Block<ethereum::transaction::TransactionV2>
    **/
   EthereumBlock: {
     header: 'EthereumHeader',
@@ -2558,7 +2564,7 @@
     ommers: 'Vec<EthereumHeader>'
   },
   /**
-   * Lookup381: ethereum::header::Header
+   * Lookup382: ethereum::header::Header
    **/
   EthereumHeader: {
     parentHash: 'H256',
@@ -2578,41 +2584,41 @@
     nonce: 'EthereumTypesHashH64'
   },
   /**
-   * Lookup382: ethereum_types::hash::H64
+   * Lookup383: ethereum_types::hash::H64
    **/
   EthereumTypesHashH64: '[u8;8]',
   /**
-   * Lookup387: pallet_ethereum::pallet::Error<T>
+   * Lookup388: pallet_ethereum::pallet::Error<T>
    **/
   PalletEthereumError: {
     _enum: ['InvalidSignature', 'PreLogExists']
   },
   /**
-   * Lookup388: pallet_evm_coder_substrate::pallet::Error<T>
+   * Lookup389: pallet_evm_coder_substrate::pallet::Error<T>
    **/
   PalletEvmCoderSubstrateError: {
     _enum: ['OutOfGas', 'OutOfFund']
   },
   /**
-   * Lookup389: pallet_evm_contract_helpers::SponsoringModeT
+   * Lookup390: pallet_evm_contract_helpers::SponsoringModeT
    **/
   PalletEvmContractHelpersSponsoringModeT: {
     _enum: ['Disabled', 'Allowlisted', 'Generous']
   },
   /**
-   * Lookup391: pallet_evm_contract_helpers::pallet::Error<T>
+   * Lookup392: pallet_evm_contract_helpers::pallet::Error<T>
    **/
   PalletEvmContractHelpersError: {
     _enum: ['NoPermission']
   },
   /**
-   * Lookup392: pallet_evm_migration::pallet::Error<T>
+   * Lookup393: pallet_evm_migration::pallet::Error<T>
    **/
   PalletEvmMigrationError: {
     _enum: ['AccountNotEmpty', 'AccountIsNotMigrating']
   },
   /**
-   * Lookup394: sp_runtime::MultiSignature
+   * Lookup395: sp_runtime::MultiSignature
    **/
   SpRuntimeMultiSignature: {
     _enum: {
@@ -2622,43 +2628,43 @@
     }
   },
   /**
-   * Lookup395: sp_core::ed25519::Signature
+   * Lookup396: sp_core::ed25519::Signature
    **/
   SpCoreEd25519Signature: '[u8;64]',
   /**
-   * Lookup397: sp_core::sr25519::Signature
+   * Lookup398: sp_core::sr25519::Signature
    **/
   SpCoreSr25519Signature: '[u8;64]',
   /**
-   * Lookup398: sp_core::ecdsa::Signature
+   * Lookup399: sp_core::ecdsa::Signature
    **/
   SpCoreEcdsaSignature: '[u8;65]',
   /**
-   * Lookup401: frame_system::extensions::check_spec_version::CheckSpecVersion<T>
+   * Lookup402: frame_system::extensions::check_spec_version::CheckSpecVersion<T>
    **/
   FrameSystemExtensionsCheckSpecVersion: 'Null',
   /**
-   * Lookup402: frame_system::extensions::check_genesis::CheckGenesis<T>
+   * Lookup403: frame_system::extensions::check_genesis::CheckGenesis<T>
    **/
   FrameSystemExtensionsCheckGenesis: 'Null',
   /**
-   * Lookup405: frame_system::extensions::check_nonce::CheckNonce<T>
+   * Lookup406: frame_system::extensions::check_nonce::CheckNonce<T>
    **/
   FrameSystemExtensionsCheckNonce: 'Compact<u32>',
   /**
-   * Lookup406: frame_system::extensions::check_weight::CheckWeight<T>
+   * Lookup407: frame_system::extensions::check_weight::CheckWeight<T>
    **/
   FrameSystemExtensionsCheckWeight: 'Null',
   /**
-   * Lookup407: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>
+   * Lookup408: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>
    **/
   PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',
   /**
-   * Lookup408: opal_runtime::Runtime
+   * Lookup409: opal_runtime::Runtime
    **/
   OpalRuntimeRuntime: 'Null',
   /**
-   * Lookup409: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>
+   * Lookup410: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>
    **/
   PalletEthereumFakeTransactionFinalizer: 'Null'
 };
modifiedtests/src/interfaces/registry.tsdiffbeforeafterboth
--- a/tests/src/interfaces/registry.ts
+++ b/tests/src/interfaces/registry.ts
@@ -1,7 +1,7 @@
 // Auto-generated via `yarn polkadot-types-from-defs`, do not edit
 /* eslint-disable */
 
-import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsNestingRule, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsRmrkAccountIdOrCollectionNftTuple, UpDataStructsRmrkBaseInfo, UpDataStructsRmrkBasicResource, UpDataStructsRmrkCollectionInfo, UpDataStructsRmrkComposableResource, UpDataStructsRmrkEquippableList, UpDataStructsRmrkFixedPart, UpDataStructsRmrkNftChild, UpDataStructsRmrkNftInfo, UpDataStructsRmrkPartType, UpDataStructsRmrkPropertyInfo, UpDataStructsRmrkResourceInfo, UpDataStructsRmrkResourceTypes, UpDataStructsRmrkRoyaltyInfo, UpDataStructsRmrkSlotPart, UpDataStructsRmrkSlotResource, UpDataStructsRmrkTheme, UpDataStructsRmrkThemeProperty, UpDataStructsRpcCollection, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsNestingRule, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsRmrkAccountIdOrCollectionNftTuple, UpDataStructsRmrkBaseInfo, UpDataStructsRmrkBasicResource, UpDataStructsRmrkCollectionInfo, UpDataStructsRmrkComposableResource, UpDataStructsRmrkEquippableList, UpDataStructsRmrkFixedPart, UpDataStructsRmrkNftChild, UpDataStructsRmrkNftInfo, UpDataStructsRmrkPartType, UpDataStructsRmrkPropertyInfo, UpDataStructsRmrkResourceInfo, UpDataStructsRmrkResourceTypes, UpDataStructsRmrkRoyaltyInfo, UpDataStructsRmrkSlotPart, UpDataStructsRmrkSlotResource, UpDataStructsRmrkTheme, UpDataStructsRmrkThemeProperty, UpDataStructsRpcCollection, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
 
 declare module '@polkadot/types/types/registry' {
   export interface InterfaceTypes {
@@ -188,6 +188,7 @@
     UpDataStructsRpcCollection: UpDataStructsRpcCollection;
     UpDataStructsSponsoringRateLimit: UpDataStructsSponsoringRateLimit;
     UpDataStructsSponsorshipState: UpDataStructsSponsorshipState;
+    UpDataStructsTokenChild: UpDataStructsTokenChild;
     UpDataStructsTokenData: UpDataStructsTokenData;
     XcmDoubleEncoded: XcmDoubleEncoded;
     XcmV0Junction: XcmV0Junction;
modifiedtests/src/interfaces/types-lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/types-lookup.ts
+++ b/tests/src/interfaces/types-lookup.ts
@@ -1604,16 +1604,15 @@
 
   /** @name UpDataStructsCreateNftData (186) */
   export interface UpDataStructsCreateNftData extends Struct {
-    readonly constData: Bytes;
     readonly properties: Vec<UpDataStructsProperty>;
   }
 
-  /** @name UpDataStructsCreateFungibleData (188) */
+  /** @name UpDataStructsCreateFungibleData (187) */
   export interface UpDataStructsCreateFungibleData extends Struct {
     readonly value: u128;
   }
 
-  /** @name UpDataStructsCreateReFungibleData (189) */
+  /** @name UpDataStructsCreateReFungibleData (188) */
   export interface UpDataStructsCreateReFungibleData extends Struct {
     readonly constData: Bytes;
     readonly pieces: u128;
@@ -2469,16 +2468,22 @@
     readonly alive: u32;
   }
 
-  /** @name PhantomTypeUpDataStructs (323) */
-  export interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, PalletEvmAccountBasicCrossAccountIdRepr, UpDataStructsRmrkCollectionInfo, UpDataStructsRmrkNftInfo, UpDataStructsRmrkResourceInfo, UpDataStructsRmrkPropertyInfo, UpDataStructsRmrkBaseInfo, UpDataStructsRmrkPartType, UpDataStructsRmrkTheme, UpDataStructsRmrkNftChild]>> {}
+  /** @name UpDataStructsTokenChild (323) */
+  export interface UpDataStructsTokenChild extends Struct {
+    readonly token: u32;
+    readonly collection: u32;
+  }
+
+  /** @name PhantomTypeUpDataStructs (324) */
+  export interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, UpDataStructsRmrkCollectionInfo, UpDataStructsRmrkNftInfo, UpDataStructsRmrkResourceInfo, UpDataStructsRmrkPropertyInfo, UpDataStructsRmrkBaseInfo, UpDataStructsRmrkPartType, UpDataStructsRmrkTheme, UpDataStructsRmrkNftChild]>> {}
 
-  /** @name UpDataStructsTokenData (325) */
+  /** @name UpDataStructsTokenData (326) */
   export interface UpDataStructsTokenData extends Struct {
     readonly properties: Vec<UpDataStructsProperty>;
     readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;
   }
 
-  /** @name UpDataStructsRpcCollection (327) */
+  /** @name UpDataStructsRpcCollection (328) */
   export interface UpDataStructsRpcCollection extends Struct {
     readonly owner: AccountId32;
     readonly mode: UpDataStructsCollectionMode;
@@ -2492,7 +2497,7 @@
     readonly properties: Vec<UpDataStructsProperty>;
   }
 
-  /** @name UpDataStructsRmrkCollectionInfo (328) */
+  /** @name UpDataStructsRmrkCollectionInfo (329) */
   export interface UpDataStructsRmrkCollectionInfo extends Struct {
     readonly issuer: AccountId32;
     readonly metadata: Bytes;
@@ -2501,7 +2506,7 @@
     readonly nftsCount: u32;
   }
 
-  /** @name UpDataStructsRmrkNftInfo (331) */
+  /** @name UpDataStructsRmrkNftInfo (332) */
   export interface UpDataStructsRmrkNftInfo extends Struct {
     readonly owner: UpDataStructsRmrkAccountIdOrCollectionNftTuple;
     readonly royalty: Option<UpDataStructsRmrkRoyaltyInfo>;
@@ -2510,7 +2515,7 @@
     readonly pending: bool;
   }
 
-  /** @name UpDataStructsRmrkAccountIdOrCollectionNftTuple (332) */
+  /** @name UpDataStructsRmrkAccountIdOrCollectionNftTuple (333) */
   export interface UpDataStructsRmrkAccountIdOrCollectionNftTuple extends Enum {
     readonly isAccountId: boolean;
     readonly asAccountId: AccountId32;
@@ -2519,13 +2524,13 @@
     readonly type: 'AccountId' | 'CollectionAndNftTuple';
   }
 
-  /** @name UpDataStructsRmrkRoyaltyInfo (334) */
+  /** @name UpDataStructsRmrkRoyaltyInfo (335) */
   export interface UpDataStructsRmrkRoyaltyInfo extends Struct {
     readonly recipient: AccountId32;
     readonly amount: Permill;
   }
 
-  /** @name UpDataStructsRmrkResourceInfo (335) */
+  /** @name UpDataStructsRmrkResourceInfo (336) */
   export interface UpDataStructsRmrkResourceInfo extends Struct {
     readonly id: Bytes;
     readonly resource: UpDataStructsRmrkResourceTypes;
@@ -2533,7 +2538,7 @@
     readonly pendingRemoval: bool;
   }
 
-  /** @name UpDataStructsRmrkResourceTypes (338) */
+  /** @name UpDataStructsRmrkResourceTypes (339) */
   export interface UpDataStructsRmrkResourceTypes extends Enum {
     readonly isBasic: boolean;
     readonly asBasic: UpDataStructsRmrkBasicResource;
@@ -2544,7 +2549,7 @@
     readonly type: 'Basic' | 'Composable' | 'Slot';
   }
 
-  /** @name UpDataStructsRmrkBasicResource (339) */
+  /** @name UpDataStructsRmrkBasicResource (340) */
   export interface UpDataStructsRmrkBasicResource extends Struct {
     readonly src: Option<Bytes>;
     readonly metadata: Option<Bytes>;
@@ -2552,7 +2557,7 @@
     readonly thumb: Option<Bytes>;
   }
 
-  /** @name UpDataStructsRmrkComposableResource (341) */
+  /** @name UpDataStructsRmrkComposableResource (342) */
   export interface UpDataStructsRmrkComposableResource extends Struct {
     readonly parts: Vec<u32>;
     readonly base: u32;
@@ -2562,7 +2567,7 @@
     readonly thumb: Option<Bytes>;
   }
 
-  /** @name UpDataStructsRmrkSlotResource (342) */
+  /** @name UpDataStructsRmrkSlotResource (343) */
   export interface UpDataStructsRmrkSlotResource extends Struct {
     readonly base: u32;
     readonly src: Option<Bytes>;
@@ -2572,20 +2577,20 @@
     readonly thumb: Option<Bytes>;
   }
 
-  /** @name UpDataStructsRmrkPropertyInfo (343) */
+  /** @name UpDataStructsRmrkPropertyInfo (344) */
   export interface UpDataStructsRmrkPropertyInfo extends Struct {
     readonly key: Bytes;
     readonly value: Bytes;
   }
 
-  /** @name UpDataStructsRmrkBaseInfo (346) */
+  /** @name UpDataStructsRmrkBaseInfo (347) */
   export interface UpDataStructsRmrkBaseInfo extends Struct {
     readonly issuer: AccountId32;
     readonly baseType: Bytes;
     readonly symbol: Bytes;
   }
 
-  /** @name UpDataStructsRmrkPartType (347) */
+  /** @name UpDataStructsRmrkPartType (348) */
   export interface UpDataStructsRmrkPartType extends Enum {
     readonly isFixedPart: boolean;
     readonly asFixedPart: UpDataStructsRmrkFixedPart;
@@ -2594,14 +2599,14 @@
     readonly type: 'FixedPart' | 'SlotPart';
   }
 
-  /** @name UpDataStructsRmrkFixedPart (349) */
+  /** @name UpDataStructsRmrkFixedPart (350) */
   export interface UpDataStructsRmrkFixedPart extends Struct {
     readonly id: u32;
     readonly z: u32;
     readonly src: Bytes;
   }
 
-  /** @name UpDataStructsRmrkSlotPart (350) */
+  /** @name UpDataStructsRmrkSlotPart (351) */
   export interface UpDataStructsRmrkSlotPart extends Struct {
     readonly id: u32;
     readonly equippable: UpDataStructsRmrkEquippableList;
@@ -2609,7 +2614,7 @@
     readonly z: u32;
   }
 
-  /** @name UpDataStructsRmrkEquippableList (351) */
+  /** @name UpDataStructsRmrkEquippableList (352) */
   export interface UpDataStructsRmrkEquippableList extends Enum {
     readonly isAll: boolean;
     readonly isEmpty: boolean;
@@ -2618,26 +2623,26 @@
     readonly type: 'All' | 'Empty' | 'Custom';
   }
 
-  /** @name UpDataStructsRmrkTheme (352) */
+  /** @name UpDataStructsRmrkTheme (353) */
   export interface UpDataStructsRmrkTheme extends Struct {
     readonly name: Bytes;
     readonly properties: Vec<UpDataStructsRmrkThemeProperty>;
     readonly inherit: bool;
   }
 
-  /** @name UpDataStructsRmrkThemeProperty (354) */
+  /** @name UpDataStructsRmrkThemeProperty (355) */
   export interface UpDataStructsRmrkThemeProperty extends Struct {
     readonly key: Bytes;
     readonly value: Bytes;
   }
 
-  /** @name UpDataStructsRmrkNftChild (355) */
+  /** @name UpDataStructsRmrkNftChild (356) */
   export interface UpDataStructsRmrkNftChild extends Struct {
     readonly collectionId: u32;
     readonly nftId: u32;
   }
 
-  /** @name PalletCommonError (357) */
+  /** @name PalletCommonError (358) */
   export interface PalletCommonError extends Enum {
     readonly isCollectionNotFound: boolean;
     readonly isMustBeTokenOwner: boolean;
@@ -2675,7 +2680,7 @@
     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';
   }
 
-  /** @name PalletFungibleError (359) */
+  /** @name PalletFungibleError (360) */
   export interface PalletFungibleError extends Enum {
     readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;
     readonly isFungibleItemsHaveNoId: boolean;
@@ -2685,12 +2690,12 @@
     readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
   }
 
-  /** @name PalletRefungibleItemData (360) */
+  /** @name PalletRefungibleItemData (361) */
   export interface PalletRefungibleItemData extends Struct {
     readonly constData: Bytes;
   }
 
-  /** @name PalletRefungibleError (364) */
+  /** @name PalletRefungibleError (365) */
   export interface PalletRefungibleError extends Enum {
     readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;
     readonly isWrongRefungiblePieces: boolean;
@@ -2699,12 +2704,12 @@
     readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
   }
 
-  /** @name PalletNonfungibleItemData (365) */
+  /** @name PalletNonfungibleItemData (366) */
   export interface PalletNonfungibleItemData extends Struct {
     readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
   }
 
-  /** @name PalletNonfungibleError (367) */
+  /** @name PalletNonfungibleError (368) */
   export interface PalletNonfungibleError extends Enum {
     readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;
     readonly isNonfungibleItemsHaveNoAmount: boolean;
@@ -2712,7 +2717,7 @@
     readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';
   }
 
-  /** @name PalletStructureError (368) */
+  /** @name PalletStructureError (369) */
   export interface PalletStructureError extends Enum {
     readonly isOuroborosDetected: boolean;
     readonly isDepthLimit: boolean;
@@ -2720,7 +2725,7 @@
     readonly type: 'OuroborosDetected' | 'DepthLimit' | 'TokenNotFound';
   }
 
-  /** @name PalletEvmError (371) */
+  /** @name PalletEvmError (372) */
   export interface PalletEvmError extends Enum {
     readonly isBalanceLow: boolean;
     readonly isFeeOverflow: boolean;
@@ -2731,7 +2736,7 @@
     readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce';
   }
 
-  /** @name FpRpcTransactionStatus (374) */
+  /** @name FpRpcTransactionStatus (375) */
   export interface FpRpcTransactionStatus extends Struct {
     readonly transactionHash: H256;
     readonly transactionIndex: u32;
@@ -2742,10 +2747,10 @@
     readonly logsBloom: EthbloomBloom;
   }
 
-  /** @name EthbloomBloom (376) */
+  /** @name EthbloomBloom (377) */
   export interface EthbloomBloom extends U8aFixed {}
 
-  /** @name EthereumReceiptReceiptV3 (378) */
+  /** @name EthereumReceiptReceiptV3 (379) */
   export interface EthereumReceiptReceiptV3 extends Enum {
     readonly isLegacy: boolean;
     readonly asLegacy: EthereumReceiptEip658ReceiptData;
@@ -2756,7 +2761,7 @@
     readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
   }
 
-  /** @name EthereumReceiptEip658ReceiptData (379) */
+  /** @name EthereumReceiptEip658ReceiptData (380) */
   export interface EthereumReceiptEip658ReceiptData extends Struct {
     readonly statusCode: u8;
     readonly usedGas: U256;
@@ -2764,14 +2769,14 @@
     readonly logs: Vec<EthereumLog>;
   }
 
-  /** @name EthereumBlock (380) */
+  /** @name EthereumBlock (381) */
   export interface EthereumBlock extends Struct {
     readonly header: EthereumHeader;
     readonly transactions: Vec<EthereumTransactionTransactionV2>;
     readonly ommers: Vec<EthereumHeader>;
   }
 
-  /** @name EthereumHeader (381) */
+  /** @name EthereumHeader (382) */
   export interface EthereumHeader extends Struct {
     readonly parentHash: H256;
     readonly ommersHash: H256;
@@ -2790,24 +2795,24 @@
     readonly nonce: EthereumTypesHashH64;
   }
 
-  /** @name EthereumTypesHashH64 (382) */
+  /** @name EthereumTypesHashH64 (383) */
   export interface EthereumTypesHashH64 extends U8aFixed {}
 
-  /** @name PalletEthereumError (387) */
+  /** @name PalletEthereumError (388) */
   export interface PalletEthereumError extends Enum {
     readonly isInvalidSignature: boolean;
     readonly isPreLogExists: boolean;
     readonly type: 'InvalidSignature' | 'PreLogExists';
   }
 
-  /** @name PalletEvmCoderSubstrateError (388) */
+  /** @name PalletEvmCoderSubstrateError (389) */
   export interface PalletEvmCoderSubstrateError extends Enum {
     readonly isOutOfGas: boolean;
     readonly isOutOfFund: boolean;
     readonly type: 'OutOfGas' | 'OutOfFund';
   }
 
-  /** @name PalletEvmContractHelpersSponsoringModeT (389) */
+  /** @name PalletEvmContractHelpersSponsoringModeT (390) */
   export interface PalletEvmContractHelpersSponsoringModeT extends Enum {
     readonly isDisabled: boolean;
     readonly isAllowlisted: boolean;
@@ -2815,20 +2820,20 @@
     readonly type: 'Disabled' | 'Allowlisted' | 'Generous';
   }
 
-  /** @name PalletEvmContractHelpersError (391) */
+  /** @name PalletEvmContractHelpersError (392) */
   export interface PalletEvmContractHelpersError extends Enum {
     readonly isNoPermission: boolean;
     readonly type: 'NoPermission';
   }
 
-  /** @name PalletEvmMigrationError (392) */
+  /** @name PalletEvmMigrationError (393) */
   export interface PalletEvmMigrationError extends Enum {
     readonly isAccountNotEmpty: boolean;
     readonly isAccountIsNotMigrating: boolean;
     readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating';
   }
 
-  /** @name SpRuntimeMultiSignature (394) */
+  /** @name SpRuntimeMultiSignature (395) */
   export interface SpRuntimeMultiSignature extends Enum {
     readonly isEd25519: boolean;
     readonly asEd25519: SpCoreEd25519Signature;
@@ -2839,34 +2844,34 @@
     readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';
   }
 
-  /** @name SpCoreEd25519Signature (395) */
+  /** @name SpCoreEd25519Signature (396) */
   export interface SpCoreEd25519Signature extends U8aFixed {}
 
-  /** @name SpCoreSr25519Signature (397) */
+  /** @name SpCoreSr25519Signature (398) */
   export interface SpCoreSr25519Signature extends U8aFixed {}
 
-  /** @name SpCoreEcdsaSignature (398) */
+  /** @name SpCoreEcdsaSignature (399) */
   export interface SpCoreEcdsaSignature extends U8aFixed {}
 
-  /** @name FrameSystemExtensionsCheckSpecVersion (401) */
+  /** @name FrameSystemExtensionsCheckSpecVersion (402) */
   export type FrameSystemExtensionsCheckSpecVersion = Null;
 
-  /** @name FrameSystemExtensionsCheckGenesis (402) */
+  /** @name FrameSystemExtensionsCheckGenesis (403) */
   export type FrameSystemExtensionsCheckGenesis = Null;
 
-  /** @name FrameSystemExtensionsCheckNonce (405) */
+  /** @name FrameSystemExtensionsCheckNonce (406) */
   export interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}
 
-  /** @name FrameSystemExtensionsCheckWeight (406) */
+  /** @name FrameSystemExtensionsCheckWeight (407) */
   export type FrameSystemExtensionsCheckWeight = Null;
 
-  /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (407) */
+  /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (408) */
   export interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}
 
-  /** @name OpalRuntimeRuntime (408) */
+  /** @name OpalRuntimeRuntime (409) */
   export type OpalRuntimeRuntime = Null;
 
-  /** @name PalletEthereumFakeTransactionFinalizer (409) */
+  /** @name PalletEthereumFakeTransactionFinalizer (410) */
   export type PalletEthereumFakeTransactionFinalizer = Null;
 
 } // declare module
modifiedtests/src/interfaces/unique/definitions.tsdiffbeforeafterboth
--- a/tests/src/interfaces/unique/definitions.ts
+++ b/tests/src/interfaces/unique/definitions.ts
@@ -50,6 +50,7 @@
     allowance: fun('Get allowed amount', [collectionParam, crossAccountParam('sender'), crossAccountParam('spender'), tokenParam], 'u128'),
     tokenOwner: fun('Get token owner', [collectionParam, tokenParam], `Option<${CROSS_ACCOUNT_ID_TYPE}>`),
     topmostTokenOwner: fun('Get token owner, in case of nested token - find parent recursive', [collectionParam, tokenParam], `Option<${CROSS_ACCOUNT_ID_TYPE}>`),
+    tokenChildren: fun('Get tokens nested directly into the token', [collectionParam, tokenParam], 'Vec<UpDataStructsTokenChild>'),
     constMetadata: fun('Get token constant metadata', [collectionParam, tokenParam], 'Vec<u8>'),
     variableMetadata: fun('Get token variable metadata', [collectionParam, tokenParam], 'Vec<u8>'),
     collectionProperties: fun(
modifiedtests/src/nesting/nest.test.tsdiffbeforeafterboth
--- a/tests/src/nesting/nest.test.ts
+++ b/tests/src/nesting/nest.test.ts
@@ -7,6 +7,7 @@
   createItemExpectSuccess,
   enableAllowListExpectSuccess,
   enablePublicMintingExpectSuccess,
+  getTokenChildren,
   getTokenOwner,
   getTopmostTokenOwner,
   normalizeAccountId,
@@ -76,8 +77,8 @@
         api,
         alice,
         api.tx.unique.transferFrom(
-          normalizeAccountId({Ethereum: tokenIdToAddress(collection, tokenA)}), 
-          normalizeAccountId({Ethereum: tokenIdToAddress(collection, tokenB)}), 
+          normalizeAccountId({Ethereum: tokenIdToAddress(collection, tokenA)}),
+          normalizeAccountId({Ethereum: tokenIdToAddress(collection, tokenB)}),
           collection,
           tokenC,
           1,
@@ -88,6 +89,63 @@
     });
   });
 
+  it('Checks token children', async () => {
+    await usingApi(async api => {
+      const collectionA = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
+      await setCollectionPermissionsExpectSuccess(alice, collectionA, {nesting: 'Owner'});
+      const collectionB = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}});
+
+      const targetToken = await createItemExpectSuccess(alice, collectionA, 'NFT');
+      const targetAddress = {Ethereum: tokenIdToAddress(collectionA, targetToken)};
+      let children = await getTokenChildren(api, collectionA, targetToken);
+      expect(children.length).to.be.equal(0, 'Children length check at creation');
+
+      // Create a nested NFT token
+      const tokenA = await createItemExpectSuccess(alice, collectionA, 'NFT', targetAddress);
+      children = await getTokenChildren(api, collectionA, targetToken);
+      expect(children.length).to.be.equal(1, 'Children length check at nesting #1');
+      expect(children).to.have.deep.members([
+        {token: tokenA, collection: collectionA},
+      ], 'Children contents check at nesting #1');
+
+      // Create then nest
+      const tokenB = await createItemExpectSuccess(alice, collectionA, 'NFT');
+      await transferExpectSuccess(collectionA, tokenB, alice, targetAddress);
+      children = await getTokenChildren(api, collectionA, targetToken);
+      expect(children.length).to.be.equal(2, 'Children length check at nesting #2');
+      expect(children).to.have.deep.members([
+        {token: tokenA, collection: collectionA},
+        {token: tokenB, collection: collectionA},
+      ], 'Children contents check at nesting #2');
+
+      // Move token B to a different user outside the nesting tree
+      await transferExpectSuccess(collectionA, tokenB, alice, bob);
+      children = await getTokenChildren(api, collectionA, targetToken);
+      expect(children.length).to.be.equal(1, 'Children length check at unnesting');
+      expect(children).to.be.have.deep.members([
+        {token: tokenA, collection: collectionA},
+      ], 'Children contents check at unnesting');
+
+      // Create a fungible token in another collection and then nest
+      const tokenC = await createItemExpectSuccess(alice, collectionB, 'Fungible');
+      await transferExpectSuccess(collectionB, tokenC, alice, targetAddress, 1, 'Fungible');
+      children = await getTokenChildren(api, collectionA, targetToken);
+      expect(children.length).to.be.equal(2, 'Children length check at nesting #3 (from another collection)');
+      expect(children).to.be.have.deep.members([
+        {token: tokenA, collection: collectionA},
+        {token: tokenC, collection: collectionB},
+      ], 'Children contents check at nesting #3 (from another collection)');
+
+      // Move the fungible token inside token A deeper in the nesting tree
+      await transferFromExpectSuccess(collectionB, tokenC, alice, targetAddress, {Ethereum: tokenIdToAddress(collectionA, tokenA)}, 1, 'Fungible');
+      children = await getTokenChildren(api, collectionA, targetToken);
+      expect(children.length).to.be.equal(1, 'Children length check at deeper nesting');
+      expect(children).to.be.have.deep.members([
+        {token: tokenA, collection: collectionA},
+      ], 'Children contents check at deeper nesting');
+    });
+  });
+
   // ---------- Non-Fungible ----------
 
   it('NFT: allows an Owner to nest/unnest their token', async () => {
modifiedtests/src/util/helpers.tsdiffbeforeafterboth
--- a/tests/src/util/helpers.ts
+++ b/tests/src/util/helpers.ts
@@ -27,6 +27,7 @@
 import {default as usingApi, executeTransaction, submitTransactionAsync, submitTransactionExpectFailAsync} from '../substrate/substrate-api';
 import {hexToStr, strToUTF16, utf16ToStr} from './util';
 import {UpDataStructsRpcCollection, UpDataStructsCreateItemData, UpDataStructsProperty} from '@polkadot/types/lookup';
+import {UpDataStructsTokenChild} from '../interfaces';
 
 chai.use(chaiAsPromised);
 const expect = chai.expect;
@@ -1165,6 +1166,13 @@
   if (owner == null) throw new Error('owner == null');
   return normalizeAccountId(owner);
 }
+export async function getTokenChildren(
+  api: ApiPromise,
+  collectionId: number,
+  tokenId: number,
+): Promise<UpDataStructsTokenChild[]> {
+  return (await api.rpc.unique.tokenChildren(collectionId, tokenId)).toJSON() as any;
+}
 export async function isTokenExists(
   api: ApiPromise,
   collectionId: number,