The contract doesn't validate that the _participationFeeAddress is non-zero, potentially allowing fees to be permanently lost if set to the zero address.
Likelihood:
Constructor parameter validation missing in deployment code
Common developer oversight when handling address parameters
Impact:
All participation fees permanently lost by being sent to address(0)
Protocol revenue intended for fee collection becomes unrecoverable
Deploy contract with zero address for fee collection parameter, resulting in all fees being permanently burned when users deposit.
Add a require statement or error in the constructor to validate that _participationFeeAddress != address(0).
This is owner action and the owner is assumed to be trusted and to provide correct input arguments.
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.