solana icon indicating copy to clipboard operation
solana copied to clipboard

stake: Splitting a deactivated stake wrongly takes delegation into account

Open joncinque opened this issue 2 years ago • 0 comments

Problem

If a stake is delegated, becomes active, and then gets deactivated, the delegation is always present in its StakeState. When splitting from any stake, if it's a StakeState, we check that the delegation doesn't go under 0 at https://github.com/solana-labs/solana/blob/fba990654b5d5a16f3b5f6dfd05ed4fd6129c332/sdk/program/src/stake/state.rs#L553-L555. If that deactivated stake has loads of liquid SOL, it will fail to split, which essentially means we can't correctly split a deactivated stake.

Proposed Solution

When splitting from a deactivated stake, don't take the delegation into account.

cc @t-nelson

joncinque avatar Feb 18 '23 04:02 joncinque