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

difftreelog

test createCollectionEx

Yaroslav Bolyukin2022-01-11parent: #e637581.patch.diff
in: master

14 files changed

modifiedtests/package.jsondiffbeforeafterboth
--- a/tests/package.json
+++ b/tests/package.json
@@ -67,9 +67,10 @@
     "testPalletPresence": "mocha --timeout 9999999 -r ts-node/register ./**/pallet-presence.test.ts",
     "testBlockProduction": "mocha --timeout 9999999 -r ts-node/register ./**/block-production.test.ts",
     "testEnableDisableTransfers": "mocha --timeout 9999999 -r ts-node/register ./**/enableDisableTransfer.test.ts",
+    "polkadot-types-fetch-metadata": "curl -H 'Content-Type: application/json' -d '{\"id\":\"1\", \"jsonrpc\":\"2.0\", \"method\": \"state_getMetadata\", \"params\":[]}' http://localhost:9933 > src/interfaces/metadata.json",
     "polkadot-types-from-defs": "ts-node ./node_modules/.bin/polkadot-types-from-defs --input src/interfaces/ --package .",
-    "polkadot-types-from-chain": "ts-node ./node_modules/.bin/polkadot-types-from-chain --endpoint ws://localhost:9944 --output src/interfaces/ --package .",
-    "polkadot-types": "yarn polkadot-types-from-defs && yarn polkadot-types-from-chain"
+    "polkadot-types-from-chain": "ts-node ./node_modules/.bin/polkadot-types-from-chain --endpoint src/interfaces/metadata.json --output src/interfaces/ --package .",
+    "polkadot-types": "yarn polkadot-types-fetch-metadata && yarn polkadot-types-from-defs && yarn polkadot-types-from-chain"
   },
   "author": "",
   "license": "SEE LICENSE IN ../LICENSE",
modifiedtests/src/check-event/createCollectionEvent.test.tsdiffbeforeafterboth
--- a/tests/src/check-event/createCollectionEvent.test.ts
+++ b/tests/src/check-event/createCollectionEvent.test.ts
@@ -27,7 +27,7 @@
   });
   it('Check event from createCollection(): ', async () => {
     await usingApi(async (api: ApiPromise) => {
-      const tx = api.tx.unique.createCollection([0x31], [0x32], '0x33', 'NFT');
+      const tx = api.tx.unique.createCollectionEx({name: [0x31], description: [0x32], tokenPrefix: '0x33', mode: 'NFT'});
       const events = await submitTransactionAsync(alice, tx);
       const msg = JSON.stringify(uniqueEventMessage(events));
       expect(msg).to.be.contain(checkSection);
modifiedtests/src/createCollection.test.tsdiffbeforeafterboth
--- a/tests/src/createCollection.test.ts
+++ b/tests/src/createCollection.test.ts
@@ -3,12 +3,11 @@
 // file 'LICENSE', which is part of this source code package.
 //
 
-import chai from 'chai';
-import chaiAsPromised from 'chai-as-promised';
-import {createCollectionExpectFailure, createCollectionExpectSuccess} from './util/helpers';
+import {expect} from 'chai';
+import privateKey from './substrate/privateKey';
+import usingApi, {executeTransaction, submitTransactionAsync} from './substrate/substrate-api';
+import {createCollectionExpectFailure, createCollectionExpectSuccess, getCreateCollectionResult, getDetailedCollectionInfo} from './util/helpers';
 
-chai.use(chaiAsPromised);
-
 describe('integration test: ext. createCollection():', () => {
   it('Create new NFT collection', async () => {
     await createCollectionExpectSuccess({name: 'A', description: 'B', tokenPrefix: 'C', mode: {type: 'NFT'}});
@@ -28,6 +27,45 @@
   it('Create new ReFungible collection', async () => {
     await createCollectionExpectSuccess({mode: {type: 'ReFungible'}});
   });
+  it('Create new collection with extra fields', async () => {
+    await usingApi(async api => {
+      const alice = privateKey('//Alice');
+      const bob = privateKey('//Bob');
+      const tx = api.tx.unique.createCollectionEx({
+        mode: {Fungible: 8},
+        access: 'AllowList',
+        name: [1],
+        description: [2],
+        tokenPrefix: '0x000000',
+        offchainSchema: '0x111111',
+        schemaVersion: 'Unique',
+        pendingSponsor: bob.address,
+        limits: {
+          accountTokenOwnershipLimit: 3,
+        },
+        variableOnChainSchema: '0x222222',
+        constOnChainSchema: '0x333333',
+        metaUpdatePermission: 'Admin',
+      });
+      const events = await submitTransactionAsync(alice, tx);
+      const result = getCreateCollectionResult(events);
+
+      const collection = (await getDetailedCollectionInfo(api, result.collectionId))!;
+      expect(collection.owner.toString()).to.equal(alice.address);
+      expect(collection.mode.asFungible.toNumber()).to.equal(8);
+      expect(collection.access.isAllowList).to.be.true;
+      expect(collection.name.map(v => v.toNumber())).to.deep.equal([1]);
+      expect(collection.description.map(v => v.toNumber())).to.deep.equal([2]);
+      expect(collection.tokenPrefix.toString()).to.equal('0x000000');
+      expect(collection.offchainSchema.toString()).to.equal('0x111111');
+      expect(collection.schemaVersion.isUnique).to.be.true;
+      expect(collection.sponsorship.asUnconfirmed.toString()).to.equal(bob.address);
+      expect(collection.limits.accountTokenOwnershipLimit.unwrap().toNumber()).to.equal(3);
+      expect(collection.variableOnChainSchema.toString()).to.equal('0x222222');
+      expect(collection.constOnChainSchema.toString()).to.equal('0x333333');
+      expect(collection.metaUpdatePermission.isAdmin).to.be.true;
+    });
+  });
 });
 
 describe('(!negative test!) integration test: ext. createCollection():', () => {
@@ -40,4 +78,11 @@
   it('(!negative test!) create new NFT collection whith incorrect data (token_prefix)', async () => {
     await createCollectionExpectFailure({tokenPrefix: 'A'.repeat(17), mode: {type: 'NFT'}});
   });
+  it('fails when bad limits are set', async () => {
+    await usingApi(async api => {
+      const alice = privateKey('//Alice');
+      const tx = api.tx.unique.createCollectionEx({mode: 'NFT', limits: {tokenLimit: 0}});
+      await expect(executeTransaction(api, alice, tx)).to.be.rejectedWith(/^common.CollectionTokenLimitExceeded$/);
+    });
+  });
 });
addedtests/src/interfaces/.gitignorediffbeforeafterboth
--- /dev/null
+++ b/tests/src/interfaces/.gitignore
@@ -0,0 +1 @@
+metadata.json
modifiedtests/src/interfaces/augment-api-consts.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-consts.ts
+++ b/tests/src/interfaces/augment-api-consts.ts
@@ -36,6 +36,9 @@
       [key: string]: Codec;
     };
     inflation: {
+      /**
+       * Number of blocks that pass between treasury balance updates due to inflation
+       **/
       inflationBlockInterval: u32 & AugmentedConst<ApiType>;
       /**
        * Generic const
modifiedtests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-errors.ts
+++ b/tests/src/interfaces/augment-api-errors.ts
@@ -61,14 +61,18 @@
        **/
       CantApproveMoreThanOwned: AugmentedError<ApiType>;
       /**
-       * Exceeded max admin amount
+       * Exceeded max admin count
        **/
-      CollectionAdminAmountExceeded: AugmentedError<ApiType>;
+      CollectionAdminCountExceeded: AugmentedError<ApiType>;
       /**
        * Collection description can not be longer than 255 char.
        **/
       CollectionDescriptionLimitExceeded: AugmentedError<ApiType>;
       /**
+       * Collection limit bounds per collection exceeded
+       **/
+      CollectionLimitBoundsExceeded: AugmentedError<ApiType>;
+      /**
        * Collection name can not be longer than 63 char.
        **/
       CollectionNameLimitExceeded: AugmentedError<ApiType>;
@@ -97,6 +101,10 @@
        **/
       NoPermission: AugmentedError<ApiType>;
       /**
+       * Tried to enable permissions which are only permitted to be disabled
+       **/
+      OwnerPermissionsCantBeReverted: AugmentedError<ApiType>;
+      /**
        * Collection is not in mint mode.
        **/
       PublicMintingNotAllowed: AugmentedError<ApiType>;
@@ -227,7 +235,7 @@
       /**
        * Tried to set data for fungible item
        **/
-      FungibleItemsHaveData: AugmentedError<ApiType>;
+      FungibleItemsDontHaveData: AugmentedError<ApiType>;
       /**
        * Not default id passed as TokenId argument
        **/
@@ -381,6 +389,10 @@
     };
     system: {
       /**
+       * The origin filter prevent the call to be dispatched.
+       **/
+      CallFiltered: AugmentedError<ApiType>;
+      /**
        * Failed to extract the runtime version from the new runtime.
        * 
        * Either calling `Core_version` or decoding `RuntimeVersion` failed.
@@ -433,10 +445,6 @@
        **/
       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>;
@@ -444,10 +452,6 @@
        * 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
        **/
modifiedtests/src/interfaces/augment-api-events.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-events.ts
+++ b/tests/src/interfaces/augment-api-events.ts
@@ -2,7 +2,7 @@
 /* eslint-disable */
 
 import type { EthereumLog, EvmCoreErrorExitReason } from './ethereum';
-import type { PalletCommonAccountBasicCrossAccountIdRepr } from './unique';
+import type { PalletCommonAccountBasicCrossAccountIdRepr, UpDataStructsAccessMode } from './unique';
 import type { ApiTypes } from '@polkadot/api/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';
@@ -12,48 +12,45 @@
   export interface AugmentedEvents<ApiType> {
     balances: {
       /**
-       * A balance was set by root. \[who, free, reserved\]
+       * A balance was set by root.
        **/
       BalanceSet: AugmentedEvent<ApiType, [AccountId32, u128, u128]>;
       /**
-       * Some amount was deposited into the account (e.g. for transaction fees). \[who,
-       * deposit\]
+       * Some amount was deposited (e.g. for transaction fees).
        **/
       Deposit: AugmentedEvent<ApiType, [AccountId32, u128]>;
       /**
        * An account was removed whose balance was non-zero but below ExistentialDeposit,
-       * resulting in an outright loss. \[account, balance\]
+       * resulting in an outright loss.
        **/
       DustLost: AugmentedEvent<ApiType, [AccountId32, u128]>;
       /**
-       * An account was created with some free balance. \[account, free_balance\]
+       * An account was created with some free balance.
        **/
       Endowed: AugmentedEvent<ApiType, [AccountId32, u128]>;
       /**
-       * Some balance was reserved (moved from free to reserved). \[who, value\]
+       * Some balance was reserved (moved from free to reserved).
        **/
       Reserved: AugmentedEvent<ApiType, [AccountId32, u128]>;
       /**
        * Some balance was moved from the reserve of the first account to the second account.
        * Final argument indicates the destination balance type.
-       * \[from, to, balance, destination_status\]
        **/
       ReserveRepatriated: AugmentedEvent<ApiType, [AccountId32, AccountId32, u128, FrameSupportTokensMiscBalanceStatus]>;
       /**
-       * Some amount was removed from the account (e.g. for misbehavior). \[who,
-       * amount_slashed\]
+       * Some amount was removed from the account (e.g. for misbehavior).
        **/
       Slashed: AugmentedEvent<ApiType, [AccountId32, u128]>;
       /**
-       * Transfer succeeded. \[from, to, value\]
+       * Transfer succeeded.
        **/
       Transfer: AugmentedEvent<ApiType, [AccountId32, AccountId32, u128]>;
       /**
-       * Some balance was unreserved (moved from reserved to free). \[who, value\]
+       * Some balance was unreserved (moved from reserved to free).
        **/
       Unreserved: AugmentedEvent<ApiType, [AccountId32, u128]>;
       /**
-       * Some amount was withdrawn from the account (e.g. for transaction fees). \[who, value\]
+       * Some amount was withdrawn from the account (e.g. for transaction fees).
        **/
       Withdraw: AugmentedEvent<ApiType, [AccountId32, u128]>;
       /**
@@ -87,6 +84,14 @@
        **/
       CollectionCreated: AugmentedEvent<ApiType, [u32, u8, AccountId32]>;
       /**
+       * New collection was destroyed
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique identifier of collection.
+       **/
+      CollectionDestroyed: AugmentedEvent<ApiType, [u32]>;
+      /**
        * New item was created.
        * 
        * # Arguments
@@ -289,7 +294,7 @@
       InvalidResponder: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64, Option<XcmV1MultiLocation>]>;
       /**
        * Expected query response has been received but the expected origin location placed in
-       * storate by this runtime previously cannot be decoded. The query remains registered.
+       * storage by this runtime previously cannot be decoded. The query remains registered.
        * 
        * This is unexpected (since a location placed in storage in a previously executing
        * runtime should be readable prior to query timeout) and dangerous since the possibly
@@ -471,6 +476,148 @@
        **/
       [key: string]: AugmentedEvent<ApiType>;
     };
+    unique: {
+      /**
+       * Address was add to allow list
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       * 
+       * * user:  Address.
+       **/
+      AllowListAddressAdded: AugmentedEvent<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+      /**
+       * Address was remove from allow list
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       * 
+       * * user:  Address.
+       **/
+      AllowListAddressRemoved: AugmentedEvent<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+      /**
+       * Collection admin was added
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       * 
+       * * admin:  Admin address.
+       **/
+      CollectionAdminAdded: AugmentedEvent<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+      /**
+       * Collection admin was removed
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       * 
+       * * admin:  Admin address.
+       **/
+      CollectionAdminRemoved: AugmentedEvent<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+      /**
+       * Collection limits was set
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       **/
+      CollectionLimitSet: AugmentedEvent<ApiType, [u32]>;
+      /**
+       * Collection owned was change
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       * 
+       * * owner:  New owner address.
+       **/
+      CollectionOwnedChanged: AugmentedEvent<ApiType, [u32, AccountId32]>;
+      /**
+       * Collection sponsor was removed
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       **/
+      CollectionSponsorRemoved: AugmentedEvent<ApiType, [u32]>;
+      /**
+       * Collection sponsor was set
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       * 
+       * * owner:  New sponsor address.
+       **/
+      CollectionSponsorSet: AugmentedEvent<ApiType, [u32, AccountId32]>;
+      /**
+       * const on chain schema was set
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       **/
+      ConstOnChainSchemaSet: AugmentedEvent<ApiType, [u32]>;
+      /**
+       * Mint permission	was set
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       **/
+      MintPermissionSet: AugmentedEvent<ApiType, [u32]>;
+      /**
+       * Offchain schema was set
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       **/
+      OffchainSchemaSet: AugmentedEvent<ApiType, [u32]>;
+      /**
+       * Public access mode was set
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       * 
+       * * mode: New access state.
+       **/
+      PublicAccessModeSet: AugmentedEvent<ApiType, [u32, UpDataStructsAccessMode]>;
+      /**
+       * Schema version was set
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       **/
+      SchemaVersionSet: AugmentedEvent<ApiType, [u32]>;
+      /**
+       * New sponsor was confirm
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       * 
+       * * sponsor:  New sponsor address.
+       **/
+      SponsorshipConfirmed: AugmentedEvent<ApiType, [u32, AccountId32]>;
+      /**
+       * Variable on chain schema was set
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       **/
+      VariableOnChainSchemaSet: AugmentedEvent<ApiType, [u32]>;
+      /**
+       * Generic event
+       **/
+      [key: string]: AugmentedEvent<ApiType>;
+    };
     vesting: {
       /**
        * Claimed vesting. \[who, locked_amount\]
modifiedtests/src/interfaces/augment-api-query.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-query.ts
+++ b/tests/src/interfaces/augment-api-query.ts
@@ -163,10 +163,22 @@
     };
     inflation: {
       /**
-       * Current block inflation
+       * Current inflation for `InflationBlockInterval` number of blocks
        **/
       blockInflation: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;
       /**
+       * Next target (relay) block when inflation will be applied
+       **/
+      nextInflationBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * Next target (relay) block when inflation is recalculated
+       **/
+      nextRecalculationBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * Relay block when inflation has started
+       **/
+      startBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
        * starting year total issuance
        **/
       startingYearTotalIssuance: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;
modifiedtests/src/interfaces/augment-api-tx.tsdiffbeforeafterboth
before · tests/src/interfaces/augment-api-tx.ts
1// Auto-generated via `yarn polkadot-types-from-chain`, do not edit2/* eslint-disable */34import type { EthereumTransactionLegacyTransaction } from './ethereum';5import type { CumulusPrimitivesParachainInherentParachainInherentData } from './polkadot';6import type { PalletCommonAccountBasicCrossAccountIdRepr, UpDataStructsAccessMode, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCreateItemData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion } from './unique';7import type { ApiTypes, SubmittableExtrinsic } from '@polkadot/api/types';8import type { Bytes, Compact, Option, U256, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types';9import type { Extrinsic } from '@polkadot/types/interfaces/extrinsics';10import type { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime';11import type { SpCoreChangesTrieChangesTrieConfiguration, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';12import type { AnyNumber, ITuple } from '@polkadot/types/types';1314declare module '@polkadot/api/types/submittable' {15  export interface AugmentedSubmittables<ApiType> {16    balances: {17      /**18       * Exactly as `transfer`, except the origin must be root and the source account may be19       * specified.20       * # <weight>21       * - Same as transfer, but additional read and write because the source account is not22       * assumed to be in the overlay.23       * # </weight>24       **/25      forceTransfer: AugmentedSubmittable<(source: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, MultiAddress, Compact<u128>]>;26      /**27       * Unreserve some balance from a user by force.28       * 29       * Can only be called by ROOT.30       **/31      forceUnreserve: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, u128]>;32      /**33       * Set the balances of a given account.34       * 35       * This will alter `FreeBalance` and `ReservedBalance` in storage. it will36       * also decrease the total issuance of the system (`TotalIssuance`).37       * If the new free or reserved balance is below the existential deposit,38       * it will reset the account nonce (`frame_system::AccountNonce`).39       * 40       * The dispatch origin for this call is `root`.41       * 42       * # <weight>43       * - Independent of the arguments.44       * - Contains a limited number of reads and writes.45       * ---------------------46       * - Base Weight:47       * - Creating: 27.56 µs48       * - Killing: 35.11 µs49       * - DB Weight: 1 Read, 1 Write to `who`50       * # </weight>51       **/52      setBalance: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, newFree: Compact<u128> | AnyNumber | Uint8Array, newReserved: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Compact<u128>, Compact<u128>]>;53      /**54       * Transfer some liquid free balance to another account.55       * 56       * `transfer` will set the `FreeBalance` of the sender and receiver.57       * It will decrease the total issuance of the system by the `TransferFee`.58       * If the sender's account is below the existential deposit as a result59       * of the transfer, the account will be reaped.60       * 61       * The dispatch origin for this call must be `Signed` by the transactor.62       * 63       * # <weight>64       * - Dependent on arguments but not critical, given proper implementations for input config65       * types. See related functions below.66       * - It contains a limited number of reads and writes internally and no complex67       * computation.68       * 69       * Related functions:70       * 71       * - `ensure_can_withdraw` is always called internally but has a bounded complexity.72       * - Transferring balances to accounts that did not exist before will cause73       * `T::OnNewAccount::on_new_account` to be called.74       * - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.75       * - `transfer_keep_alive` works the same way as `transfer`, but has an additional check76       * that the transfer will not kill the origin account.77       * ---------------------------------78       * - Base Weight: 73.64 µs, worst case scenario (account created, account removed)79       * - DB Weight: 1 Read and 1 Write to destination account80       * - Origin account is already in memory, so no DB operations for them.81       * # </weight>82       **/83      transfer: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Compact<u128>]>;84      /**85       * Transfer the entire transferable balance from the caller account.86       * 87       * NOTE: This function only attempts to transfer _transferable_ balances. This means that88       * any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be89       * transferred by this function. To ensure that this function results in a killed account,90       * you might need to prepare the account by removing any reference counters, storage91       * deposits, etc...92       * 93       * The dispatch origin of this call must be Signed.94       * 95       * - `dest`: The recipient of the transfer.96       * - `keep_alive`: A boolean to determine if the `transfer_all` operation should send all97       * of the funds the account has, causing the sender account to be killed (false), or98       * transfer everything except at least the existential deposit, which will guarantee to99       * keep the sender account alive (true). # <weight>100       * - O(1). Just like transfer, but reading the user's transferable balance first.101       * #</weight>102       **/103      transferAll: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, keepAlive: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, bool]>;104      /**105       * Same as the [`transfer`] call, but with a check that the transfer will not kill the106       * origin account.107       * 108       * 99% of the time you want [`transfer`] instead.109       * 110       * [`transfer`]: struct.Pallet.html#method.transfer111       * # <weight>112       * - Cheaper than transfer because account cannot be killed.113       * - Base Weight: 51.4 µs114       * - DB Weight: 1 Read and 1 Write to dest (sender is in overlay already)115       * #</weight>116       **/117      transferKeepAlive: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Compact<u128>]>;118      /**119       * Generic tx120       **/121      [key: string]: SubmittableExtrinsicFunction<ApiType>;122    };123    charging: {124      /**125       * Generic tx126       **/127      [key: string]: SubmittableExtrinsicFunction<ApiType>;128    };129    cumulusXcm: {130      /**131       * Generic tx132       **/133      [key: string]: SubmittableExtrinsicFunction<ApiType>;134    };135    dmpQueue: {136      /**137       * Service a single overweight message.138       * 139       * - `origin`: Must pass `ExecuteOverweightOrigin`.140       * - `index`: The index of the overweight message to service.141       * - `weight_limit`: The amount of weight that message execution may take.142       * 143       * Errors:144       * - `Unknown`: Message of `index` is unknown.145       * - `OverLimit`: Message execution may use greater than `weight_limit`.146       * 147       * Events:148       * - `OverweightServiced`: On success.149       **/150      serviceOverweight: AugmentedSubmittable<(index: u64 | AnyNumber | Uint8Array, weightLimit: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64, u64]>;151      /**152       * Generic tx153       **/154      [key: string]: SubmittableExtrinsicFunction<ApiType>;155    };156    ethereum: {157      /**158       * Transact an Ethereum transaction.159       **/160      transact: AugmentedSubmittable<(transaction: EthereumTransactionLegacyTransaction | { nonce?: any; gasPrice?: any; gasLimit?: any; action?: any; value?: any; input?: any; signature?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [EthereumTransactionLegacyTransaction]>;161      /**162       * Generic tx163       **/164      [key: string]: SubmittableExtrinsicFunction<ApiType>;165    };166    evm: {167      /**168       * Issue an EVM call operation. This is similar to a message call transaction in Ethereum.169       **/170      call: AugmentedSubmittable<(source: H160 | string | Uint8Array, target: H160 | string | Uint8Array, input: Bytes | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: u64 | AnyNumber | Uint8Array, gasPrice: U256 | AnyNumber | Uint8Array, nonce: Option<U256> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160, H160, Bytes, U256, u64, U256, Option<U256>]>;171      /**172       * Issue an EVM create operation. This is similar to a contract creation transaction in173       * Ethereum.174       **/175      create: AugmentedSubmittable<(source: H160 | string | Uint8Array, init: Bytes | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: u64 | AnyNumber | Uint8Array, gasPrice: U256 | AnyNumber | Uint8Array, nonce: Option<U256> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160, Bytes, U256, u64, U256, Option<U256>]>;176      /**177       * Issue an EVM create2 operation.178       **/179      create2: AugmentedSubmittable<(source: H160 | string | Uint8Array, init: Bytes | string | Uint8Array, salt: H256 | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: u64 | AnyNumber | Uint8Array, gasPrice: U256 | AnyNumber | Uint8Array, nonce: Option<U256> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160, Bytes, H256, U256, u64, U256, Option<U256>]>;180      /**181       * Withdraw balance from EVM into currency/balances pallet.182       **/183      withdraw: AugmentedSubmittable<(address: H160 | string | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160, u128]>;184      /**185       * Generic tx186       **/187      [key: string]: SubmittableExtrinsicFunction<ApiType>;188    };189    evmMigration: {190      begin: AugmentedSubmittable<(address: H160 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160]>;191      finish: AugmentedSubmittable<(address: H160 | string | Uint8Array, code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160, Bytes]>;192      setData: AugmentedSubmittable<(address: H160 | string | Uint8Array, data: Vec<ITuple<[H256, H256]>> | ([H256 | string | Uint8Array, H256 | string | Uint8Array])[]) => SubmittableExtrinsic<ApiType>, [H160, Vec<ITuple<[H256, H256]>>]>;193      /**194       * Generic tx195       **/196      [key: string]: SubmittableExtrinsicFunction<ApiType>;197    };198    inflation: {199      /**200       * Generic tx201       **/202      [key: string]: SubmittableExtrinsicFunction<ApiType>;203    };204    parachainSystem: {205      authorizeUpgrade: AugmentedSubmittable<(codeHash: H256 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256]>;206      enactAuthorizedUpgrade: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;207      /**208       * Set the current validation data.209       * 210       * This should be invoked exactly once per block. It will panic at the finalization211       * phase if the call was not invoked.212       * 213       * The dispatch origin for this call must be `Inherent`214       * 215       * As a side effect, this function upgrades the current validation function216       * if the appropriate time has come.217       **/218      setValidationData: AugmentedSubmittable<(data: CumulusPrimitivesParachainInherentParachainInherentData | { validationData?: any; relayChainState?: any; downwardMessages?: any; horizontalMessages?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [CumulusPrimitivesParachainInherentParachainInherentData]>;219      sudoSendUpwardMessage: AugmentedSubmittable<(message: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;220      /**221       * Generic tx222       **/223      [key: string]: SubmittableExtrinsicFunction<ApiType>;224    };225    polkadotXcm: {226      /**227       * Execute an XCM message from a local, signed, origin.228       * 229       * An event is deposited indicating whether `msg` could be executed completely or only230       * partially.231       * 232       * No more than `max_weight` will be used in its attempted execution. If this is less than the233       * maximum amount of weight that the message could take to be executed, then no execution234       * attempt will be made.235       * 236       * NOTE: A successful return to this does *not* imply that the `msg` was executed successfully237       * to completion; only that *some* of it was executed.238       **/239      execute: AugmentedSubmittable<(message: XcmVersionedXcm | { V0: any } | { V1: any } | { V2: any } | string | Uint8Array, maxWeight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedXcm, u64]>;240      /**241       * Set a safe XCM version (the version that XCM should be encoded with if the most recent242       * version a destination can accept is unknown).243       * 244       * - `origin`: Must be Root.245       * - `maybe_xcm_version`: The default XCM encoding version, or `None` to disable.246       **/247      forceDefaultXcmVersion: AugmentedSubmittable<(maybeXcmVersion: Option<u32> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Option<u32>]>;248      /**249       * Ask a location to notify us regarding their XCM version and any changes to it.250       * 251       * - `origin`: Must be Root.252       * - `location`: The location to which we should subscribe for XCM version notifications.253       **/254      forceSubscribeVersionNotify: AugmentedSubmittable<(location: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation]>;255      /**256       * Require that a particular destination should no longer notify us regarding any XCM257       * version changes.258       * 259       * - `origin`: Must be Root.260       * - `location`: The location to which we are currently subscribed for XCM version261       * notifications which we no longer desire.262       **/263      forceUnsubscribeVersionNotify: AugmentedSubmittable<(location: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation]>;264      /**265       * Extoll that a particular destination can be communicated with through a particular266       * version of XCM.267       * 268       * - `origin`: Must be Root.269       * - `location`: The destination that is being described.270       * - `xcm_version`: The latest version of XCM that `location` supports.271       **/272      forceXcmVersion: AugmentedSubmittable<(location: XcmV1MultiLocation | { parents?: any; interior?: any } | string | Uint8Array, xcmVersion: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmV1MultiLocation, u32]>;273      /**274       * Transfer some assets from the local chain to the sovereign account of a destination chain and forward275       * a notification XCM.276       * 277       * Fee payment on the destination side is made from the first asset listed in the `assets` vector.278       * 279       * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.280       * - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send281       * from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.282       * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be283       * an `AccountId32` value.284       * - `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the285       * `dest` side.286       * - `fee_asset_item`: The index into `assets` of the item which should be used to pay287       * fees.288       * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.289       **/290      limitedReserveTransferAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V0: any } | { V1: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array, weightLimit: XcmV2WeightLimit | { Unlimited: any } | { Limited: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32, XcmV2WeightLimit]>;291      /**292       * Teleport some assets from the local chain to some destination chain.293       * 294       * Fee payment on the destination side is made from the first asset listed in the `assets` vector.295       * 296       * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.297       * - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send298       * from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.299       * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be300       * an `AccountId32` value.301       * - `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the302       * `dest` side. May not be empty.303       * - `dest_weight`: Equal to the total weight on `dest` of the XCM message304       * `Teleport { assets, effects: [ BuyExecution{..}, DepositAsset{..} ] }`.305       * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.306       **/307      limitedTeleportAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V0: any } | { V1: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array, weightLimit: XcmV2WeightLimit | { Unlimited: any } | { Limited: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32, XcmV2WeightLimit]>;308      /**309       * Transfer some assets from the local chain to the sovereign account of a destination chain and forward310       * a notification XCM.311       * 312       * Fee payment on the destination side is made from the first asset listed in the `assets` vector and313       * fee-weight is calculated locally and thus remote weights are assumed to be equal to314       * local weights.315       * 316       * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.317       * - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send318       * from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.319       * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be320       * an `AccountId32` value.321       * - `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the322       * `dest` side.323       * - `fee_asset_item`: The index into `assets` of the item which should be used to pay324       * fees.325       **/326      reserveTransferAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V0: any } | { V1: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32]>;327      send: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, message: XcmVersionedXcm | { V0: any } | { V1: any } | { V2: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedXcm]>;328      /**329       * Teleport some assets from the local chain to some destination chain.330       * 331       * Fee payment on the destination side is made from the first asset listed in the `assets` vector and332       * fee-weight is calculated locally and thus remote weights are assumed to be equal to333       * local weights.334       * 335       * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.336       * - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send337       * from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.338       * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be339       * an `AccountId32` value.340       * - `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the341       * `dest` side. May not be empty.342       * - `dest_weight`: Equal to the total weight on `dest` of the XCM message343       * `Teleport { assets, effects: [ BuyExecution{..}, DepositAsset{..} ] }`.344       **/345      teleportAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V0: any } | { V1: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32]>;346      /**347       * Generic tx348       **/349      [key: string]: SubmittableExtrinsicFunction<ApiType>;350    };351    sudo: {352      /**353       * Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo354       * key.355       * 356       * The dispatch origin for this call must be _Signed_.357       * 358       * # <weight>359       * - O(1).360       * - Limited storage reads.361       * - One DB change.362       * # </weight>363       **/364      setKey: AugmentedSubmittable<(updated: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress]>;365      /**366       * Authenticates the sudo key and dispatches a function call with `Root` origin.367       * 368       * The dispatch origin for this call must be _Signed_.369       * 370       * # <weight>371       * - O(1).372       * - Limited storage reads.373       * - One DB write (event).374       * - Weight of derivative `call` execution + 10,000.375       * # </weight>376       **/377       sudo: AugmentedSubmittable<(call: Call) => SubmittableExtrinsic<ApiType>, [Call]>;378      /**379       * Authenticates the sudo key and dispatches a function call with `Signed` origin from380       * a given account.381       * 382       * The dispatch origin for this call must be _Signed_.383       * 384       * # <weight>385       * - O(1).386       * - Limited storage reads.387       * - One DB write (event).388       * - Weight of derivative `call` execution + 10,000.389       * # </weight>390       **/391      sudoAs: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, ) => SubmittableExtrinsic<ApiType>, [MultiAddress, Call]>;392      /**393       * Authenticates the sudo key and dispatches a function call with `Root` origin.394       * This function does not check the weight of the call, and instead allows the395       * Sudo user to specify the weight of the call.396       * 397       * The dispatch origin for this call must be _Signed_.398       * 399       * # <weight>400       * - O(1).401       * - The weight of this call is defined by the caller.402       * # </weight>403       **/404       sudoUncheckedWeight: AugmentedSubmittable<(call: Call, weight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call, u64]>;405      /**406       * Generic tx407       **/408      [key: string]: SubmittableExtrinsicFunction<ApiType>;409    };410    system: {411      /**412       * A dispatch that will fill the block weight up to the given ratio.413       **/414      fillBlock: AugmentedSubmittable<(ratio: Perbill | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Perbill]>;415      /**416       * Kill all storage items with a key that starts with the given prefix.417       * 418       * **NOTE:** We rely on the Root origin to provide us the number of subkeys under419       * the prefix we are removing to accurately calculate the weight of this function.420       * 421       * # <weight>422       * - `O(P)` where `P` amount of keys with prefix `prefix`423       * - `P` storage deletions.424       * - Base Weight: 0.834 * P µs425       * - Writes: Number of subkeys + 1426       * # </weight>427       **/428      killPrefix: AugmentedSubmittable<(prefix: Bytes | string | Uint8Array, subkeys: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes, u32]>;429      /**430       * Kill some items from storage.431       * 432       * # <weight>433       * - `O(IK)` where `I` length of `keys` and `K` length of one key434       * - `I` storage deletions.435       * - Base Weight: .378 * i µs436       * - Writes: Number of items437       * # </weight>438       **/439      killStorage: AugmentedSubmittable<(keys: Vec<Bytes> | (Bytes | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Vec<Bytes>]>;440      /**441       * Make some on-chain remark.442       * 443       * # <weight>444       * - `O(1)`445       * # </weight>446       **/447      remark: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;448      /**449       * Make some on-chain remark and emit event.450       * 451       * # <weight>452       * - `O(b)` where b is the length of the remark.453       * - 1 event.454       * # </weight>455       **/456      remarkWithEvent: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;457      /**458       * Set the new changes trie configuration.459       * 460       * # <weight>461       * - `O(1)`462       * - 1 storage write or delete (codec `O(1)`).463       * - 1 call to `deposit_log`: Uses `append` API, so O(1)464       * - Base Weight: 7.218 µs465       * - DB Weight:466       * - Writes: Changes Trie, System Digest467       * # </weight>468       **/469      setChangesTrieConfig: AugmentedSubmittable<(changesTrieConfig: Option<SpCoreChangesTrieChangesTrieConfiguration> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Option<SpCoreChangesTrieChangesTrieConfiguration>]>;470      /**471       * Set the new runtime code.472       * 473       * # <weight>474       * - `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`475       * - 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is476       * expensive).477       * - 1 storage write (codec `O(C)`).478       * - 1 digest item.479       * - 1 event.480       * The weight of this function is dependent on the runtime, but generally this is very481       * expensive. We will treat this as a full block.482       * # </weight>483       **/484      setCode: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;485      /**486       * Set the new runtime code without doing any checks of the given `code`.487       * 488       * # <weight>489       * - `O(C)` where `C` length of `code`490       * - 1 storage write (codec `O(C)`).491       * - 1 digest item.492       * - 1 event.493       * The weight of this function is dependent on the runtime. We will treat this as a full494       * block. # </weight>495       **/496      setCodeWithoutChecks: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;497      /**498       * Set the number of pages in the WebAssembly environment's heap.499       * 500       * # <weight>501       * - `O(1)`502       * - 1 storage write.503       * - Base Weight: 1.405 µs504       * - 1 write to HEAP_PAGES505       * - 1 digest item506       * # </weight>507       **/508      setHeapPages: AugmentedSubmittable<(pages: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64]>;509      /**510       * Set some items of storage.511       * 512       * # <weight>513       * - `O(I)` where `I` length of `items`514       * - `I` storage writes (`O(1)`).515       * - Base Weight: 0.568 * i µs516       * - Writes: Number of items517       * # </weight>518       **/519      setStorage: AugmentedSubmittable<(items: Vec<ITuple<[Bytes, Bytes]>> | ([Bytes | string | Uint8Array, Bytes | string | Uint8Array])[]) => SubmittableExtrinsic<ApiType>, [Vec<ITuple<[Bytes, Bytes]>>]>;520      /**521       * Generic tx522       **/523      [key: string]: SubmittableExtrinsicFunction<ApiType>;524    };525    timestamp: {526      /**527       * Set the current time.528       * 529       * This call should be invoked exactly once per block. It will panic at the finalization530       * phase, if this call hasn't been invoked by that time.531       * 532       * The timestamp should be greater than the previous one by the amount specified by533       * `MinimumPeriod`.534       * 535       * The dispatch origin for this call must be `Inherent`.536       * 537       * # <weight>538       * - `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)539       * - 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in540       * `on_finalize`)541       * - 1 event handler `on_timestamp_set`. Must be `O(1)`.542       * # </weight>543       **/544      set: AugmentedSubmittable<(now: Compact<u64> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u64>]>;545      /**546       * Generic tx547       **/548      [key: string]: SubmittableExtrinsicFunction<ApiType>;549    };550    treasury: {551      /**552       * Approve a proposal. At a later time, the proposal will be allocated to the beneficiary553       * and the original deposit will be returned.554       * 555       * May only be called from `T::ApproveOrigin`.556       * 557       * # <weight>558       * - Complexity: O(1).559       * - DbReads: `Proposals`, `Approvals`560       * - DbWrite: `Approvals`561       * # </weight>562       **/563      approveProposal: AugmentedSubmittable<(proposalId: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>]>;564      /**565       * Put forward a suggestion for spending. A deposit proportional to the value566       * is reserved and slashed if the proposal is rejected. It is returned once the567       * proposal is awarded.568       * 569       * # <weight>570       * - Complexity: O(1)571       * - DbReads: `ProposalCount`, `origin account`572       * - DbWrites: `ProposalCount`, `Proposals`, `origin account`573       * # </weight>574       **/575      proposeSpend: AugmentedSubmittable<(value: Compact<u128> | AnyNumber | Uint8Array, beneficiary: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u128>, MultiAddress]>;576      /**577       * Reject a proposed spend. The original deposit will be slashed.578       * 579       * May only be called from `T::RejectOrigin`.580       * 581       * # <weight>582       * - Complexity: O(1)583       * - DbReads: `Proposals`, `rejected proposer account`584       * - DbWrites: `Proposals`, `rejected proposer account`585       * # </weight>586       **/587      rejectProposal: AugmentedSubmittable<(proposalId: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>]>;588      /**589       * Generic tx590       **/591      [key: string]: SubmittableExtrinsicFunction<ApiType>;592    };593    unique: {594      /**595       * Adds an admin of the Collection.596       * 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.597       * 598       * # Permissions599       * 600       * * Collection Owner.601       * * Collection Admin.602       * 603       * # Arguments604       * 605       * * collection_id: ID of the Collection to add admin for.606       * 607       * * new_admin_id: Address of new admin to add.608       **/609      addCollectionAdmin: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newAdminId: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;610      /**611       * Add an address to allow list.612       * 613       * # Permissions614       * 615       * * Collection Owner616       * * Collection Admin617       * 618       * # Arguments619       * 620       * * collection_id.621       * 622       * * address.623       **/624      addToAllowList: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, address: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;625      /**626       * Set, change, or remove approved address to transfer the ownership of the NFT.627       * 628       * # Permissions629       * 630       * * Collection Owner631       * * Collection Admin632       * * Current NFT owner633       * 634       * # Arguments635       * 636       * * approved: Address that is approved to transfer this NFT or zero (if needed to remove approval).637       * 638       * * collection_id.639       * 640       * * item_id: ID of the item.641       **/642      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]>;643      /**644       * Destroys a concrete instance of NFT on behalf of the owner645       * See also: [`approve`]646       * 647       * # Permissions648       * 649       * * Collection Owner.650       * * Collection Admin.651       * * Current NFT Owner.652       * 653       * # Arguments654       * 655       * * collection_id: ID of the collection.656       * 657       * * item_id: ID of NFT to burn.658       * 659       * * from: owner of item660       **/661      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]>;662      /**663       * Destroys a concrete instance of NFT.664       * 665       * # Permissions666       * 667       * * Collection Owner.668       * * Collection Admin.669       * * Current NFT Owner.670       * 671       * # Arguments672       * 673       * * collection_id: ID of the collection.674       * 675       * * item_id: ID of NFT to burn.676       **/677      burnItem: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u128]>;678      /**679       * Change the owner of the collection.680       * 681       * # Permissions682       * 683       * * Collection Owner.684       * 685       * # Arguments686       * 687       * * collection_id.688       * 689       * * new_owner.690       **/691      changeCollectionOwner: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newOwner: AccountId32 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, AccountId32]>;692      /**693       * # Permissions694       * 695       * * Sponsor.696       * 697       * # Arguments698       * 699       * * collection_id.700       **/701      confirmSponsorship: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;702      /**703       * 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.704       * 705       * # Permissions706       * 707       * * Anyone.708       * 709       * # Arguments710       * 711       * * collection_name: UTF-16 string with collection name (limit 64 characters), will be stored as zero-terminated.712       * 713       * * collection_description: UTF-16 string with collection description (limit 256 characters), will be stored as zero-terminated.714       * 715       * * token_prefix: UTF-8 string with token prefix.716       * 717       * * mode: [CollectionMode] collection type and type dependent data.718       **/719      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]>;720      /**721       * This method creates a concrete instance of NFT Collection created with CreateCollection method.722       * 723       * # Permissions724       * 725       * * Collection Owner.726       * * Collection Admin.727       * * Anyone if728       * * Allow List is enabled, and729       * * Address is added to allow list, and730       * * MintPermission is enabled (see SetMintPermission method)731       * 732       * # Arguments733       * 734       * * collection_id: ID of the collection.735       * 736       * * owner: Address, initial owner of the NFT.737       * 738       * * data: Token data to store on chain.739       **/740      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]>;741      /**742       * This method creates multiple items in a collection created with CreateCollection method.743       * 744       * # Permissions745       * 746       * * Collection Owner.747       * * Collection Admin.748       * * Anyone if749       * * Allow List is enabled, and750       * * Address is added to allow list, and751       * * MintPermission is enabled (see SetMintPermission method)752       * 753       * # Arguments754       * 755       * * collection_id: ID of the collection.756       * 757       * * itemsData: Array items properties. Each property is an array of bytes itself, see [create_item].758       * 759       * * owner: Address, initial owner of the NFT.760       **/761      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>]>;762      /**763       * **DANGEROUS**: Destroys collection and all NFTs within this collection. Users irrecoverably lose their assets and may lose real money.764       * 765       * # Permissions766       * 767       * * Collection Owner.768       * 769       * # Arguments770       * 771       * * collection_id: collection to destroy.772       **/773      destroyCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;774      /**775       * 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.776       * 777       * # Permissions778       * 779       * * Collection Owner.780       * * Collection Admin.781       * 782       * # Arguments783       * 784       * * collection_id: ID of the Collection to remove admin for.785       * 786       * * account_id: Address of admin to remove.787       **/788      removeCollectionAdmin: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, accountId: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;789      /**790       * Switch back to pay-per-own-transaction model.791       * 792       * # Permissions793       * 794       * * Collection owner.795       * 796       * # Arguments797       * 798       * * collection_id.799       **/800      removeCollectionSponsor: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;801      /**802       * Remove an address from allow list.803       * 804       * # Permissions805       * 806       * * Collection Owner807       * * Collection Admin808       * 809       * # Arguments810       * 811       * * collection_id.812       * 813       * * address.814       **/815      removeFromAllowList: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, address: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;816      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]>;817      /**818       * # Permissions819       * 820       * * Collection Owner821       * 822       * # Arguments823       * 824       * * collection_id.825       * 826       * * new_sponsor.827       **/828      setCollectionSponsor: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newSponsor: AccountId32 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, AccountId32]>;829      /**830       * Set const on-chain data schema.831       * 832       * # Permissions833       * 834       * * Collection Owner835       * * Collection Admin836       * 837       * # Arguments838       * 839       * * collection_id.840       * 841       * * schema: String representing the const on-chain data schema.842       **/843      setConstOnChainSchema: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, schema: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, Bytes]>;844      /**845       * Set meta_update_permission value for particular collection846       * 847       * # Permissions848       * 849       * * Collection Owner.850       * 851       * # Arguments852       * 853       * * collection_id: ID of the collection.854       * 855       * * value: New flag value.856       **/857      setMetaUpdatePermissionFlag: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, value: UpDataStructsMetaUpdatePermission | 'ItemOwner' | 'Admin' | 'None' | number | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsMetaUpdatePermission]>;858      /**859       * Allows Anyone to create tokens if:860       * * Allow List is enabled, and861       * * Address is added to allow list, and862       * * This method was called with True parameter863       * 864       * # Permissions865       * * Collection Owner866       * 867       * # Arguments868       * 869       * * collection_id.870       * 871       * * mint_permission: Boolean parameter. If True, allows minting to Anyone with conditions above.872       **/873      setMintPermission: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, mintPermission: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, bool]>;874      /**875       * Set off-chain data schema.876       * 877       * # Permissions878       * 879       * * Collection Owner880       * * Collection Admin881       * 882       * # Arguments883       * 884       * * collection_id.885       * 886       * * schema: String representing the offchain data schema.887       **/888      setOffchainSchema: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, schema: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, Bytes]>;889      /**890       * Toggle between normal and allow list access for the methods with access for `Anyone`.891       * 892       * # Permissions893       * 894       * * Collection Owner.895       * 896       * # Arguments897       * 898       * * collection_id.899       * 900       * * mode: [AccessMode]901       **/902      setPublicAccessMode: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, mode: UpDataStructsAccessMode | 'Normal' | 'AllowList' | number | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsAccessMode]>;903      /**904       * Set schema standard905       * ImageURL906       * Unique907       * 908       * # Permissions909       * 910       * * Collection Owner911       * * Collection Admin912       * 913       * # Arguments914       * 915       * * collection_id.916       * 917       * * schema: SchemaVersion: enum918       **/919      setSchemaVersion: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, version: UpDataStructsSchemaVersion | 'ImageURL' | 'Unique' | number | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsSchemaVersion]>;920      /**921       * Set transfers_enabled value for particular collection922       * 923       * # Permissions924       * 925       * * Collection Owner.926       * 927       * # Arguments928       * 929       * * collection_id: ID of the collection.930       * 931       * * value: New flag value.932       **/933      setTransfersEnabledFlag: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, value: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, bool]>;934      /**935       * Set off-chain data schema.936       * 937       * # Permissions938       * 939       * * Collection Owner940       * * Collection Admin941       * 942       * # Arguments943       * 944       * * collection_id.945       * 946       * * schema: String representing the offchain data schema.947       **/948      setVariableMetaData: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, data: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, Bytes]>;949      /**950       * Set variable on-chain data schema.951       * 952       * # Permissions953       * 954       * * Collection Owner955       * * Collection Admin956       * 957       * # Arguments958       * 959       * * collection_id.960       * 961       * * schema: String representing the variable on-chain data schema.962       **/963      setVariableOnChainSchema: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, schema: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, Bytes]>;964      /**965       * Change ownership of the token.966       * 967       * # Permissions968       * 969       * * Collection Owner970       * * Collection Admin971       * * Current NFT owner972       * 973       * # Arguments974       * 975       * * recipient: Address of token recipient.976       * 977       * * collection_id.978       * 979       * * item_id: ID of the item980       * * Non-Fungible Mode: Required.981       * * Fungible Mode: Ignored.982       * * Re-Fungible Mode: Required.983       * 984       * * value: Amount to transfer.985       * * Non-Fungible Mode: Ignored986       * * Fungible Mode: Must specify transferred amount987       * * Re-Fungible Mode: Must specify transferred portion (between 0 and 1)988       **/989      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]>;990      /**991       * 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.992       * 993       * # Permissions994       * * Collection Owner995       * * Collection Admin996       * * Current NFT owner997       * * Address approved by current NFT owner998       * 999       * # Arguments1000       * 1001       * * from: Address that owns token.1002       * 1003       * * recipient: Address of token recipient.1004       * 1005       * * collection_id.1006       * 1007       * * item_id: ID of the item.1008       * 1009       * * value: Amount to transfer.1010       **/1011      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]>;1012      /**1013       * Generic tx1014       **/1015      [key: string]: SubmittableExtrinsicFunction<ApiType>;1016    };1017    vesting: {1018      claim: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;1019      claimFor: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress]>;1020      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>]>;1021      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]>;1022      /**1023       * Generic tx1024       **/1025      [key: string]: SubmittableExtrinsicFunction<ApiType>;1026    };1027    xcmpQueue: {1028      /**1029       * Generic tx1030       **/1031      [key: string]: SubmittableExtrinsicFunction<ApiType>;1032    };1033  }10341035  export interface SubmittableExtrinsics<ApiType extends ApiTypes> extends AugmentedSubmittables<ApiType> {1036    (extrinsic: Call | Extrinsic | Uint8Array | string): SubmittableExtrinsic<ApiType>;1037    [key: string]: SubmittableModuleExtrinsics<ApiType>;1038  }1039}
after · tests/src/interfaces/augment-api-tx.ts
1// Auto-generated via `yarn polkadot-types-from-chain`, do not edit2/* eslint-disable */34import type { EthereumTransactionLegacyTransaction } from './ethereum';5import type { CumulusPrimitivesParachainInherentParachainInherentData } from './polkadot';6import type { PalletCommonAccountBasicCrossAccountIdRepr, UpDataStructsAccessMode, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion } from './unique';7import type { ApiTypes, SubmittableExtrinsic } from '@polkadot/api/types';8import type { Bytes, Compact, Option, U256, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types';9import type { Extrinsic } from '@polkadot/types/interfaces/extrinsics';10import type { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime';11import type { XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';12import type { AnyNumber, ITuple } from '@polkadot/types/types';1314declare module '@polkadot/api/types/submittable' {15  export interface AugmentedSubmittables<ApiType> {16    balances: {17      /**18       * Exactly as `transfer`, except the origin must be root and the source account may be19       * specified.20       * # <weight>21       * - Same as transfer, but additional read and write because the source account is not22       * assumed to be in the overlay.23       * # </weight>24       **/25      forceTransfer: AugmentedSubmittable<(source: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, MultiAddress, Compact<u128>]>;26      /**27       * Unreserve some balance from a user by force.28       * 29       * Can only be called by ROOT.30       **/31      forceUnreserve: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, u128]>;32      /**33       * Set the balances of a given account.34       * 35       * This will alter `FreeBalance` and `ReservedBalance` in storage. it will36       * also decrease the total issuance of the system (`TotalIssuance`).37       * If the new free or reserved balance is below the existential deposit,38       * it will reset the account nonce (`frame_system::AccountNonce`).39       * 40       * The dispatch origin for this call is `root`.41       **/42      setBalance: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, newFree: Compact<u128> | AnyNumber | Uint8Array, newReserved: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Compact<u128>, Compact<u128>]>;43      /**44       * Transfer some liquid free balance to another account.45       * 46       * `transfer` will set the `FreeBalance` of the sender and receiver.47       * It will decrease the total issuance of the system by the `TransferFee`.48       * If the sender's account is below the existential deposit as a result49       * of the transfer, the account will be reaped.50       * 51       * The dispatch origin for this call must be `Signed` by the transactor.52       * 53       * # <weight>54       * - Dependent on arguments but not critical, given proper implementations for input config55       * types. See related functions below.56       * - It contains a limited number of reads and writes internally and no complex57       * computation.58       * 59       * Related functions:60       * 61       * - `ensure_can_withdraw` is always called internally but has a bounded complexity.62       * - Transferring balances to accounts that did not exist before will cause63       * `T::OnNewAccount::on_new_account` to be called.64       * - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.65       * - `transfer_keep_alive` works the same way as `transfer`, but has an additional check66       * that the transfer will not kill the origin account.67       * ---------------------------------68       * - Origin account is already in memory, so no DB operations for them.69       * # </weight>70       **/71      transfer: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Compact<u128>]>;72      /**73       * Transfer the entire transferable balance from the caller account.74       * 75       * NOTE: This function only attempts to transfer _transferable_ balances. This means that76       * any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be77       * transferred by this function. To ensure that this function results in a killed account,78       * you might need to prepare the account by removing any reference counters, storage79       * deposits, etc...80       * 81       * The dispatch origin of this call must be Signed.82       * 83       * - `dest`: The recipient of the transfer.84       * - `keep_alive`: A boolean to determine if the `transfer_all` operation should send all85       * of the funds the account has, causing the sender account to be killed (false), or86       * transfer everything except at least the existential deposit, which will guarantee to87       * keep the sender account alive (true). # <weight>88       * - O(1). Just like transfer, but reading the user's transferable balance first.89       * #</weight>90       **/91      transferAll: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, keepAlive: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, bool]>;92      /**93       * Same as the [`transfer`] call, but with a check that the transfer will not kill the94       * origin account.95       * 96       * 99% of the time you want [`transfer`] instead.97       * 98       * [`transfer`]: struct.Pallet.html#method.transfer99       **/100      transferKeepAlive: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Compact<u128>]>;101      /**102       * Generic tx103       **/104      [key: string]: SubmittableExtrinsicFunction<ApiType>;105    };106    charging: {107      /**108       * Generic tx109       **/110      [key: string]: SubmittableExtrinsicFunction<ApiType>;111    };112    cumulusXcm: {113      /**114       * Generic tx115       **/116      [key: string]: SubmittableExtrinsicFunction<ApiType>;117    };118    dmpQueue: {119      /**120       * Service a single overweight message.121       * 122       * - `origin`: Must pass `ExecuteOverweightOrigin`.123       * - `index`: The index of the overweight message to service.124       * - `weight_limit`: The amount of weight that message execution may take.125       * 126       * Errors:127       * - `Unknown`: Message of `index` is unknown.128       * - `OverLimit`: Message execution may use greater than `weight_limit`.129       * 130       * Events:131       * - `OverweightServiced`: On success.132       **/133      serviceOverweight: AugmentedSubmittable<(index: u64 | AnyNumber | Uint8Array, weightLimit: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64, u64]>;134      /**135       * Generic tx136       **/137      [key: string]: SubmittableExtrinsicFunction<ApiType>;138    };139    ethereum: {140      /**141       * Transact an Ethereum transaction.142       **/143      transact: AugmentedSubmittable<(transaction: EthereumTransactionLegacyTransaction | { nonce?: any; gasPrice?: any; gasLimit?: any; action?: any; value?: any; input?: any; signature?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [EthereumTransactionLegacyTransaction]>;144      /**145       * Generic tx146       **/147      [key: string]: SubmittableExtrinsicFunction<ApiType>;148    };149    evm: {150      /**151       * Issue an EVM call operation. This is similar to a message call transaction in Ethereum.152       **/153      call: AugmentedSubmittable<(source: H160 | string | Uint8Array, target: H160 | string | Uint8Array, input: Bytes | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: u64 | AnyNumber | Uint8Array, gasPrice: U256 | AnyNumber | Uint8Array, nonce: Option<U256> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160, H160, Bytes, U256, u64, U256, Option<U256>]>;154      /**155       * Issue an EVM create operation. This is similar to a contract creation transaction in156       * Ethereum.157       **/158      create: AugmentedSubmittable<(source: H160 | string | Uint8Array, init: Bytes | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: u64 | AnyNumber | Uint8Array, gasPrice: U256 | AnyNumber | Uint8Array, nonce: Option<U256> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160, Bytes, U256, u64, U256, Option<U256>]>;159      /**160       * Issue an EVM create2 operation.161       **/162      create2: AugmentedSubmittable<(source: H160 | string | Uint8Array, init: Bytes | string | Uint8Array, salt: H256 | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: u64 | AnyNumber | Uint8Array, gasPrice: U256 | AnyNumber | Uint8Array, nonce: Option<U256> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160, Bytes, H256, U256, u64, U256, Option<U256>]>;163      /**164       * Withdraw balance from EVM into currency/balances pallet.165       **/166      withdraw: AugmentedSubmittable<(address: H160 | string | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160, u128]>;167      /**168       * Generic tx169       **/170      [key: string]: SubmittableExtrinsicFunction<ApiType>;171    };172    evmMigration: {173      begin: AugmentedSubmittable<(address: H160 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160]>;174      finish: AugmentedSubmittable<(address: H160 | string | Uint8Array, code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160, Bytes]>;175      setData: AugmentedSubmittable<(address: H160 | string | Uint8Array, data: Vec<ITuple<[H256, H256]>> | ([H256 | string | Uint8Array, H256 | string | Uint8Array])[]) => SubmittableExtrinsic<ApiType>, [H160, Vec<ITuple<[H256, H256]>>]>;176      /**177       * Generic tx178       **/179      [key: string]: SubmittableExtrinsicFunction<ApiType>;180    };181    inflation: {182      /**183       * This method sets the inflation start date. Can be only called once.184       * Inflation start block can be backdated and will catch up. The method will create Treasury185       * account if it does not exist and perform the first inflation deposit.186       * 187       * # Permissions188       * 189       * * Root190       * 191       * # Arguments192       * 193       * * inflation_start_relay_block: The relay chain block at which inflation should start194       **/195      startInflation: AugmentedSubmittable<(inflationStartRelayBlock: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;196      /**197       * Generic tx198       **/199      [key: string]: SubmittableExtrinsicFunction<ApiType>;200    };201    parachainSystem: {202      authorizeUpgrade: AugmentedSubmittable<(codeHash: H256 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256]>;203      enactAuthorizedUpgrade: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;204      /**205       * Set the current validation data.206       * 207       * This should be invoked exactly once per block. It will panic at the finalization208       * phase if the call was not invoked.209       * 210       * The dispatch origin for this call must be `Inherent`211       * 212       * As a side effect, this function upgrades the current validation function213       * if the appropriate time has come.214       **/215      setValidationData: AugmentedSubmittable<(data: CumulusPrimitivesParachainInherentParachainInherentData | { validationData?: any; relayChainState?: any; downwardMessages?: any; horizontalMessages?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [CumulusPrimitivesParachainInherentParachainInherentData]>;216      sudoSendUpwardMessage: AugmentedSubmittable<(message: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;217      /**218       * Generic tx219       **/220      [key: string]: SubmittableExtrinsicFunction<ApiType>;221    };222    polkadotXcm: {223      /**224       * Execute an XCM message from a local, signed, origin.225       * 226       * An event is deposited indicating whether `msg` could be executed completely or only227       * partially.228       * 229       * No more than `max_weight` will be used in its attempted execution. If this is less than the230       * maximum amount of weight that the message could take to be executed, then no execution231       * attempt will be made.232       * 233       * NOTE: A successful return to this does *not* imply that the `msg` was executed successfully234       * to completion; only that *some* of it was executed.235       **/236      execute: AugmentedSubmittable<(message: XcmVersionedXcm | { V0: any } | { V1: any } | { V2: any } | string | Uint8Array, maxWeight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedXcm, u64]>;237      /**238       * Set a safe XCM version (the version that XCM should be encoded with if the most recent239       * version a destination can accept is unknown).240       * 241       * - `origin`: Must be Root.242       * - `maybe_xcm_version`: The default XCM encoding version, or `None` to disable.243       **/244      forceDefaultXcmVersion: AugmentedSubmittable<(maybeXcmVersion: Option<u32> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Option<u32>]>;245      /**246       * Ask a location to notify us regarding their XCM version and any changes to it.247       * 248       * - `origin`: Must be Root.249       * - `location`: The location to which we should subscribe for XCM version notifications.250       **/251      forceSubscribeVersionNotify: AugmentedSubmittable<(location: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation]>;252      /**253       * Require that a particular destination should no longer notify us regarding any XCM254       * version changes.255       * 256       * - `origin`: Must be Root.257       * - `location`: The location to which we are currently subscribed for XCM version258       * notifications which we no longer desire.259       **/260      forceUnsubscribeVersionNotify: AugmentedSubmittable<(location: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation]>;261      /**262       * Extoll that a particular destination can be communicated with through a particular263       * version of XCM.264       * 265       * - `origin`: Must be Root.266       * - `location`: The destination that is being described.267       * - `xcm_version`: The latest version of XCM that `location` supports.268       **/269      forceXcmVersion: AugmentedSubmittable<(location: XcmV1MultiLocation | { parents?: any; interior?: any } | string | Uint8Array, xcmVersion: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmV1MultiLocation, u32]>;270      /**271       * Transfer some assets from the local chain to the sovereign account of a destination chain and forward272       * a notification XCM.273       * 274       * Fee payment on the destination side is made from the first asset listed in the `assets` vector.275       * 276       * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.277       * - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send278       * from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.279       * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be280       * an `AccountId32` value.281       * - `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the282       * `dest` side.283       * - `fee_asset_item`: The index into `assets` of the item which should be used to pay284       * fees.285       * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.286       **/287      limitedReserveTransferAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V0: any } | { V1: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array, weightLimit: XcmV2WeightLimit | { Unlimited: any } | { Limited: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32, XcmV2WeightLimit]>;288      /**289       * Teleport some assets from the local chain to some destination chain.290       * 291       * Fee payment on the destination side is made from the first asset listed in the `assets` vector.292       * 293       * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.294       * - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send295       * from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.296       * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be297       * an `AccountId32` value.298       * - `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the299       * `dest` side. May not be empty.300       * - `dest_weight`: Equal to the total weight on `dest` of the XCM message301       * `Teleport { assets, effects: [ BuyExecution{..}, DepositAsset{..} ] }`.302       * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.303       **/304      limitedTeleportAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V0: any } | { V1: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array, weightLimit: XcmV2WeightLimit | { Unlimited: any } | { Limited: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32, XcmV2WeightLimit]>;305      /**306       * Transfer some assets from the local chain to the sovereign account of a destination chain and forward307       * a notification XCM.308       * 309       * Fee payment on the destination side is made from the first asset listed in the `assets` vector and310       * fee-weight is calculated locally and thus remote weights are assumed to be equal to311       * local weights.312       * 313       * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.314       * - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send315       * from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.316       * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be317       * an `AccountId32` value.318       * - `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the319       * `dest` side.320       * - `fee_asset_item`: The index into `assets` of the item which should be used to pay321       * fees.322       **/323      reserveTransferAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V0: any } | { V1: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32]>;324      send: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, message: XcmVersionedXcm | { V0: any } | { V1: any } | { V2: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedXcm]>;325      /**326       * Teleport some assets from the local chain to some destination chain.327       * 328       * Fee payment on the destination side is made from the first asset listed in the `assets` vector and329       * fee-weight is calculated locally and thus remote weights are assumed to be equal to330       * local weights.331       * 332       * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.333       * - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send334       * from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.335       * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be336       * an `AccountId32` value.337       * - `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the338       * `dest` side. May not be empty.339       * - `dest_weight`: Equal to the total weight on `dest` of the XCM message340       * `Teleport { assets, effects: [ BuyExecution{..}, DepositAsset{..} ] }`.341       **/342      teleportAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V0: any } | { V1: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32]>;343      /**344       * Generic tx345       **/346      [key: string]: SubmittableExtrinsicFunction<ApiType>;347    };348    sudo: {349      /**350       * Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo351       * key.352       * 353       * The dispatch origin for this call must be _Signed_.354       * 355       * # <weight>356       * - O(1).357       * - Limited storage reads.358       * - One DB change.359       * # </weight>360       **/361      setKey: AugmentedSubmittable<(updated: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress]>;362      /**363       * Authenticates the sudo key and dispatches a function call with `Root` origin.364       * 365       * The dispatch origin for this call must be _Signed_.366       * 367       * # <weight>368       * - O(1).369       * - Limited storage reads.370       * - One DB write (event).371       * - Weight of derivative `call` execution + 10,000.372       * # </weight>373       **/374      sudo: AugmentedSubmittable<(call: Call | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call]>;375      /**376       * Authenticates the sudo key and dispatches a function call with `Signed` origin from377       * a given account.378       * 379       * The dispatch origin for this call must be _Signed_.380       * 381       * # <weight>382       * - O(1).383       * - Limited storage reads.384       * - One DB write (event).385       * - Weight of derivative `call` execution + 10,000.386       * # </weight>387       **/388      sudoAs: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, call: Call | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Call]>;389      /**390       * Authenticates the sudo key and dispatches a function call with `Root` origin.391       * This function does not check the weight of the call, and instead allows the392       * Sudo user to specify the weight of the call.393       * 394       * The dispatch origin for this call must be _Signed_.395       * 396       * # <weight>397       * - O(1).398       * - The weight of this call is defined by the caller.399       * # </weight>400       **/401      sudoUncheckedWeight: AugmentedSubmittable<(call: Call | string | Uint8Array, weight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call, u64]>;402      /**403       * Generic tx404       **/405      [key: string]: SubmittableExtrinsicFunction<ApiType>;406    };407    system: {408      /**409       * A dispatch that will fill the block weight up to the given ratio.410       **/411      fillBlock: AugmentedSubmittable<(ratio: Perbill | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Perbill]>;412      /**413       * Kill all storage items with a key that starts with the given prefix.414       * 415       * **NOTE:** We rely on the Root origin to provide us the number of subkeys under416       * the prefix we are removing to accurately calculate the weight of this function.417       **/418      killPrefix: AugmentedSubmittable<(prefix: Bytes | string | Uint8Array, subkeys: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes, u32]>;419      /**420       * Kill some items from storage.421       **/422      killStorage: AugmentedSubmittable<(keys: Vec<Bytes> | (Bytes | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Vec<Bytes>]>;423      /**424       * Make some on-chain remark.425       * 426       * # <weight>427       * - `O(1)`428       * # </weight>429       **/430      remark: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;431      /**432       * Make some on-chain remark and emit event.433       * 434       * # <weight>435       * - `O(b)` where b is the length of the remark.436       * - 1 event.437       * # </weight>438       **/439      remarkWithEvent: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;440      /**441       * Set the new runtime code.442       * 443       * # <weight>444       * - `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`445       * - 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is446       * expensive).447       * - 1 storage write (codec `O(C)`).448       * - 1 digest item.449       * - 1 event.450       * The weight of this function is dependent on the runtime, but generally this is very451       * expensive. We will treat this as a full block.452       * # </weight>453       **/454      setCode: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;455      /**456       * Set the new runtime code without doing any checks of the given `code`.457       * 458       * # <weight>459       * - `O(C)` where `C` length of `code`460       * - 1 storage write (codec `O(C)`).461       * - 1 digest item.462       * - 1 event.463       * The weight of this function is dependent on the runtime. We will treat this as a full464       * block. # </weight>465       **/466      setCodeWithoutChecks: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;467      /**468       * Set the number of pages in the WebAssembly environment's heap.469       **/470      setHeapPages: AugmentedSubmittable<(pages: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64]>;471      /**472       * Set some items of storage.473       **/474      setStorage: AugmentedSubmittable<(items: Vec<ITuple<[Bytes, Bytes]>> | ([Bytes | string | Uint8Array, Bytes | string | Uint8Array])[]) => SubmittableExtrinsic<ApiType>, [Vec<ITuple<[Bytes, Bytes]>>]>;475      /**476       * Generic tx477       **/478      [key: string]: SubmittableExtrinsicFunction<ApiType>;479    };480    timestamp: {481      /**482       * Set the current time.483       * 484       * This call should be invoked exactly once per block. It will panic at the finalization485       * phase, if this call hasn't been invoked by that time.486       * 487       * The timestamp should be greater than the previous one by the amount specified by488       * `MinimumPeriod`.489       * 490       * The dispatch origin for this call must be `Inherent`.491       * 492       * # <weight>493       * - `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)494       * - 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in495       * `on_finalize`)496       * - 1 event handler `on_timestamp_set`. Must be `O(1)`.497       * # </weight>498       **/499      set: AugmentedSubmittable<(now: Compact<u64> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u64>]>;500      /**501       * Generic tx502       **/503      [key: string]: SubmittableExtrinsicFunction<ApiType>;504    };505    treasury: {506      /**507       * Approve a proposal. At a later time, the proposal will be allocated to the beneficiary508       * and the original deposit will be returned.509       * 510       * May only be called from `T::ApproveOrigin`.511       * 512       * # <weight>513       * - Complexity: O(1).514       * - DbReads: `Proposals`, `Approvals`515       * - DbWrite: `Approvals`516       * # </weight>517       **/518      approveProposal: AugmentedSubmittable<(proposalId: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>]>;519      /**520       * Put forward a suggestion for spending. A deposit proportional to the value521       * is reserved and slashed if the proposal is rejected. It is returned once the522       * proposal is awarded.523       * 524       * # <weight>525       * - Complexity: O(1)526       * - DbReads: `ProposalCount`, `origin account`527       * - DbWrites: `ProposalCount`, `Proposals`, `origin account`528       * # </weight>529       **/530      proposeSpend: AugmentedSubmittable<(value: Compact<u128> | AnyNumber | Uint8Array, beneficiary: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u128>, MultiAddress]>;531      /**532       * Reject a proposed spend. The original deposit will be slashed.533       * 534       * May only be called from `T::RejectOrigin`.535       * 536       * # <weight>537       * - Complexity: O(1)538       * - DbReads: `Proposals`, `rejected proposer account`539       * - DbWrites: `Proposals`, `rejected proposer account`540       * # </weight>541       **/542      rejectProposal: AugmentedSubmittable<(proposalId: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>]>;543      /**544       * Generic tx545       **/546      [key: string]: SubmittableExtrinsicFunction<ApiType>;547    };548    unique: {549      /**550       * Adds an admin of the Collection.551       * 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.552       * 553       * # Permissions554       * 555       * * Collection Owner.556       * * Collection Admin.557       * 558       * # Arguments559       * 560       * * collection_id: ID of the Collection to add admin for.561       * 562       * * new_admin_id: Address of new admin to add.563       **/564      addCollectionAdmin: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newAdminId: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;565      /**566       * Add an address to allow list.567       * 568       * # Permissions569       * 570       * * Collection Owner571       * * Collection Admin572       * 573       * # Arguments574       * 575       * * collection_id.576       * 577       * * address.578       **/579      addToAllowList: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, address: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;580      /**581       * Set, change, or remove approved address to transfer the ownership of the NFT.582       * 583       * # Permissions584       * 585       * * Collection Owner586       * * Collection Admin587       * * Current NFT owner588       * 589       * # Arguments590       * 591       * * approved: Address that is approved to transfer this NFT or zero (if needed to remove approval).592       * 593       * * collection_id.594       * 595       * * item_id: ID of the item.596       **/597      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]>;598      /**599       * Destroys a concrete instance of NFT on behalf of the owner600       * See also: [`approve`]601       * 602       * # Permissions603       * 604       * * Collection Owner.605       * * Collection Admin.606       * * Current NFT Owner.607       * 608       * # Arguments609       * 610       * * collection_id: ID of the collection.611       * 612       * * item_id: ID of NFT to burn.613       * 614       * * from: owner of item615       **/616      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]>;617      /**618       * Destroys a concrete instance of NFT.619       * 620       * # Permissions621       * 622       * * Collection Owner.623       * * Collection Admin.624       * * Current NFT Owner.625       * 626       * # Arguments627       * 628       * * collection_id: ID of the collection.629       * 630       * * item_id: ID of NFT to burn.631       **/632      burnItem: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u128]>;633      /**634       * Change the owner of the collection.635       * 636       * # Permissions637       * 638       * * Collection Owner.639       * 640       * # Arguments641       * 642       * * collection_id.643       * 644       * * new_owner.645       **/646      changeCollectionOwner: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newOwner: AccountId32 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, AccountId32]>;647      /**648       * # Permissions649       * 650       * * Sponsor.651       * 652       * # Arguments653       * 654       * * collection_id.655       **/656      confirmSponsorship: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;657      /**658       * 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.659       * 660       * # Permissions661       * 662       * * Anyone.663       * 664       * # Arguments665       * 666       * * collection_name: UTF-16 string with collection name (limit 64 characters), will be stored as zero-terminated.667       * 668       * * collection_description: UTF-16 string with collection description (limit 256 characters), will be stored as zero-terminated.669       * 670       * * token_prefix: UTF-8 string with token prefix.671       * 672       * * mode: [CollectionMode] collection type and type dependent data.673       **/674      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]>;675      /**676       * This method creates a collection677       * 678       * Prefer it to deprecated [`created_collection`] method679       **/680      createCollectionEx: AugmentedSubmittable<(data: UpDataStructsCreateCollectionData | { mode?: any; access?: any; name?: any; description?: any; tokenPrefix?: any; offchainSchema?: any; schemaVersion?: any; pendingSponsor?: any; limits?: any; variableOnChainSchema?: any; constOnChainSchema?: any; metaUpdatePermission?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [UpDataStructsCreateCollectionData]>;681      /**682       * This method creates a concrete instance of NFT Collection created with CreateCollection method.683       * 684       * # Permissions685       * 686       * * Collection Owner.687       * * Collection Admin.688       * * Anyone if689       * * Allow List is enabled, and690       * * Address is added to allow list, and691       * * MintPermission is enabled (see SetMintPermission method)692       * 693       * # Arguments694       * 695       * * collection_id: ID of the collection.696       * 697       * * owner: Address, initial owner of the NFT.698       * 699       * * data: Token data to store on chain.700       **/701      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]>;702      /**703       * This method creates multiple items in a collection created with CreateCollection method.704       * 705       * # Permissions706       * 707       * * Collection Owner.708       * * Collection Admin.709       * * Anyone if710       * * Allow List is enabled, and711       * * Address is added to allow list, and712       * * MintPermission is enabled (see SetMintPermission method)713       * 714       * # Arguments715       * 716       * * collection_id: ID of the collection.717       * 718       * * itemsData: Array items properties. Each property is an array of bytes itself, see [create_item].719       * 720       * * owner: Address, initial owner of the NFT.721       **/722      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>]>;723      /**724       * **DANGEROUS**: Destroys collection and all NFTs within this collection. Users irrecoverably lose their assets and may lose real money.725       * 726       * # Permissions727       * 728       * * Collection Owner.729       * 730       * # Arguments731       * 732       * * collection_id: collection to destroy.733       **/734      destroyCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;735      /**736       * 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.737       * 738       * # Permissions739       * 740       * * Collection Owner.741       * * Collection Admin.742       * 743       * # Arguments744       * 745       * * collection_id: ID of the Collection to remove admin for.746       * 747       * * account_id: Address of admin to remove.748       **/749      removeCollectionAdmin: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, accountId: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;750      /**751       * Switch back to pay-per-own-transaction model.752       * 753       * # Permissions754       * 755       * * Collection owner.756       * 757       * # Arguments758       * 759       * * collection_id.760       **/761      removeCollectionSponsor: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;762      /**763       * Remove an address from allow list.764       * 765       * # Permissions766       * 767       * * Collection Owner768       * * Collection Admin769       * 770       * # Arguments771       * 772       * * collection_id.773       * 774       * * address.775       **/776      removeFromAllowList: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, address: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;777      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]>;778      /**779       * # Permissions780       * 781       * * Collection Owner782       * 783       * # Arguments784       * 785       * * collection_id.786       * 787       * * new_sponsor.788       **/789      setCollectionSponsor: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newSponsor: AccountId32 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, AccountId32]>;790      /**791       * Set const on-chain data schema.792       * 793       * # Permissions794       * 795       * * Collection Owner796       * * Collection Admin797       * 798       * # Arguments799       * 800       * * collection_id.801       * 802       * * schema: String representing the const on-chain data schema.803       **/804      setConstOnChainSchema: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, schema: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, Bytes]>;805      /**806       * Set meta_update_permission value for particular collection807       * 808       * # Permissions809       * 810       * * Collection Owner.811       * 812       * # Arguments813       * 814       * * collection_id: ID of the collection.815       * 816       * * value: New flag value.817       **/818      setMetaUpdatePermissionFlag: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, value: UpDataStructsMetaUpdatePermission | 'ItemOwner' | 'Admin' | 'None' | number | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsMetaUpdatePermission]>;819      /**820       * Allows Anyone to create tokens if:821       * * Allow List is enabled, and822       * * Address is added to allow list, and823       * * This method was called with True parameter824       * 825       * # Permissions826       * * Collection Owner827       * 828       * # Arguments829       * 830       * * collection_id.831       * 832       * * mint_permission: Boolean parameter. If True, allows minting to Anyone with conditions above.833       **/834      setMintPermission: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, mintPermission: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, bool]>;835      /**836       * Set off-chain data schema.837       * 838       * # Permissions839       * 840       * * Collection Owner841       * * Collection Admin842       * 843       * # Arguments844       * 845       * * collection_id.846       * 847       * * schema: String representing the offchain data schema.848       **/849      setOffchainSchema: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, schema: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, Bytes]>;850      /**851       * Toggle between normal and allow list access for the methods with access for `Anyone`.852       * 853       * # Permissions854       * 855       * * Collection Owner.856       * 857       * # Arguments858       * 859       * * collection_id.860       * 861       * * mode: [AccessMode]862       **/863      setPublicAccessMode: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, mode: UpDataStructsAccessMode | 'Normal' | 'AllowList' | number | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsAccessMode]>;864      /**865       * Set schema standard866       * ImageURL867       * Unique868       * 869       * # Permissions870       * 871       * * Collection Owner872       * * Collection Admin873       * 874       * # Arguments875       * 876       * * collection_id.877       * 878       * * schema: SchemaVersion: enum879       **/880      setSchemaVersion: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, version: UpDataStructsSchemaVersion | 'ImageURL' | 'Unique' | number | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsSchemaVersion]>;881      /**882       * Set transfers_enabled value for particular collection883       * 884       * # Permissions885       * 886       * * Collection Owner.887       * 888       * # Arguments889       * 890       * * collection_id: ID of the collection.891       * 892       * * value: New flag value.893       **/894      setTransfersEnabledFlag: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, value: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, bool]>;895      /**896       * Set off-chain data schema.897       * 898       * # Permissions899       * 900       * * Collection Owner901       * * Collection Admin902       * 903       * # Arguments904       * 905       * * collection_id.906       * 907       * * schema: String representing the offchain data schema.908       **/909      setVariableMetaData: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, data: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, Bytes]>;910      /**911       * Set variable on-chain data schema.912       * 913       * # Permissions914       * 915       * * Collection Owner916       * * Collection Admin917       * 918       * # Arguments919       * 920       * * collection_id.921       * 922       * * schema: String representing the variable on-chain data schema.923       **/924      setVariableOnChainSchema: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, schema: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, Bytes]>;925      /**926       * Change ownership of the token.927       * 928       * # Permissions929       * 930       * * Collection Owner931       * * Collection Admin932       * * Current NFT owner933       * 934       * # Arguments935       * 936       * * recipient: Address of token recipient.937       * 938       * * collection_id.939       * 940       * * item_id: ID of the item941       * * Non-Fungible Mode: Required.942       * * Fungible Mode: Ignored.943       * * Re-Fungible Mode: Required.944       * 945       * * value: Amount to transfer.946       * * Non-Fungible Mode: Ignored947       * * Fungible Mode: Must specify transferred amount948       * * Re-Fungible Mode: Must specify transferred portion (between 0 and 1)949       **/950      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]>;951      /**952       * 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.953       * 954       * # Permissions955       * * Collection Owner956       * * Collection Admin957       * * Current NFT owner958       * * Address approved by current NFT owner959       * 960       * # Arguments961       * 962       * * from: Address that owns token.963       * 964       * * recipient: Address of token recipient.965       * 966       * * collection_id.967       * 968       * * item_id: ID of the item.969       * 970       * * value: Amount to transfer.971       **/972      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]>;973      /**974       * Generic tx975       **/976      [key: string]: SubmittableExtrinsicFunction<ApiType>;977    };978    vesting: {979      claim: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;980      claimFor: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress]>;981      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>]>;982      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]>;983      /**984       * Generic tx985       **/986      [key: string]: SubmittableExtrinsicFunction<ApiType>;987    };988    xcmpQueue: {989      /**990       * Generic tx991       **/992      [key: string]: SubmittableExtrinsicFunction<ApiType>;993    };994  }995996  export interface SubmittableExtrinsics<ApiType extends ApiTypes> extends AugmentedSubmittables<ApiType> {997    (extrinsic: Call | Extrinsic | Uint8Array | string): SubmittableExtrinsic<ApiType>;998    [key: string]: SubmittableModuleExtrinsics<ApiType>;999  }1000}
modifiedtests/src/interfaces/augment-types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-types.ts
+++ b/tests/src/interfaces/augment-types.ts
@@ -3,7 +3,7 @@
 
 import type { EthereumBlock, EthereumLog, EthereumReceipt, EthereumTransactionLegacyTransaction, EvmCoreErrorExitReason, FpRpcTransactionStatus } from './ethereum';
 import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundStatus, CumulusPalletXcmpQueueOutboundStatus, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV1AbridgedHostConfiguration, PolkadotPrimitivesV1PersistedValidationData } from './polkadot';
-import type { PalletCommonAccountBasicCrossAccountIdRepr, PalletNonfungibleItemData, PalletRefungibleItemData, PalletUnqSchedulerCallSpec, PalletUnqSchedulerReleases, PalletUnqSchedulerScheduledV2, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionId, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionStats, UpDataStructsCreateItemData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion, UpDataStructsSponsorshipState, UpDataStructsTokenId } from './unique';
+import type { PalletCommonAccountBasicCrossAccountIdRepr, PalletNonfungibleItemData, PalletRefungibleItemData, PalletUnqSchedulerCallSpec, PalletUnqSchedulerReleases, PalletUnqSchedulerScheduledV2, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionId, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion, UpDataStructsSponsorshipState, UpDataStructsTokenId } from './unique';
 import 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';
 import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets';
 import type { BlockAttestations, IncludedBlocks, MoreAttestations } from '@polkadot/types/interfaces/attestations';
@@ -1021,6 +1021,7 @@
     UpDataStructsCollectionLimits: UpDataStructsCollectionLimits;
     UpDataStructsCollectionMode: UpDataStructsCollectionMode;
     UpDataStructsCollectionStats: UpDataStructsCollectionStats;
+    UpDataStructsCreateCollectionData: UpDataStructsCreateCollectionData;
     UpDataStructsCreateItemData: UpDataStructsCreateItemData;
     UpDataStructsMetaUpdatePermission: UpDataStructsMetaUpdatePermission;
     UpDataStructsSchemaVersion: UpDataStructsSchemaVersion;
modifiedtests/src/interfaces/unique/definitions.tsdiffbeforeafterboth
--- a/tests/src/interfaces/unique/definitions.ts
+++ b/tests/src/interfaces/unique/definitions.ts
@@ -67,6 +67,20 @@
       constOnChainSchema: 'Vec<u8>',
       metaUpdatePermission: 'UpDataStructsMetaUpdatePermission',
     },
+    UpDataStructsCreateCollectionData: {
+      mode: 'UpDataStructsCollectionMode',
+      access: 'Option<UpDataStructsAccessMode>',
+      name: 'Vec<u16>',
+      description: 'Vec<u16>',
+      tokenPrefix: 'Vec<u8>',
+      offchainSchema: 'Vec<u8>',
+      schemaVersion: 'Option<UpDataStructsSchemaVersion>',
+      pendingSponsor: 'Option<AccountId>',
+      limits: 'Option<UpDataStructsCollectionLimits>',
+      variableOnChainSchema: 'Vec<u8>',
+      constOnChainSchema: 'Vec<u8>',
+      metaUpdatePermission: 'Option<UpDataStructsMetaUpdatePermission>',
+    },
     UpDataStructsCollectionStats: {
       created: 'u32',
       destroyed: 'u32',
@@ -76,7 +90,13 @@
     UpDataStructsTokenId: 'u32',
     PalletNonfungibleItemData: mkDummy('NftItemData'),
     PalletRefungibleItemData: mkDummy('RftItemData'),
-    UpDataStructsCollectionMode: mkDummy('CollectionMode'),
+    UpDataStructsCollectionMode: {
+      _enum: {
+        NFT: null,
+        Fungible: 'u32',
+        ReFungible: null,
+      },
+    },
     UpDataStructsCreateItemData: mkDummy('CreateItemData'),
     UpDataStructsCollectionLimits: {
       accountTokenOwnershipLimit: 'Option<u32>',
@@ -101,7 +121,9 @@
     UpDataStructsAccessMode: {
       _enum: ['Normal', 'AllowList'],
     },
-    UpDataStructsSchemaVersion: mkDummy('SchemaVersion'),
+    UpDataStructsSchemaVersion: {
+      _enum: ['ImageURL', 'Unique'],
+    },
 
     PalletUnqSchedulerScheduledV2: mkDummy('ScheduledV2'),
     PalletUnqSchedulerCallSpec: mkDummy('CallSpec'),
modifiedtests/src/interfaces/unique/types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/unique/types.ts
+++ b/tests/src/interfaces/unique/types.ts
@@ -77,8 +77,11 @@
 }
 
 /** @name UpDataStructsCollectionMode */
-export interface UpDataStructsCollectionMode extends Struct {
-  readonly dummyCollectionMode: u32;
+export interface UpDataStructsCollectionMode extends Enum {
+  readonly isNft: boolean;
+  readonly isFungible: boolean;
+  readonly asFungible: u32;
+  readonly isReFungible: boolean;
 }
 
 /** @name UpDataStructsCollectionStats */
@@ -88,6 +91,22 @@
   readonly alive: u32;
 }
 
+/** @name UpDataStructsCreateCollectionData */
+export interface UpDataStructsCreateCollectionData extends Struct {
+  readonly mode: UpDataStructsCollectionMode;
+  readonly access: Option<UpDataStructsAccessMode>;
+  readonly name: Vec<u16>;
+  readonly description: Vec<u16>;
+  readonly tokenPrefix: Bytes;
+  readonly offchainSchema: Bytes;
+  readonly schemaVersion: Option<UpDataStructsSchemaVersion>;
+  readonly pendingSponsor: Option<AccountId>;
+  readonly limits: Option<UpDataStructsCollectionLimits>;
+  readonly variableOnChainSchema: Bytes;
+  readonly constOnChainSchema: Bytes;
+  readonly metaUpdatePermission: Option<UpDataStructsMetaUpdatePermission>;
+}
+
 /** @name UpDataStructsCreateItemData */
 export interface UpDataStructsCreateItemData extends Struct {
   readonly dummyCreateItemData: u32;
@@ -101,8 +120,9 @@
 }
 
 /** @name UpDataStructsSchemaVersion */
-export interface UpDataStructsSchemaVersion extends Struct {
-  readonly dummySchemaVersion: u32;
+export interface UpDataStructsSchemaVersion extends Enum {
+  readonly isImageUrl: boolean;
+  readonly isUnique: boolean;
 }
 
 /** @name UpDataStructsSponsorshipState */
modifiedtests/src/substrate/substrate-api.tsdiffbeforeafterboth
--- a/tests/src/substrate/substrate-api.ts
+++ b/tests/src/substrate/substrate-api.ts
@@ -95,6 +95,32 @@
   return TransactionStatus.Fail;
 }
 
+export function executeTransaction(api: ApiPromise, sender: IKeyringPair, transaction: SubmittableExtrinsic<'promise'>): Promise<EventRecord[]> {
+  return new Promise(async (res, rej) => {
+    try {
+      await transaction.signAndSend(sender, ({events, status}) => {
+        if (!status.isInBlock && !status.isFinalized) return;
+        for (const {event} of events) {
+          if (api.events.system.ExtrinsicSuccess.is(event)) {
+            res(events);
+          } else if (api.events.system.ExtrinsicFailed.is(event)) {
+            const {data: [error]} = event;
+            if (error.isModule) {
+              const decoded = api.registry.findMetaError(error.asModule);
+              const {method, section} = decoded;
+              rej(new Error(`${section}.${method}`));
+            } else {
+              rej(new Error(error.toString()));
+            }
+          }
+        }
+      });
+    } catch (e) {
+      rej(e);
+    }
+  });
+}
+
 export function
 submitTransactionAsync(sender: IKeyringPair, transaction: SubmittableExtrinsic<ApiTypes>): Promise<EventRecord[]> {
   /* eslint no-async-promise-executor: "off" */
modifiedtests/src/util/helpers.tsdiffbeforeafterboth
--- a/tests/src/util/helpers.ts
+++ b/tests/src/util/helpers.ts
@@ -49,7 +49,7 @@
     };
   } else if ('Substrate' in input) {
     return input;
-  }else if ('substrate' in input) {
+  } else if ('substrate' in input) {
     return {
       Substrate: (input as any).substrate,
     };
@@ -116,15 +116,15 @@
 
 export interface IChainLimits {
   collectionNumbersLimit: number;
-	accountTokenOwnershipLimit: number;
-	collectionsAdminsLimit: number;
-	customDataLimit: number;
-	nftSponsorTransferTimeout: number;
-	fungibleSponsorTransferTimeout: number;
-	refungibleSponsorTransferTimeout: number;
-	offchainSchemaLimit: number;
-	variableOnChainSchemaLimit: number;
-	constOnChainSchemaLimit: number;
+  accountTokenOwnershipLimit: number;
+  collectionsAdminsLimit: number;
+  customDataLimit: number;
+  nftSponsorTransferTimeout: number;
+  fungibleSponsorTransferTimeout: number;
+  refungibleSponsorTransferTimeout: number;
+  offchainSchemaLimit: number;
+  variableOnChainSchemaLimit: number;
+  constOnChainSchemaLimit: number;
 }
 
 export interface IReFungibleTokenDataType {
@@ -283,7 +283,7 @@
       modeprm = {refungible: null};
     }
 
-    const tx = api.tx.unique.createCollection(strToUTF16(name), strToUTF16(description), strToUTF16(tokenPrefix), modeprm as any);
+    const tx = api.tx.unique.createCollectionEx({name: strToUTF16(name), description: strToUTF16(description), tokenPrefix: strToUTF16(tokenPrefix), mode: modeprm as any});
     const events = await submitTransactionAsync(alicePrivateKey, tx);
     const result = getCreateCollectionResult(events);
 
@@ -329,7 +329,7 @@
 
     // Run the CreateCollection transaction
     const alicePrivateKey = privateKey('//Alice');
-    const tx = api.tx.unique.createCollection(strToUTF16(name), strToUTF16(description), strToUTF16(tokenPrefix), modeprm as any);
+    const tx = api.tx.unique.createCollectionEx({name: strToUTF16(name), description: strToUTF16(description), tokenPrefix: strToUTF16(tokenPrefix), mode: modeprm as any});
     const events = await expect(submitTransactionExpectFailAsync(alicePrivateKey, tx)).to.be.rejected;
     const result = getCreateCollectionResult(events);
 
@@ -557,7 +557,7 @@
 
   await usingApi(async (api) => {
 
-    const tx = api.tx.unique.setTransfersEnabledFlag (collectionId, enabled);
+    const tx = api.tx.unique.setTransfersEnabledFlag(collectionId, enabled);
     const events = await submitTransactionAsync(sender, tx);
     const result = getGenericResult(events);
 
@@ -569,7 +569,7 @@
 
   await usingApi(async (api) => {
 
-    const tx = api.tx.unique.setTransfersEnabledFlag (collectionId, enabled);
+    const tx = api.tx.unique.setTransfersEnabledFlag(collectionId, enabled);
     const events = await expect(submitTransactionExpectFailAsync(sender, tx)).to.be.rejected;
     const result = getGenericResult(events);
 
@@ -811,8 +811,7 @@
 }
 
 export async function
-getFreeBalance(account: IKeyringPair) : Promise<bigint>
-{
+getFreeBalance(account: IKeyringPair): Promise<bigint> {
   let balance = 0n;
   await usingApi(async (api) => {
     balance = BigInt((await api.query.system.account(account.address)).data.free.toString());