CertiK reviewed LIF3 (Lif3 L3USD) on 27 Feb 2024: 5 findings, 1 critical; 1 acknowledged, 4 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 | 1 | 0 |
| High | 0 | 0 | 0 |
| Medium | 0 | 0 | 0 |
| Low | 4 | 0 | 0 |
Contract L3USD takes a less than 0.2% fee for each token transfer, and the fee is collected by the contract owner. If the fees is not flowed back to the users in some way, eventually all the L3USD token would end up in the contract owner's wallet.
The following 2 functions changes important state variables but don't emit relevant events as notifications. 1. Function `transferOwnership()` updates contract owner address. 2. Function `transferFrom()` updates the allowance before token transfer.
The `_to` or `_spender` input address in function `approve()`, `transfer()` and `transferFrom()` are missing a check that it is not `address(0)`. This would allow users to send token to zero address and essentially burn their tokens and decrease the amount of L3USD in circulation.
The variables `name`, `symbol` and `decimals` 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. An advantage of immutable variables is that reading them is significantly cheaper than reading from regular state variables since they are not located in storage.
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