Missing zero check
In the provided code, the constructor accepts an 'implementation' address parameter but does not verify if this address is a non-zero address.
This could potentially allow the contract to be initialized with a zero address for the 'implementation' variable, which would render the contract useless as any calls to it would fail. This could lead to loss of funds or other unexpected behavior. It is recommended to add a require statement to check that the 'implementation' address is not a zero address.
Audit Wizard:)
To resolve this issue, you should add a require statement in the constructor to ensure that the 'implementation' address is not a zero address. Here is the updated constructor:
This will throw an error and revert the transaction if the 'implementation' address is a zero address, preventing the contract from being deployed with an invalid state.
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.