git.delta.rocks / unique-network / refs/commits / 6bbb9b831975

difftreelog

feat(rpc) topmostTokenOwner

Yaroslav Bolyukin2022-04-08parent: #208e41d.patch.diff
in: master

15 files changed

modifiedclient/rpc/src/lib.rsdiffbeforeafterboth
--- a/client/rpc/src/lib.rs
+++ b/client/rpc/src/lib.rs
@@ -48,6 +48,13 @@
 		token: TokenId,
 		at: Option<BlockHash>,
 	) -> Result<Option<CrossAccountId>>;
+	#[rpc(name = "unique_topmostTokenOwner")]
+	fn topmost_token_owner(
+		&self,
+		collection: CollectionId,
+		token: TokenId,
+		at: Option<BlockHash>,
+	) -> Result<Option<CrossAccountId>>;
 	#[rpc(name = "unique_constMetadata")]
 	fn const_metadata(
 		&self,
@@ -224,6 +231,7 @@
 		token_owner(collection: CollectionId, token: TokenId) -> Option<CrossAccountId>;
 		changed_in 2, token_owner_before_version_2(collection, token) => |u| Some(u)
 	);
+	pass_method!(topmost_token_owner(collection: CollectionId, token: TokenId) -> Option<CrossAccountId>);
 	pass_method!(const_metadata(collection: CollectionId, token: TokenId) -> Vec<u8>);
 	pass_method!(variable_metadata(collection: CollectionId, token: TokenId) -> Vec<u8>);
 	pass_method!(collection_tokens(collection: CollectionId) -> u32);
modifiedprimitives/rpc/src/lib.rsdiffbeforeafterboth
--- a/primitives/rpc/src/lib.rs
+++ b/primitives/rpc/src/lib.rs
@@ -36,6 +36,7 @@
 		fn token_exists(collection: CollectionId, token: TokenId) -> Result<bool>;
 
 		fn token_owner(collection: CollectionId, token: TokenId) -> Result<Option<CrossAccountId>>;
+		fn topmost_token_owner(collection: CollectionId, token: TokenId) -> Result<Option<CrossAccountId>>;
 		fn const_metadata(collection: CollectionId, token: TokenId) -> Result<Vec<u8>>;
 		fn variable_metadata(collection: CollectionId, token: TokenId) -> Result<Vec<u8>>;
 
modifiedruntime/common/src/runtime_apis.rsdiffbeforeafterboth
--- a/runtime/common/src/runtime_apis.rs
+++ b/runtime/common/src/runtime_apis.rs
@@ -21,6 +21,11 @@
                 fn token_owner(collection: CollectionId, token: TokenId) -> Result<Option<CrossAccountId>, DispatchError> {
                     dispatch_unique_runtime!(collection.token_owner(token))
                 }
+                fn topmost_token_owner(collection: CollectionId, token: TokenId) -> Result<Option<CrossAccountId>, DispatchError> {
+                    let budget = up_data_structs::budget::Value::new(5);
+
+                    Ok(Some(<pallet_structure::Pallet<Runtime>>::find_topmost_owner(collection, token, &budget)?))
+                }
                 fn const_metadata(collection: CollectionId, token: TokenId) -> Result<Vec<u8>, DispatchError> {
                     dispatch_unique_runtime!(collection.const_metadata(token))
                 }
modifiedtests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-errors.ts
+++ b/tests/src/interfaces/augment-api-errors.ts
@@ -73,6 +73,10 @@
        **/
       CollectionDescriptionLimitExceeded: AugmentedError<ApiType>;
       /**
+       * Tried to store more data than allowed in collection field
+       **/
+      CollectionFieldSizeExceeded: AugmentedError<ApiType>;
+      /**
        * Collection limit bounds per collection exceeded
        **/
       CollectionLimitBoundsExceeded: AugmentedError<ApiType>;
@@ -101,6 +105,10 @@
        **/
       MustBeTokenOwner: AugmentedError<ApiType>;
       /**
+       * Collection has nesting disabled
+       **/
+      NestingIsDisabled: AugmentedError<ApiType>;
+      /**
        * No permission to perform action
        **/
       NoPermission: AugmentedError<ApiType>;
@@ -109,6 +117,10 @@
        **/
       NotSufficientFounds: AugmentedError<ApiType>;
       /**
+       * Only owner may nest tokens under this collection
+       **/
+      OnlyOwnerAllowedToNest: AugmentedError<ApiType>;
+      /**
        * Tried to enable permissions which are only permitted to be disabled
        **/
       OwnerPermissionsCantBeReverted: AugmentedError<ApiType>;
@@ -117,6 +129,10 @@
        **/
       PublicMintingNotAllowed: AugmentedError<ApiType>;
       /**
+       * Only tokens from specific collections may nest tokens under this
+       **/
+      SourceCollectionIsNotAllowedToNest: AugmentedError<ApiType>;
+      /**
        * Item not exists.
        **/
       TokenNotFound: AugmentedError<ApiType>;
@@ -237,6 +253,10 @@
     };
     fungible: {
       /**
+       * Fungible token does not support nested
+       **/
+      FungibleDisallowsNesting: AugmentedError<ApiType>;
+      /**
        * Tried to set data for fungible item
        **/
       FungibleItemsDontHaveData: AugmentedError<ApiType>;
@@ -373,6 +393,10 @@
        **/
       NotRefungibleDataUsedToMintFungibleCollectionToken: AugmentedError<ApiType>;
       /**
+       * Refungible token can't nest other tokens
+       **/
+      RefungibleDisallowsNesting: AugmentedError<ApiType>;
+      /**
        * Maximum refungibility exceeded
        **/
       WrongRefungiblePieces: AugmentedError<ApiType>;
@@ -381,6 +405,24 @@
        **/
       [key: string]: AugmentedError<ApiType>;
     };
+    structure: {
+      /**
+       * While searched for owner, encountered depth limit
+       **/
+      DepthLimit: AugmentedError<ApiType>;
+      /**
+       * While searched for owner, got already checked account
+       **/
+      OuroborosDetected: AugmentedError<ApiType>;
+      /**
+       * While searched for owner, found token owner by not-yet-existing token
+       **/
+      TokenNotFound: AugmentedError<ApiType>;
+      /**
+       * Generic error
+       **/
+      [key: string]: AugmentedError<ApiType>;
+    };
     sudo: {
       /**
        * Sender must be the Sudo account
modifiedtests/src/interfaces/augment-api-events.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-events.ts
+++ b/tests/src/interfaces/augment-api-events.ts
@@ -391,6 +391,16 @@
        **/
       [key: string]: AugmentedEvent<ApiType>;
     };
+    structure: {
+      /**
+       * Executed call on behalf of token
+       **/
+      Executed: AugmentedEvent<ApiType, [Result<Null, SpRuntimeDispatchError>]>;
+      /**
+       * Generic event
+       **/
+      [key: string]: AugmentedEvent<ApiType>;
+    };
     sudo: {
       /**
        * The \[sudoer\] just switched identity; the old key is supplied if one existed.
modifiedtests/src/interfaces/augment-api-query.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-query.ts
+++ b/tests/src/interfaces/augment-api-query.ts
@@ -5,7 +5,7 @@
 import type { BTreeMap, Bytes, Option, U256, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types-codec';
 import type { AnyNumber, ITuple } from '@polkadot/types-codec/types';
 import type { AccountId32, H160, H256 } from '@polkadot/types/interfaces/runtime';
-import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportWeightsPerDispatchClassU64, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpRuntimeDigest, SpTrieStorageProof, UpDataStructsCollection, UpDataStructsCollectionStats } from '@polkadot/types/lookup';
+import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportWeightsPerDispatchClassU64, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PhantomTypeUpDataStructs, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV1AbridgedHostConfiguration, PolkadotPrimitivesV1PersistedValidationData, PolkadotPrimitivesV1UpgradeRestriction, SpRuntimeDigest, SpTrieStorageProof, UpDataStructsCollectionField, UpDataStructsCollectionStats, UpDataStructsCollectionVersion2 } from '@polkadot/types/lookup';
 import type { Observable } from '@polkadot/types/types';
 
 declare module '@polkadot/api-base/types/storage' {
@@ -13,25 +13,25 @@
     balances: {
       /**
        * The Balances pallet example of storing the balance of an account.
-       * 
+       *
        * # Example
-       * 
+       *
        * ```nocompile
        * impl pallet_balances::Config for Runtime {
        * type AccountStore = StorageMapShim<Self::Account<Runtime>, frame_system::Provider<Runtime>, AccountId, Self::AccountData<Balance>>
        * }
        * ```
-       * 
+       *
        * You can also store the balance of an account in the `System` pallet.
-       * 
+       *
        * # Example
-       * 
+       *
        * ```nocompile
        * impl pallet_balances::Config for Runtime {
        * type AccountStore = System
        * }
        * ```
-       * 
+       *
        * But this comes with tradeoffs, storing account balances in the system pallet stores
        * `frame_system` data alongside the account data contrary to storing account balances in the
        * `Balances` pallet, which uses a `StorageMap` to store balances data only.
@@ -49,7 +49,7 @@
       reserves: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Vec<PalletBalancesReserveData>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
       /**
        * Storage version of the pallet.
-       * 
+       *
        * This is set to v2.0.0 for new networks.
        **/
       storageVersion: AugmentedQuery<ApiType, () => Observable<PalletBalancesReleases>, []> & QueryableStorageEntry<ApiType, []>;
@@ -77,13 +77,17 @@
       /**
        * Collection info
        **/
-      collectionById: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<UpDataStructsCollection>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
+      collectionById: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<UpDataStructsCollectionVersion2>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
+      /**
+       * Large variable-size collection fields are extracted here
+       **/
+      collectionData: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: UpDataStructsCollectionField | 'VariableOnChainSchema' | 'ConstOnChainSchema' | 'OffchainSchema' | number | Uint8Array) => Observable<Bytes>, [u32, UpDataStructsCollectionField]> & QueryableStorageEntry<ApiType, [u32, UpDataStructsCollectionField]>;
       createdCollectionCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
       destroyedCollectionCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * Not used by code, exists only to provide some types to metadata
        **/
-      dummyStorageValue: AugmentedQuery<ApiType, () => Observable<Option<ITuple<[UpDataStructsCollectionStats, u32, u32]>>>, []> & QueryableStorageEntry<ApiType, []>;
+      dummyStorageValue: AugmentedQuery<ApiType, () => Observable<Option<ITuple<[UpDataStructsCollectionStats, u32, u32, PhantomTypeUpDataStructs]>>>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * List of collection admins
        **/
@@ -245,7 +249,7 @@
       authorizedUpgrade: AugmentedQuery<ApiType, () => Observable<Option<H256>>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * A custom head data that should be returned as result of `validate_block`.
-       * 
+       *
        * See [`Pallet::set_custom_validation_head_data`] for more information.
        **/
       customValidationHeadData: AugmentedQuery<ApiType, () => Observable<Option<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;
@@ -255,35 +259,35 @@
       didSetValidationCode: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * The parachain host configuration that was obtained from the relay parent.
-       * 
+       *
        * This field is meant to be updated each block with the validation data inherent. Therefore,
        * before processing of the inherent, e.g. in `on_initialize` this data may be stale.
-       * 
+       *
        * This data is also absent from the genesis.
        **/
       hostConfiguration: AugmentedQuery<ApiType, () => Observable<Option<PolkadotPrimitivesV2AbridgedHostConfiguration>>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * HRMP messages that were sent in a block.
-       * 
+       *
        * This will be cleared in `on_initialize` of each new block.
        **/
       hrmpOutboundMessages: AugmentedQuery<ApiType, () => Observable<Vec<PolkadotCorePrimitivesOutboundHrmpMessage>>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * HRMP watermark that was set in a block.
-       * 
+       *
        * This will be cleared in `on_initialize` of each new block.
        **/
       hrmpWatermark: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * The last downward message queue chain head we have observed.
-       * 
+       *
        * This value is loaded before and saved after processing inbound downward messages carried
        * by the system inherent.
        **/
       lastDmqMqcHead: AugmentedQuery<ApiType, () => Observable<H256>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * The message queue chain heads we have observed per each channel incoming channel.
-       * 
+       *
        * This value is loaded before and saved after processing inbound downward messages carried
        * by the system inherent.
        **/
@@ -291,7 +295,7 @@
       /**
        * Validation code that is set by the parachain and is to be communicated to collator and
        * consequently the relay-chain.
-       * 
+       *
        * This will be cleared in `on_initialize` of each new block if no other pallet already set
        * the value.
        **/
@@ -302,35 +306,35 @@
       pendingUpwardMessages: AugmentedQuery<ApiType, () => Observable<Vec<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * In case of a scheduled upgrade, this storage field contains the validation code to be applied.
-       * 
+       *
        * As soon as the relay chain gives us the go-ahead signal, we will overwrite the [`:code`][well_known_keys::CODE]
        * which will result the next block process with the new validation code. This concludes the upgrade process.
-       * 
+       *
        * [well_known_keys::CODE]: sp_core::storage::well_known_keys::CODE
        **/
       pendingValidationCode: AugmentedQuery<ApiType, () => Observable<Bytes>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * Number of downward messages processed in a block.
-       * 
+       *
        * This will be cleared in `on_initialize` of each new block.
        **/
       processedDownwardMessages: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * The state proof for the last relay parent block.
-       * 
+       *
        * This field is meant to be updated each block with the validation data inherent. Therefore,
        * before processing of the inherent, e.g. in `on_initialize` this data may be stale.
-       * 
+       *
        * This data is also absent from the genesis.
        **/
       relayStateProof: AugmentedQuery<ApiType, () => Observable<Option<SpTrieStorageProof>>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * The snapshot of some state related to messaging relevant to the current parachain as per
        * the relay parent.
-       * 
+       *
        * This field is meant to be updated each block with the validation data inherent. Therefore,
        * before processing of the inherent, e.g. in `on_initialize` this data may be stale.
-       * 
+       *
        * This data is also absent from the genesis.
        **/
       relevantMessagingState: AugmentedQuery<ApiType, () => Observable<Option<CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot>>, []> & QueryableStorageEntry<ApiType, []>;
@@ -348,7 +352,7 @@
        * An option which indicates if the relay-chain restricts signalling a validation code upgrade.
        * In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced
        * candidate will be invalid.
-       * 
+       *
        * This storage item is a mirror of the corresponding value for the current parachain from the
        * relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is
        * set after the inherent.
@@ -356,7 +360,7 @@
       upgradeRestrictionSignal: AugmentedQuery<ApiType, () => Observable<Option<PolkadotPrimitivesV2UpgradeRestriction>>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * Upward messages that were sent in a block.
-       * 
+       *
        * This will be cleared in `on_initialize` of each new block.
        **/
       upwardMessages: AugmentedQuery<ApiType, () => Observable<Vec<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;
@@ -400,6 +404,12 @@
        **/
       [key: string]: QueryableStorageEntry<ApiType>;
     };
+    structure: {
+      /**
+       * Generic query
+       **/
+      [key: string]: QueryableStorageEntry<ApiType>;
+    };
     sudo: {
       /**
        * The `AccountId` of the sudo key.
@@ -437,10 +447,10 @@
       eventCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * Events deposited for the current block.
-       * 
+       *
        * NOTE: The item is unbound and should therefore never be read on chain.
        * It could otherwise inflate the PoV size of a block.
-       * 
+       *
        * Events have a large in-memory size. Box the events to not go out-of-memory
        * just in case someone still reads them from within the runtime.
        **/
@@ -448,11 +458,11 @@
       /**
        * Mapping between a topic (represented by T::Hash) and a vector of indexes
        * of events in the `<Events<T>>` list.
-       * 
+       *
        * All topic vectors have deterministic storage locations depending on the topic. This
        * allows light-clients to leverage the changes trie storage tracking mechanism and
        * in case of changes fetch the list of events of interest.
-       * 
+       *
        * The value has the type `(T::BlockNumber, EventIndex)` because if we used only just
        * the `EventIndex` then in case if the topic has the same contents on the next block
        * no notification will be triggered thus the event might be lost.
@@ -577,7 +587,7 @@
     vesting: {
       /**
        * Vesting schedules of an account.
-       * 
+       *
        * VestingSchedules: map AccountId => Vec<VestingSchedule>
        **/
       vestingSchedules: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Vec<OrmlVestingVestingSchedule>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
@@ -610,7 +620,7 @@
       outboundXcmpStatus: AugmentedQuery<ApiType, () => Observable<Vec<CumulusPalletXcmpQueueOutboundChannelDetails>>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * The messages that exceeded max individual message weight budget.
-       * 
+       *
        * These message stay in this storage map until they are manually dispatched via
        * `service_overweight`.
        **/
modifiedtests/src/interfaces/augment-api-rpc.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-rpc.ts
+++ b/tests/src/interfaces/augment-api-rpc.ts
@@ -1,7 +1,7 @@
 // Auto-generated via `yarn polkadot-types-from-chain`, do not edit
 /* eslint-disable */
 
-import type { PalletEvmAccountBasicCrossAccountIdRepr, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionStats } from './unique';
+import type { PalletEvmAccountBasicCrossAccountIdRepr, UpDataStructsCollectionLimitsVersion2, UpDataStructsCollectionStats, UpDataStructsRpcCollection } from './unique';
 import type { AugmentedRpc } from '@polkadot/rpc-core/types';
 import type { Metadata, StorageKey } from '@polkadot/types';
 import type { Bytes, HashMap, Json, Null, Option, Text, U256, U64, Vec, bool, u128, u32, u64 } from '@polkadot/types-codec';
@@ -601,7 +601,7 @@
       /**
        * Get collection by specified id
        **/
-      collectionById: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<UpDataStructsCollection>>>;
+      collectionById: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<UpDataStructsRpcCollection>>>;
       /**
        * Get collection stats
        **/
@@ -617,7 +617,7 @@
       /**
        * Get effective collection limits
        **/
-      effectiveCollectionLimits: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<UpDataStructsCollectionLimits>>>;
+      effectiveCollectionLimits: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<UpDataStructsCollectionLimitsVersion2>>>;
       /**
        * Get last token id
        **/
@@ -635,6 +635,10 @@
        **/
       tokenOwner: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<PalletEvmAccountBasicCrossAccountIdRepr>>;
       /**
+       * Get token owner, in case of nested token - find parent recursive
+       **/
+      topmostTokenOwner: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<PalletEvmAccountBasicCrossAccountIdRepr>>;
+      /**
        * Get token variable metadata
        **/
       variableMetadata: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Bytes>>;
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, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types-codec';
 import type { AnyNumber, ITuple } from '@polkadot/types-codec/types';
 import type { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime';
-import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumTransactionTransactionV2, OrmlVestingVestingSchedule, PalletEvmAccountBasicCrossAccountIdRepr, UpDataStructsAccessMode, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
+import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumTransactionTransactionV2, OrmlVestingVestingSchedule, PalletEvmAccountBasicCrossAccountIdRepr, UpDataStructsAccessMode, UpDataStructsCollectionLimitsVersion2, UpDataStructsCollectionMode, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
 
 declare module '@polkadot/api-base/types/submittable' {
   export interface AugmentedSubmittables<ApiType extends ApiTypes> {
@@ -346,6 +346,12 @@
        **/
       [key: string]: SubmittableExtrinsicFunction<ApiType>;
     };
+    structure: {
+      /**
+       * Generic tx
+       **/
+      [key: string]: SubmittableExtrinsicFunction<ApiType>;
+    };
     sudo: {
       /**
        * Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo
@@ -771,7 +777,7 @@
        * * address.
        **/
       removeFromAllowList: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, address: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
-      setCollectionLimits: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newLimit: UpDataStructsCollectionLimits | { accountTokenOwnershipLimit?: any; sponsoredDataSize?: any; sponsoredDataRateLimit?: any; tokenLimit?: any; sponsorTransferTimeout?: any; sponsorApproveTimeout?: any; ownerCanTransfer?: any; ownerCanDestroy?: any; transfersEnabled?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsCollectionLimits]>;
+      setCollectionLimits: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newLimit: UpDataStructsCollectionLimitsVersion2 | { accountTokenOwnershipLimit?: any; sponsoredDataSize?: any; sponsoredDataRateLimit?: any; tokenLimit?: any; sponsorTransferTimeout?: any; sponsorApproveTimeout?: any; ownerCanTransfer?: any; ownerCanDestroy?: any; transfersEnabled?: any; nestingRule?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsCollectionLimitsVersion2]>;
       /**
        * # Permissions
        * 
modifiedtests/src/interfaces/augment-types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-types.ts
+++ b/tests/src/interfaces/augment-types.ts
@@ -1,7 +1,7 @@
 // Auto-generated via `yarn polkadot-types-from-defs`, do not edit
 /* eslint-disable */
 
-import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletXcmCall, PalletXcmError, PalletXcmEvent, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './unique';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportPalletId, FrameSupportStorageBoundedBTreeSet, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV1AbridgedHostConfiguration, PolkadotPrimitivesV1AbridgedHrmpChannel, PolkadotPrimitivesV1PersistedValidationData, PolkadotPrimitivesV1UpgradeRestriction, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollectionField, UpDataStructsCollectionLimitsVersion2, UpDataStructsCollectionMode, UpDataStructsCollectionStats, UpDataStructsCollectionVersion2, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsMetaUpdatePermission, UpDataStructsNestingRule, UpDataStructsRpcCollection, UpDataStructsSchemaVersion, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './unique';
 import type { Data, StorageKey } from '@polkadot/types';
 import type { BTreeSet, BitVec, Bool, Bytes, I128, I16, I256, I32, I64, I8, Json, Null, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, i128, i16, i256, i32, i64, i8, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types-codec';
 import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets';
@@ -479,6 +479,7 @@
     ForkTreePendingChangeNode: ForkTreePendingChangeNode;
     FpRpcTransactionStatus: FpRpcTransactionStatus;
     FrameSupportPalletId: FrameSupportPalletId;
+    FrameSupportStorageBoundedBTreeSet: FrameSupportStorageBoundedBTreeSet;
     FrameSupportTokensMiscBalanceStatus: FrameSupportTokensMiscBalanceStatus;
     FrameSupportWeightsDispatchClass: FrameSupportWeightsDispatchClass;
     FrameSupportWeightsDispatchInfo: FrameSupportWeightsDispatchInfo;
@@ -789,6 +790,9 @@
     PalletsOrigin: PalletsOrigin;
     PalletStorageMetadataLatest: PalletStorageMetadataLatest;
     PalletStorageMetadataV14: PalletStorageMetadataV14;
+    PalletStructureCall: PalletStructureCall;
+    PalletStructureError: PalletStructureError;
+    PalletStructureEvent: PalletStructureEvent;
     PalletSudoCall: PalletSudoCall;
     PalletSudoError: PalletSudoError;
     PalletSudoEvent: PalletSudoEvent;
@@ -846,6 +850,7 @@
     PerU16: PerU16;
     Phantom: Phantom;
     PhantomData: PhantomData;
+    PhantomTypeUpDataStructs: PhantomTypeUpDataStructs;
     Phase: Phase;
     PhragmenScore: PhragmenScore;
     Points: Points;
@@ -1163,10 +1168,11 @@
     UnrewardedRelayer: UnrewardedRelayer;
     UnrewardedRelayersState: UnrewardedRelayersState;
     UpDataStructsAccessMode: UpDataStructsAccessMode;
-    UpDataStructsCollection: UpDataStructsCollection;
-    UpDataStructsCollectionLimits: UpDataStructsCollectionLimits;
+    UpDataStructsCollectionField: UpDataStructsCollectionField;
+    UpDataStructsCollectionLimitsVersion2: UpDataStructsCollectionLimitsVersion2;
     UpDataStructsCollectionMode: UpDataStructsCollectionMode;
     UpDataStructsCollectionStats: UpDataStructsCollectionStats;
+    UpDataStructsCollectionVersion2: UpDataStructsCollectionVersion2;
     UpDataStructsCreateCollectionData: UpDataStructsCreateCollectionData;
     UpDataStructsCreateFungibleData: UpDataStructsCreateFungibleData;
     UpDataStructsCreateItemData: UpDataStructsCreateItemData;
@@ -1176,6 +1182,8 @@
     UpDataStructsCreateReFungibleData: UpDataStructsCreateReFungibleData;
     UpDataStructsCreateRefungibleExData: UpDataStructsCreateRefungibleExData;
     UpDataStructsMetaUpdatePermission: UpDataStructsMetaUpdatePermission;
+    UpDataStructsNestingRule: UpDataStructsNestingRule;
+    UpDataStructsRpcCollection: UpDataStructsRpcCollection;
     UpDataStructsSchemaVersion: UpDataStructsSchemaVersion;
     UpDataStructsSponsoringRateLimit: UpDataStructsSponsoringRateLimit;
     UpDataStructsSponsorshipState: UpDataStructsSponsorshipState;
deletedtests/src/interfaces/lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/lookup.ts
+++ /dev/null
@@ -1,2438 +0,0 @@
-// Auto-generated via `yarn polkadot-types-from-defs`, do not edit
-/* eslint-disable */
-
-/* eslint-disable sort-keys */
-
-export default {
-  /**
-   * Lookup2: polkadot_primitives::v2::PersistedValidationData<primitive_types::H256, N>
-   **/
-  PolkadotPrimitivesV2PersistedValidationData: {
-    parentHead: 'Bytes',
-    relayParentNumber: 'u32',
-    relayParentStorageRoot: 'H256',
-    maxPovSize: 'u32'
-  },
-  /**
-   * Lookup9: polkadot_primitives::v2::UpgradeRestriction
-   **/
-  PolkadotPrimitivesV2UpgradeRestriction: {
-    _enum: ['Present']
-  },
-  /**
-   * Lookup10: sp_trie::storage_proof::StorageProof
-   **/
-  SpTrieStorageProof: {
-    trieNodes: 'BTreeSet'
-  },
-  /**
-   * Lookup11: BTreeSet<T>
-   **/
-  BTreeSet: 'BTreeSet<Bytes>',
-  /**
-   * Lookup13: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot
-   **/
-  CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {
-    dmqMqcHead: 'H256',
-    relayDispatchQueueSize: '(u32,u32)',
-    ingressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>',
-    egressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>'
-  },
-  /**
-   * Lookup18: polkadot_primitives::v2::AbridgedHrmpChannel
-   **/
-  PolkadotPrimitivesV2AbridgedHrmpChannel: {
-    maxCapacity: 'u32',
-    maxTotalSize: 'u32',
-    maxMessageSize: 'u32',
-    msgCount: 'u32',
-    totalSize: 'u32',
-    mqcHead: 'Option<H256>'
-  },
-  /**
-   * Lookup20: polkadot_primitives::v2::AbridgedHostConfiguration
-   **/
-  PolkadotPrimitivesV2AbridgedHostConfiguration: {
-    maxCodeSize: 'u32',
-    maxHeadDataSize: 'u32',
-    maxUpwardQueueCount: 'u32',
-    maxUpwardQueueSize: 'u32',
-    maxUpwardMessageSize: 'u32',
-    maxUpwardMessageNumPerCandidate: 'u32',
-    hrmpMaxMessageNumPerCandidate: 'u32',
-    validationUpgradeCooldown: 'u32',
-    validationUpgradeDelay: 'u32'
-  },
-  /**
-   * Lookup26: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>
-   **/
-  PolkadotCorePrimitivesOutboundHrmpMessage: {
-    recipient: 'u32',
-    data: 'Bytes'
-  },
-  /**
-   * Lookup28: cumulus_pallet_parachain_system::pallet::Call<T>
-   **/
-  CumulusPalletParachainSystemCall: {
-    _enum: {
-      set_validation_data: {
-        data: 'CumulusPrimitivesParachainInherentParachainInherentData',
-      },
-      sudo_send_upward_message: {
-        message: 'Bytes',
-      },
-      authorize_upgrade: {
-        codeHash: 'H256',
-      },
-      enact_authorized_upgrade: {
-        code: 'Bytes'
-      }
-    }
-  },
-  /**
-   * Lookup29: cumulus_primitives_parachain_inherent::ParachainInherentData
-   **/
-  CumulusPrimitivesParachainInherentParachainInherentData: {
-    validationData: 'PolkadotPrimitivesV2PersistedValidationData',
-    relayChainState: 'SpTrieStorageProof',
-    downwardMessages: 'Vec<PolkadotCorePrimitivesInboundDownwardMessage>',
-    horizontalMessages: 'BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>'
-  },
-  /**
-   * Lookup31: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>
-   **/
-  PolkadotCorePrimitivesInboundDownwardMessage: {
-    sentAt: 'u32',
-    msg: 'Bytes'
-  },
-  /**
-   * Lookup34: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>
-   **/
-  PolkadotCorePrimitivesInboundHrmpMessage: {
-    sentAt: 'u32',
-    data: 'Bytes'
-  },
-  /**
-   * Lookup37: cumulus_pallet_parachain_system::pallet::Event<T>
-   **/
-  CumulusPalletParachainSystemEvent: {
-    _enum: {
-      ValidationFunctionStored: 'Null',
-      ValidationFunctionApplied: 'u32',
-      ValidationFunctionDiscarded: 'Null',
-      UpgradeAuthorized: 'H256',
-      DownwardMessagesReceived: 'u32',
-      DownwardMessagesProcessed: '(u64,H256)'
-    }
-  },
-  /**
-   * Lookup38: cumulus_pallet_parachain_system::pallet::Error<T>
-   **/
-  CumulusPalletParachainSystemError: {
-    _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized']
-  },
-  /**
-   * Lookup41: pallet_balances::AccountData<Balance>
-   **/
-  PalletBalancesAccountData: {
-    free: 'u128',
-    reserved: 'u128',
-    miscFrozen: 'u128',
-    feeFrozen: 'u128'
-  },
-  /**
-   * Lookup43: pallet_balances::BalanceLock<Balance>
-   **/
-  PalletBalancesBalanceLock: {
-    id: '[u8;8]',
-    amount: 'u128',
-    reasons: 'PalletBalancesReasons'
-  },
-  /**
-   * Lookup45: pallet_balances::Reasons
-   **/
-  PalletBalancesReasons: {
-    _enum: ['Fee', 'Misc', 'All']
-  },
-  /**
-   * Lookup48: pallet_balances::ReserveData<ReserveIdentifier, Balance>
-   **/
-  PalletBalancesReserveData: {
-    id: '[u8;8]',
-    amount: 'u128'
-  },
-  /**
-   * Lookup50: pallet_balances::Releases
-   **/
-  PalletBalancesReleases: {
-    _enum: ['V1_0_0', 'V2_0_0']
-  },
-  /**
-   * Lookup51: pallet_balances::pallet::Call<T, I>
-   **/
-  PalletBalancesCall: {
-    _enum: {
-      transfer: {
-        dest: 'MultiAddress',
-        value: 'Compact<u128>',
-      },
-      set_balance: {
-        who: 'MultiAddress',
-        newFree: 'Compact<u128>',
-        newReserved: 'Compact<u128>',
-      },
-      force_transfer: {
-        source: 'MultiAddress',
-        dest: 'MultiAddress',
-        value: 'Compact<u128>',
-      },
-      transfer_keep_alive: {
-        dest: 'MultiAddress',
-        value: 'Compact<u128>',
-      },
-      transfer_all: {
-        dest: 'MultiAddress',
-        keepAlive: 'bool',
-      },
-      force_unreserve: {
-        who: 'MultiAddress',
-        amount: 'u128'
-      }
-    }
-  },
-  /**
-   * Lookup57: pallet_balances::pallet::Event<T, I>
-   **/
-  PalletBalancesEvent: {
-    _enum: {
-      Endowed: {
-        account: 'AccountId32',
-        freeBalance: 'u128',
-      },
-      DustLost: {
-        account: 'AccountId32',
-        amount: 'u128',
-      },
-      Transfer: {
-        from: 'AccountId32',
-        to: 'AccountId32',
-        amount: 'u128',
-      },
-      BalanceSet: {
-        who: 'AccountId32',
-        free: 'u128',
-        reserved: 'u128',
-      },
-      Reserved: {
-        who: 'AccountId32',
-        amount: 'u128',
-      },
-      Unreserved: {
-        who: 'AccountId32',
-        amount: 'u128',
-      },
-      ReserveRepatriated: {
-        from: 'AccountId32',
-        to: 'AccountId32',
-        amount: 'u128',
-        destinationStatus: 'FrameSupportTokensMiscBalanceStatus',
-      },
-      Deposit: {
-        who: 'AccountId32',
-        amount: 'u128',
-      },
-      Withdraw: {
-        who: 'AccountId32',
-        amount: 'u128',
-      },
-      Slashed: {
-        who: 'AccountId32',
-        amount: 'u128'
-      }
-    }
-  },
-  /**
-   * Lookup58: frame_support::traits::tokens::misc::BalanceStatus
-   **/
-  FrameSupportTokensMiscBalanceStatus: {
-    _enum: ['Free', 'Reserved']
-  },
-  /**
-   * Lookup59: pallet_balances::pallet::Error<T, I>
-   **/
-  PalletBalancesError: {
-    _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves']
-  },
-  /**
-   * Lookup62: pallet_timestamp::pallet::Call<T>
-   **/
-  PalletTimestampCall: {
-    _enum: {
-      set: {
-        now: 'Compact<u64>'
-      }
-    }
-  },
-  /**
-   * Lookup65: pallet_transaction_payment::Releases
-   **/
-  PalletTransactionPaymentReleases: {
-    _enum: ['V1Ancient', 'V2']
-  },
-  /**
-   * Lookup67: frame_support::weights::WeightToFeeCoefficient<Balance>
-   **/
-  FrameSupportWeightsWeightToFeeCoefficient: {
-    coeffInteger: 'u128',
-    coeffFrac: 'Perbill',
-    negative: 'bool',
-    degree: 'u8'
-  },
-  /**
-   * Lookup69: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>
-   **/
-  PalletTreasuryProposal: {
-    proposer: 'AccountId32',
-    value: 'u128',
-    beneficiary: 'AccountId32',
-    bond: 'u128'
-  },
-  /**
-   * Lookup72: pallet_treasury::pallet::Call<T, I>
-   **/
-  PalletTreasuryCall: {
-    _enum: {
-      propose_spend: {
-        value: 'Compact<u128>',
-        beneficiary: 'MultiAddress',
-      },
-      reject_proposal: {
-        proposalId: 'Compact<u32>',
-      },
-      approve_proposal: {
-        proposalId: 'Compact<u32>'
-      }
-    }
-  },
-  /**
-   * Lookup74: pallet_treasury::pallet::Event<T, I>
-   **/
-  PalletTreasuryEvent: {
-    _enum: {
-      Proposed: {
-        proposalIndex: 'u32',
-      },
-      Spending: {
-        budgetRemaining: 'u128',
-      },
-      Awarded: {
-        proposalIndex: 'u32',
-        award: 'u128',
-        account: 'AccountId32',
-      },
-      Rejected: {
-        proposalIndex: 'u32',
-        slashed: 'u128',
-      },
-      Burnt: {
-        burntFunds: 'u128',
-      },
-      Rollover: {
-        rolloverBalance: 'u128',
-      },
-      Deposit: {
-        value: 'u128'
-      }
-    }
-  },
-  /**
-   * Lookup77: frame_support::PalletId
-   **/
-  FrameSupportPalletId: '[u8;8]',
-  /**
-   * Lookup78: pallet_treasury::pallet::Error<T, I>
-   **/
-  PalletTreasuryError: {
-    _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals']
-  },
-  /**
-   * Lookup79: pallet_sudo::pallet::Call<T>
-   **/
-  PalletSudoCall: {
-    _enum: {
-      sudo: {
-        call: 'Call',
-      },
-      sudo_unchecked_weight: {
-        call: 'Call',
-        weight: 'u64',
-      },
-      set_key: {
-        _alias: {
-          new_: 'new',
-        },
-        new_: 'MultiAddress',
-      },
-      sudo_as: {
-        who: 'MultiAddress',
-        call: 'Call'
-      }
-    }
-  },
-  /**
-   * Lookup81: frame_system::pallet::Call<T>
-   **/
-  FrameSystemCall: {
-    _enum: {
-      fill_block: {
-        ratio: 'Perbill',
-      },
-      remark: {
-        remark: 'Bytes',
-      },
-      set_heap_pages: {
-        pages: 'u64',
-      },
-      set_code: {
-        code: 'Bytes',
-      },
-      set_code_without_checks: {
-        code: 'Bytes',
-      },
-      set_storage: {
-        items: 'Vec<(Bytes,Bytes)>',
-      },
-      kill_storage: {
-        _alias: {
-          keys_: 'keys',
-        },
-        keys_: 'Vec<Bytes>',
-      },
-      kill_prefix: {
-        prefix: 'Bytes',
-        subkeys: 'u32',
-      },
-      remark_with_event: {
-        remark: 'Bytes'
-      }
-    }
-  },
-  /**
-   * Lookup84: orml_vesting::module::Call<T>
-   **/
-  OrmlVestingModuleCall: {
-    _enum: {
-      claim: 'Null',
-      vested_transfer: {
-        dest: 'MultiAddress',
-        schedule: 'OrmlVestingVestingSchedule',
-      },
-      update_vesting_schedules: {
-        who: 'MultiAddress',
-        vestingSchedules: 'Vec<OrmlVestingVestingSchedule>',
-      },
-      claim_for: {
-        dest: 'MultiAddress'
-      }
-    }
-  },
-  /**
-   * Lookup85: orml_vesting::VestingSchedule<BlockNumber, Balance>
-   **/
-  OrmlVestingVestingSchedule: {
-    start: 'u32',
-    period: 'u32',
-    periodCount: 'u32',
-    perPeriod: 'Compact<u128>'
-  },
-  /**
-   * Lookup87: cumulus_pallet_xcmp_queue::pallet::Call<T>
-   **/
-  CumulusPalletXcmpQueueCall: {
-    _enum: {
-      service_overweight: {
-        index: 'u64',
-        weightLimit: 'u64',
-      },
-      suspend_xcm_execution: 'Null',
-      resume_xcm_execution: 'Null',
-      update_suspend_threshold: {
-        _alias: {
-          new_: 'new',
-        },
-        new_: 'u32',
-      },
-      update_drop_threshold: {
-        _alias: {
-          new_: 'new',
-        },
-        new_: 'u32',
-      },
-      update_resume_threshold: {
-        _alias: {
-          new_: 'new',
-        },
-        new_: 'u32',
-      },
-      update_threshold_weight: {
-        _alias: {
-          new_: 'new',
-        },
-        new_: 'u64',
-      },
-      update_weight_restrict_decay: {
-        _alias: {
-          new_: 'new',
-        },
-        new_: 'u64',
-      },
-      update_xcmp_max_individual_weight: {
-        _alias: {
-          new_: 'new',
-        },
-        new_: 'u64'
-      }
-    }
-  },
-  /**
-   * Lookup88: pallet_xcm::pallet::Call<T>
-   **/
-  PalletXcmCall: {
-    _enum: {
-      send: {
-        dest: 'XcmVersionedMultiLocation',
-        message: 'XcmVersionedXcm',
-      },
-      teleport_assets: {
-        dest: 'XcmVersionedMultiLocation',
-        beneficiary: 'XcmVersionedMultiLocation',
-        assets: 'XcmVersionedMultiAssets',
-        feeAssetItem: 'u32',
-      },
-      reserve_transfer_assets: {
-        dest: 'XcmVersionedMultiLocation',
-        beneficiary: 'XcmVersionedMultiLocation',
-        assets: 'XcmVersionedMultiAssets',
-        feeAssetItem: 'u32',
-      },
-      execute: {
-        message: 'XcmVersionedXcm',
-        maxWeight: 'u64',
-      },
-      force_xcm_version: {
-        location: 'XcmV1MultiLocation',
-        xcmVersion: 'u32',
-      },
-      force_default_xcm_version: {
-        maybeXcmVersion: 'Option<u32>',
-      },
-      force_subscribe_version_notify: {
-        location: 'XcmVersionedMultiLocation',
-      },
-      force_unsubscribe_version_notify: {
-        location: 'XcmVersionedMultiLocation',
-      },
-      limited_reserve_transfer_assets: {
-        dest: 'XcmVersionedMultiLocation',
-        beneficiary: 'XcmVersionedMultiLocation',
-        assets: 'XcmVersionedMultiAssets',
-        feeAssetItem: 'u32',
-        weightLimit: 'XcmV2WeightLimit',
-      },
-      limited_teleport_assets: {
-        dest: 'XcmVersionedMultiLocation',
-        beneficiary: 'XcmVersionedMultiLocation',
-        assets: 'XcmVersionedMultiAssets',
-        feeAssetItem: 'u32',
-        weightLimit: 'XcmV2WeightLimit'
-      }
-    }
-  },
-  /**
-   * Lookup89: xcm::VersionedMultiLocation
-   **/
-  XcmVersionedMultiLocation: {
-    _enum: {
-      V0: 'XcmV0MultiLocation',
-      V1: 'XcmV1MultiLocation'
-    }
-  },
-  /**
-   * Lookup90: xcm::v0::multi_location::MultiLocation
-   **/
-  XcmV0MultiLocation: {
-    _enum: {
-      Null: 'Null',
-      X1: 'XcmV0Junction',
-      X2: '(XcmV0Junction,XcmV0Junction)',
-      X3: '(XcmV0Junction,XcmV0Junction,XcmV0Junction)',
-      X4: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',
-      X5: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',
-      X6: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',
-      X7: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',
-      X8: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)'
-    }
-  },
-  /**
-   * Lookup91: xcm::v0::junction::Junction
-   **/
-  XcmV0Junction: {
-    _enum: {
-      Parent: 'Null',
-      Parachain: 'Compact<u32>',
-      AccountId32: {
-        network: 'XcmV0JunctionNetworkId',
-        id: '[u8;32]',
-      },
-      AccountIndex64: {
-        network: 'XcmV0JunctionNetworkId',
-        index: 'Compact<u64>',
-      },
-      AccountKey20: {
-        network: 'XcmV0JunctionNetworkId',
-        key: '[u8;20]',
-      },
-      PalletInstance: 'u8',
-      GeneralIndex: 'Compact<u128>',
-      GeneralKey: 'Bytes',
-      OnlyChild: 'Null',
-      Plurality: {
-        id: 'XcmV0JunctionBodyId',
-        part: 'XcmV0JunctionBodyPart'
-      }
-    }
-  },
-  /**
-   * Lookup92: xcm::v0::junction::NetworkId
-   **/
-  XcmV0JunctionNetworkId: {
-    _enum: {
-      Any: 'Null',
-      Named: 'Bytes',
-      Polkadot: 'Null',
-      Kusama: 'Null'
-    }
-  },
-  /**
-   * Lookup93: xcm::v0::junction::BodyId
-   **/
-  XcmV0JunctionBodyId: {
-    _enum: {
-      Unit: 'Null',
-      Named: 'Bytes',
-      Index: 'Compact<u32>',
-      Executive: 'Null',
-      Technical: 'Null',
-      Legislative: 'Null',
-      Judicial: 'Null'
-    }
-  },
-  /**
-   * Lookup94: xcm::v0::junction::BodyPart
-   **/
-  XcmV0JunctionBodyPart: {
-    _enum: {
-      Voice: 'Null',
-      Members: {
-        count: 'Compact<u32>',
-      },
-      Fraction: {
-        nom: 'Compact<u32>',
-        denom: 'Compact<u32>',
-      },
-      AtLeastProportion: {
-        nom: 'Compact<u32>',
-        denom: 'Compact<u32>',
-      },
-      MoreThanProportion: {
-        nom: 'Compact<u32>',
-        denom: 'Compact<u32>'
-      }
-    }
-  },
-  /**
-   * Lookup95: xcm::v1::multilocation::MultiLocation
-   **/
-  XcmV1MultiLocation: {
-    parents: 'u8',
-    interior: 'XcmV1MultilocationJunctions'
-  },
-  /**
-   * Lookup96: xcm::v1::multilocation::Junctions
-   **/
-  XcmV1MultilocationJunctions: {
-    _enum: {
-      Here: 'Null',
-      X1: 'XcmV1Junction',
-      X2: '(XcmV1Junction,XcmV1Junction)',
-      X3: '(XcmV1Junction,XcmV1Junction,XcmV1Junction)',
-      X4: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',
-      X5: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',
-      X6: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',
-      X7: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',
-      X8: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)'
-    }
-  },
-  /**
-   * Lookup97: xcm::v1::junction::Junction
-   **/
-  XcmV1Junction: {
-    _enum: {
-      Parachain: 'Compact<u32>',
-      AccountId32: {
-        network: 'XcmV0JunctionNetworkId',
-        id: '[u8;32]',
-      },
-      AccountIndex64: {
-        network: 'XcmV0JunctionNetworkId',
-        index: 'Compact<u64>',
-      },
-      AccountKey20: {
-        network: 'XcmV0JunctionNetworkId',
-        key: '[u8;20]',
-      },
-      PalletInstance: 'u8',
-      GeneralIndex: 'Compact<u128>',
-      GeneralKey: 'Bytes',
-      OnlyChild: 'Null',
-      Plurality: {
-        id: 'XcmV0JunctionBodyId',
-        part: 'XcmV0JunctionBodyPart'
-      }
-    }
-  },
-  /**
-   * Lookup98: xcm::VersionedXcm<Call>
-   **/
-  XcmVersionedXcm: {
-    _enum: {
-      V0: 'XcmV0Xcm',
-      V1: 'XcmV1Xcm',
-      V2: 'XcmV2Xcm'
-    }
-  },
-  /**
-   * Lookup99: xcm::v0::Xcm<Call>
-   **/
-  XcmV0Xcm: {
-    _enum: {
-      WithdrawAsset: {
-        assets: 'Vec<XcmV0MultiAsset>',
-        effects: 'Vec<XcmV0Order>',
-      },
-      ReserveAssetDeposit: {
-        assets: 'Vec<XcmV0MultiAsset>',
-        effects: 'Vec<XcmV0Order>',
-      },
-      TeleportAsset: {
-        assets: 'Vec<XcmV0MultiAsset>',
-        effects: 'Vec<XcmV0Order>',
-      },
-      QueryResponse: {
-        queryId: 'Compact<u64>',
-        response: 'XcmV0Response',
-      },
-      TransferAsset: {
-        assets: 'Vec<XcmV0MultiAsset>',
-        dest: 'XcmV0MultiLocation',
-      },
-      TransferReserveAsset: {
-        assets: 'Vec<XcmV0MultiAsset>',
-        dest: 'XcmV0MultiLocation',
-        effects: 'Vec<XcmV0Order>',
-      },
-      Transact: {
-        originType: 'XcmV0OriginKind',
-        requireWeightAtMost: 'u64',
-        call: 'XcmDoubleEncoded',
-      },
-      HrmpNewChannelOpenRequest: {
-        sender: 'Compact<u32>',
-        maxMessageSize: 'Compact<u32>',
-        maxCapacity: 'Compact<u32>',
-      },
-      HrmpChannelAccepted: {
-        recipient: 'Compact<u32>',
-      },
-      HrmpChannelClosing: {
-        initiator: 'Compact<u32>',
-        sender: 'Compact<u32>',
-        recipient: 'Compact<u32>',
-      },
-      RelayedFrom: {
-        who: 'XcmV0MultiLocation',
-        message: 'XcmV0Xcm'
-      }
-    }
-  },
-  /**
-   * Lookup101: xcm::v0::multi_asset::MultiAsset
-   **/
-  XcmV0MultiAsset: {
-    _enum: {
-      None: 'Null',
-      All: 'Null',
-      AllFungible: 'Null',
-      AllNonFungible: 'Null',
-      AllAbstractFungible: {
-        id: 'Bytes',
-      },
-      AllAbstractNonFungible: {
-        class: 'Bytes',
-      },
-      AllConcreteFungible: {
-        id: 'XcmV0MultiLocation',
-      },
-      AllConcreteNonFungible: {
-        class: 'XcmV0MultiLocation',
-      },
-      AbstractFungible: {
-        id: 'Bytes',
-        amount: 'Compact<u128>',
-      },
-      AbstractNonFungible: {
-        class: 'Bytes',
-        instance: 'XcmV1MultiassetAssetInstance',
-      },
-      ConcreteFungible: {
-        id: 'XcmV0MultiLocation',
-        amount: 'Compact<u128>',
-      },
-      ConcreteNonFungible: {
-        class: 'XcmV0MultiLocation',
-        instance: 'XcmV1MultiassetAssetInstance'
-      }
-    }
-  },
-  /**
-   * Lookup102: xcm::v1::multiasset::AssetInstance
-   **/
-  XcmV1MultiassetAssetInstance: {
-    _enum: {
-      Undefined: 'Null',
-      Index: 'Compact<u128>',
-      Array4: '[u8;4]',
-      Array8: '[u8;8]',
-      Array16: '[u8;16]',
-      Array32: '[u8;32]',
-      Blob: 'Bytes'
-    }
-  },
-  /**
-   * Lookup106: xcm::v0::order::Order<Call>
-   **/
-  XcmV0Order: {
-    _enum: {
-      Null: 'Null',
-      DepositAsset: {
-        assets: 'Vec<XcmV0MultiAsset>',
-        dest: 'XcmV0MultiLocation',
-      },
-      DepositReserveAsset: {
-        assets: 'Vec<XcmV0MultiAsset>',
-        dest: 'XcmV0MultiLocation',
-        effects: 'Vec<XcmV0Order>',
-      },
-      ExchangeAsset: {
-        give: 'Vec<XcmV0MultiAsset>',
-        receive: 'Vec<XcmV0MultiAsset>',
-      },
-      InitiateReserveWithdraw: {
-        assets: 'Vec<XcmV0MultiAsset>',
-        reserve: 'XcmV0MultiLocation',
-        effects: 'Vec<XcmV0Order>',
-      },
-      InitiateTeleport: {
-        assets: 'Vec<XcmV0MultiAsset>',
-        dest: 'XcmV0MultiLocation',
-        effects: 'Vec<XcmV0Order>',
-      },
-      QueryHolding: {
-        queryId: 'Compact<u64>',
-        dest: 'XcmV0MultiLocation',
-        assets: 'Vec<XcmV0MultiAsset>',
-      },
-      BuyExecution: {
-        fees: 'XcmV0MultiAsset',
-        weight: 'u64',
-        debt: 'u64',
-        haltOnError: 'bool',
-        xcm: 'Vec<XcmV0Xcm>'
-      }
-    }
-  },
-  /**
-   * Lookup108: xcm::v0::Response
-   **/
-  XcmV0Response: {
-    _enum: {
-      Assets: 'Vec<XcmV0MultiAsset>'
-    }
-  },
-  /**
-   * Lookup109: xcm::v0::OriginKind
-   **/
-  XcmV0OriginKind: {
-    _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']
-  },
-  /**
-   * Lookup110: xcm::double_encoded::DoubleEncoded<T>
-   **/
-  XcmDoubleEncoded: {
-    encoded: 'Bytes'
-  },
-  /**
-   * Lookup111: xcm::v1::Xcm<Call>
-   **/
-  XcmV1Xcm: {
-    _enum: {
-      WithdrawAsset: {
-        assets: 'XcmV1MultiassetMultiAssets',
-        effects: 'Vec<XcmV1Order>',
-      },
-      ReserveAssetDeposited: {
-        assets: 'XcmV1MultiassetMultiAssets',
-        effects: 'Vec<XcmV1Order>',
-      },
-      ReceiveTeleportedAsset: {
-        assets: 'XcmV1MultiassetMultiAssets',
-        effects: 'Vec<XcmV1Order>',
-      },
-      QueryResponse: {
-        queryId: 'Compact<u64>',
-        response: 'XcmV1Response',
-      },
-      TransferAsset: {
-        assets: 'XcmV1MultiassetMultiAssets',
-        beneficiary: 'XcmV1MultiLocation',
-      },
-      TransferReserveAsset: {
-        assets: 'XcmV1MultiassetMultiAssets',
-        dest: 'XcmV1MultiLocation',
-        effects: 'Vec<XcmV1Order>',
-      },
-      Transact: {
-        originType: 'XcmV0OriginKind',
-        requireWeightAtMost: 'u64',
-        call: 'XcmDoubleEncoded',
-      },
-      HrmpNewChannelOpenRequest: {
-        sender: 'Compact<u32>',
-        maxMessageSize: 'Compact<u32>',
-        maxCapacity: 'Compact<u32>',
-      },
-      HrmpChannelAccepted: {
-        recipient: 'Compact<u32>',
-      },
-      HrmpChannelClosing: {
-        initiator: 'Compact<u32>',
-        sender: 'Compact<u32>',
-        recipient: 'Compact<u32>',
-      },
-      RelayedFrom: {
-        who: 'XcmV1MultilocationJunctions',
-        message: 'XcmV1Xcm',
-      },
-      SubscribeVersion: {
-        queryId: 'Compact<u64>',
-        maxResponseWeight: 'Compact<u64>',
-      },
-      UnsubscribeVersion: 'Null'
-    }
-  },
-  /**
-   * Lookup112: xcm::v1::multiasset::MultiAssets
-   **/
-  XcmV1MultiassetMultiAssets: 'Vec<XcmV1MultiAsset>',
-  /**
-   * Lookup114: xcm::v1::multiasset::MultiAsset
-   **/
-  XcmV1MultiAsset: {
-    id: 'XcmV1MultiassetAssetId',
-    fun: 'XcmV1MultiassetFungibility'
-  },
-  /**
-   * Lookup115: xcm::v1::multiasset::AssetId
-   **/
-  XcmV1MultiassetAssetId: {
-    _enum: {
-      Concrete: 'XcmV1MultiLocation',
-      Abstract: 'Bytes'
-    }
-  },
-  /**
-   * Lookup116: xcm::v1::multiasset::Fungibility
-   **/
-  XcmV1MultiassetFungibility: {
-    _enum: {
-      Fungible: 'Compact<u128>',
-      NonFungible: 'XcmV1MultiassetAssetInstance'
-    }
-  },
-  /**
-   * Lookup118: xcm::v1::order::Order<Call>
-   **/
-  XcmV1Order: {
-    _enum: {
-      Noop: 'Null',
-      DepositAsset: {
-        assets: 'XcmV1MultiassetMultiAssetFilter',
-        maxAssets: 'u32',
-        beneficiary: 'XcmV1MultiLocation',
-      },
-      DepositReserveAsset: {
-        assets: 'XcmV1MultiassetMultiAssetFilter',
-        maxAssets: 'u32',
-        dest: 'XcmV1MultiLocation',
-        effects: 'Vec<XcmV1Order>',
-      },
-      ExchangeAsset: {
-        give: 'XcmV1MultiassetMultiAssetFilter',
-        receive: 'XcmV1MultiassetMultiAssets',
-      },
-      InitiateReserveWithdraw: {
-        assets: 'XcmV1MultiassetMultiAssetFilter',
-        reserve: 'XcmV1MultiLocation',
-        effects: 'Vec<XcmV1Order>',
-      },
-      InitiateTeleport: {
-        assets: 'XcmV1MultiassetMultiAssetFilter',
-        dest: 'XcmV1MultiLocation',
-        effects: 'Vec<XcmV1Order>',
-      },
-      QueryHolding: {
-        queryId: 'Compact<u64>',
-        dest: 'XcmV1MultiLocation',
-        assets: 'XcmV1MultiassetMultiAssetFilter',
-      },
-      BuyExecution: {
-        fees: 'XcmV1MultiAsset',
-        weight: 'u64',
-        debt: 'u64',
-        haltOnError: 'bool',
-        instructions: 'Vec<XcmV1Xcm>'
-      }
-    }
-  },
-  /**
-   * Lookup119: xcm::v1::multiasset::MultiAssetFilter
-   **/
-  XcmV1MultiassetMultiAssetFilter: {
-    _enum: {
-      Definite: 'XcmV1MultiassetMultiAssets',
-      Wild: 'XcmV1MultiassetWildMultiAsset'
-    }
-  },
-  /**
-   * Lookup120: xcm::v1::multiasset::WildMultiAsset
-   **/
-  XcmV1MultiassetWildMultiAsset: {
-    _enum: {
-      All: 'Null',
-      AllOf: {
-        id: 'XcmV1MultiassetAssetId',
-        fun: 'XcmV1MultiassetWildFungibility'
-      }
-    }
-  },
-  /**
-   * Lookup121: xcm::v1::multiasset::WildFungibility
-   **/
-  XcmV1MultiassetWildFungibility: {
-    _enum: ['Fungible', 'NonFungible']
-  },
-  /**
-   * Lookup123: xcm::v1::Response
-   **/
-  XcmV1Response: {
-    _enum: {
-      Assets: 'XcmV1MultiassetMultiAssets',
-      Version: 'u32'
-    }
-  },
-  /**
-   * Lookup124: xcm::v2::Xcm<Call>
-   **/
-  XcmV2Xcm: 'Vec<XcmV2Instruction>',
-  /**
-   * Lookup126: xcm::v2::Instruction<Call>
-   **/
-  XcmV2Instruction: {
-    _enum: {
-      WithdrawAsset: 'XcmV1MultiassetMultiAssets',
-      ReserveAssetDeposited: 'XcmV1MultiassetMultiAssets',
-      ReceiveTeleportedAsset: 'XcmV1MultiassetMultiAssets',
-      QueryResponse: {
-        queryId: 'Compact<u64>',
-        response: 'XcmV2Response',
-        maxWeight: 'Compact<u64>',
-      },
-      TransferAsset: {
-        assets: 'XcmV1MultiassetMultiAssets',
-        beneficiary: 'XcmV1MultiLocation',
-      },
-      TransferReserveAsset: {
-        assets: 'XcmV1MultiassetMultiAssets',
-        dest: 'XcmV1MultiLocation',
-        xcm: 'XcmV2Xcm',
-      },
-      Transact: {
-        originType: 'XcmV0OriginKind',
-        requireWeightAtMost: 'Compact<u64>',
-        call: 'XcmDoubleEncoded',
-      },
-      HrmpNewChannelOpenRequest: {
-        sender: 'Compact<u32>',
-        maxMessageSize: 'Compact<u32>',
-        maxCapacity: 'Compact<u32>',
-      },
-      HrmpChannelAccepted: {
-        recipient: 'Compact<u32>',
-      },
-      HrmpChannelClosing: {
-        initiator: 'Compact<u32>',
-        sender: 'Compact<u32>',
-        recipient: 'Compact<u32>',
-      },
-      ClearOrigin: 'Null',
-      DescendOrigin: 'XcmV1MultilocationJunctions',
-      ReportError: {
-        queryId: 'Compact<u64>',
-        dest: 'XcmV1MultiLocation',
-        maxResponseWeight: 'Compact<u64>',
-      },
-      DepositAsset: {
-        assets: 'XcmV1MultiassetMultiAssetFilter',
-        maxAssets: 'Compact<u32>',
-        beneficiary: 'XcmV1MultiLocation',
-      },
-      DepositReserveAsset: {
-        assets: 'XcmV1MultiassetMultiAssetFilter',
-        maxAssets: 'Compact<u32>',
-        dest: 'XcmV1MultiLocation',
-        xcm: 'XcmV2Xcm',
-      },
-      ExchangeAsset: {
-        give: 'XcmV1MultiassetMultiAssetFilter',
-        receive: 'XcmV1MultiassetMultiAssets',
-      },
-      InitiateReserveWithdraw: {
-        assets: 'XcmV1MultiassetMultiAssetFilter',
-        reserve: 'XcmV1MultiLocation',
-        xcm: 'XcmV2Xcm',
-      },
-      InitiateTeleport: {
-        assets: 'XcmV1MultiassetMultiAssetFilter',
-        dest: 'XcmV1MultiLocation',
-        xcm: 'XcmV2Xcm',
-      },
-      QueryHolding: {
-        queryId: 'Compact<u64>',
-        dest: 'XcmV1MultiLocation',
-        assets: 'XcmV1MultiassetMultiAssetFilter',
-        maxResponseWeight: 'Compact<u64>',
-      },
-      BuyExecution: {
-        fees: 'XcmV1MultiAsset',
-        weightLimit: 'XcmV2WeightLimit',
-      },
-      RefundSurplus: 'Null',
-      SetErrorHandler: 'XcmV2Xcm',
-      SetAppendix: 'XcmV2Xcm',
-      ClearError: 'Null',
-      ClaimAsset: {
-        assets: 'XcmV1MultiassetMultiAssets',
-        ticket: 'XcmV1MultiLocation',
-      },
-      Trap: 'Compact<u64>',
-      SubscribeVersion: {
-        queryId: 'Compact<u64>',
-        maxResponseWeight: 'Compact<u64>',
-      },
-      UnsubscribeVersion: 'Null'
-    }
-  },
-  /**
-   * Lookup127: xcm::v2::Response
-   **/
-  XcmV2Response: {
-    _enum: {
-      Null: 'Null',
-      Assets: 'XcmV1MultiassetMultiAssets',
-      ExecutionResult: 'Option<(u32,XcmV2TraitsError)>',
-      Version: 'u32'
-    }
-  },
-  /**
-   * Lookup130: xcm::v2::traits::Error
-   **/
-  XcmV2TraitsError: {
-    _enum: {
-      Overflow: 'Null',
-      Unimplemented: 'Null',
-      UntrustedReserveLocation: 'Null',
-      UntrustedTeleportLocation: 'Null',
-      MultiLocationFull: 'Null',
-      MultiLocationNotInvertible: 'Null',
-      BadOrigin: 'Null',
-      InvalidLocation: 'Null',
-      AssetNotFound: 'Null',
-      FailedToTransactAsset: 'Null',
-      NotWithdrawable: 'Null',
-      LocationCannotHold: 'Null',
-      ExceedsMaxMessageSize: 'Null',
-      DestinationUnsupported: 'Null',
-      Transport: 'Null',
-      Unroutable: 'Null',
-      UnknownClaim: 'Null',
-      FailedToDecode: 'Null',
-      MaxWeightInvalid: 'Null',
-      NotHoldingFees: 'Null',
-      TooExpensive: 'Null',
-      Trap: 'u64',
-      UnhandledXcmVersion: 'Null',
-      WeightLimitReached: 'u64',
-      Barrier: 'Null',
-      WeightNotComputable: 'Null'
-    }
-  },
-  /**
-   * Lookup131: xcm::v2::WeightLimit
-   **/
-  XcmV2WeightLimit: {
-    _enum: {
-      Unlimited: 'Null',
-      Limited: 'Compact<u64>'
-    }
-  },
-  /**
-   * Lookup132: xcm::VersionedMultiAssets
-   **/
-  XcmVersionedMultiAssets: {
-    _enum: {
-      V0: 'Vec<XcmV0MultiAsset>',
-      V1: 'XcmV1MultiassetMultiAssets'
-    }
-  },
-  /**
-   * Lookup147: cumulus_pallet_xcm::pallet::Call<T>
-   **/
-  CumulusPalletXcmCall: 'Null',
-  /**
-   * Lookup148: cumulus_pallet_dmp_queue::pallet::Call<T>
-   **/
-  CumulusPalletDmpQueueCall: {
-    _enum: {
-      service_overweight: {
-        index: 'u64',
-        weightLimit: 'u64'
-      }
-    }
-  },
-  /**
-   * Lookup149: pallet_inflation::pallet::Call<T>
-   **/
-  PalletInflationCall: {
-    _enum: {
-      start_inflation: {
-        inflationStartRelayBlock: 'u32'
-      }
-    }
-  },
-  /**
-   * Lookup150: pallet_unique::Call<T>
-   **/
-  PalletUniqueCall: {
-    _enum: {
-      create_collection: {
-        collectionName: 'Vec<u16>',
-        collectionDescription: 'Vec<u16>',
-        tokenPrefix: 'Bytes',
-        mode: 'UpDataStructsCollectionMode',
-      },
-      create_collection_ex: {
-        data: 'UpDataStructsCreateCollectionData',
-      },
-      destroy_collection: {
-        collectionId: 'u32',
-      },
-      add_to_allow_list: {
-        collectionId: 'u32',
-        address: 'PalletEvmAccountBasicCrossAccountIdRepr',
-      },
-      remove_from_allow_list: {
-        collectionId: 'u32',
-        address: 'PalletEvmAccountBasicCrossAccountIdRepr',
-      },
-      set_public_access_mode: {
-        collectionId: 'u32',
-        mode: 'UpDataStructsAccessMode',
-      },
-      set_mint_permission: {
-        collectionId: 'u32',
-        mintPermission: 'bool',
-      },
-      change_collection_owner: {
-        collectionId: 'u32',
-        newOwner: 'AccountId32',
-      },
-      add_collection_admin: {
-        collectionId: 'u32',
-        newAdminId: 'PalletEvmAccountBasicCrossAccountIdRepr',
-      },
-      remove_collection_admin: {
-        collectionId: 'u32',
-        accountId: 'PalletEvmAccountBasicCrossAccountIdRepr',
-      },
-      set_collection_sponsor: {
-        collectionId: 'u32',
-        newSponsor: 'AccountId32',
-      },
-      confirm_sponsorship: {
-        collectionId: 'u32',
-      },
-      remove_collection_sponsor: {
-        collectionId: 'u32',
-      },
-      create_item: {
-        collectionId: 'u32',
-        owner: 'PalletEvmAccountBasicCrossAccountIdRepr',
-        data: 'UpDataStructsCreateItemData',
-      },
-      create_multiple_items: {
-        collectionId: 'u32',
-        owner: 'PalletEvmAccountBasicCrossAccountIdRepr',
-        itemsData: 'Vec<UpDataStructsCreateItemData>',
-      },
-      create_multiple_items_ex: {
-        collectionId: 'u32',
-        data: 'UpDataStructsCreateItemExData',
-      },
-      set_transfers_enabled_flag: {
-        collectionId: 'u32',
-        value: 'bool',
-      },
-      burn_item: {
-        collectionId: 'u32',
-        itemId: 'u32',
-        value: 'u128',
-      },
-      burn_from: {
-        collectionId: 'u32',
-        from: 'PalletEvmAccountBasicCrossAccountIdRepr',
-        itemId: 'u32',
-        value: 'u128',
-      },
-      transfer: {
-        recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',
-        collectionId: 'u32',
-        itemId: 'u32',
-        value: 'u128',
-      },
-      approve: {
-        spender: 'PalletEvmAccountBasicCrossAccountIdRepr',
-        collectionId: 'u32',
-        itemId: 'u32',
-        amount: 'u128',
-      },
-      transfer_from: {
-        from: 'PalletEvmAccountBasicCrossAccountIdRepr',
-        recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',
-        collectionId: 'u32',
-        itemId: 'u32',
-        value: 'u128',
-      },
-      set_variable_meta_data: {
-        collectionId: 'u32',
-        itemId: 'u32',
-        data: 'Bytes',
-      },
-      set_meta_update_permission_flag: {
-        collectionId: 'u32',
-        value: 'UpDataStructsMetaUpdatePermission',
-      },
-      set_schema_version: {
-        collectionId: 'u32',
-        version: 'UpDataStructsSchemaVersion',
-      },
-      set_offchain_schema: {
-        collectionId: 'u32',
-        schema: 'Bytes',
-      },
-      set_const_on_chain_schema: {
-        collectionId: 'u32',
-        schema: 'Bytes',
-      },
-      set_variable_on_chain_schema: {
-        collectionId: 'u32',
-        schema: 'Bytes',
-      },
-      set_collection_limits: {
-        collectionId: 'u32',
-        newLimit: 'UpDataStructsCollectionLimits'
-      }
-    }
-  },
-  /**
-   * Lookup156: up_data_structs::CollectionMode
-   **/
-  UpDataStructsCollectionMode: {
-    _enum: {
-      NFT: 'Null',
-      Fungible: 'u8',
-      ReFungible: 'Null'
-    }
-  },
-  /**
-   * Lookup157: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>
-   **/
-  UpDataStructsCreateCollectionData: {
-    mode: 'UpDataStructsCollectionMode',
-    access: 'Option<UpDataStructsAccessMode>',
-    name: 'Vec<u16>',
-    description: 'Vec<u16>',
-    tokenPrefix: 'Bytes',
-    offchainSchema: 'Bytes',
-    schemaVersion: 'Option<UpDataStructsSchemaVersion>',
-    pendingSponsor: 'Option<AccountId32>',
-    limits: 'Option<UpDataStructsCollectionLimits>',
-    variableOnChainSchema: 'Bytes',
-    constOnChainSchema: 'Bytes',
-    metaUpdatePermission: 'Option<UpDataStructsMetaUpdatePermission>'
-  },
-  /**
-   * Lookup159: up_data_structs::AccessMode
-   **/
-  UpDataStructsAccessMode: {
-    _enum: ['Normal', 'AllowList']
-  },
-  /**
-   * Lookup162: up_data_structs::SchemaVersion
-   **/
-  UpDataStructsSchemaVersion: {
-    _enum: ['ImageURL', 'Unique']
-  },
-  /**
-   * Lookup165: up_data_structs::CollectionLimits
-   **/
-  UpDataStructsCollectionLimits: {
-    accountTokenOwnershipLimit: 'Option<u32>',
-    sponsoredDataSize: 'Option<u32>',
-    sponsoredDataRateLimit: 'Option<UpDataStructsSponsoringRateLimit>',
-    tokenLimit: 'Option<u32>',
-    sponsorTransferTimeout: 'Option<u32>',
-    sponsorApproveTimeout: 'Option<u32>',
-    ownerCanTransfer: 'Option<bool>',
-    ownerCanDestroy: 'Option<bool>',
-    transfersEnabled: 'Option<bool>'
-  },
-  /**
-   * Lookup167: up_data_structs::SponsoringRateLimit
-   **/
-  UpDataStructsSponsoringRateLimit: {
-    _enum: {
-      SponsoringDisabled: 'Null',
-      Blocks: 'u32'
-    }
-  },
-  /**
-   * Lookup171: up_data_structs::MetaUpdatePermission
-   **/
-  UpDataStructsMetaUpdatePermission: {
-    _enum: ['ItemOwner', 'Admin', 'None']
-  },
-  /**
-   * Lookup173: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>
-   **/
-  PalletEvmAccountBasicCrossAccountIdRepr: {
-    _enum: {
-      Substrate: 'AccountId32',
-      Ethereum: 'H160'
-    }
-  },
-  /**
-   * Lookup175: up_data_structs::CreateItemData
-   **/
-  UpDataStructsCreateItemData: {
-    _enum: {
-      NFT: 'UpDataStructsCreateNftData',
-      Fungible: 'UpDataStructsCreateFungibleData',
-      ReFungible: 'UpDataStructsCreateReFungibleData'
-    }
-  },
-  /**
-   * Lookup176: up_data_structs::CreateNftData
-   **/
-  UpDataStructsCreateNftData: {
-    constData: 'Bytes',
-    variableData: 'Bytes'
-  },
-  /**
-   * Lookup178: up_data_structs::CreateFungibleData
-   **/
-  UpDataStructsCreateFungibleData: {
-    value: 'u128'
-  },
-  /**
-   * Lookup179: up_data_structs::CreateReFungibleData
-   **/
-  UpDataStructsCreateReFungibleData: {
-    constData: 'Bytes',
-    variableData: 'Bytes',
-    pieces: 'u128'
-  },
-  /**
-   * Lookup181: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
-   **/
-  UpDataStructsCreateItemExData: {
-    _enum: {
-      NFT: 'Vec<UpDataStructsCreateNftExData>',
-      Fungible: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',
-      RefungibleMultipleItems: 'Vec<UpDataStructsCreateRefungibleExData>',
-      RefungibleMultipleOwners: 'UpDataStructsCreateRefungibleExData'
-    }
-  },
-  /**
-   * Lookup183: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
-   **/
-  UpDataStructsCreateNftExData: {
-    constData: 'Bytes',
-    variableData: 'Bytes',
-    owner: 'PalletEvmAccountBasicCrossAccountIdRepr'
-  },
-  /**
-   * Lookup190: up_data_structs::CreateRefungibleExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
-   **/
-  UpDataStructsCreateRefungibleExData: {
-    constData: 'Bytes',
-    variableData: 'Bytes',
-    users: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>'
-  },
-  /**
-   * Lookup193: pallet_template_transaction_payment::Call<T>
-   **/
-  PalletTemplateTransactionPaymentCall: 'Null',
-  /**
-   * Lookup194: pallet_evm::pallet::Call<T>
-   **/
-  PalletEvmCall: {
-    _enum: {
-      withdraw: {
-        address: 'H160',
-        value: 'u128',
-      },
-      call: {
-        source: 'H160',
-        target: 'H160',
-        input: 'Bytes',
-        value: 'U256',
-        gasLimit: 'u64',
-        maxFeePerGas: 'U256',
-        maxPriorityFeePerGas: 'Option<U256>',
-        nonce: 'Option<U256>',
-        accessList: 'Vec<(H160,Vec<H256>)>',
-      },
-      create: {
-        source: 'H160',
-        init: 'Bytes',
-        value: 'U256',
-        gasLimit: 'u64',
-        maxFeePerGas: 'U256',
-        maxPriorityFeePerGas: 'Option<U256>',
-        nonce: 'Option<U256>',
-        accessList: 'Vec<(H160,Vec<H256>)>',
-      },
-      create2: {
-        source: 'H160',
-        init: 'Bytes',
-        salt: 'H256',
-        value: 'U256',
-        gasLimit: 'u64',
-        maxFeePerGas: 'U256',
-        maxPriorityFeePerGas: 'Option<U256>',
-        nonce: 'Option<U256>',
-        accessList: 'Vec<(H160,Vec<H256>)>'
-      }
-    }
-  },
-  /**
-   * Lookup200: pallet_ethereum::pallet::Call<T>
-   **/
-  PalletEthereumCall: {
-    _enum: {
-      transact: {
-        transaction: 'EthereumTransactionTransactionV2'
-      }
-    }
-  },
-  /**
-   * Lookup201: ethereum::transaction::TransactionV2
-   **/
-  EthereumTransactionTransactionV2: {
-    _enum: {
-      Legacy: 'EthereumTransactionLegacyTransaction',
-      EIP2930: 'EthereumTransactionEip2930Transaction',
-      EIP1559: 'EthereumTransactionEip1559Transaction'
-    }
-  },
-  /**
-   * Lookup202: ethereum::transaction::LegacyTransaction
-   **/
-  EthereumTransactionLegacyTransaction: {
-    nonce: 'U256',
-    gasPrice: 'U256',
-    gasLimit: 'U256',
-    action: 'EthereumTransactionTransactionAction',
-    value: 'U256',
-    input: 'Bytes',
-    signature: 'EthereumTransactionTransactionSignature'
-  },
-  /**
-   * Lookup203: ethereum::transaction::TransactionAction
-   **/
-  EthereumTransactionTransactionAction: {
-    _enum: {
-      Call: 'H160',
-      Create: 'Null'
-    }
-  },
-  /**
-   * Lookup204: ethereum::transaction::TransactionSignature
-   **/
-  EthereumTransactionTransactionSignature: {
-    v: 'u64',
-    r: 'H256',
-    s: 'H256'
-  },
-  /**
-   * Lookup206: ethereum::transaction::EIP2930Transaction
-   **/
-  EthereumTransactionEip2930Transaction: {
-    chainId: 'u64',
-    nonce: 'U256',
-    gasPrice: 'U256',
-    gasLimit: 'U256',
-    action: 'EthereumTransactionTransactionAction',
-    value: 'U256',
-    input: 'Bytes',
-    accessList: 'Vec<EthereumTransactionAccessListItem>',
-    oddYParity: 'bool',
-    r: 'H256',
-    s: 'H256'
-  },
-  /**
-   * Lookup208: ethereum::transaction::AccessListItem
-   **/
-  EthereumTransactionAccessListItem: {
-    address: 'H160',
-    storageKeys: 'Vec<H256>'
-  },
-  /**
-   * Lookup209: ethereum::transaction::EIP1559Transaction
-   **/
-  EthereumTransactionEip1559Transaction: {
-    chainId: 'u64',
-    nonce: 'U256',
-    maxPriorityFeePerGas: 'U256',
-    maxFeePerGas: 'U256',
-    gasLimit: 'U256',
-    action: 'EthereumTransactionTransactionAction',
-    value: 'U256',
-    input: 'Bytes',
-    accessList: 'Vec<EthereumTransactionAccessListItem>',
-    oddYParity: 'bool',
-    r: 'H256',
-    s: 'H256'
-  },
-  /**
-   * Lookup210: pallet_evm_migration::pallet::Call<T>
-   **/
-  PalletEvmMigrationCall: {
-    _enum: {
-      begin: {
-        address: 'H160',
-      },
-      set_data: {
-        address: 'H160',
-        data: 'Vec<(H256,H256)>',
-      },
-      finish: {
-        address: 'H160',
-        code: 'Bytes'
-      }
-    }
-  },
-  /**
-   * Lookup213: pallet_sudo::pallet::Event<T>
-   **/
-  PalletSudoEvent: {
-    _enum: {
-      Sudid: {
-        sudoResult: 'Result<Null, SpRuntimeDispatchError>',
-      },
-      KeyChanged: {
-        oldSudoer: 'Option<AccountId32>',
-      },
-      SudoAsDone: {
-        sudoResult: 'Result<Null, SpRuntimeDispatchError>'
-      }
-    }
-  },
-  /**
-   * Lookup215: sp_runtime::DispatchError
-   **/
-  SpRuntimeDispatchError: {
-    _enum: {
-      Other: 'Null',
-      CannotLookup: 'Null',
-      BadOrigin: 'Null',
-      Module: 'SpRuntimeModuleError',
-      ConsumerRemaining: 'Null',
-      NoProviders: 'Null',
-      TooManyConsumers: 'Null',
-      Token: 'SpRuntimeTokenError',
-      Arithmetic: 'SpRuntimeArithmeticError',
-      Transactional: 'SpRuntimeTransactionalError'
-    }
-  },
-  /**
-   * Lookup216: sp_runtime::ModuleError
-   **/
-  SpRuntimeModuleError: {
-    index: 'u8',
-    error: '[u8;4]'
-  },
-  /**
-   * Lookup217: sp_runtime::TokenError
-   **/
-  SpRuntimeTokenError: {
-    _enum: ['NoFunds', 'WouldDie', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported']
-  },
-  /**
-   * Lookup218: sp_runtime::ArithmeticError
-   **/
-  SpRuntimeArithmeticError: {
-    _enum: ['Underflow', 'Overflow', 'DivisionByZero']
-  },
-  /**
-   * Lookup219: sp_runtime::TransactionalError
-   **/
-  SpRuntimeTransactionalError: {
-    _enum: ['LimitReached', 'NoLayer']
-  },
-  /**
-   * Lookup220: pallet_sudo::pallet::Error<T>
-   **/
-  PalletSudoError: {
-    _enum: ['RequireSudo']
-  },
-  /**
-   * Lookup221: frame_system::AccountInfo<Index, pallet_balances::AccountData<Balance>>
-   **/
-  FrameSystemAccountInfo: {
-    nonce: 'u32',
-    consumers: 'u32',
-    providers: 'u32',
-    sufficients: 'u32',
-    data: 'PalletBalancesAccountData'
-  },
-  /**
-   * Lookup222: frame_support::weights::PerDispatchClass<T>
-   **/
-  FrameSupportWeightsPerDispatchClassU64: {
-    normal: 'u64',
-    operational: 'u64',
-    mandatory: 'u64'
-  },
-  /**
-   * Lookup223: sp_runtime::generic::digest::Digest
-   **/
-  SpRuntimeDigest: {
-    logs: 'Vec<SpRuntimeDigestDigestItem>'
-  },
-  /**
-   * Lookup225: sp_runtime::generic::digest::DigestItem
-   **/
-  SpRuntimeDigestDigestItem: {
-    _enum: {
-      Other: 'Bytes',
-      __Unused1: 'Null',
-      __Unused2: 'Null',
-      __Unused3: 'Null',
-      Consensus: '([u8;4],Bytes)',
-      Seal: '([u8;4],Bytes)',
-      PreRuntime: '([u8;4],Bytes)',
-      __Unused7: 'Null',
-      RuntimeEnvironmentUpdated: 'Null'
-    }
-  },
-  /**
-   * Lookup227: frame_system::EventRecord<opal_runtime::Event, primitive_types::H256>
-   **/
-  FrameSystemEventRecord: {
-    phase: 'FrameSystemPhase',
-    event: 'Event',
-    topics: 'Vec<H256>'
-  },
-  /**
-   * Lookup229: frame_system::pallet::Event<T>
-   **/
-  FrameSystemEvent: {
-    _enum: {
-      ExtrinsicSuccess: {
-        dispatchInfo: 'FrameSupportWeightsDispatchInfo',
-      },
-      ExtrinsicFailed: {
-        dispatchError: 'SpRuntimeDispatchError',
-        dispatchInfo: 'FrameSupportWeightsDispatchInfo',
-      },
-      CodeUpdated: 'Null',
-      NewAccount: {
-        account: 'AccountId32',
-      },
-      KilledAccount: {
-        account: 'AccountId32',
-      },
-      Remarked: {
-        _alias: {
-          hash_: 'hash',
-        },
-        sender: 'AccountId32',
-        hash_: 'H256'
-      }
-    }
-  },
-  /**
-   * Lookup230: frame_support::weights::DispatchInfo
-   **/
-  FrameSupportWeightsDispatchInfo: {
-    weight: 'u64',
-    class: 'FrameSupportWeightsDispatchClass',
-    paysFee: 'FrameSupportWeightsPays'
-  },
-  /**
-   * Lookup231: frame_support::weights::DispatchClass
-   **/
-  FrameSupportWeightsDispatchClass: {
-    _enum: ['Normal', 'Operational', 'Mandatory']
-  },
-  /**
-   * Lookup232: frame_support::weights::Pays
-   **/
-  FrameSupportWeightsPays: {
-    _enum: ['Yes', 'No']
-  },
-  /**
-   * Lookup233: orml_vesting::module::Event<T>
-   **/
-  OrmlVestingModuleEvent: {
-    _enum: {
-      VestingScheduleAdded: {
-        from: 'AccountId32',
-        to: 'AccountId32',
-        vestingSchedule: 'OrmlVestingVestingSchedule',
-      },
-      Claimed: {
-        who: 'AccountId32',
-        amount: 'u128',
-      },
-      VestingSchedulesUpdated: {
-        who: 'AccountId32'
-      }
-    }
-  },
-  /**
-   * Lookup234: cumulus_pallet_xcmp_queue::pallet::Event<T>
-   **/
-  CumulusPalletXcmpQueueEvent: {
-    _enum: {
-      Success: 'Option<H256>',
-      Fail: '(Option<H256>,XcmV2TraitsError)',
-      BadVersion: 'Option<H256>',
-      BadFormat: 'Option<H256>',
-      UpwardMessageSent: 'Option<H256>',
-      XcmpMessageSent: 'Option<H256>',
-      OverweightEnqueued: '(u32,u32,u64,u64)',
-      OverweightServiced: '(u64,u64)'
-    }
-  },
-  /**
-   * Lookup235: pallet_xcm::pallet::Event<T>
-   **/
-  PalletXcmEvent: {
-    _enum: {
-      Attempted: 'XcmV2TraitsOutcome',
-      Sent: '(XcmV1MultiLocation,XcmV1MultiLocation,XcmV2Xcm)',
-      UnexpectedResponse: '(XcmV1MultiLocation,u64)',
-      ResponseReady: '(u64,XcmV2Response)',
-      Notified: '(u64,u8,u8)',
-      NotifyOverweight: '(u64,u8,u8,u64,u64)',
-      NotifyDispatchError: '(u64,u8,u8)',
-      NotifyDecodeFailed: '(u64,u8,u8)',
-      InvalidResponder: '(XcmV1MultiLocation,u64,Option<XcmV1MultiLocation>)',
-      InvalidResponderVersion: '(XcmV1MultiLocation,u64)',
-      ResponseTaken: 'u64',
-      AssetsTrapped: '(H256,XcmV1MultiLocation,XcmVersionedMultiAssets)',
-      VersionChangeNotified: '(XcmV1MultiLocation,u32)',
-      SupportedVersionChanged: '(XcmV1MultiLocation,u32)',
-      NotifyTargetSendFail: '(XcmV1MultiLocation,u64,XcmV2TraitsError)',
-      NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)'
-    }
-  },
-  /**
-   * Lookup236: xcm::v2::traits::Outcome
-   **/
-  XcmV2TraitsOutcome: {
-    _enum: {
-      Complete: 'u64',
-      Incomplete: '(u64,XcmV2TraitsError)',
-      Error: 'XcmV2TraitsError'
-    }
-  },
-  /**
-   * Lookup238: cumulus_pallet_xcm::pallet::Event<T>
-   **/
-  CumulusPalletXcmEvent: {
-    _enum: {
-      InvalidFormat: '[u8;8]',
-      UnsupportedVersion: '[u8;8]',
-      ExecutedDownward: '([u8;8],XcmV2TraitsOutcome)'
-    }
-  },
-  /**
-   * Lookup239: cumulus_pallet_dmp_queue::pallet::Event<T>
-   **/
-  CumulusPalletDmpQueueEvent: {
-    _enum: {
-      InvalidFormat: '[u8;32]',
-      UnsupportedVersion: '[u8;32]',
-      ExecutedDownward: '([u8;32],XcmV2TraitsOutcome)',
-      WeightExhausted: '([u8;32],u64,u64)',
-      OverweightEnqueued: '([u8;32],u64,u64)',
-      OverweightServiced: '(u64,u64)'
-    }
-  },
-  /**
-   * Lookup240: pallet_unique::RawEvent<sp_core::crypto::AccountId32, pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
-   **/
-  PalletUniqueRawEvent: {
-    _enum: {
-      CollectionSponsorRemoved: 'u32',
-      CollectionAdminAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',
-      CollectionOwnedChanged: '(u32,AccountId32)',
-      CollectionSponsorSet: '(u32,AccountId32)',
-      ConstOnChainSchemaSet: 'u32',
-      SponsorshipConfirmed: '(u32,AccountId32)',
-      CollectionAdminRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',
-      AllowListAddressRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',
-      AllowListAddressAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',
-      CollectionLimitSet: 'u32',
-      MintPermissionSet: 'u32',
-      OffchainSchemaSet: 'u32',
-      PublicAccessModeSet: '(u32,UpDataStructsAccessMode)',
-      SchemaVersionSet: 'u32',
-      VariableOnChainSchemaSet: 'u32'
-    }
-  },
-  /**
-   * Lookup241: pallet_common::pallet::Event<T>
-   **/
-  PalletCommonEvent: {
-    _enum: {
-      CollectionCreated: '(u32,u8,AccountId32)',
-      CollectionDestroyed: 'u32',
-      ItemCreated: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',
-      ItemDestroyed: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',
-      Transfer: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',
-      Approved: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)'
-    }
-  },
-  /**
-   * Lookup242: pallet_evm::pallet::Event<T>
-   **/
-  PalletEvmEvent: {
-    _enum: {
-      Log: 'EthereumLog',
-      Created: 'H160',
-      CreatedFailed: 'H160',
-      Executed: 'H160',
-      ExecutedFailed: 'H160',
-      BalanceDeposit: '(AccountId32,H160,U256)',
-      BalanceWithdraw: '(AccountId32,H160,U256)'
-    }
-  },
-  /**
-   * Lookup243: ethereum::log::Log
-   **/
-  EthereumLog: {
-    address: 'H160',
-    topics: 'Vec<H256>',
-    data: 'Bytes'
-  },
-  /**
-   * Lookup244: pallet_ethereum::pallet::Event
-   **/
-  PalletEthereumEvent: {
-    _enum: {
-      Executed: '(H160,H160,H256,EvmCoreErrorExitReason)'
-    }
-  },
-  /**
-   * Lookup245: evm_core::error::ExitReason
-   **/
-  EvmCoreErrorExitReason: {
-    _enum: {
-      Succeed: 'EvmCoreErrorExitSucceed',
-      Error: 'EvmCoreErrorExitError',
-      Revert: 'EvmCoreErrorExitRevert',
-      Fatal: 'EvmCoreErrorExitFatal'
-    }
-  },
-  /**
-   * Lookup246: evm_core::error::ExitSucceed
-   **/
-  EvmCoreErrorExitSucceed: {
-    _enum: ['Stopped', 'Returned', 'Suicided']
-  },
-  /**
-   * Lookup247: evm_core::error::ExitError
-   **/
-  EvmCoreErrorExitError: {
-    _enum: {
-      StackUnderflow: 'Null',
-      StackOverflow: 'Null',
-      InvalidJump: 'Null',
-      InvalidRange: 'Null',
-      DesignatedInvalid: 'Null',
-      CallTooDeep: 'Null',
-      CreateCollision: 'Null',
-      CreateContractLimit: 'Null',
-      OutOfOffset: 'Null',
-      OutOfGas: 'Null',
-      OutOfFund: 'Null',
-      PCUnderflow: 'Null',
-      CreateEmpty: 'Null',
-      Other: 'Text',
-      InvalidCode: 'Null'
-    }
-  },
-  /**
-   * Lookup250: evm_core::error::ExitRevert
-   **/
-  EvmCoreErrorExitRevert: {
-    _enum: ['Reverted']
-  },
-  /**
-   * Lookup251: evm_core::error::ExitFatal
-   **/
-  EvmCoreErrorExitFatal: {
-    _enum: {
-      NotSupported: 'Null',
-      UnhandledInterrupt: 'Null',
-      CallErrorAsFatal: 'EvmCoreErrorExitError',
-      Other: 'Text'
-    }
-  },
-  /**
-   * Lookup252: frame_system::Phase
-   **/
-  FrameSystemPhase: {
-    _enum: {
-      ApplyExtrinsic: 'u32',
-      Finalization: 'Null',
-      Initialization: 'Null'
-    }
-  },
-  /**
-   * Lookup254: frame_system::LastRuntimeUpgradeInfo
-   **/
-  FrameSystemLastRuntimeUpgradeInfo: {
-    specVersion: 'Compact<u32>',
-    specName: 'Text'
-  },
-  /**
-   * Lookup255: frame_system::limits::BlockWeights
-   **/
-  FrameSystemLimitsBlockWeights: {
-    baseBlock: 'u64',
-    maxBlock: 'u64',
-    perClass: 'FrameSupportWeightsPerDispatchClassWeightsPerClass'
-  },
-  /**
-   * Lookup256: frame_support::weights::PerDispatchClass<frame_system::limits::WeightsPerClass>
-   **/
-  FrameSupportWeightsPerDispatchClassWeightsPerClass: {
-    normal: 'FrameSystemLimitsWeightsPerClass',
-    operational: 'FrameSystemLimitsWeightsPerClass',
-    mandatory: 'FrameSystemLimitsWeightsPerClass'
-  },
-  /**
-   * Lookup257: frame_system::limits::WeightsPerClass
-   **/
-  FrameSystemLimitsWeightsPerClass: {
-    baseExtrinsic: 'u64',
-    maxExtrinsic: 'Option<u64>',
-    maxTotal: 'Option<u64>',
-    reserved: 'Option<u64>'
-  },
-  /**
-   * Lookup259: frame_system::limits::BlockLength
-   **/
-  FrameSystemLimitsBlockLength: {
-    max: 'FrameSupportWeightsPerDispatchClassU32'
-  },
-  /**
-   * Lookup260: frame_support::weights::PerDispatchClass<T>
-   **/
-  FrameSupportWeightsPerDispatchClassU32: {
-    normal: 'u32',
-    operational: 'u32',
-    mandatory: 'u32'
-  },
-  /**
-   * Lookup261: frame_support::weights::RuntimeDbWeight
-   **/
-  FrameSupportWeightsRuntimeDbWeight: {
-    read: 'u64',
-    write: 'u64'
-  },
-  /**
-   * Lookup262: sp_version::RuntimeVersion
-   **/
-  SpVersionRuntimeVersion: {
-    specName: 'Text',
-    implName: 'Text',
-    authoringVersion: 'u32',
-    specVersion: 'u32',
-    implVersion: 'u32',
-    apis: 'Vec<([u8;8],u32)>',
-    transactionVersion: 'u32',
-    stateVersion: 'u8'
-  },
-  /**
-   * Lookup266: frame_system::pallet::Error<T>
-   **/
-  FrameSystemError: {
-    _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']
-  },
-  /**
-   * Lookup268: orml_vesting::module::Error<T>
-   **/
-  OrmlVestingModuleError: {
-    _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']
-  },
-  /**
-   * Lookup270: cumulus_pallet_xcmp_queue::InboundChannelDetails
-   **/
-  CumulusPalletXcmpQueueInboundChannelDetails: {
-    sender: 'u32',
-    state: 'CumulusPalletXcmpQueueInboundState',
-    messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'
-  },
-  /**
-   * Lookup271: cumulus_pallet_xcmp_queue::InboundState
-   **/
-  CumulusPalletXcmpQueueInboundState: {
-    _enum: ['Ok', 'Suspended']
-  },
-  /**
-   * Lookup274: polkadot_parachain::primitives::XcmpMessageFormat
-   **/
-  PolkadotParachainPrimitivesXcmpMessageFormat: {
-    _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']
-  },
-  /**
-   * Lookup277: cumulus_pallet_xcmp_queue::OutboundChannelDetails
-   **/
-  CumulusPalletXcmpQueueOutboundChannelDetails: {
-    recipient: 'u32',
-    state: 'CumulusPalletXcmpQueueOutboundState',
-    signalsExist: 'bool',
-    firstIndex: 'u16',
-    lastIndex: 'u16'
-  },
-  /**
-   * Lookup278: cumulus_pallet_xcmp_queue::OutboundState
-   **/
-  CumulusPalletXcmpQueueOutboundState: {
-    _enum: ['Ok', 'Suspended']
-  },
-  /**
-   * Lookup280: cumulus_pallet_xcmp_queue::QueueConfigData
-   **/
-  CumulusPalletXcmpQueueQueueConfigData: {
-    suspendThreshold: 'u32',
-    dropThreshold: 'u32',
-    resumeThreshold: 'u32',
-    thresholdWeight: 'u64',
-    weightRestrictDecay: 'u64',
-    xcmpMaxIndividualWeight: 'u64'
-  },
-  /**
-   * Lookup282: cumulus_pallet_xcmp_queue::pallet::Error<T>
-   **/
-  CumulusPalletXcmpQueueError: {
-    _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']
-  },
-  /**
-   * Lookup283: pallet_xcm::pallet::Error<T>
-   **/
-  PalletXcmError: {
-    _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']
-  },
-  /**
-   * Lookup284: cumulus_pallet_xcm::pallet::Error<T>
-   **/
-  CumulusPalletXcmError: 'Null',
-  /**
-   * Lookup285: cumulus_pallet_dmp_queue::ConfigData
-   **/
-  CumulusPalletDmpQueueConfigData: {
-    maxIndividual: 'u64'
-  },
-  /**
-   * Lookup286: cumulus_pallet_dmp_queue::PageIndexData
-   **/
-  CumulusPalletDmpQueuePageIndexData: {
-    beginUsed: 'u32',
-    endUsed: 'u32',
-    overweightCount: 'u64'
-  },
-  /**
-   * Lookup289: cumulus_pallet_dmp_queue::pallet::Error<T>
-   **/
-  CumulusPalletDmpQueueError: {
-    _enum: ['Unknown', 'OverLimit']
-  },
-  /**
-   * Lookup293: pallet_unique::Error<T>
-   **/
-  PalletUniqueError: {
-    _enum: ['CollectionDecimalPointLimitExceeded', 'ConfirmUnsetSponsorFail', 'EmptyArgument']
-  },
-  /**
-   * Lookup294: up_data_structs::Collection<sp_core::crypto::AccountId32>
-   **/
-  UpDataStructsCollection: {
-    owner: 'AccountId32',
-    mode: 'UpDataStructsCollectionMode',
-    access: 'UpDataStructsAccessMode',
-    name: 'Vec<u16>',
-    description: 'Vec<u16>',
-    tokenPrefix: 'Bytes',
-    mintMode: 'bool',
-    offchainSchema: 'Bytes',
-    schemaVersion: 'UpDataStructsSchemaVersion',
-    sponsorship: 'UpDataStructsSponsorshipState',
-    limits: 'UpDataStructsCollectionLimits',
-    variableOnChainSchema: 'Bytes',
-    constOnChainSchema: 'Bytes',
-    metaUpdatePermission: 'UpDataStructsMetaUpdatePermission'
-  },
-  /**
-   * Lookup295: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>
-   **/
-  UpDataStructsSponsorshipState: {
-    _enum: {
-      Disabled: 'Null',
-      Unconfirmed: 'AccountId32',
-      Confirmed: 'AccountId32'
-    }
-  },
-  /**
-   * Lookup298: up_data_structs::CollectionStats
-   **/
-  UpDataStructsCollectionStats: {
-    created: 'u32',
-    destroyed: 'u32',
-    alive: 'u32'
-  },
-  /**
-   * Lookup299: pallet_common::pallet::Error<T>
-   **/
-  PalletCommonError: {
-    _enum: ['CollectionNotFound', 'MustBeTokenOwner', 'NoPermission', 'PublicMintingNotAllowed', 'AddressNotInAllowlist', 'CollectionNameLimitExceeded', 'CollectionDescriptionLimitExceeded', 'CollectionTokenPrefixLimitExceeded', 'TotalCollectionsLimitExceeded', 'TokenVariableDataLimitExceeded', 'CollectionAdminCountExceeded', 'CollectionLimitBoundsExceeded', 'OwnerPermissionsCantBeReverted', 'TransferNotAllowed', 'AccountTokenLimitExceeded', 'CollectionTokenLimitExceeded', 'MetadataFlagFrozen', 'TokenNotFound', 'TokenValueTooLow', 'ApprovedValueTooLow', 'CantApproveMoreThanOwned', 'AddressIsZero', 'UnsupportedOperation', 'NotSufficientFounds']
-  },
-  /**
-   * Lookup301: pallet_fungible::pallet::Error<T>
-   **/
-  PalletFungibleError: {
-    _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData']
-  },
-  /**
-   * Lookup302: pallet_refungible::ItemData
-   **/
-  PalletRefungibleItemData: {
-    constData: 'Bytes',
-    variableData: 'Bytes'
-  },
-  /**
-   * Lookup306: pallet_refungible::pallet::Error<T>
-   **/
-  PalletRefungibleError: {
-    _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces']
-  },
-  /**
-   * Lookup307: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
-   **/
-  PalletNonfungibleItemData: {
-    constData: 'Bytes',
-    variableData: 'Bytes',
-    owner: 'PalletEvmAccountBasicCrossAccountIdRepr'
-  },
-  /**
-   * Lookup308: pallet_nonfungible::pallet::Error<T>
-   **/
-  PalletNonfungibleError: {
-    _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount']
-  },
-  /**
-   * Lookup310: pallet_evm::pallet::Error<T>
-   **/
-  PalletEvmError: {
-    _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce']
-  },
-  /**
-   * Lookup313: fp_rpc::TransactionStatus
-   **/
-  FpRpcTransactionStatus: {
-    transactionHash: 'H256',
-    transactionIndex: 'u32',
-    from: 'H160',
-    to: 'Option<H160>',
-    contractAddress: 'Option<H160>',
-    logs: 'Vec<EthereumLog>',
-    logsBloom: 'EthbloomBloom'
-  },
-  /**
-   * Lookup316: ethbloom::Bloom
-   **/
-  EthbloomBloom: '[u8;256]',
-  /**
-   * Lookup318: ethereum::receipt::ReceiptV3
-   **/
-  EthereumReceiptReceiptV3: {
-    _enum: {
-      Legacy: 'EthereumReceiptEip658ReceiptData',
-      EIP2930: 'EthereumReceiptEip658ReceiptData',
-      EIP1559: 'EthereumReceiptEip658ReceiptData'
-    }
-  },
-  /**
-   * Lookup319: ethereum::receipt::EIP658ReceiptData
-   **/
-  EthereumReceiptEip658ReceiptData: {
-    statusCode: 'u8',
-    usedGas: 'U256',
-    logsBloom: 'EthbloomBloom',
-    logs: 'Vec<EthereumLog>'
-  },
-  /**
-   * Lookup320: ethereum::block::Block<ethereum::transaction::TransactionV2>
-   **/
-  EthereumBlock: {
-    header: 'EthereumHeader',
-    transactions: 'Vec<EthereumTransactionTransactionV2>',
-    ommers: 'Vec<EthereumHeader>'
-  },
-  /**
-   * Lookup321: ethereum::header::Header
-   **/
-  EthereumHeader: {
-    parentHash: 'H256',
-    ommersHash: 'H256',
-    beneficiary: 'H160',
-    stateRoot: 'H256',
-    transactionsRoot: 'H256',
-    receiptsRoot: 'H256',
-    logsBloom: 'EthbloomBloom',
-    difficulty: 'U256',
-    number: 'U256',
-    gasLimit: 'U256',
-    gasUsed: 'U256',
-    timestamp: 'u64',
-    extraData: 'Bytes',
-    mixHash: 'H256',
-    nonce: 'EthereumTypesHashH64'
-  },
-  /**
-   * Lookup322: ethereum_types::hash::H64
-   **/
-  EthereumTypesHashH64: '[u8;8]',
-  /**
-   * Lookup327: pallet_ethereum::pallet::Error<T>
-   **/
-  PalletEthereumError: {
-    _enum: ['InvalidSignature', 'PreLogExists']
-  },
-  /**
-   * Lookup328: pallet_evm_coder_substrate::pallet::Error<T>
-   **/
-  PalletEvmCoderSubstrateError: {
-    _enum: ['OutOfGas', 'OutOfFund']
-  },
-  /**
-   * Lookup329: pallet_evm_contract_helpers::SponsoringModeT
-   **/
-  PalletEvmContractHelpersSponsoringModeT: {
-    _enum: ['Disabled', 'Allowlisted', 'Generous']
-  },
-  /**
-   * Lookup331: pallet_evm_contract_helpers::pallet::Error<T>
-   **/
-  PalletEvmContractHelpersError: {
-    _enum: ['NoPermission']
-  },
-  /**
-   * Lookup332: pallet_evm_migration::pallet::Error<T>
-   **/
-  PalletEvmMigrationError: {
-    _enum: ['AccountNotEmpty', 'AccountIsNotMigrating']
-  },
-  /**
-   * Lookup334: sp_runtime::MultiSignature
-   **/
-  SpRuntimeMultiSignature: {
-    _enum: {
-      Ed25519: 'SpCoreEd25519Signature',
-      Sr25519: 'SpCoreSr25519Signature',
-      Ecdsa: 'SpCoreEcdsaSignature'
-    }
-  },
-  /**
-   * Lookup335: sp_core::ed25519::Signature
-   **/
-  SpCoreEd25519Signature: '[u8;64]',
-  /**
-   * Lookup337: sp_core::sr25519::Signature
-   **/
-  SpCoreSr25519Signature: '[u8;64]',
-  /**
-   * Lookup338: sp_core::ecdsa::Signature
-   **/
-  SpCoreEcdsaSignature: '[u8;65]',
-  /**
-   * Lookup341: frame_system::extensions::check_spec_version::CheckSpecVersion<T>
-   **/
-  FrameSystemExtensionsCheckSpecVersion: 'Null',
-  /**
-   * Lookup342: frame_system::extensions::check_genesis::CheckGenesis<T>
-   **/
-  FrameSystemExtensionsCheckGenesis: 'Null',
-  /**
-   * Lookup345: frame_system::extensions::check_nonce::CheckNonce<T>
-   **/
-  FrameSystemExtensionsCheckNonce: 'Compact<u32>',
-  /**
-   * Lookup346: frame_system::extensions::check_weight::CheckWeight<T>
-   **/
-  FrameSystemExtensionsCheckWeight: 'Null',
-  /**
-   * Lookup347: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>
-   **/
-  PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',
-  /**
-   * Lookup348: opal_runtime::Runtime
-   **/
-  OpalRuntimeRuntime: 'Null'
-};
deletedtests/src/interfaces/types-lookup.tsdiffbeforeafterboth
before · tests/src/interfaces/types-lookup.ts
1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34declare module '@polkadot/types/lookup' {5  import type { BTreeMap, BTreeSet, Bytes, Compact, Enum, Null, Option, Result, Struct, Text, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';6  import type { ITuple } from '@polkadot/types-codec/types';7  import type { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime';8  import type { Event } from '@polkadot/types/interfaces/system';910  /** @name PolkadotPrimitivesV2PersistedValidationData (2) */11  export interface PolkadotPrimitivesV2PersistedValidationData extends Struct {12    readonly parentHead: Bytes;13    readonly relayParentNumber: u32;14    readonly relayParentStorageRoot: H256;15    readonly maxPovSize: u32;16  }1718  /** @name PolkadotPrimitivesV2UpgradeRestriction (9) */19  export interface PolkadotPrimitivesV2UpgradeRestriction extends Enum {20    readonly isPresent: boolean;21    readonly type: 'Present';22  }2324  /** @name SpTrieStorageProof (10) */25  export interface SpTrieStorageProof extends Struct {26    readonly trieNodes: BTreeSet;27  }2829  /** @name BTreeSet (11) */30  export interface BTreeSet extends BTreeSet<Bytes> {}3132  /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (13) */33  export interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {34    readonly dmqMqcHead: H256;35    readonly relayDispatchQueueSize: ITuple<[u32, u32]>;36    readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;37    readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;38  }3940  /** @name PolkadotPrimitivesV2AbridgedHrmpChannel (18) */41  export interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct {42    readonly maxCapacity: u32;43    readonly maxTotalSize: u32;44    readonly maxMessageSize: u32;45    readonly msgCount: u32;46    readonly totalSize: u32;47    readonly mqcHead: Option<H256>;48  }4950  /** @name PolkadotPrimitivesV2AbridgedHostConfiguration (20) */51  export interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct {52    readonly maxCodeSize: u32;53    readonly maxHeadDataSize: u32;54    readonly maxUpwardQueueCount: u32;55    readonly maxUpwardQueueSize: u32;56    readonly maxUpwardMessageSize: u32;57    readonly maxUpwardMessageNumPerCandidate: u32;58    readonly hrmpMaxMessageNumPerCandidate: u32;59    readonly validationUpgradeCooldown: u32;60    readonly validationUpgradeDelay: u32;61  }6263  /** @name PolkadotCorePrimitivesOutboundHrmpMessage (26) */64  export interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {65    readonly recipient: u32;66    readonly data: Bytes;67  }6869  /** @name CumulusPalletParachainSystemCall (28) */70  export interface CumulusPalletParachainSystemCall extends Enum {71    readonly isSetValidationData: boolean;72    readonly asSetValidationData: {73      readonly data: CumulusPrimitivesParachainInherentParachainInherentData;74    } & Struct;75    readonly isSudoSendUpwardMessage: boolean;76    readonly asSudoSendUpwardMessage: {77      readonly message: Bytes;78    } & Struct;79    readonly isAuthorizeUpgrade: boolean;80    readonly asAuthorizeUpgrade: {81      readonly codeHash: H256;82    } & Struct;83    readonly isEnactAuthorizedUpgrade: boolean;84    readonly asEnactAuthorizedUpgrade: {85      readonly code: Bytes;86    } & Struct;87    readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';88  }8990  /** @name CumulusPrimitivesParachainInherentParachainInherentData (29) */91  export interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {92    readonly validationData: PolkadotPrimitivesV2PersistedValidationData;93    readonly relayChainState: SpTrieStorageProof;94    readonly downwardMessages: Vec<PolkadotCorePrimitivesInboundDownwardMessage>;95    readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;96  }9798  /** @name PolkadotCorePrimitivesInboundDownwardMessage (31) */99  export interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {100    readonly sentAt: u32;101    readonly msg: Bytes;102  }103104  /** @name PolkadotCorePrimitivesInboundHrmpMessage (34) */105  export interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {106    readonly sentAt: u32;107    readonly data: Bytes;108  }109110  /** @name CumulusPalletParachainSystemEvent (37) */111  export interface CumulusPalletParachainSystemEvent extends Enum {112    readonly isValidationFunctionStored: boolean;113    readonly isValidationFunctionApplied: boolean;114    readonly asValidationFunctionApplied: u32;115    readonly isValidationFunctionDiscarded: boolean;116    readonly isUpgradeAuthorized: boolean;117    readonly asUpgradeAuthorized: H256;118    readonly isDownwardMessagesReceived: boolean;119    readonly asDownwardMessagesReceived: u32;120    readonly isDownwardMessagesProcessed: boolean;121    readonly asDownwardMessagesProcessed: ITuple<[u64, H256]>;122    readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed';123  }124125  /** @name CumulusPalletParachainSystemError (38) */126  export interface CumulusPalletParachainSystemError extends Enum {127    readonly isOverlappingUpgrades: boolean;128    readonly isProhibitedByPolkadot: boolean;129    readonly isTooBig: boolean;130    readonly isValidationDataNotAvailable: boolean;131    readonly isHostConfigurationNotAvailable: boolean;132    readonly isNotScheduled: boolean;133    readonly isNothingAuthorized: boolean;134    readonly isUnauthorized: boolean;135    readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';136  }137138  /** @name PalletBalancesAccountData (41) */139  export interface PalletBalancesAccountData extends Struct {140    readonly free: u128;141    readonly reserved: u128;142    readonly miscFrozen: u128;143    readonly feeFrozen: u128;144  }145146  /** @name PalletBalancesBalanceLock (43) */147  export interface PalletBalancesBalanceLock extends Struct {148    readonly id: U8aFixed;149    readonly amount: u128;150    readonly reasons: PalletBalancesReasons;151  }152153  /** @name PalletBalancesReasons (45) */154  export interface PalletBalancesReasons extends Enum {155    readonly isFee: boolean;156    readonly isMisc: boolean;157    readonly isAll: boolean;158    readonly type: 'Fee' | 'Misc' | 'All';159  }160161  /** @name PalletBalancesReserveData (48) */162  export interface PalletBalancesReserveData extends Struct {163    readonly id: U8aFixed;164    readonly amount: u128;165  }166167  /** @name PalletBalancesReleases (50) */168  export interface PalletBalancesReleases extends Enum {169    readonly isV100: boolean;170    readonly isV200: boolean;171    readonly type: 'V100' | 'V200';172  }173174  /** @name PalletBalancesCall (51) */175  export interface PalletBalancesCall extends Enum {176    readonly isTransfer: boolean;177    readonly asTransfer: {178      readonly dest: MultiAddress;179      readonly value: Compact<u128>;180    } & Struct;181    readonly isSetBalance: boolean;182    readonly asSetBalance: {183      readonly who: MultiAddress;184      readonly newFree: Compact<u128>;185      readonly newReserved: Compact<u128>;186    } & Struct;187    readonly isForceTransfer: boolean;188    readonly asForceTransfer: {189      readonly source: MultiAddress;190      readonly dest: MultiAddress;191      readonly value: Compact<u128>;192    } & Struct;193    readonly isTransferKeepAlive: boolean;194    readonly asTransferKeepAlive: {195      readonly dest: MultiAddress;196      readonly value: Compact<u128>;197    } & Struct;198    readonly isTransferAll: boolean;199    readonly asTransferAll: {200      readonly dest: MultiAddress;201      readonly keepAlive: bool;202    } & Struct;203    readonly isForceUnreserve: boolean;204    readonly asForceUnreserve: {205      readonly who: MultiAddress;206      readonly amount: u128;207    } & Struct;208    readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';209  }210211  /** @name PalletBalancesEvent (57) */212  export interface PalletBalancesEvent extends Enum {213    readonly isEndowed: boolean;214    readonly asEndowed: {215      readonly account: AccountId32;216      readonly freeBalance: u128;217    } & Struct;218    readonly isDustLost: boolean;219    readonly asDustLost: {220      readonly account: AccountId32;221      readonly amount: u128;222    } & Struct;223    readonly isTransfer: boolean;224    readonly asTransfer: {225      readonly from: AccountId32;226      readonly to: AccountId32;227      readonly amount: u128;228    } & Struct;229    readonly isBalanceSet: boolean;230    readonly asBalanceSet: {231      readonly who: AccountId32;232      readonly free: u128;233      readonly reserved: u128;234    } & Struct;235    readonly isReserved: boolean;236    readonly asReserved: {237      readonly who: AccountId32;238      readonly amount: u128;239    } & Struct;240    readonly isUnreserved: boolean;241    readonly asUnreserved: {242      readonly who: AccountId32;243      readonly amount: u128;244    } & Struct;245    readonly isReserveRepatriated: boolean;246    readonly asReserveRepatriated: {247      readonly from: AccountId32;248      readonly to: AccountId32;249      readonly amount: u128;250      readonly destinationStatus: FrameSupportTokensMiscBalanceStatus;251    } & Struct;252    readonly isDeposit: boolean;253    readonly asDeposit: {254      readonly who: AccountId32;255      readonly amount: u128;256    } & Struct;257    readonly isWithdraw: boolean;258    readonly asWithdraw: {259      readonly who: AccountId32;260      readonly amount: u128;261    } & Struct;262    readonly isSlashed: boolean;263    readonly asSlashed: {264      readonly who: AccountId32;265      readonly amount: u128;266    } & Struct;267    readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed';268  }269270  /** @name FrameSupportTokensMiscBalanceStatus (58) */271  export interface FrameSupportTokensMiscBalanceStatus extends Enum {272    readonly isFree: boolean;273    readonly isReserved: boolean;274    readonly type: 'Free' | 'Reserved';275  }276277  /** @name PalletBalancesError (59) */278  export interface PalletBalancesError extends Enum {279    readonly isVestingBalance: boolean;280    readonly isLiquidityRestrictions: boolean;281    readonly isInsufficientBalance: boolean;282    readonly isExistentialDeposit: boolean;283    readonly isKeepAlive: boolean;284    readonly isExistingVestingSchedule: boolean;285    readonly isDeadAccount: boolean;286    readonly isTooManyReserves: boolean;287    readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';288  }289290  /** @name PalletTimestampCall (62) */291  export interface PalletTimestampCall extends Enum {292    readonly isSet: boolean;293    readonly asSet: {294      readonly now: Compact<u64>;295    } & Struct;296    readonly type: 'Set';297  }298299  /** @name PalletTransactionPaymentReleases (65) */300  export interface PalletTransactionPaymentReleases extends Enum {301    readonly isV1Ancient: boolean;302    readonly isV2: boolean;303    readonly type: 'V1Ancient' | 'V2';304  }305306  /** @name FrameSupportWeightsWeightToFeeCoefficient (67) */307  export interface FrameSupportWeightsWeightToFeeCoefficient extends Struct {308    readonly coeffInteger: u128;309    readonly coeffFrac: Perbill;310    readonly negative: bool;311    readonly degree: u8;312  }313314  /** @name PalletTreasuryProposal (69) */315  export interface PalletTreasuryProposal extends Struct {316    readonly proposer: AccountId32;317    readonly value: u128;318    readonly beneficiary: AccountId32;319    readonly bond: u128;320  }321322  /** @name PalletTreasuryCall (72) */323  export interface PalletTreasuryCall extends Enum {324    readonly isProposeSpend: boolean;325    readonly asProposeSpend: {326      readonly value: Compact<u128>;327      readonly beneficiary: MultiAddress;328    } & Struct;329    readonly isRejectProposal: boolean;330    readonly asRejectProposal: {331      readonly proposalId: Compact<u32>;332    } & Struct;333    readonly isApproveProposal: boolean;334    readonly asApproveProposal: {335      readonly proposalId: Compact<u32>;336    } & Struct;337    readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal';338  }339340  /** @name PalletTreasuryEvent (74) */341  export interface PalletTreasuryEvent extends Enum {342    readonly isProposed: boolean;343    readonly asProposed: {344      readonly proposalIndex: u32;345    } & Struct;346    readonly isSpending: boolean;347    readonly asSpending: {348      readonly budgetRemaining: u128;349    } & Struct;350    readonly isAwarded: boolean;351    readonly asAwarded: {352      readonly proposalIndex: u32;353      readonly award: u128;354      readonly account: AccountId32;355    } & Struct;356    readonly isRejected: boolean;357    readonly asRejected: {358      readonly proposalIndex: u32;359      readonly slashed: u128;360    } & Struct;361    readonly isBurnt: boolean;362    readonly asBurnt: {363      readonly burntFunds: u128;364    } & Struct;365    readonly isRollover: boolean;366    readonly asRollover: {367      readonly rolloverBalance: u128;368    } & Struct;369    readonly isDeposit: boolean;370    readonly asDeposit: {371      readonly value: u128;372    } & Struct;373    readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit';374  }375376  /** @name FrameSupportPalletId (77) */377  export interface FrameSupportPalletId extends U8aFixed {}378379  /** @name PalletTreasuryError (78) */380  export interface PalletTreasuryError extends Enum {381    readonly isInsufficientProposersBalance: boolean;382    readonly isInvalidIndex: boolean;383    readonly isTooManyApprovals: boolean;384    readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals';385  }386387  /** @name PalletSudoCall (79) */388  export interface PalletSudoCall extends Enum {389    readonly isSudo: boolean;390    readonly asSudo: {391      readonly call: Call;392    } & Struct;393    readonly isSudoUncheckedWeight: boolean;394    readonly asSudoUncheckedWeight: {395      readonly call: Call;396      readonly weight: u64;397    } & Struct;398    readonly isSetKey: boolean;399    readonly asSetKey: {400      readonly new_: MultiAddress;401    } & Struct;402    readonly isSudoAs: boolean;403    readonly asSudoAs: {404      readonly who: MultiAddress;405      readonly call: Call;406    } & Struct;407    readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';408  }409410  /** @name FrameSystemCall (81) */411  export interface FrameSystemCall extends Enum {412    readonly isFillBlock: boolean;413    readonly asFillBlock: {414      readonly ratio: Perbill;415    } & Struct;416    readonly isRemark: boolean;417    readonly asRemark: {418      readonly remark: Bytes;419    } & Struct;420    readonly isSetHeapPages: boolean;421    readonly asSetHeapPages: {422      readonly pages: u64;423    } & Struct;424    readonly isSetCode: boolean;425    readonly asSetCode: {426      readonly code: Bytes;427    } & Struct;428    readonly isSetCodeWithoutChecks: boolean;429    readonly asSetCodeWithoutChecks: {430      readonly code: Bytes;431    } & Struct;432    readonly isSetStorage: boolean;433    readonly asSetStorage: {434      readonly items: Vec<ITuple<[Bytes, Bytes]>>;435    } & Struct;436    readonly isKillStorage: boolean;437    readonly asKillStorage: {438      readonly keys_: Vec<Bytes>;439    } & Struct;440    readonly isKillPrefix: boolean;441    readonly asKillPrefix: {442      readonly prefix: Bytes;443      readonly subkeys: u32;444    } & Struct;445    readonly isRemarkWithEvent: boolean;446    readonly asRemarkWithEvent: {447      readonly remark: Bytes;448    } & Struct;449    readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';450  }451452  /** @name OrmlVestingModuleCall (84) */453  export interface OrmlVestingModuleCall extends Enum {454    readonly isClaim: boolean;455    readonly isVestedTransfer: boolean;456    readonly asVestedTransfer: {457      readonly dest: MultiAddress;458      readonly schedule: OrmlVestingVestingSchedule;459    } & Struct;460    readonly isUpdateVestingSchedules: boolean;461    readonly asUpdateVestingSchedules: {462      readonly who: MultiAddress;463      readonly vestingSchedules: Vec<OrmlVestingVestingSchedule>;464    } & Struct;465    readonly isClaimFor: boolean;466    readonly asClaimFor: {467      readonly dest: MultiAddress;468    } & Struct;469    readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';470  }471472  /** @name OrmlVestingVestingSchedule (85) */473  export interface OrmlVestingVestingSchedule extends Struct {474    readonly start: u32;475    readonly period: u32;476    readonly periodCount: u32;477    readonly perPeriod: Compact<u128>;478  }479480  /** @name CumulusPalletXcmpQueueCall (87) */481  export interface CumulusPalletXcmpQueueCall extends Enum {482    readonly isServiceOverweight: boolean;483    readonly asServiceOverweight: {484      readonly index: u64;485      readonly weightLimit: u64;486    } & Struct;487    readonly isSuspendXcmExecution: boolean;488    readonly isResumeXcmExecution: boolean;489    readonly isUpdateSuspendThreshold: boolean;490    readonly asUpdateSuspendThreshold: {491      readonly new_: u32;492    } & Struct;493    readonly isUpdateDropThreshold: boolean;494    readonly asUpdateDropThreshold: {495      readonly new_: u32;496    } & Struct;497    readonly isUpdateResumeThreshold: boolean;498    readonly asUpdateResumeThreshold: {499      readonly new_: u32;500    } & Struct;501    readonly isUpdateThresholdWeight: boolean;502    readonly asUpdateThresholdWeight: {503      readonly new_: u64;504    } & Struct;505    readonly isUpdateWeightRestrictDecay: boolean;506    readonly asUpdateWeightRestrictDecay: {507      readonly new_: u64;508    } & Struct;509    readonly isUpdateXcmpMaxIndividualWeight: boolean;510    readonly asUpdateXcmpMaxIndividualWeight: {511      readonly new_: u64;512    } & Struct;513    readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';514  }515516  /** @name PalletXcmCall (88) */517  export interface PalletXcmCall extends Enum {518    readonly isSend: boolean;519    readonly asSend: {520      readonly dest: XcmVersionedMultiLocation;521      readonly message: XcmVersionedXcm;522    } & Struct;523    readonly isTeleportAssets: boolean;524    readonly asTeleportAssets: {525      readonly dest: XcmVersionedMultiLocation;526      readonly beneficiary: XcmVersionedMultiLocation;527      readonly assets: XcmVersionedMultiAssets;528      readonly feeAssetItem: u32;529    } & Struct;530    readonly isReserveTransferAssets: boolean;531    readonly asReserveTransferAssets: {532      readonly dest: XcmVersionedMultiLocation;533      readonly beneficiary: XcmVersionedMultiLocation;534      readonly assets: XcmVersionedMultiAssets;535      readonly feeAssetItem: u32;536    } & Struct;537    readonly isExecute: boolean;538    readonly asExecute: {539      readonly message: XcmVersionedXcm;540      readonly maxWeight: u64;541    } & Struct;542    readonly isForceXcmVersion: boolean;543    readonly asForceXcmVersion: {544      readonly location: XcmV1MultiLocation;545      readonly xcmVersion: u32;546    } & Struct;547    readonly isForceDefaultXcmVersion: boolean;548    readonly asForceDefaultXcmVersion: {549      readonly maybeXcmVersion: Option<u32>;550    } & Struct;551    readonly isForceSubscribeVersionNotify: boolean;552    readonly asForceSubscribeVersionNotify: {553      readonly location: XcmVersionedMultiLocation;554    } & Struct;555    readonly isForceUnsubscribeVersionNotify: boolean;556    readonly asForceUnsubscribeVersionNotify: {557      readonly location: XcmVersionedMultiLocation;558    } & Struct;559    readonly isLimitedReserveTransferAssets: boolean;560    readonly asLimitedReserveTransferAssets: {561      readonly dest: XcmVersionedMultiLocation;562      readonly beneficiary: XcmVersionedMultiLocation;563      readonly assets: XcmVersionedMultiAssets;564      readonly feeAssetItem: u32;565      readonly weightLimit: XcmV2WeightLimit;566    } & Struct;567    readonly isLimitedTeleportAssets: boolean;568    readonly asLimitedTeleportAssets: {569      readonly dest: XcmVersionedMultiLocation;570      readonly beneficiary: XcmVersionedMultiLocation;571      readonly assets: XcmVersionedMultiAssets;572      readonly feeAssetItem: u32;573      readonly weightLimit: XcmV2WeightLimit;574    } & Struct;575    readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';576  }577578  /** @name XcmVersionedMultiLocation (89) */579  export interface XcmVersionedMultiLocation extends Enum {580    readonly isV0: boolean;581    readonly asV0: XcmV0MultiLocation;582    readonly isV1: boolean;583    readonly asV1: XcmV1MultiLocation;584    readonly type: 'V0' | 'V1';585  }586587  /** @name XcmV0MultiLocation (90) */588  export interface XcmV0MultiLocation extends Enum {589    readonly isNull: boolean;590    readonly isX1: boolean;591    readonly asX1: XcmV0Junction;592    readonly isX2: boolean;593    readonly asX2: ITuple<[XcmV0Junction, XcmV0Junction]>;594    readonly isX3: boolean;595    readonly asX3: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction]>;596    readonly isX4: boolean;597    readonly asX4: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;598    readonly isX5: boolean;599    readonly asX5: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;600    readonly isX6: boolean;601    readonly asX6: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;602    readonly isX7: boolean;603    readonly asX7: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;604    readonly isX8: boolean;605    readonly asX8: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;606    readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';607  }608609  /** @name XcmV0Junction (91) */610  export interface XcmV0Junction extends Enum {611    readonly isParent: boolean;612    readonly isParachain: boolean;613    readonly asParachain: Compact<u32>;614    readonly isAccountId32: boolean;615    readonly asAccountId32: {616      readonly network: XcmV0JunctionNetworkId;617      readonly id: U8aFixed;618    } & Struct;619    readonly isAccountIndex64: boolean;620    readonly asAccountIndex64: {621      readonly network: XcmV0JunctionNetworkId;622      readonly index: Compact<u64>;623    } & Struct;624    readonly isAccountKey20: boolean;625    readonly asAccountKey20: {626      readonly network: XcmV0JunctionNetworkId;627      readonly key: U8aFixed;628    } & Struct;629    readonly isPalletInstance: boolean;630    readonly asPalletInstance: u8;631    readonly isGeneralIndex: boolean;632    readonly asGeneralIndex: Compact<u128>;633    readonly isGeneralKey: boolean;634    readonly asGeneralKey: Bytes;635    readonly isOnlyChild: boolean;636    readonly isPlurality: boolean;637    readonly asPlurality: {638      readonly id: XcmV0JunctionBodyId;639      readonly part: XcmV0JunctionBodyPart;640    } & Struct;641    readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';642  }643644  /** @name XcmV0JunctionNetworkId (92) */645  export interface XcmV0JunctionNetworkId extends Enum {646    readonly isAny: boolean;647    readonly isNamed: boolean;648    readonly asNamed: Bytes;649    readonly isPolkadot: boolean;650    readonly isKusama: boolean;651    readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';652  }653654  /** @name XcmV0JunctionBodyId (93) */655  export interface XcmV0JunctionBodyId extends Enum {656    readonly isUnit: boolean;657    readonly isNamed: boolean;658    readonly asNamed: Bytes;659    readonly isIndex: boolean;660    readonly asIndex: Compact<u32>;661    readonly isExecutive: boolean;662    readonly isTechnical: boolean;663    readonly isLegislative: boolean;664    readonly isJudicial: boolean;665    readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial';666  }667668  /** @name XcmV0JunctionBodyPart (94) */669  export interface XcmV0JunctionBodyPart extends Enum {670    readonly isVoice: boolean;671    readonly isMembers: boolean;672    readonly asMembers: {673      readonly count: Compact<u32>;674    } & Struct;675    readonly isFraction: boolean;676    readonly asFraction: {677      readonly nom: Compact<u32>;678      readonly denom: Compact<u32>;679    } & Struct;680    readonly isAtLeastProportion: boolean;681    readonly asAtLeastProportion: {682      readonly nom: Compact<u32>;683      readonly denom: Compact<u32>;684    } & Struct;685    readonly isMoreThanProportion: boolean;686    readonly asMoreThanProportion: {687      readonly nom: Compact<u32>;688      readonly denom: Compact<u32>;689    } & Struct;690    readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';691  }692693  /** @name XcmV1MultiLocation (95) */694  export interface XcmV1MultiLocation extends Struct {695    readonly parents: u8;696    readonly interior: XcmV1MultilocationJunctions;697  }698699  /** @name XcmV1MultilocationJunctions (96) */700  export interface XcmV1MultilocationJunctions extends Enum {701    readonly isHere: boolean;702    readonly isX1: boolean;703    readonly asX1: XcmV1Junction;704    readonly isX2: boolean;705    readonly asX2: ITuple<[XcmV1Junction, XcmV1Junction]>;706    readonly isX3: boolean;707    readonly asX3: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction]>;708    readonly isX4: boolean;709    readonly asX4: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;710    readonly isX5: boolean;711    readonly asX5: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;712    readonly isX6: boolean;713    readonly asX6: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;714    readonly isX7: boolean;715    readonly asX7: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;716    readonly isX8: boolean;717    readonly asX8: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;718    readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';719  }720721  /** @name XcmV1Junction (97) */722  export interface XcmV1Junction extends Enum {723    readonly isParachain: boolean;724    readonly asParachain: Compact<u32>;725    readonly isAccountId32: boolean;726    readonly asAccountId32: {727      readonly network: XcmV0JunctionNetworkId;728      readonly id: U8aFixed;729    } & Struct;730    readonly isAccountIndex64: boolean;731    readonly asAccountIndex64: {732      readonly network: XcmV0JunctionNetworkId;733      readonly index: Compact<u64>;734    } & Struct;735    readonly isAccountKey20: boolean;736    readonly asAccountKey20: {737      readonly network: XcmV0JunctionNetworkId;738      readonly key: U8aFixed;739    } & Struct;740    readonly isPalletInstance: boolean;741    readonly asPalletInstance: u8;742    readonly isGeneralIndex: boolean;743    readonly asGeneralIndex: Compact<u128>;744    readonly isGeneralKey: boolean;745    readonly asGeneralKey: Bytes;746    readonly isOnlyChild: boolean;747    readonly isPlurality: boolean;748    readonly asPlurality: {749      readonly id: XcmV0JunctionBodyId;750      readonly part: XcmV0JunctionBodyPart;751    } & Struct;752    readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';753  }754755  /** @name XcmVersionedXcm (98) */756  export interface XcmVersionedXcm extends Enum {757    readonly isV0: boolean;758    readonly asV0: XcmV0Xcm;759    readonly isV1: boolean;760    readonly asV1: XcmV1Xcm;761    readonly isV2: boolean;762    readonly asV2: XcmV2Xcm;763    readonly type: 'V0' | 'V1' | 'V2';764  }765766  /** @name XcmV0Xcm (99) */767  export interface XcmV0Xcm extends Enum {768    readonly isWithdrawAsset: boolean;769    readonly asWithdrawAsset: {770      readonly assets: Vec<XcmV0MultiAsset>;771      readonly effects: Vec<XcmV0Order>;772    } & Struct;773    readonly isReserveAssetDeposit: boolean;774    readonly asReserveAssetDeposit: {775      readonly assets: Vec<XcmV0MultiAsset>;776      readonly effects: Vec<XcmV0Order>;777    } & Struct;778    readonly isTeleportAsset: boolean;779    readonly asTeleportAsset: {780      readonly assets: Vec<XcmV0MultiAsset>;781      readonly effects: Vec<XcmV0Order>;782    } & Struct;783    readonly isQueryResponse: boolean;784    readonly asQueryResponse: {785      readonly queryId: Compact<u64>;786      readonly response: XcmV0Response;787    } & Struct;788    readonly isTransferAsset: boolean;789    readonly asTransferAsset: {790      readonly assets: Vec<XcmV0MultiAsset>;791      readonly dest: XcmV0MultiLocation;792    } & Struct;793    readonly isTransferReserveAsset: boolean;794    readonly asTransferReserveAsset: {795      readonly assets: Vec<XcmV0MultiAsset>;796      readonly dest: XcmV0MultiLocation;797      readonly effects: Vec<XcmV0Order>;798    } & Struct;799    readonly isTransact: boolean;800    readonly asTransact: {801      readonly originType: XcmV0OriginKind;802      readonly requireWeightAtMost: u64;803      readonly call: XcmDoubleEncoded;804    } & Struct;805    readonly isHrmpNewChannelOpenRequest: boolean;806    readonly asHrmpNewChannelOpenRequest: {807      readonly sender: Compact<u32>;808      readonly maxMessageSize: Compact<u32>;809      readonly maxCapacity: Compact<u32>;810    } & Struct;811    readonly isHrmpChannelAccepted: boolean;812    readonly asHrmpChannelAccepted: {813      readonly recipient: Compact<u32>;814    } & Struct;815    readonly isHrmpChannelClosing: boolean;816    readonly asHrmpChannelClosing: {817      readonly initiator: Compact<u32>;818      readonly sender: Compact<u32>;819      readonly recipient: Compact<u32>;820    } & Struct;821    readonly isRelayedFrom: boolean;822    readonly asRelayedFrom: {823      readonly who: XcmV0MultiLocation;824      readonly message: XcmV0Xcm;825    } & Struct;826    readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';827  }828829  /** @name XcmV0MultiAsset (101) */830  export interface XcmV0MultiAsset extends Enum {831    readonly isNone: boolean;832    readonly isAll: boolean;833    readonly isAllFungible: boolean;834    readonly isAllNonFungible: boolean;835    readonly isAllAbstractFungible: boolean;836    readonly asAllAbstractFungible: {837      readonly id: Bytes;838    } & Struct;839    readonly isAllAbstractNonFungible: boolean;840    readonly asAllAbstractNonFungible: {841      readonly class: Bytes;842    } & Struct;843    readonly isAllConcreteFungible: boolean;844    readonly asAllConcreteFungible: {845      readonly id: XcmV0MultiLocation;846    } & Struct;847    readonly isAllConcreteNonFungible: boolean;848    readonly asAllConcreteNonFungible: {849      readonly class: XcmV0MultiLocation;850    } & Struct;851    readonly isAbstractFungible: boolean;852    readonly asAbstractFungible: {853      readonly id: Bytes;854      readonly amount: Compact<u128>;855    } & Struct;856    readonly isAbstractNonFungible: boolean;857    readonly asAbstractNonFungible: {858      readonly class: Bytes;859      readonly instance: XcmV1MultiassetAssetInstance;860    } & Struct;861    readonly isConcreteFungible: boolean;862    readonly asConcreteFungible: {863      readonly id: XcmV0MultiLocation;864      readonly amount: Compact<u128>;865    } & Struct;866    readonly isConcreteNonFungible: boolean;867    readonly asConcreteNonFungible: {868      readonly class: XcmV0MultiLocation;869      readonly instance: XcmV1MultiassetAssetInstance;870    } & Struct;871    readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible';872  }873874  /** @name XcmV1MultiassetAssetInstance (102) */875  export interface XcmV1MultiassetAssetInstance extends Enum {876    readonly isUndefined: boolean;877    readonly isIndex: boolean;878    readonly asIndex: Compact<u128>;879    readonly isArray4: boolean;880    readonly asArray4: U8aFixed;881    readonly isArray8: boolean;882    readonly asArray8: U8aFixed;883    readonly isArray16: boolean;884    readonly asArray16: U8aFixed;885    readonly isArray32: boolean;886    readonly asArray32: U8aFixed;887    readonly isBlob: boolean;888    readonly asBlob: Bytes;889    readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';890  }891892  /** @name XcmV0Order (106) */893  export interface XcmV0Order extends Enum {894    readonly isNull: boolean;895    readonly isDepositAsset: boolean;896    readonly asDepositAsset: {897      readonly assets: Vec<XcmV0MultiAsset>;898      readonly dest: XcmV0MultiLocation;899    } & Struct;900    readonly isDepositReserveAsset: boolean;901    readonly asDepositReserveAsset: {902      readonly assets: Vec<XcmV0MultiAsset>;903      readonly dest: XcmV0MultiLocation;904      readonly effects: Vec<XcmV0Order>;905    } & Struct;906    readonly isExchangeAsset: boolean;907    readonly asExchangeAsset: {908      readonly give: Vec<XcmV0MultiAsset>;909      readonly receive: Vec<XcmV0MultiAsset>;910    } & Struct;911    readonly isInitiateReserveWithdraw: boolean;912    readonly asInitiateReserveWithdraw: {913      readonly assets: Vec<XcmV0MultiAsset>;914      readonly reserve: XcmV0MultiLocation;915      readonly effects: Vec<XcmV0Order>;916    } & Struct;917    readonly isInitiateTeleport: boolean;918    readonly asInitiateTeleport: {919      readonly assets: Vec<XcmV0MultiAsset>;920      readonly dest: XcmV0MultiLocation;921      readonly effects: Vec<XcmV0Order>;922    } & Struct;923    readonly isQueryHolding: boolean;924    readonly asQueryHolding: {925      readonly queryId: Compact<u64>;926      readonly dest: XcmV0MultiLocation;927      readonly assets: Vec<XcmV0MultiAsset>;928    } & Struct;929    readonly isBuyExecution: boolean;930    readonly asBuyExecution: {931      readonly fees: XcmV0MultiAsset;932      readonly weight: u64;933      readonly debt: u64;934      readonly haltOnError: bool;935      readonly xcm: Vec<XcmV0Xcm>;936    } & Struct;937    readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';938  }939940  /** @name XcmV0Response (108) */941  export interface XcmV0Response extends Enum {942    readonly isAssets: boolean;943    readonly asAssets: Vec<XcmV0MultiAsset>;944    readonly type: 'Assets';945  }946947  /** @name XcmV0OriginKind (109) */948  export interface XcmV0OriginKind extends Enum {949    readonly isNative: boolean;950    readonly isSovereignAccount: boolean;951    readonly isSuperuser: boolean;952    readonly isXcm: boolean;953    readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';954  }955956  /** @name XcmDoubleEncoded (110) */957  export interface XcmDoubleEncoded extends Struct {958    readonly encoded: Bytes;959  }960961  /** @name XcmV1Xcm (111) */962  export interface XcmV1Xcm extends Enum {963    readonly isWithdrawAsset: boolean;964    readonly asWithdrawAsset: {965      readonly assets: XcmV1MultiassetMultiAssets;966      readonly effects: Vec<XcmV1Order>;967    } & Struct;968    readonly isReserveAssetDeposited: boolean;969    readonly asReserveAssetDeposited: {970      readonly assets: XcmV1MultiassetMultiAssets;971      readonly effects: Vec<XcmV1Order>;972    } & Struct;973    readonly isReceiveTeleportedAsset: boolean;974    readonly asReceiveTeleportedAsset: {975      readonly assets: XcmV1MultiassetMultiAssets;976      readonly effects: Vec<XcmV1Order>;977    } & Struct;978    readonly isQueryResponse: boolean;979    readonly asQueryResponse: {980      readonly queryId: Compact<u64>;981      readonly response: XcmV1Response;982    } & Struct;983    readonly isTransferAsset: boolean;984    readonly asTransferAsset: {985      readonly assets: XcmV1MultiassetMultiAssets;986      readonly beneficiary: XcmV1MultiLocation;987    } & Struct;988    readonly isTransferReserveAsset: boolean;989    readonly asTransferReserveAsset: {990      readonly assets: XcmV1MultiassetMultiAssets;991      readonly dest: XcmV1MultiLocation;992      readonly effects: Vec<XcmV1Order>;993    } & Struct;994    readonly isTransact: boolean;995    readonly asTransact: {996      readonly originType: XcmV0OriginKind;997      readonly requireWeightAtMost: u64;998      readonly call: XcmDoubleEncoded;999    } & Struct;1000    readonly isHrmpNewChannelOpenRequest: boolean;1001    readonly asHrmpNewChannelOpenRequest: {1002      readonly sender: Compact<u32>;1003      readonly maxMessageSize: Compact<u32>;1004      readonly maxCapacity: Compact<u32>;1005    } & Struct;1006    readonly isHrmpChannelAccepted: boolean;1007    readonly asHrmpChannelAccepted: {1008      readonly recipient: Compact<u32>;1009    } & Struct;1010    readonly isHrmpChannelClosing: boolean;1011    readonly asHrmpChannelClosing: {1012      readonly initiator: Compact<u32>;1013      readonly sender: Compact<u32>;1014      readonly recipient: Compact<u32>;1015    } & Struct;1016    readonly isRelayedFrom: boolean;1017    readonly asRelayedFrom: {1018      readonly who: XcmV1MultilocationJunctions;1019      readonly message: XcmV1Xcm;1020    } & Struct;1021    readonly isSubscribeVersion: boolean;1022    readonly asSubscribeVersion: {1023      readonly queryId: Compact<u64>;1024      readonly maxResponseWeight: Compact<u64>;1025    } & Struct;1026    readonly isUnsubscribeVersion: boolean;1027    readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';1028  }10291030  /** @name XcmV1MultiassetMultiAssets (112) */1031  export interface XcmV1MultiassetMultiAssets extends Vec<XcmV1MultiAsset> {}10321033  /** @name XcmV1MultiAsset (114) */1034  export interface XcmV1MultiAsset extends Struct {1035    readonly id: XcmV1MultiassetAssetId;1036    readonly fun: XcmV1MultiassetFungibility;1037  }10381039  /** @name XcmV1MultiassetAssetId (115) */1040  export interface XcmV1MultiassetAssetId extends Enum {1041    readonly isConcrete: boolean;1042    readonly asConcrete: XcmV1MultiLocation;1043    readonly isAbstract: boolean;1044    readonly asAbstract: Bytes;1045    readonly type: 'Concrete' | 'Abstract';1046  }10471048  /** @name XcmV1MultiassetFungibility (116) */1049  export interface XcmV1MultiassetFungibility extends Enum {1050    readonly isFungible: boolean;1051    readonly asFungible: Compact<u128>;1052    readonly isNonFungible: boolean;1053    readonly asNonFungible: XcmV1MultiassetAssetInstance;1054    readonly type: 'Fungible' | 'NonFungible';1055  }10561057  /** @name XcmV1Order (118) */1058  export interface XcmV1Order extends Enum {1059    readonly isNoop: boolean;1060    readonly isDepositAsset: boolean;1061    readonly asDepositAsset: {1062      readonly assets: XcmV1MultiassetMultiAssetFilter;1063      readonly maxAssets: u32;1064      readonly beneficiary: XcmV1MultiLocation;1065    } & Struct;1066    readonly isDepositReserveAsset: boolean;1067    readonly asDepositReserveAsset: {1068      readonly assets: XcmV1MultiassetMultiAssetFilter;1069      readonly maxAssets: u32;1070      readonly dest: XcmV1MultiLocation;1071      readonly effects: Vec<XcmV1Order>;1072    } & Struct;1073    readonly isExchangeAsset: boolean;1074    readonly asExchangeAsset: {1075      readonly give: XcmV1MultiassetMultiAssetFilter;1076      readonly receive: XcmV1MultiassetMultiAssets;1077    } & Struct;1078    readonly isInitiateReserveWithdraw: boolean;1079    readonly asInitiateReserveWithdraw: {1080      readonly assets: XcmV1MultiassetMultiAssetFilter;1081      readonly reserve: XcmV1MultiLocation;1082      readonly effects: Vec<XcmV1Order>;1083    } & Struct;1084    readonly isInitiateTeleport: boolean;1085    readonly asInitiateTeleport: {1086      readonly assets: XcmV1MultiassetMultiAssetFilter;1087      readonly dest: XcmV1MultiLocation;1088      readonly effects: Vec<XcmV1Order>;1089    } & Struct;1090    readonly isQueryHolding: boolean;1091    readonly asQueryHolding: {1092      readonly queryId: Compact<u64>;1093      readonly dest: XcmV1MultiLocation;1094      readonly assets: XcmV1MultiassetMultiAssetFilter;1095    } & Struct;1096    readonly isBuyExecution: boolean;1097    readonly asBuyExecution: {1098      readonly fees: XcmV1MultiAsset;1099      readonly weight: u64;1100      readonly debt: u64;1101      readonly haltOnError: bool;1102      readonly instructions: Vec<XcmV1Xcm>;1103    } & Struct;1104    readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';1105  }11061107  /** @name XcmV1MultiassetMultiAssetFilter (119) */1108  export interface XcmV1MultiassetMultiAssetFilter extends Enum {1109    readonly isDefinite: boolean;1110    readonly asDefinite: XcmV1MultiassetMultiAssets;1111    readonly isWild: boolean;1112    readonly asWild: XcmV1MultiassetWildMultiAsset;1113    readonly type: 'Definite' | 'Wild';1114  }11151116  /** @name XcmV1MultiassetWildMultiAsset (120) */1117  export interface XcmV1MultiassetWildMultiAsset extends Enum {1118    readonly isAll: boolean;1119    readonly isAllOf: boolean;1120    readonly asAllOf: {1121      readonly id: XcmV1MultiassetAssetId;1122      readonly fun: XcmV1MultiassetWildFungibility;1123    } & Struct;1124    readonly type: 'All' | 'AllOf';1125  }11261127  /** @name XcmV1MultiassetWildFungibility (121) */1128  export interface XcmV1MultiassetWildFungibility extends Enum {1129    readonly isFungible: boolean;1130    readonly isNonFungible: boolean;1131    readonly type: 'Fungible' | 'NonFungible';1132  }11331134  /** @name XcmV1Response (123) */1135  export interface XcmV1Response extends Enum {1136    readonly isAssets: boolean;1137    readonly asAssets: XcmV1MultiassetMultiAssets;1138    readonly isVersion: boolean;1139    readonly asVersion: u32;1140    readonly type: 'Assets' | 'Version';1141  }11421143  /** @name XcmV2Xcm (124) */1144  export interface XcmV2Xcm extends Vec<XcmV2Instruction> {}11451146  /** @name XcmV2Instruction (126) */1147  export interface XcmV2Instruction extends Enum {1148    readonly isWithdrawAsset: boolean;1149    readonly asWithdrawAsset: XcmV1MultiassetMultiAssets;1150    readonly isReserveAssetDeposited: boolean;1151    readonly asReserveAssetDeposited: XcmV1MultiassetMultiAssets;1152    readonly isReceiveTeleportedAsset: boolean;1153    readonly asReceiveTeleportedAsset: XcmV1MultiassetMultiAssets;1154    readonly isQueryResponse: boolean;1155    readonly asQueryResponse: {1156      readonly queryId: Compact<u64>;1157      readonly response: XcmV2Response;1158      readonly maxWeight: Compact<u64>;1159    } & Struct;1160    readonly isTransferAsset: boolean;1161    readonly asTransferAsset: {1162      readonly assets: XcmV1MultiassetMultiAssets;1163      readonly beneficiary: XcmV1MultiLocation;1164    } & Struct;1165    readonly isTransferReserveAsset: boolean;1166    readonly asTransferReserveAsset: {1167      readonly assets: XcmV1MultiassetMultiAssets;1168      readonly dest: XcmV1MultiLocation;1169      readonly xcm: XcmV2Xcm;1170    } & Struct;1171    readonly isTransact: boolean;1172    readonly asTransact: {1173      readonly originType: XcmV0OriginKind;1174      readonly requireWeightAtMost: Compact<u64>;1175      readonly call: XcmDoubleEncoded;1176    } & Struct;1177    readonly isHrmpNewChannelOpenRequest: boolean;1178    readonly asHrmpNewChannelOpenRequest: {1179      readonly sender: Compact<u32>;1180      readonly maxMessageSize: Compact<u32>;1181      readonly maxCapacity: Compact<u32>;1182    } & Struct;1183    readonly isHrmpChannelAccepted: boolean;1184    readonly asHrmpChannelAccepted: {1185      readonly recipient: Compact<u32>;1186    } & Struct;1187    readonly isHrmpChannelClosing: boolean;1188    readonly asHrmpChannelClosing: {1189      readonly initiator: Compact<u32>;1190      readonly sender: Compact<u32>;1191      readonly recipient: Compact<u32>;1192    } & Struct;1193    readonly isClearOrigin: boolean;1194    readonly isDescendOrigin: boolean;1195    readonly asDescendOrigin: XcmV1MultilocationJunctions;1196    readonly isReportError: boolean;1197    readonly asReportError: {1198      readonly queryId: Compact<u64>;1199      readonly dest: XcmV1MultiLocation;1200      readonly maxResponseWeight: Compact<u64>;1201    } & Struct;1202    readonly isDepositAsset: boolean;1203    readonly asDepositAsset: {1204      readonly assets: XcmV1MultiassetMultiAssetFilter;1205      readonly maxAssets: Compact<u32>;1206      readonly beneficiary: XcmV1MultiLocation;1207    } & Struct;1208    readonly isDepositReserveAsset: boolean;1209    readonly asDepositReserveAsset: {1210      readonly assets: XcmV1MultiassetMultiAssetFilter;1211      readonly maxAssets: Compact<u32>;1212      readonly dest: XcmV1MultiLocation;1213      readonly xcm: XcmV2Xcm;1214    } & Struct;1215    readonly isExchangeAsset: boolean;1216    readonly asExchangeAsset: {1217      readonly give: XcmV1MultiassetMultiAssetFilter;1218      readonly receive: XcmV1MultiassetMultiAssets;1219    } & Struct;1220    readonly isInitiateReserveWithdraw: boolean;1221    readonly asInitiateReserveWithdraw: {1222      readonly assets: XcmV1MultiassetMultiAssetFilter;1223      readonly reserve: XcmV1MultiLocation;1224      readonly xcm: XcmV2Xcm;1225    } & Struct;1226    readonly isInitiateTeleport: boolean;1227    readonly asInitiateTeleport: {1228      readonly assets: XcmV1MultiassetMultiAssetFilter;1229      readonly dest: XcmV1MultiLocation;1230      readonly xcm: XcmV2Xcm;1231    } & Struct;1232    readonly isQueryHolding: boolean;1233    readonly asQueryHolding: {1234      readonly queryId: Compact<u64>;1235      readonly dest: XcmV1MultiLocation;1236      readonly assets: XcmV1MultiassetMultiAssetFilter;1237      readonly maxResponseWeight: Compact<u64>;1238    } & Struct;1239    readonly isBuyExecution: boolean;1240    readonly asBuyExecution: {1241      readonly fees: XcmV1MultiAsset;1242      readonly weightLimit: XcmV2WeightLimit;1243    } & Struct;1244    readonly isRefundSurplus: boolean;1245    readonly isSetErrorHandler: boolean;1246    readonly asSetErrorHandler: XcmV2Xcm;1247    readonly isSetAppendix: boolean;1248    readonly asSetAppendix: XcmV2Xcm;1249    readonly isClearError: boolean;1250    readonly isClaimAsset: boolean;1251    readonly asClaimAsset: {1252      readonly assets: XcmV1MultiassetMultiAssets;1253      readonly ticket: XcmV1MultiLocation;1254    } & Struct;1255    readonly isTrap: boolean;1256    readonly asTrap: Compact<u64>;1257    readonly isSubscribeVersion: boolean;1258    readonly asSubscribeVersion: {1259      readonly queryId: Compact<u64>;1260      readonly maxResponseWeight: Compact<u64>;1261    } & Struct;1262    readonly isUnsubscribeVersion: boolean;1263    readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion';1264  }12651266  /** @name XcmV2Response (127) */1267  export interface XcmV2Response extends Enum {1268    readonly isNull: boolean;1269    readonly isAssets: boolean;1270    readonly asAssets: XcmV1MultiassetMultiAssets;1271    readonly isExecutionResult: boolean;1272    readonly asExecutionResult: Option<ITuple<[u32, XcmV2TraitsError]>>;1273    readonly isVersion: boolean;1274    readonly asVersion: u32;1275    readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';1276  }12771278  /** @name XcmV2TraitsError (130) */1279  export interface XcmV2TraitsError extends Enum {1280    readonly isOverflow: boolean;1281    readonly isUnimplemented: boolean;1282    readonly isUntrustedReserveLocation: boolean;1283    readonly isUntrustedTeleportLocation: boolean;1284    readonly isMultiLocationFull: boolean;1285    readonly isMultiLocationNotInvertible: boolean;1286    readonly isBadOrigin: boolean;1287    readonly isInvalidLocation: boolean;1288    readonly isAssetNotFound: boolean;1289    readonly isFailedToTransactAsset: boolean;1290    readonly isNotWithdrawable: boolean;1291    readonly isLocationCannotHold: boolean;1292    readonly isExceedsMaxMessageSize: boolean;1293    readonly isDestinationUnsupported: boolean;1294    readonly isTransport: boolean;1295    readonly isUnroutable: boolean;1296    readonly isUnknownClaim: boolean;1297    readonly isFailedToDecode: boolean;1298    readonly isMaxWeightInvalid: boolean;1299    readonly isNotHoldingFees: boolean;1300    readonly isTooExpensive: boolean;1301    readonly isTrap: boolean;1302    readonly asTrap: u64;1303    readonly isUnhandledXcmVersion: boolean;1304    readonly isWeightLimitReached: boolean;1305    readonly asWeightLimitReached: u64;1306    readonly isBarrier: boolean;1307    readonly isWeightNotComputable: boolean;1308    readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'MultiLocationFull' | 'MultiLocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable';1309  }13101311  /** @name XcmV2WeightLimit (131) */1312  export interface XcmV2WeightLimit extends Enum {1313    readonly isUnlimited: boolean;1314    readonly isLimited: boolean;1315    readonly asLimited: Compact<u64>;1316    readonly type: 'Unlimited' | 'Limited';1317  }13181319  /** @name XcmVersionedMultiAssets (132) */1320  export interface XcmVersionedMultiAssets extends Enum {1321    readonly isV0: boolean;1322    readonly asV0: Vec<XcmV0MultiAsset>;1323    readonly isV1: boolean;1324    readonly asV1: XcmV1MultiassetMultiAssets;1325    readonly type: 'V0' | 'V1';1326  }13271328  /** @name CumulusPalletXcmCall (147) */1329  export type CumulusPalletXcmCall = Null;13301331  /** @name CumulusPalletDmpQueueCall (148) */1332  export interface CumulusPalletDmpQueueCall extends Enum {1333    readonly isServiceOverweight: boolean;1334    readonly asServiceOverweight: {1335      readonly index: u64;1336      readonly weightLimit: u64;1337    } & Struct;1338    readonly type: 'ServiceOverweight';1339  }13401341  /** @name PalletInflationCall (149) */1342  export interface PalletInflationCall extends Enum {1343    readonly isStartInflation: boolean;1344    readonly asStartInflation: {1345      readonly inflationStartRelayBlock: u32;1346    } & Struct;1347    readonly type: 'StartInflation';1348  }13491350  /** @name PalletUniqueCall (150) */1351  export interface PalletUniqueCall extends Enum {1352    readonly isCreateCollection: boolean;1353    readonly asCreateCollection: {1354      readonly collectionName: Vec<u16>;1355      readonly collectionDescription: Vec<u16>;1356      readonly tokenPrefix: Bytes;1357      readonly mode: UpDataStructsCollectionMode;1358    } & Struct;1359    readonly isCreateCollectionEx: boolean;1360    readonly asCreateCollectionEx: {1361      readonly data: UpDataStructsCreateCollectionData;1362    } & Struct;1363    readonly isDestroyCollection: boolean;1364    readonly asDestroyCollection: {1365      readonly collectionId: u32;1366    } & Struct;1367    readonly isAddToAllowList: boolean;1368    readonly asAddToAllowList: {1369      readonly collectionId: u32;1370      readonly address: PalletEvmAccountBasicCrossAccountIdRepr;1371    } & Struct;1372    readonly isRemoveFromAllowList: boolean;1373    readonly asRemoveFromAllowList: {1374      readonly collectionId: u32;1375      readonly address: PalletEvmAccountBasicCrossAccountIdRepr;1376    } & Struct;1377    readonly isSetPublicAccessMode: boolean;1378    readonly asSetPublicAccessMode: {1379      readonly collectionId: u32;1380      readonly mode: UpDataStructsAccessMode;1381    } & Struct;1382    readonly isSetMintPermission: boolean;1383    readonly asSetMintPermission: {1384      readonly collectionId: u32;1385      readonly mintPermission: bool;1386    } & Struct;1387    readonly isChangeCollectionOwner: boolean;1388    readonly asChangeCollectionOwner: {1389      readonly collectionId: u32;1390      readonly newOwner: AccountId32;1391    } & Struct;1392    readonly isAddCollectionAdmin: boolean;1393    readonly asAddCollectionAdmin: {1394      readonly collectionId: u32;1395      readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr;1396    } & Struct;1397    readonly isRemoveCollectionAdmin: boolean;1398    readonly asRemoveCollectionAdmin: {1399      readonly collectionId: u32;1400      readonly accountId: PalletEvmAccountBasicCrossAccountIdRepr;1401    } & Struct;1402    readonly isSetCollectionSponsor: boolean;1403    readonly asSetCollectionSponsor: {1404      readonly collectionId: u32;1405      readonly newSponsor: AccountId32;1406    } & Struct;1407    readonly isConfirmSponsorship: boolean;1408    readonly asConfirmSponsorship: {1409      readonly collectionId: u32;1410    } & Struct;1411    readonly isRemoveCollectionSponsor: boolean;1412    readonly asRemoveCollectionSponsor: {1413      readonly collectionId: u32;1414    } & Struct;1415    readonly isCreateItem: boolean;1416    readonly asCreateItem: {1417      readonly collectionId: u32;1418      readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1419      readonly data: UpDataStructsCreateItemData;1420    } & Struct;1421    readonly isCreateMultipleItems: boolean;1422    readonly asCreateMultipleItems: {1423      readonly collectionId: u32;1424      readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1425      readonly itemsData: Vec<UpDataStructsCreateItemData>;1426    } & Struct;1427    readonly isCreateMultipleItemsEx: boolean;1428    readonly asCreateMultipleItemsEx: {1429      readonly collectionId: u32;1430      readonly data: UpDataStructsCreateItemExData;1431    } & Struct;1432    readonly isSetTransfersEnabledFlag: boolean;1433    readonly asSetTransfersEnabledFlag: {1434      readonly collectionId: u32;1435      readonly value: bool;1436    } & Struct;1437    readonly isBurnItem: boolean;1438    readonly asBurnItem: {1439      readonly collectionId: u32;1440      readonly itemId: u32;1441      readonly value: u128;1442    } & Struct;1443    readonly isBurnFrom: boolean;1444    readonly asBurnFrom: {1445      readonly collectionId: u32;1446      readonly from: PalletEvmAccountBasicCrossAccountIdRepr;1447      readonly itemId: u32;1448      readonly value: u128;1449    } & Struct;1450    readonly isTransfer: boolean;1451    readonly asTransfer: {1452      readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;1453      readonly collectionId: u32;1454      readonly itemId: u32;1455      readonly value: u128;1456    } & Struct;1457    readonly isApprove: boolean;1458    readonly asApprove: {1459      readonly spender: PalletEvmAccountBasicCrossAccountIdRepr;1460      readonly collectionId: u32;1461      readonly itemId: u32;1462      readonly amount: u128;1463    } & Struct;1464    readonly isTransferFrom: boolean;1465    readonly asTransferFrom: {1466      readonly from: PalletEvmAccountBasicCrossAccountIdRepr;1467      readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;1468      readonly collectionId: u32;1469      readonly itemId: u32;1470      readonly value: u128;1471    } & Struct;1472    readonly isSetVariableMetaData: boolean;1473    readonly asSetVariableMetaData: {1474      readonly collectionId: u32;1475      readonly itemId: u32;1476      readonly data: Bytes;1477    } & Struct;1478    readonly isSetMetaUpdatePermissionFlag: boolean;1479    readonly asSetMetaUpdatePermissionFlag: {1480      readonly collectionId: u32;1481      readonly value: UpDataStructsMetaUpdatePermission;1482    } & Struct;1483    readonly isSetSchemaVersion: boolean;1484    readonly asSetSchemaVersion: {1485      readonly collectionId: u32;1486      readonly version: UpDataStructsSchemaVersion;1487    } & Struct;1488    readonly isSetOffchainSchema: boolean;1489    readonly asSetOffchainSchema: {1490      readonly collectionId: u32;1491      readonly schema: Bytes;1492    } & Struct;1493    readonly isSetConstOnChainSchema: boolean;1494    readonly asSetConstOnChainSchema: {1495      readonly collectionId: u32;1496      readonly schema: Bytes;1497    } & Struct;1498    readonly isSetVariableOnChainSchema: boolean;1499    readonly asSetVariableOnChainSchema: {1500      readonly collectionId: u32;1501      readonly schema: Bytes;1502    } & Struct;1503    readonly isSetCollectionLimits: boolean;1504    readonly asSetCollectionLimits: {1505      readonly collectionId: u32;1506      readonly newLimit: UpDataStructsCollectionLimits;1507    } & Struct;1508    readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'SetPublicAccessMode' | 'SetMintPermission' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetVariableMetaData' | 'SetMetaUpdatePermissionFlag' | 'SetSchemaVersion' | 'SetOffchainSchema' | 'SetConstOnChainSchema' | 'SetVariableOnChainSchema' | 'SetCollectionLimits';1509  }15101511  /** @name UpDataStructsCollectionMode (156) */1512  export interface UpDataStructsCollectionMode extends Enum {1513    readonly isNft: boolean;1514    readonly isFungible: boolean;1515    readonly asFungible: u8;1516    readonly isReFungible: boolean;1517    readonly type: 'Nft' | 'Fungible' | 'ReFungible';1518  }15191520  /** @name UpDataStructsCreateCollectionData (157) */1521  export interface UpDataStructsCreateCollectionData extends Struct {1522    readonly mode: UpDataStructsCollectionMode;1523    readonly access: Option<UpDataStructsAccessMode>;1524    readonly name: Vec<u16>;1525    readonly description: Vec<u16>;1526    readonly tokenPrefix: Bytes;1527    readonly offchainSchema: Bytes;1528    readonly schemaVersion: Option<UpDataStructsSchemaVersion>;1529    readonly pendingSponsor: Option<AccountId32>;1530    readonly limits: Option<UpDataStructsCollectionLimits>;1531    readonly variableOnChainSchema: Bytes;1532    readonly constOnChainSchema: Bytes;1533    readonly metaUpdatePermission: Option<UpDataStructsMetaUpdatePermission>;1534  }15351536  /** @name UpDataStructsAccessMode (159) */1537  export interface UpDataStructsAccessMode extends Enum {1538    readonly isNormal: boolean;1539    readonly isAllowList: boolean;1540    readonly type: 'Normal' | 'AllowList';1541  }15421543  /** @name UpDataStructsSchemaVersion (162) */1544  export interface UpDataStructsSchemaVersion extends Enum {1545    readonly isImageURL: boolean;1546    readonly isUnique: boolean;1547    readonly type: 'ImageURL' | 'Unique';1548  }15491550  /** @name UpDataStructsCollectionLimits (165) */1551  export interface UpDataStructsCollectionLimits extends Struct {1552    readonly accountTokenOwnershipLimit: Option<u32>;1553    readonly sponsoredDataSize: Option<u32>;1554    readonly sponsoredDataRateLimit: Option<UpDataStructsSponsoringRateLimit>;1555    readonly tokenLimit: Option<u32>;1556    readonly sponsorTransferTimeout: Option<u32>;1557    readonly sponsorApproveTimeout: Option<u32>;1558    readonly ownerCanTransfer: Option<bool>;1559    readonly ownerCanDestroy: Option<bool>;1560    readonly transfersEnabled: Option<bool>;1561  }15621563  /** @name UpDataStructsSponsoringRateLimit (167) */1564  export interface UpDataStructsSponsoringRateLimit extends Enum {1565    readonly isSponsoringDisabled: boolean;1566    readonly isBlocks: boolean;1567    readonly asBlocks: u32;1568    readonly type: 'SponsoringDisabled' | 'Blocks';1569  }15701571  /** @name UpDataStructsMetaUpdatePermission (171) */1572  export interface UpDataStructsMetaUpdatePermission extends Enum {1573    readonly isItemOwner: boolean;1574    readonly isAdmin: boolean;1575    readonly isNone: boolean;1576    readonly type: 'ItemOwner' | 'Admin' | 'None';1577  }15781579  /** @name PalletEvmAccountBasicCrossAccountIdRepr (173) */1580  export interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {1581    readonly isSubstrate: boolean;1582    readonly asSubstrate: AccountId32;1583    readonly isEthereum: boolean;1584    readonly asEthereum: H160;1585    readonly type: 'Substrate' | 'Ethereum';1586  }15871588  /** @name UpDataStructsCreateItemData (175) */1589  export interface UpDataStructsCreateItemData extends Enum {1590    readonly isNft: boolean;1591    readonly asNft: UpDataStructsCreateNftData;1592    readonly isFungible: boolean;1593    readonly asFungible: UpDataStructsCreateFungibleData;1594    readonly isReFungible: boolean;1595    readonly asReFungible: UpDataStructsCreateReFungibleData;1596    readonly type: 'Nft' | 'Fungible' | 'ReFungible';1597  }15981599  /** @name UpDataStructsCreateNftData (176) */1600  export interface UpDataStructsCreateNftData extends Struct {1601    readonly constData: Bytes;1602    readonly variableData: Bytes;1603  }16041605  /** @name UpDataStructsCreateFungibleData (178) */1606  export interface UpDataStructsCreateFungibleData extends Struct {1607    readonly value: u128;1608  }16091610  /** @name UpDataStructsCreateReFungibleData (179) */1611  export interface UpDataStructsCreateReFungibleData extends Struct {1612    readonly constData: Bytes;1613    readonly variableData: Bytes;1614    readonly pieces: u128;1615  }16161617  /** @name UpDataStructsCreateItemExData (181) */1618  export interface UpDataStructsCreateItemExData extends Enum {1619    readonly isNft: boolean;1620    readonly asNft: Vec<UpDataStructsCreateNftExData>;1621    readonly isFungible: boolean;1622    readonly asFungible: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;1623    readonly isRefungibleMultipleItems: boolean;1624    readonly asRefungibleMultipleItems: Vec<UpDataStructsCreateRefungibleExData>;1625    readonly isRefungibleMultipleOwners: boolean;1626    readonly asRefungibleMultipleOwners: UpDataStructsCreateRefungibleExData;1627    readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';1628  }16291630  /** @name UpDataStructsCreateNftExData (183) */1631  export interface UpDataStructsCreateNftExData extends Struct {1632    readonly constData: Bytes;1633    readonly variableData: Bytes;1634    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1635  }16361637  /** @name UpDataStructsCreateRefungibleExData (190) */1638  export interface UpDataStructsCreateRefungibleExData extends Struct {1639    readonly constData: Bytes;1640    readonly variableData: Bytes;1641    readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;1642  }16431644  /** @name PalletTemplateTransactionPaymentCall (193) */1645  export type PalletTemplateTransactionPaymentCall = Null;16461647  /** @name PalletEvmCall (194) */1648  export interface PalletEvmCall extends Enum {1649    readonly isWithdraw: boolean;1650    readonly asWithdraw: {1651      readonly address: H160;1652      readonly value: u128;1653    } & Struct;1654    readonly isCall: boolean;1655    readonly asCall: {1656      readonly source: H160;1657      readonly target: H160;1658      readonly input: Bytes;1659      readonly value: U256;1660      readonly gasLimit: u64;1661      readonly maxFeePerGas: U256;1662      readonly maxPriorityFeePerGas: Option<U256>;1663      readonly nonce: Option<U256>;1664      readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;1665    } & Struct;1666    readonly isCreate: boolean;1667    readonly asCreate: {1668      readonly source: H160;1669      readonly init: Bytes;1670      readonly value: U256;1671      readonly gasLimit: u64;1672      readonly maxFeePerGas: U256;1673      readonly maxPriorityFeePerGas: Option<U256>;1674      readonly nonce: Option<U256>;1675      readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;1676    } & Struct;1677    readonly isCreate2: boolean;1678    readonly asCreate2: {1679      readonly source: H160;1680      readonly init: Bytes;1681      readonly salt: H256;1682      readonly value: U256;1683      readonly gasLimit: u64;1684      readonly maxFeePerGas: U256;1685      readonly maxPriorityFeePerGas: Option<U256>;1686      readonly nonce: Option<U256>;1687      readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;1688    } & Struct;1689    readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';1690  }16911692  /** @name PalletEthereumCall (200) */1693  export interface PalletEthereumCall extends Enum {1694    readonly isTransact: boolean;1695    readonly asTransact: {1696      readonly transaction: EthereumTransactionTransactionV2;1697    } & Struct;1698    readonly type: 'Transact';1699  }17001701  /** @name EthereumTransactionTransactionV2 (201) */1702  export interface EthereumTransactionTransactionV2 extends Enum {1703    readonly isLegacy: boolean;1704    readonly asLegacy: EthereumTransactionLegacyTransaction;1705    readonly isEip2930: boolean;1706    readonly asEip2930: EthereumTransactionEip2930Transaction;1707    readonly isEip1559: boolean;1708    readonly asEip1559: EthereumTransactionEip1559Transaction;1709    readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';1710  }17111712  /** @name EthereumTransactionLegacyTransaction (202) */1713  export interface EthereumTransactionLegacyTransaction extends Struct {1714    readonly nonce: U256;1715    readonly gasPrice: U256;1716    readonly gasLimit: U256;1717    readonly action: EthereumTransactionTransactionAction;1718    readonly value: U256;1719    readonly input: Bytes;1720    readonly signature: EthereumTransactionTransactionSignature;1721  }17221723  /** @name EthereumTransactionTransactionAction (203) */1724  export interface EthereumTransactionTransactionAction extends Enum {1725    readonly isCall: boolean;1726    readonly asCall: H160;1727    readonly isCreate: boolean;1728    readonly type: 'Call' | 'Create';1729  }17301731  /** @name EthereumTransactionTransactionSignature (204) */1732  export interface EthereumTransactionTransactionSignature extends Struct {1733    readonly v: u64;1734    readonly r: H256;1735    readonly s: H256;1736  }17371738  /** @name EthereumTransactionEip2930Transaction (206) */1739  export interface EthereumTransactionEip2930Transaction extends Struct {1740    readonly chainId: u64;1741    readonly nonce: U256;1742    readonly gasPrice: U256;1743    readonly gasLimit: U256;1744    readonly action: EthereumTransactionTransactionAction;1745    readonly value: U256;1746    readonly input: Bytes;1747    readonly accessList: Vec<EthereumTransactionAccessListItem>;1748    readonly oddYParity: bool;1749    readonly r: H256;1750    readonly s: H256;1751  }17521753  /** @name EthereumTransactionAccessListItem (208) */1754  export interface EthereumTransactionAccessListItem extends Struct {1755    readonly address: H160;1756    readonly storageKeys: Vec<H256>;1757  }17581759  /** @name EthereumTransactionEip1559Transaction (209) */1760  export interface EthereumTransactionEip1559Transaction extends Struct {1761    readonly chainId: u64;1762    readonly nonce: U256;1763    readonly maxPriorityFeePerGas: U256;1764    readonly maxFeePerGas: U256;1765    readonly gasLimit: U256;1766    readonly action: EthereumTransactionTransactionAction;1767    readonly value: U256;1768    readonly input: Bytes;1769    readonly accessList: Vec<EthereumTransactionAccessListItem>;1770    readonly oddYParity: bool;1771    readonly r: H256;1772    readonly s: H256;1773  }17741775  /** @name PalletEvmMigrationCall (210) */1776  export interface PalletEvmMigrationCall extends Enum {1777    readonly isBegin: boolean;1778    readonly asBegin: {1779      readonly address: H160;1780    } & Struct;1781    readonly isSetData: boolean;1782    readonly asSetData: {1783      readonly address: H160;1784      readonly data: Vec<ITuple<[H256, H256]>>;1785    } & Struct;1786    readonly isFinish: boolean;1787    readonly asFinish: {1788      readonly address: H160;1789      readonly code: Bytes;1790    } & Struct;1791    readonly type: 'Begin' | 'SetData' | 'Finish';1792  }17931794  /** @name PalletSudoEvent (213) */1795  export interface PalletSudoEvent extends Enum {1796    readonly isSudid: boolean;1797    readonly asSudid: {1798      readonly sudoResult: Result<Null, SpRuntimeDispatchError>;1799    } & Struct;1800    readonly isKeyChanged: boolean;1801    readonly asKeyChanged: {1802      readonly oldSudoer: Option<AccountId32>;1803    } & Struct;1804    readonly isSudoAsDone: boolean;1805    readonly asSudoAsDone: {1806      readonly sudoResult: Result<Null, SpRuntimeDispatchError>;1807    } & Struct;1808    readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';1809  }18101811  /** @name SpRuntimeDispatchError (215) */1812  export interface SpRuntimeDispatchError extends Enum {1813    readonly isOther: boolean;1814    readonly isCannotLookup: boolean;1815    readonly isBadOrigin: boolean;1816    readonly isModule: boolean;1817    readonly asModule: SpRuntimeModuleError;1818    readonly isConsumerRemaining: boolean;1819    readonly isNoProviders: boolean;1820    readonly isTooManyConsumers: boolean;1821    readonly isToken: boolean;1822    readonly asToken: SpRuntimeTokenError;1823    readonly isArithmetic: boolean;1824    readonly asArithmetic: SpRuntimeArithmeticError;1825    readonly isTransactional: boolean;1826    readonly asTransactional: SpRuntimeTransactionalError;1827    readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional';1828  }18291830  /** @name SpRuntimeModuleError (216) */1831  export interface SpRuntimeModuleError extends Struct {1832    readonly index: u8;1833    readonly error: U8aFixed;1834  }18351836  /** @name SpRuntimeTokenError (217) */1837  export interface SpRuntimeTokenError extends Enum {1838    readonly isNoFunds: boolean;1839    readonly isWouldDie: boolean;1840    readonly isBelowMinimum: boolean;1841    readonly isCannotCreate: boolean;1842    readonly isUnknownAsset: boolean;1843    readonly isFrozen: boolean;1844    readonly isUnsupported: boolean;1845    readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported';1846  }18471848  /** @name SpRuntimeArithmeticError (218) */1849  export interface SpRuntimeArithmeticError extends Enum {1850    readonly isUnderflow: boolean;1851    readonly isOverflow: boolean;1852    readonly isDivisionByZero: boolean;1853    readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';1854  }18551856  /** @name SpRuntimeTransactionalError (219) */1857  export interface SpRuntimeTransactionalError extends Enum {1858    readonly isLimitReached: boolean;1859    readonly isNoLayer: boolean;1860    readonly type: 'LimitReached' | 'NoLayer';1861  }18621863  /** @name PalletSudoError (220) */1864  export interface PalletSudoError extends Enum {1865    readonly isRequireSudo: boolean;1866    readonly type: 'RequireSudo';1867  }18681869  /** @name FrameSystemAccountInfo (221) */1870  export interface FrameSystemAccountInfo extends Struct {1871    readonly nonce: u32;1872    readonly consumers: u32;1873    readonly providers: u32;1874    readonly sufficients: u32;1875    readonly data: PalletBalancesAccountData;1876  }18771878  /** @name FrameSupportWeightsPerDispatchClassU64 (222) */1879  export interface FrameSupportWeightsPerDispatchClassU64 extends Struct {1880    readonly normal: u64;1881    readonly operational: u64;1882    readonly mandatory: u64;1883  }18841885  /** @name SpRuntimeDigest (223) */1886  export interface SpRuntimeDigest extends Struct {1887    readonly logs: Vec<SpRuntimeDigestDigestItem>;1888  }18891890  /** @name SpRuntimeDigestDigestItem (225) */1891  export interface SpRuntimeDigestDigestItem extends Enum {1892    readonly isOther: boolean;1893    readonly asOther: Bytes;1894    readonly isConsensus: boolean;1895    readonly asConsensus: ITuple<[U8aFixed, Bytes]>;1896    readonly isSeal: boolean;1897    readonly asSeal: ITuple<[U8aFixed, Bytes]>;1898    readonly isPreRuntime: boolean;1899    readonly asPreRuntime: ITuple<[U8aFixed, Bytes]>;1900    readonly isRuntimeEnvironmentUpdated: boolean;1901    readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated';1902  }19031904  /** @name FrameSystemEventRecord (227) */1905  export interface FrameSystemEventRecord extends Struct {1906    readonly phase: FrameSystemPhase;1907    readonly event: Event;1908    readonly topics: Vec<H256>;1909  }19101911  /** @name FrameSystemEvent (229) */1912  export interface FrameSystemEvent extends Enum {1913    readonly isExtrinsicSuccess: boolean;1914    readonly asExtrinsicSuccess: {1915      readonly dispatchInfo: FrameSupportWeightsDispatchInfo;1916    } & Struct;1917    readonly isExtrinsicFailed: boolean;1918    readonly asExtrinsicFailed: {1919      readonly dispatchError: SpRuntimeDispatchError;1920      readonly dispatchInfo: FrameSupportWeightsDispatchInfo;1921    } & Struct;1922    readonly isCodeUpdated: boolean;1923    readonly isNewAccount: boolean;1924    readonly asNewAccount: {1925      readonly account: AccountId32;1926    } & Struct;1927    readonly isKilledAccount: boolean;1928    readonly asKilledAccount: {1929      readonly account: AccountId32;1930    } & Struct;1931    readonly isRemarked: boolean;1932    readonly asRemarked: {1933      readonly sender: AccountId32;1934      readonly hash_: H256;1935    } & Struct;1936    readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked';1937  }19381939  /** @name FrameSupportWeightsDispatchInfo (230) */1940  export interface FrameSupportWeightsDispatchInfo extends Struct {1941    readonly weight: u64;1942    readonly class: FrameSupportWeightsDispatchClass;1943    readonly paysFee: FrameSupportWeightsPays;1944  }19451946  /** @name FrameSupportWeightsDispatchClass (231) */1947  export interface FrameSupportWeightsDispatchClass extends Enum {1948    readonly isNormal: boolean;1949    readonly isOperational: boolean;1950    readonly isMandatory: boolean;1951    readonly type: 'Normal' | 'Operational' | 'Mandatory';1952  }19531954  /** @name FrameSupportWeightsPays (232) */1955  export interface FrameSupportWeightsPays extends Enum {1956    readonly isYes: boolean;1957    readonly isNo: boolean;1958    readonly type: 'Yes' | 'No';1959  }19601961  /** @name OrmlVestingModuleEvent (233) */1962  export interface OrmlVestingModuleEvent extends Enum {1963    readonly isVestingScheduleAdded: boolean;1964    readonly asVestingScheduleAdded: {1965      readonly from: AccountId32;1966      readonly to: AccountId32;1967      readonly vestingSchedule: OrmlVestingVestingSchedule;1968    } & Struct;1969    readonly isClaimed: boolean;1970    readonly asClaimed: {1971      readonly who: AccountId32;1972      readonly amount: u128;1973    } & Struct;1974    readonly isVestingSchedulesUpdated: boolean;1975    readonly asVestingSchedulesUpdated: {1976      readonly who: AccountId32;1977    } & Struct;1978    readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';1979  }19801981  /** @name CumulusPalletXcmpQueueEvent (234) */1982  export interface CumulusPalletXcmpQueueEvent extends Enum {1983    readonly isSuccess: boolean;1984    readonly asSuccess: Option<H256>;1985    readonly isFail: boolean;1986    readonly asFail: ITuple<[Option<H256>, XcmV2TraitsError]>;1987    readonly isBadVersion: boolean;1988    readonly asBadVersion: Option<H256>;1989    readonly isBadFormat: boolean;1990    readonly asBadFormat: Option<H256>;1991    readonly isUpwardMessageSent: boolean;1992    readonly asUpwardMessageSent: Option<H256>;1993    readonly isXcmpMessageSent: boolean;1994    readonly asXcmpMessageSent: Option<H256>;1995    readonly isOverweightEnqueued: boolean;1996    readonly asOverweightEnqueued: ITuple<[u32, u32, u64, u64]>;1997    readonly isOverweightServiced: boolean;1998    readonly asOverweightServiced: ITuple<[u64, u64]>;1999    readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';2000  }20012002  /** @name PalletXcmEvent (235) */2003  export interface PalletXcmEvent extends Enum {2004    readonly isAttempted: boolean;2005    readonly asAttempted: XcmV2TraitsOutcome;2006    readonly isSent: boolean;2007    readonly asSent: ITuple<[XcmV1MultiLocation, XcmV1MultiLocation, XcmV2Xcm]>;2008    readonly isUnexpectedResponse: boolean;2009    readonly asUnexpectedResponse: ITuple<[XcmV1MultiLocation, u64]>;2010    readonly isResponseReady: boolean;2011    readonly asResponseReady: ITuple<[u64, XcmV2Response]>;2012    readonly isNotified: boolean;2013    readonly asNotified: ITuple<[u64, u8, u8]>;2014    readonly isNotifyOverweight: boolean;2015    readonly asNotifyOverweight: ITuple<[u64, u8, u8, u64, u64]>;2016    readonly isNotifyDispatchError: boolean;2017    readonly asNotifyDispatchError: ITuple<[u64, u8, u8]>;2018    readonly isNotifyDecodeFailed: boolean;2019    readonly asNotifyDecodeFailed: ITuple<[u64, u8, u8]>;2020    readonly isInvalidResponder: boolean;2021    readonly asInvalidResponder: ITuple<[XcmV1MultiLocation, u64, Option<XcmV1MultiLocation>]>;2022    readonly isInvalidResponderVersion: boolean;2023    readonly asInvalidResponderVersion: ITuple<[XcmV1MultiLocation, u64]>;2024    readonly isResponseTaken: boolean;2025    readonly asResponseTaken: u64;2026    readonly isAssetsTrapped: boolean;2027    readonly asAssetsTrapped: ITuple<[H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;2028    readonly isVersionChangeNotified: boolean;2029    readonly asVersionChangeNotified: ITuple<[XcmV1MultiLocation, u32]>;2030    readonly isSupportedVersionChanged: boolean;2031    readonly asSupportedVersionChanged: ITuple<[XcmV1MultiLocation, u32]>;2032    readonly isNotifyTargetSendFail: boolean;2033    readonly asNotifyTargetSendFail: ITuple<[XcmV1MultiLocation, u64, XcmV2TraitsError]>;2034    readonly isNotifyTargetMigrationFail: boolean;2035    readonly asNotifyTargetMigrationFail: ITuple<[XcmVersionedMultiLocation, u64]>;2036    readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail';2037  }20382039  /** @name XcmV2TraitsOutcome (236) */2040  export interface XcmV2TraitsOutcome extends Enum {2041    readonly isComplete: boolean;2042    readonly asComplete: u64;2043    readonly isIncomplete: boolean;2044    readonly asIncomplete: ITuple<[u64, XcmV2TraitsError]>;2045    readonly isError: boolean;2046    readonly asError: XcmV2TraitsError;2047    readonly type: 'Complete' | 'Incomplete' | 'Error';2048  }20492050  /** @name CumulusPalletXcmEvent (238) */2051  export interface CumulusPalletXcmEvent extends Enum {2052    readonly isInvalidFormat: boolean;2053    readonly asInvalidFormat: U8aFixed;2054    readonly isUnsupportedVersion: boolean;2055    readonly asUnsupportedVersion: U8aFixed;2056    readonly isExecutedDownward: boolean;2057    readonly asExecutedDownward: ITuple<[U8aFixed, XcmV2TraitsOutcome]>;2058    readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';2059  }20602061  /** @name CumulusPalletDmpQueueEvent (239) */2062  export interface CumulusPalletDmpQueueEvent extends Enum {2063    readonly isInvalidFormat: boolean;2064    readonly asInvalidFormat: U8aFixed;2065    readonly isUnsupportedVersion: boolean;2066    readonly asUnsupportedVersion: U8aFixed;2067    readonly isExecutedDownward: boolean;2068    readonly asExecutedDownward: ITuple<[U8aFixed, XcmV2TraitsOutcome]>;2069    readonly isWeightExhausted: boolean;2070    readonly asWeightExhausted: ITuple<[U8aFixed, u64, u64]>;2071    readonly isOverweightEnqueued: boolean;2072    readonly asOverweightEnqueued: ITuple<[U8aFixed, u64, u64]>;2073    readonly isOverweightServiced: boolean;2074    readonly asOverweightServiced: ITuple<[u64, u64]>;2075    readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';2076  }20772078  /** @name PalletUniqueRawEvent (240) */2079  export interface PalletUniqueRawEvent extends Enum {2080    readonly isCollectionSponsorRemoved: boolean;2081    readonly asCollectionSponsorRemoved: u32;2082    readonly isCollectionAdminAdded: boolean;2083    readonly asCollectionAdminAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;2084    readonly isCollectionOwnedChanged: boolean;2085    readonly asCollectionOwnedChanged: ITuple<[u32, AccountId32]>;2086    readonly isCollectionSponsorSet: boolean;2087    readonly asCollectionSponsorSet: ITuple<[u32, AccountId32]>;2088    readonly isConstOnChainSchemaSet: boolean;2089    readonly asConstOnChainSchemaSet: u32;2090    readonly isSponsorshipConfirmed: boolean;2091    readonly asSponsorshipConfirmed: ITuple<[u32, AccountId32]>;2092    readonly isCollectionAdminRemoved: boolean;2093    readonly asCollectionAdminRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;2094    readonly isAllowListAddressRemoved: boolean;2095    readonly asAllowListAddressRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;2096    readonly isAllowListAddressAdded: boolean;2097    readonly asAllowListAddressAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;2098    readonly isCollectionLimitSet: boolean;2099    readonly asCollectionLimitSet: u32;2100    readonly isMintPermissionSet: boolean;2101    readonly asMintPermissionSet: u32;2102    readonly isOffchainSchemaSet: boolean;2103    readonly asOffchainSchemaSet: u32;2104    readonly isPublicAccessModeSet: boolean;2105    readonly asPublicAccessModeSet: ITuple<[u32, UpDataStructsAccessMode]>;2106    readonly isSchemaVersionSet: boolean;2107    readonly asSchemaVersionSet: u32;2108    readonly isVariableOnChainSchemaSet: boolean;2109    readonly asVariableOnChainSchemaSet: u32;2110    readonly type: 'CollectionSponsorRemoved' | 'CollectionAdminAdded' | 'CollectionOwnedChanged' | 'CollectionSponsorSet' | 'ConstOnChainSchemaSet' | 'SponsorshipConfirmed' | 'CollectionAdminRemoved' | 'AllowListAddressRemoved' | 'AllowListAddressAdded' | 'CollectionLimitSet' | 'MintPermissionSet' | 'OffchainSchemaSet' | 'PublicAccessModeSet' | 'SchemaVersionSet' | 'VariableOnChainSchemaSet';2111  }21122113  /** @name PalletCommonEvent (241) */2114  export interface PalletCommonEvent extends Enum {2115    readonly isCollectionCreated: boolean;2116    readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;2117    readonly isCollectionDestroyed: boolean;2118    readonly asCollectionDestroyed: u32;2119    readonly isItemCreated: boolean;2120    readonly asItemCreated: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;2121    readonly isItemDestroyed: boolean;2122    readonly asItemDestroyed: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;2123    readonly isTransfer: boolean;2124    readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;2125    readonly isApproved: boolean;2126    readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;2127    readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved';2128  }21292130  /** @name PalletEvmEvent (242) */2131  export interface PalletEvmEvent extends Enum {2132    readonly isLog: boolean;2133    readonly asLog: EthereumLog;2134    readonly isCreated: boolean;2135    readonly asCreated: H160;2136    readonly isCreatedFailed: boolean;2137    readonly asCreatedFailed: H160;2138    readonly isExecuted: boolean;2139    readonly asExecuted: H160;2140    readonly isExecutedFailed: boolean;2141    readonly asExecutedFailed: H160;2142    readonly isBalanceDeposit: boolean;2143    readonly asBalanceDeposit: ITuple<[AccountId32, H160, U256]>;2144    readonly isBalanceWithdraw: boolean;2145    readonly asBalanceWithdraw: ITuple<[AccountId32, H160, U256]>;2146    readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed' | 'BalanceDeposit' | 'BalanceWithdraw';2147  }21482149  /** @name EthereumLog (243) */2150  export interface EthereumLog extends Struct {2151    readonly address: H160;2152    readonly topics: Vec<H256>;2153    readonly data: Bytes;2154  }21552156  /** @name PalletEthereumEvent (244) */2157  export interface PalletEthereumEvent extends Enum {2158    readonly isExecuted: boolean;2159    readonly asExecuted: ITuple<[H160, H160, H256, EvmCoreErrorExitReason]>;2160    readonly type: 'Executed';2161  }21622163  /** @name EvmCoreErrorExitReason (245) */2164  export interface EvmCoreErrorExitReason extends Enum {2165    readonly isSucceed: boolean;2166    readonly asSucceed: EvmCoreErrorExitSucceed;2167    readonly isError: boolean;2168    readonly asError: EvmCoreErrorExitError;2169    readonly isRevert: boolean;2170    readonly asRevert: EvmCoreErrorExitRevert;2171    readonly isFatal: boolean;2172    readonly asFatal: EvmCoreErrorExitFatal;2173    readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';2174  }21752176  /** @name EvmCoreErrorExitSucceed (246) */2177  export interface EvmCoreErrorExitSucceed extends Enum {2178    readonly isStopped: boolean;2179    readonly isReturned: boolean;2180    readonly isSuicided: boolean;2181    readonly type: 'Stopped' | 'Returned' | 'Suicided';2182  }21832184  /** @name EvmCoreErrorExitError (247) */2185  export interface EvmCoreErrorExitError extends Enum {2186    readonly isStackUnderflow: boolean;2187    readonly isStackOverflow: boolean;2188    readonly isInvalidJump: boolean;2189    readonly isInvalidRange: boolean;2190    readonly isDesignatedInvalid: boolean;2191    readonly isCallTooDeep: boolean;2192    readonly isCreateCollision: boolean;2193    readonly isCreateContractLimit: boolean;2194    readonly isOutOfOffset: boolean;2195    readonly isOutOfGas: boolean;2196    readonly isOutOfFund: boolean;2197    readonly isPcUnderflow: boolean;2198    readonly isCreateEmpty: boolean;2199    readonly isOther: boolean;2200    readonly asOther: Text;2201    readonly isInvalidCode: boolean;2202    readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';2203  }22042205  /** @name EvmCoreErrorExitRevert (250) */2206  export interface EvmCoreErrorExitRevert extends Enum {2207    readonly isReverted: boolean;2208    readonly type: 'Reverted';2209  }22102211  /** @name EvmCoreErrorExitFatal (251) */2212  export interface EvmCoreErrorExitFatal extends Enum {2213    readonly isNotSupported: boolean;2214    readonly isUnhandledInterrupt: boolean;2215    readonly isCallErrorAsFatal: boolean;2216    readonly asCallErrorAsFatal: EvmCoreErrorExitError;2217    readonly isOther: boolean;2218    readonly asOther: Text;2219    readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';2220  }22212222  /** @name FrameSystemPhase (252) */2223  export interface FrameSystemPhase extends Enum {2224    readonly isApplyExtrinsic: boolean;2225    readonly asApplyExtrinsic: u32;2226    readonly isFinalization: boolean;2227    readonly isInitialization: boolean;2228    readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';2229  }22302231  /** @name FrameSystemLastRuntimeUpgradeInfo (254) */2232  export interface FrameSystemLastRuntimeUpgradeInfo extends Struct {2233    readonly specVersion: Compact<u32>;2234    readonly specName: Text;2235  }22362237  /** @name FrameSystemLimitsBlockWeights (255) */2238  export interface FrameSystemLimitsBlockWeights extends Struct {2239    readonly baseBlock: u64;2240    readonly maxBlock: u64;2241    readonly perClass: FrameSupportWeightsPerDispatchClassWeightsPerClass;2242  }22432244  /** @name FrameSupportWeightsPerDispatchClassWeightsPerClass (256) */2245  export interface FrameSupportWeightsPerDispatchClassWeightsPerClass extends Struct {2246    readonly normal: FrameSystemLimitsWeightsPerClass;2247    readonly operational: FrameSystemLimitsWeightsPerClass;2248    readonly mandatory: FrameSystemLimitsWeightsPerClass;2249  }22502251  /** @name FrameSystemLimitsWeightsPerClass (257) */2252  export interface FrameSystemLimitsWeightsPerClass extends Struct {2253    readonly baseExtrinsic: u64;2254    readonly maxExtrinsic: Option<u64>;2255    readonly maxTotal: Option<u64>;2256    readonly reserved: Option<u64>;2257  }22582259  /** @name FrameSystemLimitsBlockLength (259) */2260  export interface FrameSystemLimitsBlockLength extends Struct {2261    readonly max: FrameSupportWeightsPerDispatchClassU32;2262  }22632264  /** @name FrameSupportWeightsPerDispatchClassU32 (260) */2265  export interface FrameSupportWeightsPerDispatchClassU32 extends Struct {2266    readonly normal: u32;2267    readonly operational: u32;2268    readonly mandatory: u32;2269  }22702271  /** @name FrameSupportWeightsRuntimeDbWeight (261) */2272  export interface FrameSupportWeightsRuntimeDbWeight extends Struct {2273    readonly read: u64;2274    readonly write: u64;2275  }22762277  /** @name SpVersionRuntimeVersion (262) */2278  export interface SpVersionRuntimeVersion extends Struct {2279    readonly specName: Text;2280    readonly implName: Text;2281    readonly authoringVersion: u32;2282    readonly specVersion: u32;2283    readonly implVersion: u32;2284    readonly apis: Vec<ITuple<[U8aFixed, u32]>>;2285    readonly transactionVersion: u32;2286    readonly stateVersion: u8;2287  }22882289  /** @name FrameSystemError (266) */2290  export interface FrameSystemError extends Enum {2291    readonly isInvalidSpecName: boolean;2292    readonly isSpecVersionNeedsToIncrease: boolean;2293    readonly isFailedToExtractRuntimeVersion: boolean;2294    readonly isNonDefaultComposite: boolean;2295    readonly isNonZeroRefCount: boolean;2296    readonly isCallFiltered: boolean;2297    readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';2298  }22992300  /** @name OrmlVestingModuleError (268) */2301  export interface OrmlVestingModuleError extends Enum {2302    readonly isZeroVestingPeriod: boolean;2303    readonly isZeroVestingPeriodCount: boolean;2304    readonly isInsufficientBalanceToLock: boolean;2305    readonly isTooManyVestingSchedules: boolean;2306    readonly isAmountLow: boolean;2307    readonly isMaxVestingSchedulesExceeded: boolean;2308    readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';2309  }23102311  /** @name CumulusPalletXcmpQueueInboundChannelDetails (270) */2312  export interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {2313    readonly sender: u32;2314    readonly state: CumulusPalletXcmpQueueInboundState;2315    readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;2316  }23172318  /** @name CumulusPalletXcmpQueueInboundState (271) */2319  export interface CumulusPalletXcmpQueueInboundState extends Enum {2320    readonly isOk: boolean;2321    readonly isSuspended: boolean;2322    readonly type: 'Ok' | 'Suspended';2323  }23242325  /** @name PolkadotParachainPrimitivesXcmpMessageFormat (274) */2326  export interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {2327    readonly isConcatenatedVersionedXcm: boolean;2328    readonly isConcatenatedEncodedBlob: boolean;2329    readonly isSignals: boolean;2330    readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';2331  }23322333  /** @name CumulusPalletXcmpQueueOutboundChannelDetails (277) */2334  export interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {2335    readonly recipient: u32;2336    readonly state: CumulusPalletXcmpQueueOutboundState;2337    readonly signalsExist: bool;2338    readonly firstIndex: u16;2339    readonly lastIndex: u16;2340  }23412342  /** @name CumulusPalletXcmpQueueOutboundState (278) */2343  export interface CumulusPalletXcmpQueueOutboundState extends Enum {2344    readonly isOk: boolean;2345    readonly isSuspended: boolean;2346    readonly type: 'Ok' | 'Suspended';2347  }23482349  /** @name CumulusPalletXcmpQueueQueueConfigData (280) */2350  export interface CumulusPalletXcmpQueueQueueConfigData extends Struct {2351    readonly suspendThreshold: u32;2352    readonly dropThreshold: u32;2353    readonly resumeThreshold: u32;2354    readonly thresholdWeight: u64;2355    readonly weightRestrictDecay: u64;2356    readonly xcmpMaxIndividualWeight: u64;2357  }23582359  /** @name CumulusPalletXcmpQueueError (282) */2360  export interface CumulusPalletXcmpQueueError extends Enum {2361    readonly isFailedToSend: boolean;2362    readonly isBadXcmOrigin: boolean;2363    readonly isBadXcm: boolean;2364    readonly isBadOverweightIndex: boolean;2365    readonly isWeightOverLimit: boolean;2366    readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';2367  }23682369  /** @name PalletXcmError (283) */2370  export interface PalletXcmError extends Enum {2371    readonly isUnreachable: boolean;2372    readonly isSendFailure: boolean;2373    readonly isFiltered: boolean;2374    readonly isUnweighableMessage: boolean;2375    readonly isDestinationNotInvertible: boolean;2376    readonly isEmpty: boolean;2377    readonly isCannotReanchor: boolean;2378    readonly isTooManyAssets: boolean;2379    readonly isInvalidOrigin: boolean;2380    readonly isBadVersion: boolean;2381    readonly isBadLocation: boolean;2382    readonly isNoSubscription: boolean;2383    readonly isAlreadySubscribed: boolean;2384    readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';2385  }23862387  /** @name CumulusPalletXcmError (284) */2388  export type CumulusPalletXcmError = Null;23892390  /** @name CumulusPalletDmpQueueConfigData (285) */2391  export interface CumulusPalletDmpQueueConfigData extends Struct {2392    readonly maxIndividual: u64;2393  }23942395  /** @name CumulusPalletDmpQueuePageIndexData (286) */2396  export interface CumulusPalletDmpQueuePageIndexData extends Struct {2397    readonly beginUsed: u32;2398    readonly endUsed: u32;2399    readonly overweightCount: u64;2400  }24012402  /** @name CumulusPalletDmpQueueError (289) */2403  export interface CumulusPalletDmpQueueError extends Enum {2404    readonly isUnknown: boolean;2405    readonly isOverLimit: boolean;2406    readonly type: 'Unknown' | 'OverLimit';2407  }24082409  /** @name PalletUniqueError (293) */2410  export interface PalletUniqueError extends Enum {2411    readonly isCollectionDecimalPointLimitExceeded: boolean;2412    readonly isConfirmUnsetSponsorFail: boolean;2413    readonly isEmptyArgument: boolean;2414    readonly type: 'CollectionDecimalPointLimitExceeded' | 'ConfirmUnsetSponsorFail' | 'EmptyArgument';2415  }24162417  /** @name UpDataStructsCollection (294) */2418  export interface UpDataStructsCollection extends Struct {2419    readonly owner: AccountId32;2420    readonly mode: UpDataStructsCollectionMode;2421    readonly access: UpDataStructsAccessMode;2422    readonly name: Vec<u16>;2423    readonly description: Vec<u16>;2424    readonly tokenPrefix: Bytes;2425    readonly mintMode: bool;2426    readonly offchainSchema: Bytes;2427    readonly schemaVersion: UpDataStructsSchemaVersion;2428    readonly sponsorship: UpDataStructsSponsorshipState;2429    readonly limits: UpDataStructsCollectionLimits;2430    readonly variableOnChainSchema: Bytes;2431    readonly constOnChainSchema: Bytes;2432    readonly metaUpdatePermission: UpDataStructsMetaUpdatePermission;2433  }24342435  /** @name UpDataStructsSponsorshipState (295) */2436  export interface UpDataStructsSponsorshipState extends Enum {2437    readonly isDisabled: boolean;2438    readonly isUnconfirmed: boolean;2439    readonly asUnconfirmed: AccountId32;2440    readonly isConfirmed: boolean;2441    readonly asConfirmed: AccountId32;2442    readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';2443  }24442445  /** @name UpDataStructsCollectionStats (298) */2446  export interface UpDataStructsCollectionStats extends Struct {2447    readonly created: u32;2448    readonly destroyed: u32;2449    readonly alive: u32;2450  }24512452  /** @name PalletCommonError (299) */2453  export interface PalletCommonError extends Enum {2454    readonly isCollectionNotFound: boolean;2455    readonly isMustBeTokenOwner: boolean;2456    readonly isNoPermission: boolean;2457    readonly isPublicMintingNotAllowed: boolean;2458    readonly isAddressNotInAllowlist: boolean;2459    readonly isCollectionNameLimitExceeded: boolean;2460    readonly isCollectionDescriptionLimitExceeded: boolean;2461    readonly isCollectionTokenPrefixLimitExceeded: boolean;2462    readonly isTotalCollectionsLimitExceeded: boolean;2463    readonly isTokenVariableDataLimitExceeded: boolean;2464    readonly isCollectionAdminCountExceeded: boolean;2465    readonly isCollectionLimitBoundsExceeded: boolean;2466    readonly isOwnerPermissionsCantBeReverted: boolean;2467    readonly isTransferNotAllowed: boolean;2468    readonly isAccountTokenLimitExceeded: boolean;2469    readonly isCollectionTokenLimitExceeded: boolean;2470    readonly isMetadataFlagFrozen: boolean;2471    readonly isTokenNotFound: boolean;2472    readonly isTokenValueTooLow: boolean;2473    readonly isApprovedValueTooLow: boolean;2474    readonly isCantApproveMoreThanOwned: boolean;2475    readonly isAddressIsZero: boolean;2476    readonly isUnsupportedOperation: boolean;2477    readonly isNotSufficientFounds: boolean;2478    readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'TokenVariableDataLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds';2479  }24802481  /** @name PalletFungibleError (301) */2482  export interface PalletFungibleError extends Enum {2483    readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;2484    readonly isFungibleItemsHaveNoId: boolean;2485    readonly isFungibleItemsDontHaveData: boolean;2486    readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData';2487  }24882489  /** @name PalletRefungibleItemData (302) */2490  export interface PalletRefungibleItemData extends Struct {2491    readonly constData: Bytes;2492    readonly variableData: Bytes;2493  }24942495  /** @name PalletRefungibleError (306) */2496  export interface PalletRefungibleError extends Enum {2497    readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;2498    readonly isWrongRefungiblePieces: boolean;2499    readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces';2500  }25012502  /** @name PalletNonfungibleItemData (307) */2503  export interface PalletNonfungibleItemData extends Struct {2504    readonly constData: Bytes;2505    readonly variableData: Bytes;2506    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2507  }25082509  /** @name PalletNonfungibleError (308) */2510  export interface PalletNonfungibleError extends Enum {2511    readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;2512    readonly isNonfungibleItemsHaveNoAmount: boolean;2513    readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount';2514  }25152516  /** @name PalletEvmError (310) */2517  export interface PalletEvmError extends Enum {2518    readonly isBalanceLow: boolean;2519    readonly isFeeOverflow: boolean;2520    readonly isPaymentOverflow: boolean;2521    readonly isWithdrawFailed: boolean;2522    readonly isGasPriceTooLow: boolean;2523    readonly isInvalidNonce: boolean;2524    readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce';2525  }25262527  /** @name FpRpcTransactionStatus (313) */2528  export interface FpRpcTransactionStatus extends Struct {2529    readonly transactionHash: H256;2530    readonly transactionIndex: u32;2531    readonly from: H160;2532    readonly to: Option<H160>;2533    readonly contractAddress: Option<H160>;2534    readonly logs: Vec<EthereumLog>;2535    readonly logsBloom: EthbloomBloom;2536  }25372538  /** @name EthbloomBloom (316) */2539  export interface EthbloomBloom extends U8aFixed {}25402541  /** @name EthereumReceiptReceiptV3 (318) */2542  export interface EthereumReceiptReceiptV3 extends Enum {2543    readonly isLegacy: boolean;2544    readonly asLegacy: EthereumReceiptEip658ReceiptData;2545    readonly isEip2930: boolean;2546    readonly asEip2930: EthereumReceiptEip658ReceiptData;2547    readonly isEip1559: boolean;2548    readonly asEip1559: EthereumReceiptEip658ReceiptData;2549    readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';2550  }25512552  /** @name EthereumReceiptEip658ReceiptData (319) */2553  export interface EthereumReceiptEip658ReceiptData extends Struct {2554    readonly statusCode: u8;2555    readonly usedGas: U256;2556    readonly logsBloom: EthbloomBloom;2557    readonly logs: Vec<EthereumLog>;2558  }25592560  /** @name EthereumBlock (320) */2561  export interface EthereumBlock extends Struct {2562    readonly header: EthereumHeader;2563    readonly transactions: Vec<EthereumTransactionTransactionV2>;2564    readonly ommers: Vec<EthereumHeader>;2565  }25662567  /** @name EthereumHeader (321) */2568  export interface EthereumHeader extends Struct {2569    readonly parentHash: H256;2570    readonly ommersHash: H256;2571    readonly beneficiary: H160;2572    readonly stateRoot: H256;2573    readonly transactionsRoot: H256;2574    readonly receiptsRoot: H256;2575    readonly logsBloom: EthbloomBloom;2576    readonly difficulty: U256;2577    readonly number: U256;2578    readonly gasLimit: U256;2579    readonly gasUsed: U256;2580    readonly timestamp: u64;2581    readonly extraData: Bytes;2582    readonly mixHash: H256;2583    readonly nonce: EthereumTypesHashH64;2584  }25852586  /** @name EthereumTypesHashH64 (322) */2587  export interface EthereumTypesHashH64 extends U8aFixed {}25882589  /** @name PalletEthereumError (327) */2590  export interface PalletEthereumError extends Enum {2591    readonly isInvalidSignature: boolean;2592    readonly isPreLogExists: boolean;2593    readonly type: 'InvalidSignature' | 'PreLogExists';2594  }25952596  /** @name PalletEvmCoderSubstrateError (328) */2597  export interface PalletEvmCoderSubstrateError extends Enum {2598    readonly isOutOfGas: boolean;2599    readonly isOutOfFund: boolean;2600    readonly type: 'OutOfGas' | 'OutOfFund';2601  }26022603  /** @name PalletEvmContractHelpersSponsoringModeT (329) */2604  export interface PalletEvmContractHelpersSponsoringModeT extends Enum {2605    readonly isDisabled: boolean;2606    readonly isAllowlisted: boolean;2607    readonly isGenerous: boolean;2608    readonly type: 'Disabled' | 'Allowlisted' | 'Generous';2609  }26102611  /** @name PalletEvmContractHelpersError (331) */2612  export interface PalletEvmContractHelpersError extends Enum {2613    readonly isNoPermission: boolean;2614    readonly type: 'NoPermission';2615  }26162617  /** @name PalletEvmMigrationError (332) */2618  export interface PalletEvmMigrationError extends Enum {2619    readonly isAccountNotEmpty: boolean;2620    readonly isAccountIsNotMigrating: boolean;2621    readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating';2622  }26232624  /** @name SpRuntimeMultiSignature (334) */2625  export interface SpRuntimeMultiSignature extends Enum {2626    readonly isEd25519: boolean;2627    readonly asEd25519: SpCoreEd25519Signature;2628    readonly isSr25519: boolean;2629    readonly asSr25519: SpCoreSr25519Signature;2630    readonly isEcdsa: boolean;2631    readonly asEcdsa: SpCoreEcdsaSignature;2632    readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';2633  }26342635  /** @name SpCoreEd25519Signature (335) */2636  export interface SpCoreEd25519Signature extends U8aFixed {}26372638  /** @name SpCoreSr25519Signature (337) */2639  export interface SpCoreSr25519Signature extends U8aFixed {}26402641  /** @name SpCoreEcdsaSignature (338) */2642  export interface SpCoreEcdsaSignature extends U8aFixed {}26432644  /** @name FrameSystemExtensionsCheckSpecVersion (341) */2645  export type FrameSystemExtensionsCheckSpecVersion = Null;26462647  /** @name FrameSystemExtensionsCheckGenesis (342) */2648  export type FrameSystemExtensionsCheckGenesis = Null;26492650  /** @name FrameSystemExtensionsCheckNonce (345) */2651  export interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}26522653  /** @name FrameSystemExtensionsCheckWeight (346) */2654  export type FrameSystemExtensionsCheckWeight = Null;26552656  /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (347) */2657  export interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}26582659  /** @name OpalRuntimeRuntime (348) */2660  export type OpalRuntimeRuntime = Null;26612662} // declare module
modifiedtests/src/interfaces/unique/definitions.tsdiffbeforeafterboth
--- a/tests/src/interfaces/unique/definitions.ts
+++ b/tests/src/interfaces/unique/definitions.ts
@@ -49,6 +49,7 @@
     balance: fun('Get amount of specific account token', [collectionParam, crossAccountParam(), tokenParam], 'u128'),
     allowance: fun('Get allowed amount', [collectionParam, crossAccountParam('sender'), crossAccountParam('spender'), tokenParam], 'u128'),
     tokenOwner: fun('Get token owner', [collectionParam, tokenParam], CROSS_ACCOUNT_ID_TYPE),
+    topmostTokenOwner: fun('Get token owner, in case of nested token - find parent recursive', [collectionParam, tokenParam], CROSS_ACCOUNT_ID_TYPE),
     constMetadata: fun('Get token constant metadata', [collectionParam, tokenParam], 'Vec<u8>'),
     variableMetadata: fun('Get token variable metadata', [collectionParam, tokenParam], 'Vec<u8>'),
     tokenExists: fun('Check if token exists', [collectionParam, tokenParam], 'bool'),
modifiedtests/src/interfaces/unique/types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/unique/types.ts
+++ b/tests/src/interfaces/unique/types.ts
@@ -449,6 +449,9 @@
 /** @name FrameSupportPalletId */
 export interface FrameSupportPalletId extends U8aFixed {}
 
+/** @name FrameSupportStorageBoundedBTreeSet */
+export interface FrameSupportStorageBoundedBTreeSet extends Vec<u32> {}
+
 /** @name FrameSupportTokensMiscBalanceStatus */
 export interface FrameSupportTokensMiscBalanceStatus extends Enum {
   readonly isFree: boolean;
@@ -890,7 +893,11 @@
   readonly isAddressIsZero: boolean;
   readonly isUnsupportedOperation: boolean;
   readonly isNotSufficientFounds: boolean;
-  readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'TokenVariableDataLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds';
+  readonly isNestingIsDisabled: boolean;
+  readonly isOnlyOwnerAllowedToNest: boolean;
+  readonly isSourceCollectionIsNotAllowedToNest: boolean;
+  readonly isCollectionFieldSizeExceeded: boolean;
+  readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'TokenVariableDataLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds' | 'NestingIsDisabled' | 'OnlyOwnerAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded';
 }
 
 /** @name PalletCommonEvent */
@@ -1069,7 +1076,8 @@
   readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;
   readonly isFungibleItemsHaveNoId: boolean;
   readonly isFungibleItemsDontHaveData: boolean;
-  readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData';
+  readonly isFungibleDisallowsNesting: boolean;
+  readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting';
 }
 
 /** @name PalletInflationCall */
@@ -1099,7 +1107,8 @@
 export interface PalletRefungibleError extends Enum {
   readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;
   readonly isWrongRefungiblePieces: boolean;
-  readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces';
+  readonly isRefungibleDisallowsNesting: boolean;
+  readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RefungibleDisallowsNesting';
 }
 
 /** @name PalletRefungibleItemData */
@@ -1108,6 +1117,24 @@
   readonly variableData: Bytes;
 }
 
+/** @name PalletStructureCall */
+export interface PalletStructureCall extends Null {}
+
+/** @name PalletStructureError */
+export interface PalletStructureError extends Enum {
+  readonly isOuroborosDetected: boolean;
+  readonly isDepthLimit: boolean;
+  readonly isTokenNotFound: boolean;
+  readonly type: 'OuroborosDetected' | 'DepthLimit' | 'TokenNotFound';
+}
+
+/** @name PalletStructureEvent */
+export interface PalletStructureEvent extends Enum {
+  readonly isExecuted: boolean;
+  readonly asExecuted: Result<Null, SpRuntimeDispatchError>;
+  readonly type: 'Executed';
+}
+
 /** @name PalletSudoCall */
 export interface PalletSudoCall extends Enum {
   readonly isSudo: boolean;
@@ -1402,7 +1429,7 @@
   readonly isSetCollectionLimits: boolean;
   readonly asSetCollectionLimits: {
     readonly collectionId: u32;
-    readonly newLimit: UpDataStructsCollectionLimits;
+    readonly newLimit: UpDataStructsCollectionLimitsVersion2;
   } & Struct;
   readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'SetPublicAccessMode' | 'SetMintPermission' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetVariableMetaData' | 'SetMetaUpdatePermissionFlag' | 'SetSchemaVersion' | 'SetOffchainSchema' | 'SetConstOnChainSchema' | 'SetVariableOnChainSchema' | 'SetCollectionLimits';
 }
@@ -1567,6 +1594,9 @@
   readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail';
 }
 
+/** @name PhantomTypeUpDataStructs */
+export interface PhantomTypeUpDataStructs extends Vec<Lookup309> {}
+
 /** @name PolkadotCorePrimitivesInboundDownwardMessage */
 export interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {
   readonly sentAt: u32;
@@ -1745,26 +1775,16 @@
   readonly type: 'Normal' | 'AllowList';
 }
 
-/** @name UpDataStructsCollection */
-export interface UpDataStructsCollection extends Struct {
-  readonly owner: AccountId32;
-  readonly mode: UpDataStructsCollectionMode;
-  readonly access: UpDataStructsAccessMode;
-  readonly name: Vec<u16>;
-  readonly description: Vec<u16>;
-  readonly tokenPrefix: Bytes;
-  readonly mintMode: bool;
-  readonly offchainSchema: Bytes;
-  readonly schemaVersion: UpDataStructsSchemaVersion;
-  readonly sponsorship: UpDataStructsSponsorshipState;
-  readonly limits: UpDataStructsCollectionLimits;
-  readonly variableOnChainSchema: Bytes;
-  readonly constOnChainSchema: Bytes;
-  readonly metaUpdatePermission: UpDataStructsMetaUpdatePermission;
+/** @name UpDataStructsCollectionField */
+export interface UpDataStructsCollectionField extends Enum {
+  readonly isVariableOnChainSchema: boolean;
+  readonly isConstOnChainSchema: boolean;
+  readonly isOffchainSchema: boolean;
+  readonly type: 'VariableOnChainSchema' | 'ConstOnChainSchema' | 'OffchainSchema';
 }
 
-/** @name UpDataStructsCollectionLimits */
-export interface UpDataStructsCollectionLimits extends Struct {
+/** @name UpDataStructsCollectionLimitsVersion2 */
+export interface UpDataStructsCollectionLimitsVersion2 extends Struct {
   readonly accountTokenOwnershipLimit: Option<u32>;
   readonly sponsoredDataSize: Option<u32>;
   readonly sponsoredDataRateLimit: Option<UpDataStructsSponsoringRateLimit>;
@@ -1774,6 +1794,7 @@
   readonly ownerCanTransfer: Option<bool>;
   readonly ownerCanDestroy: Option<bool>;
   readonly transfersEnabled: Option<bool>;
+  readonly nestingRule: Option<UpDataStructsNestingRule>;
 }
 
 /** @name UpDataStructsCollectionMode */
@@ -1792,6 +1813,21 @@
   readonly alive: u32;
 }
 
+/** @name UpDataStructsCollectionVersion2 */
+export interface UpDataStructsCollectionVersion2 extends Struct {
+  readonly owner: AccountId32;
+  readonly mode: UpDataStructsCollectionMode;
+  readonly access: UpDataStructsAccessMode;
+  readonly name: Vec<u16>;
+  readonly description: Vec<u16>;
+  readonly tokenPrefix: Bytes;
+  readonly mintMode: bool;
+  readonly schemaVersion: UpDataStructsSchemaVersion;
+  readonly sponsorship: UpDataStructsSponsorshipState;
+  readonly limits: UpDataStructsCollectionLimitsVersion2;
+  readonly metaUpdatePermission: UpDataStructsMetaUpdatePermission;
+}
+
 /** @name UpDataStructsCreateCollectionData */
 export interface UpDataStructsCreateCollectionData extends Struct {
   readonly mode: UpDataStructsCollectionMode;
@@ -1802,7 +1838,7 @@
   readonly offchainSchema: Bytes;
   readonly schemaVersion: Option<UpDataStructsSchemaVersion>;
   readonly pendingSponsor: Option<AccountId32>;
-  readonly limits: Option<UpDataStructsCollectionLimits>;
+  readonly limits: Option<UpDataStructsCollectionLimitsVersion2>;
   readonly variableOnChainSchema: Bytes;
   readonly constOnChainSchema: Bytes;
   readonly metaUpdatePermission: Option<UpDataStructsMetaUpdatePermission>;
@@ -1872,6 +1908,33 @@
   readonly type: 'ItemOwner' | 'Admin' | 'None';
 }
 
+/** @name UpDataStructsNestingRule */
+export interface UpDataStructsNestingRule extends Enum {
+  readonly isDisabled: boolean;
+  readonly isOwner: boolean;
+  readonly isOwnerRestricted: boolean;
+  readonly asOwnerRestricted: FrameSupportStorageBoundedBTreeSet;
+  readonly type: 'Disabled' | 'Owner' | 'OwnerRestricted';
+}
+
+/** @name UpDataStructsRpcCollection */
+export interface UpDataStructsRpcCollection extends Struct {
+  readonly owner: AccountId32;
+  readonly mode: UpDataStructsCollectionMode;
+  readonly access: UpDataStructsAccessMode;
+  readonly name: Vec<u16>;
+  readonly description: Vec<u16>;
+  readonly tokenPrefix: Bytes;
+  readonly mintMode: bool;
+  readonly offchainSchema: Bytes;
+  readonly schemaVersion: UpDataStructsSchemaVersion;
+  readonly sponsorship: UpDataStructsSponsorshipState;
+  readonly limits: UpDataStructsCollectionLimitsVersion2;
+  readonly variableOnChainSchema: Bytes;
+  readonly constOnChainSchema: Bytes;
+  readonly metaUpdatePermission: UpDataStructsMetaUpdatePermission;
+}
+
 /** @name UpDataStructsSchemaVersion */
 export interface UpDataStructsSchemaVersion extends Enum {
   readonly isImageURL: boolean;
modifiedtests/src/nesting/nest.test.tsdiffbeforeafterboth
--- a/tests/src/nesting/nest.test.ts
+++ b/tests/src/nesting/nest.test.ts
@@ -2,9 +2,9 @@
 import {tokenIdToAddress} from '../eth/util/helpers';
 import privateKey from '../substrate/privateKey';
 import usingApi from '../substrate/substrate-api';
-import {createCollectionExpectSuccess, createItemExpectSuccess, getTokenOwner, setCollectionLimitsExpectSuccess, transferExpectSuccess, transferFromExpectSuccess} from '../util/helpers';
+import {createCollectionExpectSuccess, createItemExpectSuccess, getTokenOwner, getTopmostTokenOwner, setCollectionLimitsExpectSuccess, transferExpectSuccess, transferFromExpectSuccess} from '../util/helpers';
 
-describe('nesting', () => {
+describe.only('nesting', () => {
   it('allows to nest/unnest token', async () => {
     await usingApi(async api => {
       const alice = privateKey('//Alice');
@@ -18,9 +18,15 @@
 
       // Nest
       await transferExpectSuccess(collection, nestedToken, alice, {Ethereum: tokenIdToAddress(collection, targetToken)});
+  
+      expect(await getTopmostTokenOwner(api, collection, nestedToken)).to.be.deep.equal({Substrate: alice.address});
+      expect(await getTokenOwner(api, collection, nestedToken)).to.be.deep.equal({Ethereum: tokenIdToAddress(collection, targetToken).toLowerCase()});
 
       // Move bundle to different user
       await transferExpectSuccess(collection, targetToken, alice, {Substrate: bob.address});
+  
+      expect(await getTopmostTokenOwner(api, collection, nestedToken)).to.be.deep.equal({Substrate: bob.address});
+      expect(await getTokenOwner(api, collection, nestedToken)).to.be.deep.equal({Ethereum: tokenIdToAddress(collection, targetToken).toLowerCase()});
 
       // Unnest
       await transferFromExpectSuccess(collection, nestedToken, bob, {Ethereum: tokenIdToAddress(collection, targetToken)}, {Substrate: bob.address});
modifiedtests/src/util/helpers.tsdiffbeforeafterboth
--- a/tests/src/util/helpers.ts
+++ b/tests/src/util/helpers.ts
@@ -27,7 +27,7 @@
 import privateKey from '../substrate/privateKey';
 import {default as usingApi, submitTransactionAsync, submitTransactionExpectFailAsync} from '../substrate/substrate-api';
 import {hexToStr, strToUTF16, utf16ToStr} from './util';
-import {UpDataStructsCollection} from '@polkadot/types/lookup';
+import {UpDataStructsRpcCollection} from '@polkadot/types/lookup';
 
 chai.use(chaiAsPromised);
 const expect = chai.expect;
@@ -987,6 +987,13 @@
 ): Promise<CrossAccountId> {
   return normalizeAccountId((await api.rpc.unique.tokenOwner(collectionId, token)).toJSON() as any);
 }
+export async function getTopmostTokenOwner(
+  api: ApiPromise,
+  collectionId: number,
+  token: number,
+): Promise<CrossAccountId> {
+  return normalizeAccountId((await api.rpc.unique.topmostTokenOwner(collectionId, token)).toJSON() as any);
+}
 export async function isTokenExists(
   api: ApiPromise,
   collectionId: number,
@@ -1256,7 +1263,7 @@
 }
 
 export const getDetailedCollectionInfo = async (api: ApiPromise, collectionId: number)
-  : Promise<UpDataStructsCollection | null> => {
+  : Promise<UpDataStructsRpcCollection | null> => {
   return (await api.rpc.unique.collectionById(collectionId)).unwrapOr(null);
 };
 
@@ -1265,7 +1272,7 @@
   return (await api.rpc.unique.collectionStats()).created.toNumber();
 };
 
-export async function queryCollectionExpectSuccess(api: ApiPromise, collectionId: number): Promise<UpDataStructsCollection> {
+export async function queryCollectionExpectSuccess(api: ApiPromise, collectionId: number): Promise<UpDataStructsRpcCollection> {
   return (await api.rpc.unique.collectionById(collectionId)).unwrap();
 }