@dedot/chaintypes 0.260.0 → 0.261.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.
@@ -11,17 +11,17 @@ import type {
11
11
  AccountId32,
12
12
  AccountId32Like,
13
13
  FixedArray,
14
+ Era,
14
15
  H160,
15
16
  U256,
17
+ Permill,
16
18
  Percent,
17
19
  Perbill,
18
20
  PerU16,
19
21
  FixedU128,
20
- Era,
21
22
  Phase,
22
23
  DispatchError,
23
24
  Result,
24
- Permill,
25
25
  UncheckedExtrinsic,
26
26
  FixedI64,
27
27
  } from 'dedot/codecs';
@@ -49,6 +49,8 @@ export type AssetHubWestendRuntimeRuntimeCall =
49
49
  | { pallet: 'Multisig'; palletCall: PalletMultisigCall }
50
50
  | { pallet: 'Proxy'; palletCall: PalletProxyCall }
51
51
  | { pallet: 'Indices'; palletCall: PalletIndicesCall }
52
+ | { pallet: 'MetaTx'; palletCall: PalletMetaTxCall }
53
+ | { pallet: 'Parameters'; palletCall: PalletParametersCall }
52
54
  | { pallet: 'Assets'; palletCall: PalletAssetsCall }
53
55
  | { pallet: 'Uniques'; palletCall: PalletUniquesCall }
54
56
  | { pallet: 'Nfts'; palletCall: PalletNftsCall }
@@ -58,6 +60,7 @@ export type AssetHubWestendRuntimeRuntimeCall =
58
60
  | { pallet: 'AssetConversion'; palletCall: PalletAssetConversionCall }
59
61
  | { pallet: 'Revive'; palletCall: PalletReviveCall }
60
62
  | { pallet: 'AssetRewards'; palletCall: PalletAssetRewardsCall }
63
+ | { pallet: 'Psm'; palletCall: PalletPsmCall }
61
64
  | { pallet: 'StateTrieMigration'; palletCall: PalletStateTrieMigrationCall }
62
65
  | { pallet: 'Staking'; palletCall: PalletStakingAsyncPalletCall }
63
66
  | { pallet: 'NominationPools'; palletCall: PalletNominationPoolsCall }
@@ -73,6 +76,7 @@ export type AssetHubWestendRuntimeRuntimeCall =
73
76
  | { pallet: 'Treasury'; palletCall: PalletTreasuryCall }
74
77
  | { pallet: 'AssetRate'; palletCall: PalletAssetRateCall }
75
78
  | { pallet: 'MultiAssetBounties'; palletCall: PalletMultiAssetBountiesCall }
79
+ | { pallet: 'Dap'; palletCall: PalletDapCall }
76
80
  | { pallet: 'AssetConversionMigration'; palletCall: PalletAssetConversionOpsCall }
77
81
  | { pallet: 'AhOps'; palletCall: PalletAhOpsCall };
78
82
 
@@ -99,6 +103,8 @@ export type AssetHubWestendRuntimeRuntimeCallLike =
99
103
  | { pallet: 'Multisig'; palletCall: PalletMultisigCallLike }
100
104
  | { pallet: 'Proxy'; palletCall: PalletProxyCallLike }
101
105
  | { pallet: 'Indices'; palletCall: PalletIndicesCallLike }
106
+ | { pallet: 'MetaTx'; palletCall: PalletMetaTxCallLike }
107
+ | { pallet: 'Parameters'; palletCall: PalletParametersCallLike }
102
108
  | { pallet: 'Assets'; palletCall: PalletAssetsCallLike }
103
109
  | { pallet: 'Uniques'; palletCall: PalletUniquesCallLike }
104
110
  | { pallet: 'Nfts'; palletCall: PalletNftsCallLike }
@@ -108,6 +114,7 @@ export type AssetHubWestendRuntimeRuntimeCallLike =
108
114
  | { pallet: 'AssetConversion'; palletCall: PalletAssetConversionCallLike }
109
115
  | { pallet: 'Revive'; palletCall: PalletReviveCallLike }
110
116
  | { pallet: 'AssetRewards'; palletCall: PalletAssetRewardsCallLike }
117
+ | { pallet: 'Psm'; palletCall: PalletPsmCallLike }
111
118
  | { pallet: 'StateTrieMigration'; palletCall: PalletStateTrieMigrationCallLike }
112
119
  | { pallet: 'Staking'; palletCall: PalletStakingAsyncPalletCallLike }
113
120
  | { pallet: 'NominationPools'; palletCall: PalletNominationPoolsCallLike }
@@ -123,6 +130,7 @@ export type AssetHubWestendRuntimeRuntimeCallLike =
123
130
  | { pallet: 'Treasury'; palletCall: PalletTreasuryCallLike }
124
131
  | { pallet: 'AssetRate'; palletCall: PalletAssetRateCallLike }
125
132
  | { pallet: 'MultiAssetBounties'; palletCall: PalletMultiAssetBountiesCallLike }
133
+ | { pallet: 'Dap'; palletCall: PalletDapCallLike }
126
134
  | { pallet: 'AssetConversionMigration'; palletCall: PalletAssetConversionOpsCallLike }
127
135
  | { pallet: 'AhOps'; palletCall: PalletAhOpsCallLike };
128
136
 
@@ -3426,7 +3434,8 @@ export type AssetHubWestendRuntimeGovernanceOriginsPalletCustomOriginsOrigin =
3426
3434
  | 'SmallSpender'
3427
3435
  | 'MediumSpender'
3428
3436
  | 'BigSpender'
3429
- | 'WhitelistedCaller';
3437
+ | 'WhitelistedCaller'
3438
+ | 'MonetaryGuard';
3430
3439
 
3431
3440
  /**
3432
3441
  * Contains a variant per dispatchable extrinsic that this pallet has.
@@ -4353,6 +4362,106 @@ export type PalletIndicesCallLike =
4353
4362
  **/
4354
4363
  | { name: 'PokeDeposit'; params: { index: number } };
4355
4364
 
4365
+ /**
4366
+ * Contains a variant per dispatchable extrinsic that this pallet has.
4367
+ **/
4368
+ export type PalletMetaTxCall =
4369
+ /**
4370
+ * Dispatch a given meta transaction.
4371
+ *
4372
+ * - `_origin`: Can be any kind of origin.
4373
+ * - `meta_tx`: Meta Transaction with a target call to be dispatched.
4374
+ * - `meta_tx_encoded_len`: The size of the encoded meta transaction in bytes.
4375
+ **/
4376
+ { name: 'Dispatch'; params: { metaTx: PalletMetaTxMetaTx; metaTxEncodedLen: number } };
4377
+
4378
+ export type PalletMetaTxCallLike =
4379
+ /**
4380
+ * Dispatch a given meta transaction.
4381
+ *
4382
+ * - `_origin`: Can be any kind of origin.
4383
+ * - `meta_tx`: Meta Transaction with a target call to be dispatched.
4384
+ * - `meta_tx_encoded_len`: The size of the encoded meta transaction in bytes.
4385
+ **/
4386
+ { name: 'Dispatch'; params: { metaTx: PalletMetaTxMetaTx; metaTxEncodedLen: number } };
4387
+
4388
+ export type PalletMetaTxMetaTx = {
4389
+ call: AssetHubWestendRuntimeRuntimeCall;
4390
+ extensionVersion: number;
4391
+ extension: [
4392
+ PalletVerifySignatureExtensionVerifySignature,
4393
+ PalletMetaTxExtensionMetaTxMarker,
4394
+ FrameSystemExtensionsCheckNonZeroSender,
4395
+ FrameSystemExtensionsCheckSpecVersion,
4396
+ FrameSystemExtensionsCheckTxVersion,
4397
+ FrameSystemExtensionsCheckGenesis,
4398
+ FrameSystemExtensionsCheckMortality,
4399
+ FrameSystemExtensionsCheckNonce,
4400
+ FrameMetadataHashExtensionCheckMetadataHash,
4401
+ ];
4402
+ };
4403
+
4404
+ export type PalletVerifySignatureExtensionVerifySignature =
4405
+ | { type: 'Signed'; value: { signature: SpRuntimeMultiSignature; account: AccountId32 } }
4406
+ | { type: 'Disabled' };
4407
+
4408
+ export type SpRuntimeMultiSignature =
4409
+ | { type: 'Ed25519'; value: FixedBytes<64> }
4410
+ | { type: 'Sr25519'; value: FixedBytes<64> }
4411
+ | { type: 'Ecdsa'; value: FixedBytes<65> }
4412
+ | { type: 'Eth'; value: FixedBytes<65> };
4413
+
4414
+ export type PalletMetaTxExtensionMetaTxMarker = {};
4415
+
4416
+ export type FrameSystemExtensionsCheckNonZeroSender = {};
4417
+
4418
+ export type FrameSystemExtensionsCheckSpecVersion = {};
4419
+
4420
+ export type FrameSystemExtensionsCheckTxVersion = {};
4421
+
4422
+ export type FrameSystemExtensionsCheckGenesis = {};
4423
+
4424
+ export type FrameSystemExtensionsCheckMortality = Era;
4425
+
4426
+ export type FrameSystemExtensionsCheckNonce = number;
4427
+
4428
+ export type FrameMetadataHashExtensionCheckMetadataHash = { mode: FrameMetadataHashExtensionMode };
4429
+
4430
+ export type FrameMetadataHashExtensionMode = 'Disabled' | 'Enabled';
4431
+
4432
+ /**
4433
+ * Contains a variant per dispatchable extrinsic that this pallet has.
4434
+ **/
4435
+ export type PalletParametersCall =
4436
+ /**
4437
+ * Set the value of a parameter.
4438
+ *
4439
+ * The dispatch origin of this call must be `AdminOrigin` for the given `key`. Values be
4440
+ * deleted by setting them to `None`.
4441
+ **/
4442
+ { name: 'SetParameter'; params: { keyValue: AssetHubWestendRuntimeRuntimeParameters } };
4443
+
4444
+ export type PalletParametersCallLike =
4445
+ /**
4446
+ * Set the value of a parameter.
4447
+ *
4448
+ * The dispatch origin of this call must be `AdminOrigin` for the given `key`. Values be
4449
+ * deleted by setting them to `None`.
4450
+ **/
4451
+ { name: 'SetParameter'; params: { keyValue: AssetHubWestendRuntimeRuntimeParameters } };
4452
+
4453
+ export type AssetHubWestendRuntimeRuntimeParameters = {
4454
+ type: 'Pusd';
4455
+ value: AssetHubWestendRuntimeDynamicParamsPusdParameters;
4456
+ };
4457
+
4458
+ export type AssetHubWestendRuntimeDynamicParamsPusdParameters = {
4459
+ type: 'MaximumIssuance';
4460
+ value: [AssetHubWestendRuntimeDynamicParamsPusdMaximumIssuance, bigint | undefined];
4461
+ };
4462
+
4463
+ export type AssetHubWestendRuntimeDynamicParamsPusdMaximumIssuance = {};
4464
+
4356
4465
  /**
4357
4466
  * Contains a variant per dispatchable extrinsic that this pallet has.
4358
4467
  **/
@@ -7916,12 +8025,6 @@ export type PalletNftsPreSignedMint = {
7916
8025
  mintPrice?: bigint | undefined;
7917
8026
  };
7918
8027
 
7919
- export type SpRuntimeMultiSignature =
7920
- | { type: 'Ed25519'; value: FixedBytes<64> }
7921
- | { type: 'Sr25519'; value: FixedBytes<64> }
7922
- | { type: 'Ecdsa'; value: FixedBytes<65> }
7923
- | { type: 'Eth'; value: FixedBytes<65> };
7924
-
7925
8028
  export type PalletNftsPreSignedAttributes = {
7926
8029
  collection: number;
7927
8030
  item: number;
@@ -10833,6 +10936,9 @@ export type PalletReviveCall =
10833
10936
  *
10834
10937
  * This will error if the origin is already mapped or is a eth native `Address20`. It will
10835
10938
  * take a deposit that can be released by calling [`Self::unmap_account`].
10939
+ *
10940
+ * Noop when [`Config::AutoMap`] is enabled, as accounts are automatically mapped
10941
+ * on creation via [`AutoMapper`].
10836
10942
  **/
10837
10943
  | { name: 'MapAccount' }
10838
10944
  /**
@@ -10840,6 +10946,9 @@ export type PalletReviveCall =
10840
10946
  *
10841
10947
  * There is no reason to ever call this function other than freeing up the deposit.
10842
10948
  * This is only useful when the account should no longer be used.
10949
+ *
10950
+ * Disabled when [`Config::AutoMap`] is enabled, as accounts are automatically unmapped
10951
+ * on kill via [`AutoMapper`].
10843
10952
  **/
10844
10953
  | { name: 'UnmapAccount' }
10845
10954
  /**
@@ -11075,6 +11184,9 @@ export type PalletReviveCallLike =
11075
11184
  *
11076
11185
  * This will error if the origin is already mapped or is a eth native `Address20`. It will
11077
11186
  * take a deposit that can be released by calling [`Self::unmap_account`].
11187
+ *
11188
+ * Noop when [`Config::AutoMap`] is enabled, as accounts are automatically mapped
11189
+ * on creation via [`AutoMapper`].
11078
11190
  **/
11079
11191
  | { name: 'MapAccount' }
11080
11192
  /**
@@ -11082,6 +11194,9 @@ export type PalletReviveCallLike =
11082
11194
  *
11083
11195
  * There is no reason to ever call this function other than freeing up the deposit.
11084
11196
  * This is only useful when the account should no longer be used.
11197
+ *
11198
+ * Disabled when [`Config::AutoMap`] is enabled, as accounts are automatically unmapped
11199
+ * on kill via [`AutoMapper`].
11085
11200
  **/
11086
11201
  | { name: 'UnmapAccount' }
11087
11202
  /**
@@ -11285,214 +11400,653 @@ export type FrameSupportScheduleDispatchTime = { type: 'At'; value: number } | {
11285
11400
  /**
11286
11401
  * Contains a variant per dispatchable extrinsic that this pallet has.
11287
11402
  **/
11288
- export type PalletStateTrieMigrationCall =
11403
+ export type PalletPsmCall =
11289
11404
  /**
11290
- * Control the automatic migration.
11405
+ * Swap external stablecoin for pUSD.
11291
11406
  *
11292
- * The dispatch origin of this call must be [`Config::ControlOrigin`].
11293
- **/
11294
- | { name: 'ControlAutoMigration'; params: { maybeConfig?: PalletStateTrieMigrationMigrationLimits | undefined } }
11295
- /**
11296
- * Continue the migration for the given `limits`.
11407
+ * ## Dispatch Origin
11297
11408
  *
11298
- * The dispatch origin of this call can be any signed account.
11409
+ * Must be `Signed` by the user performing the swap.
11299
11410
  *
11300
- * This transaction has NO MONETARY INCENTIVES. calling it will not reward anyone. Albeit,
11301
- * Upon successful execution, the transaction fee is returned.
11411
+ * ## Details
11302
11412
  *
11303
- * The (potentially over-estimated) of the byte length of all the data read must be
11304
- * provided for up-front fee-payment and weighing. In essence, the caller is guaranteeing
11305
- * that executing the current `MigrationTask` with the given `limits` will not exceed
11306
- * `real_size_upper` bytes of read data.
11413
+ * Transfers `external_amount` of the specified external stablecoin from the caller
11414
+ * to the PSM account, then mints pUSD to the caller minus the minting fee.
11415
+ * The fee is calculated using ceiling rounding (`mul_ceil`), ensuring the
11416
+ * protocol never undercharges. The fee is transferred to [`Config::FeeDestination`].
11307
11417
  *
11308
- * The `witness_task` is merely a helper to prevent the caller from being slashed or
11309
- * generally trigger a migration that they do not intend. This parameter is just a message
11310
- * from caller, saying that they believed `witness_task` was the last state of the
11311
- * migration, and they only wish for their transaction to do anything, if this assumption
11312
- * holds. In case `witness_task` does not match, the transaction fails.
11418
+ * ## Parameters
11313
11419
  *
11314
- * Based on the documentation of [`MigrationTask::migrate_until_exhaustion`], the
11315
- * recommended way of doing this is to pass a `limit` that only bounds `count`, as the
11316
- * `size` limit can always be overwritten.
11317
- **/
11318
- | {
11319
- name: 'ContinueMigrate';
11320
- params: {
11321
- limits: PalletStateTrieMigrationMigrationLimits;
11322
- realSizeUpper: number;
11323
- witnessTask: PalletStateTrieMigrationMigrationTask;
11324
- };
11325
- }
11326
- /**
11327
- * Migrate the list of top keys by iterating each of them one by one.
11420
+ * - `asset_id`: The external stablecoin to deposit (must be in `ExternalAssets`)
11421
+ * - `external_amount`: Amount of external stablecoin to deposit
11328
11422
  *
11329
- * This does not affect the global migration process tracker ([`MigrationProcess`]), and
11330
- * should only be used in case any keys are leftover due to a bug.
11331
- **/
11332
- | { name: 'MigrateCustomTop'; params: { keys: Array<Bytes>; witnessSize: number } }
11333
- /**
11334
- * Migrate the list of child keys by iterating each of them one by one.
11423
+ * ## Errors
11335
11424
  *
11336
- * All of the given child keys must be present under one `child_root`.
11425
+ * - [`Error::UnsupportedAsset`]: If `asset_id` is not an approved external stablecoin
11426
+ * - [`Error::MintingStopped`]: If circuit breaker is at `MintingDisabled` or higher
11427
+ * - [`Error::BelowMinimumSwap`]: If `external_amount` is below [`Config::MinSwapAmount`]
11428
+ * - [`Error::ExceedsMaxIssuance`]: If minting would exceed system-wide pUSD issuance cap
11429
+ * - [`Error::ExceedsMaxPsmDebt`]: If minting would exceed PSM debt ceiling (aggregate or
11430
+ * per-asset)
11337
11431
  *
11338
- * This does not affect the global migration process tracker ([`MigrationProcess`]), and
11339
- * should only be used in case any keys are leftover due to a bug.
11340
- **/
11341
- | { name: 'MigrateCustomChild'; params: { root: Bytes; childKeys: Array<Bytes>; totalSize: number } }
11342
- /**
11343
- * Set the maximum limit of the signed migration.
11432
+ * ## Events
11433
+ *
11434
+ * - [`Event::Minted`]: Emitted on successful mint
11344
11435
  **/
11345
- | { name: 'SetSignedMaxLimits'; params: { limits: PalletStateTrieMigrationMigrationLimits } }
11436
+ | { name: 'Mint'; params: { assetId: number; externalAmount: bigint } }
11346
11437
  /**
11347
- * Forcefully set the progress the running migration.
11438
+ * Swap pUSD for external stablecoin.
11348
11439
  *
11349
- * This is only useful in one case: the next key to migrate is too big to be migrated with
11350
- * a signed account, in a parachain context, and we simply want to skip it. A reasonable
11351
- * example of this would be `:code:`, which is both very expensive to migrate, and commonly
11352
- * used, so probably it is already migrated.
11440
+ * ## Dispatch Origin
11353
11441
  *
11354
- * In case you mess things up, you can also, in principle, use this to reset the migration
11355
- * process.
11356
- **/
11357
- | {
11358
- name: 'ForceSetProgress';
11359
- params: { progressTop: PalletStateTrieMigrationProgress; progressChild: PalletStateTrieMigrationProgress };
11360
- };
11361
-
11362
- export type PalletStateTrieMigrationCallLike =
11363
- /**
11364
- * Control the automatic migration.
11442
+ * Must be `Signed` by the user performing the swap.
11365
11443
  *
11366
- * The dispatch origin of this call must be [`Config::ControlOrigin`].
11367
- **/
11368
- | { name: 'ControlAutoMigration'; params: { maybeConfig?: PalletStateTrieMigrationMigrationLimits | undefined } }
11369
- /**
11370
- * Continue the migration for the given `limits`.
11444
+ * ## Details
11371
11445
  *
11372
- * The dispatch origin of this call can be any signed account.
11446
+ * Burns `pusd_amount` pUSD from the caller minus fee (transferred to
11447
+ * [`Config::FeeDestination`]), then transfers the resulting amount in external
11448
+ * stablecoin from PSM to the caller. The fee is calculated using ceiling rounding
11449
+ * (`mul_ceil`), ensuring the protocol never undercharges.
11373
11450
  *
11374
- * This transaction has NO MONETARY INCENTIVES. calling it will not reward anyone. Albeit,
11375
- * Upon successful execution, the transaction fee is returned.
11451
+ * ## Parameters
11376
11452
  *
11377
- * The (potentially over-estimated) of the byte length of all the data read must be
11378
- * provided for up-front fee-payment and weighing. In essence, the caller is guaranteeing
11379
- * that executing the current `MigrationTask` with the given `limits` will not exceed
11380
- * `real_size_upper` bytes of read data.
11453
+ * - `asset_id`: The external stablecoin to receive (must be in `ExternalAssets`)
11454
+ * - `pusd_amount`: Amount of pUSD to redeem
11381
11455
  *
11382
- * The `witness_task` is merely a helper to prevent the caller from being slashed or
11383
- * generally trigger a migration that they do not intend. This parameter is just a message
11384
- * from caller, saying that they believed `witness_task` was the last state of the
11385
- * migration, and they only wish for their transaction to do anything, if this assumption
11386
- * holds. In case `witness_task` does not match, the transaction fails.
11456
+ * ## Errors
11387
11457
  *
11388
- * Based on the documentation of [`MigrationTask::migrate_until_exhaustion`], the
11389
- * recommended way of doing this is to pass a `limit` that only bounds `count`, as the
11390
- * `size` limit can always be overwritten.
11391
- **/
11392
- | {
11393
- name: 'ContinueMigrate';
11394
- params: {
11395
- limits: PalletStateTrieMigrationMigrationLimits;
11396
- realSizeUpper: number;
11397
- witnessTask: PalletStateTrieMigrationMigrationTask;
11398
- };
11399
- }
11400
- /**
11401
- * Migrate the list of top keys by iterating each of them one by one.
11458
+ * - [`Error::UnsupportedAsset`]: If `asset_id` is not an approved external stablecoin
11459
+ * - [`Error::AllSwapsStopped`]: If circuit breaker is at `AllDisabled`
11460
+ * - [`Error::BelowMinimumSwap`]: If `pusd_amount` is below [`Config::MinSwapAmount`]
11461
+ * - [`Error::InsufficientReserve`]: If PSM has insufficient external stablecoin
11402
11462
  *
11403
- * This does not affect the global migration process tracker ([`MigrationProcess`]), and
11404
- * should only be used in case any keys are leftover due to a bug.
11463
+ * ## Events
11464
+ *
11465
+ * - [`Event::Redeemed`]: Emitted on successful redemption
11405
11466
  **/
11406
- | { name: 'MigrateCustomTop'; params: { keys: Array<BytesLike>; witnessSize: number } }
11467
+ | { name: 'Redeem'; params: { assetId: number; pusdAmount: bigint } }
11407
11468
  /**
11408
- * Migrate the list of child keys by iterating each of them one by one.
11469
+ * Set the minting fee for a specific asset (external pUSD).
11409
11470
  *
11410
- * All of the given child keys must be present under one `child_root`.
11471
+ * ## Dispatch Origin
11411
11472
  *
11412
- * This does not affect the global migration process tracker ([`MigrationProcess`]), and
11413
- * should only be used in case any keys are leftover due to a bug.
11414
- **/
11415
- | { name: 'MigrateCustomChild'; params: { root: BytesLike; childKeys: Array<BytesLike>; totalSize: number } }
11416
- /**
11417
- * Set the maximum limit of the signed migration.
11418
- **/
11419
- | { name: 'SetSignedMaxLimits'; params: { limits: PalletStateTrieMigrationMigrationLimits } }
11420
- /**
11421
- * Forcefully set the progress the running migration.
11473
+ * Must be [`Config::ManagerOrigin`].
11422
11474
  *
11423
- * This is only useful in one case: the next key to migrate is too big to be migrated with
11424
- * a signed account, in a parachain context, and we simply want to skip it. A reasonable
11425
- * example of this would be `:code:`, which is both very expensive to migrate, and commonly
11426
- * used, so probably it is already migrated.
11475
+ * ## Parameters
11427
11476
  *
11428
- * In case you mess things up, you can also, in principle, use this to reset the migration
11429
- * process.
11477
+ * - `asset_id`: The external stablecoin to configure
11478
+ * - `fee`: The new minting fee as a Permill
11479
+ *
11480
+ * ## Events
11481
+ *
11482
+ * - [`Event::MintingFeeUpdated`]: Emitted with old and new values
11430
11483
  **/
11431
- | {
11432
- name: 'ForceSetProgress';
11433
- params: { progressTop: PalletStateTrieMigrationProgress; progressChild: PalletStateTrieMigrationProgress };
11434
- };
11435
-
11436
- export type PalletStateTrieMigrationMigrationLimits = { size: number; item: number };
11437
-
11438
- export type PalletStateTrieMigrationMigrationTask = {
11439
- progressTop: PalletStateTrieMigrationProgress;
11440
- progressChild: PalletStateTrieMigrationProgress;
11441
- size: number;
11442
- topItems: number;
11443
- childItems: number;
11444
- };
11445
-
11446
- export type PalletStateTrieMigrationProgress =
11447
- | { type: 'ToStart' }
11448
- | { type: 'LastKey'; value: Bytes }
11449
- | { type: 'Complete' };
11450
-
11451
- /**
11452
- * Contains a variant per dispatchable extrinsic that this pallet has.
11453
- **/
11454
- export type PalletStakingAsyncPalletCall =
11484
+ | { name: 'SetMintingFee'; params: { assetId: number; fee: Permill } }
11455
11485
  /**
11456
- * Take the origin account as a stash and lock up `value` of its balance. `controller` will
11457
- * be the account that controls it.
11486
+ * Set the redemption fee for a specific asset (pUSD external).
11458
11487
  *
11459
- * `value` must be more than the `minimum_balance` specified by `T::Currency`.
11488
+ * ## Dispatch Origin
11460
11489
  *
11461
- * The dispatch origin for this call must be _Signed_ by the stash account.
11490
+ * Must be [`Config::ManagerOrigin`].
11462
11491
  *
11463
- * Emits `Bonded`.
11492
+ * ## Parameters
11464
11493
  *
11465
- * NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned
11466
- * unless the `origin` falls below _existential deposit_ (or equal to 0) and gets removed
11467
- * as dust.
11494
+ * - `asset_id`: The external stablecoin to configure
11495
+ * - `fee`: The new redemption fee as a Permill
11496
+ *
11497
+ * ## Events
11498
+ *
11499
+ * - [`Event::RedemptionFeeUpdated`]: Emitted with old and new values
11468
11500
  **/
11469
- | { name: 'Bond'; params: { value: bigint; payee: PalletStakingAsyncRewardDestination } }
11501
+ | { name: 'SetRedemptionFee'; params: { assetId: number; fee: Permill } }
11470
11502
  /**
11471
- * Add some extra amount that have appeared in the stash `free_balance` into the balance up
11472
- * for staking.
11503
+ * Set the maximum PSM debt as a percentage of total maximum issuance.
11473
11504
  *
11474
- * The dispatch origin for this call must be _Signed_ by the stash, not the controller.
11505
+ * ## Dispatch Origin
11475
11506
  *
11476
- * Use this if there are additional funds in your stash account that you wish to bond.
11477
- * Unlike [`bond`](Self::bond) or [`unbond`](Self::unbond) this function does not impose
11478
- * any limitation on the amount that can be added.
11507
+ * Must be [`Config::ManagerOrigin`].
11479
11508
  *
11480
- * Emits `Bonded`.
11509
+ * ## Events
11510
+ *
11511
+ * - [`Event::MaxPsmDebtOfTotalUpdated`]: Emitted with old and new values
11481
11512
  **/
11482
- | { name: 'BondExtra'; params: { maxAdditional: bigint } }
11513
+ | { name: 'SetMaxPsmDebt'; params: { ratio: Permill } }
11483
11514
  /**
11484
- * Schedule a portion of the stash to be unlocked ready for transfer out after the bond
11485
- * period ends. If this leaves an amount actively bonded less than
11486
- * [`asset::existential_deposit`], then it is increased to the full amount.
11515
+ * Set the circuit breaker status for a specific external asset.
11487
11516
  *
11488
- * The dispatch origin for this call must be _Signed_ by the controller, not the stash.
11517
+ * ## Dispatch Origin
11489
11518
  *
11490
- * Once the unlock period is done, you can call `withdraw_unbonded` to actually move
11491
- * the funds out of management ready for transfer.
11519
+ * Must be [`Config::ManagerOrigin`].
11492
11520
  *
11493
- * No more than a limited number of unlocking chunks (see `MaxUnlockingChunks`)
11494
- * can co-exists at the same time. If there are no unlocking chunks slots available
11495
- * [`Call::withdraw_unbonded`] is called to remove some of the chunks (if possible).
11521
+ * ## Details
11522
+ *
11523
+ * Controls which operations are allowed for this asset:
11524
+ * - [`CircuitBreakerLevel::AllEnabled`]: All swaps allowed
11525
+ * - [`CircuitBreakerLevel::MintingDisabled`]: Only redemptions allowed (useful for
11526
+ * draining debt)
11527
+ * - [`CircuitBreakerLevel::AllDisabled`]: No swaps allowed
11528
+ *
11529
+ * ## Parameters
11530
+ *
11531
+ * - `asset_id`: The external stablecoin to configure
11532
+ * - `status`: The new circuit breaker level for this asset
11533
+ *
11534
+ * ## Errors
11535
+ *
11536
+ * - [`Error::AssetNotApproved`]: If the asset is not in the approved list
11537
+ *
11538
+ * ## Events
11539
+ *
11540
+ * - [`Event::AssetStatusUpdated`]: Emitted with the asset ID and new status
11541
+ **/
11542
+ | { name: 'SetAssetStatus'; params: { assetId: number; status: PalletPsmCircuitBreakerLevel } }
11543
+ /**
11544
+ * Set the per-asset debt ceiling weight.
11545
+ *
11546
+ * ## Dispatch Origin
11547
+ *
11548
+ * Must be [`Config::ManagerOrigin`].
11549
+ *
11550
+ * ## Details
11551
+ *
11552
+ * Ratios act as weights normalized against the sum of all asset weights:
11553
+ * `max_asset_debt = (ratio / sum_of_all_ratios) * MaxPsmDebtOfTotal * MaximumIssuance`
11554
+ *
11555
+ * With a single asset, the weight always normalizes to 100% of the PSM
11556
+ * ceiling.
11557
+ *
11558
+ * ## Parameters
11559
+ *
11560
+ * - `asset_id`: The external stablecoin to configure
11561
+ * - `ratio`: Weight for this asset's share of the total PSM ceiling
11562
+ *
11563
+ * ## Events
11564
+ *
11565
+ * - [`Event::AssetCeilingWeightUpdated`]: Emitted with old and new values
11566
+ **/
11567
+ | { name: 'SetAssetCeilingWeight'; params: { assetId: number; weight: Permill } }
11568
+ /**
11569
+ * Add an external stablecoin to the approved list.
11570
+ *
11571
+ * ## Dispatch Origin
11572
+ *
11573
+ * Must be [`Config::ManagerOrigin`].
11574
+ *
11575
+ * ## Parameters
11576
+ *
11577
+ * - `asset_id`: The external stablecoin to add
11578
+ *
11579
+ * ## Errors
11580
+ *
11581
+ * - [`Error::AssetAlreadyApproved`]: If the asset is already in the approved list
11582
+ *
11583
+ * ## Events
11584
+ *
11585
+ * - [`Event::ExternalAssetAdded`]: Emitted on successful addition
11586
+ **/
11587
+ | { name: 'AddExternalAsset'; params: { assetId: number } }
11588
+ /**
11589
+ * Remove an external stablecoin from the approved list.
11590
+ *
11591
+ * ## Dispatch Origin
11592
+ *
11593
+ * Must be [`Config::ManagerOrigin`].
11594
+ *
11595
+ * ## Details
11596
+ *
11597
+ * The asset cannot be removed if it has non-zero PSM debt outstanding.
11598
+ * This prevents orphaned debt that cannot be redeemed.
11599
+ *
11600
+ * Upon removal, the associated configuration is also cleaned up:
11601
+ * - `MintingFee` for this asset
11602
+ * - `RedemptionFee` for this asset
11603
+ * - `AssetCeilingWeight` for this asset
11604
+ *
11605
+ * ## Parameters
11606
+ *
11607
+ * - `asset_id`: The external stablecoin to remove
11608
+ *
11609
+ * ## Errors
11610
+ *
11611
+ * - [`Error::AssetNotApproved`]: If the asset is not in the approved list
11612
+ * - [`Error::AssetHasDebt`]: If the asset has non-zero PSM debt
11613
+ *
11614
+ * ## Events
11615
+ *
11616
+ * - [`Event::ExternalAssetRemoved`]: Emitted on successful removal
11617
+ **/
11618
+ | { name: 'RemoveExternalAsset'; params: { assetId: number } };
11619
+
11620
+ export type PalletPsmCallLike =
11621
+ /**
11622
+ * Swap external stablecoin for pUSD.
11623
+ *
11624
+ * ## Dispatch Origin
11625
+ *
11626
+ * Must be `Signed` by the user performing the swap.
11627
+ *
11628
+ * ## Details
11629
+ *
11630
+ * Transfers `external_amount` of the specified external stablecoin from the caller
11631
+ * to the PSM account, then mints pUSD to the caller minus the minting fee.
11632
+ * The fee is calculated using ceiling rounding (`mul_ceil`), ensuring the
11633
+ * protocol never undercharges. The fee is transferred to [`Config::FeeDestination`].
11634
+ *
11635
+ * ## Parameters
11636
+ *
11637
+ * - `asset_id`: The external stablecoin to deposit (must be in `ExternalAssets`)
11638
+ * - `external_amount`: Amount of external stablecoin to deposit
11639
+ *
11640
+ * ## Errors
11641
+ *
11642
+ * - [`Error::UnsupportedAsset`]: If `asset_id` is not an approved external stablecoin
11643
+ * - [`Error::MintingStopped`]: If circuit breaker is at `MintingDisabled` or higher
11644
+ * - [`Error::BelowMinimumSwap`]: If `external_amount` is below [`Config::MinSwapAmount`]
11645
+ * - [`Error::ExceedsMaxIssuance`]: If minting would exceed system-wide pUSD issuance cap
11646
+ * - [`Error::ExceedsMaxPsmDebt`]: If minting would exceed PSM debt ceiling (aggregate or
11647
+ * per-asset)
11648
+ *
11649
+ * ## Events
11650
+ *
11651
+ * - [`Event::Minted`]: Emitted on successful mint
11652
+ **/
11653
+ | { name: 'Mint'; params: { assetId: number; externalAmount: bigint } }
11654
+ /**
11655
+ * Swap pUSD for external stablecoin.
11656
+ *
11657
+ * ## Dispatch Origin
11658
+ *
11659
+ * Must be `Signed` by the user performing the swap.
11660
+ *
11661
+ * ## Details
11662
+ *
11663
+ * Burns `pusd_amount` pUSD from the caller minus fee (transferred to
11664
+ * [`Config::FeeDestination`]), then transfers the resulting amount in external
11665
+ * stablecoin from PSM to the caller. The fee is calculated using ceiling rounding
11666
+ * (`mul_ceil`), ensuring the protocol never undercharges.
11667
+ *
11668
+ * ## Parameters
11669
+ *
11670
+ * - `asset_id`: The external stablecoin to receive (must be in `ExternalAssets`)
11671
+ * - `pusd_amount`: Amount of pUSD to redeem
11672
+ *
11673
+ * ## Errors
11674
+ *
11675
+ * - [`Error::UnsupportedAsset`]: If `asset_id` is not an approved external stablecoin
11676
+ * - [`Error::AllSwapsStopped`]: If circuit breaker is at `AllDisabled`
11677
+ * - [`Error::BelowMinimumSwap`]: If `pusd_amount` is below [`Config::MinSwapAmount`]
11678
+ * - [`Error::InsufficientReserve`]: If PSM has insufficient external stablecoin
11679
+ *
11680
+ * ## Events
11681
+ *
11682
+ * - [`Event::Redeemed`]: Emitted on successful redemption
11683
+ **/
11684
+ | { name: 'Redeem'; params: { assetId: number; pusdAmount: bigint } }
11685
+ /**
11686
+ * Set the minting fee for a specific asset (external → pUSD).
11687
+ *
11688
+ * ## Dispatch Origin
11689
+ *
11690
+ * Must be [`Config::ManagerOrigin`].
11691
+ *
11692
+ * ## Parameters
11693
+ *
11694
+ * - `asset_id`: The external stablecoin to configure
11695
+ * - `fee`: The new minting fee as a Permill
11696
+ *
11697
+ * ## Events
11698
+ *
11699
+ * - [`Event::MintingFeeUpdated`]: Emitted with old and new values
11700
+ **/
11701
+ | { name: 'SetMintingFee'; params: { assetId: number; fee: Permill } }
11702
+ /**
11703
+ * Set the redemption fee for a specific asset (pUSD → external).
11704
+ *
11705
+ * ## Dispatch Origin
11706
+ *
11707
+ * Must be [`Config::ManagerOrigin`].
11708
+ *
11709
+ * ## Parameters
11710
+ *
11711
+ * - `asset_id`: The external stablecoin to configure
11712
+ * - `fee`: The new redemption fee as a Permill
11713
+ *
11714
+ * ## Events
11715
+ *
11716
+ * - [`Event::RedemptionFeeUpdated`]: Emitted with old and new values
11717
+ **/
11718
+ | { name: 'SetRedemptionFee'; params: { assetId: number; fee: Permill } }
11719
+ /**
11720
+ * Set the maximum PSM debt as a percentage of total maximum issuance.
11721
+ *
11722
+ * ## Dispatch Origin
11723
+ *
11724
+ * Must be [`Config::ManagerOrigin`].
11725
+ *
11726
+ * ## Events
11727
+ *
11728
+ * - [`Event::MaxPsmDebtOfTotalUpdated`]: Emitted with old and new values
11729
+ **/
11730
+ | { name: 'SetMaxPsmDebt'; params: { ratio: Permill } }
11731
+ /**
11732
+ * Set the circuit breaker status for a specific external asset.
11733
+ *
11734
+ * ## Dispatch Origin
11735
+ *
11736
+ * Must be [`Config::ManagerOrigin`].
11737
+ *
11738
+ * ## Details
11739
+ *
11740
+ * Controls which operations are allowed for this asset:
11741
+ * - [`CircuitBreakerLevel::AllEnabled`]: All swaps allowed
11742
+ * - [`CircuitBreakerLevel::MintingDisabled`]: Only redemptions allowed (useful for
11743
+ * draining debt)
11744
+ * - [`CircuitBreakerLevel::AllDisabled`]: No swaps allowed
11745
+ *
11746
+ * ## Parameters
11747
+ *
11748
+ * - `asset_id`: The external stablecoin to configure
11749
+ * - `status`: The new circuit breaker level for this asset
11750
+ *
11751
+ * ## Errors
11752
+ *
11753
+ * - [`Error::AssetNotApproved`]: If the asset is not in the approved list
11754
+ *
11755
+ * ## Events
11756
+ *
11757
+ * - [`Event::AssetStatusUpdated`]: Emitted with the asset ID and new status
11758
+ **/
11759
+ | { name: 'SetAssetStatus'; params: { assetId: number; status: PalletPsmCircuitBreakerLevel } }
11760
+ /**
11761
+ * Set the per-asset debt ceiling weight.
11762
+ *
11763
+ * ## Dispatch Origin
11764
+ *
11765
+ * Must be [`Config::ManagerOrigin`].
11766
+ *
11767
+ * ## Details
11768
+ *
11769
+ * Ratios act as weights normalized against the sum of all asset weights:
11770
+ * `max_asset_debt = (ratio / sum_of_all_ratios) * MaxPsmDebtOfTotal * MaximumIssuance`
11771
+ *
11772
+ * With a single asset, the weight always normalizes to 100% of the PSM
11773
+ * ceiling.
11774
+ *
11775
+ * ## Parameters
11776
+ *
11777
+ * - `asset_id`: The external stablecoin to configure
11778
+ * - `ratio`: Weight for this asset's share of the total PSM ceiling
11779
+ *
11780
+ * ## Events
11781
+ *
11782
+ * - [`Event::AssetCeilingWeightUpdated`]: Emitted with old and new values
11783
+ **/
11784
+ | { name: 'SetAssetCeilingWeight'; params: { assetId: number; weight: Permill } }
11785
+ /**
11786
+ * Add an external stablecoin to the approved list.
11787
+ *
11788
+ * ## Dispatch Origin
11789
+ *
11790
+ * Must be [`Config::ManagerOrigin`].
11791
+ *
11792
+ * ## Parameters
11793
+ *
11794
+ * - `asset_id`: The external stablecoin to add
11795
+ *
11796
+ * ## Errors
11797
+ *
11798
+ * - [`Error::AssetAlreadyApproved`]: If the asset is already in the approved list
11799
+ *
11800
+ * ## Events
11801
+ *
11802
+ * - [`Event::ExternalAssetAdded`]: Emitted on successful addition
11803
+ **/
11804
+ | { name: 'AddExternalAsset'; params: { assetId: number } }
11805
+ /**
11806
+ * Remove an external stablecoin from the approved list.
11807
+ *
11808
+ * ## Dispatch Origin
11809
+ *
11810
+ * Must be [`Config::ManagerOrigin`].
11811
+ *
11812
+ * ## Details
11813
+ *
11814
+ * The asset cannot be removed if it has non-zero PSM debt outstanding.
11815
+ * This prevents orphaned debt that cannot be redeemed.
11816
+ *
11817
+ * Upon removal, the associated configuration is also cleaned up:
11818
+ * - `MintingFee` for this asset
11819
+ * - `RedemptionFee` for this asset
11820
+ * - `AssetCeilingWeight` for this asset
11821
+ *
11822
+ * ## Parameters
11823
+ *
11824
+ * - `asset_id`: The external stablecoin to remove
11825
+ *
11826
+ * ## Errors
11827
+ *
11828
+ * - [`Error::AssetNotApproved`]: If the asset is not in the approved list
11829
+ * - [`Error::AssetHasDebt`]: If the asset has non-zero PSM debt
11830
+ *
11831
+ * ## Events
11832
+ *
11833
+ * - [`Event::ExternalAssetRemoved`]: Emitted on successful removal
11834
+ **/
11835
+ | { name: 'RemoveExternalAsset'; params: { assetId: number } };
11836
+
11837
+ export type PalletPsmCircuitBreakerLevel = 'AllEnabled' | 'MintingDisabled' | 'AllDisabled';
11838
+
11839
+ /**
11840
+ * Contains a variant per dispatchable extrinsic that this pallet has.
11841
+ **/
11842
+ export type PalletStateTrieMigrationCall =
11843
+ /**
11844
+ * Control the automatic migration.
11845
+ *
11846
+ * The dispatch origin of this call must be [`Config::ControlOrigin`].
11847
+ **/
11848
+ | { name: 'ControlAutoMigration'; params: { maybeConfig?: PalletStateTrieMigrationMigrationLimits | undefined } }
11849
+ /**
11850
+ * Continue the migration for the given `limits`.
11851
+ *
11852
+ * The dispatch origin of this call can be any signed account.
11853
+ *
11854
+ * This transaction has NO MONETARY INCENTIVES. calling it will not reward anyone. Albeit,
11855
+ * Upon successful execution, the transaction fee is returned.
11856
+ *
11857
+ * The (potentially over-estimated) of the byte length of all the data read must be
11858
+ * provided for up-front fee-payment and weighing. In essence, the caller is guaranteeing
11859
+ * that executing the current `MigrationTask` with the given `limits` will not exceed
11860
+ * `real_size_upper` bytes of read data.
11861
+ *
11862
+ * The `witness_task` is merely a helper to prevent the caller from being slashed or
11863
+ * generally trigger a migration that they do not intend. This parameter is just a message
11864
+ * from caller, saying that they believed `witness_task` was the last state of the
11865
+ * migration, and they only wish for their transaction to do anything, if this assumption
11866
+ * holds. In case `witness_task` does not match, the transaction fails.
11867
+ *
11868
+ * Based on the documentation of [`MigrationTask::migrate_until_exhaustion`], the
11869
+ * recommended way of doing this is to pass a `limit` that only bounds `count`, as the
11870
+ * `size` limit can always be overwritten.
11871
+ **/
11872
+ | {
11873
+ name: 'ContinueMigrate';
11874
+ params: {
11875
+ limits: PalletStateTrieMigrationMigrationLimits;
11876
+ realSizeUpper: number;
11877
+ witnessTask: PalletStateTrieMigrationMigrationTask;
11878
+ };
11879
+ }
11880
+ /**
11881
+ * Migrate the list of top keys by iterating each of them one by one.
11882
+ *
11883
+ * This does not affect the global migration process tracker ([`MigrationProcess`]), and
11884
+ * should only be used in case any keys are leftover due to a bug.
11885
+ **/
11886
+ | { name: 'MigrateCustomTop'; params: { keys: Array<Bytes>; witnessSize: number } }
11887
+ /**
11888
+ * Migrate the list of child keys by iterating each of them one by one.
11889
+ *
11890
+ * All of the given child keys must be present under one `child_root`.
11891
+ *
11892
+ * This does not affect the global migration process tracker ([`MigrationProcess`]), and
11893
+ * should only be used in case any keys are leftover due to a bug.
11894
+ **/
11895
+ | { name: 'MigrateCustomChild'; params: { root: Bytes; childKeys: Array<Bytes>; totalSize: number } }
11896
+ /**
11897
+ * Set the maximum limit of the signed migration.
11898
+ **/
11899
+ | { name: 'SetSignedMaxLimits'; params: { limits: PalletStateTrieMigrationMigrationLimits } }
11900
+ /**
11901
+ * Forcefully set the progress the running migration.
11902
+ *
11903
+ * This is only useful in one case: the next key to migrate is too big to be migrated with
11904
+ * a signed account, in a parachain context, and we simply want to skip it. A reasonable
11905
+ * example of this would be `:code:`, which is both very expensive to migrate, and commonly
11906
+ * used, so probably it is already migrated.
11907
+ *
11908
+ * In case you mess things up, you can also, in principle, use this to reset the migration
11909
+ * process.
11910
+ **/
11911
+ | {
11912
+ name: 'ForceSetProgress';
11913
+ params: { progressTop: PalletStateTrieMigrationProgress; progressChild: PalletStateTrieMigrationProgress };
11914
+ };
11915
+
11916
+ export type PalletStateTrieMigrationCallLike =
11917
+ /**
11918
+ * Control the automatic migration.
11919
+ *
11920
+ * The dispatch origin of this call must be [`Config::ControlOrigin`].
11921
+ **/
11922
+ | { name: 'ControlAutoMigration'; params: { maybeConfig?: PalletStateTrieMigrationMigrationLimits | undefined } }
11923
+ /**
11924
+ * Continue the migration for the given `limits`.
11925
+ *
11926
+ * The dispatch origin of this call can be any signed account.
11927
+ *
11928
+ * This transaction has NO MONETARY INCENTIVES. calling it will not reward anyone. Albeit,
11929
+ * Upon successful execution, the transaction fee is returned.
11930
+ *
11931
+ * The (potentially over-estimated) of the byte length of all the data read must be
11932
+ * provided for up-front fee-payment and weighing. In essence, the caller is guaranteeing
11933
+ * that executing the current `MigrationTask` with the given `limits` will not exceed
11934
+ * `real_size_upper` bytes of read data.
11935
+ *
11936
+ * The `witness_task` is merely a helper to prevent the caller from being slashed or
11937
+ * generally trigger a migration that they do not intend. This parameter is just a message
11938
+ * from caller, saying that they believed `witness_task` was the last state of the
11939
+ * migration, and they only wish for their transaction to do anything, if this assumption
11940
+ * holds. In case `witness_task` does not match, the transaction fails.
11941
+ *
11942
+ * Based on the documentation of [`MigrationTask::migrate_until_exhaustion`], the
11943
+ * recommended way of doing this is to pass a `limit` that only bounds `count`, as the
11944
+ * `size` limit can always be overwritten.
11945
+ **/
11946
+ | {
11947
+ name: 'ContinueMigrate';
11948
+ params: {
11949
+ limits: PalletStateTrieMigrationMigrationLimits;
11950
+ realSizeUpper: number;
11951
+ witnessTask: PalletStateTrieMigrationMigrationTask;
11952
+ };
11953
+ }
11954
+ /**
11955
+ * Migrate the list of top keys by iterating each of them one by one.
11956
+ *
11957
+ * This does not affect the global migration process tracker ([`MigrationProcess`]), and
11958
+ * should only be used in case any keys are leftover due to a bug.
11959
+ **/
11960
+ | { name: 'MigrateCustomTop'; params: { keys: Array<BytesLike>; witnessSize: number } }
11961
+ /**
11962
+ * Migrate the list of child keys by iterating each of them one by one.
11963
+ *
11964
+ * All of the given child keys must be present under one `child_root`.
11965
+ *
11966
+ * This does not affect the global migration process tracker ([`MigrationProcess`]), and
11967
+ * should only be used in case any keys are leftover due to a bug.
11968
+ **/
11969
+ | { name: 'MigrateCustomChild'; params: { root: BytesLike; childKeys: Array<BytesLike>; totalSize: number } }
11970
+ /**
11971
+ * Set the maximum limit of the signed migration.
11972
+ **/
11973
+ | { name: 'SetSignedMaxLimits'; params: { limits: PalletStateTrieMigrationMigrationLimits } }
11974
+ /**
11975
+ * Forcefully set the progress the running migration.
11976
+ *
11977
+ * This is only useful in one case: the next key to migrate is too big to be migrated with
11978
+ * a signed account, in a parachain context, and we simply want to skip it. A reasonable
11979
+ * example of this would be `:code:`, which is both very expensive to migrate, and commonly
11980
+ * used, so probably it is already migrated.
11981
+ *
11982
+ * In case you mess things up, you can also, in principle, use this to reset the migration
11983
+ * process.
11984
+ **/
11985
+ | {
11986
+ name: 'ForceSetProgress';
11987
+ params: { progressTop: PalletStateTrieMigrationProgress; progressChild: PalletStateTrieMigrationProgress };
11988
+ };
11989
+
11990
+ export type PalletStateTrieMigrationMigrationLimits = { size: number; item: number };
11991
+
11992
+ export type PalletStateTrieMigrationMigrationTask = {
11993
+ progressTop: PalletStateTrieMigrationProgress;
11994
+ progressChild: PalletStateTrieMigrationProgress;
11995
+ size: number;
11996
+ topItems: number;
11997
+ childItems: number;
11998
+ };
11999
+
12000
+ export type PalletStateTrieMigrationProgress =
12001
+ | { type: 'ToStart' }
12002
+ | { type: 'LastKey'; value: Bytes }
12003
+ | { type: 'Complete' };
12004
+
12005
+ /**
12006
+ * Contains a variant per dispatchable extrinsic that this pallet has.
12007
+ **/
12008
+ export type PalletStakingAsyncPalletCall =
12009
+ /**
12010
+ * Take the origin account as a stash and lock up `value` of its balance. `controller` will
12011
+ * be the account that controls it.
12012
+ *
12013
+ * `value` must be more than the `minimum_balance` specified by `T::Currency`.
12014
+ *
12015
+ * The dispatch origin for this call must be _Signed_ by the stash account.
12016
+ *
12017
+ * Emits `Bonded`.
12018
+ *
12019
+ * NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned
12020
+ * unless the `origin` falls below _existential deposit_ (or equal to 0) and gets removed
12021
+ * as dust.
12022
+ **/
12023
+ | { name: 'Bond'; params: { value: bigint; payee: PalletStakingAsyncRewardDestination } }
12024
+ /**
12025
+ * Add some extra amount that have appeared in the stash `free_balance` into the balance up
12026
+ * for staking.
12027
+ *
12028
+ * The dispatch origin for this call must be _Signed_ by the stash, not the controller.
12029
+ *
12030
+ * Use this if there are additional funds in your stash account that you wish to bond.
12031
+ * Unlike [`bond`](Self::bond) or [`unbond`](Self::unbond) this function does not impose
12032
+ * any limitation on the amount that can be added.
12033
+ *
12034
+ * Emits `Bonded`.
12035
+ **/
12036
+ | { name: 'BondExtra'; params: { maxAdditional: bigint } }
12037
+ /**
12038
+ * Schedule a portion of the stash to be unlocked ready for transfer out after the bond
12039
+ * period ends. If this leaves an amount actively bonded less than
12040
+ * [`asset::existential_deposit`], then it is increased to the full amount.
12041
+ *
12042
+ * The dispatch origin for this call must be _Signed_ by the controller, not the stash.
12043
+ *
12044
+ * Once the unlock period is done, you can call `withdraw_unbonded` to actually move
12045
+ * the funds out of management ready for transfer.
12046
+ *
12047
+ * No more than a limited number of unlocking chunks (see `MaxUnlockingChunks`)
12048
+ * can co-exists at the same time. If there are no unlocking chunks slots available
12049
+ * [`Call::withdraw_unbonded`] is called to remove some of the chunks (if possible).
11496
12050
  *
11497
12051
  * If a user encounters the `InsufficientBond` error when calling this extrinsic,
11498
12052
  * they should call `chill` first in order to free up their bonded funds.
@@ -11773,9 +12327,10 @@ export type PalletStakingAsyncPalletCall =
11773
12327
  **/
11774
12328
  | { name: 'ChillOther'; params: { stash: AccountId32 } }
11775
12329
  /**
11776
- * Force a validator to have at least the minimum commission. This will not affect a
11777
- * validator who already has a commission greater than or equal to the minimum. Any account
11778
- * can call this.
12330
+ * Clamps a validator's commission to the `[MinCommission, MaxCommission]` range.
12331
+ *
12332
+ * Named `force_apply_min_commission` for legacy reasons — it also enforces the
12333
+ * maximum. Any account can call this.
11779
12334
  **/
11780
12335
  | { name: 'ForceApplyMinCommission'; params: { validatorStash: AccountId32 } }
11781
12336
  /**
@@ -11803,6 +12358,10 @@ export type PalletStakingAsyncPalletCall =
11803
12358
  * backing a validator to receive the reward. The nominators are not sorted across pages
11804
12359
  * and so it should not be assumed the highest staker would be on the topmost page and vice
11805
12360
  * versa. If rewards are not claimed in [`Config::HistoryDepth`] eras, they are lost.
12361
+ *
12362
+ * The validator's own reward (commission + own-stake share) is prorated across pages
12363
+ * proportional to each page's stake. The full validator reward is the sum across all
12364
+ * pages.
11806
12365
  **/
11807
12366
  | { name: 'PayoutStakersByPage'; params: { validatorStash: AccountId32; era: number; page: number } }
11808
12367
  /**
@@ -11905,7 +12464,13 @@ export type PalletStakingAsyncPalletCall =
11905
12464
  * The era must be eligible for pruning (older than HistoryDepth + 1).
11906
12465
  * Check `EraPruningState` storage to see if an era needs pruning before calling.
11907
12466
  **/
11908
- | { name: 'PruneEraStep'; params: { era: number } };
12467
+ | { name: 'PruneEraStep'; params: { era: number } }
12468
+ /**
12469
+ * Sets the maximum commission that validators can set.
12470
+ *
12471
+ * The dispatch origin must be `T::AdminOrigin`.
12472
+ **/
12473
+ | { name: 'SetMaxCommission'; params: { new: Perbill } };
11909
12474
 
11910
12475
  export type PalletStakingAsyncPalletCallLike =
11911
12476
  /**
@@ -12229,9 +12794,10 @@ export type PalletStakingAsyncPalletCallLike =
12229
12794
  **/
12230
12795
  | { name: 'ChillOther'; params: { stash: AccountId32Like } }
12231
12796
  /**
12232
- * Force a validator to have at least the minimum commission. This will not affect a
12233
- * validator who already has a commission greater than or equal to the minimum. Any account
12234
- * can call this.
12797
+ * Clamps a validator's commission to the `[MinCommission, MaxCommission]` range.
12798
+ *
12799
+ * Named `force_apply_min_commission` for legacy reasons — it also enforces the
12800
+ * maximum. Any account can call this.
12235
12801
  **/
12236
12802
  | { name: 'ForceApplyMinCommission'; params: { validatorStash: AccountId32Like } }
12237
12803
  /**
@@ -12259,6 +12825,10 @@ export type PalletStakingAsyncPalletCallLike =
12259
12825
  * backing a validator to receive the reward. The nominators are not sorted across pages
12260
12826
  * and so it should not be assumed the highest staker would be on the topmost page and vice
12261
12827
  * versa. If rewards are not claimed in [`Config::HistoryDepth`] eras, they are lost.
12828
+ *
12829
+ * The validator's own reward (commission + own-stake share) is prorated across pages
12830
+ * proportional to each page's stake. The full validator reward is the sum across all
12831
+ * pages.
12262
12832
  **/
12263
12833
  | { name: 'PayoutStakersByPage'; params: { validatorStash: AccountId32Like; era: number; page: number } }
12264
12834
  /**
@@ -12361,7 +12931,13 @@ export type PalletStakingAsyncPalletCallLike =
12361
12931
  * The era must be eligible for pruning (older than HistoryDepth + 1).
12362
12932
  * Check `EraPruningState` storage to see if an era needs pruning before calling.
12363
12933
  **/
12364
- | { name: 'PruneEraStep'; params: { era: number } };
12934
+ | { name: 'PruneEraStep'; params: { era: number } }
12935
+ /**
12936
+ * Sets the maximum commission that validators can set.
12937
+ *
12938
+ * The dispatch origin must be `T::AdminOrigin`.
12939
+ **/
12940
+ | { name: 'SetMaxCommission'; params: { new: Perbill } };
12365
12941
 
12366
12942
  export type PalletStakingAsyncRewardDestination =
12367
12943
  | { type: 'Staked' }
@@ -14990,6 +15566,27 @@ export type PalletMultiAssetBountiesCallLike =
14990
15566
  **/
14991
15567
  | { name: 'RetryPayment'; params: { parentBountyId: number; childBountyId?: number | undefined } };
14992
15568
 
15569
+ /**
15570
+ * Contains a variant per dispatchable extrinsic that this pallet has.
15571
+ **/
15572
+ export type PalletDapCall =
15573
+ /**
15574
+ * Set the budget allocation map.
15575
+ *
15576
+ * Each key must match a registered `BudgetRecipient`. The sum of all percentages
15577
+ * must be exactly 100%. Recipients not included in the map receive nothing.
15578
+ **/
15579
+ { name: 'SetBudgetAllocation'; params: { newAllocations: Array<[Bytes, Perbill]> } };
15580
+
15581
+ export type PalletDapCallLike =
15582
+ /**
15583
+ * Set the budget allocation map.
15584
+ *
15585
+ * Each key must match a registered `BudgetRecipient`. The sum of all percentages
15586
+ * must be exactly 100%. Recipients not included in the map receive nothing.
15587
+ **/
15588
+ { name: 'SetBudgetAllocation'; params: { newAllocations: Array<[BytesLike, Perbill]> } };
15589
+
14993
15590
  /**
14994
15591
  * Pallet's callable functions.
14995
15592
  **/
@@ -15197,18 +15794,6 @@ export type PalletMultiAssetBountiesHoldReason = 'CuratorDeposit';
15197
15794
 
15198
15795
  export type FrameSystemExtensionsAuthorizeCall = {};
15199
15796
 
15200
- export type FrameSystemExtensionsCheckNonZeroSender = {};
15201
-
15202
- export type FrameSystemExtensionsCheckSpecVersion = {};
15203
-
15204
- export type FrameSystemExtensionsCheckTxVersion = {};
15205
-
15206
- export type FrameSystemExtensionsCheckGenesis = {};
15207
-
15208
- export type FrameSystemExtensionsCheckMortality = Era;
15209
-
15210
- export type FrameSystemExtensionsCheckNonce = number;
15211
-
15212
15797
  export type FrameSystemExtensionsCheckWeight = {};
15213
15798
 
15214
15799
  export type PalletAssetConversionTxPaymentChargeAssetTxPayment = {
@@ -15216,10 +15801,6 @@ export type PalletAssetConversionTxPaymentChargeAssetTxPayment = {
15216
15801
  assetId?: StagingXcmV5Location | undefined;
15217
15802
  };
15218
15803
 
15219
- export type FrameMetadataHashExtensionCheckMetadataHash = { mode: FrameMetadataHashExtensionMode };
15220
-
15221
- export type FrameMetadataHashExtensionMode = 'Disabled' | 'Enabled';
15222
-
15223
15804
  export type PalletReviveEvmTxExtensionSetOrigin = {};
15224
15805
 
15225
15806
  export type FrameSystemAccountInfo = {
@@ -15270,6 +15851,8 @@ export type AssetHubWestendRuntimeRuntimeEvent =
15270
15851
  | { pallet: 'Multisig'; palletEvent: PalletMultisigEvent }
15271
15852
  | { pallet: 'Proxy'; palletEvent: PalletProxyEvent }
15272
15853
  | { pallet: 'Indices'; palletEvent: PalletIndicesEvent }
15854
+ | { pallet: 'MetaTx'; palletEvent: PalletMetaTxEvent }
15855
+ | { pallet: 'Parameters'; palletEvent: PalletParametersEvent }
15273
15856
  | { pallet: 'Assets'; palletEvent: PalletAssetsEvent }
15274
15857
  | { pallet: 'Uniques'; palletEvent: PalletUniquesEvent }
15275
15858
  | { pallet: 'Nfts'; palletEvent: PalletNftsEvent }
@@ -15282,6 +15865,7 @@ export type AssetHubWestendRuntimeRuntimeEvent =
15282
15865
  | { pallet: 'PoolAssetsFreezer'; palletEvent: PalletAssetsFreezerEvent }
15283
15866
  | { pallet: 'Revive'; palletEvent: PalletReviveEvent }
15284
15867
  | { pallet: 'AssetRewards'; palletEvent: PalletAssetRewardsEvent }
15868
+ | { pallet: 'Psm'; palletEvent: PalletPsmEvent }
15285
15869
  | { pallet: 'StateTrieMigration'; palletEvent: PalletStateTrieMigrationEvent }
15286
15870
  | { pallet: 'Staking'; palletEvent: PalletStakingAsyncPalletEvent }
15287
15871
  | { pallet: 'NominationPools'; palletEvent: PalletNominationPoolsEvent }
@@ -15297,6 +15881,7 @@ export type AssetHubWestendRuntimeRuntimeEvent =
15297
15881
  | { pallet: 'Treasury'; palletEvent: PalletTreasuryEvent }
15298
15882
  | { pallet: 'AssetRate'; palletEvent: PalletAssetRateEvent }
15299
15883
  | { pallet: 'MultiAssetBounties'; palletEvent: PalletMultiAssetBountiesEvent }
15884
+ | { pallet: 'Dap'; palletEvent: PalletDapEvent }
15300
15885
  | { pallet: 'AssetConversionMigration'; palletEvent: PalletAssetConversionOpsEvent }
15301
15886
  | { pallet: 'AhOps'; palletEvent: PalletAhOpsEvent };
15302
15887
 
@@ -16493,6 +17078,77 @@ export type PalletIndicesEvent =
16493
17078
  **/
16494
17079
  | { name: 'DepositPoked'; data: { who: AccountId32; index: number; oldDeposit: bigint; newDeposit: bigint } };
16495
17080
 
17081
+ /**
17082
+ * The `Event` enum of this pallet
17083
+ **/
17084
+ export type PalletMetaTxEvent =
17085
+ /**
17086
+ * A meta transaction has been dispatched.
17087
+ *
17088
+ * Contains the dispatch result of the meta transaction along with post-dispatch
17089
+ * information.
17090
+ **/
17091
+ {
17092
+ name: 'Dispatched';
17093
+ data: { result: Result<FrameSupportDispatchPostDispatchInfo, SpRuntimeDispatchErrorWithPostInfo> };
17094
+ };
17095
+
17096
+ export type FrameSupportDispatchPostDispatchInfo = {
17097
+ actualWeight?: SpWeightsWeightV2Weight | undefined;
17098
+ paysFee: FrameSupportDispatchPays;
17099
+ };
17100
+
17101
+ export type SpRuntimeDispatchErrorWithPostInfo = {
17102
+ postInfo: FrameSupportDispatchPostDispatchInfo;
17103
+ error: DispatchError;
17104
+ };
17105
+
17106
+ /**
17107
+ * The `Event` enum of this pallet
17108
+ **/
17109
+ export type PalletParametersEvent =
17110
+ /**
17111
+ * A Parameter was set.
17112
+ *
17113
+ * Is also emitted when the value was not changed.
17114
+ **/
17115
+ {
17116
+ name: 'Updated';
17117
+ data: {
17118
+ /**
17119
+ * The key that was updated.
17120
+ **/
17121
+ key: AssetHubWestendRuntimeRuntimeParametersKey;
17122
+
17123
+ /**
17124
+ * The old value before this call.
17125
+ **/
17126
+ oldValue?: AssetHubWestendRuntimeRuntimeParametersValue | undefined;
17127
+
17128
+ /**
17129
+ * The new value after this call.
17130
+ **/
17131
+ newValue?: AssetHubWestendRuntimeRuntimeParametersValue | undefined;
17132
+ };
17133
+ };
17134
+
17135
+ export type AssetHubWestendRuntimeRuntimeParametersKey = {
17136
+ type: 'Pusd';
17137
+ value: AssetHubWestendRuntimeDynamicParamsPusdParametersKey;
17138
+ };
17139
+
17140
+ export type AssetHubWestendRuntimeDynamicParamsPusdParametersKey = {
17141
+ type: 'MaximumIssuance';
17142
+ value: AssetHubWestendRuntimeDynamicParamsPusdMaximumIssuance;
17143
+ };
17144
+
17145
+ export type AssetHubWestendRuntimeRuntimeParametersValue = {
17146
+ type: 'Pusd';
17147
+ value: AssetHubWestendRuntimeDynamicParamsPusdParametersValue;
17148
+ };
17149
+
17150
+ export type AssetHubWestendRuntimeDynamicParamsPusdParametersValue = { type: 'MaximumIssuance'; value: bigint };
17151
+
16496
17152
  /**
16497
17153
  * The `Event` enum of this pallet
16498
17154
  **/
@@ -17611,6 +18267,53 @@ export type PalletAssetRewardsEvent =
17611
18267
  };
17612
18268
  };
17613
18269
 
18270
+ /**
18271
+ * The `Event` enum of this pallet
18272
+ **/
18273
+ export type PalletPsmEvent =
18274
+ /**
18275
+ * User swapped external stablecoin for pUSD.
18276
+ **/
18277
+ | {
18278
+ name: 'Minted';
18279
+ data: { who: AccountId32; assetId: number; externalAmount: bigint; pusdReceived: bigint; fee: bigint };
18280
+ }
18281
+ /**
18282
+ * User swapped pUSD for external stablecoin.
18283
+ **/
18284
+ | {
18285
+ name: 'Redeemed';
18286
+ data: { who: AccountId32; assetId: number; pusdPaid: bigint; externalReceived: bigint; fee: bigint };
18287
+ }
18288
+ /**
18289
+ * Minting fee updated for an asset by governance.
18290
+ **/
18291
+ | { name: 'MintingFeeUpdated'; data: { assetId: number; oldValue: Permill; newValue: Permill } }
18292
+ /**
18293
+ * Redemption fee updated for an asset by governance.
18294
+ **/
18295
+ | { name: 'RedemptionFeeUpdated'; data: { assetId: number; oldValue: Permill; newValue: Permill } }
18296
+ /**
18297
+ * Max PSM debt ratio updated by governance.
18298
+ **/
18299
+ | { name: 'MaxPsmDebtOfTotalUpdated'; data: { oldValue: Permill; newValue: Permill } }
18300
+ /**
18301
+ * Per-asset debt ceiling weight updated by governance.
18302
+ **/
18303
+ | { name: 'AssetCeilingWeightUpdated'; data: { assetId: number; oldValue: Permill; newValue: Permill } }
18304
+ /**
18305
+ * Per-asset circuit breaker status updated.
18306
+ **/
18307
+ | { name: 'AssetStatusUpdated'; data: { assetId: number; status: PalletPsmCircuitBreakerLevel } }
18308
+ /**
18309
+ * An external asset was added to the approved list.
18310
+ **/
18311
+ | { name: 'ExternalAssetAdded'; data: { assetId: number } }
18312
+ /**
18313
+ * An external asset was removed from the approved list.
18314
+ **/
18315
+ | { name: 'ExternalAssetRemoved'; data: { assetId: number } };
18316
+
17614
18317
  /**
17615
18318
  * Inner events of this pallet.
17616
18319
  **/
@@ -17675,8 +18378,11 @@ export type PalletStateTrieMigrationError =
17675
18378
  **/
17676
18379
  export type PalletStakingAsyncPalletEvent =
17677
18380
  /**
17678
- * The era payout has been set; the first balance is the validator-payout; the second is
17679
- * the remainder from the maximum amount of reward.
18381
+ * The era payout has been set.
18382
+ *
18383
+ * In non-minting mode, `validator_payout` is the staker reward budget
18384
+ * snapshotted from the general pot, and `remainder` is always zero.
18385
+ * In legacy minting mode, both fields reflect the `EraPayout` computation.
17680
18386
  **/
17681
18387
  | { name: 'EraPaid'; data: { eraIndex: number; validatorPayout: bigint; remainder: bigint } }
17682
18388
  /**
@@ -17804,7 +18510,8 @@ export type PalletStakingAsyncPalletUnexpectedKind =
17804
18510
  | {
17805
18511
  type: 'PagedElectionOutOfWeight';
17806
18512
  value: { page: number; required: SpWeightsWeightV2Weight; had: SpWeightsWeightV2Weight };
17807
- };
18513
+ }
18514
+ | { type: 'MissingPayee'; value: { era: number; stash: AccountId32 } };
17808
18515
 
17809
18516
  /**
17810
18517
  * Events of this pallet.
@@ -18476,16 +19183,6 @@ export type PalletWhitelistEvent =
18476
19183
  };
18477
19184
  };
18478
19185
 
18479
- export type FrameSupportDispatchPostDispatchInfo = {
18480
- actualWeight?: SpWeightsWeightV2Weight | undefined;
18481
- paysFee: FrameSupportDispatchPays;
18482
- };
18483
-
18484
- export type SpRuntimeDispatchErrorWithPostInfo = {
18485
- postInfo: FrameSupportDispatchPostDispatchInfo;
18486
- error: DispatchError;
18487
- };
18488
-
18489
19186
  /**
18490
19187
  * The `Event` enum of this pallet
18491
19188
  **/
@@ -18633,6 +19330,48 @@ export type PalletMultiAssetBountiesEvent =
18633
19330
  **/
18634
19331
  | { name: 'Paid'; data: { index: number; childIndex?: number | undefined; paymentId: bigint } };
18635
19332
 
19333
+ /**
19334
+ * The `Event` enum of this pallet
19335
+ **/
19336
+ export type PalletDapEvent =
19337
+ /**
19338
+ * Inflation dripped and distributed to budget recipients.
19339
+ **/
19340
+ | {
19341
+ name: 'IssuanceMinted';
19342
+ data: {
19343
+ /**
19344
+ * Total amount minted in this drip.
19345
+ **/
19346
+ totalMinted: bigint;
19347
+
19348
+ /**
19349
+ * Elapsed time (ms) since last drip.
19350
+ **/
19351
+ elapsedMillis: bigint;
19352
+ };
19353
+ }
19354
+ /**
19355
+ * Budget allocation was updated via governance.
19356
+ **/
19357
+ | {
19358
+ name: 'BudgetAllocationUpdated';
19359
+ data: {
19360
+ /**
19361
+ * The new budget allocation map.
19362
+ **/
19363
+ allocations: Array<[Bytes, Perbill]>;
19364
+ };
19365
+ }
19366
+ /**
19367
+ * An unexpected/defensive event was triggered.
19368
+ **/
19369
+ | { name: 'Unexpected'; data: PalletDapUnexpectedKind };
19370
+
19371
+ export type PalletDapUnexpectedKind =
19372
+ | { type: 'MintFailed' }
19373
+ | { type: 'ElapsedClamped'; value: { actualElapsed: bigint; ceiling: bigint } };
19374
+
18636
19375
  /**
18637
19376
  * The `Event` enum of this pallet
18638
19377
  **/
@@ -19798,6 +20537,39 @@ export type PalletIndicesError =
19798
20537
  **/
19799
20538
  | 'Permanent';
19800
20539
 
20540
+ /**
20541
+ * The `Error` enum of this pallet.
20542
+ **/
20543
+ export type PalletMetaTxError =
20544
+ /**
20545
+ * Invalid proof (e.g. signature).
20546
+ **/
20547
+ | 'BadProof'
20548
+ /**
20549
+ * The meta transaction is not yet valid (e.g. nonce too high).
20550
+ **/
20551
+ | 'Future'
20552
+ /**
20553
+ * The meta transaction is outdated (e.g. nonce too low).
20554
+ **/
20555
+ | 'Stale'
20556
+ /**
20557
+ * The meta transactions's birth block is ancient.
20558
+ **/
20559
+ | 'AncientBirthBlock'
20560
+ /**
20561
+ * The transaction extension did not authorize any origin.
20562
+ **/
20563
+ | 'UnknownOrigin'
20564
+ /**
20565
+ * The meta transaction is invalid.
20566
+ **/
20567
+ | 'Invalid'
20568
+ /**
20569
+ * The meta transaction length is invalid.
20570
+ **/
20571
+ | 'InvalidLength';
20572
+
19801
20573
  export type PalletAssetsAssetDetails = {
19802
20574
  owner: AccountId32;
19803
20575
  issuer: AccountId32;
@@ -20923,7 +21695,11 @@ export type PalletReviveError =
20923
21695
  /**
20924
21696
  * ECDSA public key recovery failed. Most probably wrong recovery id or signature.
20925
21697
  **/
20926
- | 'EcdsaRecoveryFailed';
21698
+ | 'EcdsaRecoveryFailed'
21699
+ /**
21700
+ * Manual mapping is disabled when auto-mapping is enabled.
21701
+ **/
21702
+ | 'AutoMappingEnabled';
20927
21703
 
20928
21704
  export type PalletAssetRewardsPoolStakerInfo = { amount: bigint; rewards: bigint; rewardPerTokenPaid: bigint };
20929
21705
 
@@ -21021,6 +21797,67 @@ export type PalletAssetsPrecompilesPermitPalletError =
21021
21797
  **/
21022
21798
  | 'InvalidSpender';
21023
21799
 
21800
+ /**
21801
+ * The `Error` enum of this pallet.
21802
+ **/
21803
+ export type PalletPsmError =
21804
+ /**
21805
+ * PSM doesn't have enough external stablecoin for redemption.
21806
+ **/
21807
+ | 'InsufficientReserve'
21808
+ /**
21809
+ * Swap would exceed PSM debt ceiling.
21810
+ **/
21811
+ | 'ExceedsMaxPsmDebt'
21812
+ /**
21813
+ * Swap amount below minimum threshold.
21814
+ **/
21815
+ | 'BelowMinimumSwap'
21816
+ /**
21817
+ * Minting operations are disabled (circuit breaker level >= 1).
21818
+ **/
21819
+ | 'MintingStopped'
21820
+ /**
21821
+ * All swap operations are disabled (circuit breaker level = 2).
21822
+ **/
21823
+ | 'AllSwapsStopped'
21824
+ /**
21825
+ * Asset is not an approved external stablecoin.
21826
+ **/
21827
+ | 'UnsupportedAsset'
21828
+ /**
21829
+ * Mint would exceed system-wide maximum pUSD issuance.
21830
+ **/
21831
+ | 'ExceedsMaxIssuance'
21832
+ /**
21833
+ * Asset is already in the approved list.
21834
+ **/
21835
+ | 'AssetAlreadyApproved'
21836
+ /**
21837
+ * Cannot remove asset: not in approved list.
21838
+ **/
21839
+ | 'AssetNotApproved'
21840
+ /**
21841
+ * Cannot remove asset: has non-zero PSM debt.
21842
+ **/
21843
+ | 'AssetHasDebt'
21844
+ /**
21845
+ * Operation requires Full manager level (GeneralAdmin), not Emergency.
21846
+ **/
21847
+ | 'InsufficientPrivilege'
21848
+ /**
21849
+ * Maximum number of approved external assets reached.
21850
+ **/
21851
+ | 'TooManyAssets'
21852
+ /**
21853
+ * External asset decimals do not match the stable asset decimals.
21854
+ **/
21855
+ | 'DecimalsMismatch'
21856
+ /**
21857
+ * An unexpected invariant violation occurred. This should be reported.
21858
+ **/
21859
+ | 'Unexpected';
21860
+
21024
21861
  export type PalletStakingAsyncLedgerStakingLedger = {
21025
21862
  stash: AccountId32;
21026
21863
  total: bigint;
@@ -21226,7 +22063,15 @@ export type PalletStakingAsyncPalletError =
21226
22063
  /**
21227
22064
  * The slash has been cancelled and cannot be applied.
21228
22065
  **/
21229
- | 'CancelledSlash';
22066
+ | 'CancelledSlash'
22067
+ /**
22068
+ * Commission is higher than the allowed maximum `MaxCommission`.
22069
+ **/
22070
+ | 'CommissionTooHigh'
22071
+ /**
22072
+ * Era has no reward pot but legacy minting is disabled.
22073
+ **/
22074
+ | 'LegacyMintingDisabled';
21230
22075
 
21231
22076
  export type PalletNominationPoolsPoolMember = {
21232
22077
  poolId: number;
@@ -22052,6 +22897,19 @@ export type PalletMultiAssetBountiesError =
22052
22897
  **/
22053
22898
  | 'PreimageNotExist';
22054
22899
 
22900
+ /**
22901
+ * The `Error` enum of this pallet.
22902
+ **/
22903
+ export type PalletDapError =
22904
+ /**
22905
+ * A key in the budget allocation does not match any registered recipient.
22906
+ **/
22907
+ | 'UnknownBudgetKey'
22908
+ /**
22909
+ * Budget allocation percentages do not sum to exactly 100%.
22910
+ **/
22911
+ | 'BudgetNotExact';
22912
+
22055
22913
  /**
22056
22914
  * The `Error` enum of this pallet.
22057
22915
  **/
@@ -22337,9 +23195,24 @@ export type PalletRevivePrimitivesEthTransactError =
22337
23195
 
22338
23196
  export type PalletReviveEvmApiRpcTypesDryRunConfig = {
22339
23197
  timestampOverride?: bigint | undefined;
22340
- reserved?: [] | undefined;
23198
+ performBalanceChecks?: boolean | undefined;
23199
+ stateOverrides?: PalletReviveEvmApiRpcTypesGenStateOverrideSet | undefined;
23200
+ };
23201
+
23202
+ export type PalletReviveEvmApiRpcTypesGenStateOverrideSet = Array<[H160, PalletReviveEvmApiRpcTypesGenStateOverride]>;
23203
+
23204
+ export type PalletReviveEvmApiRpcTypesGenStateOverride = {
23205
+ balance?: U256 | undefined;
23206
+ nonce?: U256 | undefined;
23207
+ code?: PalletReviveEvmApiByteBytes | undefined;
23208
+ storage?: PalletReviveEvmApiRpcTypesGenStorageOverride | undefined;
23209
+ movePrecompileToAddress?: H160 | undefined;
22341
23210
  };
22342
23211
 
23212
+ export type PalletReviveEvmApiRpcTypesGenStorageOverride =
23213
+ | { type: 'State'; value: Array<[H256, H256]> }
23214
+ | { type: 'StateDiff'; value: Array<[H256, H256]> };
23215
+
22343
23216
  export type PalletRevivePrimitivesCodeUploadReturnValue = { codeHash: H256; deposit: bigint };
22344
23217
 
22345
23218
  export type PalletRevivePrimitivesContractAccessError =
@@ -22476,6 +23349,7 @@ export type AssetHubWestendRuntimeRuntimeError =
22476
23349
  | { pallet: 'Multisig'; palletError: PalletMultisigError }
22477
23350
  | { pallet: 'Proxy'; palletError: PalletProxyError }
22478
23351
  | { pallet: 'Indices'; palletError: PalletIndicesError }
23352
+ | { pallet: 'MetaTx'; palletError: PalletMetaTxError }
22479
23353
  | { pallet: 'Assets'; palletError: PalletAssetsError }
22480
23354
  | { pallet: 'Uniques'; palletError: PalletUniquesError }
22481
23355
  | { pallet: 'Nfts'; palletError: PalletNftsError }
@@ -22489,6 +23363,7 @@ export type AssetHubWestendRuntimeRuntimeError =
22489
23363
  | { pallet: 'Revive'; palletError: PalletReviveError }
22490
23364
  | { pallet: 'AssetRewards'; palletError: PalletAssetRewardsError }
22491
23365
  | { pallet: 'AssetsPrecompilesPermit'; palletError: PalletAssetsPrecompilesPermitPalletError }
23366
+ | { pallet: 'Psm'; palletError: PalletPsmError }
22492
23367
  | { pallet: 'StateTrieMigration'; palletError: PalletStateTrieMigrationError }
22493
23368
  | { pallet: 'Staking'; palletError: PalletStakingAsyncPalletError }
22494
23369
  | { pallet: 'NominationPools'; palletError: PalletNominationPoolsError }
@@ -22503,5 +23378,6 @@ export type AssetHubWestendRuntimeRuntimeError =
22503
23378
  | { pallet: 'Treasury'; palletError: PalletTreasuryError }
22504
23379
  | { pallet: 'AssetRate'; palletError: PalletAssetRateError }
22505
23380
  | { pallet: 'MultiAssetBounties'; palletError: PalletMultiAssetBountiesError }
23381
+ | { pallet: 'Dap'; palletError: PalletDapError }
22506
23382
  | { pallet: 'AssetConversionMigration'; palletError: PalletAssetConversionOpsError }
22507
23383
  | { pallet: 'AhOps'; palletError: PalletAhOpsError };