CertiK reviewed Peerblue Exchange (PBX - PBMaticPrediction) on 19 Jan 2023: 8 findings, 0 critical; 3 marked fixed, 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 | 0 | 0 |
| High | 1 | 0 | 0 |
| Medium | 0 | 1 | 0 |
| Low | 3 | 0 | 3 |
In the contract `Ownable` the role `_owner` has authority over the functions shown in the diagram below. Any compromise to the `_owner` account may allow the hacker to take advantage of this authority and bring unpredictable damages to the project.  In the contract `PBMaticPrediction` the role `_owner` has authority over the functions shown in the diagram below. Any compromise to the `_owner` account may allow the hacker to take advantage of this authority and bring unpredictable damages to the project.  In the contract `PBMaticPrediction` the role `adminAddress` has authority over the functions shown in the diagram below. Any compromise to the `adminAddress` account may allow the hacker to take advantage of this authority and bring unpredictable damages to the project.  In the contract `PBMaticPrediction` the role `operatorAddress` has authority over the functions shown in the diagram below. Any compromise to the `operatorAddress` account may allow the hacker to take advantage of this authority and bring unpredictable damages to the project. 
The call was definitely initiated by an external account when the smart contract checked **msg.sender == tx.origin** and found the result was true (EOA: Externally Owned Account). Hence the `isContract` check is redundant here.
The check for `oracleCalled` in the claim function is unnecessary if `oracleCalled` is a factor in determining whether the user is claimable or not. The oracleCalled check is required, though, if the two tests are independent of one another.
The contract is serving as the underlying entity to interact with one or more third-party protocols. The scope of the audit treats third-party entities as black boxes and assumes their functional correctness. However, in the real world, third parties can be compromised and this may lead to lost or stolen assets. In addition, upgrades of third parties can possibly create severe impacts, such as increasing fees of third parties, migrating to new LP pools, etc. ```solidity=752 AggregatorV3Interface public oracle; ``` - The contract `PBMaticPrediction` interacts with third-party contract with `AggregatorV3Interface` interface via `oracle`. --- ```solidity=1224 function recoverToken(address _token, uint256 _amount) external onlyOwner { ``` - The function `PBMaticPrediction.recoverToken` interacts with third-party contract with `IERC20` interface via `_token`.
| Address | Chain | Source code |
|---|---|---|
| 0x52af…b3e20x52afcd78c3ba1cd6187c1d13fe12d5fc5d0fb3e2 | Chain: Polygon (POS) | Source code: Verified source |
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