CertiK reviewed mindsync.ai (Mindsync) on 8 Mar 2023: 10 findings, 0 critical; none marked fixed.
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 | 0 | 0 |
| Medium | 0 | 0 | 0 |
| Low | 10 | 0 | 0 |
The linked variables have similar names. Code readability of the functions using these variables is low.
The functions `freezeto()`, `reducibleFreezeTo()` and `burn()` are not pausable. Since the `Pausable` contract is supposed to allow an emergency stop and considering these functions allow some kind of token's transfer and destruction; it seems inconsistent.
The **require** can be used to check for conditions and throw an exception if the condition is not met. It is better to provide a string message containing details about the error that will be passed back to the caller.
The functionality of the modifier `hasReleasePermission` is exactly the same as the modifier `onlyOwner` from the `Ownable` library.
The linked statements do not affect the functionality of the codebase and appear to be either leftovers from test code or older functionality.
The contract `Consts` contains only constants. Code readability of the linked function is low.
The linked function declarations contain explicitly named `return` variables that are not utilized within the function's code block.
The `SafeMath` library is not used in the linked function, these functions are made to prevent any risk of overflow/underflow. In the linked function, the overall logic of the contract should prevent overflow/underflow, however using `SafeMath` is considered best practice with solidity version anterior to 0.8.0, as it can help in mitigating the consequences of unexpected errors.
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 version numbers. 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 require statement is equivalent to the `WhenPaused` modifier, defined in the library `Pausable`.
| Address | Chain | Source code |
|---|---|---|
| 0x7538…f6090x75387e1287dd85482ab66102da9f6577e027f609 | Chain: Ethereum | Source code: Verified source |
1,045 projects reviewed · 1,376 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