@dedot/chaintypes 0.0.1-alpha.131 → 0.0.1-alpha.132

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dedot/chaintypes",
3
- "version": "0.0.1-alpha.131",
3
+ "version": "0.0.1-alpha.132",
4
4
  "description": "Types for substrate-based chains",
5
5
  "author": "Thang X. Vu <thang@coongcrafts.io>",
6
6
  "main": "",
@@ -19,7 +19,7 @@
19
19
  "directory": "dist"
20
20
  },
21
21
  "license": "Apache-2.0",
22
- "gitHead": "b4eaf7edf0a7c6c94c3f771aaa264ff61ee5bdba",
22
+ "gitHead": "3b457a7f631276f86344496dd3a872091122aa85",
23
23
  "module": "./index.js",
24
24
  "types": "./index.d.ts"
25
25
  }
@@ -249,6 +249,27 @@ export interface ChainConsts<Rv extends RpcVersion> extends GenericChainConsts<R
249
249
  **/
250
250
  maxInboundSuspended: number;
251
251
 
252
+ /**
253
+ * Maximal number of outbound XCMP channels that can have messages queued at the same time.
254
+ *
255
+ * If this is reached, then no further messages can be sent to channels that do not yet
256
+ * have a message queued. This should be set to the expected maximum of outbound channels
257
+ * which is determined by [`Self::ChannelInfo`]. It is important to set this large enough,
258
+ * since otherwise the congestion control protocol will not work as intended and messages
259
+ * may be dropped. This value increases the PoV and should therefore not be picked too
260
+ * high. Governance needs to pay attention to not open more channels than this value.
261
+ **/
262
+ maxActiveOutboundChannels: number;
263
+
264
+ /**
265
+ * The maximal page size for HRMP message pages.
266
+ *
267
+ * A lower limit can be set dynamically, but this is the hard-limit for the PoV worst case
268
+ * benchmarking. The limit for the size of a message is slightly below this, since some
269
+ * overhead is incurred for encoding the format.
270
+ **/
271
+ maxPageSize: number;
272
+
252
273
  /**
253
274
  * Generic pallet constant
254
275
  **/
@@ -775,6 +796,40 @@ export interface ChainConsts<Rv extends RpcVersion> extends GenericChainConsts<R
775
796
  **/
776
797
  [name: string]: any;
777
798
  };
799
+ /**
800
+ * Pallet `StateTrieMigration`'s constants
801
+ **/
802
+ stateTrieMigration: {
803
+ /**
804
+ * Maximal number of bytes that a key can have.
805
+ *
806
+ * FRAME itself does not limit the key length.
807
+ * The concrete value must therefore depend on your storage usage.
808
+ * A [`frame_support::storage::StorageNMap`] for example can have an arbitrary number of
809
+ * keys which are then hashed and concatenated, resulting in arbitrarily long keys.
810
+ *
811
+ * Use the *state migration RPC* to retrieve the length of the longest key in your
812
+ * storage: <https://github.com/paritytech/substrate/issues/11642>
813
+ *
814
+ * The migration will halt with a `Halted` event if this value is too small.
815
+ * Since there is no real penalty from over-estimating, it is advised to use a large
816
+ * value. The default is 512 byte.
817
+ *
818
+ * Some key lengths for reference:
819
+ * - [`frame_support::storage::StorageValue`]: 32 byte
820
+ * - [`frame_support::storage::StorageMap`]: 64 byte
821
+ * - [`frame_support::storage::StorageDoubleMap`]: 96 byte
822
+ *
823
+ * For more info see
824
+ * <https://www.shawntabrizi.com/blog/substrate/querying-substrate-storage-via-rpc/>
825
+ **/
826
+ maxKeyLen: number;
827
+
828
+ /**
829
+ * Generic pallet constant
830
+ **/
831
+ [name: string]: any;
832
+ };
778
833
  /**
779
834
  * Pallet `AssetConversionMigration`'s constants
780
835
  **/
@@ -327,6 +327,16 @@ export interface ChainErrors<Rv extends RpcVersion> extends GenericChainErrors<R
327
327
  **/
328
328
  AlreadyResumed: GenericPalletError<Rv>;
329
329
 
330
+ /**
331
+ * There are too many active outbound channels.
332
+ **/
333
+ TooManyActiveOutboundChannels: GenericPalletError<Rv>;
334
+
335
+ /**
336
+ * The message is too big.
337
+ **/
338
+ TooBig: GenericPalletError<Rv>;
339
+
330
340
  /**
331
341
  * Generic pallet error
332
342
  **/
@@ -1491,6 +1501,51 @@ export interface ChainErrors<Rv extends RpcVersion> extends GenericChainErrors<R
1491
1501
  **/
1492
1502
  [error: string]: GenericPalletError<Rv>;
1493
1503
  };
1504
+ /**
1505
+ * Pallet `StateTrieMigration`'s errors
1506
+ **/
1507
+ stateTrieMigration: {
1508
+ /**
1509
+ * Max signed limits not respected.
1510
+ **/
1511
+ MaxSignedLimits: GenericPalletError<Rv>;
1512
+
1513
+ /**
1514
+ * A key was longer than the configured maximum.
1515
+ *
1516
+ * This means that the migration halted at the current [`Progress`] and
1517
+ * can be resumed with a larger [`crate::Config::MaxKeyLen`] value.
1518
+ * Retrying with the same [`crate::Config::MaxKeyLen`] value will not work.
1519
+ * The value should only be increased to avoid a storage migration for the currently
1520
+ * stored [`crate::Progress::LastKey`].
1521
+ **/
1522
+ KeyTooLong: GenericPalletError<Rv>;
1523
+
1524
+ /**
1525
+ * submitter does not have enough funds.
1526
+ **/
1527
+ NotEnoughFunds: GenericPalletError<Rv>;
1528
+
1529
+ /**
1530
+ * Bad witness data provided.
1531
+ **/
1532
+ BadWitness: GenericPalletError<Rv>;
1533
+
1534
+ /**
1535
+ * Signed migration is not allowed because the maximum limit is not set yet.
1536
+ **/
1537
+ SignedMigrationNotAllowed: GenericPalletError<Rv>;
1538
+
1539
+ /**
1540
+ * Bad child root provided.
1541
+ **/
1542
+ BadChildRoot: GenericPalletError<Rv>;
1543
+
1544
+ /**
1545
+ * Generic pallet error
1546
+ **/
1547
+ [error: string]: GenericPalletError<Rv>;
1548
+ };
1494
1549
  /**
1495
1550
  * Pallet `AssetConversionMigration`'s errors
1496
1551
  **/
@@ -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<Rv extends RpcVersion> extends GenericChainEvents<Rv> {
@@ -1168,6 +1170,16 @@ export interface ChainEvents<Rv extends RpcVersion> extends GenericChainEvents<R
1168
1170
  **/
1169
1171
  Blocked: GenericPalletEvent<Rv, 'Assets', 'Blocked', { assetId: number; who: AccountId32 }>;
1170
1172
 
1173
+ /**
1174
+ * Some assets were deposited (e.g. for transaction fees).
1175
+ **/
1176
+ Deposited: GenericPalletEvent<Rv, 'Assets', 'Deposited', { assetId: number; who: AccountId32; amount: bigint }>;
1177
+
1178
+ /**
1179
+ * Some assets were withdrawn from the account (e.g. for transaction fees).
1180
+ **/
1181
+ Withdrawn: GenericPalletEvent<Rv, 'Assets', 'Withdrawn', { assetId: number; who: AccountId32; amount: bigint }>;
1182
+
1171
1183
  /**
1172
1184
  * Generic pallet event
1173
1185
  **/
@@ -2002,6 +2014,26 @@ export interface ChainEvents<Rv extends RpcVersion> extends GenericChainEvents<R
2002
2014
  { assetId: StagingXcmV3MultilocationMultiLocation; who: AccountId32 }
2003
2015
  >;
2004
2016
 
2017
+ /**
2018
+ * Some assets were deposited (e.g. for transaction fees).
2019
+ **/
2020
+ Deposited: GenericPalletEvent<
2021
+ Rv,
2022
+ 'ForeignAssets',
2023
+ 'Deposited',
2024
+ { assetId: StagingXcmV3MultilocationMultiLocation; who: AccountId32; amount: bigint }
2025
+ >;
2026
+
2027
+ /**
2028
+ * Some assets were withdrawn from the account (e.g. for transaction fees).
2029
+ **/
2030
+ Withdrawn: GenericPalletEvent<
2031
+ Rv,
2032
+ 'ForeignAssets',
2033
+ 'Withdrawn',
2034
+ { assetId: StagingXcmV3MultilocationMultiLocation; who: AccountId32; amount: bigint }
2035
+ >;
2036
+
2005
2037
  /**
2006
2038
  * Generic pallet event
2007
2039
  **/
@@ -2216,6 +2248,16 @@ export interface ChainEvents<Rv extends RpcVersion> extends GenericChainEvents<R
2216
2248
  **/
2217
2249
  Blocked: GenericPalletEvent<Rv, 'PoolAssets', 'Blocked', { assetId: number; who: AccountId32 }>;
2218
2250
 
2251
+ /**
2252
+ * Some assets were deposited (e.g. for transaction fees).
2253
+ **/
2254
+ Deposited: GenericPalletEvent<Rv, 'PoolAssets', 'Deposited', { assetId: number; who: AccountId32; amount: bigint }>;
2255
+
2256
+ /**
2257
+ * Some assets were withdrawn from the account (e.g. for transaction fees).
2258
+ **/
2259
+ Withdrawn: GenericPalletEvent<Rv, 'PoolAssets', 'Withdrawn', { assetId: number; who: AccountId32; amount: bigint }>;
2260
+
2219
2261
  /**
2220
2262
  * Generic pallet event
2221
2263
  **/
@@ -2440,6 +2482,41 @@ export interface ChainEvents<Rv extends RpcVersion> extends GenericChainEvents<R
2440
2482
  **/
2441
2483
  [prop: string]: GenericPalletEvent<Rv>;
2442
2484
  };
2485
+ /**
2486
+ * Pallet `StateTrieMigration`'s events
2487
+ **/
2488
+ stateTrieMigration: {
2489
+ /**
2490
+ * Given number of `(top, child)` keys were migrated respectively, with the given
2491
+ * `compute`.
2492
+ **/
2493
+ Migrated: GenericPalletEvent<
2494
+ Rv,
2495
+ 'StateTrieMigration',
2496
+ 'Migrated',
2497
+ { top: number; child: number; compute: PalletStateTrieMigrationMigrationCompute }
2498
+ >;
2499
+
2500
+ /**
2501
+ * Some account got slashed by the given amount.
2502
+ **/
2503
+ Slashed: GenericPalletEvent<Rv, 'StateTrieMigration', 'Slashed', { who: AccountId32; amount: bigint }>;
2504
+
2505
+ /**
2506
+ * The auto migration task finished.
2507
+ **/
2508
+ AutoMigrationFinished: GenericPalletEvent<Rv, 'StateTrieMigration', 'AutoMigrationFinished', null>;
2509
+
2510
+ /**
2511
+ * Migration got halted due to an error or miss-configuration.
2512
+ **/
2513
+ Halted: GenericPalletEvent<Rv, 'StateTrieMigration', 'Halted', { error: PalletStateTrieMigrationError }>;
2514
+
2515
+ /**
2516
+ * Generic pallet event
2517
+ **/
2518
+ [prop: string]: GenericPalletEvent<Rv>;
2519
+ };
2443
2520
  /**
2444
2521
  * Pallet `AssetConversionMigration`'s events
2445
2522
  **/
@@ -48,6 +48,7 @@ import type {
48
48
  PalletXcmVersionMigrationStage,
49
49
  PalletXcmRemoteLockedFungibleRecord,
50
50
  XcmVersionedAssetId,
51
+ StagingXcmV4Xcm,
51
52
  BpXcmBridgeHubRouterBridgeState,
52
53
  PalletMessageQueueBookState,
53
54
  CumulusPrimitivesCoreAggregateMessageOrigin,
@@ -76,6 +77,8 @@ import type {
76
77
  StagingXcmV3MultilocationMultiLocation,
77
78
  PalletNftFractionalizationDetails,
78
79
  PalletAssetConversionPoolInfo,
80
+ PalletStateTrieMigrationMigrationTask,
81
+ PalletStateTrieMigrationMigrationLimits,
79
82
  } from './types';
80
83
 
81
84
  export interface ChainStorage<Rv extends RpcVersion> extends GenericChainStorage<Rv> {
@@ -1042,6 +1045,31 @@ export interface ChainStorage<Rv extends RpcVersion> extends GenericChainStorage
1042
1045
  **/
1043
1046
  xcmExecutionSuspended: GenericStorageQuery<Rv, () => boolean>;
1044
1047
 
1048
+ /**
1049
+ * Whether or not incoming XCMs (both executed locally and received) should be recorded.
1050
+ * Only one XCM program will be recorded at a time.
1051
+ * This is meant to be used in runtime APIs, and it's advised it stays false
1052
+ * for all other use cases, so as to not degrade regular performance.
1053
+ *
1054
+ * Only relevant if this pallet is being used as the [`xcm_executor::traits::RecordXcm`]
1055
+ * implementation in the XCM executor configuration.
1056
+ *
1057
+ * @param {Callback<boolean> =} callback
1058
+ **/
1059
+ shouldRecordXcm: GenericStorageQuery<Rv, () => boolean>;
1060
+
1061
+ /**
1062
+ * If [`ShouldRecordXcm`] is set to true, then the last XCM program executed locally
1063
+ * will be stored here.
1064
+ * Runtime APIs can fetch the XCM that was executed by accessing this value.
1065
+ *
1066
+ * Only relevant if this pallet is being used as the [`xcm_executor::traits::RecordXcm`]
1067
+ * implementation in the XCM executor configuration.
1068
+ *
1069
+ * @param {Callback<StagingXcmV4Xcm | undefined> =} callback
1070
+ **/
1071
+ recordedXcm: GenericStorageQuery<Rv, () => StagingXcmV4Xcm | undefined>;
1072
+
1045
1073
  /**
1046
1074
  * Generic pallet storage query
1047
1075
  **/
@@ -1648,6 +1676,43 @@ export interface ChainStorage<Rv extends RpcVersion> extends GenericChainStorage
1648
1676
  **/
1649
1677
  nextPoolAssetId: GenericStorageQuery<Rv, () => number | undefined>;
1650
1678
 
1679
+ /**
1680
+ * Generic pallet storage query
1681
+ **/
1682
+ [storage: string]: GenericStorageQuery<Rv>;
1683
+ };
1684
+ /**
1685
+ * Pallet `StateTrieMigration`'s storage queries
1686
+ **/
1687
+ stateTrieMigration: {
1688
+ /**
1689
+ * Migration progress.
1690
+ *
1691
+ * This stores the snapshot of the last migrated keys. It can be set into motion and move
1692
+ * forward by any of the means provided by this pallet.
1693
+ *
1694
+ * @param {Callback<PalletStateTrieMigrationMigrationTask> =} callback
1695
+ **/
1696
+ migrationProcess: GenericStorageQuery<Rv, () => PalletStateTrieMigrationMigrationTask>;
1697
+
1698
+ /**
1699
+ * The limits that are imposed on automatic migrations.
1700
+ *
1701
+ * If set to None, then no automatic migration happens.
1702
+ *
1703
+ * @param {Callback<PalletStateTrieMigrationMigrationLimits | undefined> =} callback
1704
+ **/
1705
+ autoLimits: GenericStorageQuery<Rv, () => PalletStateTrieMigrationMigrationLimits | undefined>;
1706
+
1707
+ /**
1708
+ * The maximum limits that the signed migration could use.
1709
+ *
1710
+ * If not set, no signed submission is allowed.
1711
+ *
1712
+ * @param {Callback<PalletStateTrieMigrationMigrationLimits | undefined> =} callback
1713
+ **/
1714
+ signedMigrationMaxLimits: GenericStorageQuery<Rv, () => PalletStateTrieMigrationMigrationLimits | undefined>;
1715
+
1651
1716
  /**
1652
1717
  * Generic pallet storage query
1653
1718
  **/
@@ -31,8 +31,16 @@ import type {
31
31
  PalletTransactionPaymentRuntimeDispatchInfo,
32
32
  PalletTransactionPaymentFeeDetails,
33
33
  SpWeightsWeightV2Weight,
34
- AssetHubWestendRuntimeRuntimeCallLike,
34
+ XcmVersionedAssetId,
35
+ XcmFeePaymentRuntimeApiFeesError,
36
+ XcmVersionedXcm,
35
37
  XcmVersionedAssets,
38
+ XcmVersionedLocation,
39
+ XcmFeePaymentRuntimeApiDryRunCallDryRunEffects,
40
+ XcmFeePaymentRuntimeApiDryRunError,
41
+ AssetHubWestendRuntimeOriginCaller,
42
+ AssetHubWestendRuntimeRuntimeCallLike,
43
+ XcmFeePaymentRuntimeApiDryRunXcmDryRunEffects,
36
44
  AssetsCommonRuntimeApiFungiblesAccessError,
37
45
  CumulusPrimitivesCoreCollationInfo,
38
46
  } from './types';
@@ -504,6 +512,126 @@ export interface RuntimeApis<Rv extends RpcVersion> extends GenericRuntimeApis<R
504
512
  **/
505
513
  [method: string]: GenericRuntimeApiMethod<Rv>;
506
514
  };
515
+ /**
516
+ * @runtimeapi: XcmPaymentApi - 0x6ff52ee858e6c5bd
517
+ **/
518
+ xcmPaymentApi: {
519
+ /**
520
+ * Returns a list of acceptable payment assets.
521
+ *
522
+ * # Arguments
523
+ *
524
+ * * `xcm_version`: Version.
525
+ *
526
+ * @callname: XcmPaymentApi_query_acceptable_payment_assets
527
+ * @param {number} xcm_version
528
+ **/
529
+ queryAcceptablePaymentAssets: GenericRuntimeApiMethod<
530
+ Rv,
531
+ (xcmVersion: number) => Promise<Result<Array<XcmVersionedAssetId>, XcmFeePaymentRuntimeApiFeesError>>
532
+ >;
533
+
534
+ /**
535
+ * Returns a weight needed to execute a XCM.
536
+ *
537
+ * # Arguments
538
+ *
539
+ * * `message`: `VersionedXcm`.
540
+ *
541
+ * @callname: XcmPaymentApi_query_xcm_weight
542
+ * @param {XcmVersionedXcm} message
543
+ **/
544
+ queryXcmWeight: GenericRuntimeApiMethod<
545
+ Rv,
546
+ (message: XcmVersionedXcm) => Promise<Result<SpWeightsWeightV2Weight, XcmFeePaymentRuntimeApiFeesError>>
547
+ >;
548
+
549
+ /**
550
+ * Converts a weight into a fee for the specified `AssetId`.
551
+ *
552
+ * # Arguments
553
+ *
554
+ * * `weight`: convertible `Weight`.
555
+ * * `asset`: `VersionedAssetId`.
556
+ *
557
+ * @callname: XcmPaymentApi_query_weight_to_asset_fee
558
+ * @param {SpWeightsWeightV2Weight} weight
559
+ * @param {XcmVersionedAssetId} asset
560
+ **/
561
+ queryWeightToAssetFee: GenericRuntimeApiMethod<
562
+ Rv,
563
+ (
564
+ weight: SpWeightsWeightV2Weight,
565
+ asset: XcmVersionedAssetId,
566
+ ) => Promise<Result<bigint, XcmFeePaymentRuntimeApiFeesError>>
567
+ >;
568
+
569
+ /**
570
+ * Get delivery fees for sending a specific `message` to a `destination`.
571
+ * These always come in a specific asset, defined by the chain.
572
+ *
573
+ * # Arguments
574
+ * * `message`: The message that'll be sent, necessary because most delivery fees are based on the
575
+ * size of the message.
576
+ * * `destination`: The destination to send the message to. Different destinations may use
577
+ * different senders that charge different fees.
578
+ *
579
+ * @callname: XcmPaymentApi_query_delivery_fees
580
+ * @param {XcmVersionedLocation} destination
581
+ * @param {XcmVersionedXcm} message
582
+ **/
583
+ queryDeliveryFees: GenericRuntimeApiMethod<
584
+ Rv,
585
+ (
586
+ destination: XcmVersionedLocation,
587
+ message: XcmVersionedXcm,
588
+ ) => Promise<Result<XcmVersionedAssets, XcmFeePaymentRuntimeApiFeesError>>
589
+ >;
590
+
591
+ /**
592
+ * Generic runtime api call
593
+ **/
594
+ [method: string]: GenericRuntimeApiMethod<Rv>;
595
+ };
596
+ /**
597
+ * @runtimeapi: DryRunApi - 0x91b1c8b16328eb92
598
+ **/
599
+ dryRunApi: {
600
+ /**
601
+ * Dry run call.
602
+ *
603
+ * @callname: DryRunApi_dry_run_call
604
+ * @param {AssetHubWestendRuntimeOriginCaller} origin
605
+ * @param {AssetHubWestendRuntimeRuntimeCallLike} call
606
+ **/
607
+ dryRunCall: GenericRuntimeApiMethod<
608
+ Rv,
609
+ (
610
+ origin: AssetHubWestendRuntimeOriginCaller,
611
+ call: AssetHubWestendRuntimeRuntimeCallLike,
612
+ ) => Promise<Result<XcmFeePaymentRuntimeApiDryRunCallDryRunEffects, XcmFeePaymentRuntimeApiDryRunError>>
613
+ >;
614
+
615
+ /**
616
+ * Dry run XCM program
617
+ *
618
+ * @callname: DryRunApi_dry_run_xcm
619
+ * @param {XcmVersionedLocation} origin_location
620
+ * @param {XcmVersionedXcm} xcm
621
+ **/
622
+ dryRunXcm: GenericRuntimeApiMethod<
623
+ Rv,
624
+ (
625
+ originLocation: XcmVersionedLocation,
626
+ xcm: XcmVersionedXcm,
627
+ ) => Promise<Result<XcmFeePaymentRuntimeApiDryRunXcmDryRunEffects, XcmFeePaymentRuntimeApiDryRunError>>
628
+ >;
629
+
630
+ /**
631
+ * Generic runtime api call
632
+ **/
633
+ [method: string]: GenericRuntimeApiMethod<Rv>;
634
+ };
507
635
  /**
508
636
  * @runtimeapi: TransactionPaymentCallApi - 0xf3ff14d5ab527059
509
637
  **/
@@ -46,6 +46,9 @@ import type {
46
46
  PalletNftsPreSignedMint,
47
47
  PalletNftsPreSignedAttributes,
48
48
  StagingXcmV3MultilocationMultiLocation,
49
+ PalletStateTrieMigrationMigrationLimits,
50
+ PalletStateTrieMigrationMigrationTask,
51
+ PalletStateTrieMigrationProgress,
49
52
  } from './types';
50
53
 
51
54
  export type ChainSubmittableExtrinsic<
@@ -700,6 +703,35 @@ export interface ChainTx<Rv extends RpcVersion> extends GenericChainTx<Rv, TxCal
700
703
  >
701
704
  >;
702
705
 
706
+ /**
707
+ * Burn the specified liquid free balance from the origin account.
708
+ *
709
+ * If the origin's account ends up below the existential deposit as a result
710
+ * of the burn and `keep_alive` is false, the account will be reaped.
711
+ *
712
+ * Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,
713
+ * this `burn` operation will reduce total issuance by the amount _burned_.
714
+ *
715
+ * @param {bigint} value
716
+ * @param {boolean} keepAlive
717
+ **/
718
+ burn: GenericTxCall<
719
+ Rv,
720
+ (
721
+ value: bigint,
722
+ keepAlive: boolean,
723
+ ) => ChainSubmittableExtrinsic<
724
+ Rv,
725
+ {
726
+ pallet: 'Balances';
727
+ palletCall: {
728
+ name: 'Burn';
729
+ params: { value: bigint; keepAlive: boolean };
730
+ };
731
+ }
732
+ >
733
+ >;
734
+
703
735
  /**
704
736
  * Generic pallet tx call
705
737
  **/
@@ -8946,6 +8978,191 @@ export interface ChainTx<Rv extends RpcVersion> extends GenericChainTx<Rv, TxCal
8946
8978
  **/
8947
8979
  [callName: string]: GenericTxCall<Rv, TxCall<Rv>>;
8948
8980
  };
8981
+ /**
8982
+ * Pallet `StateTrieMigration`'s transaction calls
8983
+ **/
8984
+ stateTrieMigration: {
8985
+ /**
8986
+ * Control the automatic migration.
8987
+ *
8988
+ * The dispatch origin of this call must be [`Config::ControlOrigin`].
8989
+ *
8990
+ * @param {PalletStateTrieMigrationMigrationLimits | undefined} maybeConfig
8991
+ **/
8992
+ controlAutoMigration: GenericTxCall<
8993
+ Rv,
8994
+ (maybeConfig: PalletStateTrieMigrationMigrationLimits | undefined) => ChainSubmittableExtrinsic<
8995
+ Rv,
8996
+ {
8997
+ pallet: 'StateTrieMigration';
8998
+ palletCall: {
8999
+ name: 'ControlAutoMigration';
9000
+ params: { maybeConfig: PalletStateTrieMigrationMigrationLimits | undefined };
9001
+ };
9002
+ }
9003
+ >
9004
+ >;
9005
+
9006
+ /**
9007
+ * Continue the migration for the given `limits`.
9008
+ *
9009
+ * The dispatch origin of this call can be any signed account.
9010
+ *
9011
+ * This transaction has NO MONETARY INCENTIVES. calling it will not reward anyone. Albeit,
9012
+ * Upon successful execution, the transaction fee is returned.
9013
+ *
9014
+ * The (potentially over-estimated) of the byte length of all the data read must be
9015
+ * provided for up-front fee-payment and weighing. In essence, the caller is guaranteeing
9016
+ * that executing the current `MigrationTask` with the given `limits` will not exceed
9017
+ * `real_size_upper` bytes of read data.
9018
+ *
9019
+ * The `witness_task` is merely a helper to prevent the caller from being slashed or
9020
+ * generally trigger a migration that they do not intend. This parameter is just a message
9021
+ * from caller, saying that they believed `witness_task` was the last state of the
9022
+ * migration, and they only wish for their transaction to do anything, if this assumption
9023
+ * holds. In case `witness_task` does not match, the transaction fails.
9024
+ *
9025
+ * Based on the documentation of [`MigrationTask::migrate_until_exhaustion`], the
9026
+ * recommended way of doing this is to pass a `limit` that only bounds `count`, as the
9027
+ * `size` limit can always be overwritten.
9028
+ *
9029
+ * @param {PalletStateTrieMigrationMigrationLimits} limits
9030
+ * @param {number} realSizeUpper
9031
+ * @param {PalletStateTrieMigrationMigrationTask} witnessTask
9032
+ **/
9033
+ continueMigrate: GenericTxCall<
9034
+ Rv,
9035
+ (
9036
+ limits: PalletStateTrieMigrationMigrationLimits,
9037
+ realSizeUpper: number,
9038
+ witnessTask: PalletStateTrieMigrationMigrationTask,
9039
+ ) => ChainSubmittableExtrinsic<
9040
+ Rv,
9041
+ {
9042
+ pallet: 'StateTrieMigration';
9043
+ palletCall: {
9044
+ name: 'ContinueMigrate';
9045
+ params: {
9046
+ limits: PalletStateTrieMigrationMigrationLimits;
9047
+ realSizeUpper: number;
9048
+ witnessTask: PalletStateTrieMigrationMigrationTask;
9049
+ };
9050
+ };
9051
+ }
9052
+ >
9053
+ >;
9054
+
9055
+ /**
9056
+ * Migrate the list of top keys by iterating each of them one by one.
9057
+ *
9058
+ * This does not affect the global migration process tracker ([`MigrationProcess`]), and
9059
+ * should only be used in case any keys are leftover due to a bug.
9060
+ *
9061
+ * @param {Array<BytesLike>} keys
9062
+ * @param {number} witnessSize
9063
+ **/
9064
+ migrateCustomTop: GenericTxCall<
9065
+ Rv,
9066
+ (
9067
+ keys: Array<BytesLike>,
9068
+ witnessSize: number,
9069
+ ) => ChainSubmittableExtrinsic<
9070
+ Rv,
9071
+ {
9072
+ pallet: 'StateTrieMigration';
9073
+ palletCall: {
9074
+ name: 'MigrateCustomTop';
9075
+ params: { keys: Array<BytesLike>; witnessSize: number };
9076
+ };
9077
+ }
9078
+ >
9079
+ >;
9080
+
9081
+ /**
9082
+ * Migrate the list of child keys by iterating each of them one by one.
9083
+ *
9084
+ * All of the given child keys must be present under one `child_root`.
9085
+ *
9086
+ * This does not affect the global migration process tracker ([`MigrationProcess`]), and
9087
+ * should only be used in case any keys are leftover due to a bug.
9088
+ *
9089
+ * @param {BytesLike} root
9090
+ * @param {Array<BytesLike>} childKeys
9091
+ * @param {number} totalSize
9092
+ **/
9093
+ migrateCustomChild: GenericTxCall<
9094
+ Rv,
9095
+ (
9096
+ root: BytesLike,
9097
+ childKeys: Array<BytesLike>,
9098
+ totalSize: number,
9099
+ ) => ChainSubmittableExtrinsic<
9100
+ Rv,
9101
+ {
9102
+ pallet: 'StateTrieMigration';
9103
+ palletCall: {
9104
+ name: 'MigrateCustomChild';
9105
+ params: { root: BytesLike; childKeys: Array<BytesLike>; totalSize: number };
9106
+ };
9107
+ }
9108
+ >
9109
+ >;
9110
+
9111
+ /**
9112
+ * Set the maximum limit of the signed migration.
9113
+ *
9114
+ * @param {PalletStateTrieMigrationMigrationLimits} limits
9115
+ **/
9116
+ setSignedMaxLimits: GenericTxCall<
9117
+ Rv,
9118
+ (limits: PalletStateTrieMigrationMigrationLimits) => ChainSubmittableExtrinsic<
9119
+ Rv,
9120
+ {
9121
+ pallet: 'StateTrieMigration';
9122
+ palletCall: {
9123
+ name: 'SetSignedMaxLimits';
9124
+ params: { limits: PalletStateTrieMigrationMigrationLimits };
9125
+ };
9126
+ }
9127
+ >
9128
+ >;
9129
+
9130
+ /**
9131
+ * Forcefully set the progress the running migration.
9132
+ *
9133
+ * This is only useful in one case: the next key to migrate is too big to be migrated with
9134
+ * a signed account, in a parachain context, and we simply want to skip it. A reasonable
9135
+ * example of this would be `:code:`, which is both very expensive to migrate, and commonly
9136
+ * used, so probably it is already migrated.
9137
+ *
9138
+ * In case you mess things up, you can also, in principle, use this to reset the migration
9139
+ * process.
9140
+ *
9141
+ * @param {PalletStateTrieMigrationProgress} progressTop
9142
+ * @param {PalletStateTrieMigrationProgress} progressChild
9143
+ **/
9144
+ forceSetProgress: GenericTxCall<
9145
+ Rv,
9146
+ (
9147
+ progressTop: PalletStateTrieMigrationProgress,
9148
+ progressChild: PalletStateTrieMigrationProgress,
9149
+ ) => ChainSubmittableExtrinsic<
9150
+ Rv,
9151
+ {
9152
+ pallet: 'StateTrieMigration';
9153
+ palletCall: {
9154
+ name: 'ForceSetProgress';
9155
+ params: { progressTop: PalletStateTrieMigrationProgress; progressChild: PalletStateTrieMigrationProgress };
9156
+ };
9157
+ }
9158
+ >
9159
+ >;
9160
+
9161
+ /**
9162
+ * Generic pallet tx call
9163
+ **/
9164
+ [callName: string]: GenericTxCall<Rv, TxCall<Rv>>;
9165
+ };
8949
9166
  /**
8950
9167
  * Pallet `AssetConversionMigration`'s transaction calls
8951
9168
  **/
@@ -70,6 +70,7 @@ export type AssetHubWestendRuntimeRuntimeEvent =
70
70
  | { pallet: 'NftFractionalization'; palletEvent: PalletNftFractionalizationEvent }
71
71
  | { pallet: 'PoolAssets'; palletEvent: PalletAssetsEvent }
72
72
  | { pallet: 'AssetConversion'; palletEvent: PalletAssetConversionEvent }
73
+ | { pallet: 'StateTrieMigration'; palletEvent: PalletStateTrieMigrationEvent }
73
74
  | { pallet: 'AssetConversionMigration'; palletEvent: PalletAssetConversionOpsEvent };
74
75
 
75
76
  /**
@@ -692,7 +693,7 @@ export type StagingXcmV4Instruction =
692
693
  }
693
694
  | {
694
695
  tag: 'Transact';
695
- value: { originKind: XcmV2OriginKind; requireWeightAtMost: SpWeightsWeightV2Weight; call: XcmDoubleEncoded };
696
+ value: { originKind: XcmV3OriginKind; requireWeightAtMost: SpWeightsWeightV2Weight; call: XcmDoubleEncoded };
696
697
  }
697
698
  | { tag: 'HrmpNewChannelOpenRequest'; value: { sender: number; maxMessageSize: number; maxCapacity: number } }
698
699
  | { tag: 'HrmpChannelAccepted'; value: { recipient: number } }
@@ -800,7 +801,7 @@ export type XcmV3MaybeErrorCode =
800
801
  | { tag: 'Error'; value: Bytes }
801
802
  | { tag: 'TruncatedError'; value: Bytes };
802
803
 
803
- export type XcmV2OriginKind = 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';
804
+ export type XcmV3OriginKind = 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';
804
805
 
805
806
  export type XcmDoubleEncoded = { encoded: Bytes };
806
807
 
@@ -1076,7 +1077,8 @@ export type FrameSupportMessagesProcessMessageError =
1076
1077
  | { tag: 'Corrupt' }
1077
1078
  | { tag: 'Unsupported' }
1078
1079
  | { tag: 'Overweight'; value: SpWeightsWeightV2Weight }
1079
- | { tag: 'Yield' };
1080
+ | { tag: 'Yield' }
1081
+ | { tag: 'StackLimitReached' };
1080
1082
 
1081
1083
  /**
1082
1084
  * The `Event` enum of this pallet
@@ -1318,7 +1320,15 @@ export type PalletAssetsEvent =
1318
1320
  /**
1319
1321
  * Some account `who` was blocked.
1320
1322
  **/
1321
- | { name: 'Blocked'; data: { assetId: number; who: AccountId32 } };
1323
+ | { name: 'Blocked'; data: { assetId: number; who: AccountId32 } }
1324
+ /**
1325
+ * Some assets were deposited (e.g. for transaction fees).
1326
+ **/
1327
+ | { name: 'Deposited'; data: { assetId: number; who: AccountId32; amount: bigint } }
1328
+ /**
1329
+ * Some assets were withdrawn from the account (e.g. for transaction fees).
1330
+ **/
1331
+ | { name: 'Withdrawn'; data: { assetId: number; who: AccountId32; amount: bigint } };
1322
1332
 
1323
1333
  /**
1324
1334
  * The `Event` enum of this pallet
@@ -1844,7 +1854,15 @@ export type PalletAssetsEvent002 =
1844
1854
  /**
1845
1855
  * Some account `who` was blocked.
1846
1856
  **/
1847
- | { name: 'Blocked'; data: { assetId: StagingXcmV3MultilocationMultiLocation; who: AccountId32 } };
1857
+ | { name: 'Blocked'; data: { assetId: StagingXcmV3MultilocationMultiLocation; who: AccountId32 } }
1858
+ /**
1859
+ * Some assets were deposited (e.g. for transaction fees).
1860
+ **/
1861
+ | { name: 'Deposited'; data: { assetId: StagingXcmV3MultilocationMultiLocation; who: AccountId32; amount: bigint } }
1862
+ /**
1863
+ * Some assets were withdrawn from the account (e.g. for transaction fees).
1864
+ **/
1865
+ | { name: 'Withdrawn'; data: { assetId: StagingXcmV3MultilocationMultiLocation; who: AccountId32; amount: bigint } };
1848
1866
 
1849
1867
  /**
1850
1868
  * The `Event` enum of this pallet
@@ -2059,6 +2077,65 @@ export type PalletAssetConversionEvent =
2059
2077
  };
2060
2078
  };
2061
2079
 
2080
+ /**
2081
+ * Inner events of this pallet.
2082
+ **/
2083
+ export type PalletStateTrieMigrationEvent =
2084
+ /**
2085
+ * Given number of `(top, child)` keys were migrated respectively, with the given
2086
+ * `compute`.
2087
+ **/
2088
+ | { name: 'Migrated'; data: { top: number; child: number; compute: PalletStateTrieMigrationMigrationCompute } }
2089
+ /**
2090
+ * Some account got slashed by the given amount.
2091
+ **/
2092
+ | { name: 'Slashed'; data: { who: AccountId32; amount: bigint } }
2093
+ /**
2094
+ * The auto migration task finished.
2095
+ **/
2096
+ | { name: 'AutoMigrationFinished' }
2097
+ /**
2098
+ * Migration got halted due to an error or miss-configuration.
2099
+ **/
2100
+ | { name: 'Halted'; data: { error: PalletStateTrieMigrationError } };
2101
+
2102
+ export type PalletStateTrieMigrationMigrationCompute = 'Signed' | 'Auto';
2103
+
2104
+ /**
2105
+ * The `Error` enum of this pallet.
2106
+ **/
2107
+ export type PalletStateTrieMigrationError =
2108
+ /**
2109
+ * Max signed limits not respected.
2110
+ **/
2111
+ | 'MaxSignedLimits'
2112
+ /**
2113
+ * A key was longer than the configured maximum.
2114
+ *
2115
+ * This means that the migration halted at the current [`Progress`] and
2116
+ * can be resumed with a larger [`crate::Config::MaxKeyLen`] value.
2117
+ * Retrying with the same [`crate::Config::MaxKeyLen`] value will not work.
2118
+ * The value should only be increased to avoid a storage migration for the currently
2119
+ * stored [`crate::Progress::LastKey`].
2120
+ **/
2121
+ | 'KeyTooLong'
2122
+ /**
2123
+ * submitter does not have enough funds.
2124
+ **/
2125
+ | 'NotEnoughFunds'
2126
+ /**
2127
+ * Bad witness data provided.
2128
+ **/
2129
+ | 'BadWitness'
2130
+ /**
2131
+ * Signed migration is not allowed because the maximum limit is not set yet.
2132
+ **/
2133
+ | 'SignedMigrationNotAllowed'
2134
+ /**
2135
+ * Bad child root provided.
2136
+ **/
2137
+ | 'BadChildRoot';
2138
+
2062
2139
  /**
2063
2140
  * The `Event` enum of this pallet
2064
2141
  **/
@@ -2584,13 +2661,14 @@ export type PalletBalancesReserveData = { id: FixedBytes<8>; amount: bigint };
2584
2661
 
2585
2662
  export type PalletBalancesIdAmount = { id: AssetHubWestendRuntimeRuntimeHoldReason; amount: bigint };
2586
2663
 
2587
- export type AssetHubWestendRuntimeRuntimeHoldReason = {
2588
- tag: 'NftFractionalization';
2589
- value: PalletNftFractionalizationHoldReason;
2590
- };
2664
+ export type AssetHubWestendRuntimeRuntimeHoldReason =
2665
+ | { tag: 'NftFractionalization'; value: PalletNftFractionalizationHoldReason }
2666
+ | { tag: 'StateTrieMigration'; value: PalletStateTrieMigrationHoldReason };
2591
2667
 
2592
2668
  export type PalletNftFractionalizationHoldReason = 'Fractionalized';
2593
2669
 
2670
+ export type PalletStateTrieMigrationHoldReason = 'SlashForMigrate';
2671
+
2594
2672
  export type PalletBalancesIdAmount002 = { id: []; amount: bigint };
2595
2673
 
2596
2674
  /**
@@ -2669,7 +2747,17 @@ export type PalletBalancesCall =
2669
2747
  *
2670
2748
  * # Example
2671
2749
  **/
2672
- | { name: 'ForceAdjustTotalIssuance'; params: { direction: PalletBalancesAdjustmentDirection; delta: bigint } };
2750
+ | { name: 'ForceAdjustTotalIssuance'; params: { direction: PalletBalancesAdjustmentDirection; delta: bigint } }
2751
+ /**
2752
+ * Burn the specified liquid free balance from the origin account.
2753
+ *
2754
+ * If the origin's account ends up below the existential deposit as a result
2755
+ * of the burn and `keep_alive` is false, the account will be reaped.
2756
+ *
2757
+ * Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,
2758
+ * this `burn` operation will reduce total issuance by the amount _burned_.
2759
+ **/
2760
+ | { name: 'Burn'; params: { value: bigint; keepAlive: boolean } };
2673
2761
 
2674
2762
  export type PalletBalancesCallLike =
2675
2763
  /**
@@ -2744,7 +2832,17 @@ export type PalletBalancesCallLike =
2744
2832
  *
2745
2833
  * # Example
2746
2834
  **/
2747
- | { name: 'ForceAdjustTotalIssuance'; params: { direction: PalletBalancesAdjustmentDirection; delta: bigint } };
2835
+ | { name: 'ForceAdjustTotalIssuance'; params: { direction: PalletBalancesAdjustmentDirection; delta: bigint } }
2836
+ /**
2837
+ * Burn the specified liquid free balance from the origin account.
2838
+ *
2839
+ * If the origin's account ends up below the existential deposit as a result
2840
+ * of the burn and `keep_alive` is false, the account will be reaped.
2841
+ *
2842
+ * Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,
2843
+ * this `burn` operation will reduce total issuance by the amount _burned_.
2844
+ **/
2845
+ | { name: 'Burn'; params: { value: bigint; keepAlive: boolean } };
2748
2846
 
2749
2847
  export type PalletBalancesAdjustmentDirection = 'Increase' | 'Decrease';
2750
2848
 
@@ -3259,7 +3357,15 @@ export type CumulusPalletXcmpQueueError =
3259
3357
  /**
3260
3358
  * The execution is already resumed.
3261
3359
  **/
3262
- | 'AlreadyResumed';
3360
+ | 'AlreadyResumed'
3361
+ /**
3362
+ * There are too many active outbound channels.
3363
+ **/
3364
+ | 'TooManyActiveOutboundChannels'
3365
+ /**
3366
+ * The message is too big.
3367
+ **/
3368
+ | 'TooBig';
3263
3369
 
3264
3370
  export type PalletXcmQueryStatus =
3265
3371
  | {
@@ -4046,6 +4152,8 @@ export type XcmV2Instruction =
4046
4152
  | { tag: 'SubscribeVersion'; value: { queryId: bigint; maxResponseWeight: bigint } }
4047
4153
  | { tag: 'UnsubscribeVersion' };
4048
4154
 
4155
+ export type XcmV2OriginKind = 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';
4156
+
4049
4157
  export type XcmV2MultiassetMultiAssetFilter =
4050
4158
  | { tag: 'Definite'; value: XcmV2MultiassetMultiAssets }
4051
4159
  | { tag: 'Wild'; value: XcmV2MultiassetWildMultiAsset };
@@ -4083,7 +4191,7 @@ export type XcmV3Instruction =
4083
4191
  }
4084
4192
  | {
4085
4193
  tag: 'Transact';
4086
- value: { originKind: XcmV2OriginKind; requireWeightAtMost: SpWeightsWeightV2Weight; call: XcmDoubleEncoded };
4194
+ value: { originKind: XcmV3OriginKind; requireWeightAtMost: SpWeightsWeightV2Weight; call: XcmDoubleEncoded };
4087
4195
  }
4088
4196
  | { tag: 'HrmpNewChannelOpenRequest'; value: { sender: number; maxMessageSize: number; maxCapacity: number } }
4089
4197
  | { tag: 'HrmpChannelAccepted'; value: { recipient: number } }
@@ -4653,6 +4761,7 @@ export type AssetHubWestendRuntimeRuntimeCall =
4653
4761
  | { pallet: 'NftFractionalization'; palletCall: PalletNftFractionalizationCall }
4654
4762
  | { pallet: 'PoolAssets'; palletCall: PalletAssetsCall003 }
4655
4763
  | { pallet: 'AssetConversion'; palletCall: PalletAssetConversionCall }
4764
+ | { pallet: 'StateTrieMigration'; palletCall: PalletStateTrieMigrationCall }
4656
4765
  | { pallet: 'AssetConversionMigration'; palletCall: PalletAssetConversionOpsCall };
4657
4766
 
4658
4767
  export type AssetHubWestendRuntimeRuntimeCallLike =
@@ -4678,6 +4787,7 @@ export type AssetHubWestendRuntimeRuntimeCallLike =
4678
4787
  | { pallet: 'NftFractionalization'; palletCall: PalletNftFractionalizationCallLike }
4679
4788
  | { pallet: 'PoolAssets'; palletCall: PalletAssetsCallLike003 }
4680
4789
  | { pallet: 'AssetConversion'; palletCall: PalletAssetConversionCallLike }
4790
+ | { pallet: 'StateTrieMigration'; palletCall: PalletStateTrieMigrationCallLike }
4681
4791
  | { pallet: 'AssetConversionMigration'; palletCall: PalletAssetConversionOpsCallLike };
4682
4792
 
4683
4793
  /**
@@ -11400,6 +11510,172 @@ export type PalletAssetConversionCallLike =
11400
11510
  params: { asset1: StagingXcmV3MultilocationMultiLocation; asset2: StagingXcmV3MultilocationMultiLocation };
11401
11511
  };
11402
11512
 
11513
+ /**
11514
+ * Contains a variant per dispatchable extrinsic that this pallet has.
11515
+ **/
11516
+ export type PalletStateTrieMigrationCall =
11517
+ /**
11518
+ * Control the automatic migration.
11519
+ *
11520
+ * The dispatch origin of this call must be [`Config::ControlOrigin`].
11521
+ **/
11522
+ | { name: 'ControlAutoMigration'; params: { maybeConfig?: PalletStateTrieMigrationMigrationLimits | undefined } }
11523
+ /**
11524
+ * Continue the migration for the given `limits`.
11525
+ *
11526
+ * The dispatch origin of this call can be any signed account.
11527
+ *
11528
+ * This transaction has NO MONETARY INCENTIVES. calling it will not reward anyone. Albeit,
11529
+ * Upon successful execution, the transaction fee is returned.
11530
+ *
11531
+ * The (potentially over-estimated) of the byte length of all the data read must be
11532
+ * provided for up-front fee-payment and weighing. In essence, the caller is guaranteeing
11533
+ * that executing the current `MigrationTask` with the given `limits` will not exceed
11534
+ * `real_size_upper` bytes of read data.
11535
+ *
11536
+ * The `witness_task` is merely a helper to prevent the caller from being slashed or
11537
+ * generally trigger a migration that they do not intend. This parameter is just a message
11538
+ * from caller, saying that they believed `witness_task` was the last state of the
11539
+ * migration, and they only wish for their transaction to do anything, if this assumption
11540
+ * holds. In case `witness_task` does not match, the transaction fails.
11541
+ *
11542
+ * Based on the documentation of [`MigrationTask::migrate_until_exhaustion`], the
11543
+ * recommended way of doing this is to pass a `limit` that only bounds `count`, as the
11544
+ * `size` limit can always be overwritten.
11545
+ **/
11546
+ | {
11547
+ name: 'ContinueMigrate';
11548
+ params: {
11549
+ limits: PalletStateTrieMigrationMigrationLimits;
11550
+ realSizeUpper: number;
11551
+ witnessTask: PalletStateTrieMigrationMigrationTask;
11552
+ };
11553
+ }
11554
+ /**
11555
+ * Migrate the list of top keys by iterating each of them one by one.
11556
+ *
11557
+ * This does not affect the global migration process tracker ([`MigrationProcess`]), and
11558
+ * should only be used in case any keys are leftover due to a bug.
11559
+ **/
11560
+ | { name: 'MigrateCustomTop'; params: { keys: Array<Bytes>; witnessSize: number } }
11561
+ /**
11562
+ * Migrate the list of child keys by iterating each of them one by one.
11563
+ *
11564
+ * All of the given child keys must be present under one `child_root`.
11565
+ *
11566
+ * This does not affect the global migration process tracker ([`MigrationProcess`]), and
11567
+ * should only be used in case any keys are leftover due to a bug.
11568
+ **/
11569
+ | { name: 'MigrateCustomChild'; params: { root: Bytes; childKeys: Array<Bytes>; totalSize: number } }
11570
+ /**
11571
+ * Set the maximum limit of the signed migration.
11572
+ **/
11573
+ | { name: 'SetSignedMaxLimits'; params: { limits: PalletStateTrieMigrationMigrationLimits } }
11574
+ /**
11575
+ * Forcefully set the progress the running migration.
11576
+ *
11577
+ * This is only useful in one case: the next key to migrate is too big to be migrated with
11578
+ * a signed account, in a parachain context, and we simply want to skip it. A reasonable
11579
+ * example of this would be `:code:`, which is both very expensive to migrate, and commonly
11580
+ * used, so probably it is already migrated.
11581
+ *
11582
+ * In case you mess things up, you can also, in principle, use this to reset the migration
11583
+ * process.
11584
+ **/
11585
+ | {
11586
+ name: 'ForceSetProgress';
11587
+ params: { progressTop: PalletStateTrieMigrationProgress; progressChild: PalletStateTrieMigrationProgress };
11588
+ };
11589
+
11590
+ export type PalletStateTrieMigrationCallLike =
11591
+ /**
11592
+ * Control the automatic migration.
11593
+ *
11594
+ * The dispatch origin of this call must be [`Config::ControlOrigin`].
11595
+ **/
11596
+ | { name: 'ControlAutoMigration'; params: { maybeConfig?: PalletStateTrieMigrationMigrationLimits | undefined } }
11597
+ /**
11598
+ * Continue the migration for the given `limits`.
11599
+ *
11600
+ * The dispatch origin of this call can be any signed account.
11601
+ *
11602
+ * This transaction has NO MONETARY INCENTIVES. calling it will not reward anyone. Albeit,
11603
+ * Upon successful execution, the transaction fee is returned.
11604
+ *
11605
+ * The (potentially over-estimated) of the byte length of all the data read must be
11606
+ * provided for up-front fee-payment and weighing. In essence, the caller is guaranteeing
11607
+ * that executing the current `MigrationTask` with the given `limits` will not exceed
11608
+ * `real_size_upper` bytes of read data.
11609
+ *
11610
+ * The `witness_task` is merely a helper to prevent the caller from being slashed or
11611
+ * generally trigger a migration that they do not intend. This parameter is just a message
11612
+ * from caller, saying that they believed `witness_task` was the last state of the
11613
+ * migration, and they only wish for their transaction to do anything, if this assumption
11614
+ * holds. In case `witness_task` does not match, the transaction fails.
11615
+ *
11616
+ * Based on the documentation of [`MigrationTask::migrate_until_exhaustion`], the
11617
+ * recommended way of doing this is to pass a `limit` that only bounds `count`, as the
11618
+ * `size` limit can always be overwritten.
11619
+ **/
11620
+ | {
11621
+ name: 'ContinueMigrate';
11622
+ params: {
11623
+ limits: PalletStateTrieMigrationMigrationLimits;
11624
+ realSizeUpper: number;
11625
+ witnessTask: PalletStateTrieMigrationMigrationTask;
11626
+ };
11627
+ }
11628
+ /**
11629
+ * Migrate the list of top keys by iterating each of them one by one.
11630
+ *
11631
+ * This does not affect the global migration process tracker ([`MigrationProcess`]), and
11632
+ * should only be used in case any keys are leftover due to a bug.
11633
+ **/
11634
+ | { name: 'MigrateCustomTop'; params: { keys: Array<BytesLike>; witnessSize: number } }
11635
+ /**
11636
+ * Migrate the list of child keys by iterating each of them one by one.
11637
+ *
11638
+ * All of the given child keys must be present under one `child_root`.
11639
+ *
11640
+ * This does not affect the global migration process tracker ([`MigrationProcess`]), and
11641
+ * should only be used in case any keys are leftover due to a bug.
11642
+ **/
11643
+ | { name: 'MigrateCustomChild'; params: { root: BytesLike; childKeys: Array<BytesLike>; totalSize: number } }
11644
+ /**
11645
+ * Set the maximum limit of the signed migration.
11646
+ **/
11647
+ | { name: 'SetSignedMaxLimits'; params: { limits: PalletStateTrieMigrationMigrationLimits } }
11648
+ /**
11649
+ * Forcefully set the progress the running migration.
11650
+ *
11651
+ * This is only useful in one case: the next key to migrate is too big to be migrated with
11652
+ * a signed account, in a parachain context, and we simply want to skip it. A reasonable
11653
+ * example of this would be `:code:`, which is both very expensive to migrate, and commonly
11654
+ * used, so probably it is already migrated.
11655
+ *
11656
+ * In case you mess things up, you can also, in principle, use this to reset the migration
11657
+ * process.
11658
+ **/
11659
+ | {
11660
+ name: 'ForceSetProgress';
11661
+ params: { progressTop: PalletStateTrieMigrationProgress; progressChild: PalletStateTrieMigrationProgress };
11662
+ };
11663
+
11664
+ export type PalletStateTrieMigrationMigrationLimits = { size: number; item: number };
11665
+
11666
+ export type PalletStateTrieMigrationMigrationTask = {
11667
+ progressTop: PalletStateTrieMigrationProgress;
11668
+ progressChild: PalletStateTrieMigrationProgress;
11669
+ size: number;
11670
+ topItems: number;
11671
+ childItems: number;
11672
+ };
11673
+
11674
+ export type PalletStateTrieMigrationProgress =
11675
+ | { tag: 'ToStart' }
11676
+ | { tag: 'LastKey'; value: Bytes }
11677
+ | { tag: 'Complete' };
11678
+
11403
11679
  /**
11404
11680
  * Pallet's callable functions.
11405
11681
  **/
@@ -12261,6 +12537,39 @@ export type PalletTransactionPaymentFeeDetails = {
12261
12537
 
12262
12538
  export type PalletTransactionPaymentInclusionFee = { baseFee: bigint; lenFee: bigint; adjustedWeightFee: bigint };
12263
12539
 
12540
+ export type XcmFeePaymentRuntimeApiFeesError =
12541
+ | 'Unimplemented'
12542
+ | 'VersionedConversionFailed'
12543
+ | 'WeightNotComputable'
12544
+ | 'UnhandledXcmVersion'
12545
+ | 'AssetNotFound'
12546
+ | 'Unroutable';
12547
+
12548
+ export type XcmFeePaymentRuntimeApiDryRunCallDryRunEffects = {
12549
+ executionResult: Result<FrameSupportDispatchPostDispatchInfo, SpRuntimeDispatchErrorWithPostInfo>;
12550
+ emittedEvents: Array<AssetHubWestendRuntimeRuntimeEvent>;
12551
+ localXcm?: XcmVersionedXcm | undefined;
12552
+ forwardedXcms: Array<[XcmVersionedLocation, Array<XcmVersionedXcm>]>;
12553
+ };
12554
+
12555
+ export type FrameSupportDispatchPostDispatchInfo = {
12556
+ actualWeight?: SpWeightsWeightV2Weight | undefined;
12557
+ paysFee: FrameSupportDispatchPays;
12558
+ };
12559
+
12560
+ export type SpRuntimeDispatchErrorWithPostInfo = {
12561
+ postInfo: FrameSupportDispatchPostDispatchInfo;
12562
+ error: DispatchError;
12563
+ };
12564
+
12565
+ export type XcmFeePaymentRuntimeApiDryRunError = 'Unimplemented' | 'VersionedConversionFailed';
12566
+
12567
+ export type XcmFeePaymentRuntimeApiDryRunXcmDryRunEffects = {
12568
+ executionResult: StagingXcmV4TraitsOutcome;
12569
+ emittedEvents: Array<AssetHubWestendRuntimeRuntimeEvent>;
12570
+ forwardedXcms: Array<[XcmVersionedLocation, Array<XcmVersionedXcm>]>;
12571
+ };
12572
+
12264
12573
  export type AssetsCommonRuntimeApiFungiblesAccessError = 'AssetIdConversionFailed' | 'AmountToBalanceConversionFailed';
12265
12574
 
12266
12575
  export type CumulusPrimitivesCoreCollationInfo = {
@@ -12293,4 +12602,5 @@ export type AssetHubWestendRuntimeRuntimeError =
12293
12602
  | { tag: 'NftFractionalization'; value: PalletNftFractionalizationError }
12294
12603
  | { tag: 'PoolAssets'; value: PalletAssetsError }
12295
12604
  | { tag: 'AssetConversion'; value: PalletAssetConversionError }
12605
+ | { tag: 'StateTrieMigration'; value: PalletStateTrieMigrationError }
12296
12606
  | { tag: 'AssetConversionMigration'; value: PalletAssetConversionOpsError };