@dedot/chaintypes 0.152.0 → 0.154.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.
@@ -18,12 +18,12 @@ import type {
18
18
  MultiAddress,
19
19
  MultiAddressLike,
20
20
  AccountId32Like,
21
+ U256,
21
22
  Percent,
22
23
  PerU16,
23
24
  UncheckedExtrinsic,
24
25
  Era,
25
26
  FixedI64,
26
- U256,
27
27
  } from 'dedot/codecs';
28
28
 
29
29
  export type FrameSystemAccountInfo = {
@@ -486,10 +486,18 @@ export type PalletBalancesEvent =
486
486
  * Some amount was minted into an account.
487
487
  **/
488
488
  | { name: 'Minted'; data: { who: AccountId32; amount: bigint } }
489
+ /**
490
+ * Some credit was balanced and added to the TotalIssuance.
491
+ **/
492
+ | { name: 'MintedCredit'; data: { amount: bigint } }
489
493
  /**
490
494
  * Some amount was burned from an account.
491
495
  **/
492
496
  | { name: 'Burned'; data: { who: AccountId32; amount: bigint } }
497
+ /**
498
+ * Some debt has been dropped from the Total Issuance.
499
+ **/
500
+ | { name: 'BurnedDebt'; data: { amount: bigint } }
493
501
  /**
494
502
  * Some amount was suspended from an account (it can be restored later).
495
503
  **/
@@ -529,10 +537,79 @@ export type PalletBalancesEvent =
529
537
  /**
530
538
  * The `TotalIssuance` was forcefully changed.
531
539
  **/
532
- | { name: 'TotalIssuanceForced'; data: { old: bigint; new: bigint } };
540
+ | { name: 'TotalIssuanceForced'; data: { old: bigint; new: bigint } }
541
+ /**
542
+ * Some balance was placed on hold.
543
+ **/
544
+ | { name: 'Held'; data: { reason: AssetHubWestendRuntimeRuntimeHoldReason; who: AccountId32; amount: bigint } }
545
+ /**
546
+ * Held balance was burned from an account.
547
+ **/
548
+ | { name: 'BurnedHeld'; data: { reason: AssetHubWestendRuntimeRuntimeHoldReason; who: AccountId32; amount: bigint } }
549
+ /**
550
+ * A transfer of `amount` on hold from `source` to `dest` was initiated.
551
+ **/
552
+ | {
553
+ name: 'TransferOnHold';
554
+ data: { reason: AssetHubWestendRuntimeRuntimeHoldReason; source: AccountId32; dest: AccountId32; amount: bigint };
555
+ }
556
+ /**
557
+ * The `transferred` balance is placed on hold at the `dest` account.
558
+ **/
559
+ | {
560
+ name: 'TransferAndHold';
561
+ data: {
562
+ reason: AssetHubWestendRuntimeRuntimeHoldReason;
563
+ source: AccountId32;
564
+ dest: AccountId32;
565
+ transferred: bigint;
566
+ };
567
+ }
568
+ /**
569
+ * Some balance was released from hold.
570
+ **/
571
+ | { name: 'Released'; data: { reason: AssetHubWestendRuntimeRuntimeHoldReason; who: AccountId32; amount: bigint } }
572
+ /**
573
+ * An unexpected/defensive event was triggered.
574
+ **/
575
+ | { name: 'Unexpected'; data: PalletBalancesUnexpectedKind };
533
576
 
534
577
  export type FrameSupportTokensMiscBalanceStatus = 'Free' | 'Reserved';
535
578
 
579
+ export type AssetHubWestendRuntimeRuntimeHoldReason =
580
+ | { type: 'Preimage'; value: PalletPreimageHoldReason }
581
+ | { type: 'Session'; value: PalletSessionHoldReason }
582
+ | { type: 'PolkadotXcm'; value: PalletXcmHoldReason }
583
+ | { type: 'NftFractionalization'; value: PalletNftFractionalizationHoldReason }
584
+ | { type: 'Revive'; value: PalletReviveHoldReason }
585
+ | { type: 'AssetRewards'; value: PalletAssetRewardsHoldReason }
586
+ | { type: 'StateTrieMigration'; value: PalletStateTrieMigrationHoldReason }
587
+ | { type: 'Staking'; value: PalletStakingAsyncPalletHoldReason }
588
+ | { type: 'DelegatedStaking'; value: PalletDelegatedStakingHoldReason }
589
+ | { type: 'MultiBlockElectionSigned'; value: PalletElectionProviderMultiBlockSignedPalletHoldReason };
590
+
591
+ export type PalletPreimageHoldReason = 'Preimage';
592
+
593
+ export type PalletSessionHoldReason = 'Keys';
594
+
595
+ export type PalletXcmHoldReason = 'AuthorizeAlias';
596
+
597
+ export type PalletNftFractionalizationHoldReason = 'Fractionalized';
598
+
599
+ export type PalletReviveHoldReason = 'CodeUploadDepositReserve' | 'StorageDepositReserve' | 'AddressMapping';
600
+
601
+ export type PalletAssetRewardsHoldReason = 'PoolCreation';
602
+
603
+ export type PalletStateTrieMigrationHoldReason = 'SlashForMigrate';
604
+
605
+ export type PalletStakingAsyncPalletHoldReason = 'Staking';
606
+
607
+ export type PalletDelegatedStakingHoldReason = 'StakingDelegation';
608
+
609
+ export type PalletElectionProviderMultiBlockSignedPalletHoldReason = 'SignedSubmission';
610
+
611
+ export type PalletBalancesUnexpectedKind = 'BalanceUpdated' | 'FailedToMutateAccount';
612
+
536
613
  /**
537
614
  * The `Event` enum of this pallet
538
615
  **/
@@ -1607,6 +1684,8 @@ export type PalletProxyEvent =
1607
1684
  who: AccountId32;
1608
1685
  proxyType: AssetHubWestendRuntimeProxyType;
1609
1686
  disambiguationIndex: number;
1687
+ at: number;
1688
+ extrinsicIndex: number;
1610
1689
  };
1611
1690
  }
1612
1691
  /**
@@ -2924,7 +3003,7 @@ export type PalletStakingAsyncPalletEvent =
2924
3003
  /**
2925
3004
  * An unapplied slash has been cancelled.
2926
3005
  **/
2927
- | { name: 'SlashCancelled'; data: { slashEra: number; slashKey: [AccountId32, Perbill, number]; payout: bigint } }
3006
+ | { name: 'SlashCancelled'; data: { slashEra: number; validator: AccountId32 } }
2928
3007
  /**
2929
3008
  * Session change has been triggered.
2930
3009
  *
@@ -2936,7 +3015,15 @@ export type PalletStakingAsyncPalletEvent =
2936
3015
  * Something occurred that should never happen under normal operation.
2937
3016
  * Logged as an event for fail-safe observability.
2938
3017
  **/
2939
- | { name: 'Unexpected'; data: PalletStakingAsyncPalletUnexpectedKind };
3018
+ | { name: 'Unexpected'; data: PalletStakingAsyncPalletUnexpectedKind }
3019
+ /**
3020
+ * An offence was reported that was too old to be processed, and thus was dropped.
3021
+ **/
3022
+ | { name: 'OffenceTooOld'; data: { offenceEra: number; validator: AccountId32; fraction: Perbill } }
3023
+ /**
3024
+ * An old era with the given index was pruned.
3025
+ **/
3026
+ | { name: 'EraPruned'; data: { index: number } };
2940
3027
 
2941
3028
  export type PalletStakingAsyncRewardDestination =
2942
3029
  | { type: 'Staked' }
@@ -3328,19 +3415,19 @@ export type PalletConvictionVotingEvent =
3328
3415
  /**
3329
3416
  * An account has delegated their vote to another account. \[who, target\]
3330
3417
  **/
3331
- | { name: 'Delegated'; data: [AccountId32, AccountId32] }
3418
+ | { name: 'Delegated'; data: [AccountId32, AccountId32, number] }
3332
3419
  /**
3333
3420
  * An \[account\] has cancelled a previous delegation operation.
3334
3421
  **/
3335
- | { name: 'Undelegated'; data: AccountId32 }
3422
+ | { name: 'Undelegated'; data: [AccountId32, number] }
3336
3423
  /**
3337
3424
  * An account has voted
3338
3425
  **/
3339
- | { name: 'Voted'; data: { who: AccountId32; vote: PalletConvictionVotingVoteAccountVote } }
3426
+ | { name: 'Voted'; data: { who: AccountId32; vote: PalletConvictionVotingVoteAccountVote; pollIndex: number } }
3340
3427
  /**
3341
3428
  * A vote has been removed
3342
3429
  **/
3343
- | { name: 'VoteRemoved'; data: { who: AccountId32; vote: PalletConvictionVotingVoteAccountVote } }
3430
+ | { name: 'VoteRemoved'; data: { who: AccountId32; vote: PalletConvictionVotingVoteAccountVote; pollIndex: number } }
3344
3431
  /**
3345
3432
  * The lockup period of a conviction vote expired, and the funds have been unlocked.
3346
3433
  **/
@@ -13759,20 +13846,21 @@ export type PalletReviveCall =
13759
13846
  **/
13760
13847
  | {
13761
13848
  name: 'EthInstantiateWithCode';
13762
- params: {
13763
- value: bigint;
13764
- gasLimit: SpWeightsWeightV2Weight;
13765
- storageDepositLimit: bigint;
13766
- code: Bytes;
13767
- data: Bytes;
13768
- };
13849
+ params: { value: U256; gasLimit: SpWeightsWeightV2Weight; storageDepositLimit: bigint; code: Bytes; data: Bytes };
13850
+ }
13851
+ /**
13852
+ * Same as [`Self::call`], but intended to be dispatched **only**
13853
+ * by an EVM transaction through the EVM compatibility layer.
13854
+ **/
13855
+ | {
13856
+ name: 'EthCall';
13857
+ params: { dest: H160; value: U256; gasLimit: SpWeightsWeightV2Weight; storageDepositLimit: bigint; data: Bytes };
13769
13858
  }
13770
13859
  /**
13771
13860
  * Upload new `code` without instantiating a contract from it.
13772
13861
  *
13773
13862
  * If the code does not already exist a deposit is reserved from the caller
13774
- * and unreserved only when [`Self::remove_code`] is called. The size of the reserve
13775
- * depends on the size of the supplied `code`.
13863
+ * The size of the reserve depends on the size of the supplied `code`.
13776
13864
  *
13777
13865
  * # Note
13778
13866
  *
@@ -13780,6 +13868,9 @@ export type PalletReviveCall =
13780
13868
  * To avoid this situation a constructor could employ access control so that it can
13781
13869
  * only be instantiated by permissioned entities. The same is true when uploading
13782
13870
  * through [`Self::instantiate_with_code`].
13871
+ *
13872
+ * If the refcount of the code reaches zero after terminating the last contract that
13873
+ * references this code, the code will be removed automatically.
13783
13874
  **/
13784
13875
  | { name: 'UploadCode'; params: { code: Bytes; storageDepositLimit: bigint } }
13785
13876
  /**
@@ -13942,19 +14033,32 @@ export type PalletReviveCallLike =
13942
14033
  | {
13943
14034
  name: 'EthInstantiateWithCode';
13944
14035
  params: {
13945
- value: bigint;
14036
+ value: U256;
13946
14037
  gasLimit: SpWeightsWeightV2Weight;
13947
14038
  storageDepositLimit: bigint;
13948
14039
  code: BytesLike;
13949
14040
  data: BytesLike;
13950
14041
  };
13951
14042
  }
14043
+ /**
14044
+ * Same as [`Self::call`], but intended to be dispatched **only**
14045
+ * by an EVM transaction through the EVM compatibility layer.
14046
+ **/
14047
+ | {
14048
+ name: 'EthCall';
14049
+ params: {
14050
+ dest: H160;
14051
+ value: U256;
14052
+ gasLimit: SpWeightsWeightV2Weight;
14053
+ storageDepositLimit: bigint;
14054
+ data: BytesLike;
14055
+ };
14056
+ }
13952
14057
  /**
13953
14058
  * Upload new `code` without instantiating a contract from it.
13954
14059
  *
13955
14060
  * If the code does not already exist a deposit is reserved from the caller
13956
- * and unreserved only when [`Self::remove_code`] is called. The size of the reserve
13957
- * depends on the size of the supplied `code`.
14061
+ * The size of the reserve depends on the size of the supplied `code`.
13958
14062
  *
13959
14063
  * # Note
13960
14064
  *
@@ -13962,6 +14066,9 @@ export type PalletReviveCallLike =
13962
14066
  * To avoid this situation a constructor could employ access control so that it can
13963
14067
  * only be instantiated by permissioned entities. The same is true when uploading
13964
14068
  * through [`Self::instantiate_with_code`].
14069
+ *
14070
+ * If the refcount of the code reaches zero after terminating the last contract that
14071
+ * references this code, the code will be removed automatically.
13965
14072
  **/
13966
14073
  | { name: 'UploadCode'; params: { code: BytesLike; storageDepositLimit: bigint } }
13967
14074
  /**
@@ -14417,10 +14524,14 @@ export type PalletStakingAsyncPalletCall =
14417
14524
  **/
14418
14525
  | { name: 'Unbond'; params: { value: bigint } }
14419
14526
  /**
14420
- * Remove any unlocked chunks from the `unlocking` queue from our management.
14527
+ * Remove any stake that has been fully unbonded and is ready for withdrawal.
14421
14528
  *
14422
- * This essentially frees up that balance to be used by the stash account to do whatever
14423
- * it wants.
14529
+ * Stake is considered fully unbonded once [`Config::BondingDuration`] has elapsed since
14530
+ * the unbonding was initiated. In rare cases—such as when offences for the unbonded era
14531
+ * have been reported but not yet processed—withdrawal is restricted to eras for which
14532
+ * all offences have been processed.
14533
+ *
14534
+ * The unlocked stake will be returned as free balance in the stash account.
14424
14535
  *
14425
14536
  * The dispatch origin for this call must be _Signed_ by the controller.
14426
14537
  *
@@ -14430,8 +14541,8 @@ export type PalletStakingAsyncPalletCall =
14430
14541
  *
14431
14542
  * ## Parameters
14432
14543
  *
14433
- * - `num_slashing_spans`: **Deprecated**. This parameter is retained for backward
14434
- * compatibility. It no longer has any effect.
14544
+ * - `num_slashing_spans`: **Deprecated**. Retained only for backward compatibility; this
14545
+ * parameter has no effect.
14435
14546
  **/
14436
14547
  | { name: 'WithdrawUnbonded'; params: { numSlashingSpans: number } }
14437
14548
  /**
@@ -14559,15 +14670,17 @@ export type PalletStakingAsyncPalletCall =
14559
14670
  /**
14560
14671
  * Cancels scheduled slashes for a given era before they are applied.
14561
14672
  *
14562
- * This function allows `T::AdminOrigin` to selectively remove pending slashes from
14563
- * the `UnappliedSlashes` storage, preventing their enactment.
14673
+ * This function allows `T::AdminOrigin` to cancel pending slashes for specified validators
14674
+ * in a given era. The cancelled slashes are stored and will be checked when applying
14675
+ * slashes.
14564
14676
  *
14565
14677
  * ## Parameters
14566
- * - `era`: The staking era for which slashes were deferred.
14567
- * - `slash_keys`: A list of slash keys identifying the slashes to remove. This is a tuple
14568
- * of `(stash, slash_fraction, page_index)`.
14678
+ * - `era`: The staking era for which slashes should be cancelled. This is the era where
14679
+ * the slash would be applied, not the era in which the offence was committed.
14680
+ * - `validator_slashes`: A list of validator stash accounts and their slash fractions to
14681
+ * be cancelled.
14569
14682
  **/
14570
- | { name: 'CancelDeferredSlash'; params: { era: number; slashKeys: Array<[AccountId32, Perbill, number]> } }
14683
+ | { name: 'CancelDeferredSlash'; params: { era: number; validatorSlashes: Array<[AccountId32, Perbill]> } }
14571
14684
  /**
14572
14685
  * Pay out next page of the stakers behind a validator for the given era.
14573
14686
  *
@@ -14594,9 +14707,8 @@ export type PalletStakingAsyncPalletCall =
14594
14707
  * Remove all data structures concerning a staker/stash once it is at a state where it can
14595
14708
  * be considered `dust` in the staking system. The requirements are:
14596
14709
  *
14597
- * 1. the `total_balance` of the stash is below minimum bond.
14598
- * 2. or, the `ledger.total` of the stash is below minimum bond.
14599
- * 3. or, existential deposit is zero and either `total_balance` or `ledger.total` is zero.
14710
+ * 1. the `total_balance` of the stash is below `min_chilled_bond` or is zero.
14711
+ * 2. or, the `ledger.total` of the stash is below `min_chilled_bond` or is zero.
14600
14712
  *
14601
14713
  * The former can happen in cases like a slash; the latter when a fully unbonded account
14602
14714
  * is still receiving staking rewards in `RewardDestination::Staked`.
@@ -14771,11 +14883,21 @@ export type PalletStakingAsyncPalletCall =
14771
14883
  **/
14772
14884
  | { name: 'MigrateCurrency'; params: { stash: AccountId32 } }
14773
14885
  /**
14774
- * Manually applies a deferred slash for a given era.
14886
+ * Manually and permissionlessly applies a deferred slash for a given era.
14775
14887
  *
14776
14888
  * Normally, slashes are automatically applied shortly after the start of the `slash_era`.
14777
- * This function exists as a **fallback mechanism** in case slashes were not applied due to
14778
- * unexpected reasons. It allows anyone to manually apply an unapplied slash.
14889
+ * The automatic application of slashes is handled by the pallet's internal logic, and it
14890
+ * tries to apply one slash page per block of the era.
14891
+ * If for some reason, one era is not enough for applying all slash pages, the remaining
14892
+ * slashes need to be manually (permissionlessly) applied.
14893
+ *
14894
+ * For a given era x, if at era x+1, slashes are still unapplied, all withdrawals get
14895
+ * blocked, and these need to be manually applied by calling this function.
14896
+ * This function exists as a **fallback mechanism** for this extreme situation, but we
14897
+ * never expect to encounter this in normal scenarios.
14898
+ *
14899
+ * The parameters for this call can be queried by looking at the `UnappliedSlashes` storage
14900
+ * for eras older than the active era.
14779
14901
  *
14780
14902
  * ## Parameters
14781
14903
  * - `slash_era`: The staking era in which the slash was originally scheduled.
@@ -14786,7 +14908,8 @@ export type PalletStakingAsyncPalletCall =
14786
14908
  *
14787
14909
  * ## Behavior
14788
14910
  * - The function is **permissionless**—anyone can call it.
14789
- * - The `slash_era` **must be the current era or a past era**. If it is in the future, the
14911
+ * - The `slash_era` **must be the current era or a past era**.
14912
+ * If it is in the future, the
14790
14913
  * call fails with `EraNotStarted`.
14791
14914
  * - The fee is waived if the slash is successfully applied.
14792
14915
  *
@@ -14794,7 +14917,21 @@ export type PalletStakingAsyncPalletCall =
14794
14917
  * - Implement an **off-chain worker (OCW) task** to automatically apply slashes when there
14795
14918
  * is unused block space, improving efficiency.
14796
14919
  **/
14797
- | { name: 'ApplySlash'; params: { slashEra: number; slashKey: [AccountId32, Perbill, number] } };
14920
+ | { name: 'ApplySlash'; params: { slashEra: number; slashKey: [AccountId32, Perbill, number] } }
14921
+ /**
14922
+ * Perform one step of era pruning to prevent PoV size exhaustion from unbounded deletions.
14923
+ *
14924
+ * This extrinsic enables permissionless lazy pruning of era data by performing
14925
+ * incremental deletion of storage items. Each call processes a limited number
14926
+ * of items based on available block weight to avoid exceeding block limits.
14927
+ *
14928
+ * Returns `Pays::No` when work is performed to incentivize regular maintenance.
14929
+ * Anyone can call this to help maintain the chain's storage health.
14930
+ *
14931
+ * The era must be eligible for pruning (older than HistoryDepth + 1).
14932
+ * Check `EraPruningState` storage to see if an era needs pruning before calling.
14933
+ **/
14934
+ | { name: 'PruneEraStep'; params: { era: number } };
14798
14935
 
14799
14936
  export type PalletStakingAsyncPalletCallLike =
14800
14937
  /**
@@ -14848,10 +14985,14 @@ export type PalletStakingAsyncPalletCallLike =
14848
14985
  **/
14849
14986
  | { name: 'Unbond'; params: { value: bigint } }
14850
14987
  /**
14851
- * Remove any unlocked chunks from the `unlocking` queue from our management.
14988
+ * Remove any stake that has been fully unbonded and is ready for withdrawal.
14852
14989
  *
14853
- * This essentially frees up that balance to be used by the stash account to do whatever
14854
- * it wants.
14990
+ * Stake is considered fully unbonded once [`Config::BondingDuration`] has elapsed since
14991
+ * the unbonding was initiated. In rare cases—such as when offences for the unbonded era
14992
+ * have been reported but not yet processed—withdrawal is restricted to eras for which
14993
+ * all offences have been processed.
14994
+ *
14995
+ * The unlocked stake will be returned as free balance in the stash account.
14855
14996
  *
14856
14997
  * The dispatch origin for this call must be _Signed_ by the controller.
14857
14998
  *
@@ -14861,8 +15002,8 @@ export type PalletStakingAsyncPalletCallLike =
14861
15002
  *
14862
15003
  * ## Parameters
14863
15004
  *
14864
- * - `num_slashing_spans`: **Deprecated**. This parameter is retained for backward
14865
- * compatibility. It no longer has any effect.
15005
+ * - `num_slashing_spans`: **Deprecated**. Retained only for backward compatibility; this
15006
+ * parameter has no effect.
14866
15007
  **/
14867
15008
  | { name: 'WithdrawUnbonded'; params: { numSlashingSpans: number } }
14868
15009
  /**
@@ -14990,15 +15131,17 @@ export type PalletStakingAsyncPalletCallLike =
14990
15131
  /**
14991
15132
  * Cancels scheduled slashes for a given era before they are applied.
14992
15133
  *
14993
- * This function allows `T::AdminOrigin` to selectively remove pending slashes from
14994
- * the `UnappliedSlashes` storage, preventing their enactment.
15134
+ * This function allows `T::AdminOrigin` to cancel pending slashes for specified validators
15135
+ * in a given era. The cancelled slashes are stored and will be checked when applying
15136
+ * slashes.
14995
15137
  *
14996
15138
  * ## Parameters
14997
- * - `era`: The staking era for which slashes were deferred.
14998
- * - `slash_keys`: A list of slash keys identifying the slashes to remove. This is a tuple
14999
- * of `(stash, slash_fraction, page_index)`.
15139
+ * - `era`: The staking era for which slashes should be cancelled. This is the era where
15140
+ * the slash would be applied, not the era in which the offence was committed.
15141
+ * - `validator_slashes`: A list of validator stash accounts and their slash fractions to
15142
+ * be cancelled.
15000
15143
  **/
15001
- | { name: 'CancelDeferredSlash'; params: { era: number; slashKeys: Array<[AccountId32Like, Perbill, number]> } }
15144
+ | { name: 'CancelDeferredSlash'; params: { era: number; validatorSlashes: Array<[AccountId32Like, Perbill]> } }
15002
15145
  /**
15003
15146
  * Pay out next page of the stakers behind a validator for the given era.
15004
15147
  *
@@ -15025,9 +15168,8 @@ export type PalletStakingAsyncPalletCallLike =
15025
15168
  * Remove all data structures concerning a staker/stash once it is at a state where it can
15026
15169
  * be considered `dust` in the staking system. The requirements are:
15027
15170
  *
15028
- * 1. the `total_balance` of the stash is below minimum bond.
15029
- * 2. or, the `ledger.total` of the stash is below minimum bond.
15030
- * 3. or, existential deposit is zero and either `total_balance` or `ledger.total` is zero.
15171
+ * 1. the `total_balance` of the stash is below `min_chilled_bond` or is zero.
15172
+ * 2. or, the `ledger.total` of the stash is below `min_chilled_bond` or is zero.
15031
15173
  *
15032
15174
  * The former can happen in cases like a slash; the latter when a fully unbonded account
15033
15175
  * is still receiving staking rewards in `RewardDestination::Staked`.
@@ -15202,11 +15344,21 @@ export type PalletStakingAsyncPalletCallLike =
15202
15344
  **/
15203
15345
  | { name: 'MigrateCurrency'; params: { stash: AccountId32Like } }
15204
15346
  /**
15205
- * Manually applies a deferred slash for a given era.
15347
+ * Manually and permissionlessly applies a deferred slash for a given era.
15206
15348
  *
15207
15349
  * Normally, slashes are automatically applied shortly after the start of the `slash_era`.
15208
- * This function exists as a **fallback mechanism** in case slashes were not applied due to
15209
- * unexpected reasons. It allows anyone to manually apply an unapplied slash.
15350
+ * The automatic application of slashes is handled by the pallet's internal logic, and it
15351
+ * tries to apply one slash page per block of the era.
15352
+ * If for some reason, one era is not enough for applying all slash pages, the remaining
15353
+ * slashes need to be manually (permissionlessly) applied.
15354
+ *
15355
+ * For a given era x, if at era x+1, slashes are still unapplied, all withdrawals get
15356
+ * blocked, and these need to be manually applied by calling this function.
15357
+ * This function exists as a **fallback mechanism** for this extreme situation, but we
15358
+ * never expect to encounter this in normal scenarios.
15359
+ *
15360
+ * The parameters for this call can be queried by looking at the `UnappliedSlashes` storage
15361
+ * for eras older than the active era.
15210
15362
  *
15211
15363
  * ## Parameters
15212
15364
  * - `slash_era`: The staking era in which the slash was originally scheduled.
@@ -15217,7 +15369,8 @@ export type PalletStakingAsyncPalletCallLike =
15217
15369
  *
15218
15370
  * ## Behavior
15219
15371
  * - The function is **permissionless**—anyone can call it.
15220
- * - The `slash_era` **must be the current era or a past era**. If it is in the future, the
15372
+ * - The `slash_era` **must be the current era or a past era**.
15373
+ * If it is in the future, the
15221
15374
  * call fails with `EraNotStarted`.
15222
15375
  * - The fee is waived if the slash is successfully applied.
15223
15376
  *
@@ -15225,7 +15378,21 @@ export type PalletStakingAsyncPalletCallLike =
15225
15378
  * - Implement an **off-chain worker (OCW) task** to automatically apply slashes when there
15226
15379
  * is unused block space, improving efficiency.
15227
15380
  **/
15228
- | { name: 'ApplySlash'; params: { slashEra: number; slashKey: [AccountId32Like, Perbill, number] } };
15381
+ | { name: 'ApplySlash'; params: { slashEra: number; slashKey: [AccountId32Like, Perbill, number] } }
15382
+ /**
15383
+ * Perform one step of era pruning to prevent PoV size exhaustion from unbounded deletions.
15384
+ *
15385
+ * This extrinsic enables permissionless lazy pruning of era data by performing
15386
+ * incremental deletion of storage items. Each call processes a limited number
15387
+ * of items based on available block weight to avoid exceeding block limits.
15388
+ *
15389
+ * Returns `Pays::No` when work is performed to incentivize regular maintenance.
15390
+ * Anyone can call this to help maintain the chain's storage health.
15391
+ *
15392
+ * The era must be eligible for pruning (older than HistoryDepth + 1).
15393
+ * Check `EraPruningState` storage to see if an era needs pruning before calling.
15394
+ **/
15395
+ | { name: 'PruneEraStep'; params: { era: number } };
15229
15396
 
15230
15397
  export type PalletStakingAsyncPalletConfigOp = { type: 'Noop' } | { type: 'Set'; value: bigint } | { type: 'Remove' };
15231
15398
 
@@ -16394,7 +16561,7 @@ export type PalletElectionProviderMultiBlockSignedPalletCall =
16394
16561
  /**
16395
16562
  * Retract a submission.
16396
16563
  *
16397
- * A portion of the deposit may be returned, based on the [`Config::BailoutGraceRatio`].
16564
+ * A portion of the deposit may be returned, based on the [`Config::EjectGraceRatio`].
16398
16565
  *
16399
16566
  * This will fully remove the solution from storage.
16400
16567
  **/
@@ -16437,7 +16604,7 @@ export type PalletElectionProviderMultiBlockSignedPalletCallLike =
16437
16604
  /**
16438
16605
  * Retract a submission.
16439
16606
  *
16440
- * A portion of the deposit may be returned, based on the [`Config::BailoutGraceRatio`].
16607
+ * A portion of the deposit may be returned, based on the [`Config::EjectGraceRatio`].
16441
16608
  *
16442
16609
  * This will fully remove the solution from storage.
16443
16610
  **/
@@ -17458,38 +17625,6 @@ export type PalletAhOpsCallLike =
17458
17625
  };
17459
17626
  };
17460
17627
 
17461
- export type AssetHubWestendRuntimeRuntimeHoldReason =
17462
- | { type: 'Preimage'; value: PalletPreimageHoldReason }
17463
- | { type: 'Session'; value: PalletSessionHoldReason }
17464
- | { type: 'PolkadotXcm'; value: PalletXcmHoldReason }
17465
- | { type: 'NftFractionalization'; value: PalletNftFractionalizationHoldReason }
17466
- | { type: 'Revive'; value: PalletReviveHoldReason }
17467
- | { type: 'AssetRewards'; value: PalletAssetRewardsHoldReason }
17468
- | { type: 'StateTrieMigration'; value: PalletStateTrieMigrationHoldReason }
17469
- | { type: 'Staking'; value: PalletStakingAsyncPalletHoldReason }
17470
- | { type: 'DelegatedStaking'; value: PalletDelegatedStakingHoldReason }
17471
- | { type: 'MultiBlockElectionSigned'; value: PalletElectionProviderMultiBlockSignedPalletHoldReason };
17472
-
17473
- export type PalletPreimageHoldReason = 'Preimage';
17474
-
17475
- export type PalletSessionHoldReason = 'Keys';
17476
-
17477
- export type PalletXcmHoldReason = 'AuthorizeAlias';
17478
-
17479
- export type PalletNftFractionalizationHoldReason = 'Fractionalized';
17480
-
17481
- export type PalletReviveHoldReason = 'CodeUploadDepositReserve' | 'StorageDepositReserve' | 'AddressMapping';
17482
-
17483
- export type PalletAssetRewardsHoldReason = 'PoolCreation';
17484
-
17485
- export type PalletStateTrieMigrationHoldReason = 'SlashForMigrate';
17486
-
17487
- export type PalletStakingAsyncPalletHoldReason = 'Staking';
17488
-
17489
- export type PalletDelegatedStakingHoldReason = 'StakingDelegation';
17490
-
17491
- export type PalletElectionProviderMultiBlockSignedPalletHoldReason = 'SignedSubmission';
17492
-
17493
17628
  export type SpRuntimeBlakeTwo256 = {};
17494
17629
 
17495
17630
  export type PalletConvictionVotingTally = { ayes: bigint; nays: bigint; support: bigint };
@@ -19373,9 +19508,18 @@ export type PalletReviveVmCodeInfo = {
19373
19508
  deposit: bigint;
19374
19509
  refcount: bigint;
19375
19510
  codeLen: number;
19511
+ codeType: PalletReviveVmBytecodeType;
19376
19512
  behaviourVersion: number;
19377
19513
  };
19378
19514
 
19515
+ export type PalletReviveVmBytecodeType = 'Pvm' | 'Evm';
19516
+
19517
+ export type PalletReviveStorageAccountInfo = { accountType: PalletReviveStorageAccountType; dust: number };
19518
+
19519
+ export type PalletReviveStorageAccountType =
19520
+ | { type: 'Contract'; value: PalletReviveStorageContractInfo }
19521
+ | { type: 'Eoa' };
19522
+
19379
19523
  export type PalletReviveStorageContractInfo = {
19380
19524
  trieId: Bytes;
19381
19525
  codeHash: H256;
@@ -19440,7 +19584,7 @@ export type PalletReviveError =
19440
19584
  **/
19441
19585
  | 'ContractTrapped'
19442
19586
  /**
19443
- * The size defined in `T::MaxValueSize` was exceeded.
19587
+ * Event body or storage item exceeds [`limits::PAYLOAD_BYTES`].
19444
19588
  **/
19445
19589
  | 'ValueTooLarge'
19446
19590
  /**
@@ -19509,8 +19653,7 @@ export type PalletReviveError =
19509
19653
  **/
19510
19654
  | 'BlobTooLarge'
19511
19655
  /**
19512
- * The static memory consumption of the blob will be larger than
19513
- * [`limits::code::STATIC_MEMORY_BYTES`].
19656
+ * The contract declares too much memory (ro + rw + stack).
19514
19657
  **/
19515
19658
  | 'StaticMemoryTooLarge'
19516
19659
  /**
@@ -19557,10 +19700,6 @@ export type PalletReviveError =
19557
19700
  * Failed to convert a U256 to a Balance.
19558
19701
  **/
19559
19702
  | 'BalanceConversionFailed'
19560
- /**
19561
- * Failed to convert an EVM balance to a native balance.
19562
- **/
19563
- | 'DecimalPrecisionLoss'
19564
19703
  /**
19565
19704
  * Immutable data can only be set during deploys and only be read during calls.
19566
19705
  * Additionally, it is only valid to set the data once and it must not be empty.
@@ -19585,9 +19724,17 @@ export type PalletReviveError =
19585
19724
  **/
19586
19725
  | 'RefcountOverOrUnderflow'
19587
19726
  /**
19588
- * Unsupported precompile address
19727
+ * Unsupported precompile address.
19589
19728
  **/
19590
- | 'UnsupportedPrecompileAddress';
19729
+ | 'UnsupportedPrecompileAddress'
19730
+ /**
19731
+ * The calldata exceeds [`limits::CALLDATA_BYTES`].
19732
+ **/
19733
+ | 'CallDataTooLarge'
19734
+ /**
19735
+ * The return data exceeds [`limits::CALLDATA_BYTES`].
19736
+ **/
19737
+ | 'ReturnDataTooLarge';
19591
19738
 
19592
19739
  export type PalletAssetRewardsPoolStakerInfo = { amount: bigint; rewards: bigint; rewardPerTokenPaid: bigint };
19593
19740
 
@@ -19690,6 +19837,15 @@ export type PalletStakingAsyncSnapshotStatus =
19690
19837
  | { type: 'Consumed' }
19691
19838
  | { type: 'Waiting' };
19692
19839
 
19840
+ export type PalletStakingAsyncPalletPruningStep =
19841
+ | 'ErasStakersPaged'
19842
+ | 'ErasStakersOverview'
19843
+ | 'ErasValidatorPrefs'
19844
+ | 'ClaimedRewards'
19845
+ | 'ErasValidatorReward'
19846
+ | 'ErasRewardPoints'
19847
+ | 'ErasTotalStake';
19848
+
19693
19849
  /**
19694
19850
  * The `Error` enum of this pallet.
19695
19851
  **/
@@ -19830,7 +19986,20 @@ export type PalletStakingAsyncPalletError =
19830
19986
  * Account is restricted from participation in staking. This may happen if the account is
19831
19987
  * staking in another way already, such as via pool.
19832
19988
  **/
19833
- | 'Restricted';
19989
+ | 'Restricted'
19990
+ /**
19991
+ * Unapplied slashes in the recently concluded era is blocking this operation.
19992
+ * See `Call::apply_slash` to apply them.
19993
+ **/
19994
+ | 'UnappliedSlashesInPreviousEra'
19995
+ /**
19996
+ * The era is not eligible for pruning.
19997
+ **/
19998
+ | 'EraNotPrunable'
19999
+ /**
20000
+ * The slash has been cancelled and cannot be applied.
20001
+ **/
20002
+ | 'CancelledSlash';
19834
20003
 
19835
20004
  export type PalletNominationPoolsPoolMember = {
19836
20005
  poolId: number;
@@ -20779,6 +20948,7 @@ export type PalletRevivePrimitivesInstantiateReturnValue = {
20779
20948
 
20780
20949
  export type PalletReviveEvmApiRpcTypesGenGenericTransaction = {
20781
20950
  accessList?: Array<PalletReviveEvmApiRpcTypesGenAccessListEntry> | undefined;
20951
+ authorizationList: Array<PalletReviveEvmApiRpcTypesGenAuthorizationListEntry>;
20782
20952
  blobVersionedHashes: Array<H256>;
20783
20953
  blobs: Array<PalletReviveEvmApiByteBytes>;
20784
20954
  chainId?: U256 | undefined;
@@ -20797,6 +20967,15 @@ export type PalletReviveEvmApiRpcTypesGenGenericTransaction = {
20797
20967
 
20798
20968
  export type PalletReviveEvmApiRpcTypesGenAccessListEntry = { address: H160; storageKeys: Array<H256> };
20799
20969
 
20970
+ export type PalletReviveEvmApiRpcTypesGenAuthorizationListEntry = {
20971
+ chainId: U256;
20972
+ address: H160;
20973
+ nonce: U256;
20974
+ yParity: U256;
20975
+ r: U256;
20976
+ s: U256;
20977
+ };
20978
+
20800
20979
  export type PalletReviveEvmApiByteBytes = Bytes;
20801
20980
 
20802
20981
  export type PalletReviveEvmApiRpcTypesGenInputOrData = {