Instruction: ReactivatePoolStake
This instruction can be used to restake the pool stake account. This instruction is needed if the stake is deactivated for any reason. Currently, a stake can be forcefully deactivated by inactivity (via the stake program DeactivateDelinquent
instruction) or due to a cluster restart.
The instruction is unpermissioned; this is safe, since the stake is committed to the vote account associated with the pool. Stake accounts that have been deactivated due to natural expiry are forbidden from being restaked.
Input accounts
vote_account_info
: Vote account associated with the pool.W/S requisites: None.
Owner: Must be owned by native vote program.
Rent: Not a responsibility of the program under review.
Initialized: Must be initialized.
Discriminant: Checked.
PDA: No.
pool_info
: Pool account.W/S requisites: None.
Owner: Single pool program.
Rent: N/A.
Initialized: Yes.
Discriminant: Checked (
account_type
field).PDA: Yes, controlled by the single pool program — using seeds
"pool", vote_account_address
.
pool_stake_info
: Stake account associated with the pool.W/S requisites: Writable.
Owner: Stake program (indirectly checked, since it is written to by the stake program).
Rent: N/A.
Initialized: Yes.
Discriminant: Checked.
PDA: Yes, controlled by the single pool program — using seeds
"stake", pool_address
.
pool_stake_authority_info
: Authority controlling the pool stake.W/S requisites: None.
Owner: N/A.
Rent: N/A.
Initialized: N/A.
Discriminant: N/A.
PDA: Yes, controlled by the single pool program — using seeds
"stake authority", pool_address
.
clock_info
: Clock sysvar account.W/S requisites: None.
Owner: N/A (sysvar).
Rent: N/A (sysvar).
Initialized: N/A (sysvar).
Discriminant: N/A (sysvar).
PDA: No — the address is checked to ensure it matches the actual clock sysvar.
stake_history_info
: Stake history sysvar account — not used, only passed along to the stake program.W/S requisites: None.
Owner: N/A (sysvar).
Rent: N/A (sysvar).
Initialized: N/A (sysvar).
Discriminant: N/A (sysvar).
PDA: No.
stake_config_info
: Stake config sysvar account — not used, only passed along to the stake program.W/S requisites: None.
Owner: N/A (sysvar).
Rent: N/A (sysvar).
Initialized: N/A (sysvar).
Discriminant: N/A (sysvar).
PDA: No.
stake_program_info
: Stake program account.W/S requisites: None.
Owner: N/A (sysvar).
Rent: N/A (sysvar).
Initialized: N/A (sysvar).
Discriminant: N/A (sysvar).
PDA: No — the address is checked to ensure it matches the actual stake program.