startTime
being equal to the current time should be acceptable and should not cause a revert.
In the v2-core/src/libraries/Helpers.sol:_checkSegments
function, it requires that the timestamps are ordered chronologically.
When creating a lockupDynamic
type stream, the checkCreateLockupDynamic
function is called to validate the segments, which eventually calls _checkSegments
. According to the system's design principles, when creating a stream, startTime == block.timestamp
is a valid condition. Therefore, the condition startTime >= segments[0].timestamp
in the _checkSegments
function is too strict.
https://github.com/Cyfrin/2024-05-Sablier/blob/43d7e752a68bba2a1d73d3d6466c3059079ed0c6/v2-core/src/libraries/Helpers.sol#L221-L240
It is not possible to create a lockupDynamic
type stream with the current block.timestamp
as the start time.
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.