According to the code and documentation, pausing of the stream can be done with setting ratePerSecond parameter to zero. So sender can pause by using SablierFlow::adjustRatePerSecond function and setting the newRatePerSecond parameter to zero or using SablierFlow::pause function.
On the other hand, sender should be able to unpause by using SablierFlow::adjustRatePerSecond function and setting the newRatePerSecond parameter to non-zero value or using SablierFlow::restart function.
The problem arises when sender attempts to unpause the stream by changing ratePerSecond parameter to non-zero value with SablierFlow::adjustRatePerSecond function. This is because this function utilizes a notPaused modifier.
sender unable to unpause paused stream with SablierFlow::adjustRatePerSecond function. sender can unpause with SablierFlow::restart though, So it's low severity.
Simply remove the notPaused modifier from SablierFlow::adjustRatePerSecond function. This change will not impact the ongoingDebtScaled or any other parameters. and add notVoided modifier instead. notVoided modifier is enough to prevent sender to change the ratePerSecond after stream terminated.
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.