The block timestamp might have a different behaviour on the networks. The contract should consider this possibility.
Line 94 of SablierV2MerkleLockup.sol
uses time.blockstamp
is an equation which calculates the expiration of the stream. This value might be incorrect when different networks are considered.
The expiration predicate function might return incorrect value because "Block timestamps on Arbitrum are not linked to the timestamp of the L1 block. They are updated every L2 block based on the sequencer's clock. These timestamps must follow these two rules: Must be always equal or greater than the previous L2 block timestamp." [Arbitrum Docs]
When calculating the expiration consider the used network.
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.