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.