Omniscia Mantissa Finance Audit
Manual Review
Manual Review
A thorough line-by-line review was conducted on the codebase to identify potential malfunctions and vulnerabilities in Mantissa Finance's AMM implementation.
As the project at hand implements an algorithmic AMM, intricate care was put into ensuring that the flow of funds within the system conforms to the specifications and restrictions laid forth within the protocol's specification.
We validated that all state transitions of the system occur within sane criteria and that all rudimentary formulas within the system execute as expected. We pinpointed a significant flaw in the voting system of the MasterMantis
implementation which could have permitted arbitrary influence of the voting-related portion of pool rewards.
Additionally, the system was investigated for any other commonly present attack vectors such as re-entrancy attacks, mathematical truncations, logical flaws and ERC / EIP standard inconsistencies. The documentation of the project was satisfactory to a certain extent, however, we require that Mantissa Finance provides us with a whitepaper to adequately cover the algorithmic AMM portions of the codebase.
A total of 32 findings were identified over the course of the manual review of which 12 findings concerned the behaviour and security of the system. The non-security related findings, such as optimizations, are included in the separate Code Style chapter.
The finding table below enumerates all these security / behavioural findings:
ID | Severity | Addressed | Title |
---|---|---|---|
CON-01M | Inexistent Initialization Protection of Base Implementation | ||
MNT-01M | Dependency Limitation | ||
MEC-01M | Inexistent Initialization Protection of Base Implementation | ||
MEC-02M | Inexistent Enforcement of Bid Steps | ||
MMS-01M | Improper Vote Management of Duplicate Entries | ||
PLO-01M | Inexplicable Usage of Constant Fee | ||
PLO-02M | Inexistent Initialization Protection of Base Implementation | ||
PVE-01M | Inexistent Restriction of Assets | ||
PVE-02M | Inexistent Initialization Protection of Base Implementation | ||
VGN-01M | Inexistent Claim of Existing Funds | ||
VGN-02M | Potentially Unsafe Transfer of Vest | ||
MNE-01M | Instant Arbitrage Opportunity |