Impact: Medium
Likelihood: Low
The smart contract under inspection inherits from the Ownable
library, which provides basic authorization control functions, simplifying the implementation of user permissions. The contract in question allows the owner to adjust parameters such as feeOwnerPercentageBuy. However, the contract does not provide a mechanism to transfer ownership to another address or account, and it retains the default renounceOwnership
function from Ownable
.
Given this, once the owner renounces ownership using the renounceOwnership
function, the contract becomes ownerless. As evidenced in the provided transaction logs, after the renounceOwnership
function is called, attempts to call functions that require owner permissions fail with the error message: "Ownable: caller is not the owner."
This state renders the contract's adjustable parameters immutable and potentially makes the contract useless for any future administrative changes that might be necessary.
3
GitHub: 12
GitHub: 11
GitHub: 27
Impact: Medium
Likelihood: Low
Contracts with privileged functions need owner/admin to be trusted not to perform malicious updates or drain funds. This may also cause a single point failure.
5
GitHub: 19
GitHub: 23
approve
will always revert as the IERC20
interface mismatchImpact: Medium
Likelihood: Low
Some tokens, such as USDT, have a different implementation for the approve function: when the address is cast to a compliant IERC20
interface and the approve function is used, it will always revert due to the interface mismatch.
1
GitHub: 20
IERC20
tokens may revert with transfer
Impact: Medium
Likelihood: Low
Some IERC20
tokens (e.g. BNB
, OMG
, USDT
) do not implement the standard properly, but they are still accepted by most code that accepts ERC20
tokens.
For example, USDT
transfer functions on L1 do not return booleans: when casted to IERC20
, their function signatures do not match, and therefore the calls made will revert.
1
GitHub: 74
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.