unstack() and vestedStakedand() have a ifconditon that check if a user vestedStaked = 0 and staked = 0 if it become true it will delete the DepositReceipt from the deposits mapping and remove the epoch from the _activeDeposits set for the user. but in a unstakeAll() the `if` condition check only vestedStaked = 0
If a user calls unstakeAll and has a DepositReceipt with zero dr.vestedStaked but a non-zero dr.staked, the contract will delete the DepositReceipt from the deposits mapping and remove the epoch from the _activeDeposits set for the user.
user will lose their staked
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.