CertiK reviewed ClearCryptos on 10 Oct 2022: 7 findings, 0 critical; 4 marked fixed, 1 acknowledged, 2 open.
Report hosted on skynet.certik.com.
Trustblock does not review code.
Statuses are the security firm’s own, from its report.
| Severity | Open | Acknowledged | Fixed |
|---|---|---|---|
| Critical | 0 | 0 | 0 |
| High | 0 | 1 | 0 |
| Medium | 0 | 0 | 0 |
| Low | 2 | 0 | 4 |
Functions which are never called internally within the contract should be set as external for gas optimization. --- ```solidity=44 function getFeeState() public view virtual returns ( ``` --- ```solidity=63 function isTrading() public view virtual returns (bool) { ``` --- ```solidity=73 function isInitializedLiquidityProvider() public view virtual returns (bool) { ``` --- ```solidity=82 function isOperational(address _operationalAddress) public view virtual returns (bool) { ``` --- ```solidity=91 function isLiquidityProvider(address _liquidityprovider) public view virtual returns (bool) { ```
The following functions do not have any checking for boolean input parameters, which means that they can be set to the same value multiple times. Making the following changes could help save gas and optimize the contract code. ```solidity=147 function setTrading(bool _trading) external virtual onlyOwner ``` - `_trading` is not checked before being used. ```solidity=156 function setInitializedLiquidityProvider(bool _initializedLiquidityProvider) external virtual onlyOwner ``` - `_initializedLiquidityProvider` is not checked before being used.
Addresses should be checked before assignment or external calls to make sure they are not zero addresses. ```solidity=101 function setOperational(address _operationalAddress) external virtual onlyOwner ``` - `_operationalAddress` is not zero-checked before being used. ```solidity=119 function setLiquidityProvider(address _liquidityProvider) external virtual onlyOwner ``` - `_liquidityProvider` is not zero-checked before being used. ```solidity=137 function setFeeAddress(address _feeAddress) external virtual onlyOwner ``` - `_feeAddress` is not zero-checked before being used.
The contract has an unlocked compiler version. An unlocked compiler version in the source code of the contract permits the user to compile it at or above a particular version. This, in turn, leads to differences in the generated bytecode between compilations due to differing compiler versions. This can lead to ambiguity when debugging as compiler specific bugs may occur in the codebase that would be hard to identify over a span of multiple compiler versions rather than a specific one.
The report names a repository or files. Open the report to see its scope.
1,044 projects reviewed · 1,375 reports · latest May 2025
See CertiK’s auditsSomething wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.
Tell us