git.delta.rocks / unique-network / refs/commits / 63b9443a2b7f

difftreelog

Merge pull request #383 from UniqueNetwork/test/nesting-admin

ut-akuznetsov2022-06-14parents: #47cbedf #686c4b3.patch.diff
in: master

11 files changed

modifiedpallets/common/src/benchmarking.rsdiffbeforeafterboth
--- a/pallets/common/src/benchmarking.rs
+++ b/pallets/common/src/benchmarking.rs
@@ -96,7 +96,7 @@
 			permissions: Some(CollectionPermissions {
 				nesting: Some(NestingPermissions {
 					token_owner: false,
-					admin: false,
+					collection_admin: false,
 					restricted: None,
 					permissive: true,
 				}),
modifiedpallets/nonfungible/src/lib.rsdiffbeforeafterboth
--- a/pallets/nonfungible/src/lib.rs
+++ b/pallets/nonfungible/src/lib.rs
@@ -1008,7 +1008,7 @@
 				nesting_budget,
 			)? {
 			// Pass
-		} else if nesting.admin && handle.is_owner_or_admin(&sender) {
+		} else if nesting.collection_admin && handle.is_owner_or_admin(&sender) {
 			// Pass
 		} else {
 			fail!(<CommonError<T>>::UserIsNotAllowedToNest);
modifiedpallets/proxy-rmrk-core/src/lib.rsdiffbeforeafterboth
--- a/pallets/proxy-rmrk-core/src/lib.rs
+++ b/pallets/proxy-rmrk-core/src/lib.rs
@@ -199,7 +199,7 @@
 				permissions: Some(CollectionPermissions {
 					nesting: Some(NestingPermissions {
 						token_owner: true,
-						admin: false,
+						collection_admin: false,
 						restricted: None,
 
 						permissive: false,
modifiedprimitives/data-structs/src/lib.rsdiffbeforeafterboth
--- a/primitives/data-structs/src/lib.rs
+++ b/primitives/data-structs/src/lib.rs
@@ -447,7 +447,7 @@
 	pub fn nesting(&self) -> &NestingPermissions {
 		static DEFAULT: NestingPermissions = NestingPermissions {
 			token_owner: false,
-			admin: false,
+			collection_admin: false,
 			restricted: None,
 
 			permissive: false,
@@ -490,7 +490,7 @@
 	/// Owner of token can nest tokens under it
 	pub token_owner: bool,
 	/// Admin of token collection can nest tokens under token
-	pub admin: bool,
+	pub collection_admin: bool,
 	/// If set - only tokens from specified collections can be nested
 	pub restricted: Option<OwnerRestrictedSet>,
 
modifiedtests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-errors.ts
+++ b/tests/src/interfaces/augment-api-errors.ts
@@ -458,6 +458,7 @@
       ResourceNotPending: AugmentedError<ApiType>;
       RmrkPropertyKeyIsTooLong: AugmentedError<ApiType>;
       RmrkPropertyValueIsTooLong: AugmentedError<ApiType>;
+      UnableToDecodeRmrkData: AugmentedError<ApiType>;
       /**
        * Generic error
        **/
modifiedtests/src/interfaces/augment-api-query.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-query.ts
+++ b/tests/src/interfaces/augment-api-query.ts
@@ -417,7 +417,6 @@
     };
     rmrkCore: {
       collectionIndex: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
-      rmrkInernalCollectionId: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
       uniqueCollectionId: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
       /**
        * Generic query
modifiedtests/src/interfaces/augment-api-tx.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-tx.ts
+++ b/tests/src/interfaces/augment-api-tx.ts
@@ -5,7 +5,7 @@
 import type { Bytes, Compact, Option, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
 import type { AnyNumber, IMethod, ITuple } from '@polkadot/types-codec/types';
 import type { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill } from '@polkadot/types/interfaces/runtime';
-import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumTransactionTransactionV2, FrameSupportScheduleMaybeHashed, OrmlVestingVestingSchedule, PalletEvmAccountBasicCrossAccountIdRepr, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsPartPartType, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
+import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumTransactionTransactionV2, FrameSupportScheduleMaybeHashed, OrmlVestingVestingSchedule, PalletEvmAccountBasicCrossAccountIdRepr, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsPartPartType, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
 
 declare module '@polkadot/api-base/types/submittable' {
   export interface AugmentedSubmittables<ApiType extends ApiTypes> {
@@ -373,7 +373,7 @@
       /**
        * Create composable resource
        **/
-      addComposableResource: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, resourceId: Bytes | string | Uint8Array, resource: RmrkTraitsResourceComposableResource | { parts?: any; base?: any; src?: any; metadata?: any; license?: any; thumb?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, Bytes, RmrkTraitsResourceComposableResource]>;
+      addComposableResource: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, resource: RmrkTraitsResourceComposableResource | { parts?: any; base?: any; src?: any; metadata?: any; license?: any; thumb?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, RmrkTraitsResourceComposableResource]>;
       /**
        * Create slot resource
        **/
@@ -381,7 +381,7 @@
       /**
        * burn nft
        **/
-      burnNft: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32]>;
+      burnNft: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, maxBurns: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u32]>;
       /**
        * Change the issuer of a collection
        * 
@@ -415,7 +415,7 @@
        * - `metadata`: Arbitrary data about an nft, e.g. IPFS hash
        * - `transferable`: Ability to transfer this NFT
        **/
-      mintNft: AugmentedSubmittable<(owner: AccountId32 | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, recipient: Option<AccountId32> | null | object | string | Uint8Array, royaltyAmount: Option<Permill> | null | object | string | Uint8Array, metadata: Bytes | string | Uint8Array, transferable: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [AccountId32, u32, Option<AccountId32>, Option<Permill>, Bytes, bool]>;
+      mintNft: AugmentedSubmittable<(owner: AccountId32 | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, recipient: Option<AccountId32> | null | object | string | Uint8Array, royaltyAmount: Option<Permill> | null | object | string | Uint8Array, metadata: Bytes | string | Uint8Array, transferable: bool | boolean | Uint8Array, resources: Option<Vec<RmrkTraitsResourceResourceTypes>> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [AccountId32, u32, Option<AccountId32>, Option<Permill>, Bytes, bool, Option<Vec<RmrkTraitsResourceResourceTypes>>]>;
       /**
        * Rejects an NFT sent from another account to self or owned NFT
        * 
modifiedtests/src/interfaces/default/types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/default/types.ts
+++ b/tests/src/interfaces/default/types.ts
@@ -1214,11 +1214,13 @@
     readonly royaltyAmount: Option<Permill>;
     readonly metadata: Bytes;
     readonly transferable: bool;
+    readonly resources: Option<Vec<RmrkTraitsResourceResourceTypes>>;
   } & Struct;
   readonly isBurnNft: boolean;
   readonly asBurnNft: {
     readonly collectionId: u32;
     readonly nftId: u32;
+    readonly maxBurns: u32;
   } & Struct;
   readonly isSend: boolean;
   readonly asSend: {
@@ -1272,7 +1274,6 @@
   readonly asAddComposableResource: {
     readonly rmrkCollectionId: u32;
     readonly nftId: u32;
-    readonly resourceId: Bytes;
     readonly resource: RmrkTraitsResourceComposableResource;
   } & Struct;
   readonly isAddSlotResource: boolean;
@@ -1296,6 +1297,7 @@
   readonly isNftTypeEncodeError: boolean;
   readonly isRmrkPropertyKeyIsTooLong: boolean;
   readonly isRmrkPropertyValueIsTooLong: boolean;
+  readonly isUnableToDecodeRmrkData: boolean;
   readonly isCollectionNotEmpty: boolean;
   readonly isNoAvailableCollectionId: boolean;
   readonly isNoAvailableNftId: boolean;
@@ -1308,7 +1310,7 @@
   readonly isCannotAcceptNonOwnedNft: boolean;
   readonly isCannotRejectNonOwnedNft: boolean;
   readonly isResourceNotPending: boolean;
-  readonly type: 'CorruptedCollectionType' | 'NftTypeEncodeError' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'ResourceNotPending';
+  readonly type: 'CorruptedCollectionType' | 'NftTypeEncodeError' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'UnableToDecodeRmrkData' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'ResourceNotPending';
 }
 
 /** @name PalletRmrkCoreEvent */
@@ -2427,7 +2429,7 @@
 /** @name UpDataStructsNestingPermissions */
 export interface UpDataStructsNestingPermissions extends Struct {
   readonly tokenOwner: bool;
-  readonly admin: bool;
+  readonly collectionAdmin: bool;
   readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;
   readonly permissive: bool;
 }
modifiedtests/src/interfaces/lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/lookup.ts
+++ b/tests/src/interfaces/lookup.ts
@@ -1432,7 +1432,7 @@
    **/
   UpDataStructsNestingPermissions: {
     tokenOwner: 'bool',
-    admin: 'bool',
+    collectionAdmin: 'bool',
     restricted: 'Option<UpDataStructsOwnerRestrictedSet>',
     permissive: 'bool'
   },
@@ -1593,10 +1593,12 @@
         royaltyAmount: 'Option<Permill>',
         metadata: 'Bytes',
         transferable: 'bool',
+        resources: 'Option<Vec<RmrkTraitsResourceResourceTypes>>',
       },
       burn_nft: {
         collectionId: 'u32',
         nftId: 'u32',
+        maxBurns: 'u32',
       },
       send: {
         rmrkCollectionId: 'u32',
@@ -1641,7 +1643,6 @@
       add_composable_resource: {
         rmrkCollectionId: 'u32',
         nftId: 'u32',
-        resourceId: 'Bytes',
         resource: 'RmrkTraitsResourceComposableResource',
       },
       add_slot_resource: {
@@ -1657,12 +1658,13 @@
     }
   },
   /**
-   * Lookup215: rmrk_traits::nft::AccountIdOrCollectionNftTuple<sp_core::crypto::AccountId32>
+   * Lookup217: rmrk_traits::resource::ResourceTypes<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
-  RmrkTraitsNftAccountIdOrCollectionNftTuple: {
+  RmrkTraitsResourceResourceTypes: {
     _enum: {
-      AccountId: 'AccountId32',
-      CollectionAndNftTuple: '(u32,u32)'
+      Basic: 'RmrkTraitsResourceBasicResource',
+      Composable: 'RmrkTraitsResourceComposableResource',
+      Slot: 'RmrkTraitsResourceSlotResource'
     }
   },
   /**
@@ -1675,7 +1677,7 @@
     thumb: 'Option<Bytes>'
   },
   /**
-   * Lookup222: rmrk_traits::resource::ComposableResource<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   * Lookup221: rmrk_traits::resource::ComposableResource<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsResourceComposableResource: {
     parts: 'Vec<u32>',
@@ -1686,7 +1688,7 @@
     thumb: 'Option<Bytes>'
   },
   /**
-   * Lookup224: rmrk_traits::resource::SlotResource<frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   * Lookup222: rmrk_traits::resource::SlotResource<frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsResourceSlotResource: {
     base: 'u32',
@@ -1697,8 +1699,17 @@
     thumb: 'Option<Bytes>'
   },
   /**
-   * Lookup225: pallet_rmrk_equip::pallet::Call<T>
+   * Lookup224: rmrk_traits::nft::AccountIdOrCollectionNftTuple<sp_core::crypto::AccountId32>
    **/
+  RmrkTraitsNftAccountIdOrCollectionNftTuple: {
+    _enum: {
+      AccountId: 'AccountId32',
+      CollectionAndNftTuple: '(u32,u32)'
+    }
+  },
+  /**
+   * Lookup228: pallet_rmrk_equip::pallet::Call<T>
+   **/
   PalletRmrkEquipCall: {
     _enum: {
       create_base: {
@@ -1713,7 +1724,7 @@
     }
   },
   /**
-   * Lookup227: rmrk_traits::part::PartType<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   * Lookup230: rmrk_traits::part::PartType<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsPartPartType: {
     _enum: {
@@ -1722,7 +1733,7 @@
     }
   },
   /**
-   * Lookup229: rmrk_traits::part::FixedPart<frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   * Lookup232: rmrk_traits::part::FixedPart<frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsPartFixedPart: {
     id: 'u32',
@@ -1730,7 +1741,7 @@
     src: 'Bytes'
   },
   /**
-   * Lookup230: rmrk_traits::part::SlotPart<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   * Lookup233: rmrk_traits::part::SlotPart<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsPartSlotPart: {
     id: 'u32',
@@ -1739,7 +1750,7 @@
     z: 'u32'
   },
   /**
-   * Lookup231: rmrk_traits::part::EquippableList<frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   * Lookup234: rmrk_traits::part::EquippableList<frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsPartEquippableList: {
     _enum: {
@@ -1749,7 +1760,7 @@
     }
   },
   /**
-   * Lookup233: rmrk_traits::theme::Theme<frame_support::storage::bounded_vec::BoundedVec<T, S>, PropertyList>
+   * Lookup236: rmrk_traits::theme::Theme<frame_support::storage::bounded_vec::BoundedVec<T, S>, PropertyList>
    **/
   RmrkTraitsTheme: {
     name: 'Bytes',
@@ -1757,14 +1768,14 @@
     inherit: 'bool'
   },
   /**
-   * Lookup235: rmrk_traits::theme::ThemeProperty<frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   * Lookup238: rmrk_traits::theme::ThemeProperty<frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsThemeThemeProperty: {
     key: 'Bytes',
     value: 'Bytes'
   },
   /**
-   * Lookup236: pallet_evm::pallet::Call<T>
+   * Lookup239: pallet_evm::pallet::Call<T>
    **/
   PalletEvmCall: {
     _enum: {
@@ -1807,7 +1818,7 @@
     }
   },
   /**
-   * Lookup242: pallet_ethereum::pallet::Call<T>
+   * Lookup245: pallet_ethereum::pallet::Call<T>
    **/
   PalletEthereumCall: {
     _enum: {
@@ -1817,7 +1828,7 @@
     }
   },
   /**
-   * Lookup243: ethereum::transaction::TransactionV2
+   * Lookup246: ethereum::transaction::TransactionV2
    **/
   EthereumTransactionTransactionV2: {
     _enum: {
@@ -1827,7 +1838,7 @@
     }
   },
   /**
-   * Lookup244: ethereum::transaction::LegacyTransaction
+   * Lookup247: ethereum::transaction::LegacyTransaction
    **/
   EthereumTransactionLegacyTransaction: {
     nonce: 'U256',
@@ -1839,7 +1850,7 @@
     signature: 'EthereumTransactionTransactionSignature'
   },
   /**
-   * Lookup245: ethereum::transaction::TransactionAction
+   * Lookup248: ethereum::transaction::TransactionAction
    **/
   EthereumTransactionTransactionAction: {
     _enum: {
@@ -1848,7 +1859,7 @@
     }
   },
   /**
-   * Lookup246: ethereum::transaction::TransactionSignature
+   * Lookup249: ethereum::transaction::TransactionSignature
    **/
   EthereumTransactionTransactionSignature: {
     v: 'u64',
@@ -1856,7 +1867,7 @@
     s: 'H256'
   },
   /**
-   * Lookup248: ethereum::transaction::EIP2930Transaction
+   * Lookup251: ethereum::transaction::EIP2930Transaction
    **/
   EthereumTransactionEip2930Transaction: {
     chainId: 'u64',
@@ -1872,14 +1883,14 @@
     s: 'H256'
   },
   /**
-   * Lookup250: ethereum::transaction::AccessListItem
+   * Lookup253: ethereum::transaction::AccessListItem
    **/
   EthereumTransactionAccessListItem: {
     address: 'H160',
     storageKeys: 'Vec<H256>'
   },
   /**
-   * Lookup251: ethereum::transaction::EIP1559Transaction
+   * Lookup254: ethereum::transaction::EIP1559Transaction
    **/
   EthereumTransactionEip1559Transaction: {
     chainId: 'u64',
@@ -1896,7 +1907,7 @@
     s: 'H256'
   },
   /**
-   * Lookup252: pallet_evm_migration::pallet::Call<T>
+   * Lookup255: pallet_evm_migration::pallet::Call<T>
    **/
   PalletEvmMigrationCall: {
     _enum: {
@@ -1914,7 +1925,7 @@
     }
   },
   /**
-   * Lookup255: pallet_sudo::pallet::Event<T>
+   * Lookup258: pallet_sudo::pallet::Event<T>
    **/
   PalletSudoEvent: {
     _enum: {
@@ -1930,7 +1941,7 @@
     }
   },
   /**
-   * Lookup257: sp_runtime::DispatchError
+   * Lookup260: sp_runtime::DispatchError
    **/
   SpRuntimeDispatchError: {
     _enum: {
@@ -1947,38 +1958,38 @@
     }
   },
   /**
-   * Lookup258: sp_runtime::ModuleError
+   * Lookup261: sp_runtime::ModuleError
    **/
   SpRuntimeModuleError: {
     index: 'u8',
     error: '[u8;4]'
   },
   /**
-   * Lookup259: sp_runtime::TokenError
+   * Lookup262: sp_runtime::TokenError
    **/
   SpRuntimeTokenError: {
     _enum: ['NoFunds', 'WouldDie', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported']
   },
   /**
-   * Lookup260: sp_runtime::ArithmeticError
+   * Lookup263: sp_runtime::ArithmeticError
    **/
   SpRuntimeArithmeticError: {
     _enum: ['Underflow', 'Overflow', 'DivisionByZero']
   },
   /**
-   * Lookup261: sp_runtime::TransactionalError
+   * Lookup264: sp_runtime::TransactionalError
    **/
   SpRuntimeTransactionalError: {
     _enum: ['LimitReached', 'NoLayer']
   },
   /**
-   * Lookup262: pallet_sudo::pallet::Error<T>
+   * Lookup265: pallet_sudo::pallet::Error<T>
    **/
   PalletSudoError: {
     _enum: ['RequireSudo']
   },
   /**
-   * Lookup263: frame_system::AccountInfo<Index, pallet_balances::AccountData<Balance>>
+   * Lookup266: frame_system::AccountInfo<Index, pallet_balances::AccountData<Balance>>
    **/
   FrameSystemAccountInfo: {
     nonce: 'u32',
@@ -1988,7 +1999,7 @@
     data: 'PalletBalancesAccountData'
   },
   /**
-   * Lookup264: frame_support::weights::PerDispatchClass<T>
+   * Lookup267: frame_support::weights::PerDispatchClass<T>
    **/
   FrameSupportWeightsPerDispatchClassU64: {
     normal: 'u64',
@@ -1996,13 +2007,13 @@
     mandatory: 'u64'
   },
   /**
-   * Lookup265: sp_runtime::generic::digest::Digest
+   * Lookup268: sp_runtime::generic::digest::Digest
    **/
   SpRuntimeDigest: {
     logs: 'Vec<SpRuntimeDigestDigestItem>'
   },
   /**
-   * Lookup267: sp_runtime::generic::digest::DigestItem
+   * Lookup270: sp_runtime::generic::digest::DigestItem
    **/
   SpRuntimeDigestDigestItem: {
     _enum: {
@@ -2018,7 +2029,7 @@
     }
   },
   /**
-   * Lookup269: frame_system::EventRecord<opal_runtime::Event, primitive_types::H256>
+   * Lookup272: frame_system::EventRecord<opal_runtime::Event, primitive_types::H256>
    **/
   FrameSystemEventRecord: {
     phase: 'FrameSystemPhase',
@@ -2026,7 +2037,7 @@
     topics: 'Vec<H256>'
   },
   /**
-   * Lookup271: frame_system::pallet::Event<T>
+   * Lookup274: frame_system::pallet::Event<T>
    **/
   FrameSystemEvent: {
     _enum: {
@@ -2054,7 +2065,7 @@
     }
   },
   /**
-   * Lookup272: frame_support::weights::DispatchInfo
+   * Lookup275: frame_support::weights::DispatchInfo
    **/
   FrameSupportWeightsDispatchInfo: {
     weight: 'u64',
@@ -2062,19 +2073,19 @@
     paysFee: 'FrameSupportWeightsPays'
   },
   /**
-   * Lookup273: frame_support::weights::DispatchClass
+   * Lookup276: frame_support::weights::DispatchClass
    **/
   FrameSupportWeightsDispatchClass: {
     _enum: ['Normal', 'Operational', 'Mandatory']
   },
   /**
-   * Lookup274: frame_support::weights::Pays
+   * Lookup277: frame_support::weights::Pays
    **/
   FrameSupportWeightsPays: {
     _enum: ['Yes', 'No']
   },
   /**
-   * Lookup275: orml_vesting::module::Event<T>
+   * Lookup278: orml_vesting::module::Event<T>
    **/
   OrmlVestingModuleEvent: {
     _enum: {
@@ -2093,7 +2104,7 @@
     }
   },
   /**
-   * Lookup276: cumulus_pallet_xcmp_queue::pallet::Event<T>
+   * Lookup279: cumulus_pallet_xcmp_queue::pallet::Event<T>
    **/
   CumulusPalletXcmpQueueEvent: {
     _enum: {
@@ -2108,7 +2119,7 @@
     }
   },
   /**
-   * Lookup277: pallet_xcm::pallet::Event<T>
+   * Lookup280: pallet_xcm::pallet::Event<T>
    **/
   PalletXcmEvent: {
     _enum: {
@@ -2131,7 +2142,7 @@
     }
   },
   /**
-   * Lookup278: xcm::v2::traits::Outcome
+   * Lookup281: xcm::v2::traits::Outcome
    **/
   XcmV2TraitsOutcome: {
     _enum: {
@@ -2141,7 +2152,7 @@
     }
   },
   /**
-   * Lookup280: cumulus_pallet_xcm::pallet::Event<T>
+   * Lookup283: cumulus_pallet_xcm::pallet::Event<T>
    **/
   CumulusPalletXcmEvent: {
     _enum: {
@@ -2151,7 +2162,7 @@
     }
   },
   /**
-   * Lookup281: cumulus_pallet_dmp_queue::pallet::Event<T>
+   * Lookup284: cumulus_pallet_dmp_queue::pallet::Event<T>
    **/
   CumulusPalletDmpQueueEvent: {
     _enum: {
@@ -2164,7 +2175,7 @@
     }
   },
   /**
-   * Lookup282: pallet_unique::RawEvent<sp_core::crypto::AccountId32, pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup285: pallet_unique::RawEvent<sp_core::crypto::AccountId32, pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   PalletUniqueRawEvent: {
     _enum: {
@@ -2181,7 +2192,7 @@
     }
   },
   /**
-   * Lookup283: pallet_unique_scheduler::pallet::Event<T>
+   * Lookup286: pallet_unique_scheduler::pallet::Event<T>
    **/
   PalletUniqueSchedulerEvent: {
     _enum: {
@@ -2206,13 +2217,13 @@
     }
   },
   /**
-   * Lookup285: frame_support::traits::schedule::LookupError
+   * Lookup288: frame_support::traits::schedule::LookupError
    **/
   FrameSupportScheduleLookupError: {
     _enum: ['Unknown', 'BadFormat']
   },
   /**
-   * Lookup286: pallet_common::pallet::Event<T>
+   * Lookup289: pallet_common::pallet::Event<T>
    **/
   PalletCommonEvent: {
     _enum: {
@@ -2230,7 +2241,7 @@
     }
   },
   /**
-   * Lookup287: pallet_structure::pallet::Event<T>
+   * Lookup290: pallet_structure::pallet::Event<T>
    **/
   PalletStructureEvent: {
     _enum: {
@@ -2238,7 +2249,7 @@
     }
   },
   /**
-   * Lookup288: pallet_rmrk_core::pallet::Event<T>
+   * Lookup291: pallet_rmrk_core::pallet::Event<T>
    **/
   PalletRmrkCoreEvent: {
     _enum: {
@@ -2315,7 +2326,7 @@
     }
   },
   /**
-   * Lookup289: pallet_rmrk_equip::pallet::Event<T>
+   * Lookup292: pallet_rmrk_equip::pallet::Event<T>
    **/
   PalletRmrkEquipEvent: {
     _enum: {
@@ -2326,7 +2337,7 @@
     }
   },
   /**
-   * Lookup290: pallet_evm::pallet::Event<T>
+   * Lookup293: pallet_evm::pallet::Event<T>
    **/
   PalletEvmEvent: {
     _enum: {
@@ -2340,7 +2351,7 @@
     }
   },
   /**
-   * Lookup291: ethereum::log::Log
+   * Lookup294: ethereum::log::Log
    **/
   EthereumLog: {
     address: 'H160',
@@ -2348,7 +2359,7 @@
     data: 'Bytes'
   },
   /**
-   * Lookup292: pallet_ethereum::pallet::Event
+   * Lookup295: pallet_ethereum::pallet::Event
    **/
   PalletEthereumEvent: {
     _enum: {
@@ -2356,7 +2367,7 @@
     }
   },
   /**
-   * Lookup293: evm_core::error::ExitReason
+   * Lookup296: evm_core::error::ExitReason
    **/
   EvmCoreErrorExitReason: {
     _enum: {
@@ -2367,13 +2378,13 @@
     }
   },
   /**
-   * Lookup294: evm_core::error::ExitSucceed
+   * Lookup297: evm_core::error::ExitSucceed
    **/
   EvmCoreErrorExitSucceed: {
     _enum: ['Stopped', 'Returned', 'Suicided']
   },
   /**
-   * Lookup295: evm_core::error::ExitError
+   * Lookup298: evm_core::error::ExitError
    **/
   EvmCoreErrorExitError: {
     _enum: {
@@ -2395,13 +2406,13 @@
     }
   },
   /**
-   * Lookup298: evm_core::error::ExitRevert
+   * Lookup301: evm_core::error::ExitRevert
    **/
   EvmCoreErrorExitRevert: {
     _enum: ['Reverted']
   },
   /**
-   * Lookup299: evm_core::error::ExitFatal
+   * Lookup302: evm_core::error::ExitFatal
    **/
   EvmCoreErrorExitFatal: {
     _enum: {
@@ -2412,7 +2423,7 @@
     }
   },
   /**
-   * Lookup300: frame_system::Phase
+   * Lookup303: frame_system::Phase
    **/
   FrameSystemPhase: {
     _enum: {
@@ -2422,14 +2433,14 @@
     }
   },
   /**
-   * Lookup302: frame_system::LastRuntimeUpgradeInfo
+   * Lookup305: frame_system::LastRuntimeUpgradeInfo
    **/
   FrameSystemLastRuntimeUpgradeInfo: {
     specVersion: 'Compact<u32>',
     specName: 'Text'
   },
   /**
-   * Lookup303: frame_system::limits::BlockWeights
+   * Lookup306: frame_system::limits::BlockWeights
    **/
   FrameSystemLimitsBlockWeights: {
     baseBlock: 'u64',
@@ -2437,7 +2448,7 @@
     perClass: 'FrameSupportWeightsPerDispatchClassWeightsPerClass'
   },
   /**
-   * Lookup304: frame_support::weights::PerDispatchClass<frame_system::limits::WeightsPerClass>
+   * Lookup307: frame_support::weights::PerDispatchClass<frame_system::limits::WeightsPerClass>
    **/
   FrameSupportWeightsPerDispatchClassWeightsPerClass: {
     normal: 'FrameSystemLimitsWeightsPerClass',
@@ -2445,7 +2456,7 @@
     mandatory: 'FrameSystemLimitsWeightsPerClass'
   },
   /**
-   * Lookup305: frame_system::limits::WeightsPerClass
+   * Lookup308: frame_system::limits::WeightsPerClass
    **/
   FrameSystemLimitsWeightsPerClass: {
     baseExtrinsic: 'u64',
@@ -2454,13 +2465,13 @@
     reserved: 'Option<u64>'
   },
   /**
-   * Lookup307: frame_system::limits::BlockLength
+   * Lookup310: frame_system::limits::BlockLength
    **/
   FrameSystemLimitsBlockLength: {
     max: 'FrameSupportWeightsPerDispatchClassU32'
   },
   /**
-   * Lookup308: frame_support::weights::PerDispatchClass<T>
+   * Lookup311: frame_support::weights::PerDispatchClass<T>
    **/
   FrameSupportWeightsPerDispatchClassU32: {
     normal: 'u32',
@@ -2468,14 +2479,14 @@
     mandatory: 'u32'
   },
   /**
-   * Lookup309: frame_support::weights::RuntimeDbWeight
+   * Lookup312: frame_support::weights::RuntimeDbWeight
    **/
   FrameSupportWeightsRuntimeDbWeight: {
     read: 'u64',
     write: 'u64'
   },
   /**
-   * Lookup310: sp_version::RuntimeVersion
+   * Lookup313: sp_version::RuntimeVersion
    **/
   SpVersionRuntimeVersion: {
     specName: 'Text',
@@ -2488,19 +2499,19 @@
     stateVersion: 'u8'
   },
   /**
-   * Lookup314: frame_system::pallet::Error<T>
+   * Lookup317: frame_system::pallet::Error<T>
    **/
   FrameSystemError: {
     _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']
   },
   /**
-   * Lookup316: orml_vesting::module::Error<T>
+   * Lookup319: orml_vesting::module::Error<T>
    **/
   OrmlVestingModuleError: {
     _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']
   },
   /**
-   * Lookup318: cumulus_pallet_xcmp_queue::InboundChannelDetails
+   * Lookup321: cumulus_pallet_xcmp_queue::InboundChannelDetails
    **/
   CumulusPalletXcmpQueueInboundChannelDetails: {
     sender: 'u32',
@@ -2508,19 +2519,19 @@
     messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'
   },
   /**
-   * Lookup319: cumulus_pallet_xcmp_queue::InboundState
+   * Lookup322: cumulus_pallet_xcmp_queue::InboundState
    **/
   CumulusPalletXcmpQueueInboundState: {
     _enum: ['Ok', 'Suspended']
   },
   /**
-   * Lookup322: polkadot_parachain::primitives::XcmpMessageFormat
+   * Lookup325: polkadot_parachain::primitives::XcmpMessageFormat
    **/
   PolkadotParachainPrimitivesXcmpMessageFormat: {
     _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']
   },
   /**
-   * Lookup325: cumulus_pallet_xcmp_queue::OutboundChannelDetails
+   * Lookup328: cumulus_pallet_xcmp_queue::OutboundChannelDetails
    **/
   CumulusPalletXcmpQueueOutboundChannelDetails: {
     recipient: 'u32',
@@ -2530,13 +2541,13 @@
     lastIndex: 'u16'
   },
   /**
-   * Lookup326: cumulus_pallet_xcmp_queue::OutboundState
+   * Lookup329: cumulus_pallet_xcmp_queue::OutboundState
    **/
   CumulusPalletXcmpQueueOutboundState: {
     _enum: ['Ok', 'Suspended']
   },
   /**
-   * Lookup328: cumulus_pallet_xcmp_queue::QueueConfigData
+   * Lookup331: cumulus_pallet_xcmp_queue::QueueConfigData
    **/
   CumulusPalletXcmpQueueQueueConfigData: {
     suspendThreshold: 'u32',
@@ -2547,29 +2558,29 @@
     xcmpMaxIndividualWeight: 'u64'
   },
   /**
-   * Lookup330: cumulus_pallet_xcmp_queue::pallet::Error<T>
+   * Lookup333: cumulus_pallet_xcmp_queue::pallet::Error<T>
    **/
   CumulusPalletXcmpQueueError: {
     _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']
   },
   /**
-   * Lookup331: pallet_xcm::pallet::Error<T>
+   * Lookup334: pallet_xcm::pallet::Error<T>
    **/
   PalletXcmError: {
     _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']
   },
   /**
-   * Lookup332: cumulus_pallet_xcm::pallet::Error<T>
+   * Lookup335: cumulus_pallet_xcm::pallet::Error<T>
    **/
   CumulusPalletXcmError: 'Null',
   /**
-   * Lookup333: cumulus_pallet_dmp_queue::ConfigData
+   * Lookup336: cumulus_pallet_dmp_queue::ConfigData
    **/
   CumulusPalletDmpQueueConfigData: {
     maxIndividual: 'u64'
   },
   /**
-   * Lookup334: cumulus_pallet_dmp_queue::PageIndexData
+   * Lookup337: cumulus_pallet_dmp_queue::PageIndexData
    **/
   CumulusPalletDmpQueuePageIndexData: {
     beginUsed: 'u32',
@@ -2577,19 +2588,19 @@
     overweightCount: 'u64'
   },
   /**
-   * Lookup337: cumulus_pallet_dmp_queue::pallet::Error<T>
+   * Lookup340: cumulus_pallet_dmp_queue::pallet::Error<T>
    **/
   CumulusPalletDmpQueueError: {
     _enum: ['Unknown', 'OverLimit']
   },
   /**
-   * Lookup341: pallet_unique::Error<T>
+   * Lookup344: pallet_unique::Error<T>
    **/
   PalletUniqueError: {
     _enum: ['CollectionDecimalPointLimitExceeded', 'ConfirmUnsetSponsorFail', 'EmptyArgument']
   },
   /**
-   * Lookup344: pallet_unique_scheduler::ScheduledV3<frame_support::traits::schedule::MaybeHashed<opal_runtime::Call, primitive_types::H256>, BlockNumber, opal_runtime::OriginCaller, sp_core::crypto::AccountId32>
+   * Lookup347: pallet_unique_scheduler::ScheduledV3<frame_support::traits::schedule::MaybeHashed<opal_runtime::Call, primitive_types::H256>, BlockNumber, opal_runtime::OriginCaller, sp_core::crypto::AccountId32>
    **/
   PalletUniqueSchedulerScheduledV3: {
     maybeId: 'Option<[u8;16]>',
@@ -2599,7 +2610,7 @@
     origin: 'OpalRuntimeOriginCaller'
   },
   /**
-   * Lookup345: opal_runtime::OriginCaller
+   * Lookup348: opal_runtime::OriginCaller
    **/
   OpalRuntimeOriginCaller: {
     _enum: {
@@ -2708,7 +2719,7 @@
     }
   },
   /**
-   * Lookup346: frame_support::dispatch::RawOrigin<sp_core::crypto::AccountId32>
+   * Lookup349: frame_support::dispatch::RawOrigin<sp_core::crypto::AccountId32>
    **/
   FrameSupportDispatchRawOrigin: {
     _enum: {
@@ -2718,7 +2729,7 @@
     }
   },
   /**
-   * Lookup347: pallet_xcm::pallet::Origin
+   * Lookup350: pallet_xcm::pallet::Origin
    **/
   PalletXcmOrigin: {
     _enum: {
@@ -2727,7 +2738,7 @@
     }
   },
   /**
-   * Lookup348: cumulus_pallet_xcm::pallet::Origin
+   * Lookup351: cumulus_pallet_xcm::pallet::Origin
    **/
   CumulusPalletXcmOrigin: {
     _enum: {
@@ -2736,7 +2747,7 @@
     }
   },
   /**
-   * Lookup349: pallet_ethereum::RawOrigin
+   * Lookup352: pallet_ethereum::RawOrigin
    **/
   PalletEthereumRawOrigin: {
     _enum: {
@@ -2744,17 +2755,17 @@
     }
   },
   /**
-   * Lookup350: sp_core::Void
+   * Lookup353: sp_core::Void
    **/
   SpCoreVoid: 'Null',
   /**
-   * Lookup351: pallet_unique_scheduler::pallet::Error<T>
+   * Lookup354: pallet_unique_scheduler::pallet::Error<T>
    **/
   PalletUniqueSchedulerError: {
     _enum: ['FailedToSchedule', 'NotFound', 'TargetBlockNumberInPast', 'RescheduleNoChange']
   },
   /**
-   * Lookup352: up_data_structs::Collection<sp_core::crypto::AccountId32>
+   * Lookup355: up_data_structs::Collection<sp_core::crypto::AccountId32>
    **/
   UpDataStructsCollection: {
     owner: 'AccountId32',
@@ -2768,7 +2779,7 @@
     externalCollection: 'bool'
   },
   /**
-   * Lookup353: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>
+   * Lookup356: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>
    **/
   UpDataStructsSponsorshipState: {
     _enum: {
@@ -2778,7 +2789,7 @@
     }
   },
   /**
-   * Lookup354: up_data_structs::Properties
+   * Lookup357: up_data_structs::Properties
    **/
   UpDataStructsProperties: {
     map: 'UpDataStructsPropertiesMapBoundedVec',
@@ -2786,15 +2797,15 @@
     spaceLimit: 'u32'
   },
   /**
-   * Lookup355: up_data_structs::PropertiesMap<frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   * Lookup358: up_data_structs::PropertiesMap<frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
   UpDataStructsPropertiesMapBoundedVec: 'BTreeMap<Bytes, Bytes>',
   /**
-   * Lookup360: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>
+   * Lookup363: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>
    **/
   UpDataStructsPropertiesMapPropertyPermission: 'BTreeMap<Bytes, UpDataStructsPropertyPermission>',
   /**
-   * Lookup367: up_data_structs::CollectionStats
+   * Lookup370: up_data_structs::CollectionStats
    **/
   UpDataStructsCollectionStats: {
     created: 'u32',
@@ -2802,25 +2813,25 @@
     alive: 'u32'
   },
   /**
-   * Lookup368: up_data_structs::TokenChild
+   * Lookup371: up_data_structs::TokenChild
    **/
   UpDataStructsTokenChild: {
     token: 'u32',
     collection: 'u32'
   },
   /**
-   * Lookup369: PhantomType::up_data_structs<T>
+   * Lookup372: PhantomType::up_data_structs<T>
    **/
   PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,RmrkTraitsCollectionCollectionInfo,RmrkTraitsNftNftInfo,RmrkTraitsResourceResourceInfo,RmrkTraitsPropertyPropertyInfo,RmrkTraitsBaseBaseInfo,RmrkTraitsPartPartType,RmrkTraitsTheme,RmrkTraitsNftNftChild);0]',
   /**
-   * Lookup371: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup374: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsTokenData: {
     properties: 'Vec<UpDataStructsProperty>',
     owner: 'Option<PalletEvmAccountBasicCrossAccountIdRepr>'
   },
   /**
-   * Lookup373: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>
+   * Lookup376: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>
    **/
   UpDataStructsRpcCollection: {
     owner: 'AccountId32',
@@ -2836,7 +2847,7 @@
     readOnly: 'bool'
   },
   /**
-   * Lookup374: rmrk_traits::collection::CollectionInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>, sp_core::crypto::AccountId32>
+   * Lookup377: rmrk_traits::collection::CollectionInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>, sp_core::crypto::AccountId32>
    **/
   RmrkTraitsCollectionCollectionInfo: {
     issuer: 'AccountId32',
@@ -2846,7 +2857,7 @@
     nftsCount: 'u32'
   },
   /**
-   * Lookup375: rmrk_traits::nft::NftInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill, frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   * Lookup378: rmrk_traits::nft::NftInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill, frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsNftNftInfo: {
     owner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',
@@ -2856,14 +2867,14 @@
     pending: 'bool'
   },
   /**
-   * Lookup377: rmrk_traits::nft::RoyaltyInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill>
+   * Lookup380: rmrk_traits::nft::RoyaltyInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill>
    **/
   RmrkTraitsNftRoyaltyInfo: {
     recipient: 'AccountId32',
     amount: 'Permill'
   },
   /**
-   * Lookup378: rmrk_traits::resource::ResourceInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   * Lookup381: rmrk_traits::resource::ResourceInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsResourceResourceInfo: {
     id: 'u32',
@@ -2872,24 +2883,14 @@
     pendingRemoval: 'bool'
   },
   /**
-   * Lookup379: rmrk_traits::resource::ResourceTypes<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
-   **/
-  RmrkTraitsResourceResourceTypes: {
-    _enum: {
-      Basic: 'RmrkTraitsResourceBasicResource',
-      Composable: 'RmrkTraitsResourceComposableResource',
-      Slot: 'RmrkTraitsResourceSlotResource'
-    }
-  },
-  /**
-   * Lookup380: rmrk_traits::property::PropertyInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   * Lookup382: rmrk_traits::property::PropertyInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsPropertyPropertyInfo: {
     key: 'Bytes',
     value: 'Bytes'
   },
   /**
-   * Lookup381: rmrk_traits::base::BaseInfo<sp_core::crypto::AccountId32, frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   * Lookup383: rmrk_traits::base::BaseInfo<sp_core::crypto::AccountId32, frame_support::storage::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsBaseBaseInfo: {
     issuer: 'AccountId32',
@@ -2897,74 +2898,74 @@
     symbol: 'Bytes'
   },
   /**
-   * Lookup382: rmrk_traits::nft::NftChild
+   * Lookup384: rmrk_traits::nft::NftChild
    **/
   RmrkTraitsNftNftChild: {
     collectionId: 'u32',
     nftId: 'u32'
   },
   /**
-   * Lookup384: pallet_common::pallet::Error<T>
+   * Lookup386: 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', 'UserIsNotAllowedToNest', 'SourceCollectionIsNotAllowedToNest', 'CollectionFieldSizeExceeded', 'NoSpaceForProperty', 'PropertyLimitReached', 'PropertyKeyIsTooLong', 'InvalidCharacterInPropertyKey', 'EmptyPropertyKey', 'CollectionIsExternal', 'CollectionIsInternal']
   },
   /**
-   * Lookup386: pallet_fungible::pallet::Error<T>
+   * Lookup388: pallet_fungible::pallet::Error<T>
    **/
   PalletFungibleError: {
     _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed']
   },
   /**
-   * Lookup387: pallet_refungible::ItemData
+   * Lookup389: pallet_refungible::ItemData
    **/
   PalletRefungibleItemData: {
     constData: 'Bytes'
   },
   /**
-   * Lookup391: pallet_refungible::pallet::Error<T>
+   * Lookup393: pallet_refungible::pallet::Error<T>
    **/
   PalletRefungibleError: {
     _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed']
   },
   /**
-   * Lookup392: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup394: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   PalletNonfungibleItemData: {
     owner: 'PalletEvmAccountBasicCrossAccountIdRepr'
   },
   /**
-   * Lookup394: pallet_nonfungible::pallet::Error<T>
+   * Lookup396: pallet_nonfungible::pallet::Error<T>
    **/
   PalletNonfungibleError: {
     _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren']
   },
   /**
-   * Lookup395: pallet_structure::pallet::Error<T>
+   * Lookup397: pallet_structure::pallet::Error<T>
    **/
   PalletStructureError: {
     _enum: ['OuroborosDetected', 'DepthLimit', 'BreadthLimit', 'TokenNotFound']
   },
   /**
-   * Lookup396: pallet_rmrk_core::pallet::Error<T>
+   * Lookup398: pallet_rmrk_core::pallet::Error<T>
    **/
   PalletRmrkCoreError: {
-    _enum: ['CorruptedCollectionType', 'NftTypeEncodeError', 'RmrkPropertyKeyIsTooLong', 'RmrkPropertyValueIsTooLong', 'CollectionNotEmpty', 'NoAvailableCollectionId', 'NoAvailableNftId', 'CollectionUnknown', 'NoPermission', 'NonTransferable', 'CollectionFullOrLocked', 'ResourceDoesntExist', 'CannotSendToDescendentOrSelf', 'CannotAcceptNonOwnedNft', 'CannotRejectNonOwnedNft', 'ResourceNotPending']
+    _enum: ['CorruptedCollectionType', 'NftTypeEncodeError', 'RmrkPropertyKeyIsTooLong', 'RmrkPropertyValueIsTooLong', 'UnableToDecodeRmrkData', 'CollectionNotEmpty', 'NoAvailableCollectionId', 'NoAvailableNftId', 'CollectionUnknown', 'NoPermission', 'NonTransferable', 'CollectionFullOrLocked', 'ResourceDoesntExist', 'CannotSendToDescendentOrSelf', 'CannotAcceptNonOwnedNft', 'CannotRejectNonOwnedNft', 'ResourceNotPending']
   },
   /**
-   * Lookup398: pallet_rmrk_equip::pallet::Error<T>
+   * Lookup400: pallet_rmrk_equip::pallet::Error<T>
    **/
   PalletRmrkEquipError: {
     _enum: ['PermissionError', 'NoAvailableBaseId', 'NoAvailablePartId', 'BaseDoesntExist', 'NeedsDefaultThemeFirst']
   },
   /**
-   * Lookup401: pallet_evm::pallet::Error<T>
+   * Lookup403: pallet_evm::pallet::Error<T>
    **/
   PalletEvmError: {
     _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce']
   },
   /**
-   * Lookup404: fp_rpc::TransactionStatus
+   * Lookup406: fp_rpc::TransactionStatus
    **/
   FpRpcTransactionStatus: {
     transactionHash: 'H256',
@@ -2976,11 +2977,11 @@
     logsBloom: 'EthbloomBloom'
   },
   /**
-   * Lookup406: ethbloom::Bloom
+   * Lookup408: ethbloom::Bloom
    **/
   EthbloomBloom: '[u8;256]',
   /**
-   * Lookup408: ethereum::receipt::ReceiptV3
+   * Lookup410: ethereum::receipt::ReceiptV3
    **/
   EthereumReceiptReceiptV3: {
     _enum: {
@@ -2990,7 +2991,7 @@
     }
   },
   /**
-   * Lookup409: ethereum::receipt::EIP658ReceiptData
+   * Lookup411: ethereum::receipt::EIP658ReceiptData
    **/
   EthereumReceiptEip658ReceiptData: {
     statusCode: 'u8',
@@ -2999,7 +3000,7 @@
     logs: 'Vec<EthereumLog>'
   },
   /**
-   * Lookup410: ethereum::block::Block<ethereum::transaction::TransactionV2>
+   * Lookup412: ethereum::block::Block<ethereum::transaction::TransactionV2>
    **/
   EthereumBlock: {
     header: 'EthereumHeader',
@@ -3007,7 +3008,7 @@
     ommers: 'Vec<EthereumHeader>'
   },
   /**
-   * Lookup411: ethereum::header::Header
+   * Lookup413: ethereum::header::Header
    **/
   EthereumHeader: {
     parentHash: 'H256',
@@ -3027,41 +3028,41 @@
     nonce: 'EthereumTypesHashH64'
   },
   /**
-   * Lookup412: ethereum_types::hash::H64
+   * Lookup414: ethereum_types::hash::H64
    **/
   EthereumTypesHashH64: '[u8;8]',
   /**
-   * Lookup417: pallet_ethereum::pallet::Error<T>
+   * Lookup419: pallet_ethereum::pallet::Error<T>
    **/
   PalletEthereumError: {
     _enum: ['InvalidSignature', 'PreLogExists']
   },
   /**
-   * Lookup418: pallet_evm_coder_substrate::pallet::Error<T>
+   * Lookup420: pallet_evm_coder_substrate::pallet::Error<T>
    **/
   PalletEvmCoderSubstrateError: {
     _enum: ['OutOfGas', 'OutOfFund']
   },
   /**
-   * Lookup419: pallet_evm_contract_helpers::SponsoringModeT
+   * Lookup421: pallet_evm_contract_helpers::SponsoringModeT
    **/
   PalletEvmContractHelpersSponsoringModeT: {
     _enum: ['Disabled', 'Allowlisted', 'Generous']
   },
   /**
-   * Lookup421: pallet_evm_contract_helpers::pallet::Error<T>
+   * Lookup423: pallet_evm_contract_helpers::pallet::Error<T>
    **/
   PalletEvmContractHelpersError: {
     _enum: ['NoPermission']
   },
   /**
-   * Lookup422: pallet_evm_migration::pallet::Error<T>
+   * Lookup424: pallet_evm_migration::pallet::Error<T>
    **/
   PalletEvmMigrationError: {
     _enum: ['AccountNotEmpty', 'AccountIsNotMigrating']
   },
   /**
-   * Lookup424: sp_runtime::MultiSignature
+   * Lookup426: sp_runtime::MultiSignature
    **/
   SpRuntimeMultiSignature: {
     _enum: {
@@ -3071,43 +3072,43 @@
     }
   },
   /**
-   * Lookup425: sp_core::ed25519::Signature
+   * Lookup427: sp_core::ed25519::Signature
    **/
   SpCoreEd25519Signature: '[u8;64]',
   /**
-   * Lookup427: sp_core::sr25519::Signature
+   * Lookup429: sp_core::sr25519::Signature
    **/
   SpCoreSr25519Signature: '[u8;64]',
   /**
-   * Lookup428: sp_core::ecdsa::Signature
+   * Lookup430: sp_core::ecdsa::Signature
    **/
   SpCoreEcdsaSignature: '[u8;65]',
   /**
-   * Lookup431: frame_system::extensions::check_spec_version::CheckSpecVersion<T>
+   * Lookup433: frame_system::extensions::check_spec_version::CheckSpecVersion<T>
    **/
   FrameSystemExtensionsCheckSpecVersion: 'Null',
   /**
-   * Lookup432: frame_system::extensions::check_genesis::CheckGenesis<T>
+   * Lookup434: frame_system::extensions::check_genesis::CheckGenesis<T>
    **/
   FrameSystemExtensionsCheckGenesis: 'Null',
   /**
-   * Lookup435: frame_system::extensions::check_nonce::CheckNonce<T>
+   * Lookup437: frame_system::extensions::check_nonce::CheckNonce<T>
    **/
   FrameSystemExtensionsCheckNonce: 'Compact<u32>',
   /**
-   * Lookup436: frame_system::extensions::check_weight::CheckWeight<T>
+   * Lookup438: frame_system::extensions::check_weight::CheckWeight<T>
    **/
   FrameSystemExtensionsCheckWeight: 'Null',
   /**
-   * Lookup437: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>
+   * Lookup439: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>
    **/
   PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',
   /**
-   * Lookup438: opal_runtime::Runtime
+   * Lookup440: opal_runtime::Runtime
    **/
   OpalRuntimeRuntime: 'Null',
   /**
-   * Lookup439: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>
+   * Lookup441: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>
    **/
   PalletEthereumFakeTransactionFinalizer: 'Null'
 };
modifiedtests/src/interfaces/types-lookup.tsdiffbeforeafterboth
1562 /** @name UpDataStructsNestingPermissions (169) */1562 /** @name UpDataStructsNestingPermissions (169) */
1563 export interface UpDataStructsNestingPermissions extends Struct {1563 export interface UpDataStructsNestingPermissions extends Struct {
1564 readonly tokenOwner: bool;1564 readonly tokenOwner: bool;
1565 readonly admin: bool;1565 readonly collectionAdmin: bool;
1566 readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;1566 readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;
1567 readonly permissive: bool;1567 readonly permissive: bool;
1568 }1568 }
1719 readonly royaltyAmount: Option<Permill>;1719 readonly royaltyAmount: Option<Permill>;
1720 readonly metadata: Bytes;1720 readonly metadata: Bytes;
1721 readonly transferable: bool;1721 readonly transferable: bool;
1722 readonly resources: Option<Vec<RmrkTraitsResourceResourceTypes>>;
1722 } & Struct;1723 } & Struct;
1723 readonly isBurnNft: boolean;1724 readonly isBurnNft: boolean;
1724 readonly asBurnNft: {1725 readonly asBurnNft: {
1725 readonly collectionId: u32;1726 readonly collectionId: u32;
1726 readonly nftId: u32;1727 readonly nftId: u32;
1728 readonly maxBurns: u32;
1727 } & Struct;1729 } & Struct;
1728 readonly isSend: boolean;1730 readonly isSend: boolean;
1729 readonly asSend: {1731 readonly asSend: {
1777 readonly asAddComposableResource: {1779 readonly asAddComposableResource: {
1778 readonly rmrkCollectionId: u32;1780 readonly rmrkCollectionId: u32;
1779 readonly nftId: u32;1781 readonly nftId: u32;
1780 readonly resourceId: Bytes;
1781 readonly resource: RmrkTraitsResourceComposableResource;1782 readonly resource: RmrkTraitsResourceComposableResource;
1782 } & Struct;1783 } & Struct;
1783 readonly isAddSlotResource: boolean;1784 readonly isAddSlotResource: boolean;
1795 readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'Send' | 'AcceptNft' | 'RejectNft' | 'AcceptResource' | 'AcceptResourceRemoval' | 'SetProperty' | 'SetPriority' | 'AddBasicResource' | 'AddComposableResource' | 'AddSlotResource' | 'RemoveResource';1796 readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'Send' | 'AcceptNft' | 'RejectNft' | 'AcceptResource' | 'AcceptResourceRemoval' | 'SetProperty' | 'SetPriority' | 'AddBasicResource' | 'AddComposableResource' | 'AddSlotResource' | 'RemoveResource';
1796 }1797 }
17971798
1798 /** @name RmrkTraitsNftAccountIdOrCollectionNftTuple (215) */1799 /** @name RmrkTraitsResourceResourceTypes (217) */
1799 export interface RmrkTraitsNftAccountIdOrCollectionNftTuple extends Enum {1800 export interface RmrkTraitsResourceResourceTypes extends Enum {
1800 readonly isAccountId: boolean;1801 readonly isBasic: boolean;
1801 readonly asAccountId: AccountId32;1802 readonly asBasic: RmrkTraitsResourceBasicResource;
1802 readonly isCollectionAndNftTuple: boolean;1803 readonly isComposable: boolean;
1803 readonly asCollectionAndNftTuple: ITuple<[u32, u32]>;1804 readonly asComposable: RmrkTraitsResourceComposableResource;
1805 readonly isSlot: boolean;
1806 readonly asSlot: RmrkTraitsResourceSlotResource;
1804 readonly type: 'AccountId' | 'CollectionAndNftTuple';1807 readonly type: 'Basic' | 'Composable' | 'Slot';
1805 }1808 }
18061809
1807 /** @name RmrkTraitsResourceBasicResource (219) */1810 /** @name RmrkTraitsResourceBasicResource (219) */
1812 readonly thumb: Option<Bytes>;1815 readonly thumb: Option<Bytes>;
1813 }1816 }
18141817
1815 /** @name RmrkTraitsResourceComposableResource (222) */1818 /** @name RmrkTraitsResourceComposableResource (221) */
1816 export interface RmrkTraitsResourceComposableResource extends Struct {1819 export interface RmrkTraitsResourceComposableResource extends Struct {
1817 readonly parts: Vec<u32>;1820 readonly parts: Vec<u32>;
1818 readonly base: u32;1821 readonly base: u32;
1822 readonly thumb: Option<Bytes>;1825 readonly thumb: Option<Bytes>;
1823 }1826 }
18241827
1825 /** @name RmrkTraitsResourceSlotResource (224) */1828 /** @name RmrkTraitsResourceSlotResource (222) */
1826 export interface RmrkTraitsResourceSlotResource extends Struct {1829 export interface RmrkTraitsResourceSlotResource extends Struct {
1827 readonly base: u32;1830 readonly base: u32;
1828 readonly src: Option<Bytes>;1831 readonly src: Option<Bytes>;
1832 readonly thumb: Option<Bytes>;1835 readonly thumb: Option<Bytes>;
1833 }1836 }
1837
1838 /** @name RmrkTraitsNftAccountIdOrCollectionNftTuple (224) */
1839 export interface RmrkTraitsNftAccountIdOrCollectionNftTuple extends Enum {
1840 readonly isAccountId: boolean;
1841 readonly asAccountId: AccountId32;
1842 readonly isCollectionAndNftTuple: boolean;
1843 readonly asCollectionAndNftTuple: ITuple<[u32, u32]>;
1844 readonly type: 'AccountId' | 'CollectionAndNftTuple';
1845 }
18341846
1835 /** @name PalletRmrkEquipCall (225) */1847 /** @name PalletRmrkEquipCall (228) */
1836 export interface PalletRmrkEquipCall extends Enum {1848 export interface PalletRmrkEquipCall extends Enum {
1837 readonly isCreateBase: boolean;1849 readonly isCreateBase: boolean;
1838 readonly asCreateBase: {1850 readonly asCreateBase: {
1848 readonly type: 'CreateBase' | 'ThemeAdd';1860 readonly type: 'CreateBase' | 'ThemeAdd';
1849 }1861 }
18501862
1851 /** @name RmrkTraitsPartPartType (227) */1863 /** @name RmrkTraitsPartPartType (230) */
1852 export interface RmrkTraitsPartPartType extends Enum {1864 export interface RmrkTraitsPartPartType extends Enum {
1853 readonly isFixedPart: boolean;1865 readonly isFixedPart: boolean;
1854 readonly asFixedPart: RmrkTraitsPartFixedPart;1866 readonly asFixedPart: RmrkTraitsPartFixedPart;
1857 readonly type: 'FixedPart' | 'SlotPart';1869 readonly type: 'FixedPart' | 'SlotPart';
1858 }1870 }
18591871
1860 /** @name RmrkTraitsPartFixedPart (229) */1872 /** @name RmrkTraitsPartFixedPart (232) */
1861 export interface RmrkTraitsPartFixedPart extends Struct {1873 export interface RmrkTraitsPartFixedPart extends Struct {
1862 readonly id: u32;1874 readonly id: u32;
1863 readonly z: u32;1875 readonly z: u32;
1864 readonly src: Bytes;1876 readonly src: Bytes;
1865 }1877 }
18661878
1867 /** @name RmrkTraitsPartSlotPart (230) */1879 /** @name RmrkTraitsPartSlotPart (233) */
1868 export interface RmrkTraitsPartSlotPart extends Struct {1880 export interface RmrkTraitsPartSlotPart extends Struct {
1869 readonly id: u32;1881 readonly id: u32;
1870 readonly equippable: RmrkTraitsPartEquippableList;1882 readonly equippable: RmrkTraitsPartEquippableList;
1871 readonly src: Bytes;1883 readonly src: Bytes;
1872 readonly z: u32;1884 readonly z: u32;
1873 }1885 }
18741886
1875 /** @name RmrkTraitsPartEquippableList (231) */1887 /** @name RmrkTraitsPartEquippableList (234) */
1876 export interface RmrkTraitsPartEquippableList extends Enum {1888 export interface RmrkTraitsPartEquippableList extends Enum {
1877 readonly isAll: boolean;1889 readonly isAll: boolean;
1878 readonly isEmpty: boolean;1890 readonly isEmpty: boolean;
1881 readonly type: 'All' | 'Empty' | 'Custom';1893 readonly type: 'All' | 'Empty' | 'Custom';
1882 }1894 }
18831895
1884 /** @name RmrkTraitsTheme (233) */1896 /** @name RmrkTraitsTheme (236) */
1885 export interface RmrkTraitsTheme extends Struct {1897 export interface RmrkTraitsTheme extends Struct {
1886 readonly name: Bytes;1898 readonly name: Bytes;
1887 readonly properties: Vec<RmrkTraitsThemeThemeProperty>;1899 readonly properties: Vec<RmrkTraitsThemeThemeProperty>;
1888 readonly inherit: bool;1900 readonly inherit: bool;
1889 }1901 }
18901902
1891 /** @name RmrkTraitsThemeThemeProperty (235) */1903 /** @name RmrkTraitsThemeThemeProperty (238) */
1892 export interface RmrkTraitsThemeThemeProperty extends Struct {1904 export interface RmrkTraitsThemeThemeProperty extends Struct {
1893 readonly key: Bytes;1905 readonly key: Bytes;
1894 readonly value: Bytes;1906 readonly value: Bytes;
1895 }1907 }
18961908
1897 /** @name PalletEvmCall (236) */1909 /** @name PalletEvmCall (239) */
1898 export interface PalletEvmCall extends Enum {1910 export interface PalletEvmCall extends Enum {
1899 readonly isWithdraw: boolean;1911 readonly isWithdraw: boolean;
1900 readonly asWithdraw: {1912 readonly asWithdraw: {
1939 readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';1951 readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';
1940 }1952 }
19411953
1942 /** @name PalletEthereumCall (242) */1954 /** @name PalletEthereumCall (245) */
1943 export interface PalletEthereumCall extends Enum {1955 export interface PalletEthereumCall extends Enum {
1944 readonly isTransact: boolean;1956 readonly isTransact: boolean;
1945 readonly asTransact: {1957 readonly asTransact: {
1948 readonly type: 'Transact';1960 readonly type: 'Transact';
1949 }1961 }
19501962
1951 /** @name EthereumTransactionTransactionV2 (243) */1963 /** @name EthereumTransactionTransactionV2 (246) */
1952 export interface EthereumTransactionTransactionV2 extends Enum {1964 export interface EthereumTransactionTransactionV2 extends Enum {
1953 readonly isLegacy: boolean;1965 readonly isLegacy: boolean;
1954 readonly asLegacy: EthereumTransactionLegacyTransaction;1966 readonly asLegacy: EthereumTransactionLegacyTransaction;
1959 readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';1971 readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
1960 }1972 }
19611973
1962 /** @name EthereumTransactionLegacyTransaction (244) */1974 /** @name EthereumTransactionLegacyTransaction (247) */
1963 export interface EthereumTransactionLegacyTransaction extends Struct {1975 export interface EthereumTransactionLegacyTransaction extends Struct {
1964 readonly nonce: U256;1976 readonly nonce: U256;
1965 readonly gasPrice: U256;1977 readonly gasPrice: U256;
1970 readonly signature: EthereumTransactionTransactionSignature;1982 readonly signature: EthereumTransactionTransactionSignature;
1971 }1983 }
19721984
1973 /** @name EthereumTransactionTransactionAction (245) */1985 /** @name EthereumTransactionTransactionAction (248) */
1974 export interface EthereumTransactionTransactionAction extends Enum {1986 export interface EthereumTransactionTransactionAction extends Enum {
1975 readonly isCall: boolean;1987 readonly isCall: boolean;
1976 readonly asCall: H160;1988 readonly asCall: H160;
1977 readonly isCreate: boolean;1989 readonly isCreate: boolean;
1978 readonly type: 'Call' | 'Create';1990 readonly type: 'Call' | 'Create';
1979 }1991 }
19801992
1981 /** @name EthereumTransactionTransactionSignature (246) */1993 /** @name EthereumTransactionTransactionSignature (249) */
1982 export interface EthereumTransactionTransactionSignature extends Struct {1994 export interface EthereumTransactionTransactionSignature extends Struct {
1983 readonly v: u64;1995 readonly v: u64;
1984 readonly r: H256;1996 readonly r: H256;
1985 readonly s: H256;1997 readonly s: H256;
1986 }1998 }
19871999
1988 /** @name EthereumTransactionEip2930Transaction (248) */2000 /** @name EthereumTransactionEip2930Transaction (251) */
1989 export interface EthereumTransactionEip2930Transaction extends Struct {2001 export interface EthereumTransactionEip2930Transaction extends Struct {
1990 readonly chainId: u64;2002 readonly chainId: u64;
1991 readonly nonce: U256;2003 readonly nonce: U256;
2000 readonly s: H256;2012 readonly s: H256;
2001 }2013 }
20022014
2003 /** @name EthereumTransactionAccessListItem (250) */2015 /** @name EthereumTransactionAccessListItem (253) */
2004 export interface EthereumTransactionAccessListItem extends Struct {2016 export interface EthereumTransactionAccessListItem extends Struct {
2005 readonly address: H160;2017 readonly address: H160;
2006 readonly storageKeys: Vec<H256>;2018 readonly storageKeys: Vec<H256>;
2007 }2019 }
20082020
2009 /** @name EthereumTransactionEip1559Transaction (251) */2021 /** @name EthereumTransactionEip1559Transaction (254) */
2010 export interface EthereumTransactionEip1559Transaction extends Struct {2022 export interface EthereumTransactionEip1559Transaction extends Struct {
2011 readonly chainId: u64;2023 readonly chainId: u64;
2012 readonly nonce: U256;2024 readonly nonce: U256;
2022 readonly s: H256;2034 readonly s: H256;
2023 }2035 }
20242036
2025 /** @name PalletEvmMigrationCall (252) */2037 /** @name PalletEvmMigrationCall (255) */
2026 export interface PalletEvmMigrationCall extends Enum {2038 export interface PalletEvmMigrationCall extends Enum {
2027 readonly isBegin: boolean;2039 readonly isBegin: boolean;
2028 readonly asBegin: {2040 readonly asBegin: {
2041 readonly type: 'Begin' | 'SetData' | 'Finish';2053 readonly type: 'Begin' | 'SetData' | 'Finish';
2042 }2054 }
20432055
2044 /** @name PalletSudoEvent (255) */2056 /** @name PalletSudoEvent (258) */
2045 export interface PalletSudoEvent extends Enum {2057 export interface PalletSudoEvent extends Enum {
2046 readonly isSudid: boolean;2058 readonly isSudid: boolean;
2047 readonly asSudid: {2059 readonly asSudid: {
2058 readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';2070 readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';
2059 }2071 }
20602072
2061 /** @name SpRuntimeDispatchError (257) */2073 /** @name SpRuntimeDispatchError (260) */
2062 export interface SpRuntimeDispatchError extends Enum {2074 export interface SpRuntimeDispatchError extends Enum {
2063 readonly isOther: boolean;2075 readonly isOther: boolean;
2064 readonly isCannotLookup: boolean;2076 readonly isCannotLookup: boolean;
2077 readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional';2089 readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional';
2078 }2090 }
20792091
2080 /** @name SpRuntimeModuleError (258) */2092 /** @name SpRuntimeModuleError (261) */
2081 export interface SpRuntimeModuleError extends Struct {2093 export interface SpRuntimeModuleError extends Struct {
2082 readonly index: u8;2094 readonly index: u8;
2083 readonly error: U8aFixed;2095 readonly error: U8aFixed;
2084 }2096 }
20852097
2086 /** @name SpRuntimeTokenError (259) */2098 /** @name SpRuntimeTokenError (262) */
2087 export interface SpRuntimeTokenError extends Enum {2099 export interface SpRuntimeTokenError extends Enum {
2088 readonly isNoFunds: boolean;2100 readonly isNoFunds: boolean;
2089 readonly isWouldDie: boolean;2101 readonly isWouldDie: boolean;
2095 readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported';2107 readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported';
2096 }2108 }
20972109
2098 /** @name SpRuntimeArithmeticError (260) */2110 /** @name SpRuntimeArithmeticError (263) */
2099 export interface SpRuntimeArithmeticError extends Enum {2111 export interface SpRuntimeArithmeticError extends Enum {
2100 readonly isUnderflow: boolean;2112 readonly isUnderflow: boolean;
2101 readonly isOverflow: boolean;2113 readonly isOverflow: boolean;
2102 readonly isDivisionByZero: boolean;2114 readonly isDivisionByZero: boolean;
2103 readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';2115 readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';
2104 }2116 }
21052117
2106 /** @name SpRuntimeTransactionalError (261) */2118 /** @name SpRuntimeTransactionalError (264) */
2107 export interface SpRuntimeTransactionalError extends Enum {2119 export interface SpRuntimeTransactionalError extends Enum {
2108 readonly isLimitReached: boolean;2120 readonly isLimitReached: boolean;
2109 readonly isNoLayer: boolean;2121 readonly isNoLayer: boolean;
2110 readonly type: 'LimitReached' | 'NoLayer';2122 readonly type: 'LimitReached' | 'NoLayer';
2111 }2123 }
21122124
2113 /** @name PalletSudoError (262) */2125 /** @name PalletSudoError (265) */
2114 export interface PalletSudoError extends Enum {2126 export interface PalletSudoError extends Enum {
2115 readonly isRequireSudo: boolean;2127 readonly isRequireSudo: boolean;
2116 readonly type: 'RequireSudo';2128 readonly type: 'RequireSudo';
2117 }2129 }
21182130
2119 /** @name FrameSystemAccountInfo (263) */2131 /** @name FrameSystemAccountInfo (266) */
2120 export interface FrameSystemAccountInfo extends Struct {2132 export interface FrameSystemAccountInfo extends Struct {
2121 readonly nonce: u32;2133 readonly nonce: u32;
2122 readonly consumers: u32;2134 readonly consumers: u32;
2125 readonly data: PalletBalancesAccountData;2137 readonly data: PalletBalancesAccountData;
2126 }2138 }
21272139
2128 /** @name FrameSupportWeightsPerDispatchClassU64 (264) */2140 /** @name FrameSupportWeightsPerDispatchClassU64 (267) */
2129 export interface FrameSupportWeightsPerDispatchClassU64 extends Struct {2141 export interface FrameSupportWeightsPerDispatchClassU64 extends Struct {
2130 readonly normal: u64;2142 readonly normal: u64;
2131 readonly operational: u64;2143 readonly operational: u64;
2132 readonly mandatory: u64;2144 readonly mandatory: u64;
2133 }2145 }
21342146
2135 /** @name SpRuntimeDigest (265) */2147 /** @name SpRuntimeDigest (268) */
2136 export interface SpRuntimeDigest extends Struct {2148 export interface SpRuntimeDigest extends Struct {
2137 readonly logs: Vec<SpRuntimeDigestDigestItem>;2149 readonly logs: Vec<SpRuntimeDigestDigestItem>;
2138 }2150 }
21392151
2140 /** @name SpRuntimeDigestDigestItem (267) */2152 /** @name SpRuntimeDigestDigestItem (270) */
2141 export interface SpRuntimeDigestDigestItem extends Enum {2153 export interface SpRuntimeDigestDigestItem extends Enum {
2142 readonly isOther: boolean;2154 readonly isOther: boolean;
2143 readonly asOther: Bytes;2155 readonly asOther: Bytes;
2151 readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated';2163 readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated';
2152 }2164 }
21532165
2154 /** @name FrameSystemEventRecord (269) */2166 /** @name FrameSystemEventRecord (272) */
2155 export interface FrameSystemEventRecord extends Struct {2167 export interface FrameSystemEventRecord extends Struct {
2156 readonly phase: FrameSystemPhase;2168 readonly phase: FrameSystemPhase;
2157 readonly event: Event;2169 readonly event: Event;
2158 readonly topics: Vec<H256>;2170 readonly topics: Vec<H256>;
2159 }2171 }
21602172
2161 /** @name FrameSystemEvent (271) */2173 /** @name FrameSystemEvent (274) */
2162 export interface FrameSystemEvent extends Enum {2174 export interface FrameSystemEvent extends Enum {
2163 readonly isExtrinsicSuccess: boolean;2175 readonly isExtrinsicSuccess: boolean;
2164 readonly asExtrinsicSuccess: {2176 readonly asExtrinsicSuccess: {
2186 readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked';2198 readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked';
2187 }2199 }
21882200
2189 /** @name FrameSupportWeightsDispatchInfo (272) */2201 /** @name FrameSupportWeightsDispatchInfo (275) */
2190 export interface FrameSupportWeightsDispatchInfo extends Struct {2202 export interface FrameSupportWeightsDispatchInfo extends Struct {
2191 readonly weight: u64;2203 readonly weight: u64;
2192 readonly class: FrameSupportWeightsDispatchClass;2204 readonly class: FrameSupportWeightsDispatchClass;
2193 readonly paysFee: FrameSupportWeightsPays;2205 readonly paysFee: FrameSupportWeightsPays;
2194 }2206 }
21952207
2196 /** @name FrameSupportWeightsDispatchClass (273) */2208 /** @name FrameSupportWeightsDispatchClass (276) */
2197 export interface FrameSupportWeightsDispatchClass extends Enum {2209 export interface FrameSupportWeightsDispatchClass extends Enum {
2198 readonly isNormal: boolean;2210 readonly isNormal: boolean;
2199 readonly isOperational: boolean;2211 readonly isOperational: boolean;
2200 readonly isMandatory: boolean;2212 readonly isMandatory: boolean;
2201 readonly type: 'Normal' | 'Operational' | 'Mandatory';2213 readonly type: 'Normal' | 'Operational' | 'Mandatory';
2202 }2214 }
22032215
2204 /** @name FrameSupportWeightsPays (274) */2216 /** @name FrameSupportWeightsPays (277) */
2205 export interface FrameSupportWeightsPays extends Enum {2217 export interface FrameSupportWeightsPays extends Enum {
2206 readonly isYes: boolean;2218 readonly isYes: boolean;
2207 readonly isNo: boolean;2219 readonly isNo: boolean;
2208 readonly type: 'Yes' | 'No';2220 readonly type: 'Yes' | 'No';
2209 }2221 }
22102222
2211 /** @name OrmlVestingModuleEvent (275) */2223 /** @name OrmlVestingModuleEvent (278) */
2212 export interface OrmlVestingModuleEvent extends Enum {2224 export interface OrmlVestingModuleEvent extends Enum {
2213 readonly isVestingScheduleAdded: boolean;2225 readonly isVestingScheduleAdded: boolean;
2214 readonly asVestingScheduleAdded: {2226 readonly asVestingScheduleAdded: {
2228 readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';2240 readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';
2229 }2241 }
22302242
2231 /** @name CumulusPalletXcmpQueueEvent (276) */2243 /** @name CumulusPalletXcmpQueueEvent (279) */
2232 export interface CumulusPalletXcmpQueueEvent extends Enum {2244 export interface CumulusPalletXcmpQueueEvent extends Enum {
2233 readonly isSuccess: boolean;2245 readonly isSuccess: boolean;
2234 readonly asSuccess: Option<H256>;2246 readonly asSuccess: Option<H256>;
2249 readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';2261 readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';
2250 }2262 }
22512263
2252 /** @name PalletXcmEvent (277) */2264 /** @name PalletXcmEvent (280) */
2253 export interface PalletXcmEvent extends Enum {2265 export interface PalletXcmEvent extends Enum {
2254 readonly isAttempted: boolean;2266 readonly isAttempted: boolean;
2255 readonly asAttempted: XcmV2TraitsOutcome;2267 readonly asAttempted: XcmV2TraitsOutcome;
2286 readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail';2298 readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail';
2287 }2299 }
22882300
2289 /** @name XcmV2TraitsOutcome (278) */2301 /** @name XcmV2TraitsOutcome (281) */
2290 export interface XcmV2TraitsOutcome extends Enum {2302 export interface XcmV2TraitsOutcome extends Enum {
2291 readonly isComplete: boolean;2303 readonly isComplete: boolean;
2292 readonly asComplete: u64;2304 readonly asComplete: u64;
2297 readonly type: 'Complete' | 'Incomplete' | 'Error';2309 readonly type: 'Complete' | 'Incomplete' | 'Error';
2298 }2310 }
22992311
2300 /** @name CumulusPalletXcmEvent (280) */2312 /** @name CumulusPalletXcmEvent (283) */
2301 export interface CumulusPalletXcmEvent extends Enum {2313 export interface CumulusPalletXcmEvent extends Enum {
2302 readonly isInvalidFormat: boolean;2314 readonly isInvalidFormat: boolean;
2303 readonly asInvalidFormat: U8aFixed;2315 readonly asInvalidFormat: U8aFixed;
2308 readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';2320 readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';
2309 }2321 }
23102322
2311 /** @name CumulusPalletDmpQueueEvent (281) */2323 /** @name CumulusPalletDmpQueueEvent (284) */
2312 export interface CumulusPalletDmpQueueEvent extends Enum {2324 export interface CumulusPalletDmpQueueEvent extends Enum {
2313 readonly isInvalidFormat: boolean;2325 readonly isInvalidFormat: boolean;
2314 readonly asInvalidFormat: U8aFixed;2326 readonly asInvalidFormat: U8aFixed;
2325 readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';2337 readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';
2326 }2338 }
23272339
2328 /** @name PalletUniqueRawEvent (282) */2340 /** @name PalletUniqueRawEvent (285) */
2329 export interface PalletUniqueRawEvent extends Enum {2341 export interface PalletUniqueRawEvent extends Enum {
2330 readonly isCollectionSponsorRemoved: boolean;2342 readonly isCollectionSponsorRemoved: boolean;
2331 readonly asCollectionSponsorRemoved: u32;2343 readonly asCollectionSponsorRemoved: u32;
2350 readonly type: 'CollectionSponsorRemoved' | 'CollectionAdminAdded' | 'CollectionOwnedChanged' | 'CollectionSponsorSet' | 'SponsorshipConfirmed' | 'CollectionAdminRemoved' | 'AllowListAddressRemoved' | 'AllowListAddressAdded' | 'CollectionLimitSet' | 'CollectionPermissionSet';2362 readonly type: 'CollectionSponsorRemoved' | 'CollectionAdminAdded' | 'CollectionOwnedChanged' | 'CollectionSponsorSet' | 'SponsorshipConfirmed' | 'CollectionAdminRemoved' | 'AllowListAddressRemoved' | 'AllowListAddressAdded' | 'CollectionLimitSet' | 'CollectionPermissionSet';
2351 }2363 }
23522364
2353 /** @name PalletUniqueSchedulerEvent (283) */2365 /** @name PalletUniqueSchedulerEvent (286) */
2354 export interface PalletUniqueSchedulerEvent extends Enum {2366 export interface PalletUniqueSchedulerEvent extends Enum {
2355 readonly isScheduled: boolean;2367 readonly isScheduled: boolean;
2356 readonly asScheduled: {2368 readonly asScheduled: {
2377 readonly type: 'Scheduled' | 'Canceled' | 'Dispatched' | 'CallLookupFailed';2389 readonly type: 'Scheduled' | 'Canceled' | 'Dispatched' | 'CallLookupFailed';
2378 }2390 }
23792391
2380 /** @name FrameSupportScheduleLookupError (285) */2392 /** @name FrameSupportScheduleLookupError (288) */
2381 export interface FrameSupportScheduleLookupError extends Enum {2393 export interface FrameSupportScheduleLookupError extends Enum {
2382 readonly isUnknown: boolean;2394 readonly isUnknown: boolean;
2383 readonly isBadFormat: boolean;2395 readonly isBadFormat: boolean;
2384 readonly type: 'Unknown' | 'BadFormat';2396 readonly type: 'Unknown' | 'BadFormat';
2385 }2397 }
23862398
2387 /** @name PalletCommonEvent (286) */2399 /** @name PalletCommonEvent (289) */
2388 export interface PalletCommonEvent extends Enum {2400 export interface PalletCommonEvent extends Enum {
2389 readonly isCollectionCreated: boolean;2401 readonly isCollectionCreated: boolean;
2390 readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;2402 readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;
2411 readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet';2423 readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet';
2412 }2424 }
24132425
2414 /** @name PalletStructureEvent (287) */2426 /** @name PalletStructureEvent (290) */
2415 export interface PalletStructureEvent extends Enum {2427 export interface PalletStructureEvent extends Enum {
2416 readonly isExecuted: boolean;2428 readonly isExecuted: boolean;
2417 readonly asExecuted: Result<Null, SpRuntimeDispatchError>;2429 readonly asExecuted: Result<Null, SpRuntimeDispatchError>;
2418 readonly type: 'Executed';2430 readonly type: 'Executed';
2419 }2431 }
24202432
2421 /** @name PalletRmrkCoreEvent (288) */2433 /** @name PalletRmrkCoreEvent (291) */
2422 export interface PalletRmrkCoreEvent extends Enum {2434 export interface PalletRmrkCoreEvent extends Enum {
2423 readonly isCollectionCreated: boolean;2435 readonly isCollectionCreated: boolean;
2424 readonly asCollectionCreated: {2436 readonly asCollectionCreated: {
2508 readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'NftSent' | 'NftAccepted' | 'NftRejected' | 'PropertySet' | 'ResourceAdded' | 'ResourceRemoval' | 'ResourceAccepted' | 'ResourceRemovalAccepted' | 'PrioritySet';2520 readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'NftSent' | 'NftAccepted' | 'NftRejected' | 'PropertySet' | 'ResourceAdded' | 'ResourceRemoval' | 'ResourceAccepted' | 'ResourceRemovalAccepted' | 'PrioritySet';
2509 }2521 }
25102522
2511 /** @name PalletRmrkEquipEvent (289) */2523 /** @name PalletRmrkEquipEvent (292) */
2512 export interface PalletRmrkEquipEvent extends Enum {2524 export interface PalletRmrkEquipEvent extends Enum {
2513 readonly isBaseCreated: boolean;2525 readonly isBaseCreated: boolean;
2514 readonly asBaseCreated: {2526 readonly asBaseCreated: {
2518 readonly type: 'BaseCreated';2530 readonly type: 'BaseCreated';
2519 }2531 }
25202532
2521 /** @name PalletEvmEvent (290) */2533 /** @name PalletEvmEvent (293) */
2522 export interface PalletEvmEvent extends Enum {2534 export interface PalletEvmEvent extends Enum {
2523 readonly isLog: boolean;2535 readonly isLog: boolean;
2524 readonly asLog: EthereumLog;2536 readonly asLog: EthereumLog;
2537 readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed' | 'BalanceDeposit' | 'BalanceWithdraw';2549 readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed' | 'BalanceDeposit' | 'BalanceWithdraw';
2538 }2550 }
25392551
2540 /** @name EthereumLog (291) */2552 /** @name EthereumLog (294) */
2541 export interface EthereumLog extends Struct {2553 export interface EthereumLog extends Struct {
2542 readonly address: H160;2554 readonly address: H160;
2543 readonly topics: Vec<H256>;2555 readonly topics: Vec<H256>;
2544 readonly data: Bytes;2556 readonly data: Bytes;
2545 }2557 }
25462558
2547 /** @name PalletEthereumEvent (292) */2559 /** @name PalletEthereumEvent (295) */
2548 export interface PalletEthereumEvent extends Enum {2560 export interface PalletEthereumEvent extends Enum {
2549 readonly isExecuted: boolean;2561 readonly isExecuted: boolean;
2550 readonly asExecuted: ITuple<[H160, H160, H256, EvmCoreErrorExitReason]>;2562 readonly asExecuted: ITuple<[H160, H160, H256, EvmCoreErrorExitReason]>;
2551 readonly type: 'Executed';2563 readonly type: 'Executed';
2552 }2564 }
25532565
2554 /** @name EvmCoreErrorExitReason (293) */2566 /** @name EvmCoreErrorExitReason (296) */
2555 export interface EvmCoreErrorExitReason extends Enum {2567 export interface EvmCoreErrorExitReason extends Enum {
2556 readonly isSucceed: boolean;2568 readonly isSucceed: boolean;
2557 readonly asSucceed: EvmCoreErrorExitSucceed;2569 readonly asSucceed: EvmCoreErrorExitSucceed;
2564 readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';2576 readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';
2565 }2577 }
25662578
2567 /** @name EvmCoreErrorExitSucceed (294) */2579 /** @name EvmCoreErrorExitSucceed (297) */
2568 export interface EvmCoreErrorExitSucceed extends Enum {2580 export interface EvmCoreErrorExitSucceed extends Enum {
2569 readonly isStopped: boolean;2581 readonly isStopped: boolean;
2570 readonly isReturned: boolean;2582 readonly isReturned: boolean;
2571 readonly isSuicided: boolean;2583 readonly isSuicided: boolean;
2572 readonly type: 'Stopped' | 'Returned' | 'Suicided';2584 readonly type: 'Stopped' | 'Returned' | 'Suicided';
2573 }2585 }
25742586
2575 /** @name EvmCoreErrorExitError (295) */2587 /** @name EvmCoreErrorExitError (298) */
2576 export interface EvmCoreErrorExitError extends Enum {2588 export interface EvmCoreErrorExitError extends Enum {
2577 readonly isStackUnderflow: boolean;2589 readonly isStackUnderflow: boolean;
2578 readonly isStackOverflow: boolean;2590 readonly isStackOverflow: boolean;
2593 readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';2605 readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';
2594 }2606 }
25952607
2596 /** @name EvmCoreErrorExitRevert (298) */2608 /** @name EvmCoreErrorExitRevert (301) */
2597 export interface EvmCoreErrorExitRevert extends Enum {2609 export interface EvmCoreErrorExitRevert extends Enum {
2598 readonly isReverted: boolean;2610 readonly isReverted: boolean;
2599 readonly type: 'Reverted';2611 readonly type: 'Reverted';
2600 }2612 }
26012613
2602 /** @name EvmCoreErrorExitFatal (299) */2614 /** @name EvmCoreErrorExitFatal (302) */
2603 export interface EvmCoreErrorExitFatal extends Enum {2615 export interface EvmCoreErrorExitFatal extends Enum {
2604 readonly isNotSupported: boolean;2616 readonly isNotSupported: boolean;
2605 readonly isUnhandledInterrupt: boolean;2617 readonly isUnhandledInterrupt: boolean;
2610 readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';2622 readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';
2611 }2623 }
26122624
2613 /** @name FrameSystemPhase (300) */2625 /** @name FrameSystemPhase (303) */
2614 export interface FrameSystemPhase extends Enum {2626 export interface FrameSystemPhase extends Enum {
2615 readonly isApplyExtrinsic: boolean;2627 readonly isApplyExtrinsic: boolean;
2616 readonly asApplyExtrinsic: u32;2628 readonly asApplyExtrinsic: u32;
2619 readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';2631 readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';
2620 }2632 }
26212633
2622 /** @name FrameSystemLastRuntimeUpgradeInfo (302) */2634 /** @name FrameSystemLastRuntimeUpgradeInfo (305) */
2623 export interface FrameSystemLastRuntimeUpgradeInfo extends Struct {2635 export interface FrameSystemLastRuntimeUpgradeInfo extends Struct {
2624 readonly specVersion: Compact<u32>;2636 readonly specVersion: Compact<u32>;
2625 readonly specName: Text;2637 readonly specName: Text;
2626 }2638 }
26272639
2628 /** @name FrameSystemLimitsBlockWeights (303) */2640 /** @name FrameSystemLimitsBlockWeights (306) */
2629 export interface FrameSystemLimitsBlockWeights extends Struct {2641 export interface FrameSystemLimitsBlockWeights extends Struct {
2630 readonly baseBlock: u64;2642 readonly baseBlock: u64;
2631 readonly maxBlock: u64;2643 readonly maxBlock: u64;
2632 readonly perClass: FrameSupportWeightsPerDispatchClassWeightsPerClass;2644 readonly perClass: FrameSupportWeightsPerDispatchClassWeightsPerClass;
2633 }2645 }
26342646
2635 /** @name FrameSupportWeightsPerDispatchClassWeightsPerClass (304) */2647 /** @name FrameSupportWeightsPerDispatchClassWeightsPerClass (307) */
2636 export interface FrameSupportWeightsPerDispatchClassWeightsPerClass extends Struct {2648 export interface FrameSupportWeightsPerDispatchClassWeightsPerClass extends Struct {
2637 readonly normal: FrameSystemLimitsWeightsPerClass;2649 readonly normal: FrameSystemLimitsWeightsPerClass;
2638 readonly operational: FrameSystemLimitsWeightsPerClass;2650 readonly operational: FrameSystemLimitsWeightsPerClass;
2639 readonly mandatory: FrameSystemLimitsWeightsPerClass;2651 readonly mandatory: FrameSystemLimitsWeightsPerClass;
2640 }2652 }
26412653
2642 /** @name FrameSystemLimitsWeightsPerClass (305) */2654 /** @name FrameSystemLimitsWeightsPerClass (308) */
2643 export interface FrameSystemLimitsWeightsPerClass extends Struct {2655 export interface FrameSystemLimitsWeightsPerClass extends Struct {
2644 readonly baseExtrinsic: u64;2656 readonly baseExtrinsic: u64;
2645 readonly maxExtrinsic: Option<u64>;2657 readonly maxExtrinsic: Option<u64>;
2646 readonly maxTotal: Option<u64>;2658 readonly maxTotal: Option<u64>;
2647 readonly reserved: Option<u64>;2659 readonly reserved: Option<u64>;
2648 }2660 }
26492661
2650 /** @name FrameSystemLimitsBlockLength (307) */2662 /** @name FrameSystemLimitsBlockLength (310) */
2651 export interface FrameSystemLimitsBlockLength extends Struct {2663 export interface FrameSystemLimitsBlockLength extends Struct {
2652 readonly max: FrameSupportWeightsPerDispatchClassU32;2664 readonly max: FrameSupportWeightsPerDispatchClassU32;
2653 }2665 }
26542666
2655 /** @name FrameSupportWeightsPerDispatchClassU32 (308) */2667 /** @name FrameSupportWeightsPerDispatchClassU32 (311) */
2656 export interface FrameSupportWeightsPerDispatchClassU32 extends Struct {2668 export interface FrameSupportWeightsPerDispatchClassU32 extends Struct {
2657 readonly normal: u32;2669 readonly normal: u32;
2658 readonly operational: u32;2670 readonly operational: u32;
2659 readonly mandatory: u32;2671 readonly mandatory: u32;
2660 }2672 }
26612673
2662 /** @name FrameSupportWeightsRuntimeDbWeight (309) */2674 /** @name FrameSupportWeightsRuntimeDbWeight (312) */
2663 export interface FrameSupportWeightsRuntimeDbWeight extends Struct {2675 export interface FrameSupportWeightsRuntimeDbWeight extends Struct {
2664 readonly read: u64;2676 readonly read: u64;
2665 readonly write: u64;2677 readonly write: u64;
2666 }2678 }
26672679
2668 /** @name SpVersionRuntimeVersion (310) */2680 /** @name SpVersionRuntimeVersion (313) */
2669 export interface SpVersionRuntimeVersion extends Struct {2681 export interface SpVersionRuntimeVersion extends Struct {
2670 readonly specName: Text;2682 readonly specName: Text;
2671 readonly implName: Text;2683 readonly implName: Text;
2677 readonly stateVersion: u8;2689 readonly stateVersion: u8;
2678 }2690 }
26792691
2680 /** @name FrameSystemError (314) */2692 /** @name FrameSystemError (317) */
2681 export interface FrameSystemError extends Enum {2693 export interface FrameSystemError extends Enum {
2682 readonly isInvalidSpecName: boolean;2694 readonly isInvalidSpecName: boolean;
2683 readonly isSpecVersionNeedsToIncrease: boolean;2695 readonly isSpecVersionNeedsToIncrease: boolean;
2688 readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';2700 readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';
2689 }2701 }
26902702
2691 /** @name OrmlVestingModuleError (316) */2703 /** @name OrmlVestingModuleError (319) */
2692 export interface OrmlVestingModuleError extends Enum {2704 export interface OrmlVestingModuleError extends Enum {
2693 readonly isZeroVestingPeriod: boolean;2705 readonly isZeroVestingPeriod: boolean;
2694 readonly isZeroVestingPeriodCount: boolean;2706 readonly isZeroVestingPeriodCount: boolean;
2699 readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';2711 readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';
2700 }2712 }
27012713
2702 /** @name CumulusPalletXcmpQueueInboundChannelDetails (318) */2714 /** @name CumulusPalletXcmpQueueInboundChannelDetails (321) */
2703 export interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {2715 export interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {
2704 readonly sender: u32;2716 readonly sender: u32;
2705 readonly state: CumulusPalletXcmpQueueInboundState;2717 readonly state: CumulusPalletXcmpQueueInboundState;
2706 readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;2718 readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;
2707 }2719 }
27082720
2709 /** @name CumulusPalletXcmpQueueInboundState (319) */2721 /** @name CumulusPalletXcmpQueueInboundState (322) */
2710 export interface CumulusPalletXcmpQueueInboundState extends Enum {2722 export interface CumulusPalletXcmpQueueInboundState extends Enum {
2711 readonly isOk: boolean;2723 readonly isOk: boolean;
2712 readonly isSuspended: boolean;2724 readonly isSuspended: boolean;
2713 readonly type: 'Ok' | 'Suspended';2725 readonly type: 'Ok' | 'Suspended';
2714 }2726 }
27152727
2716 /** @name PolkadotParachainPrimitivesXcmpMessageFormat (322) */2728 /** @name PolkadotParachainPrimitivesXcmpMessageFormat (325) */
2717 export interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {2729 export interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {
2718 readonly isConcatenatedVersionedXcm: boolean;2730 readonly isConcatenatedVersionedXcm: boolean;
2719 readonly isConcatenatedEncodedBlob: boolean;2731 readonly isConcatenatedEncodedBlob: boolean;
2720 readonly isSignals: boolean;2732 readonly isSignals: boolean;
2721 readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';2733 readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';
2722 }2734 }
27232735
2724 /** @name CumulusPalletXcmpQueueOutboundChannelDetails (325) */2736 /** @name CumulusPalletXcmpQueueOutboundChannelDetails (328) */
2725 export interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {2737 export interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {
2726 readonly recipient: u32;2738 readonly recipient: u32;
2727 readonly state: CumulusPalletXcmpQueueOutboundState;2739 readonly state: CumulusPalletXcmpQueueOutboundState;
2730 readonly lastIndex: u16;2742 readonly lastIndex: u16;
2731 }2743 }
27322744
2733 /** @name CumulusPalletXcmpQueueOutboundState (326) */2745 /** @name CumulusPalletXcmpQueueOutboundState (329) */
2734 export interface CumulusPalletXcmpQueueOutboundState extends Enum {2746 export interface CumulusPalletXcmpQueueOutboundState extends Enum {
2735 readonly isOk: boolean;2747 readonly isOk: boolean;
2736 readonly isSuspended: boolean;2748 readonly isSuspended: boolean;
2737 readonly type: 'Ok' | 'Suspended';2749 readonly type: 'Ok' | 'Suspended';
2738 }2750 }
27392751
2740 /** @name CumulusPalletXcmpQueueQueueConfigData (328) */2752 /** @name CumulusPalletXcmpQueueQueueConfigData (331) */
2741 export interface CumulusPalletXcmpQueueQueueConfigData extends Struct {2753 export interface CumulusPalletXcmpQueueQueueConfigData extends Struct {
2742 readonly suspendThreshold: u32;2754 readonly suspendThreshold: u32;
2743 readonly dropThreshold: u32;2755 readonly dropThreshold: u32;
2747 readonly xcmpMaxIndividualWeight: u64;2759 readonly xcmpMaxIndividualWeight: u64;
2748 }2760 }
27492761
2750 /** @name CumulusPalletXcmpQueueError (330) */2762 /** @name CumulusPalletXcmpQueueError (333) */
2751 export interface CumulusPalletXcmpQueueError extends Enum {2763 export interface CumulusPalletXcmpQueueError extends Enum {
2752 readonly isFailedToSend: boolean;2764 readonly isFailedToSend: boolean;
2753 readonly isBadXcmOrigin: boolean;2765 readonly isBadXcmOrigin: boolean;
2757 readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';2769 readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';
2758 }2770 }
27592771
2760 /** @name PalletXcmError (331) */2772 /** @name PalletXcmError (334) */
2761 export interface PalletXcmError extends Enum {2773 export interface PalletXcmError extends Enum {
2762 readonly isUnreachable: boolean;2774 readonly isUnreachable: boolean;
2763 readonly isSendFailure: boolean;2775 readonly isSendFailure: boolean;
2775 readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';2787 readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';
2776 }2788 }
27772789
2778 /** @name CumulusPalletXcmError (332) */2790 /** @name CumulusPalletXcmError (335) */
2779 export type CumulusPalletXcmError = Null;2791 export type CumulusPalletXcmError = Null;
27802792
2781 /** @name CumulusPalletDmpQueueConfigData (333) */2793 /** @name CumulusPalletDmpQueueConfigData (336) */
2782 export interface CumulusPalletDmpQueueConfigData extends Struct {2794 export interface CumulusPalletDmpQueueConfigData extends Struct {
2783 readonly maxIndividual: u64;2795 readonly maxIndividual: u64;
2784 }2796 }
27852797
2786 /** @name CumulusPalletDmpQueuePageIndexData (334) */2798 /** @name CumulusPalletDmpQueuePageIndexData (337) */
2787 export interface CumulusPalletDmpQueuePageIndexData extends Struct {2799 export interface CumulusPalletDmpQueuePageIndexData extends Struct {
2788 readonly beginUsed: u32;2800 readonly beginUsed: u32;
2789 readonly endUsed: u32;2801 readonly endUsed: u32;
2790 readonly overweightCount: u64;2802 readonly overweightCount: u64;
2791 }2803 }
27922804
2793 /** @name CumulusPalletDmpQueueError (337) */2805 /** @name CumulusPalletDmpQueueError (340) */
2794 export interface CumulusPalletDmpQueueError extends Enum {2806 export interface CumulusPalletDmpQueueError extends Enum {
2795 readonly isUnknown: boolean;2807 readonly isUnknown: boolean;
2796 readonly isOverLimit: boolean;2808 readonly isOverLimit: boolean;
2797 readonly type: 'Unknown' | 'OverLimit';2809 readonly type: 'Unknown' | 'OverLimit';
2798 }2810 }
27992811
2800 /** @name PalletUniqueError (341) */2812 /** @name PalletUniqueError (344) */
2801 export interface PalletUniqueError extends Enum {2813 export interface PalletUniqueError extends Enum {
2802 readonly isCollectionDecimalPointLimitExceeded: boolean;2814 readonly isCollectionDecimalPointLimitExceeded: boolean;
2803 readonly isConfirmUnsetSponsorFail: boolean;2815 readonly isConfirmUnsetSponsorFail: boolean;
2804 readonly isEmptyArgument: boolean;2816 readonly isEmptyArgument: boolean;
2805 readonly type: 'CollectionDecimalPointLimitExceeded' | 'ConfirmUnsetSponsorFail' | 'EmptyArgument';2817 readonly type: 'CollectionDecimalPointLimitExceeded' | 'ConfirmUnsetSponsorFail' | 'EmptyArgument';
2806 }2818 }
28072819
2808 /** @name PalletUniqueSchedulerScheduledV3 (344) */2820 /** @name PalletUniqueSchedulerScheduledV3 (347) */
2809 export interface PalletUniqueSchedulerScheduledV3 extends Struct {2821 export interface PalletUniqueSchedulerScheduledV3 extends Struct {
2810 readonly maybeId: Option<U8aFixed>;2822 readonly maybeId: Option<U8aFixed>;
2811 readonly priority: u8;2823 readonly priority: u8;
2814 readonly origin: OpalRuntimeOriginCaller;2826 readonly origin: OpalRuntimeOriginCaller;
2815 }2827 }
28162828
2817 /** @name OpalRuntimeOriginCaller (345) */2829 /** @name OpalRuntimeOriginCaller (348) */
2818 export interface OpalRuntimeOriginCaller extends Enum {2830 export interface OpalRuntimeOriginCaller extends Enum {
2819 readonly isVoid: boolean;2831 readonly isVoid: boolean;
2820 readonly isSystem: boolean;2832 readonly isSystem: boolean;
2828 readonly type: 'Void' | 'System' | 'PolkadotXcm' | 'CumulusXcm' | 'Ethereum';2840 readonly type: 'Void' | 'System' | 'PolkadotXcm' | 'CumulusXcm' | 'Ethereum';
2829 }2841 }
28302842
2831 /** @name FrameSupportDispatchRawOrigin (346) */2843 /** @name FrameSupportDispatchRawOrigin (349) */
2832 export interface FrameSupportDispatchRawOrigin extends Enum {2844 export interface FrameSupportDispatchRawOrigin extends Enum {
2833 readonly isRoot: boolean;2845 readonly isRoot: boolean;
2834 readonly isSigned: boolean;2846 readonly isSigned: boolean;
2837 readonly type: 'Root' | 'Signed' | 'None';2849 readonly type: 'Root' | 'Signed' | 'None';
2838 }2850 }
28392851
2840 /** @name PalletXcmOrigin (347) */2852 /** @name PalletXcmOrigin (350) */
2841 export interface PalletXcmOrigin extends Enum {2853 export interface PalletXcmOrigin extends Enum {
2842 readonly isXcm: boolean;2854 readonly isXcm: boolean;
2843 readonly asXcm: XcmV1MultiLocation;2855 readonly asXcm: XcmV1MultiLocation;
2846 readonly type: 'Xcm' | 'Response';2858 readonly type: 'Xcm' | 'Response';
2847 }2859 }
28482860
2849 /** @name CumulusPalletXcmOrigin (348) */2861 /** @name CumulusPalletXcmOrigin (351) */
2850 export interface CumulusPalletXcmOrigin extends Enum {2862 export interface CumulusPalletXcmOrigin extends Enum {
2851 readonly isRelay: boolean;2863 readonly isRelay: boolean;
2852 readonly isSiblingParachain: boolean;2864 readonly isSiblingParachain: boolean;
2853 readonly asSiblingParachain: u32;2865 readonly asSiblingParachain: u32;
2854 readonly type: 'Relay' | 'SiblingParachain';2866 readonly type: 'Relay' | 'SiblingParachain';
2855 }2867 }
28562868
2857 /** @name PalletEthereumRawOrigin (349) */2869 /** @name PalletEthereumRawOrigin (352) */
2858 export interface PalletEthereumRawOrigin extends Enum {2870 export interface PalletEthereumRawOrigin extends Enum {
2859 readonly isEthereumTransaction: boolean;2871 readonly isEthereumTransaction: boolean;
2860 readonly asEthereumTransaction: H160;2872 readonly asEthereumTransaction: H160;
2861 readonly type: 'EthereumTransaction';2873 readonly type: 'EthereumTransaction';
2862 }2874 }
28632875
2864 /** @name SpCoreVoid (350) */2876 /** @name SpCoreVoid (353) */
2865 export type SpCoreVoid = Null;2877 export type SpCoreVoid = Null;
28662878
2867 /** @name PalletUniqueSchedulerError (351) */2879 /** @name PalletUniqueSchedulerError (354) */
2868 export interface PalletUniqueSchedulerError extends Enum {2880 export interface PalletUniqueSchedulerError extends Enum {
2869 readonly isFailedToSchedule: boolean;2881 readonly isFailedToSchedule: boolean;
2870 readonly isNotFound: boolean;2882 readonly isNotFound: boolean;
2873 readonly type: 'FailedToSchedule' | 'NotFound' | 'TargetBlockNumberInPast' | 'RescheduleNoChange';2885 readonly type: 'FailedToSchedule' | 'NotFound' | 'TargetBlockNumberInPast' | 'RescheduleNoChange';
2874 }2886 }
28752887
2876 /** @name UpDataStructsCollection (352) */2888 /** @name UpDataStructsCollection (355) */
2877 export interface UpDataStructsCollection extends Struct {2889 export interface UpDataStructsCollection extends Struct {
2878 readonly owner: AccountId32;2890 readonly owner: AccountId32;
2879 readonly mode: UpDataStructsCollectionMode;2891 readonly mode: UpDataStructsCollectionMode;
2886 readonly externalCollection: bool;2898 readonly externalCollection: bool;
2887 }2899 }
28882900
2889 /** @name UpDataStructsSponsorshipState (353) */2901 /** @name UpDataStructsSponsorshipState (356) */
2890 export interface UpDataStructsSponsorshipState extends Enum {2902 export interface UpDataStructsSponsorshipState extends Enum {
2891 readonly isDisabled: boolean;2903 readonly isDisabled: boolean;
2892 readonly isUnconfirmed: boolean;2904 readonly isUnconfirmed: boolean;
2896 readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';2908 readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
2897 }2909 }
28982910
2899 /** @name UpDataStructsProperties (354) */2911 /** @name UpDataStructsProperties (357) */
2900 export interface UpDataStructsProperties extends Struct {2912 export interface UpDataStructsProperties extends Struct {
2901 readonly map: UpDataStructsPropertiesMapBoundedVec;2913 readonly map: UpDataStructsPropertiesMapBoundedVec;
2902 readonly consumedSpace: u32;2914 readonly consumedSpace: u32;
2903 readonly spaceLimit: u32;2915 readonly spaceLimit: u32;
2904 }2916 }
29052917
2906 /** @name UpDataStructsPropertiesMapBoundedVec (355) */2918 /** @name UpDataStructsPropertiesMapBoundedVec (358) */
2907 export interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}2919 export interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}
29082920
2909 /** @name UpDataStructsPropertiesMapPropertyPermission (360) */2921 /** @name UpDataStructsPropertiesMapPropertyPermission (363) */
2910 export interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}2922 export interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}
29112923
2912 /** @name UpDataStructsCollectionStats (367) */2924 /** @name UpDataStructsCollectionStats (370) */
2913 export interface UpDataStructsCollectionStats extends Struct {2925 export interface UpDataStructsCollectionStats extends Struct {
2914 readonly created: u32;2926 readonly created: u32;
2915 readonly destroyed: u32;2927 readonly destroyed: u32;
2916 readonly alive: u32;2928 readonly alive: u32;
2917 }2929 }
29182930
2919 /** @name UpDataStructsTokenChild (368) */2931 /** @name UpDataStructsTokenChild (371) */
2920 export interface UpDataStructsTokenChild extends Struct {2932 export interface UpDataStructsTokenChild extends Struct {
2921 readonly token: u32;2933 readonly token: u32;
2922 readonly collection: u32;2934 readonly collection: u32;
2923 }2935 }
29242936
2925 /** @name PhantomTypeUpDataStructs (369) */2937 /** @name PhantomTypeUpDataStructs (372) */
2926 export interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftNftInfo, RmrkTraitsResourceResourceInfo, RmrkTraitsPropertyPropertyInfo, RmrkTraitsBaseBaseInfo, RmrkTraitsPartPartType, RmrkTraitsTheme, RmrkTraitsNftNftChild]>> {}2938 export interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftNftInfo, RmrkTraitsResourceResourceInfo, RmrkTraitsPropertyPropertyInfo, RmrkTraitsBaseBaseInfo, RmrkTraitsPartPartType, RmrkTraitsTheme, RmrkTraitsNftNftChild]>> {}
29272939
2928 /** @name UpDataStructsTokenData (371) */2940 /** @name UpDataStructsTokenData (374) */
2929 export interface UpDataStructsTokenData extends Struct {2941 export interface UpDataStructsTokenData extends Struct {
2930 readonly properties: Vec<UpDataStructsProperty>;2942 readonly properties: Vec<UpDataStructsProperty>;
2931 readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;2943 readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;
2932 }2944 }
29332945
2934 /** @name UpDataStructsRpcCollection (373) */2946 /** @name UpDataStructsRpcCollection (376) */
2935 export interface UpDataStructsRpcCollection extends Struct {2947 export interface UpDataStructsRpcCollection extends Struct {
2936 readonly owner: AccountId32;2948 readonly owner: AccountId32;
2937 readonly mode: UpDataStructsCollectionMode;2949 readonly mode: UpDataStructsCollectionMode;
2946 readonly readOnly: bool;2958 readonly readOnly: bool;
2947 }2959 }
29482960
2949 /** @name RmrkTraitsCollectionCollectionInfo (374) */2961 /** @name RmrkTraitsCollectionCollectionInfo (377) */
2950 export interface RmrkTraitsCollectionCollectionInfo extends Struct {2962 export interface RmrkTraitsCollectionCollectionInfo extends Struct {
2951 readonly issuer: AccountId32;2963 readonly issuer: AccountId32;
2952 readonly metadata: Bytes;2964 readonly metadata: Bytes;
2955 readonly nftsCount: u32;2967 readonly nftsCount: u32;
2956 }2968 }
29572969
2958 /** @name RmrkTraitsNftNftInfo (375) */2970 /** @name RmrkTraitsNftNftInfo (378) */
2959 export interface RmrkTraitsNftNftInfo extends Struct {2971 export interface RmrkTraitsNftNftInfo extends Struct {
2960 readonly owner: RmrkTraitsNftAccountIdOrCollectionNftTuple;2972 readonly owner: RmrkTraitsNftAccountIdOrCollectionNftTuple;
2961 readonly royalty: Option<RmrkTraitsNftRoyaltyInfo>;2973 readonly royalty: Option<RmrkTraitsNftRoyaltyInfo>;
2964 readonly pending: bool;2976 readonly pending: bool;
2965 }2977 }
29662978
2967 /** @name RmrkTraitsNftRoyaltyInfo (377) */2979 /** @name RmrkTraitsNftRoyaltyInfo (380) */
2968 export interface RmrkTraitsNftRoyaltyInfo extends Struct {2980 export interface RmrkTraitsNftRoyaltyInfo extends Struct {
2969 readonly recipient: AccountId32;2981 readonly recipient: AccountId32;
2970 readonly amount: Permill;2982 readonly amount: Permill;
2971 }2983 }
29722984
2973 /** @name RmrkTraitsResourceResourceInfo (378) */2985 /** @name RmrkTraitsResourceResourceInfo (381) */
2974 export interface RmrkTraitsResourceResourceInfo extends Struct {2986 export interface RmrkTraitsResourceResourceInfo extends Struct {
2975 readonly id: u32;2987 readonly id: u32;
2976 readonly resource: RmrkTraitsResourceResourceTypes;2988 readonly resource: RmrkTraitsResourceResourceTypes;
2977 readonly pending: bool;2989 readonly pending: bool;
2978 readonly pendingRemoval: bool;2990 readonly pendingRemoval: bool;
2979 }2991 }
2980
2981 /** @name RmrkTraitsResourceResourceTypes (379) */
2982 export interface RmrkTraitsResourceResourceTypes extends Enum {
2983 readonly isBasic: boolean;
2984 readonly asBasic: RmrkTraitsResourceBasicResource;
2985 readonly isComposable: boolean;
2986 readonly asComposable: RmrkTraitsResourceComposableResource;
2987 readonly isSlot: boolean;
2988 readonly asSlot: RmrkTraitsResourceSlotResource;
2989 readonly type: 'Basic' | 'Composable' | 'Slot';
2990 }
29912992
2992 /** @name RmrkTraitsPropertyPropertyInfo (380) */2993 /** @name RmrkTraitsPropertyPropertyInfo (382) */
2993 export interface RmrkTraitsPropertyPropertyInfo extends Struct {2994 export interface RmrkTraitsPropertyPropertyInfo extends Struct {
2994 readonly key: Bytes;2995 readonly key: Bytes;
2995 readonly value: Bytes;2996 readonly value: Bytes;
2996 }2997 }
29972998
2998 /** @name RmrkTraitsBaseBaseInfo (381) */2999 /** @name RmrkTraitsBaseBaseInfo (383) */
2999 export interface RmrkTraitsBaseBaseInfo extends Struct {3000 export interface RmrkTraitsBaseBaseInfo extends Struct {
3000 readonly issuer: AccountId32;3001 readonly issuer: AccountId32;
3001 readonly baseType: Bytes;3002 readonly baseType: Bytes;
3002 readonly symbol: Bytes;3003 readonly symbol: Bytes;
3003 }3004 }
30043005
3005 /** @name RmrkTraitsNftNftChild (382) */3006 /** @name RmrkTraitsNftNftChild (384) */
3006 export interface RmrkTraitsNftNftChild extends Struct {3007 export interface RmrkTraitsNftNftChild extends Struct {
3007 readonly collectionId: u32;3008 readonly collectionId: u32;
3008 readonly nftId: u32;3009 readonly nftId: u32;
3009 }3010 }
30103011
3011 /** @name PalletCommonError (384) */3012 /** @name PalletCommonError (386) */
3012 export interface PalletCommonError extends Enum {3013 export interface PalletCommonError extends Enum {
3013 readonly isCollectionNotFound: boolean;3014 readonly isCollectionNotFound: boolean;
3014 readonly isMustBeTokenOwner: boolean;3015 readonly isMustBeTokenOwner: boolean;
3047 readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'CantDestroyNotEmptyCollection' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds' | 'UserIsNotAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey' | 'CollectionIsExternal' | 'CollectionIsInternal';3048 readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'CantDestroyNotEmptyCollection' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds' | 'UserIsNotAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey' | 'CollectionIsExternal' | 'CollectionIsInternal';
3048 }3049 }
30493050
3050 /** @name PalletFungibleError (386) */3051 /** @name PalletFungibleError (388) */
3051 export interface PalletFungibleError extends Enum {3052 export interface PalletFungibleError extends Enum {
3052 readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;3053 readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;
3053 readonly isFungibleItemsHaveNoId: boolean;3054 readonly isFungibleItemsHaveNoId: boolean;
3057 readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';3058 readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
3058 }3059 }
30593060
3060 /** @name PalletRefungibleItemData (387) */3061 /** @name PalletRefungibleItemData (389) */
3061 export interface PalletRefungibleItemData extends Struct {3062 export interface PalletRefungibleItemData extends Struct {
3062 readonly constData: Bytes;3063 readonly constData: Bytes;
3063 }3064 }
30643065
3065 /** @name PalletRefungibleError (391) */3066 /** @name PalletRefungibleError (393) */
3066 export interface PalletRefungibleError extends Enum {3067 export interface PalletRefungibleError extends Enum {
3067 readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;3068 readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;
3068 readonly isWrongRefungiblePieces: boolean;3069 readonly isWrongRefungiblePieces: boolean;
3071 readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';3072 readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
3072 }3073 }
30733074
3074 /** @name PalletNonfungibleItemData (392) */3075 /** @name PalletNonfungibleItemData (394) */
3075 export interface PalletNonfungibleItemData extends Struct {3076 export interface PalletNonfungibleItemData extends Struct {
3076 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;3077 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
3077 }3078 }
30783079
3079 /** @name PalletNonfungibleError (394) */3080 /** @name PalletNonfungibleError (396) */
3080 export interface PalletNonfungibleError extends Enum {3081 export interface PalletNonfungibleError extends Enum {
3081 readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;3082 readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;
3082 readonly isNonfungibleItemsHaveNoAmount: boolean;3083 readonly isNonfungibleItemsHaveNoAmount: boolean;
3083 readonly isCantBurnNftWithChildren: boolean;3084 readonly isCantBurnNftWithChildren: boolean;
3084 readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';3085 readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';
3085 }3086 }
30863087
3087 /** @name PalletStructureError (395) */3088 /** @name PalletStructureError (397) */
3088 export interface PalletStructureError extends Enum {3089 export interface PalletStructureError extends Enum {
3089 readonly isOuroborosDetected: boolean;3090 readonly isOuroborosDetected: boolean;
3090 readonly isDepthLimit: boolean;3091 readonly isDepthLimit: boolean;
3093 readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound';3094 readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound';
3094 }3095 }
30953096
3096 /** @name PalletRmrkCoreError (396) */3097 /** @name PalletRmrkCoreError (398) */
3097 export interface PalletRmrkCoreError extends Enum {3098 export interface PalletRmrkCoreError extends Enum {
3098 readonly isCorruptedCollectionType: boolean;3099 readonly isCorruptedCollectionType: boolean;
3099 readonly isNftTypeEncodeError: boolean;3100 readonly isNftTypeEncodeError: boolean;
3100 readonly isRmrkPropertyKeyIsTooLong: boolean;3101 readonly isRmrkPropertyKeyIsTooLong: boolean;
3101 readonly isRmrkPropertyValueIsTooLong: boolean;3102 readonly isRmrkPropertyValueIsTooLong: boolean;
3103 readonly isUnableToDecodeRmrkData: boolean;
3102 readonly isCollectionNotEmpty: boolean;3104 readonly isCollectionNotEmpty: boolean;
3103 readonly isNoAvailableCollectionId: boolean;3105 readonly isNoAvailableCollectionId: boolean;
3104 readonly isNoAvailableNftId: boolean;3106 readonly isNoAvailableNftId: boolean;
3111 readonly isCannotAcceptNonOwnedNft: boolean;3113 readonly isCannotAcceptNonOwnedNft: boolean;
3112 readonly isCannotRejectNonOwnedNft: boolean;3114 readonly isCannotRejectNonOwnedNft: boolean;
3113 readonly isResourceNotPending: boolean;3115 readonly isResourceNotPending: boolean;
3114 readonly type: 'CorruptedCollectionType' | 'NftTypeEncodeError' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'ResourceNotPending';3116 readonly type: 'CorruptedCollectionType' | 'NftTypeEncodeError' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'UnableToDecodeRmrkData' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'ResourceNotPending';
3115 }3117 }
31163118
3117 /** @name PalletRmrkEquipError (398) */3119 /** @name PalletRmrkEquipError (400) */
3118 export interface PalletRmrkEquipError extends Enum {3120 export interface PalletRmrkEquipError extends Enum {
3119 readonly isPermissionError: boolean;3121 readonly isPermissionError: boolean;
3120 readonly isNoAvailableBaseId: boolean;3122 readonly isNoAvailableBaseId: boolean;
3124 readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst';3126 readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst';
3125 }3127 }
31263128
3127 /** @name PalletEvmError (401) */3129 /** @name PalletEvmError (403) */
3128 export interface PalletEvmError extends Enum {3130 export interface PalletEvmError extends Enum {
3129 readonly isBalanceLow: boolean;3131 readonly isBalanceLow: boolean;
3130 readonly isFeeOverflow: boolean;3132 readonly isFeeOverflow: boolean;
3135 readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce';3137 readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce';
3136 }3138 }
31373139
3138 /** @name FpRpcTransactionStatus (404) */3140 /** @name FpRpcTransactionStatus (406) */
3139 export interface FpRpcTransactionStatus extends Struct {3141 export interface FpRpcTransactionStatus extends Struct {
3140 readonly transactionHash: H256;3142 readonly transactionHash: H256;
3141 readonly transactionIndex: u32;3143 readonly transactionIndex: u32;
3146 readonly logsBloom: EthbloomBloom;3148 readonly logsBloom: EthbloomBloom;
3147 }3149 }
31483150
3149 /** @name EthbloomBloom (406) */3151 /** @name EthbloomBloom (408) */
3150 export interface EthbloomBloom extends U8aFixed {}3152 export interface EthbloomBloom extends U8aFixed {}
31513153
3152 /** @name EthereumReceiptReceiptV3 (408) */3154 /** @name EthereumReceiptReceiptV3 (410) */
3153 export interface EthereumReceiptReceiptV3 extends Enum {3155 export interface EthereumReceiptReceiptV3 extends Enum {
3154 readonly isLegacy: boolean;3156 readonly isLegacy: boolean;
3155 readonly asLegacy: EthereumReceiptEip658ReceiptData;3157 readonly asLegacy: EthereumReceiptEip658ReceiptData;
3160 readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';3162 readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
3161 }3163 }
31623164
3163 /** @name EthereumReceiptEip658ReceiptData (409) */3165 /** @name EthereumReceiptEip658ReceiptData (411) */
3164 export interface EthereumReceiptEip658ReceiptData extends Struct {3166 export interface EthereumReceiptEip658ReceiptData extends Struct {
3165 readonly statusCode: u8;3167 readonly statusCode: u8;
3166 readonly usedGas: U256;3168 readonly usedGas: U256;
3167 readonly logsBloom: EthbloomBloom;3169 readonly logsBloom: EthbloomBloom;
3168 readonly logs: Vec<EthereumLog>;3170 readonly logs: Vec<EthereumLog>;
3169 }3171 }
31703172
3171 /** @name EthereumBlock (410) */3173 /** @name EthereumBlock (412) */
3172 export interface EthereumBlock extends Struct {3174 export interface EthereumBlock extends Struct {
3173 readonly header: EthereumHeader;3175 readonly header: EthereumHeader;
3174 readonly transactions: Vec<EthereumTransactionTransactionV2>;3176 readonly transactions: Vec<EthereumTransactionTransactionV2>;
3175 readonly ommers: Vec<EthereumHeader>;3177 readonly ommers: Vec<EthereumHeader>;
3176 }3178 }
31773179
3178 /** @name EthereumHeader (411) */3180 /** @name EthereumHeader (413) */
3179 export interface EthereumHeader extends Struct {3181 export interface EthereumHeader extends Struct {
3180 readonly parentHash: H256;3182 readonly parentHash: H256;
3181 readonly ommersHash: H256;3183 readonly ommersHash: H256;
3194 readonly nonce: EthereumTypesHashH64;3196 readonly nonce: EthereumTypesHashH64;
3195 }3197 }
31963198
3197 /** @name EthereumTypesHashH64 (412) */3199 /** @name EthereumTypesHashH64 (414) */
3198 export interface EthereumTypesHashH64 extends U8aFixed {}3200 export interface EthereumTypesHashH64 extends U8aFixed {}
31993201
3200 /** @name PalletEthereumError (417) */3202 /** @name PalletEthereumError (419) */
3201 export interface PalletEthereumError extends Enum {3203 export interface PalletEthereumError extends Enum {
3202 readonly isInvalidSignature: boolean;3204 readonly isInvalidSignature: boolean;
3203 readonly isPreLogExists: boolean;3205 readonly isPreLogExists: boolean;
3204 readonly type: 'InvalidSignature' | 'PreLogExists';3206 readonly type: 'InvalidSignature' | 'PreLogExists';
3205 }3207 }
32063208
3207 /** @name PalletEvmCoderSubstrateError (418) */3209 /** @name PalletEvmCoderSubstrateError (420) */
3208 export interface PalletEvmCoderSubstrateError extends Enum {3210 export interface PalletEvmCoderSubstrateError extends Enum {
3209 readonly isOutOfGas: boolean;3211 readonly isOutOfGas: boolean;
3210 readonly isOutOfFund: boolean;3212 readonly isOutOfFund: boolean;
3211 readonly type: 'OutOfGas' | 'OutOfFund';3213 readonly type: 'OutOfGas' | 'OutOfFund';
3212 }3214 }
32133215
3214 /** @name PalletEvmContractHelpersSponsoringModeT (419) */3216 /** @name PalletEvmContractHelpersSponsoringModeT (421) */
3215 export interface PalletEvmContractHelpersSponsoringModeT extends Enum {3217 export interface PalletEvmContractHelpersSponsoringModeT extends Enum {
3216 readonly isDisabled: boolean;3218 readonly isDisabled: boolean;
3217 readonly isAllowlisted: boolean;3219 readonly isAllowlisted: boolean;
3218 readonly isGenerous: boolean;3220 readonly isGenerous: boolean;
3219 readonly type: 'Disabled' | 'Allowlisted' | 'Generous';3221 readonly type: 'Disabled' | 'Allowlisted' | 'Generous';
3220 }3222 }
32213223
3222 /** @name PalletEvmContractHelpersError (421) */3224 /** @name PalletEvmContractHelpersError (423) */
3223 export interface PalletEvmContractHelpersError extends Enum {3225 export interface PalletEvmContractHelpersError extends Enum {
3224 readonly isNoPermission: boolean;3226 readonly isNoPermission: boolean;
3225 readonly type: 'NoPermission';3227 readonly type: 'NoPermission';
3226 }3228 }
32273229
3228 /** @name PalletEvmMigrationError (422) */3230 /** @name PalletEvmMigrationError (424) */
3229 export interface PalletEvmMigrationError extends Enum {3231 export interface PalletEvmMigrationError extends Enum {
3230 readonly isAccountNotEmpty: boolean;3232 readonly isAccountNotEmpty: boolean;
3231 readonly isAccountIsNotMigrating: boolean;3233 readonly isAccountIsNotMigrating: boolean;
3232 readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating';3234 readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating';
3233 }3235 }
32343236
3235 /** @name SpRuntimeMultiSignature (424) */3237 /** @name SpRuntimeMultiSignature (426) */
3236 export interface SpRuntimeMultiSignature extends Enum {3238 export interface SpRuntimeMultiSignature extends Enum {
3237 readonly isEd25519: boolean;3239 readonly isEd25519: boolean;
3238 readonly asEd25519: SpCoreEd25519Signature;3240 readonly asEd25519: SpCoreEd25519Signature;
3243 readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';3245 readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';
3244 }3246 }
32453247
3246 /** @name SpCoreEd25519Signature (425) */3248 /** @name SpCoreEd25519Signature (427) */
3247 export interface SpCoreEd25519Signature extends U8aFixed {}3249 export interface SpCoreEd25519Signature extends U8aFixed {}
32483250
3249 /** @name SpCoreSr25519Signature (427) */3251 /** @name SpCoreSr25519Signature (429) */
3250 export interface SpCoreSr25519Signature extends U8aFixed {}3252 export interface SpCoreSr25519Signature extends U8aFixed {}
32513253
3252 /** @name SpCoreEcdsaSignature (428) */3254 /** @name SpCoreEcdsaSignature (430) */
3253 export interface SpCoreEcdsaSignature extends U8aFixed {}3255 export interface SpCoreEcdsaSignature extends U8aFixed {}
32543256
3255 /** @name FrameSystemExtensionsCheckSpecVersion (431) */3257 /** @name FrameSystemExtensionsCheckSpecVersion (433) */
3256 export type FrameSystemExtensionsCheckSpecVersion = Null;3258 export type FrameSystemExtensionsCheckSpecVersion = Null;
32573259
3258 /** @name FrameSystemExtensionsCheckGenesis (432) */3260 /** @name FrameSystemExtensionsCheckGenesis (434) */
3259 export type FrameSystemExtensionsCheckGenesis = Null;3261 export type FrameSystemExtensionsCheckGenesis = Null;
32603262
3261 /** @name FrameSystemExtensionsCheckNonce (435) */3263 /** @name FrameSystemExtensionsCheckNonce (437) */
3262 export interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}3264 export interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}
32633265
3264 /** @name FrameSystemExtensionsCheckWeight (436) */3266 /** @name FrameSystemExtensionsCheckWeight (438) */
3265 export type FrameSystemExtensionsCheckWeight = Null;3267 export type FrameSystemExtensionsCheckWeight = Null;
32663268
3267 /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (437) */3269 /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (439) */
3268 export interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}3270 export interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}
32693271
3270 /** @name OpalRuntimeRuntime (438) */3272 /** @name OpalRuntimeRuntime (440) */
3271 export type OpalRuntimeRuntime = Null;3273 export type OpalRuntimeRuntime = Null;
32723274
3273 /** @name PalletEthereumFakeTransactionFinalizer (439) */3275 /** @name PalletEthereumFakeTransactionFinalizer (441) */
3274 export type PalletEthereumFakeTransactionFinalizer = Null;3276 export type PalletEthereumFakeTransactionFinalizer = Null;
32753277
3276} // declare module3278} // declare module
modifiedtests/src/nesting/nest.test.tsdiffbeforeafterboth
--- a/tests/src/nesting/nest.test.ts
+++ b/tests/src/nesting/nest.test.ts
@@ -2,6 +2,7 @@
 import {tokenIdToAddress} from '../eth/util/helpers';
 import usingApi, {executeTransaction} from '../substrate/substrate-api';
 import {
+  addCollectionAdminExpectSuccess,
   addToAllowListExpectSuccess,
   createCollectionExpectSuccess,
   createItemExpectSuccess,
@@ -20,10 +21,11 @@
 
 let alice: IKeyringPair;
 let bob: IKeyringPair;
+let charlie: IKeyringPair;
 
-describe('Integration Test: Nesting', () => {
+describe('Integration Test: Composite nesting tests', () => {
   before(async () => {
-    await usingApi(async (api, privateKeyWrapper) => {
+    await usingApi(async (_, privateKeyWrapper) => {
       alice = privateKeyWrapper('//Alice');
       bob = privateKeyWrapper('//Bob');
     });
@@ -145,7 +147,79 @@
       ], 'Children contents check at deeper nesting');
     });
   });
+});
 
+describe('Integration Test: Various token type nesting', async () => {
+  before(async () => {
+    await usingApi(async (_, privateKeyWrapper) => {
+      alice = privateKeyWrapper('//Alice');
+      bob = privateKeyWrapper('//Bob');
+      charlie = privateKeyWrapper('//Charlie');
+    });
+  });
+
+  it('Admin (NFT): allows an Admin to nest a token', async () => {
+    await usingApi(async api => {
+      const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
+      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {collectionAdmin: true}});
+      await addCollectionAdminExpectSuccess(alice, collection, bob.address);
+      const targetToken = await createItemExpectSuccess(alice, collection, 'NFT', charlie.address);
+
+      // Create a nested token
+      const nestedToken = await createItemExpectSuccess(bob, collection, 'NFT', {Ethereum: tokenIdToAddress(collection, targetToken)});
+      expect(await getTopmostTokenOwner(api, collection, nestedToken)).to.be.deep.equal({Substrate: charlie.address});
+      expect(await getTokenOwner(api, collection, nestedToken)).to.be.deep.equal({Ethereum: tokenIdToAddress(collection, targetToken).toLowerCase()});
+
+      // Create a token to be nested and nest
+      const newToken = await createItemExpectSuccess(bob, collection, 'NFT');
+      await transferExpectSuccess(collection, newToken, bob, {Ethereum: tokenIdToAddress(collection, targetToken)});
+      expect(await getTopmostTokenOwner(api, collection, newToken)).to.be.deep.equal({Substrate: charlie.address});
+      expect(await getTokenOwner(api, collection, newToken)).to.be.deep.equal({Ethereum: tokenIdToAddress(collection, targetToken).toLowerCase()});
+    });
+  });
+
+  it('Admin (NFT): Admin and Token Owner can operate together', async () => {
+    await usingApi(async api => {
+      const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
+      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {tokenOwner: true, collectionAdmin: true}});
+      await addCollectionAdminExpectSuccess(alice, collection, bob.address);
+      const targetToken = await createItemExpectSuccess(alice, collection, 'NFT', charlie.address);
+
+      // Create a nested token by an administrator
+      const nestedToken = await createItemExpectSuccess(bob, collection, 'NFT', {Ethereum: tokenIdToAddress(collection, targetToken)});
+      expect(await getTopmostTokenOwner(api, collection, nestedToken)).to.be.deep.equal({Substrate: charlie.address});
+      expect(await getTokenOwner(api, collection, nestedToken)).to.be.deep.equal({Ethereum: tokenIdToAddress(collection, targetToken).toLowerCase()});
+
+      // Create a token and allow the owner to nest too
+      const newToken = await createItemExpectSuccess(alice, collection, 'NFT', charlie.address);
+      await transferExpectSuccess(collection, newToken, charlie, {Ethereum: tokenIdToAddress(collection, nestedToken)});
+      expect(await getTopmostTokenOwner(api, collection, newToken)).to.be.deep.equal({Substrate: charlie.address});
+      expect(await getTokenOwner(api, collection, newToken)).to.be.deep.equal({Ethereum: tokenIdToAddress(collection, nestedToken).toLowerCase()});
+    });
+  });
+
+  it('Admin (NFT): allows an Admin to nest a token (Restricted nesting)', async () => {
+    await usingApi(async api => {
+      const collectionA = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
+      await addCollectionAdminExpectSuccess(alice, collectionA, bob.address);
+      const collectionB = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
+      await addCollectionAdminExpectSuccess(alice, collectionB, bob.address);
+      await setCollectionPermissionsExpectSuccess(alice, collectionA, {nesting: {collectionAdmin: true, restricted:[collectionA, collectionB]}});
+      const targetToken = await createItemExpectSuccess(alice, collectionA, 'NFT', charlie.address);
+
+      // Create a nested token
+      const nestedToken = await createItemExpectSuccess(bob, collectionB, 'NFT', {Ethereum: tokenIdToAddress(collectionA, targetToken)});
+      expect(await getTopmostTokenOwner(api, collectionB, nestedToken)).to.be.deep.equal({Substrate: charlie.address});
+      expect(await getTokenOwner(api, collectionB, nestedToken)).to.be.deep.equal({Ethereum: tokenIdToAddress(collectionA, targetToken).toLowerCase()});
+
+      // Create a token to be nested and nest
+      const newToken = await createItemExpectSuccess(bob, collectionB, 'NFT');
+      await transferExpectSuccess(collectionB, newToken, bob, {Ethereum: tokenIdToAddress(collectionA, targetToken)});
+      expect(await getTopmostTokenOwner(api, collectionB, newToken)).to.be.deep.equal({Substrate: charlie.address});
+      expect(await getTokenOwner(api, collectionB, newToken)).to.be.deep.equal({Ethereum: tokenIdToAddress(collectionA, targetToken).toLowerCase()});
+    });
+  });
+
   // ---------- Non-Fungible ----------
 
   it('NFT: allows an Owner to nest/unnest their token', async () => {
@@ -248,7 +322,7 @@
       await expect(executeTransaction(api, alice, api.tx.unique.createItem(
         collectionRFT,
         targetAddress,
-        {ReFungible: {const_data: [], pieces: 100}},
+        {ReFungible: {pieces: 100}},
       ))).to.not.be.rejected;
 
       // Nest a new token
@@ -271,7 +345,7 @@
       await expect(executeTransaction(api, alice, api.tx.unique.createItem(
         collectionRFT,
         targetAddress,
-        {ReFungible: {const_data: [], pieces: 100}},
+        {ReFungible: {pieces: 100}},
       ))).to.not.be.rejected;
 
       // Nest a new token
@@ -283,7 +357,7 @@
 
 describe('Negative Test: Nesting', async() => {
   before(async () => {
-    await usingApi(async (api, privateKeyWrapper) => {
+    await usingApi(async (_, privateKeyWrapper) => {
       alice = privateKeyWrapper('//Alice');
       bob = privateKeyWrapper('//Bob');
     });
@@ -314,13 +388,121 @@
       await expect(executeTransaction(api, alice, api.tx.unique.createItem(
         collection,
         {Ethereum: tokenIdToAddress(collection, prevToken)},
-          {nft: {const_data: [], variable_data: []}} as any,
+          {nft: {}} as any,
       )), 'while creating nested token').to.be.rejectedWith(/^structure\.DepthLimit$/);
 
       expect(await getTopmostTokenOwner(api, collection, prevToken)).to.be.deep.equal({Substrate: alice.address});
     });
   });
 
+  // ---------- Admin ------------
+
+  it('Admin (NFT): disallows an Admin to operate nesting when only TokenOwner is allowed', async () => {
+    await usingApi(async api => {
+      const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
+      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {tokenOwner: true}});
+      await addCollectionAdminExpectSuccess(alice, collection, bob.address);
+      const targetToken = await createItemExpectSuccess(alice, collection, 'NFT');
+
+      // Try to create a nested token as collection admin when it's disallowed
+      await expect(executeTransaction(api, bob, api.tx.unique.createItem(
+        collection,
+        {Ethereum: tokenIdToAddress(collection, targetToken)},
+          {nft: {}} as any,
+      )), 'while creating nested token').to.be.rejectedWith(/common\.UserIsNotAllowedToNest/);
+
+      // Try to create and nest a token in the wrong collection
+      const newToken = await createItemExpectSuccess(bob, collection, 'NFT');
+      await expect(executeTransaction(
+        api, 
+        bob, 
+        api.tx.unique.transfer({Ethereum: tokenIdToAddress(collection, targetToken)}, collection, newToken, 1),
+      ), 'while nesting new token').to.be.rejectedWith(/common\.UserIsNotAllowedToNest/);
+      expect(await getTokenOwner(api, collection, newToken)).to.be.deep.equal({Substrate: bob.address});
+    });
+  });
+
+  it('Admin (NFT): disallows a Token Owner to operate nesting when only Admin is allowed', async () => {
+    await usingApi(async api => {
+      const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
+      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {collectionAdmin: true}});
+      await addToAllowListExpectSuccess(alice, collection, bob.address);
+      await enableAllowListExpectSuccess(alice, collection);
+      await enablePublicMintingExpectSuccess(alice, collection);
+      const targetToken = await createItemExpectSuccess(alice, collection, 'NFT');
+
+      // Try to create a nested token as collection admin when it's disallowed
+      await expect(executeTransaction(api, bob, api.tx.unique.createItem(
+        collection,
+        {Ethereum: tokenIdToAddress(collection, targetToken)},
+          {nft: {}} as any,
+      )), 'while creating nested token').to.be.rejectedWith(/common\.AddressNotInAllowlist/); 
+
+      // Try to create and nest a token in the wrong collection
+      const newToken = await createItemExpectSuccess(bob, collection, 'NFT');
+      await expect(executeTransaction(
+        api, 
+        bob, 
+        api.tx.unique.transfer({Ethereum: tokenIdToAddress(collection, targetToken)}, collection, newToken, 1),
+      ), 'while nesting new token').to.be.rejectedWith(/common\.AddressNotInAllowlist/);
+      expect(await getTokenOwner(api, collection, newToken)).to.be.deep.equal({Substrate: bob.address});
+    });
+  });
+
+  it('Admin (NFT): disallows an Admin to nest and unnest someone else\'s token', async () => {
+    await usingApi(async api => {
+      const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
+      await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {collectionAdmin: true}});
+
+      await addToAllowListExpectSuccess(alice, collection, bob.address);
+      await enableAllowListExpectSuccess(alice, collection);
+      await enablePublicMintingExpectSuccess(alice, collection);
+
+      // Create a token to attempt to be nested into
+      const targetToken = await createItemExpectSuccess(bob, collection, 'NFT');
+      const targetAddress = {Ethereum: tokenIdToAddress(collection, targetToken).toLowerCase()};
+
+      // Try to nest somebody else's token
+      const newToken = await createItemExpectSuccess(bob, collection, 'NFT');
+      await expect(executeTransaction(
+        api, 
+        alice, 
+        api.tx.unique.transfer(targetAddress, collection, newToken, 1),
+      ), 'while nesting another\'s token token').to.be.rejectedWith(/common\.AddressNotInAllowlist/);
+      expect(await getTokenOwner(api, collection, newToken)).to.be.deep.equal({Substrate: bob.address});
+
+      // Nest a token as admin and try to unnest it, now belonging to someone else
+      const nestedToken = await createItemExpectSuccess(alice, collection, 'NFT', targetAddress);
+      await expect(executeTransaction(
+        api, 
+        alice, 
+        api.tx.unique.transferFrom(targetAddress, normalizeAccountId(alice), collection, nestedToken, 1),
+      ), 'while unnesting another\'s token').to.be.rejectedWith(/common\.AddressNotInAllowlist/);
+      expect(await getTokenOwner(api, collection, nestedToken)).to.be.deep.equal(targetAddress);
+      expect(await getTopmostTokenOwner(api, collection, nestedToken)).to.be.deep.equal({Substrate: bob.address});
+    });
+  });
+
+  it('Admin (NFT): disallows an Admin to nest a token from an unlisted collection (Restricted nesting)', async () => {
+    await usingApi(async api => {
+      const collectionA = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
+      const collectionB = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
+      await setCollectionPermissionsExpectSuccess(alice, collectionA, {nesting: {collectionAdmin: true, restricted:[collectionA]}});
+
+      // Create a token to attempt to be nested into
+      const targetToken = await createItemExpectSuccess(alice, collectionA, 'NFT');
+
+      // Try to create and nest a token in the wrong collection
+      const newToken = await createItemExpectSuccess(alice, collectionB, 'NFT');
+      await expect(executeTransaction(
+        api, 
+        alice, 
+        api.tx.unique.transfer({Ethereum: tokenIdToAddress(collectionA, targetToken)}, collectionB, newToken, 1),
+      ), 'while nesting a foreign token').to.be.rejectedWith(/common\.SourceCollectionIsNotAllowedToNest/);
+      expect(await getTokenOwner(api, collectionB, newToken)).to.be.deep.equal({Substrate: alice.address});
+    });
+  });
+
   // ---------- Non-Fungible ----------
 
   it('NFT: disallows to nest token if nesting is disabled', async () => {
@@ -333,7 +515,7 @@
       await expect(executeTransaction(api, alice, api.tx.unique.createItem(
         collection,
         {Ethereum: tokenIdToAddress(collection, targetToken)},
-          {nft: {const_data: [], variable_data: []}} as any,
+          {nft: {}} as any,
       )), 'while creating nested token').to.be.rejectedWith(/^common\.UserIsNotAllowedToNest$/);
 
       // Create a token to be nested
@@ -361,7 +543,7 @@
       await expect(executeTransaction(api, alice, api.tx.unique.createItem(
         collection,
         {Ethereum: tokenIdToAddress(collection, targetToken)},
-          {nft: {const_data: [], variable_data: []}} as any,
+          {nft: {}} as any,
       )), 'while creating nested token').to.be.rejectedWith(/common\.UserIsNotAllowedToNest/);
 
       // Try to create and nest a token in the wrong collection
@@ -387,7 +569,7 @@
       await expect(executeTransaction(api, alice, api.tx.unique.createItem(
         collection,
         {Ethereum: tokenIdToAddress(collection, targetToken)},
-          {nft: {const_data: [], variable_data: []}} as any,
+          {nft: {}} as any,
       )), 'while creating nested token').to.be.rejectedWith(/common\.UserIsNotAllowedToNest/);
 
       // Try to create and nest a token in the wrong collection
@@ -409,7 +591,7 @@
       await expect(executeTransaction(api, alice, api.tx.unique.createItem(
         collection,
         {Ethereum: tokenIdToAddress(collection, targetToken)},
-          {nft: {const_data: [], variable_data: []}} as any,
+          {nft: {}} as any,
       )), 'while creating nested token').to.be.rejectedWith(/common\.SourceCollectionIsNotAllowedToNest/);
 
       // Try to create and nest a token in the wrong collection
@@ -543,7 +725,7 @@
       await expect(executeTransaction(api, alice, api.tx.unique.createItem(
         collectionRFT,
         targetAddress,
-        {ReFungible: {const_data: [], pieces: 100}},
+        {ReFungible: {pieces: 100}},
       )), 'while creating a nested token').to.be.rejectedWith(/^common\.UserIsNotAllowedToNest$/);
 
       // Create a token to be nested
@@ -579,7 +761,7 @@
       await expect(executeTransaction(api, alice, api.tx.unique.createItem(
         collectionRFT,
         targetAddress,
-        {ReFungible: {const_data: [], pieces: 100}},
+        {ReFungible: {pieces: 100}},
       )), 'while creating a nested token').to.be.rejectedWith(/common\.UserIsNotAllowedToNest/);
 
       // Try to create and nest a token in the wrong collection
@@ -606,7 +788,7 @@
       await expect(executeTransaction(api, alice, api.tx.unique.createItem(
         collectionRFT,
         targetAddress,
-        {ReFungible: {const_data: [], pieces: 100}},
+        {ReFungible: {pieces: 100}},
       )), 'while creating a nested token').to.be.rejectedWith(/common\.UserIsNotAllowedToNest/);
 
       // Try to create and nest a token in the wrong collection
@@ -630,7 +812,7 @@
       await expect(executeTransaction(api, alice, api.tx.unique.createItem(
         collectionRFT,
         targetAddress,
-        {ReFungible: {const_data: [], pieces: 100}},
+        {ReFungible: {pieces: 100}},
       )), 'while creating a nested token').to.be.rejectedWith(/common\.SourceCollectionIsNotAllowedToNest/);
 
       // Try to create and nest a token in the wrong collection