Part of CertiK’s retainer series
CertiK reviewed WEMIX (Wemix Retainer 133 PricePolicy) on 9 Sep 2024: 3 findings, 0 critical; 1 marked fixed, 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 | 1 | 0 | 0 |
| Medium | 0 | 0 | 0 |
| Low | 1 | 0 | 1 |
In the contract `PricePolicy`, the role `SETTER` has authority over the following functions: - `setPriceOracle()`: Registers token's price oracle contract. - `setLimitPrice()`: Registers the price to be used as the criterion for determining whether it is a valid price. - `changeRoleManager()`: Change the `RoleManager` contract. Any compromise to the `SETTER` account may allow a hacker to take advantage of this authority and change the price of tokens.
The current implementation of the `isMintableTime()` function checks whether the current time is greater than the timestamp of the TWAP recorded in `priceCache.TimeStamp`: ```solidity=152 function isMintableTime(uint start) public view returns (bool) { return block.timestamp > start; } ``` With the cached price being saved when or before the query occurs, this check will succeed if the price query and TWAP update transactions are not in the same block. The function does not account for the possibility that the cached TWAP price might be stale. A stale TWAP price, which has not been updated for an extended period, could lead to outdated pricing data being used within the protocol.
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