SablierV2LockupLinear has a special case in _calculateStreamedAmount:
This happens when streamedAmount > depositedAmount. The comment above states that the stream will technically be frozen, as no one can withdraw.
The issue is how _statusOf handles this case.
You can see that there is no special case for this situation and most likely the code will enter:
And think that the stream is still streaming and is warm, but it's technically not as it's frozen.
This will affect any function that uses _statusOf
Incorrect data
Manual Review
Have a special case for when _calculateStreamedAmount == withdrawn and handle it in _statusOf, so it returns a correct status.
https://docs.codehawks.com/hawks-auditors/how-to-determine-a-finding-validity
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.