@@ -80,7 +80,8 @@ pub enum StakePoolInstruction {
80
80
/// (Staker only) Adds stake account delegated to validator to the pool's
81
81
/// list of managed validators.
82
82
///
83
- /// The stake account will have the rent-exempt amount plus 1 SOL.
83
+ /// The stake account will have the rent-exempt amount plus
84
+ /// `crate::MINIMUM_ACTIVE_STAKE` (currently 0.001 SOL).
84
85
///
85
86
/// 0. `[w]` Stake pool
86
87
/// 1. `[s]` Staker
@@ -99,8 +100,9 @@ pub enum StakePoolInstruction {
99
100
100
101
/// (Staker only) Removes validator from the pool
101
102
///
102
- /// Only succeeds if the validator stake account has the minimum of 1 SOL
103
- /// plus the rent-exempt amount.
103
+ /// Only succeeds if the validator stake account has the minimum of
104
+ /// `crate::MINIMUM_ACTIVE_STAKE` (currently 0.001 SOL) plus the rent-exempt
105
+ /// amount.
104
106
///
105
107
/// 0. `[w]` Stake pool
106
108
/// 1. `[s]` Staker
@@ -109,7 +111,7 @@ pub enum StakePoolInstruction {
109
111
/// 4. `[w]` Validator stake list storage account
110
112
/// 5. `[w]` Stake account to remove from the pool
111
113
/// 6. `[]` Transient stake account, to check that that we're not trying to activate
112
- /// 7. `[w]` Destination stake account, to receive the minimum SOL from the validator stake account. Must be
114
+ /// 7. `[w]` Destination stake account, to receive the minimum SOL from the validator stake account
113
115
/// 8. `[]` Sysvar clock
114
116
/// 9. `[]` Stake program id,
115
117
RemoveValidatorFromPool ,
@@ -154,8 +156,9 @@ pub enum StakePoolInstruction {
154
156
/// will do the work of merging once it's ready.
155
157
///
156
158
/// This instruction only succeeds if the transient stake account does not exist.
157
- /// The minimum amount to move is rent-exemption plus 1 SOL in order to avoid
158
- /// issues on credits observed when merging active stakes later.
159
+ /// The minimum amount to move is rent-exemption plus `crate::MINIMUM_ACTIVE_STAKE`
160
+ /// (currently 0.001 SOL) in order to avoid issues on credits observed when
161
+ /// merging active stakes later.
159
162
///
160
163
/// 0. `[]` Stake pool
161
164
/// 1. `[s]` Stake pool staker
@@ -275,11 +278,19 @@ pub enum StakePoolInstruction {
275
278
///
276
279
/// Succeeds if the stake account has enough SOL to cover the desired amount
277
280
/// of pool tokens, and if the withdrawal keeps the total staked amount
278
- /// above the minimum of rent-exempt amount + 1 SOL.
281
+ /// above the minimum of rent-exempt amount + 0.001 SOL.
279
282
///
280
- /// A validator stake account can be withdrawn from freely, and the reserve
281
- /// can only be drawn from if there is no active stake left, where all
282
- /// validator accounts are left with 1 lamport.
283
+ /// When allowing withdrawals, the order of priority goes:
284
+ ///
285
+ /// * preferred withdraw validator stake account (if set)
286
+ /// * validator stake accounts
287
+ /// * transient stake accounts
288
+ /// * reserve stake account
289
+ ///
290
+ /// A user can freely withdraw from a validator stake account, and if they
291
+ /// are all at the minimum, then they can withdraw from transient stake
292
+ /// accounts, and if they are all at minimum, then they can withdraw from
293
+ /// the reserve.
283
294
///
284
295
/// 0. `[w]` Stake pool
285
296
/// 1. `[w]` Validator stake list storage account
@@ -301,8 +312,8 @@ pub enum StakePoolInstruction {
301
312
///
302
313
/// 0. `[w]` StakePool
303
314
/// 1. `[s]` Manager
304
- /// 2. '[ ]` New manager pubkey
305
- /// 3. ' []` New manager fee account
315
+ /// 2. `[s ]` New manager
316
+ /// 3. ` []` New manager fee account
306
317
SetManager ,
307
318
308
319
/// (Manager only) Update fee
0 commit comments