| No. | Issue |
|---|---|
| 1 | Loss of precision due to rounding |
| 2 | Use safeTransferOwnership instead of transferOwnership function |
| 3 | Always use safeTransferFrom instead of transferFrom |
| 4 | Owner can renounce Ownership |
Description:
Typically occurs while using / operator. It is recommended to use SafeMath library for all arithmetic operations.
Recommendation:
Add scalar so roundings are negligible.
Lines of Code:
safeTransferOwnership instead of transferOwnership functionDescription:
transferOwnership function is used to change Ownership from Ownable.sol.
Use a 2 structure transferOwnership which is safer. safeTransferOwnership, use it is more secure due to 2-stage ownership transfer.
Recommendation:
Use Ownable2Step.sol Ownable2Step.sol
Lines of Code:
safeTransferFrom instead of transferFromLines of Code:
Description:
Typically, the contract’s owner is the account that deploys the contract. As a result, the owner is able to perform certain privileged activities.
The non-fungible Ownable used in this project contract implements renounceOwnership. This can represent a certain risk if the ownership is renounced for any other reason than by design. Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.
Lines of Code:
onlyOwner functions:
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.