@dedot/chaintypes 0.20.0 → 0.21.0

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.20.0",
3
+ "version": "0.21.0",
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": "08edfc8f5624dced4ce095ed378978fa85d09532",
22
+ "gitHead": "c227d70a1c89b5e516373bbb14c9e92ec2c881e1",
23
23
  "module": "./index.js",
24
24
  "types": "./index.d.ts"
25
25
  }
@@ -6,6 +6,7 @@ import type {
6
6
  FrameSystemLimitsBlockWeights,
7
7
  FrameSystemLimitsBlockLength,
8
8
  SpWeightsRuntimeDbWeight,
9
+ PolkadotParachainPrimitivesPrimitivesId,
9
10
  SpWeightsWeightV2Weight,
10
11
  PalletNftsBitFlagsPalletFeature,
11
12
  StagingXcmV3MultilocationMultiLocation,
@@ -38,7 +39,7 @@ export interface ChainConsts<Rv extends RpcVersion> extends GenericChainConsts<R
38
39
  dbWeight: SpWeightsRuntimeDbWeight;
39
40
 
40
41
  /**
41
- * Get the chain's current version.
42
+ * Get the chain's in-code version.
42
43
  **/
43
44
  version: RuntimeVersion;
44
45
 
@@ -60,6 +61,11 @@ export interface ChainConsts<Rv extends RpcVersion> extends GenericChainConsts<R
60
61
  * Pallet `ParachainSystem`'s constants
61
62
  **/
62
63
  parachainSystem: {
64
+ /**
65
+ * Returns the parachain ID we are running with.
66
+ **/
67
+ selfParaId: PolkadotParachainPrimitivesPrimitivesId;
68
+
63
69
  /**
64
70
  * Generic pallet constant
65
71
  **/
@@ -112,11 +118,15 @@ export interface ChainConsts<Rv extends RpcVersion> extends GenericChainConsts<R
112
118
  /**
113
119
  * The maximum number of locks that should exist on an account.
114
120
  * Not strictly enforced, but used for weight estimation.
121
+ *
122
+ * Use of locks is deprecated in favour of freezes. See `https://github.com/paritytech/substrate/pull/12951/`
115
123
  **/
116
124
  maxLocks: number;
117
125
 
118
126
  /**
119
127
  * The maximum number of named reserves that can exist on an account.
128
+ *
129
+ * Use of reserves is deprecated in favour of holds. See `https://github.com/paritytech/substrate/pull/12951/`
120
130
  **/
121
131
  maxReserves: number;
122
132
 
@@ -219,6 +229,14 @@ export interface ChainConsts<Rv extends RpcVersion> extends GenericChainConsts<R
219
229
  * Pallet `Aura`'s constants
220
230
  **/
221
231
  aura: {
232
+ /**
233
+ * The slot duration Aura should run with, expressed in milliseconds.
234
+ * The effective value of this type should not change while the chain is running.
235
+ *
236
+ * For backwards compatibility either use [`MinimumPeriodTimesTwo`] or a const.
237
+ **/
238
+ slotDuration: bigint;
239
+
222
240
  /**
223
241
  * Generic pallet constant
224
242
  **/
@@ -246,6 +264,27 @@ export interface ChainConsts<Rv extends RpcVersion> extends GenericChainConsts<R
246
264
  **/
247
265
  maxInboundSuspended: number;
248
266
 
267
+ /**
268
+ * Maximal number of outbound XCMP channels that can have messages queued at the same time.
269
+ *
270
+ * If this is reached, then no further messages can be sent to channels that do not yet
271
+ * have a message queued. This should be set to the expected maximum of outbound channels
272
+ * which is determined by [`Self::ChannelInfo`]. It is important to set this large enough,
273
+ * since otherwise the congestion control protocol will not work as intended and messages
274
+ * may be dropped. This value increases the PoV and should therefore not be picked too
275
+ * high. Governance needs to pay attention to not open more channels than this value.
276
+ **/
277
+ maxActiveOutboundChannels: number;
278
+
279
+ /**
280
+ * The maximal page size for HRMP message pages.
281
+ *
282
+ * A lower limit can be set dynamically, but this is the hard-limit for the PoV worst case
283
+ * benchmarking. The limit for the size of a message is slightly below this, since some
284
+ * overhead is incurred for encoding the format.
285
+ **/
286
+ maxPageSize: number;
287
+
249
288
  /**
250
289
  * Generic pallet constant
251
290
  **/
@@ -300,13 +339,23 @@ export interface ChainConsts<Rv extends RpcVersion> extends GenericChainConsts<R
300
339
 
301
340
  /**
302
341
  * The amount of weight (if any) which should be provided to the message queue for
303
- * servicing enqueued items.
342
+ * servicing enqueued items `on_initialize`.
304
343
  *
305
344
  * This may be legitimately `None` in the case that you will call
306
- * `ServiceQueues::service_queues` manually.
345
+ * `ServiceQueues::service_queues` manually or set [`Self::IdleMaxServiceWeight`] to have
346
+ * it run in `on_idle`.
307
347
  **/
308
348
  serviceWeight: SpWeightsWeightV2Weight | undefined;
309
349
 
350
+ /**
351
+ * The maximum amount of weight (if any) to be used from remaining weight `on_idle` which
352
+ * should be provided to the message queue for servicing enqueued items `on_idle`.
353
+ * Useful for parachains to process messages at the same block they are received.
354
+ *
355
+ * If `None`, it will not call `ServiceQueues::service_queues` in `on_idle`.
356
+ **/
357
+ idleMaxServiceWeight: SpWeightsWeightV2Weight | undefined;
358
+
310
359
  /**
311
360
  * Generic pallet constant
312
361
  **/
@@ -41,6 +41,11 @@ export interface ChainErrors<Rv extends RpcVersion> extends GenericChainErrors<R
41
41
  **/
42
42
  CallFiltered: GenericPalletError<Rv>;
43
43
 
44
+ /**
45
+ * A multi-block migration is ongoing and prevents the current code from being replaced.
46
+ **/
47
+ MultiBlockMigrationsOngoing: GenericPalletError<Rv>;
48
+
44
49
  /**
45
50
  * No upgrade authorized.
46
51
  **/
@@ -357,6 +362,16 @@ export interface ChainErrors<Rv extends RpcVersion> extends GenericChainErrors<R
357
362
  **/
358
363
  AlreadyResumed: GenericPalletError<Rv>;
359
364
 
365
+ /**
366
+ * There are too many active outbound channels.
367
+ **/
368
+ TooManyActiveOutboundChannels: GenericPalletError<Rv>;
369
+
370
+ /**
371
+ * The message is too big.
372
+ **/
373
+ TooBig: GenericPalletError<Rv>;
374
+
360
375
  /**
361
376
  * Generic pallet error
362
377
  **/
@@ -469,11 +484,6 @@ export interface ChainErrors<Rv extends RpcVersion> extends GenericChainErrors<R
469
484
  **/
470
485
  InUse: GenericPalletError<Rv>;
471
486
 
472
- /**
473
- * Invalid non-concrete asset.
474
- **/
475
- InvalidAssetNotConcrete: GenericPalletError<Rv>;
476
-
477
487
  /**
478
488
  * Invalid asset, reserve chain could not be determined for it.
479
489
  **/
@@ -808,6 +818,11 @@ export interface ChainErrors<Rv extends RpcVersion> extends GenericChainErrors<R
808
818
  **/
809
819
  CallbackFailed: GenericPalletError<Rv>;
810
820
 
821
+ /**
822
+ * The asset ID must be equal to the [`NextAssetId`].
823
+ **/
824
+ BadAssetId: GenericPalletError<Rv>;
825
+
811
826
  /**
812
827
  * Generic pallet error
813
828
  **/
@@ -1253,6 +1268,11 @@ export interface ChainErrors<Rv extends RpcVersion> extends GenericChainErrors<R
1253
1268
  **/
1254
1269
  CallbackFailed: GenericPalletError<Rv>;
1255
1270
 
1271
+ /**
1272
+ * The asset ID must be equal to the [`NextAssetId`].
1273
+ **/
1274
+ BadAssetId: GenericPalletError<Rv>;
1275
+
1256
1276
  /**
1257
1277
  * Generic pallet error
1258
1278
  **/
@@ -1365,6 +1385,11 @@ export interface ChainErrors<Rv extends RpcVersion> extends GenericChainErrors<R
1365
1385
  **/
1366
1386
  CallbackFailed: GenericPalletError<Rv>;
1367
1387
 
1388
+ /**
1389
+ * The asset ID must be equal to the [`NextAssetId`].
1390
+ **/
1391
+ BadAssetId: GenericPalletError<Rv>;
1392
+
1368
1393
  /**
1369
1394
  * Generic pallet error
1370
1395
  **/
@@ -1188,6 +1188,16 @@ export interface ChainEvents<Rv extends RpcVersion> extends GenericChainEvents<R
1188
1188
  **/
1189
1189
  Blocked: GenericPalletEvent<Rv, 'Assets', 'Blocked', { assetId: number; who: AccountId32 }>;
1190
1190
 
1191
+ /**
1192
+ * Some assets were deposited (e.g. for transaction fees).
1193
+ **/
1194
+ Deposited: GenericPalletEvent<Rv, 'Assets', 'Deposited', { assetId: number; who: AccountId32; amount: bigint }>;
1195
+
1196
+ /**
1197
+ * Some assets were withdrawn from the account (e.g. for transaction fees).
1198
+ **/
1199
+ Withdrawn: GenericPalletEvent<Rv, 'Assets', 'Withdrawn', { assetId: number; who: AccountId32; amount: bigint }>;
1200
+
1191
1201
  /**
1192
1202
  * Generic pallet event
1193
1203
  **/
@@ -2022,6 +2032,26 @@ export interface ChainEvents<Rv extends RpcVersion> extends GenericChainEvents<R
2022
2032
  { assetId: StagingXcmV3MultilocationMultiLocation; who: AccountId32 }
2023
2033
  >;
2024
2034
 
2035
+ /**
2036
+ * Some assets were deposited (e.g. for transaction fees).
2037
+ **/
2038
+ Deposited: GenericPalletEvent<
2039
+ Rv,
2040
+ 'ForeignAssets',
2041
+ 'Deposited',
2042
+ { assetId: StagingXcmV3MultilocationMultiLocation; who: AccountId32; amount: bigint }
2043
+ >;
2044
+
2045
+ /**
2046
+ * Some assets were withdrawn from the account (e.g. for transaction fees).
2047
+ **/
2048
+ Withdrawn: GenericPalletEvent<
2049
+ Rv,
2050
+ 'ForeignAssets',
2051
+ 'Withdrawn',
2052
+ { assetId: StagingXcmV3MultilocationMultiLocation; who: AccountId32; amount: bigint }
2053
+ >;
2054
+
2025
2055
  /**
2026
2056
  * Generic pallet event
2027
2057
  **/
@@ -2207,6 +2237,16 @@ export interface ChainEvents<Rv extends RpcVersion> extends GenericChainEvents<R
2207
2237
  **/
2208
2238
  Blocked: GenericPalletEvent<Rv, 'PoolAssets', 'Blocked', { assetId: number; who: AccountId32 }>;
2209
2239
 
2240
+ /**
2241
+ * Some assets were deposited (e.g. for transaction fees).
2242
+ **/
2243
+ Deposited: GenericPalletEvent<Rv, 'PoolAssets', 'Deposited', { assetId: number; who: AccountId32; amount: bigint }>;
2244
+
2245
+ /**
2246
+ * Some assets were withdrawn from the account (e.g. for transaction fees).
2247
+ **/
2248
+ Withdrawn: GenericPalletEvent<Rv, 'PoolAssets', 'Withdrawn', { assetId: number; who: AccountId32; amount: bigint }>;
2249
+
2210
2250
  /**
2211
2251
  * Generic pallet event
2212
2252
  **/
@@ -2217,7 +2257,7 @@ export interface ChainEvents<Rv extends RpcVersion> extends GenericChainEvents<R
2217
2257
  **/
2218
2258
  assetConversion: {
2219
2259
  /**
2220
- * A successful call of the `CretaPool` extrinsic will create this event.
2260
+ * A successful call of the `CreatePool` extrinsic will create this event.
2221
2261
  **/
2222
2262
  PoolCreated: GenericPalletEvent<
2223
2263
  Rv,
@@ -2406,6 +2446,26 @@ export interface ChainEvents<Rv extends RpcVersion> extends GenericChainEvents<R
2406
2446
  }
2407
2447
  >;
2408
2448
 
2449
+ /**
2450
+ * Pool has been touched in order to fulfill operational requirements.
2451
+ **/
2452
+ Touched: GenericPalletEvent<
2453
+ Rv,
2454
+ 'AssetConversion',
2455
+ 'Touched',
2456
+ {
2457
+ /**
2458
+ * The ID of the pool.
2459
+ **/
2460
+ poolId: [StagingXcmV3MultilocationMultiLocation, StagingXcmV3MultilocationMultiLocation];
2461
+
2462
+ /**
2463
+ * The account initiating the touch.
2464
+ **/
2465
+ who: AccountId32;
2466
+ }
2467
+ >;
2468
+
2409
2469
  /**
2410
2470
  * Generic pallet event
2411
2471
  **/
@@ -23,7 +23,7 @@ export interface VersionedPolkadotAssetHubApi<Rv extends RpcVersion> extends Gen
23
23
 
24
24
  /**
25
25
  * @name: PolkadotAssetHubApi
26
- * @specVersion: 1002006
26
+ * @specVersion: 1003000
27
27
  **/
28
28
  export interface PolkadotAssetHubApi {
29
29
  legacy: VersionedPolkadotAssetHubApi<RpcLegacy>;
@@ -20,12 +20,12 @@ import type {
20
20
  FrameSystemCodeUpgradeAuthorization,
21
21
  CumulusPalletParachainSystemUnincludedSegmentAncestor,
22
22
  CumulusPalletParachainSystemUnincludedSegmentSegmentTracker,
23
- PolkadotPrimitivesV6PersistedValidationData,
24
- PolkadotPrimitivesV6UpgradeRestriction,
25
- PolkadotPrimitivesV6UpgradeGoAhead,
23
+ PolkadotPrimitivesV7PersistedValidationData,
24
+ PolkadotPrimitivesV7UpgradeRestriction,
25
+ PolkadotPrimitivesV7UpgradeGoAhead,
26
26
  SpTrieStorageProof,
27
27
  CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot,
28
- PolkadotPrimitivesV6AbridgedHostConfiguration,
28
+ PolkadotPrimitivesV7AbridgedHostConfiguration,
29
29
  CumulusPrimitivesParachainInherentMessageQueueChain,
30
30
  PolkadotParachainPrimitivesPrimitivesId,
31
31
  PolkadotCorePrimitivesOutboundHrmpMessage,
@@ -33,8 +33,8 @@ import type {
33
33
  PalletBalancesAccountData,
34
34
  PalletBalancesBalanceLock,
35
35
  PalletBalancesReserveData,
36
- PalletBalancesIdAmount,
37
- PalletBalancesIdAmount002,
36
+ FrameSupportTokensMiscIdAmount,
37
+ FrameSupportTokensMiscIdAmount002,
38
38
  PalletTransactionPaymentReleases,
39
39
  PalletVestingVestingInfo,
40
40
  PalletVestingReleases,
@@ -50,6 +50,7 @@ import type {
50
50
  PalletXcmVersionMigrationStage,
51
51
  PalletXcmRemoteLockedFungibleRecord,
52
52
  XcmVersionedAssetId,
53
+ StagingXcmV4Xcm,
53
54
  BpXcmBridgeHubRouterBridgeState,
54
55
  PalletMessageQueueBookState,
55
56
  CumulusPrimitivesCoreAggregateMessageOrigin,
@@ -99,6 +100,13 @@ export interface ChainStorage<Rv extends RpcVersion> extends GenericChainStorage
99
100
  **/
100
101
  extrinsicCount: GenericStorageQuery<Rv, () => number | undefined>;
101
102
 
103
+ /**
104
+ * Whether all inherents have been applied.
105
+ *
106
+ * @param {Callback<boolean> =} callback
107
+ **/
108
+ inherentsApplied: GenericStorageQuery<Rv, () => boolean>;
109
+
102
110
  /**
103
111
  * The current weight for the block.
104
112
  *
@@ -284,9 +292,9 @@ export interface ChainStorage<Rv extends RpcVersion> extends GenericChainStorage
284
292
  * This value is expected to be set only once per block and it's never stored
285
293
  * in the trie.
286
294
  *
287
- * @param {Callback<PolkadotPrimitivesV6PersistedValidationData | undefined> =} callback
295
+ * @param {Callback<PolkadotPrimitivesV7PersistedValidationData | undefined> =} callback
288
296
  **/
289
- validationData: GenericStorageQuery<Rv, () => PolkadotPrimitivesV6PersistedValidationData | undefined>;
297
+ validationData: GenericStorageQuery<Rv, () => PolkadotPrimitivesV7PersistedValidationData | undefined>;
290
298
 
291
299
  /**
292
300
  * Were the validation data set to notify the relay chain?
@@ -313,9 +321,9 @@ export interface ChainStorage<Rv extends RpcVersion> extends GenericChainStorage
313
321
  * relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is
314
322
  * set after the inherent.
315
323
  *
316
- * @param {Callback<PolkadotPrimitivesV6UpgradeRestriction | undefined> =} callback
324
+ * @param {Callback<PolkadotPrimitivesV7UpgradeRestriction | undefined> =} callback
317
325
  **/
318
- upgradeRestrictionSignal: GenericStorageQuery<Rv, () => PolkadotPrimitivesV6UpgradeRestriction | undefined>;
326
+ upgradeRestrictionSignal: GenericStorageQuery<Rv, () => PolkadotPrimitivesV7UpgradeRestriction | undefined>;
319
327
 
320
328
  /**
321
329
  * Optional upgrade go-ahead signal from the relay-chain.
@@ -324,9 +332,9 @@ export interface ChainStorage<Rv extends RpcVersion> extends GenericChainStorage
324
332
  * relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is
325
333
  * set after the inherent.
326
334
  *
327
- * @param {Callback<PolkadotPrimitivesV6UpgradeGoAhead | undefined> =} callback
335
+ * @param {Callback<PolkadotPrimitivesV7UpgradeGoAhead | undefined> =} callback
328
336
  **/
329
- upgradeGoAhead: GenericStorageQuery<Rv, () => PolkadotPrimitivesV6UpgradeGoAhead | undefined>;
337
+ upgradeGoAhead: GenericStorageQuery<Rv, () => PolkadotPrimitivesV7UpgradeGoAhead | undefined>;
330
338
 
331
339
  /**
332
340
  * The state proof for the last relay parent block.
@@ -364,9 +372,9 @@ export interface ChainStorage<Rv extends RpcVersion> extends GenericChainStorage
364
372
  *
365
373
  * This data is also absent from the genesis.
366
374
  *
367
- * @param {Callback<PolkadotPrimitivesV6AbridgedHostConfiguration | undefined> =} callback
375
+ * @param {Callback<PolkadotPrimitivesV7AbridgedHostConfiguration | undefined> =} callback
368
376
  **/
369
- hostConfiguration: GenericStorageQuery<Rv, () => PolkadotPrimitivesV6AbridgedHostConfiguration | undefined>;
377
+ hostConfiguration: GenericStorageQuery<Rv, () => PolkadotPrimitivesV7AbridgedHostConfiguration | undefined>;
370
378
 
371
379
  /**
372
380
  * The last downward message queue chain head we have observed.
@@ -573,6 +581,8 @@ export interface ChainStorage<Rv extends RpcVersion> extends GenericChainStorage
573
581
  * Any liquidity locks on some account balances.
574
582
  * NOTE: Should only be accessed when setting, changing and freeing a lock.
575
583
  *
584
+ * Use of locks is deprecated in favour of freezes. See `https://github.com/paritytech/substrate/pull/12951/`
585
+ *
576
586
  * @param {AccountId32Like} arg
577
587
  * @param {Callback<Array<PalletBalancesBalanceLock>> =} callback
578
588
  **/
@@ -581,6 +591,8 @@ export interface ChainStorage<Rv extends RpcVersion> extends GenericChainStorage
581
591
  /**
582
592
  * Named reserves on some account balances.
583
593
  *
594
+ * Use of reserves is deprecated in favour of holds. See `https://github.com/paritytech/substrate/pull/12951/`
595
+ *
584
596
  * @param {AccountId32Like} arg
585
597
  * @param {Callback<Array<PalletBalancesReserveData>> =} callback
586
598
  **/
@@ -590,17 +602,17 @@ export interface ChainStorage<Rv extends RpcVersion> extends GenericChainStorage
590
602
  * Holds on account balances.
591
603
  *
592
604
  * @param {AccountId32Like} arg
593
- * @param {Callback<Array<PalletBalancesIdAmount>> =} callback
605
+ * @param {Callback<Array<FrameSupportTokensMiscIdAmount>> =} callback
594
606
  **/
595
- holds: GenericStorageQuery<Rv, (arg: AccountId32Like) => Array<PalletBalancesIdAmount>, AccountId32>;
607
+ holds: GenericStorageQuery<Rv, (arg: AccountId32Like) => Array<FrameSupportTokensMiscIdAmount>, AccountId32>;
596
608
 
597
609
  /**
598
610
  * Freeze locks on account balances.
599
611
  *
600
612
  * @param {AccountId32Like} arg
601
- * @param {Callback<Array<PalletBalancesIdAmount002>> =} callback
613
+ * @param {Callback<Array<FrameSupportTokensMiscIdAmount002>> =} callback
602
614
  **/
603
- freezes: GenericStorageQuery<Rv, (arg: AccountId32Like) => Array<PalletBalancesIdAmount002>, AccountId32>;
615
+ freezes: GenericStorageQuery<Rv, (arg: AccountId32Like) => Array<FrameSupportTokensMiscIdAmount002>, AccountId32>;
604
616
 
605
617
  /**
606
618
  * Generic pallet storage query
@@ -1062,6 +1074,31 @@ export interface ChainStorage<Rv extends RpcVersion> extends GenericChainStorage
1062
1074
  **/
1063
1075
  xcmExecutionSuspended: GenericStorageQuery<Rv, () => boolean>;
1064
1076
 
1077
+ /**
1078
+ * Whether or not incoming XCMs (both executed locally and received) should be recorded.
1079
+ * Only one XCM program will be recorded at a time.
1080
+ * This is meant to be used in runtime APIs, and it's advised it stays false
1081
+ * for all other use cases, so as to not degrade regular performance.
1082
+ *
1083
+ * Only relevant if this pallet is being used as the [`xcm_executor::traits::RecordXcm`]
1084
+ * implementation in the XCM executor configuration.
1085
+ *
1086
+ * @param {Callback<boolean> =} callback
1087
+ **/
1088
+ shouldRecordXcm: GenericStorageQuery<Rv, () => boolean>;
1089
+
1090
+ /**
1091
+ * If [`ShouldRecordXcm`] is set to true, then the last XCM program executed locally
1092
+ * will be stored here.
1093
+ * Runtime APIs can fetch the XCM that was executed by accessing this value.
1094
+ *
1095
+ * Only relevant if this pallet is being used as the [`xcm_executor::traits::RecordXcm`]
1096
+ * implementation in the XCM executor configuration.
1097
+ *
1098
+ * @param {Callback<StagingXcmV4Xcm | undefined> =} callback
1099
+ **/
1100
+ recordedXcm: GenericStorageQuery<Rv, () => StagingXcmV4Xcm | undefined>;
1101
+
1065
1102
  /**
1066
1103
  * Generic pallet storage query
1067
1104
  **/
@@ -1230,6 +1267,21 @@ export interface ChainStorage<Rv extends RpcVersion> extends GenericChainStorage
1230
1267
  **/
1231
1268
  metadata: GenericStorageQuery<Rv, (arg: number) => PalletAssetsAssetMetadata, number>;
1232
1269
 
1270
+ /**
1271
+ * The asset ID enforced for the next asset creation, if any present. Otherwise, this storage
1272
+ * item has no effect.
1273
+ *
1274
+ * This can be useful for setting up constraints for IDs of the new assets. For example, by
1275
+ * providing an initial [`NextAssetId`] and using the [`crate::AutoIncAssetId`] callback, an
1276
+ * auto-increment model can be applied to all new asset IDs.
1277
+ *
1278
+ * The initial next asset ID can be set using the [`GenesisConfig`] or the
1279
+ * [SetNextAssetId](`migration::next_asset_id::SetNextAssetId`) migration.
1280
+ *
1281
+ * @param {Callback<number | undefined> =} callback
1282
+ **/
1283
+ nextAssetId: GenericStorageQuery<Rv, () => number | undefined>;
1284
+
1233
1285
  /**
1234
1286
  * Generic pallet storage query
1235
1287
  **/
@@ -1564,6 +1616,21 @@ export interface ChainStorage<Rv extends RpcVersion> extends GenericChainStorage
1564
1616
  StagingXcmV3MultilocationMultiLocation
1565
1617
  >;
1566
1618
 
1619
+ /**
1620
+ * The asset ID enforced for the next asset creation, if any present. Otherwise, this storage
1621
+ * item has no effect.
1622
+ *
1623
+ * This can be useful for setting up constraints for IDs of the new assets. For example, by
1624
+ * providing an initial [`NextAssetId`] and using the [`crate::AutoIncAssetId`] callback, an
1625
+ * auto-increment model can be applied to all new asset IDs.
1626
+ *
1627
+ * The initial next asset ID can be set using the [`GenesisConfig`] or the
1628
+ * [SetNextAssetId](`migration::next_asset_id::SetNextAssetId`) migration.
1629
+ *
1630
+ * @param {Callback<StagingXcmV3MultilocationMultiLocation | undefined> =} callback
1631
+ **/
1632
+ nextAssetId: GenericStorageQuery<Rv, () => StagingXcmV3MultilocationMultiLocation | undefined>;
1633
+
1567
1634
  /**
1568
1635
  * Generic pallet storage query
1569
1636
  **/
@@ -1615,6 +1682,21 @@ export interface ChainStorage<Rv extends RpcVersion> extends GenericChainStorage
1615
1682
  **/
1616
1683
  metadata: GenericStorageQuery<Rv, (arg: number) => PalletAssetsAssetMetadata, number>;
1617
1684
 
1685
+ /**
1686
+ * The asset ID enforced for the next asset creation, if any present. Otherwise, this storage
1687
+ * item has no effect.
1688
+ *
1689
+ * This can be useful for setting up constraints for IDs of the new assets. For example, by
1690
+ * providing an initial [`NextAssetId`] and using the [`crate::AutoIncAssetId`] callback, an
1691
+ * auto-increment model can be applied to all new asset IDs.
1692
+ *
1693
+ * The initial next asset ID can be set using the [`GenesisConfig`] or the
1694
+ * [SetNextAssetId](`migration::next_asset_id::SetNextAssetId`) migration.
1695
+ *
1696
+ * @param {Callback<number | undefined> =} callback
1697
+ **/
1698
+ nextAssetId: GenericStorageQuery<Rv, () => number | undefined>;
1699
+
1618
1700
  /**
1619
1701
  * Generic pallet storage query
1620
1702
  **/