@dedot/chaintypes 0.279.0 → 0.280.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dedot/chaintypes",
3
- "version": "0.279.0",
3
+ "version": "0.280.0",
4
4
  "description": "Types for substrate-based chains",
5
5
  "author": "Thang X. Vu <thang@dedot.dev>",
6
6
  "homepage": "https://dedot.dev",
@@ -25,7 +25,7 @@
25
25
  "directory": "dist"
26
26
  },
27
27
  "license": "Apache-2.0",
28
- "gitHead": "cc2448886a0bc935ad98c02f313c8190dfec824d",
28
+ "gitHead": "ab270266c830f6227d3077e8a64d57543c39f6fd",
29
29
  "module": "./index.js",
30
30
  "types": "./index.d.ts",
31
31
  "exports": {
@@ -651,6 +651,27 @@ export interface ChainConsts extends GenericChainConsts {
651
651
  **/
652
652
  [name: string]: any;
653
653
  };
654
+ /**
655
+ * Pallet `Recovery`'s constants
656
+ **/
657
+ recovery: {
658
+ /**
659
+ * Security deposit taken for each attempt that the initiator needs to place.
660
+ **/
661
+ securityDeposit: bigint;
662
+
663
+ /**
664
+ * DO NOT REDUCE THIS VALUE. Maximum number of friends per account config.
665
+ *
666
+ * Reducing this value can cause decoding errors in the bounded vectors.
667
+ **/
668
+ maxFriendsPerConfig: number;
669
+
670
+ /**
671
+ * Generic pallet constant
672
+ **/
673
+ [name: string]: any;
674
+ };
654
675
  /**
655
676
  * Pallet `Assets`'s constants
656
677
  **/
@@ -1148,6 +1169,15 @@ export interface ChainConsts extends GenericChainConsts {
1148
1169
  **/
1149
1170
  [name: string]: any;
1150
1171
  };
1172
+ /**
1173
+ * Pallet `AssetsHolder`'s constants
1174
+ **/
1175
+ assetsHolder: {
1176
+ /**
1177
+ * Generic pallet constant
1178
+ **/
1179
+ [name: string]: any;
1180
+ };
1151
1181
  /**
1152
1182
  * Pallet `AssetRewards`'s constants
1153
1183
  **/
@@ -989,6 +989,130 @@ export interface ChainErrors extends GenericChainErrors {
989
989
  **/
990
990
  [error: string]: GenericPalletError;
991
991
  };
992
+ /**
993
+ * Pallet `Recovery`'s errors
994
+ **/
995
+ recovery: {
996
+ /**
997
+ * This attempt is already fully approved and does not need any more votes.
998
+ **/
999
+ AlreadyApproved: GenericPalletError;
1000
+
1001
+ /**
1002
+ * The recovery attempt has already been initiated.
1003
+ **/
1004
+ AlreadyInitiated: GenericPalletError;
1005
+
1006
+ /**
1007
+ * The friend already voted for this attempt.
1008
+ **/
1009
+ AlreadyVoted: GenericPalletError;
1010
+
1011
+ /**
1012
+ * The lost account has ongoing recovery attempts.
1013
+ **/
1014
+ HasOngoingAttempts: GenericPalletError;
1015
+
1016
+ /**
1017
+ * The lost account cannot be a friend of itself.
1018
+ **/
1019
+ LostAccountInFriendGroup: GenericPalletError;
1020
+
1021
+ /**
1022
+ * The account was already recovered by a group of equal or higher priority.
1023
+ **/
1024
+ HigherPriorityRecovered: GenericPalletError;
1025
+
1026
+ /**
1027
+ * Cancel delay must be at least 1.
1028
+ **/
1029
+ NoCancelDelay: GenericPalletError;
1030
+
1031
+ /**
1032
+ * This account does not have any friend groups.
1033
+ **/
1034
+ NoFriendGroups: GenericPalletError;
1035
+
1036
+ /**
1037
+ * The friend group has no friends.
1038
+ **/
1039
+ NoFriends: GenericPalletError;
1040
+
1041
+ /**
1042
+ * The lost account does not have any inheritor.
1043
+ **/
1044
+ NoInheritor: GenericPalletError;
1045
+
1046
+ /**
1047
+ * Not enough friends approved this attempt.
1048
+ **/
1049
+ NotApproved: GenericPalletError;
1050
+
1051
+ /**
1052
+ * The referenced recovery attempt was not found.
1053
+ **/
1054
+ NotAttempt: GenericPalletError;
1055
+
1056
+ /**
1057
+ * The caller is not the initiator or the lost account.
1058
+ **/
1059
+ NotCanceller: GenericPalletError;
1060
+
1061
+ /**
1062
+ * The caller is not a friend of the lost account.
1063
+ **/
1064
+ NotFriend: GenericPalletError;
1065
+
1066
+ /**
1067
+ * A specific referenced friend group was not found.
1068
+ **/
1069
+ NotFriendGroup: GenericPalletError;
1070
+
1071
+ /**
1072
+ * The caller is not the inheritor of the lost account.
1073
+ **/
1074
+ NotInheritor: GenericPalletError;
1075
+
1076
+ /**
1077
+ * The cancel delay since the last approval or initialization has not yet passed.
1078
+ **/
1079
+ NotYetCancelable: GenericPalletError;
1080
+
1081
+ /**
1082
+ * The inheritance delay of this attempt has not yet passed.
1083
+ **/
1084
+ NotYetInheritable: GenericPalletError;
1085
+
1086
+ /**
1087
+ * Too many friend groups.
1088
+ **/
1089
+ TooManyFriendGroups: GenericPalletError;
1090
+
1091
+ /**
1092
+ * The number of friends needed is greater than the number of friends.
1093
+ **/
1094
+ TooManyFriendsNeeded: GenericPalletError;
1095
+
1096
+ /**
1097
+ * The number of friends needed is zero.
1098
+ **/
1099
+ NoFriendsNeeded: GenericPalletError;
1100
+
1101
+ /**
1102
+ * The friends of a friend group are not sorted or not unique.
1103
+ **/
1104
+ FriendsNotSortedOrUnique: GenericPalletError;
1105
+
1106
+ /**
1107
+ * Two friend groups have the same set of friends.
1108
+ **/
1109
+ DuplicateFriendGroups: GenericPalletError;
1110
+
1111
+ /**
1112
+ * Generic pallet error
1113
+ **/
1114
+ [error: string]: GenericPalletError;
1115
+ };
992
1116
  /**
993
1117
  * Pallet `Assets`'s errors
994
1118
  **/
@@ -2259,6 +2383,27 @@ export interface ChainErrors extends GenericChainErrors {
2259
2383
  **/
2260
2384
  AutoMappingEnabled: GenericPalletError;
2261
2385
 
2386
+ /**
2387
+ * A contract cannot be created at this address: it still has uncleared
2388
+ * [`NativeDepositOf`] entries from a previously terminated contract that the deletion
2389
+ * queue has not yet drained.
2390
+ **/
2391
+ PendingDepositCleanup: GenericPalletError;
2392
+
2393
+ /**
2394
+ * Generic pallet error
2395
+ **/
2396
+ [error: string]: GenericPalletError;
2397
+ };
2398
+ /**
2399
+ * Pallet `AssetsHolder`'s errors
2400
+ **/
2401
+ assetsHolder: {
2402
+ /**
2403
+ * Number of holds on an account would exceed the count of `RuntimeHoldReason`.
2404
+ **/
2405
+ TooManyHolds: GenericPalletError;
2406
+
2262
2407
  /**
2263
2408
  * Generic pallet error
2264
2409
  **/
@@ -1675,6 +1675,97 @@ export interface ChainEvents extends GenericChainEvents {
1675
1675
  **/
1676
1676
  [prop: string]: GenericPalletEvent;
1677
1677
  };
1678
+ /**
1679
+ * Pallet `Recovery`'s events
1680
+ **/
1681
+ recovery: {
1682
+ /**
1683
+ * A recovery attempt was approved by a friend.
1684
+ **/
1685
+ AttemptApproved: GenericPalletEvent<
1686
+ 'Recovery',
1687
+ 'AttemptApproved',
1688
+ { lost: AccountId32; friendGroupIndex: number; friend: AccountId32 }
1689
+ >;
1690
+
1691
+ /**
1692
+ * A recovery attempt was canceled by either the lost account or the initiator.
1693
+ **/
1694
+ AttemptCanceled: GenericPalletEvent<
1695
+ 'Recovery',
1696
+ 'AttemptCanceled',
1697
+ { lost: AccountId32; friendGroupIndex: number; canceler: AccountId32 }
1698
+ >;
1699
+
1700
+ /**
1701
+ * A recovery attempt was initiated by a friend.
1702
+ **/
1703
+ AttemptInitiated: GenericPalletEvent<
1704
+ 'Recovery',
1705
+ 'AttemptInitiated',
1706
+ { lost: AccountId32; friendGroupIndex: number; initiator: AccountId32 }
1707
+ >;
1708
+
1709
+ /**
1710
+ * A recovery attempt was finished.
1711
+ **/
1712
+ AttemptFinished: GenericPalletEvent<
1713
+ 'Recovery',
1714
+ 'AttemptFinished',
1715
+ {
1716
+ lost: AccountId32;
1717
+ friendGroupIndex: number;
1718
+ inheritor: AccountId32;
1719
+ previousInheritor?: AccountId32 | undefined;
1720
+ }
1721
+ >;
1722
+
1723
+ /**
1724
+ * A recovery attempt was discarded because the account was already recovered by a
1725
+ * friend group of equal or higher priority.
1726
+ *
1727
+ * The attempt is consumed (removed from storage) and its deposits are released, but
1728
+ * the existing inheritor remains unchanged.
1729
+ **/
1730
+ AttemptDiscarded: GenericPalletEvent<
1731
+ 'Recovery',
1732
+ 'AttemptDiscarded',
1733
+ { lost: AccountId32; friendGroupIndex: number; existingInheritor: AccountId32 }
1734
+ >;
1735
+
1736
+ /**
1737
+ * A recovery attempt was slashed by the lost account.
1738
+ *
1739
+ * The initiator will lose their security deposit.
1740
+ **/
1741
+ AttemptSlashed: GenericPalletEvent<'Recovery', 'AttemptSlashed', { lost: AccountId32; friendGroupIndex: number }>;
1742
+
1743
+ /**
1744
+ * The friend groups of an account have been changed.
1745
+ **/
1746
+ FriendGroupsChanged: GenericPalletEvent<'Recovery', 'FriendGroupsChanged', { lost: AccountId32 }>;
1747
+
1748
+ /**
1749
+ * The inheritor of a lost account was revoked by the lost account.
1750
+ **/
1751
+ InheritorRevoked: GenericPalletEvent<'Recovery', 'InheritorRevoked', { lost: AccountId32 }>;
1752
+
1753
+ /**
1754
+ * A recovered account was controlled by its inheritor.
1755
+ *
1756
+ * Check the `call_result` to see if it was successful.
1757
+ **/
1758
+ RecoveredAccountControlled: GenericPalletEvent<
1759
+ 'Recovery',
1760
+ 'RecoveredAccountControlled',
1761
+ { recovered: AccountId32; inheritor: AccountId32; callHash: H256; callResult: Result<[], DispatchError> }
1762
+ >;
1763
+
1764
+ /**
1765
+ * Generic pallet event
1766
+ **/
1767
+ [prop: string]: GenericPalletEvent;
1768
+ };
1678
1769
  /**
1679
1770
  * Pallet `Assets`'s events
1680
1771
  **/
@@ -3191,6 +3282,42 @@ export interface ChainEvents extends GenericChainEvents {
3191
3282
  **/
3192
3283
  [prop: string]: GenericPalletEvent;
3193
3284
  };
3285
+ /**
3286
+ * Pallet `AssetsHolder`'s events
3287
+ **/
3288
+ assetsHolder: {
3289
+ /**
3290
+ * `who`s balance on hold was increased by `amount`.
3291
+ **/
3292
+ Held: GenericPalletEvent<
3293
+ 'AssetsHolder',
3294
+ 'Held',
3295
+ { who: AccountId32; assetId: number; reason: AssetHubWestendRuntimeRuntimeHoldReason; amount: bigint }
3296
+ >;
3297
+
3298
+ /**
3299
+ * `who`s balance on hold was decreased by `amount`.
3300
+ **/
3301
+ Released: GenericPalletEvent<
3302
+ 'AssetsHolder',
3303
+ 'Released',
3304
+ { who: AccountId32; assetId: number; reason: AssetHubWestendRuntimeRuntimeHoldReason; amount: bigint }
3305
+ >;
3306
+
3307
+ /**
3308
+ * `who`s balance on hold was burned by `amount`.
3309
+ **/
3310
+ Burned: GenericPalletEvent<
3311
+ 'AssetsHolder',
3312
+ 'Burned',
3313
+ { who: AccountId32; assetId: number; reason: AssetHubWestendRuntimeRuntimeHoldReason; amount: bigint }
3314
+ >;
3315
+
3316
+ /**
3317
+ * Generic pallet event
3318
+ **/
3319
+ [prop: string]: GenericPalletEvent;
3320
+ };
3194
3321
  /**
3195
3322
  * Pallet `AssetRewards`'s events
3196
3323
  **/
@@ -54,7 +54,7 @@ interface ChainKnownTypes extends GenericChainKnownTypes {
54
54
 
55
55
  /**
56
56
  * @name: WestendAssetHubApi
57
- * @specVersion: 1022005
57
+ * @specVersion: 1022006
58
58
  **/
59
59
  export interface WestendAssetHubApi extends GenericSubstrateApi {
60
60
  rpc: ChainJsonRpcApis;
@@ -77,6 +77,10 @@ import type {
77
77
  PalletProxyAnnouncement,
78
78
  AssetHubWestendRuntimeRuntimeParametersValue,
79
79
  AssetHubWestendRuntimeRuntimeParametersKey,
80
+ PalletRecoveryFriendGroup,
81
+ FrameSupportTokensFungibleHoldConsideration,
82
+ PalletRecoveryAttempt,
83
+ PalletRecoveryIdentifiedConsideration,
80
84
  PalletAssetsAssetDetails,
81
85
  PalletAssetsAssetAccount,
82
86
  PalletAssetsApproval,
@@ -101,6 +105,7 @@ import type {
101
105
  PalletAssetConversionPoolInfo,
102
106
  PalletReviveVmCodeInfo,
103
107
  PalletReviveStorageAccountInfo,
108
+ PalletReviveStorageDeletionQueueItem,
104
109
  PalletReviveStorageDeletionQueueManager,
105
110
  PalletReviveEvmApiRpcTypesGenBlock,
106
111
  PalletReviveEvmBlockHashReceiptGasInfo,
@@ -108,7 +113,6 @@ import type {
108
113
  PalletReviveDebugDebugSettings,
109
114
  PalletAssetRewardsPoolStakerInfo,
110
115
  PalletAssetRewardsPoolInfo,
111
- FrameSupportTokensFungibleHoldConsideration,
112
116
  PalletPsmCircuitBreakerLevel,
113
117
  PalletStateTrieMigrationMigrationTask,
114
118
  PalletStateTrieMigrationMigrationLimits,
@@ -1563,6 +1567,58 @@ export interface ChainStorage extends GenericChainStorage {
1563
1567
  **/
1564
1568
  [storage: string]: GenericStorageQuery;
1565
1569
  };
1570
+ /**
1571
+ * Pallet `Recovery`'s storage queries
1572
+ **/
1573
+ recovery: {
1574
+ /**
1575
+ * The friend groups of an account that can conduct recovery attempts.
1576
+ *
1577
+ * Modifying this storage is not possible while an account has ongoing recovery attempts.
1578
+ *
1579
+ * @param {AccountId32Like} arg
1580
+ * @param {Callback<[Array<PalletRecoveryFriendGroup>, FrameSupportTokensFungibleHoldConsideration] | undefined> =} callback
1581
+ **/
1582
+ friendGroups: GenericStorageQuery<
1583
+ (
1584
+ arg: AccountId32Like,
1585
+ ) => [Array<PalletRecoveryFriendGroup>, FrameSupportTokensFungibleHoldConsideration] | undefined,
1586
+ AccountId32
1587
+ >;
1588
+
1589
+ /**
1590
+ * Ongoing recovery attempts of a lost account indexed by `(lost, friend_group)`.
1591
+ *
1592
+ * @param {[AccountId32Like, number]} arg
1593
+ * @param {Callback<[PalletRecoveryAttempt, PalletRecoveryIdentifiedConsideration, bigint] | undefined> =} callback
1594
+ **/
1595
+ attempt: GenericStorageQuery<
1596
+ (
1597
+ arg: [AccountId32Like, number],
1598
+ ) => [PalletRecoveryAttempt, PalletRecoveryIdentifiedConsideration, bigint] | undefined,
1599
+ [AccountId32, number]
1600
+ >;
1601
+
1602
+ /**
1603
+ * The account that inherited full access to a lost account after successful recovery.
1604
+ *
1605
+ * The key is the lost account and the value is the inheritor account.
1606
+ *
1607
+ * NOTE: This could be a multisig or proxy account
1608
+ *
1609
+ * @param {AccountId32Like} arg
1610
+ * @param {Callback<[number, AccountId32, PalletRecoveryIdentifiedConsideration] | undefined> =} callback
1611
+ **/
1612
+ inheritor: GenericStorageQuery<
1613
+ (arg: AccountId32Like) => [number, AccountId32, PalletRecoveryIdentifiedConsideration] | undefined,
1614
+ AccountId32
1615
+ >;
1616
+
1617
+ /**
1618
+ * Generic pallet storage query
1619
+ **/
1620
+ [storage: string]: GenericStorageQuery;
1621
+ };
1566
1622
  /**
1567
1623
  * Pallet `Assets`'s storage queries
1568
1624
  **/
@@ -2203,6 +2259,26 @@ export interface ChainStorage extends GenericChainStorage {
2203
2259
  **/
2204
2260
  accountInfoOf: GenericStorageQuery<(arg: H160) => PalletReviveStorageAccountInfo | undefined, H160>;
2205
2261
 
2262
+ /**
2263
+ * Native currency storage deposit contributed by a user into a contract.
2264
+ *
2265
+ * Bounds how much native value the user can receive back from that contract's
2266
+ * storage deposit.
2267
+ *
2268
+ * Keys: `(holder, contributor) -> amount`
2269
+ * - `holder`: account on which the deposit is held (a contract, or the pallet's own account
2270
+ * for code-upload deposits).
2271
+ * - `contributor`: user that funded the deposit. Receives the native portion on refund, capped
2272
+ * at this entry's `amount`.
2273
+ *
2274
+ * @param {[AccountId32Like, AccountId32Like]} arg
2275
+ * @param {Callback<bigint> =} callback
2276
+ **/
2277
+ nativeDepositOf: GenericStorageQuery<
2278
+ (arg: [AccountId32Like, AccountId32Like]) => bigint,
2279
+ [AccountId32, AccountId32]
2280
+ >;
2281
+
2206
2282
  /**
2207
2283
  * The immutable data associated with a given account.
2208
2284
  *
@@ -2212,15 +2288,16 @@ export interface ChainStorage extends GenericChainStorage {
2212
2288
  immutableDataOf: GenericStorageQuery<(arg: H160) => Bytes | undefined, H160>;
2213
2289
 
2214
2290
  /**
2215
- * Evicted contracts that await child trie deletion.
2291
+ * Terminated contracts that await lazy cleanup.
2216
2292
  *
2217
- * Child trie deletion is a heavy operation depending on the amount of storage items
2218
- * stored in said trie. Therefore this operation is performed lazily in `on_idle`.
2293
+ * Each entry pairs a child trie ID with the contract account so that `on_idle` can
2294
+ * drain both the child trie and any [`NativeDepositOf`] entries that named the contract
2295
+ * as `holder`. Both can be arbitrarily large, so cleanup runs lazily in `on_idle`.
2219
2296
  *
2220
2297
  * @param {number} arg
2221
- * @param {Callback<Bytes | undefined> =} callback
2298
+ * @param {Callback<PalletReviveStorageDeletionQueueItem | undefined> =} callback
2222
2299
  **/
2223
- deletionQueue: GenericStorageQuery<(arg: number) => Bytes | undefined, number>;
2300
+ deletionQueue: GenericStorageQuery<(arg: number) => PalletReviveStorageDeletionQueueItem | undefined, number>;
2224
2301
 
2225
2302
  /**
2226
2303
  * A pair of monotonic counters used to track the latest contract marked for deletion
@@ -2309,6 +2386,34 @@ export interface ChainStorage extends GenericChainStorage {
2309
2386
  **/
2310
2387
  [storage: string]: GenericStorageQuery;
2311
2388
  };
2389
+ /**
2390
+ * Pallet `AssetsHolder`'s storage queries
2391
+ **/
2392
+ assetsHolder: {
2393
+ /**
2394
+ * A map that stores holds applied on an account for a given AssetId.
2395
+ *
2396
+ * @param {[number, AccountId32Like]} arg
2397
+ * @param {Callback<Array<FrameSupportTokensMiscIdAmount>> =} callback
2398
+ **/
2399
+ holds: GenericStorageQuery<
2400
+ (arg: [number, AccountId32Like]) => Array<FrameSupportTokensMiscIdAmount>,
2401
+ [number, AccountId32]
2402
+ >;
2403
+
2404
+ /**
2405
+ * A map that stores the current total balance on hold for every account on a given AssetId.
2406
+ *
2407
+ * @param {[number, AccountId32Like]} arg
2408
+ * @param {Callback<bigint | undefined> =} callback
2409
+ **/
2410
+ balancesOnHold: GenericStorageQuery<(arg: [number, AccountId32Like]) => bigint | undefined, [number, AccountId32]>;
2411
+
2412
+ /**
2413
+ * Generic pallet storage query
2414
+ **/
2415
+ [storage: string]: GenericStorageQuery;
2416
+ };
2312
2417
  /**
2313
2418
  * Pallet `AssetRewards`'s storage queries
2314
2419
  **/
@@ -51,6 +51,7 @@ import type {
51
51
  AssetHubWestendRuntimeProxyType,
52
52
  PalletMetaTxMetaTx,
53
53
  AssetHubWestendRuntimeRuntimeParameters,
54
+ PalletRecoveryFriendGroup,
54
55
  PalletUniquesDestroyWitness,
55
56
  PalletNftsCollectionConfig,
56
57
  PalletNftsDestroyWitness,
@@ -3954,6 +3955,209 @@ export interface ChainTx<
3954
3955
  **/
3955
3956
  [callName: string]: GenericTxCall<TxCall<ChainKnownTypes>>;
3956
3957
  };
3958
+ /**
3959
+ * Pallet `Recovery`'s transaction calls
3960
+ **/
3961
+ recovery: {
3962
+ /**
3963
+ * Allows the inheritor of a recovered account to control it.
3964
+ *
3965
+ * The controller is not allowed to dispatch calls of the recovery pallet. Otherwise they
3966
+ * could mess with the recovery configuration and possibly cancel or slash attempts from
3967
+ * higher-priority friend groups.
3968
+ *
3969
+ * @param {MultiAddressLike} recovered
3970
+ * @param {AssetHubWestendRuntimeRuntimeCallLike} call
3971
+ **/
3972
+ controlInheritedAccount: GenericTxCall<
3973
+ (
3974
+ recovered: MultiAddressLike,
3975
+ call: AssetHubWestendRuntimeRuntimeCallLike,
3976
+ ) => ChainSubmittableExtrinsic<
3977
+ {
3978
+ pallet: 'Recovery';
3979
+ palletCall: {
3980
+ name: 'ControlInheritedAccount';
3981
+ params: { recovered: MultiAddressLike; call: AssetHubWestendRuntimeRuntimeCallLike };
3982
+ };
3983
+ },
3984
+ ChainKnownTypes
3985
+ >
3986
+ >;
3987
+
3988
+ /**
3989
+ * Revoke the inheritor of the calling (lost) account.
3990
+ *
3991
+ * This removes the inheritor entry and refunds the inheritor deposit. Can only be called
3992
+ * by the lost account itself after it regains access.
3993
+ *
3994
+ **/
3995
+ revokeInheritor: GenericTxCall<
3996
+ () => ChainSubmittableExtrinsic<
3997
+ {
3998
+ pallet: 'Recovery';
3999
+ palletCall: {
4000
+ name: 'RevokeInheritor';
4001
+ };
4002
+ },
4003
+ ChainKnownTypes
4004
+ >
4005
+ >;
4006
+
4007
+ /**
4008
+ * Set the friend groups of the calling account before it lost access.
4009
+ *
4010
+ * Cannot be used while there are ongoing recovery attempts. The friends of each group
4011
+ * MUST be sorted and unique. Trying to insert two friend groups with the same set of
4012
+ * friends will result in an error.
4013
+ *
4014
+ * A `FriendGroupsChanged` event is emitted only when the new friends groups differed from
4015
+ * the old ones.
4016
+ *
4017
+ * @param {Array<PalletRecoveryFriendGroup>} friendGroups
4018
+ **/
4019
+ setFriendGroups: GenericTxCall<
4020
+ (friendGroups: Array<PalletRecoveryFriendGroup>) => ChainSubmittableExtrinsic<
4021
+ {
4022
+ pallet: 'Recovery';
4023
+ palletCall: {
4024
+ name: 'SetFriendGroups';
4025
+ params: { friendGroups: Array<PalletRecoveryFriendGroup> };
4026
+ };
4027
+ },
4028
+ ChainKnownTypes
4029
+ >
4030
+ >;
4031
+
4032
+ /**
4033
+ * Attempt to recover a lost account by a friend within the given friend group.
4034
+ *
4035
+ * The initiator's approval is recorded automatically, so they do not need to call
4036
+ * `approve_attempt` themselves.
4037
+ *
4038
+ * Once an account has been recovered by a friend group, no friend group of equal or lower
4039
+ * priority can open a new attempt: it will fail with [`Error::HigherPriorityRecovered`].
4040
+ * Only a strictly higher-priority group (lower numerical
4041
+ * [`FriendGroup::inheritance_priority`]) can take over the inheritor.
4042
+ *
4043
+ * @param {MultiAddressLike} lost
4044
+ * @param {number} friendGroupIndex
4045
+ **/
4046
+ initiateAttempt: GenericTxCall<
4047
+ (
4048
+ lost: MultiAddressLike,
4049
+ friendGroupIndex: number,
4050
+ ) => ChainSubmittableExtrinsic<
4051
+ {
4052
+ pallet: 'Recovery';
4053
+ palletCall: {
4054
+ name: 'InitiateAttempt';
4055
+ params: { lost: MultiAddressLike; friendGroupIndex: number };
4056
+ };
4057
+ },
4058
+ ChainKnownTypes
4059
+ >
4060
+ >;
4061
+
4062
+ /**
4063
+ * Approve the recovery for a lost account.
4064
+ *
4065
+ * Must be called by a friend of the friend group that the recovery attempt belongs to that
4066
+ * did not yet vote. Voting is only allowed until the threshold is reached.
4067
+ * `finish_attempt` should be called after the last friend voted.
4068
+ *
4069
+ * @param {MultiAddressLike} lost
4070
+ * @param {number} friendGroupIndex
4071
+ **/
4072
+ approveAttempt: GenericTxCall<
4073
+ (
4074
+ lost: MultiAddressLike,
4075
+ friendGroupIndex: number,
4076
+ ) => ChainSubmittableExtrinsic<
4077
+ {
4078
+ pallet: 'Recovery';
4079
+ palletCall: {
4080
+ name: 'ApproveAttempt';
4081
+ params: { lost: MultiAddressLike; friendGroupIndex: number };
4082
+ };
4083
+ },
4084
+ ChainKnownTypes
4085
+ >
4086
+ >;
4087
+
4088
+ /**
4089
+ * Finish a recovery attempt and make the lost account accessible from the inheritor.
4090
+ *
4091
+ * Can be called by anyone who is willing to pay for the inheritor deposit.
4092
+ *
4093
+ * @param {MultiAddressLike} lost
4094
+ * @param {number} friendGroupIndex
4095
+ **/
4096
+ finishAttempt: GenericTxCall<
4097
+ (
4098
+ lost: MultiAddressLike,
4099
+ friendGroupIndex: number,
4100
+ ) => ChainSubmittableExtrinsic<
4101
+ {
4102
+ pallet: 'Recovery';
4103
+ palletCall: {
4104
+ name: 'FinishAttempt';
4105
+ params: { lost: MultiAddressLike; friendGroupIndex: number };
4106
+ };
4107
+ },
4108
+ ChainKnownTypes
4109
+ >
4110
+ >;
4111
+
4112
+ /**
4113
+ * The lost account can cancel an attempt at any moment; the initiator, only after a delay.
4114
+ *
4115
+ * This will release the security deposit back to the initiator. The cancel delay must be
4116
+ * respected if the initiator calls it to prevent it from front-running the lost account
4117
+ * from slashing the attempt.
4118
+ *
4119
+ * @param {MultiAddressLike} lost
4120
+ * @param {number} friendGroupIndex
4121
+ **/
4122
+ cancelAttempt: GenericTxCall<
4123
+ (
4124
+ lost: MultiAddressLike,
4125
+ friendGroupIndex: number,
4126
+ ) => ChainSubmittableExtrinsic<
4127
+ {
4128
+ pallet: 'Recovery';
4129
+ palletCall: {
4130
+ name: 'CancelAttempt';
4131
+ params: { lost: MultiAddressLike; friendGroupIndex: number };
4132
+ };
4133
+ },
4134
+ ChainKnownTypes
4135
+ >
4136
+ >;
4137
+
4138
+ /**
4139
+ * Slash a malicious recovery attempt and burn the security deposit of the initiator.
4140
+ *
4141
+ * @param {number} friendGroupIndex
4142
+ **/
4143
+ slashAttempt: GenericTxCall<
4144
+ (friendGroupIndex: number) => ChainSubmittableExtrinsic<
4145
+ {
4146
+ pallet: 'Recovery';
4147
+ palletCall: {
4148
+ name: 'SlashAttempt';
4149
+ params: { friendGroupIndex: number };
4150
+ };
4151
+ },
4152
+ ChainKnownTypes
4153
+ >
4154
+ >;
4155
+
4156
+ /**
4157
+ * Generic pallet tx call
4158
+ **/
4159
+ [callName: string]: GenericTxCall<TxCall<ChainKnownTypes>>;
4160
+ };
3957
4161
  /**
3958
4162
  * Pallet `Assets`'s transaction calls
3959
4163
  **/
@@ -12534,7 +12738,8 @@ export interface ChainTx<
12534
12738
  * for eras older than the active era.
12535
12739
  *
12536
12740
  * ## Parameters
12537
- * - `slash_era`: The staking era in which the slash was originally scheduled.
12741
+ * - `slash_era`: The application era (`offence_era + SlashDeferDuration`), i.e. the key
12742
+ * into [`UnappliedSlashes`].
12538
12743
  * - `slash_key`: A unique identifier for the slash, represented as a tuple:
12539
12744
  * - `stash`: The stash account of the validator being slashed.
12540
12745
  * - `slash_fraction`: The fraction of the stake that was slashed.
@@ -51,6 +51,7 @@ export type AssetHubWestendRuntimeRuntimeCall =
51
51
  | { pallet: 'Indices'; palletCall: PalletIndicesCall }
52
52
  | { pallet: 'MetaTx'; palletCall: PalletMetaTxCall }
53
53
  | { pallet: 'Parameters'; palletCall: PalletParametersCall }
54
+ | { pallet: 'Recovery'; palletCall: PalletRecoveryCall }
54
55
  | { pallet: 'Assets'; palletCall: PalletAssetsCall }
55
56
  | { pallet: 'Uniques'; palletCall: PalletUniquesCall }
56
57
  | { pallet: 'Nfts'; palletCall: PalletNftsCall }
@@ -105,6 +106,7 @@ export type AssetHubWestendRuntimeRuntimeCallLike =
105
106
  | { pallet: 'Indices'; palletCall: PalletIndicesCallLike }
106
107
  | { pallet: 'MetaTx'; palletCall: PalletMetaTxCallLike }
107
108
  | { pallet: 'Parameters'; palletCall: PalletParametersCallLike }
109
+ | { pallet: 'Recovery'; palletCall: PalletRecoveryCallLike }
108
110
  | { pallet: 'Assets'; palletCall: PalletAssetsCallLike }
109
111
  | { pallet: 'Uniques'; palletCall: PalletUniquesCallLike }
110
112
  | { pallet: 'Nfts'; palletCall: PalletNftsCallLike }
@@ -4462,6 +4464,153 @@ export type AssetHubWestendRuntimeDynamicParamsPusdParameters = {
4462
4464
 
4463
4465
  export type AssetHubWestendRuntimeDynamicParamsPusdMaximumIssuance = {};
4464
4466
 
4467
+ /**
4468
+ * Contains a variant per dispatchable extrinsic that this pallet has.
4469
+ **/
4470
+ export type PalletRecoveryCall =
4471
+ /**
4472
+ * Allows the inheritor of a recovered account to control it.
4473
+ *
4474
+ * The controller is not allowed to dispatch calls of the recovery pallet. Otherwise they
4475
+ * could mess with the recovery configuration and possibly cancel or slash attempts from
4476
+ * higher-priority friend groups.
4477
+ **/
4478
+ | { name: 'ControlInheritedAccount'; params: { recovered: MultiAddress; call: AssetHubWestendRuntimeRuntimeCall } }
4479
+ /**
4480
+ * Revoke the inheritor of the calling (lost) account.
4481
+ *
4482
+ * This removes the inheritor entry and refunds the inheritor deposit. Can only be called
4483
+ * by the lost account itself after it regains access.
4484
+ **/
4485
+ | { name: 'RevokeInheritor' }
4486
+ /**
4487
+ * Set the friend groups of the calling account before it lost access.
4488
+ *
4489
+ * Cannot be used while there are ongoing recovery attempts. The friends of each group
4490
+ * MUST be sorted and unique. Trying to insert two friend groups with the same set of
4491
+ * friends will result in an error.
4492
+ *
4493
+ * A `FriendGroupsChanged` event is emitted only when the new friends groups differed from
4494
+ * the old ones.
4495
+ **/
4496
+ | { name: 'SetFriendGroups'; params: { friendGroups: Array<PalletRecoveryFriendGroup> } }
4497
+ /**
4498
+ * Attempt to recover a lost account by a friend within the given friend group.
4499
+ *
4500
+ * The initiator's approval is recorded automatically, so they do not need to call
4501
+ * `approve_attempt` themselves.
4502
+ *
4503
+ * Once an account has been recovered by a friend group, no friend group of equal or lower
4504
+ * priority can open a new attempt: it will fail with [`Error::HigherPriorityRecovered`].
4505
+ * Only a strictly higher-priority group (lower numerical
4506
+ * [`FriendGroup::inheritance_priority`]) can take over the inheritor.
4507
+ **/
4508
+ | { name: 'InitiateAttempt'; params: { lost: MultiAddress; friendGroupIndex: number } }
4509
+ /**
4510
+ * Approve the recovery for a lost account.
4511
+ *
4512
+ * Must be called by a friend of the friend group that the recovery attempt belongs to that
4513
+ * did not yet vote. Voting is only allowed until the threshold is reached.
4514
+ * `finish_attempt` should be called after the last friend voted.
4515
+ **/
4516
+ | { name: 'ApproveAttempt'; params: { lost: MultiAddress; friendGroupIndex: number } }
4517
+ /**
4518
+ * Finish a recovery attempt and make the lost account accessible from the inheritor.
4519
+ *
4520
+ * Can be called by anyone who is willing to pay for the inheritor deposit.
4521
+ **/
4522
+ | { name: 'FinishAttempt'; params: { lost: MultiAddress; friendGroupIndex: number } }
4523
+ /**
4524
+ * The lost account can cancel an attempt at any moment; the initiator, only after a delay.
4525
+ *
4526
+ * This will release the security deposit back to the initiator. The cancel delay must be
4527
+ * respected if the initiator calls it to prevent it from front-running the lost account
4528
+ * from slashing the attempt.
4529
+ **/
4530
+ | { name: 'CancelAttempt'; params: { lost: MultiAddress; friendGroupIndex: number } }
4531
+ /**
4532
+ * Slash a malicious recovery attempt and burn the security deposit of the initiator.
4533
+ **/
4534
+ | { name: 'SlashAttempt'; params: { friendGroupIndex: number } };
4535
+
4536
+ export type PalletRecoveryCallLike =
4537
+ /**
4538
+ * Allows the inheritor of a recovered account to control it.
4539
+ *
4540
+ * The controller is not allowed to dispatch calls of the recovery pallet. Otherwise they
4541
+ * could mess with the recovery configuration and possibly cancel or slash attempts from
4542
+ * higher-priority friend groups.
4543
+ **/
4544
+ | {
4545
+ name: 'ControlInheritedAccount';
4546
+ params: { recovered: MultiAddressLike; call: AssetHubWestendRuntimeRuntimeCallLike };
4547
+ }
4548
+ /**
4549
+ * Revoke the inheritor of the calling (lost) account.
4550
+ *
4551
+ * This removes the inheritor entry and refunds the inheritor deposit. Can only be called
4552
+ * by the lost account itself after it regains access.
4553
+ **/
4554
+ | { name: 'RevokeInheritor' }
4555
+ /**
4556
+ * Set the friend groups of the calling account before it lost access.
4557
+ *
4558
+ * Cannot be used while there are ongoing recovery attempts. The friends of each group
4559
+ * MUST be sorted and unique. Trying to insert two friend groups with the same set of
4560
+ * friends will result in an error.
4561
+ *
4562
+ * A `FriendGroupsChanged` event is emitted only when the new friends groups differed from
4563
+ * the old ones.
4564
+ **/
4565
+ | { name: 'SetFriendGroups'; params: { friendGroups: Array<PalletRecoveryFriendGroup> } }
4566
+ /**
4567
+ * Attempt to recover a lost account by a friend within the given friend group.
4568
+ *
4569
+ * The initiator's approval is recorded automatically, so they do not need to call
4570
+ * `approve_attempt` themselves.
4571
+ *
4572
+ * Once an account has been recovered by a friend group, no friend group of equal or lower
4573
+ * priority can open a new attempt: it will fail with [`Error::HigherPriorityRecovered`].
4574
+ * Only a strictly higher-priority group (lower numerical
4575
+ * [`FriendGroup::inheritance_priority`]) can take over the inheritor.
4576
+ **/
4577
+ | { name: 'InitiateAttempt'; params: { lost: MultiAddressLike; friendGroupIndex: number } }
4578
+ /**
4579
+ * Approve the recovery for a lost account.
4580
+ *
4581
+ * Must be called by a friend of the friend group that the recovery attempt belongs to that
4582
+ * did not yet vote. Voting is only allowed until the threshold is reached.
4583
+ * `finish_attempt` should be called after the last friend voted.
4584
+ **/
4585
+ | { name: 'ApproveAttempt'; params: { lost: MultiAddressLike; friendGroupIndex: number } }
4586
+ /**
4587
+ * Finish a recovery attempt and make the lost account accessible from the inheritor.
4588
+ *
4589
+ * Can be called by anyone who is willing to pay for the inheritor deposit.
4590
+ **/
4591
+ | { name: 'FinishAttempt'; params: { lost: MultiAddressLike; friendGroupIndex: number } }
4592
+ /**
4593
+ * The lost account can cancel an attempt at any moment; the initiator, only after a delay.
4594
+ *
4595
+ * This will release the security deposit back to the initiator. The cancel delay must be
4596
+ * respected if the initiator calls it to prevent it from front-running the lost account
4597
+ * from slashing the attempt.
4598
+ **/
4599
+ | { name: 'CancelAttempt'; params: { lost: MultiAddressLike; friendGroupIndex: number } }
4600
+ /**
4601
+ * Slash a malicious recovery attempt and burn the security deposit of the initiator.
4602
+ **/
4603
+ | { name: 'SlashAttempt'; params: { friendGroupIndex: number } };
4604
+
4605
+ export type PalletRecoveryFriendGroup = {
4606
+ friends: Array<AccountId32>;
4607
+ friendsNeeded: number;
4608
+ inheritor: AccountId32;
4609
+ inheritanceDelay: number;
4610
+ inheritancePriority: number;
4611
+ cancelDelay: number;
4612
+ };
4613
+
4465
4614
  /**
4466
4615
  * Contains a variant per dispatchable extrinsic that this pallet has.
4467
4616
  **/
@@ -12451,7 +12600,8 @@ export type PalletStakingAsyncPalletCall =
12451
12600
  * for eras older than the active era.
12452
12601
  *
12453
12602
  * ## Parameters
12454
- * - `slash_era`: The staking era in which the slash was originally scheduled.
12603
+ * - `slash_era`: The application era (`offence_era + SlashDeferDuration`), i.e. the key
12604
+ * into [`UnappliedSlashes`].
12455
12605
  * - `slash_key`: A unique identifier for the slash, represented as a tuple:
12456
12606
  * - `stash`: The stash account of the validator being slashed.
12457
12607
  * - `slash_fraction`: The fraction of the stake that was slashed.
@@ -12933,7 +13083,8 @@ export type PalletStakingAsyncPalletCallLike =
12933
13083
  * for eras older than the active era.
12934
13084
  *
12935
13085
  * ## Parameters
12936
- * - `slash_era`: The staking era in which the slash was originally scheduled.
13086
+ * - `slash_era`: The application era (`offence_era + SlashDeferDuration`), i.e. the key
13087
+ * into [`UnappliedSlashes`].
12937
13088
  * - `slash_key`: A unique identifier for the slash, represented as a tuple:
12938
13089
  * - `stash`: The stash account of the validator being slashed.
12939
13090
  * - `slash_fraction`: The fraction of the stake that was slashed.
@@ -15806,6 +15957,7 @@ export type AssetHubWestendRuntimeRuntimeHoldReason =
15806
15957
  | { type: 'Preimage'; value: PalletPreimageHoldReason }
15807
15958
  | { type: 'Session'; value: PalletSessionHoldReason }
15808
15959
  | { type: 'PolkadotXcm'; value: PalletXcmHoldReason }
15960
+ | { type: 'Recovery'; value: PalletRecoveryHoldReason }
15809
15961
  | { type: 'NftFractionalization'; value: PalletNftFractionalizationHoldReason }
15810
15962
  | { type: 'Revive'; value: PalletReviveHoldReason }
15811
15963
  | { type: 'AssetRewards'; value: PalletAssetRewardsHoldReason }
@@ -15822,6 +15974,12 @@ export type PalletSessionHoldReason = 'Keys';
15822
15974
 
15823
15975
  export type PalletXcmHoldReason = 'AuthorizeAlias';
15824
15976
 
15977
+ export type PalletRecoveryHoldReason =
15978
+ | 'FriendGroupsStorage'
15979
+ | 'AttemptStorage'
15980
+ | 'InheritorStorage'
15981
+ | 'SecurityDeposit';
15982
+
15825
15983
  export type PalletNftFractionalizationHoldReason = 'Fractionalized';
15826
15984
 
15827
15985
  export type PalletReviveHoldReason = 'CodeUploadDepositReserve' | 'StorageDepositReserve' | 'AddressMapping';
@@ -15902,6 +16060,7 @@ export type AssetHubWestendRuntimeRuntimeEvent =
15902
16060
  | { pallet: 'Indices'; palletEvent: PalletIndicesEvent }
15903
16061
  | { pallet: 'MetaTx'; palletEvent: PalletMetaTxEvent }
15904
16062
  | { pallet: 'Parameters'; palletEvent: PalletParametersEvent }
16063
+ | { pallet: 'Recovery'; palletEvent: PalletRecoveryEvent }
15905
16064
  | { pallet: 'Assets'; palletEvent: PalletAssetsEvent }
15906
16065
  | { pallet: 'Uniques'; palletEvent: PalletUniquesEvent }
15907
16066
  | { pallet: 'Nfts'; palletEvent: PalletNftsEvent }
@@ -15913,6 +16072,7 @@ export type AssetHubWestendRuntimeRuntimeEvent =
15913
16072
  | { pallet: 'ForeignAssetsFreezer'; palletEvent: PalletAssetsFreezerEvent002 }
15914
16073
  | { pallet: 'PoolAssetsFreezer'; palletEvent: PalletAssetsFreezerEvent }
15915
16074
  | { pallet: 'Revive'; palletEvent: PalletReviveEvent }
16075
+ | { pallet: 'AssetsHolder'; palletEvent: PalletAssetsHolderEvent }
15916
16076
  | { pallet: 'AssetRewards'; palletEvent: PalletAssetRewardsEvent }
15917
16077
  | { pallet: 'Psm'; palletEvent: PalletPsmEvent }
15918
16078
  | { pallet: 'StateTrieMigration'; palletEvent: PalletStateTrieMigrationEvent }
@@ -17208,6 +17368,66 @@ export type AssetHubWestendRuntimeRuntimeParametersValue = {
17208
17368
 
17209
17369
  export type AssetHubWestendRuntimeDynamicParamsPusdParametersValue = { type: 'MaximumIssuance'; value: bigint };
17210
17370
 
17371
+ /**
17372
+ * The `Event` enum of this pallet
17373
+ **/
17374
+ export type PalletRecoveryEvent =
17375
+ /**
17376
+ * A recovery attempt was approved by a friend.
17377
+ **/
17378
+ | { name: 'AttemptApproved'; data: { lost: AccountId32; friendGroupIndex: number; friend: AccountId32 } }
17379
+ /**
17380
+ * A recovery attempt was canceled by either the lost account or the initiator.
17381
+ **/
17382
+ | { name: 'AttemptCanceled'; data: { lost: AccountId32; friendGroupIndex: number; canceler: AccountId32 } }
17383
+ /**
17384
+ * A recovery attempt was initiated by a friend.
17385
+ **/
17386
+ | { name: 'AttemptInitiated'; data: { lost: AccountId32; friendGroupIndex: number; initiator: AccountId32 } }
17387
+ /**
17388
+ * A recovery attempt was finished.
17389
+ **/
17390
+ | {
17391
+ name: 'AttemptFinished';
17392
+ data: {
17393
+ lost: AccountId32;
17394
+ friendGroupIndex: number;
17395
+ inheritor: AccountId32;
17396
+ previousInheritor?: AccountId32 | undefined;
17397
+ };
17398
+ }
17399
+ /**
17400
+ * A recovery attempt was discarded because the account was already recovered by a
17401
+ * friend group of equal or higher priority.
17402
+ *
17403
+ * The attempt is consumed (removed from storage) and its deposits are released, but
17404
+ * the existing inheritor remains unchanged.
17405
+ **/
17406
+ | { name: 'AttemptDiscarded'; data: { lost: AccountId32; friendGroupIndex: number; existingInheritor: AccountId32 } }
17407
+ /**
17408
+ * A recovery attempt was slashed by the lost account.
17409
+ *
17410
+ * The initiator will lose their security deposit.
17411
+ **/
17412
+ | { name: 'AttemptSlashed'; data: { lost: AccountId32; friendGroupIndex: number } }
17413
+ /**
17414
+ * The friend groups of an account have been changed.
17415
+ **/
17416
+ | { name: 'FriendGroupsChanged'; data: { lost: AccountId32 } }
17417
+ /**
17418
+ * The inheritor of a lost account was revoked by the lost account.
17419
+ **/
17420
+ | { name: 'InheritorRevoked'; data: { lost: AccountId32 } }
17421
+ /**
17422
+ * A recovered account was controlled by its inheritor.
17423
+ *
17424
+ * Check the `call_result` to see if it was successful.
17425
+ **/
17426
+ | {
17427
+ name: 'RecoveredAccountControlled';
17428
+ data: { recovered: AccountId32; inheritor: AccountId32; callHash: H256; callResult: Result<[], DispatchError> };
17429
+ };
17430
+
17211
17431
  /**
17212
17432
  * The `Event` enum of this pallet
17213
17433
  **/
@@ -18140,6 +18360,32 @@ export type PalletReviveEvent =
18140
18360
  **/
18141
18361
  | { name: 'EthExtrinsicRevert'; data: { dispatchError: DispatchError } };
18142
18362
 
18363
+ /**
18364
+ * The `Event` enum of this pallet
18365
+ **/
18366
+ export type PalletAssetsHolderEvent =
18367
+ /**
18368
+ * `who`s balance on hold was increased by `amount`.
18369
+ **/
18370
+ | {
18371
+ name: 'Held';
18372
+ data: { who: AccountId32; assetId: number; reason: AssetHubWestendRuntimeRuntimeHoldReason; amount: bigint };
18373
+ }
18374
+ /**
18375
+ * `who`s balance on hold was decreased by `amount`.
18376
+ **/
18377
+ | {
18378
+ name: 'Released';
18379
+ data: { who: AccountId32; assetId: number; reason: AssetHubWestendRuntimeRuntimeHoldReason; amount: bigint };
18380
+ }
18381
+ /**
18382
+ * `who`s balance on hold was burned by `amount`.
18383
+ **/
18384
+ | {
18385
+ name: 'Burned';
18386
+ data: { who: AccountId32; assetId: number; reason: AssetHubWestendRuntimeRuntimeHoldReason; amount: bigint };
18387
+ };
18388
+
18143
18389
  /**
18144
18390
  * The `Event` enum of this pallet
18145
18391
  **/
@@ -19894,9 +20140,12 @@ export type FrameSupportTokensMiscIdAmountRuntimeFreezeReason = {
19894
20140
  };
19895
20141
 
19896
20142
  export type AssetHubWestendRuntimeRuntimeFreezeReason =
20143
+ | { type: 'Revive'; value: PalletReviveFreezeReason }
19897
20144
  | { type: 'AssetRewards'; value: PalletAssetRewardsFreezeReason }
19898
20145
  | { type: 'NominationPools'; value: PalletNominationPoolsFreezeReason };
19899
20146
 
20147
+ export type PalletReviveFreezeReason = 'PGasMinBalance';
20148
+
19900
20149
  export type PalletAssetRewardsFreezeReason = 'Staked';
19901
20150
 
19902
20151
  export type PalletNominationPoolsFreezeReason = 'PoolMinBalance';
@@ -20658,6 +20907,120 @@ export type PalletMetaTxError =
20658
20907
  **/
20659
20908
  | 'InvalidLength';
20660
20909
 
20910
+ export type PalletRecoveryAttempt = {
20911
+ friendGroupIndex: number;
20912
+ initiator: AccountId32;
20913
+ initBlock: number;
20914
+ lastApprovalBlock: number;
20915
+ approvals: PalletRecoveryBitfield;
20916
+ };
20917
+
20918
+ export type PalletRecoveryBitfield = Array<number>;
20919
+
20920
+ export type PalletRecoveryIdentifiedConsideration = {
20921
+ depositor: AccountId32;
20922
+ ticket?: FrameSupportTokensFungibleHoldConsideration | undefined;
20923
+ };
20924
+
20925
+ export type FrameSupportStorageFootprint = { count: bigint; size: bigint };
20926
+
20927
+ /**
20928
+ * The `Error` enum of this pallet.
20929
+ **/
20930
+ export type PalletRecoveryError =
20931
+ /**
20932
+ * This attempt is already fully approved and does not need any more votes.
20933
+ **/
20934
+ | 'AlreadyApproved'
20935
+ /**
20936
+ * The recovery attempt has already been initiated.
20937
+ **/
20938
+ | 'AlreadyInitiated'
20939
+ /**
20940
+ * The friend already voted for this attempt.
20941
+ **/
20942
+ | 'AlreadyVoted'
20943
+ /**
20944
+ * The lost account has ongoing recovery attempts.
20945
+ **/
20946
+ | 'HasOngoingAttempts'
20947
+ /**
20948
+ * The lost account cannot be a friend of itself.
20949
+ **/
20950
+ | 'LostAccountInFriendGroup'
20951
+ /**
20952
+ * The account was already recovered by a group of equal or higher priority.
20953
+ **/
20954
+ | 'HigherPriorityRecovered'
20955
+ /**
20956
+ * Cancel delay must be at least 1.
20957
+ **/
20958
+ | 'NoCancelDelay'
20959
+ /**
20960
+ * This account does not have any friend groups.
20961
+ **/
20962
+ | 'NoFriendGroups'
20963
+ /**
20964
+ * The friend group has no friends.
20965
+ **/
20966
+ | 'NoFriends'
20967
+ /**
20968
+ * The lost account does not have any inheritor.
20969
+ **/
20970
+ | 'NoInheritor'
20971
+ /**
20972
+ * Not enough friends approved this attempt.
20973
+ **/
20974
+ | 'NotApproved'
20975
+ /**
20976
+ * The referenced recovery attempt was not found.
20977
+ **/
20978
+ | 'NotAttempt'
20979
+ /**
20980
+ * The caller is not the initiator or the lost account.
20981
+ **/
20982
+ | 'NotCanceller'
20983
+ /**
20984
+ * The caller is not a friend of the lost account.
20985
+ **/
20986
+ | 'NotFriend'
20987
+ /**
20988
+ * A specific referenced friend group was not found.
20989
+ **/
20990
+ | 'NotFriendGroup'
20991
+ /**
20992
+ * The caller is not the inheritor of the lost account.
20993
+ **/
20994
+ | 'NotInheritor'
20995
+ /**
20996
+ * The cancel delay since the last approval or initialization has not yet passed.
20997
+ **/
20998
+ | 'NotYetCancelable'
20999
+ /**
21000
+ * The inheritance delay of this attempt has not yet passed.
21001
+ **/
21002
+ | 'NotYetInheritable'
21003
+ /**
21004
+ * Too many friend groups.
21005
+ **/
21006
+ | 'TooManyFriendGroups'
21007
+ /**
21008
+ * The number of friends needed is greater than the number of friends.
21009
+ **/
21010
+ | 'TooManyFriendsNeeded'
21011
+ /**
21012
+ * The number of friends needed is zero.
21013
+ **/
21014
+ | 'NoFriendsNeeded'
21015
+ /**
21016
+ * The friends of a friend group are not sorted or not unique.
21017
+ **/
21018
+ | 'FriendsNotSortedOrUnique'
21019
+ /**
21020
+ * Two friend groups have the same set of friends.
21021
+ **/
21022
+ | 'DuplicateFriendGroups';
21023
+
20661
21024
  export type PalletAssetsAssetDetails = {
20662
21025
  owner: AccountId32;
20663
21026
  issuer: AccountId32;
@@ -21318,6 +21681,8 @@ export type PalletReviveStorageContractInfo = {
21318
21681
  immutableDataLen: number;
21319
21682
  };
21320
21683
 
21684
+ export type PalletReviveStorageDeletionQueueItem = { trieId: Bytes; accountId: AccountId32 };
21685
+
21321
21686
  export type PalletReviveStorageDeletionQueueManager = { insertCounter: number; deleteCounter: number };
21322
21687
 
21323
21688
  export type PalletReviveEvmApiRpcTypesGenBlock = {
@@ -21791,7 +22156,22 @@ export type PalletReviveError =
21791
22156
  /**
21792
22157
  * Manual mapping is disabled when auto-mapping is enabled.
21793
22158
  **/
21794
- | 'AutoMappingEnabled';
22159
+ | 'AutoMappingEnabled'
22160
+ /**
22161
+ * A contract cannot be created at this address: it still has uncleared
22162
+ * [`NativeDepositOf`] entries from a previously terminated contract that the deletion
22163
+ * queue has not yet drained.
22164
+ **/
22165
+ | 'PendingDepositCleanup';
22166
+
22167
+ /**
22168
+ * The `Error` enum of this pallet.
22169
+ **/
22170
+ export type PalletAssetsHolderError =
22171
+ /**
22172
+ * Number of holds on an account would exceed the count of `RuntimeHoldReason`.
22173
+ **/
22174
+ 'TooManyHolds';
21795
22175
 
21796
22176
  export type PalletAssetRewardsPoolStakerInfo = { amount: bigint; rewards: bigint; rewardPerTokenPaid: bigint };
21797
22177
 
@@ -23478,6 +23858,7 @@ export type AssetHubWestendRuntimeRuntimeError =
23478
23858
  | { pallet: 'Proxy'; palletError: PalletProxyError }
23479
23859
  | { pallet: 'Indices'; palletError: PalletIndicesError }
23480
23860
  | { pallet: 'MetaTx'; palletError: PalletMetaTxError }
23861
+ | { pallet: 'Recovery'; palletError: PalletRecoveryError }
23481
23862
  | { pallet: 'Assets'; palletError: PalletAssetsError }
23482
23863
  | { pallet: 'Uniques'; palletError: PalletUniquesError }
23483
23864
  | { pallet: 'Nfts'; palletError: PalletNftsError }
@@ -23489,6 +23870,7 @@ export type AssetHubWestendRuntimeRuntimeError =
23489
23870
  | { pallet: 'ForeignAssetsFreezer'; palletError: PalletAssetsFreezerError }
23490
23871
  | { pallet: 'PoolAssetsFreezer'; palletError: PalletAssetsFreezerError }
23491
23872
  | { pallet: 'Revive'; palletError: PalletReviveError }
23873
+ | { pallet: 'AssetsHolder'; palletError: PalletAssetsHolderError }
23492
23874
  | { pallet: 'AssetRewards'; palletError: PalletAssetRewardsError }
23493
23875
  | { pallet: 'AssetsPrecompilesPermit'; palletError: PalletAssetsPrecompilesPermitPalletError }
23494
23876
  | { pallet: 'Psm'; palletError: PalletPsmError }
@@ -1,13 +1,15 @@
1
1
  // Generated by dedot cli
2
2
 
3
3
  import type { GenericChainViewFunctions, GenericViewFunction } from 'dedot/types';
4
- import type { Bytes, AccountId32Like, Result, AccountId32, Perbill } from 'dedot/codecs';
4
+ import type { Bytes, AccountId32Like, AccountId32, Result, Perbill } from 'dedot/codecs';
5
5
  import type {
6
6
  PalletMigrationsMbmIsOngoing,
7
7
  PalletMigrationsMbmProgress,
8
8
  PalletMigrationsMbmStatus,
9
9
  AssetHubWestendRuntimeRuntimeCallLike,
10
10
  AssetHubWestendRuntimeProxyType,
11
+ PalletRecoveryFriendGroup,
12
+ PalletRecoveryAttempt,
11
13
  PalletAssetsAssetDetails,
12
14
  PalletAssetsAssetMetadata,
13
15
  StagingXcmV5Location,
@@ -81,6 +83,50 @@ export interface ChainViewFunctions extends GenericChainViewFunctions {
81
83
  **/
82
84
  [name: string]: GenericViewFunction;
83
85
  };
86
+ /**
87
+ * Pallet `Recovery`'s view functions
88
+ **/
89
+ recovery: {
90
+ /**
91
+ * The provided block number that will be used to measure time.
92
+ **/
93
+ providedBlockNumber: GenericViewFunction<() => Promise<number>>;
94
+
95
+ /**
96
+ * The friend groups of an account that can initiate recovery attempts.
97
+ *
98
+ * @param {AccountId32Like} lost
99
+ **/
100
+ friendGroups: GenericViewFunction<(lost: AccountId32Like) => Promise<Array<PalletRecoveryFriendGroup>>>;
101
+
102
+ /**
103
+ * Ongoing recovery attempts for a lost account.
104
+ *
105
+ * @param {AccountId32Like} lost
106
+ **/
107
+ attempts: GenericViewFunction<
108
+ (lost: AccountId32Like) => Promise<Array<[PalletRecoveryFriendGroup, PalletRecoveryAttempt]>>
109
+ >;
110
+
111
+ /**
112
+ * The account that inherited full access to the lost account.
113
+ *
114
+ * @param {AccountId32Like} lost
115
+ **/
116
+ inheritor: GenericViewFunction<(lost: AccountId32Like) => Promise<AccountId32 | undefined>>;
117
+
118
+ /**
119
+ * All the recovered accounts that `heir` inherited access to.
120
+ *
121
+ * @param {AccountId32Like} heir
122
+ **/
123
+ inheritance: GenericViewFunction<(heir: AccountId32Like) => Promise<Array<AccountId32>>>;
124
+
125
+ /**
126
+ * Generic pallet view function
127
+ **/
128
+ [name: string]: GenericViewFunction;
129
+ };
84
130
  /**
85
131
  * Pallet `Assets`'s view functions
86
132
  **/