SoulboundProfileNFT should initialize ownership using OpenZeppelin Ownable behavior and allow proper deployment of contract owner privileges.
The constructor instead calls Ownable(msg.sender), which is invalid for OpenZeppelin Ownable and prevents the contract from compiling correctly.
Likelihood:
Contract deployment will fail whenever this constructor path is compiled with OpenZeppelin Ownable.
Any downstream contracts depending on SoulboundProfileNFT will also be blocked from deployment.
Impact:
The contract cannot be deployed, making the entire NFT feature unusable.
Associated systems such as LikeRegistry cannot be initialized with a valid profile NFT address.
The constructor call is invalid for OpenZeppelin Ownable (which takes no parameters). Run the tests to see the compilation error:
The contract fails to compile with:
Remove the invalid Ownable(msg.sender) call and rely on OpenZeppelin's default constructor behavior, which automatically sets msg.sender as the owner:
The contest is live. Earn rewards by submitting a finding.
Submissions are being reviewed by our AI judge. Results will be available in a few minutes.
View all submissionsThe contest is complete and the rewards are being distributed.