Quantstamp reviewed Hifi Finance on 21 Oct 2022: 31 findings, 0 critical; 7 marked fixed, 22 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 | 0 |
| Medium | 1 | 9 | 5 |
| Low | 1 | 13 | 2 |
Many functions within the `BalanceSheetV2` contract call the `BalanceSheetV2.getHypotheticalAccountLiquidity()` in order to determine whether the user's liquidity is healthy. The `BalanceSheetV2.getHypotheticalAccountLiquidity()` function iterates over all collateral and bond tokens held by the vault. The number of bonds a vault holds is limited by an upper bound `maxBonds` defined within the `Fintroller` contract. However, the number of different collateral assets held by the vault is not bounded. The unbounded iteration could lead to any function which relies on the `BalanceSheetV2.getHypotheticalAccountLiquidity()` function running out of gas. This will result in the complete unusability of the vault and the inability to recover any funds stored within it. The same issue exists for the `internal` function `BalanceSheetV2.removeCollateralFromList()`, which may also iterate over every collateral the vault holds.
Every Solidity file specifies in the header a version number of the format `pragma solidity >=0.8.4`. The `>=` before the version number implies an unlocked pragma, meaning that the compiler will use the specified version _and above_, hence the term "unlocked".
The report names a repository or files. Open the report to see its scope.
Repository and files the report names (33)
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