CertiK reviewed VIDT DAO on 27 Sep 2022: 14 findings, 0 critical; 8 marked fixed, 1 acknowledged, 5 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 | 3 | 0 | 0 |
| Medium | 0 | 1 | 1 |
| Low | 2 | 0 | 7 |
According to the logic, the index of `fileHashes` starts from 0, but the logic for detecting the presence of a hash is based on whether the index is 0 or not. This will result in the first hash being able to be verified twice.
The parameter `Data` is not validated, however it's checked in the function `validateFile()`.
In the function `verifyFile()`, the loop that checks for byte inequality would be more efficient if it aborted the loop as soon as it found a match.
The function `simpleValidateFile()` emits the event `Transfer`, but the function `covertValidateFile()` does not.
The function `increaseAllowance()` has the same implementation logic as the function `increaseApproval()`, the function `decreaseAllowance()` has the same issue.
The function that is declared `payable` can receive ether. The function `simpleValidateFile()` seems not designed for receiving ether, so it is redundant to have the `payable` modifier.
After [EIP-1884](https://eips.ethereum.org/EIPS/eip-1884) was included in the Istanbul hard fork, it is not recommended to use `.transfer()` or `.send()` for transferring ether as these functions have a hard-coded value for gas costs making them obsolete as they are forwarding a fixed amount of gas, specifically `2300`. This can cause issues in case the linked statements are meant to be able to transfer funds to other contracts instead of EOAs.
The linked variables could be declared as `constant` since these state variables are never modified.
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