According to the design of the protocol, users should be able to call the contribute
function once a campaign has a deadline set.
The issue with the current code is that this behavior is not enforced. We can take a look at the contribute
function code
When Creators make a new fund the deadline is initialized to zero fund.deadline = 0
. This means that as soon as a fund is created users can deposit SOL into it via contribute
and they can also call refund
because the refund function has a similar check.
Breaks an assumption about the behavior of the protocol. Users are able to contribute to campaigns and withdraw their funds outside the intended time interval.
Manual review
There is no problem users to contribute to a given campaign before the deadline is initialized. The issue is when the users refund before the deadline is set.
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.