@dedot/chaintypes 0.0.1-alpha.65 → 0.0.1-alpha.67

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,6 +21,8 @@ import type {
21
21
  PalletNftsAttributeNamespace,
22
22
  PalletNftsPriceWithDirection,
23
23
  PalletNftsPalletAttributes,
24
+ PalletStateTrieMigrationMigrationCompute,
25
+ PalletStateTrieMigrationError,
24
26
  } from './types';
25
27
 
26
28
  export interface ChainEvents extends GenericChainEvents {
@@ -2244,6 +2246,92 @@ export interface ChainEvents extends GenericChainEvents {
2244
2246
  }
2245
2247
  >;
2246
2248
 
2249
+ /**
2250
+ * Pool has been touched in order to fulfill operational requirements.
2251
+ **/
2252
+ Touched: GenericPalletEvent<
2253
+ 'AssetConversion',
2254
+ 'Touched',
2255
+ {
2256
+ /**
2257
+ * The ID of the pool.
2258
+ **/
2259
+ poolId: [StagingXcmV3MultilocationMultiLocation, StagingXcmV3MultilocationMultiLocation];
2260
+
2261
+ /**
2262
+ * The account initiating the touch.
2263
+ **/
2264
+ who: AccountId32;
2265
+ }
2266
+ >;
2267
+
2268
+ /**
2269
+ * Generic pallet event
2270
+ **/
2271
+ [prop: string]: GenericPalletEvent;
2272
+ };
2273
+ /**
2274
+ * Pallet `StateTrieMigration`'s events
2275
+ **/
2276
+ stateTrieMigration: {
2277
+ /**
2278
+ * Given number of `(top, child)` keys were migrated respectively, with the given
2279
+ * `compute`.
2280
+ **/
2281
+ Migrated: GenericPalletEvent<
2282
+ 'StateTrieMigration',
2283
+ 'Migrated',
2284
+ { top: number; child: number; compute: PalletStateTrieMigrationMigrationCompute }
2285
+ >;
2286
+
2287
+ /**
2288
+ * Some account got slashed by the given amount.
2289
+ **/
2290
+ Slashed: GenericPalletEvent<'StateTrieMigration', 'Slashed', { who: AccountId32; amount: bigint }>;
2291
+
2292
+ /**
2293
+ * The auto migration task finished.
2294
+ **/
2295
+ AutoMigrationFinished: GenericPalletEvent<'StateTrieMigration', 'AutoMigrationFinished', null>;
2296
+
2297
+ /**
2298
+ * Migration got halted due to an error or miss-configuration.
2299
+ **/
2300
+ Halted: GenericPalletEvent<'StateTrieMigration', 'Halted', { error: PalletStateTrieMigrationError }>;
2301
+
2302
+ /**
2303
+ * Generic pallet event
2304
+ **/
2305
+ [prop: string]: GenericPalletEvent;
2306
+ };
2307
+ /**
2308
+ * Pallet `AssetConversionMigration`'s events
2309
+ **/
2310
+ assetConversionMigration: {
2311
+ /**
2312
+ * Indicates that a pool has been migrated to the new account ID.
2313
+ **/
2314
+ MigratedToNewAccount: GenericPalletEvent<
2315
+ 'AssetConversionMigration',
2316
+ 'MigratedToNewAccount',
2317
+ {
2318
+ /**
2319
+ * Pool's ID.
2320
+ **/
2321
+ poolId: [StagingXcmV3MultilocationMultiLocation, StagingXcmV3MultilocationMultiLocation];
2322
+
2323
+ /**
2324
+ * Pool's prior account ID.
2325
+ **/
2326
+ priorAccount: AccountId32;
2327
+
2328
+ /**
2329
+ * Pool's new account ID.
2330
+ **/
2331
+ newAccount: AccountId32;
2332
+ }
2333
+ >;
2334
+
2247
2335
  /**
2248
2336
  * Generic pallet event
2249
2337
  **/
@@ -76,6 +76,8 @@ import type {
76
76
  StagingXcmV3MultilocationMultiLocation,
77
77
  PalletNftFractionalizationDetails,
78
78
  PalletAssetConversionPoolInfo,
79
+ PalletStateTrieMigrationMigrationTask,
80
+ PalletStateTrieMigrationMigrationLimits,
79
81
  } from './types';
80
82
 
81
83
  export interface ChainStorage extends GenericChainStorage {
@@ -1519,6 +1521,43 @@ export interface ChainStorage extends GenericChainStorage {
1519
1521
  **/
1520
1522
  nextPoolAssetId: GenericStorageQuery<() => number | undefined>;
1521
1523
 
1524
+ /**
1525
+ * Generic pallet storage query
1526
+ **/
1527
+ [storage: string]: GenericStorageQuery;
1528
+ };
1529
+ /**
1530
+ * Pallet `StateTrieMigration`'s storage queries
1531
+ **/
1532
+ stateTrieMigration: {
1533
+ /**
1534
+ * Migration progress.
1535
+ *
1536
+ * This stores the snapshot of the last migrated keys. It can be set into motion and move
1537
+ * forward by any of the means provided by this pallet.
1538
+ *
1539
+ * @param {Callback<PalletStateTrieMigrationMigrationTask> =} callback
1540
+ **/
1541
+ migrationProcess: GenericStorageQuery<() => PalletStateTrieMigrationMigrationTask>;
1542
+
1543
+ /**
1544
+ * The limits that are imposed on automatic migrations.
1545
+ *
1546
+ * If set to None, then no automatic migration happens.
1547
+ *
1548
+ * @param {Callback<PalletStateTrieMigrationMigrationLimits | undefined> =} callback
1549
+ **/
1550
+ autoLimits: GenericStorageQuery<() => PalletStateTrieMigrationMigrationLimits | undefined>;
1551
+
1552
+ /**
1553
+ * The maximum limits that the signed migration could use.
1554
+ *
1555
+ * If not set, no signed submission is allowed.
1556
+ *
1557
+ * @param {Callback<PalletStateTrieMigrationMigrationLimits | undefined> =} callback
1558
+ **/
1559
+ signedMigrationMaxLimits: GenericStorageQuery<() => PalletStateTrieMigrationMigrationLimits | undefined>;
1560
+
1522
1561
  /**
1523
1562
  * Generic pallet storage query
1524
1563
  **/
@@ -512,28 +512,51 @@ export interface RuntimeApis extends GenericRuntimeApis {
512
512
  **/
513
513
  genesisBuilder: {
514
514
  /**
515
- * Creates the default `RuntimeGenesisConfig` and returns it as a JSON blob.
515
+ * Build `RuntimeGenesisConfig` from a JSON blob not using any defaults and store it in the
516
+ * storage.
516
517
  *
517
- * This function instantiates the default `RuntimeGenesisConfig` struct for the runtime and serializes it into a JSON
518
- * blob. It returns a `Vec<u8>` containing the JSON representation of the default `RuntimeGenesisConfig`.
518
+ * In the case of a FRAME-based runtime, this function deserializes the full `RuntimeGenesisConfig` from the given JSON blob and
519
+ * puts it into the storage. If the provided JSON blob is incorrect or incomplete or the
520
+ * deserialization fails, an error is returned.
519
521
  *
520
- * @callname: GenesisBuilder_create_default_config
522
+ * Please note that provided JSON blob must contain all `RuntimeGenesisConfig` fields, no
523
+ * defaults will be used.
524
+ *
525
+ * @callname: GenesisBuilder_build_state
526
+ * @param {BytesLike} json
521
527
  **/
522
- createDefaultConfig: GenericRuntimeApiMethod<() => Promise<Bytes>>;
528
+ buildState: GenericRuntimeApiMethod<(json: BytesLike) => Promise<Result<[], string>>>;
523
529
 
524
530
  /**
525
- * Build `RuntimeGenesisConfig` from a JSON blob not using any defaults and store it in the storage.
531
+ * Returns a JSON blob representation of the built-in `RuntimeGenesisConfig` identified by
532
+ * `id`.
526
533
  *
527
- * This function deserializes the full `RuntimeGenesisConfig` from the given JSON blob and puts it into the storage.
528
- * If the provided JSON blob is incorrect or incomplete or the deserialization fails, an error is returned.
529
- * It is recommended to log any errors encountered during the process.
534
+ * If `id` is `None` the function returns JSON blob representation of the default
535
+ * `RuntimeGenesisConfig` struct of the runtime. Implementation must provide default
536
+ * `RuntimeGenesisConfig`.
530
537
  *
531
- * Please note that provided json blob must contain all `RuntimeGenesisConfig` fields, no defaults will be used.
538
+ * Otherwise function returns a JSON representation of the built-in, named
539
+ * `RuntimeGenesisConfig` preset identified by `id`, or `None` if such preset does not
540
+ * exists. Returned `Vec<u8>` contains bytes of JSON blob (patch) which comprises a list of
541
+ * (potentially nested) key-value pairs that are intended for customizing the default
542
+ * runtime genesis config. The patch shall be merged (rfc7386) with the JSON representation
543
+ * of the default `RuntimeGenesisConfig` to create a comprehensive genesis config that can
544
+ * be used in `build_state` method.
532
545
  *
533
- * @callname: GenesisBuilder_build_config
534
- * @param {BytesLike} json
546
+ * @callname: GenesisBuilder_get_preset
547
+ * @param {string | undefined} id
548
+ **/
549
+ getPreset: GenericRuntimeApiMethod<(id?: string | undefined) => Promise<Bytes | undefined>>;
550
+
551
+ /**
552
+ * Returns a list of identifiers for available builtin `RuntimeGenesisConfig` presets.
553
+ *
554
+ * The presets from the list can be queried with [`GenesisBuilder::get_preset`] method. If
555
+ * no named presets are provided by the runtime the list is empty.
556
+ *
557
+ * @callname: GenesisBuilder_preset_names
535
558
  **/
536
- buildConfig: GenericRuntimeApiMethod<(json: BytesLike) => Promise<Result<[], string>>>;
559
+ presetNames: GenericRuntimeApiMethod<() => Promise<Array<string>>>;
537
560
 
538
561
  /**
539
562
  * Generic runtime api call
@@ -21,6 +21,8 @@ import type {
21
21
  SpWeightsWeightV2Weight,
22
22
  StagingXcmV4Location,
23
23
  XcmV3WeightLimit,
24
+ StagingXcmExecutorAssetTransferTransferType,
25
+ XcmVersionedAssetId,
24
26
  CumulusPrimitivesCoreAggregateMessageOrigin,
25
27
  AssetHubRococoRuntimeOriginCaller,
26
28
  PalletMultisigTimepoint,
@@ -39,6 +41,9 @@ import type {
39
41
  PalletNftsPreSignedMint,
40
42
  PalletNftsPreSignedAttributes,
41
43
  StagingXcmV3MultilocationMultiLocation,
44
+ PalletStateTrieMigrationMigrationLimits,
45
+ PalletStateTrieMigrationMigrationTask,
46
+ PalletStateTrieMigrationProgress,
42
47
  } from './types';
43
48
 
44
49
  export type ChainSubmittableExtrinsic<T extends IRuntimeTxCall = AssetHubRococoRuntimeRuntimeCallLike> = Extrinsic<
@@ -956,7 +961,6 @@ export interface ChainTx extends GenericChainTx<TxCall> {
956
961
  **/
957
962
  polkadotXcm: {
958
963
  /**
959
- * WARNING: DEPRECATED. `send` will be removed after June 2024. Use `send_blob` instead.
960
964
  *
961
965
  * @param {XcmVersionedLocation} dest
962
966
  * @param {XcmVersionedXcm} message
@@ -1086,9 +1090,6 @@ export interface ChainTx extends GenericChainTx<TxCall> {
1086
1090
  * the maximum amount of weight that the message could take to be executed, then no
1087
1091
  * execution attempt will be made.
1088
1092
  *
1089
- * WARNING: DEPRECATED. `execute` will be removed after June 2024. Use `execute_blob`
1090
- * instead.
1091
- *
1092
1093
  * @param {XcmVersionedXcm} message
1093
1094
  * @param {SpWeightsWeightV2Weight} maxWeight
1094
1095
  **/
@@ -1400,53 +1401,85 @@ export interface ChainTx extends GenericChainTx<TxCall> {
1400
1401
  >;
1401
1402
 
1402
1403
  /**
1403
- * Execute an XCM from a local, signed, origin.
1404
+ * Transfer assets from the local chain to the destination chain using explicit transfer
1405
+ * types for assets and fees.
1404
1406
  *
1405
- * An event is deposited indicating whether the message could be executed completely
1406
- * or only partially.
1407
+ * `assets` must have same reserve location or may be teleportable to `dest`. Caller must
1408
+ * provide the `assets_transfer_type` to be used for `assets`:
1409
+ * - `TransferType::LocalReserve`: transfer assets to sovereign account of destination
1410
+ * chain and forward a notification XCM to `dest` to mint and deposit reserve-based
1411
+ * assets to `beneficiary`.
1412
+ * - `TransferType::DestinationReserve`: burn local assets and forward a notification to
1413
+ * `dest` chain to withdraw the reserve assets from this chain's sovereign account and
1414
+ * deposit them to `beneficiary`.
1415
+ * - `TransferType::RemoteReserve(reserve)`: burn local assets, forward XCM to `reserve`
1416
+ * chain to move reserves from this chain's SA to `dest` chain's SA, and forward another
1417
+ * XCM to `dest` to mint and deposit reserve-based assets to `beneficiary`. Typically
1418
+ * the remote `reserve` is Asset Hub.
1419
+ * - `TransferType::Teleport`: burn local assets and forward XCM to `dest` chain to
1420
+ * mint/teleport assets and deposit them to `beneficiary`.
1421
+ *
1422
+ * On the destination chain, as well as any intermediary hops, `BuyExecution` is used to
1423
+ * buy execution using transferred `assets` identified by `remote_fees_id`.
1424
+ * Make sure enough of the specified `remote_fees_id` asset is included in the given list
1425
+ * of `assets`. `remote_fees_id` should be enough to pay for `weight_limit`. If more weight
1426
+ * is needed than `weight_limit`, then the operation will fail and the sent assets may be
1427
+ * at risk.
1407
1428
  *
1408
- * No more than `max_weight` will be used in its attempted execution. If this is less than
1409
- * the maximum amount of weight that the message could take to be executed, then no
1410
- * execution attempt will be made.
1429
+ * `remote_fees_id` may use different transfer type than rest of `assets` and can be
1430
+ * specified through `fees_transfer_type`.
1411
1431
  *
1412
- * The message is passed in encoded. It needs to be decodable as a [`VersionedXcm`].
1432
+ * The caller needs to specify what should happen to the transferred assets once they reach
1433
+ * the `dest` chain. This is done through the `custom_xcm_on_dest` parameter, which
1434
+ * contains the instructions to execute on `dest` as a final step.
1435
+ * This is usually as simple as:
1436
+ * `Xcm(vec![DepositAsset { assets: Wild(AllCounted(assets.len())), beneficiary }])`,
1437
+ * but could be something more exotic like sending the `assets` even further.
1413
1438
  *
1414
- * @param {BytesLike} encodedMessage
1415
- * @param {SpWeightsWeightV2Weight} maxWeight
1416
- **/
1417
- executeBlob: GenericTxCall<
1418
- (
1419
- encodedMessage: BytesLike,
1420
- maxWeight: SpWeightsWeightV2Weight,
1421
- ) => ChainSubmittableExtrinsic<{
1422
- pallet: 'PolkadotXcm';
1423
- palletCall: {
1424
- name: 'ExecuteBlob';
1425
- params: { encodedMessage: BytesLike; maxWeight: SpWeightsWeightV2Weight };
1426
- };
1427
- }>
1428
- >;
1429
-
1430
- /**
1431
- * Send an XCM from a local, signed, origin.
1432
- *
1433
- * The destination, `dest`, will receive this message with a `DescendOrigin` instruction
1434
- * that makes the origin of the message be the origin on this system.
1435
- *
1436
- * The message is passed in encoded. It needs to be decodable as a [`VersionedXcm`].
1439
+ * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.
1440
+ * - `dest`: Destination context for the assets. Will typically be `[Parent,
1441
+ * Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from
1442
+ * relay to parachain, or `(parents: 2, (GlobalConsensus(..), ..))` to send from
1443
+ * parachain across a bridge to another ecosystem destination.
1444
+ * - `assets`: The assets to be withdrawn. This should include the assets used to pay the
1445
+ * fee on the `dest` (and possibly reserve) chains.
1446
+ * - `assets_transfer_type`: The XCM `TransferType` used to transfer the `assets`.
1447
+ * - `remote_fees_id`: One of the included `assets` to be be used to pay fees.
1448
+ * - `fees_transfer_type`: The XCM `TransferType` used to transfer the `fees` assets.
1449
+ * - `custom_xcm_on_dest`: The XCM to be executed on `dest` chain as the last step of the
1450
+ * transfer, which also determines what happens to the assets on the destination chain.
1451
+ * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.
1437
1452
  *
1438
1453
  * @param {XcmVersionedLocation} dest
1439
- * @param {BytesLike} encodedMessage
1454
+ * @param {XcmVersionedAssets} assets
1455
+ * @param {StagingXcmExecutorAssetTransferTransferType} assetsTransferType
1456
+ * @param {XcmVersionedAssetId} remoteFeesId
1457
+ * @param {StagingXcmExecutorAssetTransferTransferType} feesTransferType
1458
+ * @param {XcmVersionedXcm} customXcmOnDest
1459
+ * @param {XcmV3WeightLimit} weightLimit
1440
1460
  **/
1441
- sendBlob: GenericTxCall<
1461
+ transferAssetsUsingTypeAndThen: GenericTxCall<
1442
1462
  (
1443
1463
  dest: XcmVersionedLocation,
1444
- encodedMessage: BytesLike,
1464
+ assets: XcmVersionedAssets,
1465
+ assetsTransferType: StagingXcmExecutorAssetTransferTransferType,
1466
+ remoteFeesId: XcmVersionedAssetId,
1467
+ feesTransferType: StagingXcmExecutorAssetTransferTransferType,
1468
+ customXcmOnDest: XcmVersionedXcm,
1469
+ weightLimit: XcmV3WeightLimit,
1445
1470
  ) => ChainSubmittableExtrinsic<{
1446
1471
  pallet: 'PolkadotXcm';
1447
1472
  palletCall: {
1448
- name: 'SendBlob';
1449
- params: { dest: XcmVersionedLocation; encodedMessage: BytesLike };
1473
+ name: 'TransferAssetsUsingTypeAndThen';
1474
+ params: {
1475
+ dest: XcmVersionedLocation;
1476
+ assets: XcmVersionedAssets;
1477
+ assetsTransferType: StagingXcmExecutorAssetTransferTransferType;
1478
+ remoteFeesId: XcmVersionedAssetId;
1479
+ feesTransferType: StagingXcmExecutorAssetTransferTransferType;
1480
+ customXcmOnDest: XcmVersionedXcm;
1481
+ weightLimit: XcmV3WeightLimit;
1482
+ };
1450
1483
  };
1451
1484
  }>
1452
1485
  >;
@@ -7879,6 +7912,227 @@ export interface ChainTx extends GenericChainTx<TxCall> {
7879
7912
  }>
7880
7913
  >;
7881
7914
 
7915
+ /**
7916
+ * Touch an existing pool to fulfill prerequisites before providing liquidity, such as
7917
+ * ensuring that the pool's accounts are in place. It is typically useful when a pool
7918
+ * creator removes the pool's accounts and does not provide a liquidity. This action may
7919
+ * involve holding assets from the caller as a deposit for creating the pool's accounts.
7920
+ *
7921
+ * The origin must be Signed.
7922
+ *
7923
+ * - `asset1`: The asset ID of an existing pool with a pair (asset1, asset2).
7924
+ * - `asset2`: The asset ID of an existing pool with a pair (asset1, asset2).
7925
+ *
7926
+ * Emits `Touched` event when successful.
7927
+ *
7928
+ * @param {StagingXcmV3MultilocationMultiLocation} asset1
7929
+ * @param {StagingXcmV3MultilocationMultiLocation} asset2
7930
+ **/
7931
+ touch: GenericTxCall<
7932
+ (
7933
+ asset1: StagingXcmV3MultilocationMultiLocation,
7934
+ asset2: StagingXcmV3MultilocationMultiLocation,
7935
+ ) => ChainSubmittableExtrinsic<{
7936
+ pallet: 'AssetConversion';
7937
+ palletCall: {
7938
+ name: 'Touch';
7939
+ params: { asset1: StagingXcmV3MultilocationMultiLocation; asset2: StagingXcmV3MultilocationMultiLocation };
7940
+ };
7941
+ }>
7942
+ >;
7943
+
7944
+ /**
7945
+ * Generic pallet tx call
7946
+ **/
7947
+ [callName: string]: GenericTxCall<TxCall>;
7948
+ };
7949
+ /**
7950
+ * Pallet `StateTrieMigration`'s transaction calls
7951
+ **/
7952
+ stateTrieMigration: {
7953
+ /**
7954
+ * Control the automatic migration.
7955
+ *
7956
+ * The dispatch origin of this call must be [`Config::ControlOrigin`].
7957
+ *
7958
+ * @param {PalletStateTrieMigrationMigrationLimits | undefined} maybeConfig
7959
+ **/
7960
+ controlAutoMigration: GenericTxCall<
7961
+ (maybeConfig: PalletStateTrieMigrationMigrationLimits | undefined) => ChainSubmittableExtrinsic<{
7962
+ pallet: 'StateTrieMigration';
7963
+ palletCall: {
7964
+ name: 'ControlAutoMigration';
7965
+ params: { maybeConfig: PalletStateTrieMigrationMigrationLimits | undefined };
7966
+ };
7967
+ }>
7968
+ >;
7969
+
7970
+ /**
7971
+ * Continue the migration for the given `limits`.
7972
+ *
7973
+ * The dispatch origin of this call can be any signed account.
7974
+ *
7975
+ * This transaction has NO MONETARY INCENTIVES. calling it will not reward anyone. Albeit,
7976
+ * Upon successful execution, the transaction fee is returned.
7977
+ *
7978
+ * The (potentially over-estimated) of the byte length of all the data read must be
7979
+ * provided for up-front fee-payment and weighing. In essence, the caller is guaranteeing
7980
+ * that executing the current `MigrationTask` with the given `limits` will not exceed
7981
+ * `real_size_upper` bytes of read data.
7982
+ *
7983
+ * The `witness_task` is merely a helper to prevent the caller from being slashed or
7984
+ * generally trigger a migration that they do not intend. This parameter is just a message
7985
+ * from caller, saying that they believed `witness_task` was the last state of the
7986
+ * migration, and they only wish for their transaction to do anything, if this assumption
7987
+ * holds. In case `witness_task` does not match, the transaction fails.
7988
+ *
7989
+ * Based on the documentation of [`MigrationTask::migrate_until_exhaustion`], the
7990
+ * recommended way of doing this is to pass a `limit` that only bounds `count`, as the
7991
+ * `size` limit can always be overwritten.
7992
+ *
7993
+ * @param {PalletStateTrieMigrationMigrationLimits} limits
7994
+ * @param {number} realSizeUpper
7995
+ * @param {PalletStateTrieMigrationMigrationTask} witnessTask
7996
+ **/
7997
+ continueMigrate: GenericTxCall<
7998
+ (
7999
+ limits: PalletStateTrieMigrationMigrationLimits,
8000
+ realSizeUpper: number,
8001
+ witnessTask: PalletStateTrieMigrationMigrationTask,
8002
+ ) => ChainSubmittableExtrinsic<{
8003
+ pallet: 'StateTrieMigration';
8004
+ palletCall: {
8005
+ name: 'ContinueMigrate';
8006
+ params: {
8007
+ limits: PalletStateTrieMigrationMigrationLimits;
8008
+ realSizeUpper: number;
8009
+ witnessTask: PalletStateTrieMigrationMigrationTask;
8010
+ };
8011
+ };
8012
+ }>
8013
+ >;
8014
+
8015
+ /**
8016
+ * Migrate the list of top keys by iterating each of them one by one.
8017
+ *
8018
+ * This does not affect the global migration process tracker ([`MigrationProcess`]), and
8019
+ * should only be used in case any keys are leftover due to a bug.
8020
+ *
8021
+ * @param {Array<BytesLike>} keys
8022
+ * @param {number} witnessSize
8023
+ **/
8024
+ migrateCustomTop: GenericTxCall<
8025
+ (
8026
+ keys: Array<BytesLike>,
8027
+ witnessSize: number,
8028
+ ) => ChainSubmittableExtrinsic<{
8029
+ pallet: 'StateTrieMigration';
8030
+ palletCall: {
8031
+ name: 'MigrateCustomTop';
8032
+ params: { keys: Array<BytesLike>; witnessSize: number };
8033
+ };
8034
+ }>
8035
+ >;
8036
+
8037
+ /**
8038
+ * Migrate the list of child keys by iterating each of them one by one.
8039
+ *
8040
+ * All of the given child keys must be present under one `child_root`.
8041
+ *
8042
+ * This does not affect the global migration process tracker ([`MigrationProcess`]), and
8043
+ * should only be used in case any keys are leftover due to a bug.
8044
+ *
8045
+ * @param {BytesLike} root
8046
+ * @param {Array<BytesLike>} childKeys
8047
+ * @param {number} totalSize
8048
+ **/
8049
+ migrateCustomChild: GenericTxCall<
8050
+ (
8051
+ root: BytesLike,
8052
+ childKeys: Array<BytesLike>,
8053
+ totalSize: number,
8054
+ ) => ChainSubmittableExtrinsic<{
8055
+ pallet: 'StateTrieMigration';
8056
+ palletCall: {
8057
+ name: 'MigrateCustomChild';
8058
+ params: { root: BytesLike; childKeys: Array<BytesLike>; totalSize: number };
8059
+ };
8060
+ }>
8061
+ >;
8062
+
8063
+ /**
8064
+ * Set the maximum limit of the signed migration.
8065
+ *
8066
+ * @param {PalletStateTrieMigrationMigrationLimits} limits
8067
+ **/
8068
+ setSignedMaxLimits: GenericTxCall<
8069
+ (limits: PalletStateTrieMigrationMigrationLimits) => ChainSubmittableExtrinsic<{
8070
+ pallet: 'StateTrieMigration';
8071
+ palletCall: {
8072
+ name: 'SetSignedMaxLimits';
8073
+ params: { limits: PalletStateTrieMigrationMigrationLimits };
8074
+ };
8075
+ }>
8076
+ >;
8077
+
8078
+ /**
8079
+ * Forcefully set the progress the running migration.
8080
+ *
8081
+ * This is only useful in one case: the next key to migrate is too big to be migrated with
8082
+ * a signed account, in a parachain context, and we simply want to skip it. A reasonable
8083
+ * example of this would be `:code:`, which is both very expensive to migrate, and commonly
8084
+ * used, so probably it is already migrated.
8085
+ *
8086
+ * In case you mess things up, you can also, in principle, use this to reset the migration
8087
+ * process.
8088
+ *
8089
+ * @param {PalletStateTrieMigrationProgress} progressTop
8090
+ * @param {PalletStateTrieMigrationProgress} progressChild
8091
+ **/
8092
+ forceSetProgress: GenericTxCall<
8093
+ (
8094
+ progressTop: PalletStateTrieMigrationProgress,
8095
+ progressChild: PalletStateTrieMigrationProgress,
8096
+ ) => ChainSubmittableExtrinsic<{
8097
+ pallet: 'StateTrieMigration';
8098
+ palletCall: {
8099
+ name: 'ForceSetProgress';
8100
+ params: { progressTop: PalletStateTrieMigrationProgress; progressChild: PalletStateTrieMigrationProgress };
8101
+ };
8102
+ }>
8103
+ >;
8104
+
8105
+ /**
8106
+ * Generic pallet tx call
8107
+ **/
8108
+ [callName: string]: GenericTxCall<TxCall>;
8109
+ };
8110
+ /**
8111
+ * Pallet `AssetConversionMigration`'s transaction calls
8112
+ **/
8113
+ assetConversionMigration: {
8114
+ /**
8115
+ * Migrates an existing pool to a new account ID derivation method for a given asset pair.
8116
+ * If the migration is successful, transaction fees are refunded to the caller.
8117
+ *
8118
+ * Must be signed.
8119
+ *
8120
+ * @param {StagingXcmV3MultilocationMultiLocation} asset1
8121
+ * @param {StagingXcmV3MultilocationMultiLocation} asset2
8122
+ **/
8123
+ migrateToNewAccount: GenericTxCall<
8124
+ (
8125
+ asset1: StagingXcmV3MultilocationMultiLocation,
8126
+ asset2: StagingXcmV3MultilocationMultiLocation,
8127
+ ) => ChainSubmittableExtrinsic<{
8128
+ pallet: 'AssetConversionMigration';
8129
+ palletCall: {
8130
+ name: 'MigrateToNewAccount';
8131
+ params: { asset1: StagingXcmV3MultilocationMultiLocation; asset2: StagingXcmV3MultilocationMultiLocation };
8132
+ };
8133
+ }>
8134
+ >;
8135
+
7882
8136
  /**
7883
8137
  * Generic pallet tx call
7884
8138
  **/