CertiK reviewed NineLivesBattalion on 28 Apr 2022: 6 findings, 0 critical; 5 marked fixed, 1 acknowledged.
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 | 0 | 0 | 5 |
The contracts `ERC721` and `ERC721Enumerable` implement interfaces and libraries from OpenZeppelin but do not utilize the the OpenZeppelin `ERC721` and `ERC721Enumerable` libraries.
The function `balanceOf()` uses a costly for-loop over the entire `_owners` array to calculate the number of ERC721s owned by an account.
The order of the following requirements places the most computationally expensive requirement first. ```solidity=132 require(_verify(_leaf(Strings.toString(allowance), payload), proof), "Invalid Merkle Tree proof supplied."); require(totalSupply + count < MAX_SUPPLY, "Exceeds max supply."); require(addressToMinted[_msgSender()] + count <= allowance, "Exceeds whitelist supply"); require(count * whitelistPrice == msg.value, "Invalid funds provided."); ``` should a later requirement revert, the high gas used to execute line 132 would be lost in the transaction.
The linked statements do not affect the functionality of the codebase and appear to be either leftovers from test code or older functionality.
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 (4)
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