git.delta.rocks / unique-network / refs/commits / 755170ea07c5

difftreelog

update unique-types-js

Igor Kozyrev2021-11-24parent: #14a916c.patch.diff
in: master

24 files changed

modifiedtests/README.mddiffbeforeafterboth
--- a/tests/README.md
+++ b/tests/README.md
@@ -5,7 +5,7 @@
 1. Checkout polkadot in sibling folder with this project
 ```bash
 git clone https://github.com/paritytech/polkadot.git && cd polkadot
-git checkout release-v0.9.9
+git checkout release-v0.9.12
 ```
 
 2. Build with nightly-2021-06-28
modifiedtests/src/check-event/burnItemEvent.test.tsdiffbeforeafterboth
--- a/tests/src/check-event/burnItemEvent.test.ts
+++ b/tests/src/check-event/burnItemEvent.test.ts
@@ -10,7 +10,7 @@
 import chaiAsPromised from 'chai-as-promised';
 import privateKey from '../substrate/privateKey';
 import usingApi, {submitTransactionAsync} from '../substrate/substrate-api';
-import {createCollectionExpectSuccess, createItemExpectSuccess, nftEventMessage} from '../util/helpers';
+import {createCollectionExpectSuccess, createItemExpectSuccess, uniqueEventMessage} from '../util/helpers';
 
 chai.use(chaiAsPromised);
 const expect = chai.expect;
@@ -31,7 +31,7 @@
       const itemID = await createItemExpectSuccess(alice, collectionID, 'NFT');
       const burnItem = api.tx.unique.burnItem(collectionID, itemID, 1);
       const events = await submitTransactionAsync(alice, burnItem);
-      const msg = JSON.stringify(nftEventMessage(events));
+      const msg = JSON.stringify(uniqueEventMessage(events));
       expect(msg).to.be.contain(checkSection);
       expect(msg).to.be.contain(checkTreasury);
       expect(msg).to.be.contain(checkSystem);
modifiedtests/src/check-event/createCollectionEvent.test.tsdiffbeforeafterboth
--- a/tests/src/check-event/createCollectionEvent.test.ts
+++ b/tests/src/check-event/createCollectionEvent.test.ts
@@ -10,7 +10,7 @@
 import chaiAsPromised from 'chai-as-promised';
 import privateKey from '../substrate/privateKey';
 import usingApi, {submitTransactionAsync} from '../substrate/substrate-api';
-import {nftEventMessage} from '../util/helpers';
+import {uniqueEventMessage} from '../util/helpers';
 
 chai.use(chaiAsPromised);
 const expect = chai.expect;
@@ -29,7 +29,7 @@
     await usingApi(async (api: ApiPromise) => {
       const tx = api.tx.unique.createCollection([0x31], [0x32], '0x33', 'NFT');
       const events = await submitTransactionAsync(alice, tx);
-      const msg = JSON.stringify(nftEventMessage(events));
+      const msg = JSON.stringify(uniqueEventMessage(events));
       expect(msg).to.be.contain(checkSection);
       expect(msg).to.be.contain(checkTreasury);
       expect(msg).to.be.contain(checkSystem);
modifiedtests/src/check-event/createItemEvent.test.tsdiffbeforeafterboth
--- a/tests/src/check-event/createItemEvent.test.ts
+++ b/tests/src/check-event/createItemEvent.test.ts
@@ -10,7 +10,7 @@
 import chaiAsPromised from 'chai-as-promised';
 import privateKey from '../substrate/privateKey';
 import usingApi, {submitTransactionAsync} from '../substrate/substrate-api';
-import {createCollectionExpectSuccess, nftEventMessage, normalizeAccountId} from '../util/helpers';
+import {createCollectionExpectSuccess, uniqueEventMessage, normalizeAccountId} from '../util/helpers';
 
 chai.use(chaiAsPromised);
 const expect = chai.expect;
@@ -30,7 +30,7 @@
       const collectionID = await createCollectionExpectSuccess();
       const createItem = api.tx.unique.createItem(collectionID, normalizeAccountId(alice.address), 'NFT');
       const events = await submitTransactionAsync(alice, createItem);
-      const msg = JSON.stringify(nftEventMessage(events));
+      const msg = JSON.stringify(uniqueEventMessage(events));
       expect(msg).to.be.contain(checkSection);
       expect(msg).to.be.contain(checkTreasury);
       expect(msg).to.be.contain(checkSystem);
modifiedtests/src/check-event/createMultipleItemsEvent.test.tsdiffbeforeafterboth
--- a/tests/src/check-event/createMultipleItemsEvent.test.ts
+++ b/tests/src/check-event/createMultipleItemsEvent.test.ts
@@ -10,7 +10,7 @@
 import chaiAsPromised from 'chai-as-promised';
 import privateKey from '../substrate/privateKey';
 import usingApi, {submitTransactionAsync} from '../substrate/substrate-api';
-import {createCollectionExpectSuccess, nftEventMessage, normalizeAccountId} from '../util/helpers';
+import {createCollectionExpectSuccess, uniqueEventMessage, normalizeAccountId} from '../util/helpers';
 
 chai.use(chaiAsPromised);
 const expect = chai.expect;
@@ -31,7 +31,7 @@
       const args = [{NFT: ['0x31', '0x31']}, {NFT: ['0x32', '0x32']}, {NFT: ['0x33', '0x33']}];
       const createMultipleItems = api.tx.unique.createMultipleItems(collectionID, normalizeAccountId(alice.address), args);
       const events = await submitTransactionAsync(alice, createMultipleItems);
-      const msg = JSON.stringify(nftEventMessage(events));
+      const msg = JSON.stringify(uniqueEventMessage(events));
       expect(msg).to.be.contain(checkSection);
       expect(msg).to.be.contain(checkTreasury);
       expect(msg).to.be.contain(checkSystem);
modifiedtests/src/check-event/destroyCollectionEvent.test.tsdiffbeforeafterboth
--- a/tests/src/check-event/destroyCollectionEvent.test.ts
+++ b/tests/src/check-event/destroyCollectionEvent.test.ts
@@ -10,7 +10,7 @@
 import chaiAsPromised from 'chai-as-promised';
 import privateKey from '../substrate/privateKey';
 import usingApi, {submitTransactionAsync} from '../substrate/substrate-api';
-import {createCollectionExpectSuccess, nftEventMessage} from '../util/helpers';
+import {createCollectionExpectSuccess, uniqueEventMessage} from '../util/helpers';
 
 chai.use(chaiAsPromised);
 const expect = chai.expect;
@@ -29,7 +29,7 @@
       const collectionID = await createCollectionExpectSuccess();
       const destroyCollection = api.tx.unique.destroyCollection(collectionID);
       const events = await submitTransactionAsync(alice, destroyCollection);
-      const msg = JSON.stringify(nftEventMessage(events));
+      const msg = JSON.stringify(uniqueEventMessage(events));
       expect(msg).to.be.contain(checkTreasury);
       expect(msg).to.be.contain(checkSystem);
     });
modifiedtests/src/check-event/transferEvent.test.tsdiffbeforeafterboth
--- a/tests/src/check-event/transferEvent.test.ts
+++ b/tests/src/check-event/transferEvent.test.ts
@@ -10,7 +10,7 @@
 import chaiAsPromised from 'chai-as-promised';
 import privateKey from '../substrate/privateKey';
 import usingApi, {submitTransactionAsync} from '../substrate/substrate-api';
-import {createCollectionExpectSuccess, createItemExpectSuccess, nftEventMessage, normalizeAccountId} from '../util/helpers';
+import {createCollectionExpectSuccess, createItemExpectSuccess, uniqueEventMessage, normalizeAccountId} from '../util/helpers';
 
 chai.use(chaiAsPromised);
 const expect = chai.expect;
@@ -33,7 +33,7 @@
       const itemID = await createItemExpectSuccess(alice, collectionID, 'NFT');
       const transfer = api.tx.unique.transfer(normalizeAccountId(bob.address), collectionID, itemID, 1);
       const events = await submitTransactionAsync(alice, transfer);
-      const msg = JSON.stringify(nftEventMessage(events));
+      const msg = JSON.stringify(uniqueEventMessage(events));
       expect(msg).to.be.contain(checkSection);
       expect(msg).to.be.contain(checkTreasury);
       expect(msg).to.be.contain(checkSystem);
modifiedtests/src/check-event/transferFromEvent.test.tsdiffbeforeafterboth
--- a/tests/src/check-event/transferFromEvent.test.ts
+++ b/tests/src/check-event/transferFromEvent.test.ts
@@ -10,7 +10,7 @@
 import chaiAsPromised from 'chai-as-promised';
 import privateKey from '../substrate/privateKey';
 import usingApi, {submitTransactionAsync} from '../substrate/substrate-api';
-import {createCollectionExpectSuccess, createItemExpectSuccess, nftEventMessage, normalizeAccountId} from '../util/helpers';
+import {createCollectionExpectSuccess, createItemExpectSuccess, uniqueEventMessage, normalizeAccountId} from '../util/helpers';
 
 chai.use(chaiAsPromised);
 const expect = chai.expect;
@@ -33,7 +33,7 @@
       const itemID = await createItemExpectSuccess(alice, collectionID, 'NFT');
       const transferFrom = api.tx.unique.transferFrom(normalizeAccountId(alice.address), normalizeAccountId(bob.address), collectionID, itemID, 1);
       const events = await submitTransactionAsync(alice, transferFrom);
-      const msg = JSON.stringify(nftEventMessage(events));
+      const msg = JSON.stringify(uniqueEventMessage(events));
       expect(msg).to.be.contain(checkSection);
       expect(msg).to.be.contain(checkTreasury);
       expect(msg).to.be.contain(checkSystem);
modifiedtests/src/interfaces/augment-api-consts.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-consts.ts
+++ b/tests/src/interfaces/augment-api-consts.ts
@@ -159,7 +159,6 @@
       [key: string]: Codec;
     };
     vesting: {
-      maxVestingSchedules: u32 & AugmentedConst<ApiType>;
       /**
        * The minimum amount transferred to call `vested_transfer`.
        **/
modifiedtests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-errors.ts
+++ b/tests/src/interfaces/augment-api-errors.ts
@@ -241,32 +241,6 @@
        **/
       [key: string]: AugmentedError<ApiType>;
     };
-    nft: {
-      /**
-       * Decimal_points parameter must be lower than MAX_DECIMAL_POINTS constant, currently it is 30.
-       **/
-      CollectionDecimalPointLimitExceeded: AugmentedError<ApiType>;
-      /**
-       * Collection limit bounds per collection exceeded
-       **/
-      CollectionLimitBoundsExceeded: AugmentedError<ApiType>;
-      /**
-       * This address is not set as sponsor, use setCollectionSponsor first.
-       **/
-      ConfirmUnsetSponsorFail: AugmentedError<ApiType>;
-      /**
-       * Length of items properties must be greater than 0.
-       **/
-      EmptyArgument: AugmentedError<ApiType>;
-      /**
-       * Tried to enable permissions which are only permitted to be disabled
-       **/
-      OwnerPermissionsCantBeReverted: AugmentedError<ApiType>;
-      /**
-       * Generic error
-       **/
-      [key: string]: AugmentedError<ApiType>;
-    };
     nonfungible: {
       /**
        * Used amount > 1 with NFT
@@ -390,28 +364,6 @@
        * Maximum refungibility exceeded
        **/
       WrongRefungiblePieces: AugmentedError<ApiType>;
-      /**
-       * Generic error
-       **/
-      [key: string]: AugmentedError<ApiType>;
-    };
-    scheduler: {
-      /**
-       * Failed to schedule a call
-       **/
-      FailedToSchedule: AugmentedError<ApiType>;
-      /**
-       * Cannot find the scheduled call.
-       **/
-      NotFound: AugmentedError<ApiType>;
-      /**
-       * Reschedule failed because it does not change scheduled time.
-       **/
-      RescheduleNoChange: AugmentedError<ApiType>;
-      /**
-       * Given target block number is in the past.
-       **/
-      TargetBlockNumberInPast: AugmentedError<ApiType>;
       /**
        * Generic error
        **/
@@ -475,28 +427,57 @@
        **/
       [key: string]: AugmentedError<ApiType>;
     };
+    unique: {
+      /**
+       * Decimal_points parameter must be lower than MAX_DECIMAL_POINTS constant, currently it is 30.
+       **/
+      CollectionDecimalPointLimitExceeded: AugmentedError<ApiType>;
+      /**
+       * Collection limit bounds per collection exceeded
+       **/
+      CollectionLimitBoundsExceeded: AugmentedError<ApiType>;
+      /**
+       * This address is not set as sponsor, use setCollectionSponsor first.
+       **/
+      ConfirmUnsetSponsorFail: AugmentedError<ApiType>;
+      /**
+       * Length of items properties must be greater than 0.
+       **/
+      EmptyArgument: AugmentedError<ApiType>;
+      /**
+       * Tried to enable permissions which are only permitted to be disabled
+       **/
+      OwnerPermissionsCantBeReverted: AugmentedError<ApiType>;
+      /**
+       * Generic error
+       **/
+      [key: string]: AugmentedError<ApiType>;
+    };
     vesting: {
       /**
-       * Amount being transferred is too low to create a vesting schedule.
+       * The vested transfer amount is too low
        **/
       AmountLow: AugmentedError<ApiType>;
       /**
-       * The account already has `MaxVestingSchedules` count of schedules and thus
-       * cannot add another one. Consider merging existing schedules in order to add another.
+       * Insufficient amount of balance to lock
+       **/
+      InsufficientBalanceToLock: AugmentedError<ApiType>;
+      /**
+       * Failed because the maximum vesting schedules was exceeded
        **/
-      AtMaxVestingSchedules: AugmentedError<ApiType>;
+      MaxVestingSchedulesExceeded: AugmentedError<ApiType>;
       /**
-       * Failed to create a new schedule because some parameter was invalid.
+       * This account have too many vesting schedules
        **/
-      InvalidScheduleParams: AugmentedError<ApiType>;
+      TooManyVestingSchedules: AugmentedError<ApiType>;
       /**
-       * The account given is not vesting.
+       * Vesting period is zero
        **/
-      NotVesting: AugmentedError<ApiType>;
+      ZeroVestingPeriod: AugmentedError<ApiType>;
       /**
-       * An index was out of bounds of the vesting schedules.
+       * Number of vests is zero
        **/
-      ScheduleIndexOutOfBounds: AugmentedError<ApiType>;
+      ZeroVestingPeriodCount: AugmentedError<ApiType>;
       /**
        * Generic error
        **/
modifiedtests/src/interfaces/augment-api-events.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-events.ts
+++ b/tests/src/interfaces/augment-api-events.ts
@@ -2,12 +2,11 @@
 /* eslint-disable */
 
 import type { EthereumLog, EvmCoreErrorExitReason } from './ethereum';
-import type { PalletCommonAccountBasicCrossAccountIdRepr } from './nft';
+import type { PalletCommonAccountBasicCrossAccountIdRepr } from './unique';
 import type { ApiTypes } from '@polkadot/api/types';
-import type { Bytes, Null, Option, Result, U256, U8aFixed, u128, u32, u64, u8 } from '@polkadot/types';
+import type { Null, Option, Result, U256, U8aFixed, u128, u32, u64, u8 } from '@polkadot/types';
 import type { AccountId32, H160, H256 } from '@polkadot/types/interfaces/runtime';
 import type { FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchInfo, SpRuntimeDispatchError, XcmV1MultiLocation, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup';
-import type { ITuple } from '@polkadot/types/types';
 
 declare module '@polkadot/api/types/events' {
   export interface AugmentedEvents<ApiType> {
@@ -389,24 +388,6 @@
        **/
       [key: string]: AugmentedEvent<ApiType>;
     };
-    scheduler: {
-      /**
-       * Canceled some task. \[when, index\]
-       **/
-      Canceled: AugmentedEvent<ApiType, [u32, u32]>;
-      /**
-       * Dispatched some task. \[task, id, result\]
-       **/
-      Dispatched: AugmentedEvent<ApiType, [ITuple<[u32, u32]>, Option<Bytes>, Result<Null, SpRuntimeDispatchError>]>;
-      /**
-       * Scheduled some task. \[when, index\]
-       **/
-      Scheduled: AugmentedEvent<ApiType, [u32, u32]>;
-      /**
-       * Generic event
-       **/
-      [key: string]: AugmentedEvent<ApiType>;
-    };
     sudo: {
       /**
        * The \[sudoer\] just switched identity; the old key is supplied.
@@ -492,15 +473,17 @@
     };
     vesting: {
       /**
-       * An \[account\] has become fully vested.
+       * Claimed vesting. \[who, locked_amount\]
+       **/
+      Claimed: AugmentedEvent<ApiType, [AccountId32, u128]>;
+      /**
+       * Added new vesting schedule. \[from, to, vesting_schedule\]
        **/
-      VestingCompleted: AugmentedEvent<ApiType, [AccountId32]>;
+      VestingScheduleAdded: AugmentedEvent<ApiType, [AccountId32, AccountId32, OrmlVestingVestingSchedule]>;
       /**
-       * The amount vested has been updated. This could indicate a change in funds available.
-       * The balance given is the amount which is left unvested (and thus locked).
-       * \[account, unvested\]
+       * Updated vesting schedules. \[who\]
        **/
-      VestingUpdated: AugmentedEvent<ApiType, [AccountId32, u128]>;
+      VestingSchedulesUpdated: AugmentedEvent<ApiType, [AccountId32]>;
       /**
        * Generic event
        **/
modifiedtests/src/interfaces/augment-api-query.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-query.ts
+++ b/tests/src/interfaces/augment-api-query.ts
@@ -2,12 +2,12 @@
 /* eslint-disable */
 
 import type { EthereumBlock, EthereumReceipt, EthereumTransactionLegacyTransaction, FpRpcTransactionStatus } from './ethereum';
-import type { NftDataStructsCollection, PalletCommonAccountBasicCrossAccountIdRepr, PalletNonfungibleItemData, PalletRefungibleItemData, PalletUnqSchedulerCallSpec, PalletUnqSchedulerReleases, PalletUnqSchedulerScheduledV2 } from './nft';
 import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundStatus, CumulusPalletXcmpQueueOutboundStatus, CumulusPalletXcmpQueueQueueConfigData, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV1AbridgedHostConfiguration, PolkadotPrimitivesV1PersistedValidationData } from './polkadot';
+import type { PalletCommonAccountBasicCrossAccountIdRepr, PalletNonfungibleItemData, PalletRefungibleItemData, UpDataStructsCollection, UpDataStructsCollectionStats } from './unique';
 import type { ApiTypes } from '@polkadot/api/types';
 import type { BTreeMap, Bytes, Option, U256, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types';
 import type { AccountId32, H160, H256 } from '@polkadot/types/interfaces/runtime';
-import type { FrameSupportWeightsPerDispatchClassU64, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletVestingReleases, PalletVestingVestingInfo, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV1UpgradeRestriction, SpRuntimeGenericDigest } from '@polkadot/types/lookup';
+import type { FrameSupportWeightsPerDispatchClassU64, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV1UpgradeRestriction, SpRuntimeGenericDigest } from '@polkadot/types/lookup';
 import type { AnyNumber, ITuple, Observable } from '@polkadot/types/types';
 
 declare module '@polkadot/api/types/storage' {
@@ -58,10 +58,14 @@
       /**
        * Collection info
        **/
-      collectionById: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<NftDataStructsCollection>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
+      collectionById: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<UpDataStructsCollection>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
       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, []>;
+      /**
        * List of collection admins
        **/
       isAdmin: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<bool>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
@@ -171,44 +175,6 @@
        **/
       [key: string]: QueryableStorageEntry<ApiType>;
     };
-    nft: {
-      /**
-       * Used for migrations
-       **/
-      chainVersion: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>;
-      /**
-       * (Collection id (controlled?2), who created (real))
-       * TODO: Off chain worker should remove from this map when collection gets removed
-       **/
-      createItemBasket: AugmentedQuery<ApiType, (arg: ITuple<[u32, AccountId32]> | [u32 | AnyNumber | Uint8Array, AccountId32 | string | Uint8Array]) => Observable<u32>, [ITuple<[u32, AccountId32]>]> & QueryableStorageEntry<ApiType, [ITuple<[u32, AccountId32]>]>;
-      /**
-       * Collection id (controlled?2), owning user (real)
-       **/
-      fungibleTransferBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: AccountId32 | string | Uint8Array) => Observable<u32>, [u32, AccountId32]> & QueryableStorageEntry<ApiType, [u32, AccountId32]>;
-      /**
-       * Collection id (controlled?2), token id (controlled?2)
-       **/
-      nftTransferBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
-      /**
-       * Collection id (controlled?2), token id (controlled?2)
-       **/
-      reFungibleTransferBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
-      /**
-       * Variable metadata sponsoring
-       * Collection id (controlled?2), token id (controlled?2)
-       **/
-      variableMetaDataBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
-      /**
-       * Generic query
-       **/
-      [key: string]: QueryableStorageEntry<ApiType>;
-    };
-    nftPayment: {
-      /**
-       * Generic query
-       **/
-      [key: string]: QueryableStorageEntry<ApiType>;
-    };
     nonfungible: {
       accountBalance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u32>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
       allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletCommonAccountBasicCrossAccountIdRepr>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
@@ -383,27 +349,6 @@
        **/
       [key: string]: QueryableStorageEntry<ApiType>;
     };
-    scheduler: {
-      /**
-       * Items to be executed, indexed by the block number that they should be executed on.
-       **/
-      agenda: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<Option<PalletUnqSchedulerScheduledV2>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
-      /**
-       * Lookup from identity to the block number and index of the task.
-       **/
-      lookup: AugmentedQuery<ApiType, (arg: Bytes | string | Uint8Array) => Observable<Option<ITuple<[u32, u32]>>>, [Bytes]> & QueryableStorageEntry<ApiType, [Bytes]>;
-      specAgenda: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<Option<PalletUnqSchedulerCallSpec>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
-      /**
-       * Storage version of the pallet.
-       * 
-       * New networks start with last version.
-       **/
-      storageVersion: AugmentedQuery<ApiType, () => Observable<PalletUnqSchedulerReleases>, []> & QueryableStorageEntry<ApiType, []>;
-      /**
-       * Generic query
-       **/
-      [key: string]: QueryableStorageEntry<ApiType>;
-    };
     sudo: {
       /**
        * The `AccountId` of the sudo key.
@@ -537,17 +482,51 @@
        **/
       [key: string]: QueryableStorageEntry<ApiType>;
     };
+    unique: {
+      /**
+       * Used for migrations
+       **/
+      chainVersion: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * (Collection id (controlled?2), who created (real))
+       * TODO: Off chain worker should remove from this map when collection gets removed
+       **/
+      createItemBasket: AugmentedQuery<ApiType, (arg: ITuple<[u32, AccountId32]> | [u32 | AnyNumber | Uint8Array, AccountId32 | string | Uint8Array]) => Observable<Option<u32>>, [ITuple<[u32, AccountId32]>]> & QueryableStorageEntry<ApiType, [ITuple<[u32, AccountId32]>]>;
+      fungibleApproveBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: AccountId32 | string | Uint8Array) => Observable<Option<u32>>, [u32, AccountId32]> & QueryableStorageEntry<ApiType, [u32, AccountId32]>;
+      /**
+       * Collection id (controlled?2), owning user (real)
+       **/
+      fungibleTransferBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: AccountId32 | string | Uint8Array) => Observable<Option<u32>>, [u32, AccountId32]> & QueryableStorageEntry<ApiType, [u32, AccountId32]>;
+      /**
+       * Approval sponsoring
+       **/
+      nftApproveBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
+      /**
+       * Collection id (controlled?2), token id (controlled?2)
+       **/
+      nftTransferBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
+      refungibleApproveBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: AccountId32 | string | Uint8Array) => Observable<Option<u32>>, [u32, u32, AccountId32]> & QueryableStorageEntry<ApiType, [u32, u32, AccountId32]>;
+      /**
+       * Collection id (controlled?2), token id (controlled?2)
+       **/
+      reFungibleTransferBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: AccountId32 | string | Uint8Array) => Observable<Option<u32>>, [u32, u32, AccountId32]> & QueryableStorageEntry<ApiType, [u32, u32, AccountId32]>;
+      /**
+       * Variable metadata sponsoring
+       * Collection id (controlled?2), token id (controlled?2)
+       **/
+      variableMetaDataBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
+      /**
+       * Generic query
+       **/
+      [key: string]: QueryableStorageEntry<ApiType>;
+    };
     vesting: {
       /**
-       * Storage version of the pallet.
+       * Vesting schedules of an account.
        * 
-       * New networks start with latest version, as determined by the genesis build.
+       * VestingSchedules: map AccountId => Vec<VestingSchedule>
        **/
-      storageVersion: AugmentedQuery<ApiType, () => Observable<PalletVestingReleases>, []> & QueryableStorageEntry<ApiType, []>;
-      /**
-       * Information regarding the vesting of a given account.
-       **/
-      vesting: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Option<Vec<PalletVestingVestingInfo>>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
+      vestingSchedules: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Vec<OrmlVestingVestingSchedule>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
       /**
        * Generic query
        **/
modifiedtests/src/interfaces/augment-api-rpc.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-rpc.ts
+++ b/tests/src/interfaces/augment-api-rpc.ts
@@ -1,7 +1,7 @@
 // Auto-generated via `yarn polkadot-types-from-chain`, do not edit
 /* eslint-disable */
 
-import type { NftDataStructsCollection, NftDataStructsCollectionId, NftDataStructsCollectionStats, NftDataStructsTokenId, PalletCommonAccountBasicCrossAccountIdRepr } from './nft';
+import type { PalletCommonAccountBasicCrossAccountIdRepr, UpDataStructsCollection, UpDataStructsCollectionId, UpDataStructsCollectionStats, UpDataStructsTokenId } from './unique';
 import type { Bytes, HashMap, Json, Metadata, Null, Option, StorageKey, Text, U256, U64, Vec, bool, u128, u32, u64 } from '@polkadot/types';
 import type { ExtrinsicOrHash, ExtrinsicStatus } from '@polkadot/types/interfaces/author';
 import type { EpochAuthorship } from '@polkadot/types/interfaces/babe';
@@ -354,68 +354,6 @@
        * Returns protocol version.
        **/
       version: AugmentedRpc<() => Observable<Text>>;
-    };
-    nft: {
-      /**
-       * Get amount of different user tokens
-       **/
-      accountBalance: AugmentedRpc<(collection: NftDataStructsCollectionId | AnyNumber | Uint8Array, account: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u32>>;
-      /**
-       * Get tokens owned by account
-       **/
-      accountTokens: AugmentedRpc<(collection: NftDataStructsCollectionId | AnyNumber | Uint8Array, account: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<NftDataStructsTokenId>>>;
-      /**
-       * Get admin list
-       **/
-      adminlist: AugmentedRpc<(collection: NftDataStructsCollectionId | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PalletCommonAccountBasicCrossAccountIdRepr>>>;
-      /**
-       * Get allowed amount
-       **/
-      allowance: AugmentedRpc<(collection: NftDataStructsCollectionId | AnyNumber | Uint8Array, sender: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, spender: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, tokenId: NftDataStructsTokenId | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u128>>;
-      /**
-       * Check if user is allowed to use collection
-       **/
-      allowed: AugmentedRpc<(collection: NftDataStructsCollectionId | AnyNumber | Uint8Array, account: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<bool>>;
-      /**
-       * Get allowlist
-       **/
-      allowlist: AugmentedRpc<(collection: NftDataStructsCollectionId | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PalletCommonAccountBasicCrossAccountIdRepr>>>;
-      /**
-       * Get amount of specific account token
-       **/
-      balance: AugmentedRpc<(collection: NftDataStructsCollectionId | AnyNumber | Uint8Array, account: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, tokenId: NftDataStructsTokenId | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u128>>;
-      /**
-       * Get collection by specified id
-       **/
-      collectionById: AugmentedRpc<(collection: NftDataStructsCollectionId | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<NftDataStructsCollection>>>;
-      /**
-       * Get collection stats
-       **/
-      collectionStats: AugmentedRpc<(at?: Hash | string | Uint8Array) => Observable<NftDataStructsCollectionStats>>;
-      /**
-       * Get tokens contained in collection
-       **/
-      collectionTokens: AugmentedRpc<(collection: NftDataStructsCollectionId | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<NftDataStructsTokenId>>>;
-      /**
-       * Get token constant metadata
-       **/
-      constMetadata: AugmentedRpc<(collection: NftDataStructsCollectionId | AnyNumber | Uint8Array, tokenId: NftDataStructsTokenId | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Bytes>>;
-      /**
-       * Get last token id
-       **/
-      lastTokenId: AugmentedRpc<(collection: NftDataStructsCollectionId | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<NftDataStructsTokenId>>;
-      /**
-       * Check if token exists
-       **/
-      tokenExists: AugmentedRpc<(collection: NftDataStructsCollectionId | AnyNumber | Uint8Array, tokenId: NftDataStructsTokenId | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<bool>>;
-      /**
-       * Get token owner
-       **/
-      tokenOwner: AugmentedRpc<(collection: NftDataStructsCollectionId | AnyNumber | Uint8Array, tokenId: NftDataStructsTokenId | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<PalletCommonAccountBasicCrossAccountIdRepr>>;
-      /**
-       * Get token variable metadata
-       **/
-      variableMetadata: AugmentedRpc<(collection: NftDataStructsCollectionId | AnyNumber | Uint8Array, tokenId: NftDataStructsTokenId | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Bytes>>;
     };
     offchain: {
       /**
@@ -609,6 +547,68 @@
        **/
       version: AugmentedRpc<() => Observable<Text>>;
     };
+    unique: {
+      /**
+       * Get amount of different user tokens
+       **/
+      accountBalance: AugmentedRpc<(collection: UpDataStructsCollectionId | AnyNumber | Uint8Array, account: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u32>>;
+      /**
+       * Get tokens owned by account
+       **/
+      accountTokens: AugmentedRpc<(collection: UpDataStructsCollectionId | AnyNumber | Uint8Array, account: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsTokenId>>>;
+      /**
+       * Get admin list
+       **/
+      adminlist: AugmentedRpc<(collection: UpDataStructsCollectionId | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PalletCommonAccountBasicCrossAccountIdRepr>>>;
+      /**
+       * Get allowed amount
+       **/
+      allowance: AugmentedRpc<(collection: UpDataStructsCollectionId | AnyNumber | Uint8Array, sender: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, spender: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, tokenId: UpDataStructsTokenId | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u128>>;
+      /**
+       * Check if user is allowed to use collection
+       **/
+      allowed: AugmentedRpc<(collection: UpDataStructsCollectionId | AnyNumber | Uint8Array, account: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<bool>>;
+      /**
+       * Get allowlist
+       **/
+      allowlist: AugmentedRpc<(collection: UpDataStructsCollectionId | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PalletCommonAccountBasicCrossAccountIdRepr>>>;
+      /**
+       * Get amount of specific account token
+       **/
+      balance: AugmentedRpc<(collection: UpDataStructsCollectionId | AnyNumber | Uint8Array, account: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, tokenId: UpDataStructsTokenId | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u128>>;
+      /**
+       * Get collection by specified id
+       **/
+      collectionById: AugmentedRpc<(collection: UpDataStructsCollectionId | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<UpDataStructsCollection>>>;
+      /**
+       * Get collection stats
+       **/
+      collectionStats: AugmentedRpc<(at?: Hash | string | Uint8Array) => Observable<UpDataStructsCollectionStats>>;
+      /**
+       * Get tokens contained in collection
+       **/
+      collectionTokens: AugmentedRpc<(collection: UpDataStructsCollectionId | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsTokenId>>>;
+      /**
+       * Get token constant metadata
+       **/
+      constMetadata: AugmentedRpc<(collection: UpDataStructsCollectionId | AnyNumber | Uint8Array, tokenId: UpDataStructsTokenId | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Bytes>>;
+      /**
+       * Get last token id
+       **/
+      lastTokenId: AugmentedRpc<(collection: UpDataStructsCollectionId | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<UpDataStructsTokenId>>;
+      /**
+       * Check if token exists
+       **/
+      tokenExists: AugmentedRpc<(collection: UpDataStructsCollectionId | AnyNumber | Uint8Array, tokenId: UpDataStructsTokenId | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<bool>>;
+      /**
+       * Get token owner
+       **/
+      tokenOwner: AugmentedRpc<(collection: UpDataStructsCollectionId | AnyNumber | Uint8Array, tokenId: UpDataStructsTokenId | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<PalletCommonAccountBasicCrossAccountIdRepr>>;
+      /**
+       * Get token variable metadata
+       **/
+      variableMetadata: AugmentedRpc<(collection: UpDataStructsCollectionId | AnyNumber | Uint8Array, tokenId: UpDataStructsTokenId | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Bytes>>;
+    };
     web3: {
       /**
        * Returns current client version.
modifiedtests/src/interfaces/augment-api-tx.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-tx.ts
+++ b/tests/src/interfaces/augment-api-tx.ts
@@ -2,13 +2,13 @@
 /* eslint-disable */
 
 import type { EthereumTransactionLegacyTransaction } from './ethereum';
-import type { NftDataStructsAccessMode, NftDataStructsCollectionLimits, NftDataStructsCollectionMode, NftDataStructsCreateItemData, NftDataStructsMetaUpdatePermission, NftDataStructsSchemaVersion, PalletCommonAccountBasicCrossAccountIdRepr } from './nft';
 import type { CumulusPrimitivesParachainInherentParachainInherentData } from './polkadot';
+import type { PalletCommonAccountBasicCrossAccountIdRepr, UpDataStructsAccessMode, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCreateItemData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion } from './unique';
 import type { ApiTypes, SubmittableExtrinsic } from '@polkadot/api/types';
-import type { Bytes, Compact, Option, U256, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types';
+import type { Bytes, Compact, Option, U256, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types';
 import type { Extrinsic } from '@polkadot/types/interfaces/extrinsics';
 import type { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime';
-import type { PalletVestingVestingInfo, SpCoreChangesTrieChangesTrieConfiguration, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
+import type { SpCoreChangesTrieChangesTrieConfiguration, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
 import type { AnyNumber, ITuple } from '@polkadot/types/types';
 
 declare module '@polkadot/api/types/submittable' {
@@ -196,441 +196,11 @@
       [key: string]: SubmittableExtrinsicFunction<ApiType>;
     };
     inflation: {
-      /**
-       * Generic tx
-       **/
-      [key: string]: SubmittableExtrinsicFunction<ApiType>;
-    };
-    nft: {
-      /**
-       * Adds an admin of the Collection.
-       * NFT Collection can be controlled by multiple admin addresses (some which can also be servers, for example). Admins can issue and burn NFTs, as well as add and remove other admins, but cannot change NFT or Collection ownership.
-       * 
-       * # Permissions
-       * 
-       * * Collection Owner.
-       * * Collection Admin.
-       * 
-       * # Arguments
-       * 
-       * * collection_id: ID of the Collection to add admin for.
-       * 
-       * * new_admin_id: Address of new admin to add.
-       **/
-      addCollectionAdmin: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newAdminId: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
-      /**
-       * Add an address to allow list.
-       * 
-       * # Permissions
-       * 
-       * * Collection Owner
-       * * Collection Admin
-       * 
-       * # Arguments
-       * 
-       * * collection_id.
-       * 
-       * * address.
-       **/
-      addToAllowList: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, address: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
-      /**
-       * Set, change, or remove approved address to transfer the ownership of the NFT.
-       * 
-       * # Permissions
-       * 
-       * * Collection Owner
-       * * Collection Admin
-       * * Current NFT owner
-       * 
-       * # Arguments
-       * 
-       * * approved: Address that is approved to transfer this NFT or zero (if needed to remove approval).
-       * 
-       * * collection_id.
-       * 
-       * * item_id: ID of the item.
-       **/
-      approve: AugmentedSubmittable<(spender: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletCommonAccountBasicCrossAccountIdRepr, u32, u32, u128]>;
-      /**
-       * Destroys a concrete instance of NFT on behalf of the owner
-       * See also: [`approve`]
-       * 
-       * # Permissions
-       * 
-       * * Collection Owner.
-       * * Collection Admin.
-       * * Current NFT Owner.
-       * 
-       * # Arguments
-       * 
-       * * collection_id: ID of the collection.
-       * 
-       * * item_id: ID of NFT to burn.
-       * 
-       * * from: owner of item
-       **/
-      burnFrom: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, from: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr, u32, u128]>;
-      /**
-       * Destroys a concrete instance of NFT.
-       * 
-       * # Permissions
-       * 
-       * * Collection Owner.
-       * * Collection Admin.
-       * * Current NFT Owner.
-       * 
-       * # Arguments
-       * 
-       * * collection_id: ID of the collection.
-       * 
-       * * item_id: ID of NFT to burn.
-       **/
-      burnItem: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u128]>;
-      /**
-       * Change the owner of the collection.
-       * 
-       * # Permissions
-       * 
-       * * Collection Owner.
-       * 
-       * # Arguments
-       * 
-       * * collection_id.
-       * 
-       * * new_owner.
-       **/
-      changeCollectionOwner: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newOwner: AccountId32 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, AccountId32]>;
-      /**
-       * # Permissions
-       * 
-       * * Sponsor.
-       * 
-       * # Arguments
-       * 
-       * * collection_id.
-       **/
-      confirmSponsorship: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
-      /**
-       * This method creates a Collection of NFTs. Each Token may have multiple properties encoded as an array of bytes of certain length. The initial owner and admin of the collection are set to the address that signed the transaction. Both addresses can be changed later.
-       * 
-       * # Permissions
-       * 
-       * * Anyone.
-       * 
-       * # Arguments
-       * 
-       * * collection_name: UTF-16 string with collection name (limit 64 characters), will be stored as zero-terminated.
-       * 
-       * * collection_description: UTF-16 string with collection description (limit 256 characters), will be stored as zero-terminated.
-       * 
-       * * token_prefix: UTF-8 string with token prefix.
-       * 
-       * * mode: [CollectionMode] collection type and type dependent data.
-       **/
-      createCollection: AugmentedSubmittable<(collectionName: Vec<u16> | (u16 | AnyNumber | Uint8Array)[], collectionDescription: Vec<u16> | (u16 | AnyNumber | Uint8Array)[], tokenPrefix: Bytes | string | Uint8Array, mode: NftDataStructsCollectionMode | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Vec<u16>, Vec<u16>, Bytes, NftDataStructsCollectionMode]>;
-      /**
-       * This method creates a concrete instance of NFT Collection created with CreateCollection method.
-       * 
-       * # Permissions
-       * 
-       * * Collection Owner.
-       * * Collection Admin.
-       * * Anyone if
-       * * Allow List is enabled, and
-       * * Address is added to allow list, and
-       * * MintPermission is enabled (see SetMintPermission method)
-       * 
-       * # Arguments
-       * 
-       * * collection_id: ID of the collection.
-       * 
-       * * owner: Address, initial owner of the NFT.
-       * 
-       * * data: Token data to store on chain.
-       **/
-      createItem: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, owner: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, data: NftDataStructsCreateItemData | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr, NftDataStructsCreateItemData]>;
-      /**
-       * This method creates multiple items in a collection created with CreateCollection method.
-       * 
-       * # Permissions
-       * 
-       * * Collection Owner.
-       * * Collection Admin.
-       * * Anyone if
-       * * Allow List is enabled, and
-       * * Address is added to allow list, and
-       * * MintPermission is enabled (see SetMintPermission method)
-       * 
-       * # Arguments
-       * 
-       * * collection_id: ID of the collection.
-       * 
-       * * itemsData: Array items properties. Each property is an array of bytes itself, see [create_item].
-       * 
-       * * owner: Address, initial owner of the NFT.
-       **/
-      createMultipleItems: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, owner: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, itemsData: Vec<NftDataStructsCreateItemData> | (NftDataStructsCreateItemData | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr, Vec<NftDataStructsCreateItemData>]>;
-      /**
-       * **DANGEROUS**: Destroys collection and all NFTs within this collection. Users irrecoverably lose their assets and may lose real money.
-       * 
-       * # Permissions
-       * 
-       * * Collection Owner.
-       * 
-       * # Arguments
-       * 
-       * * collection_id: collection to destroy.
-       **/
-      destroyCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
-      /**
-       * Remove admin address of the Collection. An admin address can remove itself. List of admins may become empty, in which case only Collection Owner will be able to add an Admin.
-       * 
-       * # Permissions
-       * 
-       * * Collection Owner.
-       * * Collection Admin.
-       * 
-       * # Arguments
-       * 
-       * * collection_id: ID of the Collection to remove admin for.
-       * 
-       * * account_id: Address of admin to remove.
-       **/
-      removeCollectionAdmin: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, accountId: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
-      /**
-       * Switch back to pay-per-own-transaction model.
-       * 
-       * # Permissions
-       * 
-       * * Collection owner.
-       * 
-       * # Arguments
-       * 
-       * * collection_id.
-       **/
-      removeCollectionSponsor: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
-      /**
-       * Remove an address from allow list.
-       * 
-       * # Permissions
-       * 
-       * * Collection Owner
-       * * Collection Admin
-       * 
-       * # Arguments
-       * 
-       * * collection_id.
-       * 
-       * * address.
-       **/
-      removeFromAllowList: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, address: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
-      setCollectionLimits: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newLimit: NftDataStructsCollectionLimits | { accountTokenOwnershipLimit?: any; sponsoredDataSize?: any; sponsoredDataRateLimit?: any; tokenLimit?: any; sponsorTransferTimeout?: any; ownerCanTransfer?: any; ownerCanDestroy?: any; transfersEnabled?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, NftDataStructsCollectionLimits]>;
-      /**
-       * # Permissions
-       * 
-       * * Collection Owner
-       * 
-       * # Arguments
-       * 
-       * * collection_id.
-       * 
-       * * new_sponsor.
-       **/
-      setCollectionSponsor: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newSponsor: AccountId32 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, AccountId32]>;
-      /**
-       * Set const on-chain data schema.
-       * 
-       * # Permissions
-       * 
-       * * Collection Owner
-       * * Collection Admin
-       * 
-       * # Arguments
-       * 
-       * * collection_id.
-       * 
-       * * schema: String representing the const on-chain data schema.
-       **/
-      setConstOnChainSchema: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, schema: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, Bytes]>;
-      /**
-       * Set meta_update_permission value for particular collection
-       * 
-       * # Permissions
-       * 
-       * * Collection Owner.
-       * 
-       * # Arguments
-       * 
-       * * collection_id: ID of the collection.
-       * 
-       * * value: New flag value.
-       **/
-      setMetaUpdatePermissionFlag: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, value: NftDataStructsMetaUpdatePermission | 'ItemOwner' | 'Admin' | 'None' | number | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, NftDataStructsMetaUpdatePermission]>;
-      /**
-       * Allows Anyone to create tokens if:
-       * * Allow List is enabled, and
-       * * Address is added to allow list, and
-       * * This method was called with True parameter
-       * 
-       * # Permissions
-       * * Collection Owner
-       * 
-       * # Arguments
-       * 
-       * * collection_id.
-       * 
-       * * mint_permission: Boolean parameter. If True, allows minting to Anyone with conditions above.
-       **/
-      setMintPermission: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, mintPermission: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, bool]>;
-      /**
-       * Set off-chain data schema.
-       * 
-       * # Permissions
-       * 
-       * * Collection Owner
-       * * Collection Admin
-       * 
-       * # Arguments
-       * 
-       * * collection_id.
-       * 
-       * * schema: String representing the offchain data schema.
-       **/
-      setOffchainSchema: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, schema: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, Bytes]>;
-      /**
-       * Toggle between normal and allow list access for the methods with access for `Anyone`.
-       * 
-       * # Permissions
-       * 
-       * * Collection Owner.
-       * 
-       * # Arguments
-       * 
-       * * collection_id.
-       * 
-       * * mode: [AccessMode]
-       **/
-      setPublicAccessMode: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, mode: NftDataStructsAccessMode | 'Normal' | 'AllowList' | number | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, NftDataStructsAccessMode]>;
-      /**
-       * Set schema standard
-       * ImageURL
-       * Unique
-       * 
-       * # Permissions
-       * 
-       * * Collection Owner
-       * * Collection Admin
-       * 
-       * # Arguments
-       * 
-       * * collection_id.
-       * 
-       * * schema: SchemaVersion: enum
-       **/
-      setSchemaVersion: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, version: NftDataStructsSchemaVersion | 'ImageURL' | 'Unique' | number | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, NftDataStructsSchemaVersion]>;
-      /**
-       * Set transfers_enabled value for particular collection
-       * 
-       * # Permissions
-       * 
-       * * Collection Owner.
-       * 
-       * # Arguments
-       * 
-       * * collection_id: ID of the collection.
-       * 
-       * * value: New flag value.
-       **/
-      setTransfersEnabledFlag: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, value: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, bool]>;
-      /**
-       * Set off-chain data schema.
-       * 
-       * # Permissions
-       * 
-       * * Collection Owner
-       * * Collection Admin
-       * 
-       * # Arguments
-       * 
-       * * collection_id.
-       * 
-       * * schema: String representing the offchain data schema.
-       **/
-      setVariableMetaData: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, data: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, Bytes]>;
-      /**
-       * Set variable on-chain data schema.
-       * 
-       * # Permissions
-       * 
-       * * Collection Owner
-       * * Collection Admin
-       * 
-       * # Arguments
-       * 
-       * * collection_id.
-       * 
-       * * schema: String representing the variable on-chain data schema.
-       **/
-      setVariableOnChainSchema: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, schema: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, Bytes]>;
-      /**
-       * Change ownership of the token.
-       * 
-       * # Permissions
-       * 
-       * * Collection Owner
-       * * Collection Admin
-       * * Current NFT owner
-       * 
-       * # Arguments
-       * 
-       * * recipient: Address of token recipient.
-       * 
-       * * collection_id.
-       * 
-       * * item_id: ID of the item
-       * * Non-Fungible Mode: Required.
-       * * Fungible Mode: Ignored.
-       * * Re-Fungible Mode: Required.
-       * 
-       * * value: Amount to transfer.
-       * * Non-Fungible Mode: Ignored
-       * * Fungible Mode: Must specify transferred amount
-       * * Re-Fungible Mode: Must specify transferred portion (between 0 and 1)
-       **/
-      transfer: AugmentedSubmittable<(recipient: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletCommonAccountBasicCrossAccountIdRepr, u32, u32, u128]>;
       /**
-       * Change ownership of a NFT on behalf of the owner. See Approve method for additional information. After this method executes, the approval is removed so that the approved address will not be able to transfer this NFT again from this owner.
-       * 
-       * # Permissions
-       * * Collection Owner
-       * * Collection Admin
-       * * Current NFT owner
-       * * Address approved by current NFT owner
-       * 
-       * # Arguments
-       * 
-       * * from: Address that owns token.
-       * 
-       * * recipient: Address of token recipient.
-       * 
-       * * collection_id.
-       * 
-       * * item_id: ID of the item.
-       * 
-       * * value: Amount to transfer.
-       **/
-      transferFrom: AugmentedSubmittable<(from: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, recipient: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonAccountBasicCrossAccountIdRepr, u32, u32, u128]>;
-      /**
        * Generic tx
        **/
       [key: string]: SubmittableExtrinsicFunction<ApiType>;
     };
-    nftPayment: {
-      /**
-       * Generic tx
-       **/
-      [key: string]: SubmittableExtrinsicFunction<ApiType>;
-    };
     parachainSystem: {
       authorizeUpgrade: AugmentedSubmittable<(codeHash: H256 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256]>;
       enactAuthorizedUpgrade: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
@@ -778,80 +348,6 @@
        **/
       [key: string]: SubmittableExtrinsicFunction<ApiType>;
     };
-    scheduler: {
-      /**
-       * Cancel an anonymously scheduled task.
-       * 
-       * # <weight>
-       * - S = Number of already scheduled calls
-       * - Base Weight: 22.15 + 2.869 * S µs
-       * - DB Weight:
-       * - Read: Agenda
-       * - Write: Agenda, Lookup
-       * - Will use base weight of 100 which should be good for up to 30 scheduled calls
-       * # </weight>
-       **/
-      cancel: AugmentedSubmittable<(when: u32 | AnyNumber | Uint8Array, index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32]>;
-      /**
-       * Cancel a named scheduled task.
-       * 
-       * # <weight>
-       * - S = Number of already scheduled calls
-       * - Base Weight: 24.91 + 2.907 * S µs
-       * - DB Weight:
-       * - Read: Agenda, Lookup
-       * - Write: Agenda, Lookup
-       * - Will use base weight of 100 which should be good for up to 30 scheduled calls
-       * # </weight>
-       **/
-      cancelNamed: AugmentedSubmittable<(id: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
-      /**
-       * Anonymously schedule a task.
-       * 
-       * # <weight>
-       * - S = Number of already scheduled calls
-       * - Base Weight: 22.29 + .126 * S µs
-       * - DB Weight:
-       * - Read: Agenda
-       * - Write: Agenda
-       * - Will use base weight of 25 which should be good for up to 30 scheduled calls
-       * # </weight>
-       **/
-      schedule: AugmentedSubmittable<(when: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | object | string | Uint8Array, priority: u8 | AnyNumber | Uint8Array, call: Call) => SubmittableExtrinsic<ApiType>, [u32, Option<ITuple<[u32, u32]>>, u8, Call]>;
-      /**
-       * Anonymously schedule a task after a delay.
-       * 
-       * # <weight>
-       * Same as [`schedule`].
-       * # </weight>
-       **/
-      scheduleAfter: AugmentedSubmittable<(after: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | object | string | Uint8Array, priority: u8 | AnyNumber | Uint8Array, call: Call) => SubmittableExtrinsic<ApiType>, [u32, Option<ITuple<[u32, u32]>>, u8, Call]>;
-      /**
-       * Schedule a named task.
-       * 
-       * # <weight>
-       * - S = Number of already scheduled calls
-       * - Base Weight: 29.6 + .159 * S µs
-       * - DB Weight:
-       * - Read: Agenda, Lookup
-       * - Write: Agenda, Lookup
-       * - Will use base weight of 35 which should be good for more than 30 scheduled calls
-       * # </weight>
-       **/
-      scheduleNamed: AugmentedSubmittable<(id: Bytes | string | Uint8Array, when: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | object | string | Uint8Array, priority: u8 | AnyNumber | Uint8Array, call: Call) => SubmittableExtrinsic<ApiType>, [Bytes, u32, Option<ITuple<[u32, u32]>>, u8, Call]>;
-      /**
-       * Schedule a named task after a delay.
-       * 
-       * # <weight>
-       * Same as [`schedule_named`].
-       * # </weight>
-       **/
-      scheduleNamedAfter: AugmentedSubmittable<(id: Bytes | string | Uint8Array, after: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | object | string | Uint8Array, priority: u8 | AnyNumber | Uint8Array, call: Call) => SubmittableExtrinsic<ApiType>, [Bytes, u32, Option<ITuple<[u32, u32]>>, u8, Call]>;
-      /**
-       * Generic tx
-       **/
-      [key: string]: SubmittableExtrinsicFunction<ApiType>;
-    };
     sudo: {
       /**
        * Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo
@@ -878,7 +374,7 @@
        * - Weight of derivative `call` execution + 10,000.
        * # </weight>
        **/
-      sudo: AugmentedSubmittable<(call: Call) => SubmittableExtrinsic<ApiType>, [Call]>;
+      sudo: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, [Call]>;
       /**
        * Authenticates the sudo key and dispatches a function call with `Signed` origin from
        * a given account.
@@ -892,7 +388,7 @@
        * - Weight of derivative `call` execution + 10,000.
        * # </weight>
        **/
-      sudoAs: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, call: Call) => SubmittableExtrinsic<ApiType>, [MultiAddress, Call]>;
+      sudoAs: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, ) => SubmittableExtrinsic<ApiType>, [MultiAddress, Call]>;
       /**
        * Authenticates the sudo key and dispatches a function call with `Root` origin.
        * This function does not check the weight of the call, and instead allows the
@@ -905,7 +401,7 @@
        * - The weight of this call is defined by the caller.
        * # </weight>
        **/
-      sudoUncheckedWeight: AugmentedSubmittable<(call: Call, weight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call, u64]>;
+      sudoUncheckedWeight: AugmentedSubmittable<(, weight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call, u64]>;
       /**
        * Generic tx
        **/
@@ -1094,106 +590,435 @@
        **/
       [key: string]: SubmittableExtrinsicFunction<ApiType>;
     };
-    vesting: {
+    unique: {
+      /**
+       * Adds an admin of the Collection.
+       * NFT Collection can be controlled by multiple admin addresses (some which can also be servers, for example). Admins can issue and burn NFTs, as well as add and remove other admins, but cannot change NFT or Collection ownership.
+       * 
+       * # Permissions
+       * 
+       * * Collection Owner.
+       * * Collection Admin.
+       * 
+       * # Arguments
+       * 
+       * * collection_id: ID of the Collection to add admin for.
+       * 
+       * * new_admin_id: Address of new admin to add.
+       **/
+      addCollectionAdmin: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newAdminId: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
       /**
-       * Force a vested transfer.
+       * Add an address to allow list.
        * 
-       * The dispatch origin for this call must be _Root_.
+       * # Permissions
        * 
-       * - `source`: The account whose funds should be transferred.
-       * - `target`: The account that should be transferred the vested funds.
-       * - `schedule`: The vesting schedule attached to the transfer.
+       * * Collection Owner
+       * * Collection Admin
+       * 
+       * # Arguments
+       * 
+       * * collection_id.
+       * 
+       * * address.
+       **/
+      addToAllowList: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, address: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+      /**
+       * Set, change, or remove approved address to transfer the ownership of the NFT.
+       * 
+       * # Permissions
+       * 
+       * * Collection Owner
+       * * Collection Admin
+       * * Current NFT owner
+       * 
+       * # Arguments
+       * 
+       * * approved: Address that is approved to transfer this NFT or zero (if needed to remove approval).
+       * 
+       * * collection_id.
+       * 
+       * * item_id: ID of the item.
+       **/
+      approve: AugmentedSubmittable<(spender: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletCommonAccountBasicCrossAccountIdRepr, u32, u32, u128]>;
+      /**
+       * Destroys a concrete instance of NFT on behalf of the owner
+       * See also: [`approve`]
+       * 
+       * # Permissions
+       * 
+       * * Collection Owner.
+       * * Collection Admin.
+       * * Current NFT Owner.
+       * 
+       * # Arguments
+       * 
+       * * collection_id: ID of the collection.
+       * 
+       * * item_id: ID of NFT to burn.
+       * 
+       * * from: owner of item
+       **/
+      burnFrom: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, from: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr, u32, u128]>;
+      /**
+       * Destroys a concrete instance of NFT.
+       * 
+       * # Permissions
+       * 
+       * * Collection Owner.
+       * * Collection Admin.
+       * * Current NFT Owner.
+       * 
+       * # Arguments
+       * 
+       * * collection_id: ID of the collection.
+       * 
+       * * item_id: ID of NFT to burn.
+       **/
+      burnItem: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u128]>;
+      /**
+       * Change the owner of the collection.
+       * 
+       * # Permissions
+       * 
+       * * Collection Owner.
+       * 
+       * # Arguments
+       * 
+       * * collection_id.
+       * 
+       * * new_owner.
+       **/
+      changeCollectionOwner: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newOwner: AccountId32 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, AccountId32]>;
+      /**
+       * # Permissions
        * 
-       * Emits `VestingCreated`.
+       * * Sponsor.
        * 
-       * NOTE: This will unlock all schedules through the current block.
+       * # Arguments
        * 
-       * # <weight>
-       * - `O(1)`.
-       * - DbWeight: 4 Reads, 4 Writes
-       * - Reads: Vesting Storage, Balances Locks, Target Account, Source Account
-       * - Writes: Vesting Storage, Balances Locks, Target Account, Source Account
-       * # </weight>
+       * * collection_id.
        **/
-      forceVestedTransfer: AugmentedSubmittable<(source: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, target: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, schedule: PalletVestingVestingInfo | { locked?: any; perBlock?: any; startingBlock?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, MultiAddress, PalletVestingVestingInfo]>;
+      confirmSponsorship: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
       /**
-       * Merge two vesting schedules together, creating a new vesting schedule that unlocks over
-       * the highest possible start and end blocks. If both schedules have already started the
-       * current block will be used as the schedule start; with the caveat that if one schedule
-       * is finished by the current block, the other will be treated as the new merged schedule,
-       * unmodified.
+       * This method creates a Collection of NFTs. Each Token may have multiple properties encoded as an array of bytes of certain length. The initial owner of the collection is set to the address that signed the transaction and can be changed later.
        * 
-       * NOTE: If `schedule1_index == schedule2_index` this is a no-op.
-       * NOTE: This will unlock all schedules through the current block prior to merging.
-       * NOTE: If both schedules have ended by the current block, no new schedule will be created
-       * and both will be removed.
+       * # Permissions
+       * 
+       * * Anyone.
+       * 
+       * # Arguments
+       * 
+       * * collection_name: UTF-16 string with collection name (limit 64 characters), will be stored as zero-terminated.
        * 
-       * Merged schedule attributes:
-       * - `starting_block`: `MAX(schedule1.starting_block, scheduled2.starting_block,
-       * current_block)`.
-       * - `ending_block`: `MAX(schedule1.ending_block, schedule2.ending_block)`.
-       * - `locked`: `schedule1.locked_at(current_block) + schedule2.locked_at(current_block)`.
+       * * collection_description: UTF-16 string with collection description (limit 256 characters), will be stored as zero-terminated.
        * 
-       * The dispatch origin for this call must be _Signed_.
+       * * token_prefix: UTF-8 string with token prefix.
        * 
-       * - `schedule1_index`: index of the first schedule to merge.
-       * - `schedule2_index`: index of the second schedule to merge.
+       * * mode: [CollectionMode] collection type and type dependent data.
        **/
-      mergeSchedules: AugmentedSubmittable<(schedule1Index: u32 | AnyNumber | Uint8Array, schedule2Index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32]>;
+      createCollection: AugmentedSubmittable<(collectionName: Vec<u16> | (u16 | AnyNumber | Uint8Array)[], collectionDescription: Vec<u16> | (u16 | AnyNumber | Uint8Array)[], tokenPrefix: Bytes | string | Uint8Array, mode: UpDataStructsCollectionMode | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Vec<u16>, Vec<u16>, Bytes, UpDataStructsCollectionMode]>;
       /**
-       * Unlock any vested funds of the sender account.
+       * This method creates a concrete instance of NFT Collection created with CreateCollection method.
        * 
-       * The dispatch origin for this call must be _Signed_ and the sender must have funds still
-       * locked under this pallet.
+       * # Permissions
        * 
-       * Emits either `VestingCompleted` or `VestingUpdated`.
+       * * Collection Owner.
+       * * Collection Admin.
+       * * Anyone if
+       * * Allow List is enabled, and
+       * * Address is added to allow list, and
+       * * MintPermission is enabled (see SetMintPermission method)
+       * 
+       * # Arguments
+       * 
+       * * collection_id: ID of the collection.
+       * 
+       * * owner: Address, initial owner of the NFT.
        * 
-       * # <weight>
-       * - `O(1)`.
-       * - DbWeight: 2 Reads, 2 Writes
-       * - Reads: Vesting Storage, Balances Locks, [Sender Account]
-       * - Writes: Vesting Storage, Balances Locks, [Sender Account]
-       * # </weight>
+       * * data: Token data to store on chain.
        **/
-      vest: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+      createItem: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, owner: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, data: UpDataStructsCreateItemData | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr, UpDataStructsCreateItemData]>;
       /**
-       * Create a vested transfer.
+       * This method creates multiple items in a collection created with CreateCollection method.
        * 
-       * The dispatch origin for this call must be _Signed_.
+       * # Permissions
        * 
-       * - `target`: The account receiving the vested funds.
-       * - `schedule`: The vesting schedule attached to the transfer.
+       * * Collection Owner.
+       * * Collection Admin.
+       * * Anyone if
+       * * Allow List is enabled, and
+       * * Address is added to allow list, and
+       * * MintPermission is enabled (see SetMintPermission method)
        * 
-       * Emits `VestingCreated`.
+       * # Arguments
        * 
-       * NOTE: This will unlock all schedules through the current block.
+       * * collection_id: ID of the collection.
+       * 
+       * * itemsData: Array items properties. Each property is an array of bytes itself, see [create_item].
        * 
-       * # <weight>
-       * - `O(1)`.
-       * - DbWeight: 3 Reads, 3 Writes
-       * - Reads: Vesting Storage, Balances Locks, Target Account, [Sender Account]
-       * - Writes: Vesting Storage, Balances Locks, Target Account, [Sender Account]
-       * # </weight>
+       * * owner: Address, initial owner of the NFT.
        **/
-      vestedTransfer: AugmentedSubmittable<(target: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, schedule: PalletVestingVestingInfo | { locked?: any; perBlock?: any; startingBlock?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, PalletVestingVestingInfo]>;
+      createMultipleItems: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, owner: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, itemsData: Vec<UpDataStructsCreateItemData> | (UpDataStructsCreateItemData | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr, Vec<UpDataStructsCreateItemData>]>;
       /**
-       * Unlock any vested funds of a `target` account.
+       * **DANGEROUS**: Destroys collection and all NFTs within this collection. Users irrecoverably lose their assets and may lose real money.
        * 
-       * The dispatch origin for this call must be _Signed_.
+       * # Permissions
        * 
-       * - `target`: The account whose vested funds should be unlocked. Must have funds still
-       * locked under this pallet.
+       * * Collection Owner.
        * 
-       * Emits either `VestingCompleted` or `VestingUpdated`.
+       * # Arguments
        * 
-       * # <weight>
-       * - `O(1)`.
-       * - DbWeight: 3 Reads, 3 Writes
-       * - Reads: Vesting Storage, Balances Locks, Target Account
-       * - Writes: Vesting Storage, Balances Locks, Target Account
-       * # </weight>
+       * * collection_id: collection to destroy.
        **/
-      vestOther: AugmentedSubmittable<(target: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress]>;
+      destroyCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
+      /**
+       * Remove admin address of the Collection. An admin address can remove itself. List of admins may become empty, in which case only Collection Owner will be able to add an Admin.
+       * 
+       * # Permissions
+       * 
+       * * Collection Owner.
+       * * Collection Admin.
+       * 
+       * # Arguments
+       * 
+       * * collection_id: ID of the Collection to remove admin for.
+       * 
+       * * account_id: Address of admin to remove.
+       **/
+      removeCollectionAdmin: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, accountId: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+      /**
+       * Switch back to pay-per-own-transaction model.
+       * 
+       * # Permissions
+       * 
+       * * Collection owner.
+       * 
+       * # Arguments
+       * 
+       * * collection_id.
+       **/
+      removeCollectionSponsor: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
+      /**
+       * Remove an address from allow list.
+       * 
+       * # Permissions
+       * 
+       * * Collection Owner
+       * * Collection Admin
+       * 
+       * # Arguments
+       * 
+       * * collection_id.
+       * 
+       * * address.
+       **/
+      removeFromAllowList: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, address: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+      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]>;
+      /**
+       * # Permissions
+       * 
+       * * Collection Owner
+       * 
+       * # Arguments
+       * 
+       * * collection_id.
+       * 
+       * * new_sponsor.
+       **/
+      setCollectionSponsor: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newSponsor: AccountId32 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, AccountId32]>;
+      /**
+       * Set const on-chain data schema.
+       * 
+       * # Permissions
+       * 
+       * * Collection Owner
+       * * Collection Admin
+       * 
+       * # Arguments
+       * 
+       * * collection_id.
+       * 
+       * * schema: String representing the const on-chain data schema.
+       **/
+      setConstOnChainSchema: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, schema: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, Bytes]>;
+      /**
+       * Set meta_update_permission value for particular collection
+       * 
+       * # Permissions
+       * 
+       * * Collection Owner.
+       * 
+       * # Arguments
+       * 
+       * * collection_id: ID of the collection.
+       * 
+       * * value: New flag value.
+       **/
+      setMetaUpdatePermissionFlag: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, value: UpDataStructsMetaUpdatePermission | 'ItemOwner' | 'Admin' | 'None' | number | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsMetaUpdatePermission]>;
+      /**
+       * Allows Anyone to create tokens if:
+       * * Allow List is enabled, and
+       * * Address is added to allow list, and
+       * * This method was called with True parameter
+       * 
+       * # Permissions
+       * * Collection Owner
+       * 
+       * # Arguments
+       * 
+       * * collection_id.
+       * 
+       * * mint_permission: Boolean parameter. If True, allows minting to Anyone with conditions above.
+       **/
+      setMintPermission: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, mintPermission: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, bool]>;
+      /**
+       * Set off-chain data schema.
+       * 
+       * # Permissions
+       * 
+       * * Collection Owner
+       * * Collection Admin
+       * 
+       * # Arguments
+       * 
+       * * collection_id.
+       * 
+       * * schema: String representing the offchain data schema.
+       **/
+      setOffchainSchema: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, schema: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, Bytes]>;
+      /**
+       * Toggle between normal and allow list access for the methods with access for `Anyone`.
+       * 
+       * # Permissions
+       * 
+       * * Collection Owner.
+       * 
+       * # Arguments
+       * 
+       * * collection_id.
+       * 
+       * * mode: [AccessMode]
+       **/
+      setPublicAccessMode: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, mode: UpDataStructsAccessMode | 'Normal' | 'AllowList' | number | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsAccessMode]>;
+      /**
+       * Set schema standard
+       * ImageURL
+       * Unique
+       * 
+       * # Permissions
+       * 
+       * * Collection Owner
+       * * Collection Admin
+       * 
+       * # Arguments
+       * 
+       * * collection_id.
+       * 
+       * * schema: SchemaVersion: enum
+       **/
+      setSchemaVersion: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, version: UpDataStructsSchemaVersion | 'ImageURL' | 'Unique' | number | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsSchemaVersion]>;
+      /**
+       * Set transfers_enabled value for particular collection
+       * 
+       * # Permissions
+       * 
+       * * Collection Owner.
+       * 
+       * # Arguments
+       * 
+       * * collection_id: ID of the collection.
+       * 
+       * * value: New flag value.
+       **/
+      setTransfersEnabledFlag: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, value: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, bool]>;
+      /**
+       * Set off-chain data schema.
+       * 
+       * # Permissions
+       * 
+       * * Collection Owner
+       * * Collection Admin
+       * 
+       * # Arguments
+       * 
+       * * collection_id.
+       * 
+       * * schema: String representing the offchain data schema.
+       **/
+      setVariableMetaData: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, data: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, Bytes]>;
+      /**
+       * Set variable on-chain data schema.
+       * 
+       * # Permissions
+       * 
+       * * Collection Owner
+       * * Collection Admin
+       * 
+       * # Arguments
+       * 
+       * * collection_id.
+       * 
+       * * schema: String representing the variable on-chain data schema.
+       **/
+      setVariableOnChainSchema: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, schema: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, Bytes]>;
+      /**
+       * Change ownership of the token.
+       * 
+       * # Permissions
+       * 
+       * * Collection Owner
+       * * Collection Admin
+       * * Current NFT owner
+       * 
+       * # Arguments
+       * 
+       * * recipient: Address of token recipient.
+       * 
+       * * collection_id.
+       * 
+       * * item_id: ID of the item
+       * * Non-Fungible Mode: Required.
+       * * Fungible Mode: Ignored.
+       * * Re-Fungible Mode: Required.
+       * 
+       * * value: Amount to transfer.
+       * * Non-Fungible Mode: Ignored
+       * * Fungible Mode: Must specify transferred amount
+       * * Re-Fungible Mode: Must specify transferred portion (between 0 and 1)
+       **/
+      transfer: AugmentedSubmittable<(recipient: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletCommonAccountBasicCrossAccountIdRepr, u32, u32, u128]>;
+      /**
+       * Change ownership of a NFT on behalf of the owner. See Approve method for additional information. After this method executes, the approval is removed so that the approved address will not be able to transfer this NFT again from this owner.
+       * 
+       * # Permissions
+       * * Collection Owner
+       * * Collection Admin
+       * * Current NFT owner
+       * * Address approved by current NFT owner
+       * 
+       * # Arguments
+       * 
+       * * from: Address that owns token.
+       * 
+       * * recipient: Address of token recipient.
+       * 
+       * * collection_id.
+       * 
+       * * item_id: ID of the item.
+       * 
+       * * value: Amount to transfer.
+       **/
+      transferFrom: AugmentedSubmittable<(from: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, recipient: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonAccountBasicCrossAccountIdRepr, u32, u32, u128]>;
+      /**
+       * Generic tx
+       **/
+      [key: string]: SubmittableExtrinsicFunction<ApiType>;
+    };
+    vesting: {
+      claim: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+      claimFor: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress]>;
+      updateVestingSchedules: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, vestingSchedules: Vec<OrmlVestingVestingSchedule> | (OrmlVestingVestingSchedule | { start?: any; period?: any; periodCount?: any; perPeriod?: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [MultiAddress, Vec<OrmlVestingVestingSchedule>]>;
+      vestedTransfer: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, schedule: OrmlVestingVestingSchedule | { start?: any; period?: any; periodCount?: any; perPeriod?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, OrmlVestingVestingSchedule]>;
       /**
        * Generic tx
        **/
modifiedtests/src/interfaces/augment-types.tsdiffbeforeafterboth
after · tests/src/interfaces/augment-types.ts
1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34import type { EthereumBlock, EthereumLog, EthereumReceipt, EthereumTransactionLegacyTransaction, EvmCoreErrorExitReason, FpRpcTransactionStatus } from './ethereum';5import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundStatus, CumulusPalletXcmpQueueOutboundStatus, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV1AbridgedHostConfiguration, PolkadotPrimitivesV1PersistedValidationData } from './polkadot';6import type { PalletCommonAccountBasicCrossAccountIdRepr, PalletNonfungibleItemData, PalletRefungibleItemData, PalletUnqSchedulerCallSpec, PalletUnqSchedulerReleases, PalletUnqSchedulerScheduledV2, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionId, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionStats, UpDataStructsCreateItemData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion, UpDataStructsSponsorshipState, UpDataStructsTokenId } from './unique';7import type { BitVec, Bool, Bytes, Data, I128, I16, I256, I32, I64, I8, Json, Null, Raw, StorageKey, 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';8import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets';9import type { BlockAttestations, IncludedBlocks, MoreAttestations } from '@polkadot/types/interfaces/attestations';10import type { RawAuraPreDigest } from '@polkadot/types/interfaces/aura';11import type { ExtrinsicOrHash, ExtrinsicStatus } from '@polkadot/types/interfaces/author';12import type { UncleEntryItem } from '@polkadot/types/interfaces/authorship';13import type { AllowedSlots, BabeAuthorityWeight, BabeBlockWeight, BabeEpochConfiguration, BabeEquivocationProof, BabeWeight, EpochAuthorship, MaybeRandomness, MaybeVrf, NextConfigDescriptor, NextConfigDescriptorV1, Randomness, RawBabePreDigest, RawBabePreDigestCompat, RawBabePreDigestPrimary, RawBabePreDigestPrimaryTo159, RawBabePreDigestSecondaryPlain, RawBabePreDigestSecondaryTo159, RawBabePreDigestSecondaryVRF, RawBabePreDigestTo159, SlotNumber, VrfData, VrfOutput, VrfProof } from '@polkadot/types/interfaces/babe';14import type { AccountData, BalanceLock, BalanceLockTo212, BalanceStatus, Reasons, ReserveData, ReserveIdentifier, VestingSchedule, WithdrawReasons } from '@polkadot/types/interfaces/balances';15import type { BeefyCommitment, BeefyId, BeefyNextAuthoritySet, BeefyPayload, BeefySignedCommitment, MmrRootHash, ValidatorSetId } from '@polkadot/types/interfaces/beefy';16import type { BridgeMessageId, BridgedBlockHash, BridgedBlockNumber, BridgedHeader, CallOrigin, ChainId, DeliveredMessages, DispatchFeePayment, InboundLaneData, InboundRelayer, InitializationData, LaneId, MessageData, MessageKey, MessageNonce, MessagesDeliveryProofOf, MessagesProofOf, OperatingMode, OutboundLaneData, OutboundMessageFee, OutboundPayload, Parameter, RelayerId, UnrewardedRelayer, UnrewardedRelayersState } from '@polkadot/types/interfaces/bridges';17import type { BlockHash } from '@polkadot/types/interfaces/chain';18import type { PrefixedStorageKey } from '@polkadot/types/interfaces/childstate';19import type { StatementKind } from '@polkadot/types/interfaces/claims';20import type { CollectiveOrigin, MemberCount, ProposalIndex, Votes, VotesTo230 } from '@polkadot/types/interfaces/collective';21import type { AuthorityId, RawVRFOutput } from '@polkadot/types/interfaces/consensus';22import type { AliveContractInfo, CodeHash, ContractCallRequest, ContractExecResult, ContractExecResultErr, ContractExecResultErrModule, ContractExecResultOk, ContractExecResultResult, ContractExecResultSuccessTo255, ContractExecResultSuccessTo260, ContractExecResultTo255, ContractExecResultTo260, ContractExecResultTo267, ContractInfo, ContractInstantiateResult, ContractInstantiateResultTo267, ContractStorageKey, DeletedContract, ExecReturnValue, Gas, HostFnWeights, HostFnWeightsTo264, InstantiateRequest, InstantiateReturnValue, InstantiateReturnValueTo267, InstructionWeights, Limits, LimitsTo264, PrefabWasmModule, RentProjection, Schedule, ScheduleTo212, ScheduleTo258, ScheduleTo264, SeedOf, TombstoneContractInfo, TrieId } from '@polkadot/types/interfaces/contracts';23import type { ContractConstructorSpec, ContractContractSpec, ContractCryptoHasher, ContractDiscriminant, ContractDisplayName, ContractEventParamSpec, ContractEventSpec, ContractLayoutArray, ContractLayoutCell, ContractLayoutEnum, ContractLayoutHash, ContractLayoutHashingStrategy, ContractLayoutKey, ContractLayoutStruct, ContractLayoutStructField, ContractMessageParamSpec, ContractMessageSpec, ContractMetadata, ContractMetadataLatest, ContractMetadataV0, ContractMetadataV1, ContractProject, ContractProjectContract, ContractProjectInfo, ContractProjectSource, ContractProjectV0, ContractSelector, ContractStorageLayout, ContractTypeSpec } from '@polkadot/types/interfaces/contractsAbi';24import type { FundIndex, FundInfo, LastContribution, TrieIndex } from '@polkadot/types/interfaces/crowdloan';25import type { ConfigData, MessageId, OverweightIndex, PageCounter, PageIndexData } from '@polkadot/types/interfaces/cumulus';26import type { AccountVote, AccountVoteSplit, AccountVoteStandard, Conviction, Delegations, PreimageStatus, PreimageStatusAvailable, PriorLock, PropIndex, Proposal, ProxyState, ReferendumIndex, ReferendumInfo, ReferendumInfoFinished, ReferendumInfoTo239, ReferendumStatus, Tally, Voting, VotingDelegating, VotingDirect, VotingDirectVote } from '@polkadot/types/interfaces/democracy';27import type { ApprovalFlag, DefunctVoter, Renouncing, SetIndex, Vote, VoteIndex, VoteThreshold, VoterInfo } from '@polkadot/types/interfaces/elections';28import type { CreatedBlock, ImportedAux } from '@polkadot/types/interfaces/engine';29import type { BlockV0, BlockV1, BlockV2, EIP1559Transaction, EIP2930Transaction, EthAccessList, EthAccessListItem, EthAccount, EthAddress, EthBlock, EthBloom, EthCallRequest, EthFilter, EthFilterAddress, EthFilterChanges, EthFilterTopic, EthFilterTopicEntry, EthFilterTopicInner, EthHeader, EthLog, EthReceipt, EthRichBlock, EthRichHeader, EthStorageProof, EthSubKind, EthSubParams, EthSubResult, EthSyncInfo, EthSyncStatus, EthTransaction, EthTransactionAction, EthTransactionCondition, EthTransactionRequest, EthTransactionSignature, EthTransactionStatus, EthWork, EthereumAccountId, EthereumAddress, EthereumLookupSource, EthereumSignature, LegacyTransaction, TransactionV0, TransactionV1, TransactionV2 } from '@polkadot/types/interfaces/eth';30import type { EvmAccount, EvmLog, EvmVicinity, ExitError, ExitFatal, ExitReason, ExitRevert, ExitSucceed } from '@polkadot/types/interfaces/evm';31import type { AnySignature, EcdsaSignature, Ed25519Signature, Era, Extrinsic, ExtrinsicEra, ExtrinsicPayload, ExtrinsicPayloadUnknown, ExtrinsicPayloadV4, ExtrinsicSignature, ExtrinsicSignatureV4, ExtrinsicUnknown, ExtrinsicV4, ImmortalEra, MortalEra, MultiSignature, Signature, SignerPayload, Sr25519Signature } from '@polkadot/types/interfaces/extrinsics';32import type { AssetOptions, Owner, PermissionLatest, PermissionVersions, PermissionsV1 } from '@polkadot/types/interfaces/genericAsset';33import type { ActiveGilt, ActiveGiltsTotal, ActiveIndex, GiltBid } from '@polkadot/types/interfaces/gilt';34import type { AuthorityIndex, AuthorityList, AuthoritySet, AuthoritySetChange, AuthoritySetChanges, AuthorityWeight, DelayKind, DelayKindBest, EncodedFinalityProofs, ForkTreePendingChange, ForkTreePendingChangeNode, GrandpaCommit, GrandpaEquivocation, GrandpaEquivocationProof, GrandpaEquivocationValue, GrandpaJustification, GrandpaPrecommit, GrandpaPrevote, GrandpaSignedPrecommit, JustificationNotification, KeyOwnerProof, NextAuthority, PendingChange, PendingPause, PendingResume, Precommits, Prevotes, ReportedRoundStates, RoundState, SetId, StoredPendingChange, StoredState } from '@polkadot/types/interfaces/grandpa';35import type { IdentityFields, IdentityInfo, IdentityInfoAdditional, IdentityInfoTo198, IdentityJudgement, RegistrarIndex, RegistrarInfo, Registration, RegistrationJudgement, RegistrationTo198 } from '@polkadot/types/interfaces/identity';36import type { AuthIndex, AuthoritySignature, Heartbeat, HeartbeatTo244, OpaqueMultiaddr, OpaqueNetworkState, OpaquePeerId } from '@polkadot/types/interfaces/imOnline';37import type { CallIndex, LotteryConfig } from '@polkadot/types/interfaces/lottery';38import type { ErrorMetadataLatest, ErrorMetadataV10, ErrorMetadataV11, ErrorMetadataV12, ErrorMetadataV13, ErrorMetadataV14, ErrorMetadataV9, EventMetadataLatest, EventMetadataV10, EventMetadataV11, EventMetadataV12, EventMetadataV13, EventMetadataV14, EventMetadataV9, ExtrinsicMetadataLatest, ExtrinsicMetadataV11, ExtrinsicMetadataV12, ExtrinsicMetadataV13, ExtrinsicMetadataV14, FunctionArgumentMetadataLatest, FunctionArgumentMetadataV10, FunctionArgumentMetadataV11, FunctionArgumentMetadataV12, FunctionArgumentMetadataV13, FunctionArgumentMetadataV14, FunctionArgumentMetadataV9, FunctionMetadataLatest, FunctionMetadataV10, FunctionMetadataV11, FunctionMetadataV12, FunctionMetadataV13, FunctionMetadataV14, FunctionMetadataV9, MetadataAll, MetadataLatest, MetadataV10, MetadataV11, MetadataV12, MetadataV13, MetadataV14, MetadataV9, ModuleConstantMetadataV10, ModuleConstantMetadataV11, ModuleConstantMetadataV12, ModuleConstantMetadataV13, ModuleConstantMetadataV9, ModuleMetadataV10, ModuleMetadataV11, ModuleMetadataV12, ModuleMetadataV13, ModuleMetadataV9, PalletCallMetadataLatest, PalletCallMetadataV14, PalletConstantMetadataLatest, PalletConstantMetadataV14, PalletErrorMetadataLatest, PalletErrorMetadataV14, PalletEventMetadataLatest, PalletEventMetadataV14, PalletMetadataLatest, PalletMetadataV14, PalletStorageMetadataLatest, PalletStorageMetadataV14, PortableRegistry, PortableRegistryV14, PortableType, PortableTypeV14, SignedExtensionMetadataLatest, SignedExtensionMetadataV14, StorageEntryMetadataLatest, StorageEntryMetadataV10, StorageEntryMetadataV11, StorageEntryMetadataV12, StorageEntryMetadataV13, StorageEntryMetadataV14, StorageEntryMetadataV9, StorageEntryModifierLatest, StorageEntryModifierV10, StorageEntryModifierV11, StorageEntryModifierV12, StorageEntryModifierV13, StorageEntryModifierV14, StorageEntryModifierV9, StorageEntryTypeLatest, StorageEntryTypeV10, StorageEntryTypeV11, StorageEntryTypeV12, StorageEntryTypeV13, StorageEntryTypeV14, StorageEntryTypeV9, StorageHasher, StorageHasherV10, StorageHasherV11, StorageHasherV12, StorageHasherV13, StorageHasherV14, StorageHasherV9, StorageMetadataV10, StorageMetadataV11, StorageMetadataV12, StorageMetadataV13, StorageMetadataV9 } from '@polkadot/types/interfaces/metadata';39import type { MmrLeafProof } from '@polkadot/types/interfaces/mmr';40import type { StorageKind } from '@polkadot/types/interfaces/offchain';41import type { DeferredOffenceOf, Kind, OffenceDetails, Offender, OpaqueTimeSlot, ReportIdOf, Reporter } from '@polkadot/types/interfaces/offences';42import type { AbridgedCandidateReceipt, AbridgedHostConfiguration, AbridgedHrmpChannel, AssignmentId, AssignmentKind, AttestedCandidate, AuctionIndex, AuthorityDiscoveryId, AvailabilityBitfield, AvailabilityBitfieldRecord, BackedCandidate, Bidder, BufferedSessionChange, CandidateCommitments, CandidateDescriptor, CandidateHash, CandidateInfo, CandidatePendingAvailability, CandidateReceipt, CollatorId, CollatorSignature, CommittedCandidateReceipt, CoreAssignment, CoreIndex, CoreOccupied, DisputeLocation, DisputeResult, DisputeState, DisputeStatement, DisputeStatementSet, DoubleVoteReport, DownwardMessage, ExplicitDisputeStatement, GlobalValidationData, GlobalValidationSchedule, GroupIndex, HeadData, HostConfiguration, HrmpChannel, HrmpChannelId, HrmpOpenChannelRequest, InboundDownwardMessage, InboundHrmpMessage, InboundHrmpMessages, IncomingParachain, IncomingParachainDeploy, IncomingParachainFixed, InvalidDisputeStatementKind, LeasePeriod, LeasePeriodOf, LocalValidationData, MessageIngestionType, MessageQueueChain, MessagingStateSnapshot, MessagingStateSnapshotEgressEntry, MultiDisputeStatementSet, NewBidder, OutboundHrmpMessage, ParaGenesisArgs, ParaId, ParaInfo, ParaLifecycle, ParaPastCodeMeta, ParaScheduling, ParaValidatorIndex, ParachainDispatchOrigin, ParachainInherentData, ParachainProposal, ParachainsInherentData, ParathreadClaim, ParathreadClaimQueue, ParathreadEntry, PersistedValidationData, QueuedParathread, RegisteredParachainInfo, RelayBlockNumber, RelayChainBlockNumber, RelayChainHash, RelayHash, Remark, ReplacementTimes, Retriable, Scheduling, ServiceQuality, SessionInfo, SessionInfoValidatorGroup, SignedAvailabilityBitfield, SignedAvailabilityBitfields, SigningContext, SlotRange, Statement, SubId, SystemInherentData, TransientValidationData, UpgradeGoAhead, UpgradeRestriction, UpwardMessage, ValidDisputeStatementKind, ValidationCode, ValidationCodeHash, ValidationData, ValidationDataType, ValidationFunctionParams, ValidatorSignature, ValidityAttestation, VecInboundHrmpMessage, WinnersData, WinnersDataTuple, WinningData, WinningDataEntry } from '@polkadot/types/interfaces/parachains';43import type { FeeDetails, InclusionFee, RuntimeDispatchInfo } from '@polkadot/types/interfaces/payment';44import type { Approvals } from '@polkadot/types/interfaces/poll';45import type { ProxyAnnouncement, ProxyDefinition, ProxyType } from '@polkadot/types/interfaces/proxy';46import type { AccountStatus, AccountValidity } from '@polkadot/types/interfaces/purchase';47import type { ActiveRecovery, RecoveryConfig } from '@polkadot/types/interfaces/recovery';48import type { RpcMethods } from '@polkadot/types/interfaces/rpc';49import type { AccountId, AccountId20, AccountId32, AccountIdOf, AccountIndex, Address, AssetId, Balance, BalanceOf, Block, BlockNumber, BlockNumberFor, BlockNumberOf, Call, CallHash, CallHashOf, ChangesTrieConfiguration, ChangesTrieSignal, CodecHash, Consensus, ConsensusEngineId, CrateVersion, Digest, DigestItem, EncodedJustification, ExtrinsicsWeight, Fixed128, Fixed64, FixedI128, FixedI64, FixedU128, FixedU64, H1024, H128, H160, H2048, H256, H32, H512, H64, Hash, Header, HeaderPartial, I32F32, Index, IndicesLookupSource, Justification, Justifications, KeyTypeId, KeyValue, LockIdentifier, LookupSource, LookupTarget, ModuleId, Moment, MultiAddress, MultiSigner, OpaqueCall, Origin, OriginCaller, PalletId, PalletVersion, PalletsOrigin, Pays, PerU16, Perbill, Percent, Permill, Perquintill, Phantom, PhantomData, PreRuntime, Releases, RuntimeDbWeight, Seal, SealV0, SignedBlock, SignedBlockWithJustification, SignedBlockWithJustifications, Slot, StorageData, StorageProof, TransactionInfo, TransactionPriority, TransactionStorageProof, U32F32, ValidatorId, ValidatorIdOf, Weight, WeightMultiplier } from '@polkadot/types/interfaces/runtime';50import type { Si0Field, Si0LookupTypeId, Si0Path, Si0Type, Si0TypeDef, Si0TypeDefArray, Si0TypeDefBitSequence, Si0TypeDefCompact, Si0TypeDefComposite, Si0TypeDefPhantom, Si0TypeDefPrimitive, Si0TypeDefSequence, Si0TypeDefTuple, Si0TypeDefVariant, Si0TypeParameter, Si0Variant, Si1Field, Si1LookupTypeId, Si1Path, Si1Type, Si1TypeDef, Si1TypeDefArray, Si1TypeDefBitSequence, Si1TypeDefCompact, Si1TypeDefComposite, Si1TypeDefPrimitive, Si1TypeDefSequence, Si1TypeDefTuple, Si1TypeDefVariant, Si1TypeParameter, Si1Variant, SiField, SiLookupTypeId, SiPath, SiType, SiTypeDef, SiTypeDefArray, SiTypeDefBitSequence, SiTypeDefCompact, SiTypeDefComposite, SiTypeDefPrimitive, SiTypeDefSequence, SiTypeDefTuple, SiTypeDefVariant, SiTypeParameter, SiVariant } from '@polkadot/types/interfaces/scaleInfo';51import type { Period, Priority, SchedulePeriod, SchedulePriority, Scheduled, ScheduledTo254, TaskAddress } from '@polkadot/types/interfaces/scheduler';52import type { BeefyKey, FullIdentification, IdentificationTuple, Keys, MembershipProof, SessionIndex, SessionKeys1, SessionKeys10, SessionKeys10B, SessionKeys2, SessionKeys3, SessionKeys4, SessionKeys5, SessionKeys6, SessionKeys6B, SessionKeys7, SessionKeys7B, SessionKeys8, SessionKeys8B, SessionKeys9, SessionKeys9B, ValidatorCount } from '@polkadot/types/interfaces/session';53import type { Bid, BidKind, SocietyJudgement, SocietyVote, StrikeCount, VouchingStatus } from '@polkadot/types/interfaces/society';54import type { ActiveEraInfo, CompactAssignments, CompactAssignmentsTo257, CompactAssignmentsTo265, CompactAssignmentsWith16, CompactAssignmentsWith24, CompactScore, CompactScoreCompact, ElectionCompute, ElectionPhase, ElectionResult, ElectionScore, ElectionSize, ElectionStatus, EraIndex, EraPoints, EraRewardPoints, EraRewards, Exposure, ExtendedBalance, Forcing, IndividualExposure, KeyType, MomentOf, Nominations, NominatorIndex, NominatorIndexCompact, OffchainAccuracy, OffchainAccuracyCompact, PhragmenScore, Points, RawSolution, RawSolutionTo265, RawSolutionWith16, RawSolutionWith24, ReadySolution, RewardDestination, RewardPoint, RoundSnapshot, SeatHolder, SignedSubmission, SignedSubmissionOf, SignedSubmissionTo276, SlashJournalEntry, SlashingSpans, SlashingSpansTo204, SolutionOrSnapshotSize, SolutionSupport, SolutionSupports, SpanIndex, SpanRecord, StakingLedger, StakingLedgerTo223, StakingLedgerTo240, SubmissionIndicesOf, Supports, UnappliedSlash, UnappliedSlashOther, UnlockChunk, ValidatorIndex, ValidatorIndexCompact, ValidatorPrefs, ValidatorPrefsTo145, ValidatorPrefsTo196, ValidatorPrefsWithBlocked, ValidatorPrefsWithCommission, VoteWeight, Voter } from '@polkadot/types/interfaces/staking';55import type { ApiId, BlockTrace, BlockTraceEvent, BlockTraceEventData, BlockTraceSpan, KeyValueOption, ReadProof, RuntimeVersion, RuntimeVersionApi, RuntimeVersionPartial, SpecVersion, StorageChangeSet, TraceBlockResponse, TraceError } from '@polkadot/types/interfaces/state';56import type { WeightToFeeCoefficient } from '@polkadot/types/interfaces/support';57import type { AccountInfo, AccountInfoWithDualRefCount, AccountInfoWithProviders, AccountInfoWithRefCount, AccountInfoWithRefCountU8, AccountInfoWithTripleRefCount, ApplyExtrinsicResult, ArithmeticError, BlockLength, BlockWeights, ChainProperties, ChainType, ConsumedWeight, DigestOf, DispatchClass, DispatchError, DispatchErrorModule, DispatchErrorTo198, DispatchInfo, DispatchInfoTo190, DispatchInfoTo244, DispatchOutcome, DispatchResult, DispatchResultOf, DispatchResultTo198, Event, EventId, EventIndex, EventRecord, Health, InvalidTransaction, Key, LastRuntimeUpgradeInfo, NetworkState, NetworkStatePeerset, NetworkStatePeersetInfo, NodeRole, NotConnectedPeer, Peer, PeerEndpoint, PeerEndpointAddr, PeerInfo, PeerPing, PerDispatchClassU32, PerDispatchClassWeight, PerDispatchClassWeightsPerClass, Phase, RawOrigin, RefCount, RefCountTo259, SyncState, SystemOrigin, TokenError, TransactionValidityError, UnknownTransaction, WeightPerClass } from '@polkadot/types/interfaces/system';58import type { Bounty, BountyIndex, BountyStatus, BountyStatusActive, BountyStatusCuratorProposed, BountyStatusPendingPayout, OpenTip, OpenTipFinderTo225, OpenTipTip, OpenTipTo225, TreasuryProposal } from '@polkadot/types/interfaces/treasury';59import type { Multiplier } from '@polkadot/types/interfaces/txpayment';60import type { ClassDetails, ClassId, ClassMetadata, DepositBalance, DepositBalanceOf, DestroyWitness, InstanceDetails, InstanceId, InstanceMetadata } from '@polkadot/types/interfaces/uniques';61import type { Multisig, Timepoint } from '@polkadot/types/interfaces/utility';62import type { VestingInfo } from '@polkadot/types/interfaces/vesting';63import type { AssetInstance, AssetInstanceV0, AssetInstanceV1, AssetInstanceV2, BodyId, BodyPart, DoubleEncodedCall, Fungibility, FungibilityV0, FungibilityV1, FungibilityV2, InboundStatus, InstructionV2, InteriorMultiLocation, Junction, JunctionV0, JunctionV1, JunctionV2, Junctions, JunctionsV1, JunctionsV2, MultiAsset, MultiAssetFilter, MultiAssetFilterV1, MultiAssetFilterV2, MultiAssetV0, MultiAssetV1, MultiAssetV2, MultiAssets, MultiAssetsV1, MultiAssetsV2, MultiLocation, MultiLocationV0, MultiLocationV1, MultiLocationV2, NetworkId, OriginKindV0, OriginKindV1, OriginKindV2, OutboundStatus, Outcome, QueryId, QueryStatus, QueueConfigData, Response, ResponseV0, ResponseV1, ResponseV2, ResponseV2Error, ResponseV2Result, VersionMigrationStage, VersionedMultiAsset, VersionedMultiAssets, VersionedMultiLocation, VersionedResponse, VersionedXcm, WeightLimitV2, WildFungibility, WildFungibilityV0, WildFungibilityV1, WildFungibilityV2, WildMultiAsset, WildMultiAssetV1, WildMultiAssetV2, Xcm, XcmAssetId, XcmError, XcmErrorV0, XcmErrorV1, XcmErrorV2, XcmOrder, XcmOrderV0, XcmOrderV1, XcmOrderV2, XcmOrigin, XcmOriginKind, XcmV0, XcmV1, XcmV2, XcmVersion, XcmpMessageFormat } from '@polkadot/types/interfaces/xcm';6465declare module '@polkadot/types/types/registry' {66  export interface InterfaceTypes {67    AbridgedCandidateReceipt: AbridgedCandidateReceipt;68    AbridgedHostConfiguration: AbridgedHostConfiguration;69    AbridgedHrmpChannel: AbridgedHrmpChannel;70    AccountData: AccountData;71    AccountId: AccountId;72    AccountId20: AccountId20;73    AccountId32: AccountId32;74    AccountIdOf: AccountIdOf;75    AccountIndex: AccountIndex;76    AccountInfo: AccountInfo;77    AccountInfoWithDualRefCount: AccountInfoWithDualRefCount;78    AccountInfoWithProviders: AccountInfoWithProviders;79    AccountInfoWithRefCount: AccountInfoWithRefCount;80    AccountInfoWithRefCountU8: AccountInfoWithRefCountU8;81    AccountInfoWithTripleRefCount: AccountInfoWithTripleRefCount;82    AccountStatus: AccountStatus;83    AccountValidity: AccountValidity;84    AccountVote: AccountVote;85    AccountVoteSplit: AccountVoteSplit;86    AccountVoteStandard: AccountVoteStandard;87    ActiveEraInfo: ActiveEraInfo;88    ActiveGilt: ActiveGilt;89    ActiveGiltsTotal: ActiveGiltsTotal;90    ActiveIndex: ActiveIndex;91    ActiveRecovery: ActiveRecovery;92    Address: Address;93    AliveContractInfo: AliveContractInfo;94    AllowedSlots: AllowedSlots;95    AnySignature: AnySignature;96    ApiId: ApiId;97    ApplyExtrinsicResult: ApplyExtrinsicResult;98    ApprovalFlag: ApprovalFlag;99    Approvals: Approvals;100    ArithmeticError: ArithmeticError;101    AssetApproval: AssetApproval;102    AssetApprovalKey: AssetApprovalKey;103    AssetBalance: AssetBalance;104    AssetDestroyWitness: AssetDestroyWitness;105    AssetDetails: AssetDetails;106    AssetId: AssetId;107    AssetInstance: AssetInstance;108    AssetInstanceV0: AssetInstanceV0;109    AssetInstanceV1: AssetInstanceV1;110    AssetInstanceV2: AssetInstanceV2;111    AssetMetadata: AssetMetadata;112    AssetOptions: AssetOptions;113    AssignmentId: AssignmentId;114    AssignmentKind: AssignmentKind;115    AttestedCandidate: AttestedCandidate;116    AuctionIndex: AuctionIndex;117    AuthIndex: AuthIndex;118    AuthorityDiscoveryId: AuthorityDiscoveryId;119    AuthorityId: AuthorityId;120    AuthorityIndex: AuthorityIndex;121    AuthorityList: AuthorityList;122    AuthoritySet: AuthoritySet;123    AuthoritySetChange: AuthoritySetChange;124    AuthoritySetChanges: AuthoritySetChanges;125    AuthoritySignature: AuthoritySignature;126    AuthorityWeight: AuthorityWeight;127    AvailabilityBitfield: AvailabilityBitfield;128    AvailabilityBitfieldRecord: AvailabilityBitfieldRecord;129    BabeAuthorityWeight: BabeAuthorityWeight;130    BabeBlockWeight: BabeBlockWeight;131    BabeEpochConfiguration: BabeEpochConfiguration;132    BabeEquivocationProof: BabeEquivocationProof;133    BabeWeight: BabeWeight;134    BackedCandidate: BackedCandidate;135    Balance: Balance;136    BalanceLock: BalanceLock;137    BalanceLockTo212: BalanceLockTo212;138    BalanceOf: BalanceOf;139    BalanceStatus: BalanceStatus;140    BeefyCommitment: BeefyCommitment;141    BeefyId: BeefyId;142    BeefyKey: BeefyKey;143    BeefyNextAuthoritySet: BeefyNextAuthoritySet;144    BeefyPayload: BeefyPayload;145    BeefySignedCommitment: BeefySignedCommitment;146    Bid: Bid;147    Bidder: Bidder;148    BidKind: BidKind;149    BitVec: BitVec;150    Block: Block;151    BlockAttestations: BlockAttestations;152    BlockHash: BlockHash;153    BlockLength: BlockLength;154    BlockNumber: BlockNumber;155    BlockNumberFor: BlockNumberFor;156    BlockNumberOf: BlockNumberOf;157    BlockTrace: BlockTrace;158    BlockTraceEvent: BlockTraceEvent;159    BlockTraceEventData: BlockTraceEventData;160    BlockTraceSpan: BlockTraceSpan;161    BlockV0: BlockV0;162    BlockV1: BlockV1;163    BlockV2: BlockV2;164    BlockWeights: BlockWeights;165    BodyId: BodyId;166    BodyPart: BodyPart;167    bool: bool;168    Bool: Bool;169    Bounty: Bounty;170    BountyIndex: BountyIndex;171    BountyStatus: BountyStatus;172    BountyStatusActive: BountyStatusActive;173    BountyStatusCuratorProposed: BountyStatusCuratorProposed;174    BountyStatusPendingPayout: BountyStatusPendingPayout;175    BridgedBlockHash: BridgedBlockHash;176    BridgedBlockNumber: BridgedBlockNumber;177    BridgedHeader: BridgedHeader;178    BridgeMessageId: BridgeMessageId;179    BufferedSessionChange: BufferedSessionChange;180    Bytes: Bytes;181    Call: Call;182    CallHash: CallHash;183    CallHashOf: CallHashOf;184    CallIndex: CallIndex;185    CallOrigin: CallOrigin;186    CandidateCommitments: CandidateCommitments;187    CandidateDescriptor: CandidateDescriptor;188    CandidateHash: CandidateHash;189    CandidateInfo: CandidateInfo;190    CandidatePendingAvailability: CandidatePendingAvailability;191    CandidateReceipt: CandidateReceipt;192    ChainId: ChainId;193    ChainProperties: ChainProperties;194    ChainType: ChainType;195    ChangesTrieConfiguration: ChangesTrieConfiguration;196    ChangesTrieSignal: ChangesTrieSignal;197    ClassDetails: ClassDetails;198    ClassId: ClassId;199    ClassMetadata: ClassMetadata;200    CodecHash: CodecHash;201    CodeHash: CodeHash;202    CollatorId: CollatorId;203    CollatorSignature: CollatorSignature;204    CollectiveOrigin: CollectiveOrigin;205    CommittedCandidateReceipt: CommittedCandidateReceipt;206    CompactAssignments: CompactAssignments;207    CompactAssignmentsTo257: CompactAssignmentsTo257;208    CompactAssignmentsTo265: CompactAssignmentsTo265;209    CompactAssignmentsWith16: CompactAssignmentsWith16;210    CompactAssignmentsWith24: CompactAssignmentsWith24;211    CompactScore: CompactScore;212    CompactScoreCompact: CompactScoreCompact;213    ConfigData: ConfigData;214    Consensus: Consensus;215    ConsensusEngineId: ConsensusEngineId;216    ConsumedWeight: ConsumedWeight;217    ContractCallRequest: ContractCallRequest;218    ContractConstructorSpec: ContractConstructorSpec;219    ContractContractSpec: ContractContractSpec;220    ContractCryptoHasher: ContractCryptoHasher;221    ContractDiscriminant: ContractDiscriminant;222    ContractDisplayName: ContractDisplayName;223    ContractEventParamSpec: ContractEventParamSpec;224    ContractEventSpec: ContractEventSpec;225    ContractExecResult: ContractExecResult;226    ContractExecResultErr: ContractExecResultErr;227    ContractExecResultErrModule: ContractExecResultErrModule;228    ContractExecResultOk: ContractExecResultOk;229    ContractExecResultResult: ContractExecResultResult;230    ContractExecResultSuccessTo255: ContractExecResultSuccessTo255;231    ContractExecResultSuccessTo260: ContractExecResultSuccessTo260;232    ContractExecResultTo255: ContractExecResultTo255;233    ContractExecResultTo260: ContractExecResultTo260;234    ContractExecResultTo267: ContractExecResultTo267;235    ContractInfo: ContractInfo;236    ContractInstantiateResult: ContractInstantiateResult;237    ContractInstantiateResultTo267: ContractInstantiateResultTo267;238    ContractLayoutArray: ContractLayoutArray;239    ContractLayoutCell: ContractLayoutCell;240    ContractLayoutEnum: ContractLayoutEnum;241    ContractLayoutHash: ContractLayoutHash;242    ContractLayoutHashingStrategy: ContractLayoutHashingStrategy;243    ContractLayoutKey: ContractLayoutKey;244    ContractLayoutStruct: ContractLayoutStruct;245    ContractLayoutStructField: ContractLayoutStructField;246    ContractMessageParamSpec: ContractMessageParamSpec;247    ContractMessageSpec: ContractMessageSpec;248    ContractMetadata: ContractMetadata;249    ContractMetadataLatest: ContractMetadataLatest;250    ContractMetadataV0: ContractMetadataV0;251    ContractMetadataV1: ContractMetadataV1;252    ContractProject: ContractProject;253    ContractProjectContract: ContractProjectContract;254    ContractProjectInfo: ContractProjectInfo;255    ContractProjectSource: ContractProjectSource;256    ContractProjectV0: ContractProjectV0;257    ContractSelector: ContractSelector;258    ContractStorageKey: ContractStorageKey;259    ContractStorageLayout: ContractStorageLayout;260    ContractTypeSpec: ContractTypeSpec;261    Conviction: Conviction;262    CoreAssignment: CoreAssignment;263    CoreIndex: CoreIndex;264    CoreOccupied: CoreOccupied;265    CrateVersion: CrateVersion;266    CreatedBlock: CreatedBlock;267    CumulusPalletDmpQueueConfigData: CumulusPalletDmpQueueConfigData;268    CumulusPalletDmpQueuePageIndexData: CumulusPalletDmpQueuePageIndexData;269    CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot;270    CumulusPalletXcmpQueueInboundStatus: CumulusPalletXcmpQueueInboundStatus;271    CumulusPalletXcmpQueueOutboundStatus: CumulusPalletXcmpQueueOutboundStatus;272    CumulusPalletXcmpQueueQueueConfigData: CumulusPalletXcmpQueueQueueConfigData;273    CumulusPrimitivesParachainInherentParachainInherentData: CumulusPrimitivesParachainInherentParachainInherentData;274    Data: Data;275    DeferredOffenceOf: DeferredOffenceOf;276    DefunctVoter: DefunctVoter;277    DelayKind: DelayKind;278    DelayKindBest: DelayKindBest;279    Delegations: Delegations;280    DeletedContract: DeletedContract;281    DeliveredMessages: DeliveredMessages;282    DepositBalance: DepositBalance;283    DepositBalanceOf: DepositBalanceOf;284    DestroyWitness: DestroyWitness;285    Digest: Digest;286    DigestItem: DigestItem;287    DigestOf: DigestOf;288    DispatchClass: DispatchClass;289    DispatchError: DispatchError;290    DispatchErrorModule: DispatchErrorModule;291    DispatchErrorTo198: DispatchErrorTo198;292    DispatchFeePayment: DispatchFeePayment;293    DispatchInfo: DispatchInfo;294    DispatchInfoTo190: DispatchInfoTo190;295    DispatchInfoTo244: DispatchInfoTo244;296    DispatchOutcome: DispatchOutcome;297    DispatchResult: DispatchResult;298    DispatchResultOf: DispatchResultOf;299    DispatchResultTo198: DispatchResultTo198;300    DisputeLocation: DisputeLocation;301    DisputeResult: DisputeResult;302    DisputeState: DisputeState;303    DisputeStatement: DisputeStatement;304    DisputeStatementSet: DisputeStatementSet;305    DoubleEncodedCall: DoubleEncodedCall;306    DoubleVoteReport: DoubleVoteReport;307    DownwardMessage: DownwardMessage;308    EcdsaSignature: EcdsaSignature;309    Ed25519Signature: Ed25519Signature;310    EIP1559Transaction: EIP1559Transaction;311    EIP2930Transaction: EIP2930Transaction;312    ElectionCompute: ElectionCompute;313    ElectionPhase: ElectionPhase;314    ElectionResult: ElectionResult;315    ElectionScore: ElectionScore;316    ElectionSize: ElectionSize;317    ElectionStatus: ElectionStatus;318    EncodedFinalityProofs: EncodedFinalityProofs;319    EncodedJustification: EncodedJustification;320    EpochAuthorship: EpochAuthorship;321    Era: Era;322    EraIndex: EraIndex;323    EraPoints: EraPoints;324    EraRewardPoints: EraRewardPoints;325    EraRewards: EraRewards;326    ErrorMetadataLatest: ErrorMetadataLatest;327    ErrorMetadataV10: ErrorMetadataV10;328    ErrorMetadataV11: ErrorMetadataV11;329    ErrorMetadataV12: ErrorMetadataV12;330    ErrorMetadataV13: ErrorMetadataV13;331    ErrorMetadataV14: ErrorMetadataV14;332    ErrorMetadataV9: ErrorMetadataV9;333    EthAccessList: EthAccessList;334    EthAccessListItem: EthAccessListItem;335    EthAccount: EthAccount;336    EthAddress: EthAddress;337    EthBlock: EthBlock;338    EthBloom: EthBloom;339    EthCallRequest: EthCallRequest;340    EthereumAccountId: EthereumAccountId;341    EthereumAddress: EthereumAddress;342    EthereumBlock: EthereumBlock;343    EthereumLog: EthereumLog;344    EthereumLookupSource: EthereumLookupSource;345    EthereumReceipt: EthereumReceipt;346    EthereumSignature: EthereumSignature;347    EthereumTransactionLegacyTransaction: EthereumTransactionLegacyTransaction;348    EthFilter: EthFilter;349    EthFilterAddress: EthFilterAddress;350    EthFilterChanges: EthFilterChanges;351    EthFilterTopic: EthFilterTopic;352    EthFilterTopicEntry: EthFilterTopicEntry;353    EthFilterTopicInner: EthFilterTopicInner;354    EthHeader: EthHeader;355    EthLog: EthLog;356    EthReceipt: EthReceipt;357    EthRichBlock: EthRichBlock;358    EthRichHeader: EthRichHeader;359    EthStorageProof: EthStorageProof;360    EthSubKind: EthSubKind;361    EthSubParams: EthSubParams;362    EthSubResult: EthSubResult;363    EthSyncInfo: EthSyncInfo;364    EthSyncStatus: EthSyncStatus;365    EthTransaction: EthTransaction;366    EthTransactionAction: EthTransactionAction;367    EthTransactionCondition: EthTransactionCondition;368    EthTransactionRequest: EthTransactionRequest;369    EthTransactionSignature: EthTransactionSignature;370    EthTransactionStatus: EthTransactionStatus;371    EthWork: EthWork;372    Event: Event;373    EventId: EventId;374    EventIndex: EventIndex;375    EventMetadataLatest: EventMetadataLatest;376    EventMetadataV10: EventMetadataV10;377    EventMetadataV11: EventMetadataV11;378    EventMetadataV12: EventMetadataV12;379    EventMetadataV13: EventMetadataV13;380    EventMetadataV14: EventMetadataV14;381    EventMetadataV9: EventMetadataV9;382    EventRecord: EventRecord;383    EvmAccount: EvmAccount;384    EvmCoreErrorExitReason: EvmCoreErrorExitReason;385    EvmLog: EvmLog;386    EvmVicinity: EvmVicinity;387    ExecReturnValue: ExecReturnValue;388    ExitError: ExitError;389    ExitFatal: ExitFatal;390    ExitReason: ExitReason;391    ExitRevert: ExitRevert;392    ExitSucceed: ExitSucceed;393    ExplicitDisputeStatement: ExplicitDisputeStatement;394    Exposure: Exposure;395    ExtendedBalance: ExtendedBalance;396    Extrinsic: Extrinsic;397    ExtrinsicEra: ExtrinsicEra;398    ExtrinsicMetadataLatest: ExtrinsicMetadataLatest;399    ExtrinsicMetadataV11: ExtrinsicMetadataV11;400    ExtrinsicMetadataV12: ExtrinsicMetadataV12;401    ExtrinsicMetadataV13: ExtrinsicMetadataV13;402    ExtrinsicMetadataV14: ExtrinsicMetadataV14;403    ExtrinsicOrHash: ExtrinsicOrHash;404    ExtrinsicPayload: ExtrinsicPayload;405    ExtrinsicPayloadUnknown: ExtrinsicPayloadUnknown;406    ExtrinsicPayloadV4: ExtrinsicPayloadV4;407    ExtrinsicSignature: ExtrinsicSignature;408    ExtrinsicSignatureV4: ExtrinsicSignatureV4;409    ExtrinsicStatus: ExtrinsicStatus;410    ExtrinsicsWeight: ExtrinsicsWeight;411    ExtrinsicUnknown: ExtrinsicUnknown;412    ExtrinsicV4: ExtrinsicV4;413    FeeDetails: FeeDetails;414    Fixed128: Fixed128;415    Fixed64: Fixed64;416    FixedI128: FixedI128;417    FixedI64: FixedI64;418    FixedU128: FixedU128;419    FixedU64: FixedU64;420    Forcing: Forcing;421    ForkTreePendingChange: ForkTreePendingChange;422    ForkTreePendingChangeNode: ForkTreePendingChangeNode;423    FpRpcTransactionStatus: FpRpcTransactionStatus;424    FullIdentification: FullIdentification;425    FunctionArgumentMetadataLatest: FunctionArgumentMetadataLatest;426    FunctionArgumentMetadataV10: FunctionArgumentMetadataV10;427    FunctionArgumentMetadataV11: FunctionArgumentMetadataV11;428    FunctionArgumentMetadataV12: FunctionArgumentMetadataV12;429    FunctionArgumentMetadataV13: FunctionArgumentMetadataV13;430    FunctionArgumentMetadataV14: FunctionArgumentMetadataV14;431    FunctionArgumentMetadataV9: FunctionArgumentMetadataV9;432    FunctionMetadataLatest: FunctionMetadataLatest;433    FunctionMetadataV10: FunctionMetadataV10;434    FunctionMetadataV11: FunctionMetadataV11;435    FunctionMetadataV12: FunctionMetadataV12;436    FunctionMetadataV13: FunctionMetadataV13;437    FunctionMetadataV14: FunctionMetadataV14;438    FunctionMetadataV9: FunctionMetadataV9;439    FundIndex: FundIndex;440    FundInfo: FundInfo;441    Fungibility: Fungibility;442    FungibilityV0: FungibilityV0;443    FungibilityV1: FungibilityV1;444    FungibilityV2: FungibilityV2;445    Gas: Gas;446    GiltBid: GiltBid;447    GlobalValidationData: GlobalValidationData;448    GlobalValidationSchedule: GlobalValidationSchedule;449    GrandpaCommit: GrandpaCommit;450    GrandpaEquivocation: GrandpaEquivocation;451    GrandpaEquivocationProof: GrandpaEquivocationProof;452    GrandpaEquivocationValue: GrandpaEquivocationValue;453    GrandpaJustification: GrandpaJustification;454    GrandpaPrecommit: GrandpaPrecommit;455    GrandpaPrevote: GrandpaPrevote;456    GrandpaSignedPrecommit: GrandpaSignedPrecommit;457    GroupIndex: GroupIndex;458    H1024: H1024;459    H128: H128;460    H160: H160;461    H2048: H2048;462    H256: H256;463    H32: H32;464    H512: H512;465    H64: H64;466    Hash: Hash;467    HeadData: HeadData;468    Header: Header;469    HeaderPartial: HeaderPartial;470    Health: Health;471    Heartbeat: Heartbeat;472    HeartbeatTo244: HeartbeatTo244;473    HostConfiguration: HostConfiguration;474    HostFnWeights: HostFnWeights;475    HostFnWeightsTo264: HostFnWeightsTo264;476    HrmpChannel: HrmpChannel;477    HrmpChannelId: HrmpChannelId;478    HrmpOpenChannelRequest: HrmpOpenChannelRequest;479    i128: i128;480    I128: I128;481    i16: i16;482    I16: I16;483    i256: i256;484    I256: I256;485    i32: i32;486    I32: I32;487    I32F32: I32F32;488    i64: i64;489    I64: I64;490    i8: i8;491    I8: I8;492    IdentificationTuple: IdentificationTuple;493    IdentityFields: IdentityFields;494    IdentityInfo: IdentityInfo;495    IdentityInfoAdditional: IdentityInfoAdditional;496    IdentityInfoTo198: IdentityInfoTo198;497    IdentityJudgement: IdentityJudgement;498    ImmortalEra: ImmortalEra;499    ImportedAux: ImportedAux;500    InboundDownwardMessage: InboundDownwardMessage;501    InboundHrmpMessage: InboundHrmpMessage;502    InboundHrmpMessages: InboundHrmpMessages;503    InboundLaneData: InboundLaneData;504    InboundRelayer: InboundRelayer;505    InboundStatus: InboundStatus;506    IncludedBlocks: IncludedBlocks;507    InclusionFee: InclusionFee;508    IncomingParachain: IncomingParachain;509    IncomingParachainDeploy: IncomingParachainDeploy;510    IncomingParachainFixed: IncomingParachainFixed;511    Index: Index;512    IndicesLookupSource: IndicesLookupSource;513    IndividualExposure: IndividualExposure;514    InitializationData: InitializationData;515    InstanceDetails: InstanceDetails;516    InstanceId: InstanceId;517    InstanceMetadata: InstanceMetadata;518    InstantiateRequest: InstantiateRequest;519    InstantiateReturnValue: InstantiateReturnValue;520    InstantiateReturnValueTo267: InstantiateReturnValueTo267;521    InstructionV2: InstructionV2;522    InstructionWeights: InstructionWeights;523    InteriorMultiLocation: InteriorMultiLocation;524    InvalidDisputeStatementKind: InvalidDisputeStatementKind;525    InvalidTransaction: InvalidTransaction;526    Json: Json;527    Junction: Junction;528    Junctions: Junctions;529    JunctionsV1: JunctionsV1;530    JunctionsV2: JunctionsV2;531    JunctionV0: JunctionV0;532    JunctionV1: JunctionV1;533    JunctionV2: JunctionV2;534    Justification: Justification;535    JustificationNotification: JustificationNotification;536    Justifications: Justifications;537    Key: Key;538    KeyOwnerProof: KeyOwnerProof;539    Keys: Keys;540    KeyType: KeyType;541    KeyTypeId: KeyTypeId;542    KeyValue: KeyValue;543    KeyValueOption: KeyValueOption;544    Kind: Kind;545    LaneId: LaneId;546    LastContribution: LastContribution;547    LastRuntimeUpgradeInfo: LastRuntimeUpgradeInfo;548    LeasePeriod: LeasePeriod;549    LeasePeriodOf: LeasePeriodOf;550    LegacyTransaction: LegacyTransaction;551    Limits: Limits;552    LimitsTo264: LimitsTo264;553    LocalValidationData: LocalValidationData;554    LockIdentifier: LockIdentifier;555    LookupSource: LookupSource;556    LookupTarget: LookupTarget;557    LotteryConfig: LotteryConfig;558    MaybeRandomness: MaybeRandomness;559    MaybeVrf: MaybeVrf;560    MemberCount: MemberCount;561    MembershipProof: MembershipProof;562    MessageData: MessageData;563    MessageId: MessageId;564    MessageIngestionType: MessageIngestionType;565    MessageKey: MessageKey;566    MessageNonce: MessageNonce;567    MessageQueueChain: MessageQueueChain;568    MessagesDeliveryProofOf: MessagesDeliveryProofOf;569    MessagesProofOf: MessagesProofOf;570    MessagingStateSnapshot: MessagingStateSnapshot;571    MessagingStateSnapshotEgressEntry: MessagingStateSnapshotEgressEntry;572    MetadataAll: MetadataAll;573    MetadataLatest: MetadataLatest;574    MetadataV10: MetadataV10;575    MetadataV11: MetadataV11;576    MetadataV12: MetadataV12;577    MetadataV13: MetadataV13;578    MetadataV14: MetadataV14;579    MetadataV9: MetadataV9;580    MmrLeafProof: MmrLeafProof;581    MmrRootHash: MmrRootHash;582    ModuleConstantMetadataV10: ModuleConstantMetadataV10;583    ModuleConstantMetadataV11: ModuleConstantMetadataV11;584    ModuleConstantMetadataV12: ModuleConstantMetadataV12;585    ModuleConstantMetadataV13: ModuleConstantMetadataV13;586    ModuleConstantMetadataV9: ModuleConstantMetadataV9;587    ModuleId: ModuleId;588    ModuleMetadataV10: ModuleMetadataV10;589    ModuleMetadataV11: ModuleMetadataV11;590    ModuleMetadataV12: ModuleMetadataV12;591    ModuleMetadataV13: ModuleMetadataV13;592    ModuleMetadataV9: ModuleMetadataV9;593    Moment: Moment;594    MomentOf: MomentOf;595    MoreAttestations: MoreAttestations;596    MortalEra: MortalEra;597    MultiAddress: MultiAddress;598    MultiAsset: MultiAsset;599    MultiAssetFilter: MultiAssetFilter;600    MultiAssetFilterV1: MultiAssetFilterV1;601    MultiAssetFilterV2: MultiAssetFilterV2;602    MultiAssets: MultiAssets;603    MultiAssetsV1: MultiAssetsV1;604    MultiAssetsV2: MultiAssetsV2;605    MultiAssetV0: MultiAssetV0;606    MultiAssetV1: MultiAssetV1;607    MultiAssetV2: MultiAssetV2;608    MultiDisputeStatementSet: MultiDisputeStatementSet;609    MultiLocation: MultiLocation;610    MultiLocationV0: MultiLocationV0;611    MultiLocationV1: MultiLocationV1;612    MultiLocationV2: MultiLocationV2;613    Multiplier: Multiplier;614    Multisig: Multisig;615    MultiSignature: MultiSignature;616    MultiSigner: MultiSigner;617    NetworkId: NetworkId;618    NetworkState: NetworkState;619    NetworkStatePeerset: NetworkStatePeerset;620    NetworkStatePeersetInfo: NetworkStatePeersetInfo;621    NewBidder: NewBidder;622    NextAuthority: NextAuthority;623    NextConfigDescriptor: NextConfigDescriptor;624    NextConfigDescriptorV1: NextConfigDescriptorV1;625    NodeRole: NodeRole;626    Nominations: Nominations;627    NominatorIndex: NominatorIndex;628    NominatorIndexCompact: NominatorIndexCompact;629    NotConnectedPeer: NotConnectedPeer;630    Null: Null;631    OffchainAccuracy: OffchainAccuracy;632    OffchainAccuracyCompact: OffchainAccuracyCompact;633    OffenceDetails: OffenceDetails;634    Offender: Offender;635    OpaqueCall: OpaqueCall;636    OpaqueMultiaddr: OpaqueMultiaddr;637    OpaqueNetworkState: OpaqueNetworkState;638    OpaquePeerId: OpaquePeerId;639    OpaqueTimeSlot: OpaqueTimeSlot;640    OpenTip: OpenTip;641    OpenTipFinderTo225: OpenTipFinderTo225;642    OpenTipTip: OpenTipTip;643    OpenTipTo225: OpenTipTo225;644    OperatingMode: OperatingMode;645    Origin: Origin;646    OriginCaller: OriginCaller;647    OriginKindV0: OriginKindV0;648    OriginKindV1: OriginKindV1;649    OriginKindV2: OriginKindV2;650    OutboundHrmpMessage: OutboundHrmpMessage;651    OutboundLaneData: OutboundLaneData;652    OutboundMessageFee: OutboundMessageFee;653    OutboundPayload: OutboundPayload;654    OutboundStatus: OutboundStatus;655    Outcome: Outcome;656    OverweightIndex: OverweightIndex;657    Owner: Owner;658    PageCounter: PageCounter;659    PageIndexData: PageIndexData;660    PalletCallMetadataLatest: PalletCallMetadataLatest;661    PalletCallMetadataV14: PalletCallMetadataV14;662    PalletCommonAccountBasicCrossAccountIdRepr: PalletCommonAccountBasicCrossAccountIdRepr;663    PalletConstantMetadataLatest: PalletConstantMetadataLatest;664    PalletConstantMetadataV14: PalletConstantMetadataV14;665    PalletErrorMetadataLatest: PalletErrorMetadataLatest;666    PalletErrorMetadataV14: PalletErrorMetadataV14;667    PalletEventMetadataLatest: PalletEventMetadataLatest;668    PalletEventMetadataV14: PalletEventMetadataV14;669    PalletId: PalletId;670    PalletMetadataLatest: PalletMetadataLatest;671    PalletMetadataV14: PalletMetadataV14;672    PalletNonfungibleItemData: PalletNonfungibleItemData;673    PalletRefungibleItemData: PalletRefungibleItemData;674    PalletsOrigin: PalletsOrigin;675    PalletStorageMetadataLatest: PalletStorageMetadataLatest;676    PalletStorageMetadataV14: PalletStorageMetadataV14;677    PalletUnqSchedulerCallSpec: PalletUnqSchedulerCallSpec;678    PalletUnqSchedulerReleases: PalletUnqSchedulerReleases;679    PalletUnqSchedulerScheduledV2: PalletUnqSchedulerScheduledV2;680    PalletVersion: PalletVersion;681    ParachainDispatchOrigin: ParachainDispatchOrigin;682    ParachainInherentData: ParachainInherentData;683    ParachainProposal: ParachainProposal;684    ParachainsInherentData: ParachainsInherentData;685    ParaGenesisArgs: ParaGenesisArgs;686    ParaId: ParaId;687    ParaInfo: ParaInfo;688    ParaLifecycle: ParaLifecycle;689    Parameter: Parameter;690    ParaPastCodeMeta: ParaPastCodeMeta;691    ParaScheduling: ParaScheduling;692    ParathreadClaim: ParathreadClaim;693    ParathreadClaimQueue: ParathreadClaimQueue;694    ParathreadEntry: ParathreadEntry;695    ParaValidatorIndex: ParaValidatorIndex;696    Pays: Pays;697    Peer: Peer;698    PeerEndpoint: PeerEndpoint;699    PeerEndpointAddr: PeerEndpointAddr;700    PeerInfo: PeerInfo;701    PeerPing: PeerPing;702    PendingChange: PendingChange;703    PendingPause: PendingPause;704    PendingResume: PendingResume;705    Perbill: Perbill;706    Percent: Percent;707    PerDispatchClassU32: PerDispatchClassU32;708    PerDispatchClassWeight: PerDispatchClassWeight;709    PerDispatchClassWeightsPerClass: PerDispatchClassWeightsPerClass;710    Period: Period;711    Permill: Permill;712    PermissionLatest: PermissionLatest;713    PermissionsV1: PermissionsV1;714    PermissionVersions: PermissionVersions;715    Perquintill: Perquintill;716    PersistedValidationData: PersistedValidationData;717    PerU16: PerU16;718    Phantom: Phantom;719    PhantomData: PhantomData;720    Phase: Phase;721    PhragmenScore: PhragmenScore;722    Points: Points;723    PolkadotParachainPrimitivesXcmpMessageFormat: PolkadotParachainPrimitivesXcmpMessageFormat;724    PolkadotPrimitivesV1AbridgedHostConfiguration: PolkadotPrimitivesV1AbridgedHostConfiguration;725    PolkadotPrimitivesV1PersistedValidationData: PolkadotPrimitivesV1PersistedValidationData;726    PortableRegistry: PortableRegistry;727    PortableRegistryV14: PortableRegistryV14;728    PortableType: PortableType;729    PortableTypeV14: PortableTypeV14;730    Precommits: Precommits;731    PrefabWasmModule: PrefabWasmModule;732    PrefixedStorageKey: PrefixedStorageKey;733    PreimageStatus: PreimageStatus;734    PreimageStatusAvailable: PreimageStatusAvailable;735    PreRuntime: PreRuntime;736    Prevotes: Prevotes;737    Priority: Priority;738    PriorLock: PriorLock;739    PropIndex: PropIndex;740    Proposal: Proposal;741    ProposalIndex: ProposalIndex;742    ProxyAnnouncement: ProxyAnnouncement;743    ProxyDefinition: ProxyDefinition;744    ProxyState: ProxyState;745    ProxyType: ProxyType;746    QueryId: QueryId;747    QueryStatus: QueryStatus;748    QueueConfigData: QueueConfigData;749    QueuedParathread: QueuedParathread;750    Randomness: Randomness;751    Raw: Raw;752    RawAuraPreDigest: RawAuraPreDigest;753    RawBabePreDigest: RawBabePreDigest;754    RawBabePreDigestCompat: RawBabePreDigestCompat;755    RawBabePreDigestPrimary: RawBabePreDigestPrimary;756    RawBabePreDigestPrimaryTo159: RawBabePreDigestPrimaryTo159;757    RawBabePreDigestSecondaryPlain: RawBabePreDigestSecondaryPlain;758    RawBabePreDigestSecondaryTo159: RawBabePreDigestSecondaryTo159;759    RawBabePreDigestSecondaryVRF: RawBabePreDigestSecondaryVRF;760    RawBabePreDigestTo159: RawBabePreDigestTo159;761    RawOrigin: RawOrigin;762    RawSolution: RawSolution;763    RawSolutionTo265: RawSolutionTo265;764    RawSolutionWith16: RawSolutionWith16;765    RawSolutionWith24: RawSolutionWith24;766    RawVRFOutput: RawVRFOutput;767    ReadProof: ReadProof;768    ReadySolution: ReadySolution;769    Reasons: Reasons;770    RecoveryConfig: RecoveryConfig;771    RefCount: RefCount;772    RefCountTo259: RefCountTo259;773    ReferendumIndex: ReferendumIndex;774    ReferendumInfo: ReferendumInfo;775    ReferendumInfoFinished: ReferendumInfoFinished;776    ReferendumInfoTo239: ReferendumInfoTo239;777    ReferendumStatus: ReferendumStatus;778    RegisteredParachainInfo: RegisteredParachainInfo;779    RegistrarIndex: RegistrarIndex;780    RegistrarInfo: RegistrarInfo;781    Registration: Registration;782    RegistrationJudgement: RegistrationJudgement;783    RegistrationTo198: RegistrationTo198;784    RelayBlockNumber: RelayBlockNumber;785    RelayChainBlockNumber: RelayChainBlockNumber;786    RelayChainHash: RelayChainHash;787    RelayerId: RelayerId;788    RelayHash: RelayHash;789    Releases: Releases;790    Remark: Remark;791    Renouncing: Renouncing;792    RentProjection: RentProjection;793    ReplacementTimes: ReplacementTimes;794    ReportedRoundStates: ReportedRoundStates;795    Reporter: Reporter;796    ReportIdOf: ReportIdOf;797    ReserveData: ReserveData;798    ReserveIdentifier: ReserveIdentifier;799    Response: Response;800    ResponseV0: ResponseV0;801    ResponseV1: ResponseV1;802    ResponseV2: ResponseV2;803    ResponseV2Error: ResponseV2Error;804    ResponseV2Result: ResponseV2Result;805    Retriable: Retriable;806    RewardDestination: RewardDestination;807    RewardPoint: RewardPoint;808    RoundSnapshot: RoundSnapshot;809    RoundState: RoundState;810    RpcMethods: RpcMethods;811    RuntimeDbWeight: RuntimeDbWeight;812    RuntimeDispatchInfo: RuntimeDispatchInfo;813    RuntimeVersion: RuntimeVersion;814    RuntimeVersionApi: RuntimeVersionApi;815    RuntimeVersionPartial: RuntimeVersionPartial;816    Schedule: Schedule;817    Scheduled: Scheduled;818    ScheduledTo254: ScheduledTo254;819    SchedulePeriod: SchedulePeriod;820    SchedulePriority: SchedulePriority;821    ScheduleTo212: ScheduleTo212;822    ScheduleTo258: ScheduleTo258;823    ScheduleTo264: ScheduleTo264;824    Scheduling: Scheduling;825    Seal: Seal;826    SealV0: SealV0;827    SeatHolder: SeatHolder;828    SeedOf: SeedOf;829    ServiceQuality: ServiceQuality;830    SessionIndex: SessionIndex;831    SessionInfo: SessionInfo;832    SessionInfoValidatorGroup: SessionInfoValidatorGroup;833    SessionKeys1: SessionKeys1;834    SessionKeys10: SessionKeys10;835    SessionKeys10B: SessionKeys10B;836    SessionKeys2: SessionKeys2;837    SessionKeys3: SessionKeys3;838    SessionKeys4: SessionKeys4;839    SessionKeys5: SessionKeys5;840    SessionKeys6: SessionKeys6;841    SessionKeys6B: SessionKeys6B;842    SessionKeys7: SessionKeys7;843    SessionKeys7B: SessionKeys7B;844    SessionKeys8: SessionKeys8;845    SessionKeys8B: SessionKeys8B;846    SessionKeys9: SessionKeys9;847    SessionKeys9B: SessionKeys9B;848    SetId: SetId;849    SetIndex: SetIndex;850    Si0Field: Si0Field;851    Si0LookupTypeId: Si0LookupTypeId;852    Si0Path: Si0Path;853    Si0Type: Si0Type;854    Si0TypeDef: Si0TypeDef;855    Si0TypeDefArray: Si0TypeDefArray;856    Si0TypeDefBitSequence: Si0TypeDefBitSequence;857    Si0TypeDefCompact: Si0TypeDefCompact;858    Si0TypeDefComposite: Si0TypeDefComposite;859    Si0TypeDefPhantom: Si0TypeDefPhantom;860    Si0TypeDefPrimitive: Si0TypeDefPrimitive;861    Si0TypeDefSequence: Si0TypeDefSequence;862    Si0TypeDefTuple: Si0TypeDefTuple;863    Si0TypeDefVariant: Si0TypeDefVariant;864    Si0TypeParameter: Si0TypeParameter;865    Si0Variant: Si0Variant;866    Si1Field: Si1Field;867    Si1LookupTypeId: Si1LookupTypeId;868    Si1Path: Si1Path;869    Si1Type: Si1Type;870    Si1TypeDef: Si1TypeDef;871    Si1TypeDefArray: Si1TypeDefArray;872    Si1TypeDefBitSequence: Si1TypeDefBitSequence;873    Si1TypeDefCompact: Si1TypeDefCompact;874    Si1TypeDefComposite: Si1TypeDefComposite;875    Si1TypeDefPrimitive: Si1TypeDefPrimitive;876    Si1TypeDefSequence: Si1TypeDefSequence;877    Si1TypeDefTuple: Si1TypeDefTuple;878    Si1TypeDefVariant: Si1TypeDefVariant;879    Si1TypeParameter: Si1TypeParameter;880    Si1Variant: Si1Variant;881    SiField: SiField;882    Signature: Signature;883    SignedAvailabilityBitfield: SignedAvailabilityBitfield;884    SignedAvailabilityBitfields: SignedAvailabilityBitfields;885    SignedBlock: SignedBlock;886    SignedBlockWithJustification: SignedBlockWithJustification;887    SignedBlockWithJustifications: SignedBlockWithJustifications;888    SignedExtensionMetadataLatest: SignedExtensionMetadataLatest;889    SignedExtensionMetadataV14: SignedExtensionMetadataV14;890    SignedSubmission: SignedSubmission;891    SignedSubmissionOf: SignedSubmissionOf;892    SignedSubmissionTo276: SignedSubmissionTo276;893    SignerPayload: SignerPayload;894    SigningContext: SigningContext;895    SiLookupTypeId: SiLookupTypeId;896    SiPath: SiPath;897    SiType: SiType;898    SiTypeDef: SiTypeDef;899    SiTypeDefArray: SiTypeDefArray;900    SiTypeDefBitSequence: SiTypeDefBitSequence;901    SiTypeDefCompact: SiTypeDefCompact;902    SiTypeDefComposite: SiTypeDefComposite;903    SiTypeDefPrimitive: SiTypeDefPrimitive;904    SiTypeDefSequence: SiTypeDefSequence;905    SiTypeDefTuple: SiTypeDefTuple;906    SiTypeDefVariant: SiTypeDefVariant;907    SiTypeParameter: SiTypeParameter;908    SiVariant: SiVariant;909    SlashingSpans: SlashingSpans;910    SlashingSpansTo204: SlashingSpansTo204;911    SlashJournalEntry: SlashJournalEntry;912    Slot: Slot;913    SlotNumber: SlotNumber;914    SlotRange: SlotRange;915    SocietyJudgement: SocietyJudgement;916    SocietyVote: SocietyVote;917    SolutionOrSnapshotSize: SolutionOrSnapshotSize;918    SolutionSupport: SolutionSupport;919    SolutionSupports: SolutionSupports;920    SpanIndex: SpanIndex;921    SpanRecord: SpanRecord;922    SpecVersion: SpecVersion;923    Sr25519Signature: Sr25519Signature;924    StakingLedger: StakingLedger;925    StakingLedgerTo223: StakingLedgerTo223;926    StakingLedgerTo240: StakingLedgerTo240;927    Statement: Statement;928    StatementKind: StatementKind;929    StorageChangeSet: StorageChangeSet;930    StorageData: StorageData;931    StorageEntryMetadataLatest: StorageEntryMetadataLatest;932    StorageEntryMetadataV10: StorageEntryMetadataV10;933    StorageEntryMetadataV11: StorageEntryMetadataV11;934    StorageEntryMetadataV12: StorageEntryMetadataV12;935    StorageEntryMetadataV13: StorageEntryMetadataV13;936    StorageEntryMetadataV14: StorageEntryMetadataV14;937    StorageEntryMetadataV9: StorageEntryMetadataV9;938    StorageEntryModifierLatest: StorageEntryModifierLatest;939    StorageEntryModifierV10: StorageEntryModifierV10;940    StorageEntryModifierV11: StorageEntryModifierV11;941    StorageEntryModifierV12: StorageEntryModifierV12;942    StorageEntryModifierV13: StorageEntryModifierV13;943    StorageEntryModifierV14: StorageEntryModifierV14;944    StorageEntryModifierV9: StorageEntryModifierV9;945    StorageEntryTypeLatest: StorageEntryTypeLatest;946    StorageEntryTypeV10: StorageEntryTypeV10;947    StorageEntryTypeV11: StorageEntryTypeV11;948    StorageEntryTypeV12: StorageEntryTypeV12;949    StorageEntryTypeV13: StorageEntryTypeV13;950    StorageEntryTypeV14: StorageEntryTypeV14;951    StorageEntryTypeV9: StorageEntryTypeV9;952    StorageHasher: StorageHasher;953    StorageHasherV10: StorageHasherV10;954    StorageHasherV11: StorageHasherV11;955    StorageHasherV12: StorageHasherV12;956    StorageHasherV13: StorageHasherV13;957    StorageHasherV14: StorageHasherV14;958    StorageHasherV9: StorageHasherV9;959    StorageKey: StorageKey;960    StorageKind: StorageKind;961    StorageMetadataV10: StorageMetadataV10;962    StorageMetadataV11: StorageMetadataV11;963    StorageMetadataV12: StorageMetadataV12;964    StorageMetadataV13: StorageMetadataV13;965    StorageMetadataV9: StorageMetadataV9;966    StorageProof: StorageProof;967    StoredPendingChange: StoredPendingChange;968    StoredState: StoredState;969    StrikeCount: StrikeCount;970    SubId: SubId;971    SubmissionIndicesOf: SubmissionIndicesOf;972    Supports: Supports;973    SyncState: SyncState;974    SystemInherentData: SystemInherentData;975    SystemOrigin: SystemOrigin;976    Tally: Tally;977    TaskAddress: TaskAddress;978    TAssetBalance: TAssetBalance;979    TAssetDepositBalance: TAssetDepositBalance;980    Text: Text;981    Timepoint: Timepoint;982    TokenError: TokenError;983    TombstoneContractInfo: TombstoneContractInfo;984    TraceBlockResponse: TraceBlockResponse;985    TraceError: TraceError;986    TransactionInfo: TransactionInfo;987    TransactionPriority: TransactionPriority;988    TransactionStorageProof: TransactionStorageProof;989    TransactionV0: TransactionV0;990    TransactionV1: TransactionV1;991    TransactionV2: TransactionV2;992    TransactionValidityError: TransactionValidityError;993    TransientValidationData: TransientValidationData;994    TreasuryProposal: TreasuryProposal;995    TrieId: TrieId;996    TrieIndex: TrieIndex;997    Type: Type;998    u128: u128;999    U128: U128;1000    u16: u16;1001    U16: U16;1002    u256: u256;1003    U256: U256;1004    u32: u32;1005    U32: U32;1006    U32F32: U32F32;1007    u64: u64;1008    U64: U64;1009    u8: u8;1010    U8: U8;1011    UnappliedSlash: UnappliedSlash;1012    UnappliedSlashOther: UnappliedSlashOther;1013    UncleEntryItem: UncleEntryItem;1014    UnknownTransaction: UnknownTransaction;1015    UnlockChunk: UnlockChunk;1016    UnrewardedRelayer: UnrewardedRelayer;1017    UnrewardedRelayersState: UnrewardedRelayersState;1018    UpDataStructsAccessMode: UpDataStructsAccessMode;1019    UpDataStructsCollection: UpDataStructsCollection;1020    UpDataStructsCollectionId: UpDataStructsCollectionId;1021    UpDataStructsCollectionLimits: UpDataStructsCollectionLimits;1022    UpDataStructsCollectionMode: UpDataStructsCollectionMode;1023    UpDataStructsCollectionStats: UpDataStructsCollectionStats;1024    UpDataStructsCreateItemData: UpDataStructsCreateItemData;1025    UpDataStructsMetaUpdatePermission: UpDataStructsMetaUpdatePermission;1026    UpDataStructsSchemaVersion: UpDataStructsSchemaVersion;1027    UpDataStructsSponsorshipState: UpDataStructsSponsorshipState;1028    UpDataStructsTokenId: UpDataStructsTokenId;1029    UpgradeGoAhead: UpgradeGoAhead;1030    UpgradeRestriction: UpgradeRestriction;1031    UpwardMessage: UpwardMessage;1032    usize: usize;1033    USize: USize;1034    ValidationCode: ValidationCode;1035    ValidationCodeHash: ValidationCodeHash;1036    ValidationData: ValidationData;1037    ValidationDataType: ValidationDataType;1038    ValidationFunctionParams: ValidationFunctionParams;1039    ValidatorCount: ValidatorCount;1040    ValidatorId: ValidatorId;1041    ValidatorIdOf: ValidatorIdOf;1042    ValidatorIndex: ValidatorIndex;1043    ValidatorIndexCompact: ValidatorIndexCompact;1044    ValidatorPrefs: ValidatorPrefs;1045    ValidatorPrefsTo145: ValidatorPrefsTo145;1046    ValidatorPrefsTo196: ValidatorPrefsTo196;1047    ValidatorPrefsWithBlocked: ValidatorPrefsWithBlocked;1048    ValidatorPrefsWithCommission: ValidatorPrefsWithCommission;1049    ValidatorSetId: ValidatorSetId;1050    ValidatorSignature: ValidatorSignature;1051    ValidDisputeStatementKind: ValidDisputeStatementKind;1052    ValidityAttestation: ValidityAttestation;1053    VecInboundHrmpMessage: VecInboundHrmpMessage;1054    VersionedMultiAsset: VersionedMultiAsset;1055    VersionedMultiAssets: VersionedMultiAssets;1056    VersionedMultiLocation: VersionedMultiLocation;1057    VersionedResponse: VersionedResponse;1058    VersionedXcm: VersionedXcm;1059    VersionMigrationStage: VersionMigrationStage;1060    VestingInfo: VestingInfo;1061    VestingSchedule: VestingSchedule;1062    Vote: Vote;1063    VoteIndex: VoteIndex;1064    Voter: Voter;1065    VoterInfo: VoterInfo;1066    Votes: Votes;1067    VotesTo230: VotesTo230;1068    VoteThreshold: VoteThreshold;1069    VoteWeight: VoteWeight;1070    Voting: Voting;1071    VotingDelegating: VotingDelegating;1072    VotingDirect: VotingDirect;1073    VotingDirectVote: VotingDirectVote;1074    VouchingStatus: VouchingStatus;1075    VrfData: VrfData;1076    VrfOutput: VrfOutput;1077    VrfProof: VrfProof;1078    Weight: Weight;1079    WeightLimitV2: WeightLimitV2;1080    WeightMultiplier: WeightMultiplier;1081    WeightPerClass: WeightPerClass;1082    WeightToFeeCoefficient: WeightToFeeCoefficient;1083    WildFungibility: WildFungibility;1084    WildFungibilityV0: WildFungibilityV0;1085    WildFungibilityV1: WildFungibilityV1;1086    WildFungibilityV2: WildFungibilityV2;1087    WildMultiAsset: WildMultiAsset;1088    WildMultiAssetV1: WildMultiAssetV1;1089    WildMultiAssetV2: WildMultiAssetV2;1090    WinnersData: WinnersData;1091    WinnersDataTuple: WinnersDataTuple;1092    WinningData: WinningData;1093    WinningDataEntry: WinningDataEntry;1094    WithdrawReasons: WithdrawReasons;1095    Xcm: Xcm;1096    XcmAssetId: XcmAssetId;1097    XcmError: XcmError;1098    XcmErrorV0: XcmErrorV0;1099    XcmErrorV1: XcmErrorV1;1100    XcmErrorV2: XcmErrorV2;1101    XcmOrder: XcmOrder;1102    XcmOrderV0: XcmOrderV0;1103    XcmOrderV1: XcmOrderV1;1104    XcmOrderV2: XcmOrderV2;1105    XcmOrigin: XcmOrigin;1106    XcmOriginKind: XcmOriginKind;1107    XcmpMessageFormat: XcmpMessageFormat;1108    XcmV0: XcmV0;1109    XcmV1: XcmV1;1110    XcmV2: XcmV2;1111    XcmVersion: XcmVersion;1112  }1113}
modifiedtests/src/interfaces/definitions.tsdiffbeforeafterboth
--- a/tests/src/interfaces/definitions.ts
+++ b/tests/src/interfaces/definitions.ts
@@ -1,3 +1,3 @@
-export {default as nft} from './nft/definitions';
+export {default as unique} from './unique/definitions';
 export {default as ethereum} from './ethereum/definitions';
 export {default as polkadot} from './polkadot/definitions';
deletedtests/src/interfaces/nft/definitions.tsdiffbeforeafterboth
--- a/tests/src/interfaces/nft/definitions.ts
+++ /dev/null
@@ -1,110 +0,0 @@
-function mkDummy(name: string) {
-  return {
-    ['dummy' + name]: 'u32',
-  };
-}
-
-type RpcParam = {
-  name: string;
-  type: string;
-  isOptional?: true;
-};
-
-const CROSS_ACCOUNT_ID_TYPE = 'PalletCommonAccountBasicCrossAccountIdRepr';
-const TOKEN_ID_TYPE = 'NftDataStructsTokenId';
-
-const collectionParam = {name: 'collection', type: 'NftDataStructsCollectionId'};
-const tokenParam = {name: 'tokenId', type: TOKEN_ID_TYPE};
-const crossAccountParam = (name = 'account') => ({name, type: CROSS_ACCOUNT_ID_TYPE});
-const atParam = {name: 'at', type: 'Hash', isOptional: true};
-
-const fun = (description: string, params: RpcParam[], type: string) => ({
-  description,
-  params: [...params, atParam],
-  type,
-});
-
-export default {
-  rpc: {
-    adminlist: fun('Get admin list', [collectionParam], 'Vec<PalletCommonAccountBasicCrossAccountIdRepr>'),
-    allowlist: fun('Get allowlist', [collectionParam], 'Vec<PalletCommonAccountBasicCrossAccountIdRepr>'),
-
-    accountTokens: fun('Get tokens owned by account', [collectionParam, crossAccountParam()], 'Vec<NftDataStructsTokenId>'),
-    collectionTokens: fun('Get tokens contained in collection', [collectionParam], 'Vec<NftDataStructsTokenId>'),
-
-    lastTokenId: fun('Get last token id', [collectionParam], TOKEN_ID_TYPE),
-    accountBalance: fun('Get amount of different user tokens', [collectionParam, crossAccountParam()], 'u32'),
-    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),
-    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'),
-    collectionById: fun('Get collection by specified id', [collectionParam], 'Option<NftDataStructsCollection>'),
-    collectionStats: fun('Get collection stats', [], 'NftDataStructsCollectionStats'),
-    allowed: fun('Check if user is allowed to use collection', [collectionParam, crossAccountParam()], 'bool'),
-  },
-  types: {
-    PalletCommonAccountBasicCrossAccountIdRepr: {
-      _enum: {
-        Substrate: 'AccountId',
-        Ethereum: 'H160',
-      },
-    },
-    NftDataStructsCollection: {
-      owner: 'AccountId',
-      mode: 'NftDataStructsCollectionMode',
-      access: 'NftDataStructsAccessMode',
-      name: 'Vec<u16>',
-      description: 'Vec<u16>',
-      tokenPrefix: 'Vec<u8>',
-      mintMode: 'bool',
-      offchainSchema: 'Vec<u8>',
-      schemaVersion: 'NftDataStructsSchemaVersion',
-      sponsorship: 'NftDataStructsSponsorshipState',
-      limits: 'NftDataStructsCollectionLimits',
-      variableOnChainSchema: 'Vec<u8>',
-      constOnChainSchema: 'Vec<u8>',
-      metaUpdatePermission: 'NftDataStructsMetaUpdatePermission',
-    },
-    NftDataStructsCollectionStats: {
-      created: 'u32',
-      destroyed: 'u32',
-      alive: 'u32',
-    },
-    NftDataStructsCollectionId: 'u32',
-    NftDataStructsTokenId: 'u32',
-    PalletNonfungibleItemData: mkDummy('NftItemData'),
-    PalletRefungibleItemData: mkDummy('RftItemData'),
-    NftDataStructsCollectionMode: mkDummy('CollectionMode'),
-    NftDataStructsCreateItemData: mkDummy('CreateItemData'),
-    NftDataStructsCollectionLimits: {
-      accountTokenOwnershipLimit: 'Option<u32>',
-      sponsoredDataSize: 'Option<u32>',
-      sponsoredDataRateLimit: 'Option<u32>',
-      tokenLimit: 'Option<u32>',
-      sponsorTransferTimeout: 'Option<u32>',
-      ownerCanTransfer: 'Option<bool>',
-      ownerCanDestroy: 'Option<bool>',
-      transfersEnabled: 'Option<bool>',
-    },
-    NftDataStructsMetaUpdatePermission: {
-      _enum: ['ItemOwner', 'Admin', 'None'],
-    },
-    NftDataStructsSponsorshipState: {
-      _enum: {
-        Disabled: null,
-        Unconfirmed: 'AccountId',
-        Confirmed: 'AccountId',
-      },
-    },
-    NftDataStructsAccessMode: {
-      _enum: ['Normal', 'AllowList'],
-    },
-    NftDataStructsSchemaVersion: mkDummy('SchemaVersion'),
-
-    PalletUnqSchedulerScheduledV2: mkDummy('ScheduledV2'),
-    PalletUnqSchedulerCallSpec: mkDummy('CallSpec'),
-    PalletUnqSchedulerReleases: mkDummy('Releases'),
-  },
-};
deletedtests/src/interfaces/nft/index.tsdiffbeforeafterboth
--- a/tests/src/interfaces/nft/index.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-// Auto-generated via `yarn polkadot-types-from-defs`, do not edit
-/* eslint-disable */
-
-export * from './types';
deletedtests/src/interfaces/nft/types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/nft/types.ts
+++ /dev/null
@@ -1,120 +0,0 @@
-// Auto-generated via `yarn polkadot-types-from-defs`, do not edit
-/* eslint-disable */
-
-import type { Bytes, Enum, Option, Struct, Vec, bool, u16, u32 } from '@polkadot/types';
-import type { AccountId, H160 } from '@polkadot/types/interfaces/runtime';
-
-/** @name NftDataStructsAccessMode */
-export interface NftDataStructsAccessMode extends Enum {
-  readonly isNormal: boolean;
-  readonly isAllowList: boolean;
-}
-
-/** @name NftDataStructsCollection */
-export interface NftDataStructsCollection extends Struct {
-  readonly owner: AccountId;
-  readonly mode: NftDataStructsCollectionMode;
-  readonly access: NftDataStructsAccessMode;
-  readonly name: Vec<u16>;
-  readonly description: Vec<u16>;
-  readonly tokenPrefix: Bytes;
-  readonly mintMode: bool;
-  readonly offchainSchema: Bytes;
-  readonly schemaVersion: NftDataStructsSchemaVersion;
-  readonly sponsorship: NftDataStructsSponsorshipState;
-  readonly limits: NftDataStructsCollectionLimits;
-  readonly variableOnChainSchema: Bytes;
-  readonly constOnChainSchema: Bytes;
-  readonly metaUpdatePermission: NftDataStructsMetaUpdatePermission;
-}
-
-/** @name NftDataStructsCollectionId */
-export interface NftDataStructsCollectionId extends u32 {}
-
-/** @name NftDataStructsCollectionLimits */
-export interface NftDataStructsCollectionLimits extends Struct {
-  readonly accountTokenOwnershipLimit: Option<u32>;
-  readonly sponsoredDataSize: Option<u32>;
-  readonly sponsoredDataRateLimit: Option<u32>;
-  readonly tokenLimit: Option<u32>;
-  readonly sponsorTransferTimeout: Option<u32>;
-  readonly ownerCanTransfer: Option<bool>;
-  readonly ownerCanDestroy: Option<bool>;
-  readonly transfersEnabled: Option<bool>;
-}
-
-/** @name NftDataStructsCollectionMode */
-export interface NftDataStructsCollectionMode extends Struct {
-  readonly dummyCollectionMode: u32;
-}
-
-/** @name NftDataStructsCollectionStats */
-export interface NftDataStructsCollectionStats extends Struct {
-  readonly created: u32;
-  readonly destroyed: u32;
-  readonly alive: u32;
-}
-
-/** @name NftDataStructsCreateItemData */
-export interface NftDataStructsCreateItemData extends Struct {
-  readonly dummyCreateItemData: u32;
-}
-
-/** @name NftDataStructsMetaUpdatePermission */
-export interface NftDataStructsMetaUpdatePermission extends Enum {
-  readonly isItemOwner: boolean;
-  readonly isAdmin: boolean;
-  readonly isNone: boolean;
-}
-
-/** @name NftDataStructsSchemaVersion */
-export interface NftDataStructsSchemaVersion extends Struct {
-  readonly dummySchemaVersion: u32;
-}
-
-/** @name NftDataStructsSponsorshipState */
-export interface NftDataStructsSponsorshipState extends Enum {
-  readonly isDisabled: boolean;
-  readonly isUnconfirmed: boolean;
-  readonly asUnconfirmed: AccountId;
-  readonly isConfirmed: boolean;
-  readonly asConfirmed: AccountId;
-}
-
-/** @name NftDataStructsTokenId */
-export interface NftDataStructsTokenId extends u32 {}
-
-/** @name PalletCommonAccountBasicCrossAccountIdRepr */
-export interface PalletCommonAccountBasicCrossAccountIdRepr extends Enum {
-  readonly isSubstrate: boolean;
-  readonly asSubstrate: AccountId;
-  readonly isEthereum: boolean;
-  readonly asEthereum: H160;
-}
-
-/** @name PalletNonfungibleItemData */
-export interface PalletNonfungibleItemData extends Struct {
-  readonly dummyNftItemData: u32;
-}
-
-/** @name PalletRefungibleItemData */
-export interface PalletRefungibleItemData extends Struct {
-  readonly dummyRftItemData: u32;
-}
-
-/** @name PalletUnqSchedulerCallSpec */
-export interface PalletUnqSchedulerCallSpec extends Struct {
-  readonly dummyCallSpec: u32;
-}
-
-/** @name PalletUnqSchedulerReleases */
-export interface PalletUnqSchedulerReleases extends Struct {
-  readonly dummyReleases: u32;
-}
-
-/** @name PalletUnqSchedulerScheduledV2 */
-export interface PalletUnqSchedulerScheduledV2 extends Struct {
-  readonly dummyScheduledV2: u32;
-}
-
-export type PHANTOM_NFT = 'nft';
modifiedtests/src/interfaces/types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/types.ts
+++ b/tests/src/interfaces/types.ts
@@ -1,6 +1,6 @@
 // Auto-generated via `yarn polkadot-types-from-defs`, do not edit
 /* eslint-disable */
 
-export * from './nft/types';
+export * from './unique/types';
 export * from './ethereum/types';
 export * from './polkadot/types';
addedtests/src/interfaces/unique/definitions.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/interfaces/unique/definitions.ts
@@ -0,0 +1,110 @@
+function mkDummy(name: string) {
+  return {
+    ['dummy' + name]: 'u32',
+  };
+}
+
+type RpcParam = {
+  name: string;
+  type: string;
+  isOptional?: true;
+};
+
+const CROSS_ACCOUNT_ID_TYPE = 'PalletCommonAccountBasicCrossAccountIdRepr';
+const TOKEN_ID_TYPE = 'UpDataStructsTokenId';
+
+const collectionParam = {name: 'collection', type: 'UpDataStructsCollectionId'};
+const tokenParam = {name: 'tokenId', type: TOKEN_ID_TYPE};
+const crossAccountParam = (name = 'account') => ({name, type: CROSS_ACCOUNT_ID_TYPE});
+const atParam = {name: 'at', type: 'Hash', isOptional: true};
+
+const fun = (description: string, params: RpcParam[], type: string) => ({
+  description,
+  params: [...params, atParam],
+  type,
+});
+
+export default {
+  rpc: {
+    adminlist: fun('Get admin list', [collectionParam], 'Vec<PalletCommonAccountBasicCrossAccountIdRepr>'),
+    allowlist: fun('Get allowlist', [collectionParam], 'Vec<PalletCommonAccountBasicCrossAccountIdRepr>'),
+
+    accountTokens: fun('Get tokens owned by account', [collectionParam, crossAccountParam()], 'Vec<UpDataStructsTokenId>'),
+    collectionTokens: fun('Get tokens contained in collection', [collectionParam], 'Vec<UpDataStructsTokenId>'),
+
+    lastTokenId: fun('Get last token id', [collectionParam], TOKEN_ID_TYPE),
+    accountBalance: fun('Get amount of different user tokens', [collectionParam, crossAccountParam()], 'u32'),
+    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),
+    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'),
+    collectionById: fun('Get collection by specified id', [collectionParam], 'Option<UpDataStructsCollection>'),
+    collectionStats: fun('Get collection stats', [], 'UpDataStructsCollectionStats'),
+    allowed: fun('Check if user is allowed to use collection', [collectionParam, crossAccountParam()], 'bool'),
+  },
+  types: {
+    PalletCommonAccountBasicCrossAccountIdRepr: {
+      _enum: {
+        Substrate: 'AccountId',
+        Ethereum: 'H160',
+      },
+    },
+    UpDataStructsCollection: {
+      owner: 'AccountId',
+      mode: 'UpDataStructsCollectionMode',
+      access: 'UpDataStructsAccessMode',
+      name: 'Vec<u16>',
+      description: 'Vec<u16>',
+      tokenPrefix: 'Vec<u8>',
+      mintMode: 'bool',
+      offchainSchema: 'Vec<u8>',
+      schemaVersion: 'UpDataStructsSchemaVersion',
+      sponsorship: 'UpDataStructsSponsorshipState',
+      limits: 'UpDataStructsCollectionLimits',
+      variableOnChainSchema: 'Vec<u8>',
+      constOnChainSchema: 'Vec<u8>',
+      metaUpdatePermission: 'UpDataStructsMetaUpdatePermission',
+    },
+    UpDataStructsCollectionStats: {
+      created: 'u32',
+      destroyed: 'u32',
+      alive: 'u32',
+    },
+    UpDataStructsCollectionId: 'u32',
+    UpDataStructsTokenId: 'u32',
+    PalletNonfungibleItemData: mkDummy('NftItemData'),
+    PalletRefungibleItemData: mkDummy('RftItemData'),
+    UpDataStructsCollectionMode: mkDummy('CollectionMode'),
+    UpDataStructsCreateItemData: mkDummy('CreateItemData'),
+    UpDataStructsCollectionLimits: {
+      accountTokenOwnershipLimit: 'Option<u32>',
+      sponsoredDataSize: 'Option<u32>',
+      sponsoredDataRateLimit: 'Option<u32>',
+      tokenLimit: 'Option<u32>',
+      sponsorTransferTimeout: 'Option<u32>',
+      ownerCanTransfer: 'Option<bool>',
+      ownerCanDestroy: 'Option<bool>',
+      transfersEnabled: 'Option<bool>',
+    },
+    UpDataStructsMetaUpdatePermission: {
+      _enum: ['ItemOwner', 'Admin', 'None'],
+    },
+    UpDataStructsSponsorshipState: {
+      _enum: {
+        Disabled: null,
+        Unconfirmed: 'AccountId',
+        Confirmed: 'AccountId',
+      },
+    },
+    UpDataStructsAccessMode: {
+      _enum: ['Normal', 'AllowList'],
+    },
+    UpDataStructsSchemaVersion: mkDummy('SchemaVersion'),
+
+    PalletUnqSchedulerScheduledV2: mkDummy('ScheduledV2'),
+    PalletUnqSchedulerCallSpec: mkDummy('CallSpec'),
+    PalletUnqSchedulerReleases: mkDummy('Releases'),
+  },
+};
addedtests/src/interfaces/unique/index.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/interfaces/unique/index.ts
@@ -0,0 +1,4 @@
+// Auto-generated via `yarn polkadot-types-from-defs`, do not edit
+/* eslint-disable */
+
+export * from './types';
addedtests/src/interfaces/unique/types.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/interfaces/unique/types.ts
@@ -0,0 +1,120 @@
+// Auto-generated via `yarn polkadot-types-from-defs`, do not edit
+/* eslint-disable */
+
+import type { Bytes, Enum, Option, Struct, Vec, bool, u16, u32 } from '@polkadot/types';
+import type { AccountId, H160 } from '@polkadot/types/interfaces/runtime';
+
+/** @name PalletCommonAccountBasicCrossAccountIdRepr */
+export interface PalletCommonAccountBasicCrossAccountIdRepr extends Enum {
+  readonly isSubstrate: boolean;
+  readonly asSubstrate: AccountId;
+  readonly isEthereum: boolean;
+  readonly asEthereum: H160;
+}
+
+/** @name PalletNonfungibleItemData */
+export interface PalletNonfungibleItemData extends Struct {
+  readonly dummyNftItemData: u32;
+}
+
+/** @name PalletRefungibleItemData */
+export interface PalletRefungibleItemData extends Struct {
+  readonly dummyRftItemData: u32;
+}
+
+/** @name PalletUnqSchedulerCallSpec */
+export interface PalletUnqSchedulerCallSpec extends Struct {
+  readonly dummyCallSpec: u32;
+}
+
+/** @name PalletUnqSchedulerReleases */
+export interface PalletUnqSchedulerReleases extends Struct {
+  readonly dummyReleases: u32;
+}
+
+/** @name PalletUnqSchedulerScheduledV2 */
+export interface PalletUnqSchedulerScheduledV2 extends Struct {
+  readonly dummyScheduledV2: u32;
+}
+
+/** @name UpDataStructsAccessMode */
+export interface UpDataStructsAccessMode extends Enum {
+  readonly isNormal: boolean;
+  readonly isAllowList: boolean;
+}
+
+/** @name UpDataStructsCollection */
+export interface UpDataStructsCollection extends Struct {
+  readonly owner: AccountId;
+  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 UpDataStructsCollectionId */
+export interface UpDataStructsCollectionId extends u32 {}
+
+/** @name UpDataStructsCollectionLimits */
+export interface UpDataStructsCollectionLimits extends Struct {
+  readonly accountTokenOwnershipLimit: Option<u32>;
+  readonly sponsoredDataSize: Option<u32>;
+  readonly sponsoredDataRateLimit: Option<u32>;
+  readonly tokenLimit: Option<u32>;
+  readonly sponsorTransferTimeout: Option<u32>;
+  readonly ownerCanTransfer: Option<bool>;
+  readonly ownerCanDestroy: Option<bool>;
+  readonly transfersEnabled: Option<bool>;
+}
+
+/** @name UpDataStructsCollectionMode */
+export interface UpDataStructsCollectionMode extends Struct {
+  readonly dummyCollectionMode: u32;
+}
+
+/** @name UpDataStructsCollectionStats */
+export interface UpDataStructsCollectionStats extends Struct {
+  readonly created: u32;
+  readonly destroyed: u32;
+  readonly alive: u32;
+}
+
+/** @name UpDataStructsCreateItemData */
+export interface UpDataStructsCreateItemData extends Struct {
+  readonly dummyCreateItemData: u32;
+}
+
+/** @name UpDataStructsMetaUpdatePermission */
+export interface UpDataStructsMetaUpdatePermission extends Enum {
+  readonly isItemOwner: boolean;
+  readonly isAdmin: boolean;
+  readonly isNone: boolean;
+}
+
+/** @name UpDataStructsSchemaVersion */
+export interface UpDataStructsSchemaVersion extends Struct {
+  readonly dummySchemaVersion: u32;
+}
+
+/** @name UpDataStructsSponsorshipState */
+export interface UpDataStructsSponsorshipState extends Enum {
+  readonly isDisabled: boolean;
+  readonly isUnconfirmed: boolean;
+  readonly asUnconfirmed: AccountId;
+  readonly isConfirmed: boolean;
+  readonly asConfirmed: AccountId;
+}
+
+/** @name UpDataStructsTokenId */
+export interface UpDataStructsTokenId extends u32 {}
+
+export type PHANTOM_UNIQUE = 'unique';
modifiedtests/src/util/helpers.tsdiffbeforeafterboth
--- a/tests/src/util/helpers.ts
+++ b/tests/src/util/helpers.ts
@@ -11,7 +11,7 @@
 import chai from 'chai';
 import chaiAsPromised from 'chai-as-promised';
 import {alicesPublicKey} from '../accounts';
-import {NftDataStructsCollection} from '../interfaces';
+import {UpDataStructsCollection} from '../interfaces';
 import privateKey from '../substrate/privateKey';
 import {default as usingApi, submitTransactionAsync, submitTransactionExpectFailAsync} from '../substrate/substrate-api';
 import {hexToStr, strToUTF16, utf16ToStr} from './util';
@@ -105,7 +105,7 @@
 }
 
 interface IGetMessage {
-  checkMsgNftMethod: string;
+  checkMsgUnqMethod: string;
   checkMsgTrsMethod: string;
   checkMsgSysMethod: string;
 }
@@ -133,13 +133,13 @@
   variableData: number[];
 }
 
-export function nftEventMessage(events: EventRecord[]): IGetMessage {
-  let checkMsgNftMethod = '';
+export function uniqueEventMessage(events: EventRecord[]): IGetMessage {
+  let checkMsgUnqMethod = '';
   let checkMsgTrsMethod = '';
   let checkMsgSysMethod = '';
   events.forEach(({event: {method, section}}) => {
     if (section === 'common') {
-      checkMsgNftMethod = method;
+      checkMsgUnqMethod = method;
     } else if (section === 'treasury') {
       checkMsgTrsMethod = method;
     } else if (section === 'system') {
@@ -147,7 +147,7 @@
     } else { return null; }
   });
   const result: IGetMessage = {
-    checkMsgNftMethod,
+    checkMsgUnqMethod,
     checkMsgTrsMethod,
     checkMsgSysMethod,
   };
@@ -716,8 +716,8 @@
   tokenId: number, owner: IKeyringPair, approved: CrossAccountId | string, amount: number | bigint = 1,
 ) {
   await usingApi(async (api: ApiPromise) => {
-    const approveNftTx = api.tx.unique.approve(normalizeAccountId(approved), collectionId, tokenId, amount);
-    const events = await submitTransactionAsync(owner, approveNftTx);
+    const approveUniqueTx = api.tx.unique.approve(normalizeAccountId(approved), collectionId, tokenId, amount);
+    const events = await submitTransactionAsync(owner, approveUniqueTx);
     const result = getGenericResult(events);
     expect(result.success).to.be.true;
 
@@ -730,8 +730,8 @@
   tokenId: number, admin: IKeyringPair, owner: CrossAccountId | string, approved: CrossAccountId | string, amount: number | bigint = 1,
 ) {
   await usingApi(async (api: ApiPromise) => {
-    const approveNftTx = api.tx.unique.approve(normalizeAccountId(approved), collectionId, tokenId, amount);
-    const events = await submitTransactionAsync(admin, approveNftTx);
+    const approveUniqueTx = api.tx.unique.approve(normalizeAccountId(approved), collectionId, tokenId, amount);
+    const events = await submitTransactionAsync(admin, approveUniqueTx);
     const result = getGenericResult(events);
     expect(result.success).to.be.true;
 
@@ -920,8 +920,8 @@
   tokenId: number, owner: IKeyringPair, approved: IKeyringPair, amount: number | bigint = 1,
 ) {
   await usingApi(async (api: ApiPromise) => {
-    const approveNftTx = api.tx.unique.approve(normalizeAccountId(approved.address), collectionId, tokenId, amount);
-    const events = await expect(submitTransactionExpectFailAsync(owner, approveNftTx)).to.be.rejected;
+    const approveUniqueTx = api.tx.unique.approve(normalizeAccountId(approved.address), collectionId, tokenId, amount);
+    const events = await expect(submitTransactionExpectFailAsync(owner, approveUniqueTx)).to.be.rejected;
     const result = getCreateCollectionResult(events);
     // tslint:disable-next-line:no-unused-expression
     expect(result.success).to.be.false;
@@ -1212,7 +1212,7 @@
 }
 
 export const getDetailedCollectionInfo = async (api: ApiPromise, collectionId: number)
-  : Promise<NftDataStructsCollection | null> => {
+  : Promise<UpDataStructsCollection | null> => {
   return (await api.rpc.unique.collectionById(collectionId)).unwrapOr(null);
 };
 
@@ -1221,7 +1221,7 @@
   return (await api.rpc.unique.collectionStats()).created.toNumber();
 };
 
-export async function queryCollectionExpectSuccess(api: ApiPromise, collectionId: number): Promise<NftDataStructsCollection> {
+export async function queryCollectionExpectSuccess(api: ApiPromise, collectionId: number): Promise<UpDataStructsCollection> {
   return (await api.rpc.unique.collectionById(collectionId)).unwrap();
 }