CertiK reviewed EDM DanceCoin (EDMC) (EDMC project) on 7 Feb 2023: 10 findings, 0 critical; 6 marked fixed, 2 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 | 2 | 0 |
| Medium | 0 | 0 | 0 |
| Low | 2 | 0 | 6 |
Performing integer division before multiplication truncates the low bits, losing the precision of calculation. ```solidity=576 uint256 slipAmount = (amount.div(100)).mul(_slippageAmount); ```
The function `transferFrom()` lacks the check `sender != msg.sender`. If the user wants to call the function `transferFrom()` to do a transfer, he/she should approve allowance to himself/herself.
If the sender and recipient are the same, the slip amount should not be charged.
Functions `transfer()`, `mint()`, `increaseAllowance()`, `decreaseAllowance()` and `transferFrom()` need to check if `amount > 0` to avoid meaningless transactions.
Literals with many digits are difficult to read and review.
The linked variables assigned in the constructor can be declared as `immutable`. Immutable state variables can be assigned during contract creation but will remain constant throughout the lifetime of a deployed contract. A big advantage of immutable variables is that reading them is significantly cheaper than reading from regular state variables since they will not be stored in storage.
The report names a repository or files. Open the report to see its scope.
Repository and files the report names (1)
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