Quantstamp reviewed MCDEX Arbitrum Integration (MCDEX) on 11 Apr 2021: 19 findings, 0 critical; 11 marked fixed, 6 acknowledged, 2 open.
Report hosted on certificate.quantstamp.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 | 0 | 1 |
| Medium | 0 | 1 | 2 |
| Low | 2 | 5 | 8 |
According to `updatePrice` in `contracts\module\PerpetualModule.sol` and `contracts\interface\IOracle.sol`, the oracles that the current system uses do not have any backup. The system only collects price data of each `path` from one oracle so there is no backup oracle. The system could fail to work correctly when any of the oracles is operating abnormally or being manipulated.
The function `calculateCashToReturn` assumes that the context is fully prepared without excluding any perpetuals.
For `account.cash` and `collateralToken`, the system stores its own balance data for calculation instead of utilising real-time token contract data. This could lead to faulty calculation when non-standard tokens (e.g., those which may be deflationary, involve rebasing, or have wrong return values from `transfer`) are used.
In the function `brokerTrade`, a user can interact with `Perpetual.sol` directly by giving it a manipulated `OrderData` that seems to be sent by a broker, from a relayer.
`L61` in `setRewardRate` may truncate unfinished reward distribution.
Functions `transferFromUserToPool` and `transferFromPoolToUser` are unused. There are also comments indicating risks of incorrect calculation if used in `addLiquidity` or `removeLiquidity`.
The report names a repository or files. Open the report to see its scope.
Repository and files the report names (74)
236 projects reviewed · 332 reports · latest Oct 2026
See Quantstamp’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