The contract allows you to bypass the deposit()
or receive()
functions and still become a participant by using the changeParticipationStatus()
function only.
The user can use the changeParticipationStatus()
function to become a participant without having to deposit money using the deposit()
or receive()
function.
See function testParticipantWithoutDeposit()
in the foundry test below:
There are two ways to solve this problem:
Prevent from changing status for non-participant users. Only participants can use changeParticipationStatus()
function.
Before changing the status, check whether the user has already made a donation (by analyzing the balances
and etherBalance
variables)
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.