Initialization can be front-run
The initialize() functions below are not called by another contract atomically after the contract is deployed, so it's possible for a malicious user to call initialize() which, if it's noticed in time, would require the project to re-deploy the contract in order to properly initialize.
A malicious user can call this to take ownership of this contract.
Manual review
Consider creating a factory contract, which will new and initialize() each contract atomically.
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.