Fixes rebalance decrease: the stake pool's validator_list lamport amount can get out of alignment with the associated stake account's active lamports, resulting in more lamports being withdrawn from validators than is possible. The problem is fixed by passing along the true active stake amount into the decrease_validator_stake calculation
Unblocks unstaking for stake deposits by fixing how validator_lamport_balances are initialized. Currently, all validator_lamport_balances start at 0, meaning all current lamports are seen as stake deposits and tried to be unstaked until the cap is hit. However, we can load each value in a rebalance instruction when there are no activating or deactivating lamports and then continue with the working process. Adds a sentinel value and checks to skip modifying it when sentinel is present.
Will deploy on test program sssh4zkKhX8jXTNQz1xDHyGpygzgu2UhcRcUvZihBjP before deploying on mainnet program
Changes:
rebalance
instruction when there are no activating or deactivating lamports and then continue with the working process. Adds a sentinel value and checks to skip modifying it when sentinel is present.