Resonance Security reviewed Bloq on 5 Oct 2023: 9 findings, 0 critical; 4 marked fixed, 5 open.
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 | 2 | 0 | 2 |
| Low | 3 | 0 | 2 |
The functions initialize() and updateCollateralFactor() do not account for the possibility of a collateral factor being introduced as either 0 or 1e18, corresponding to 0% or 100%. This effectively means that in some cases throughout the code, divisions will be made using this value that will yield "Division By Zero" errors, therefore reverting the transaction. Ultimately, this may cause a Denial of Service to legitimate users of the smart contract.
The modifier whenNotShutdown is implemented to provide a way for the system's governor to stop all operations during emergencies. However, not all critical functions are protected with this modifier. The functions layer2Leverage(), layer2FlashRepay(), retryLayer2LeverageCallback(), and retryLayer2FlashRepayCallback() do not rely on the protection of the whenNotShutdown modifier and may be used my malicious actors on specific scenarios to damage the entire system.
The function layer2Leverage() does not perform validation on the input variable amountIn_, therefore making it possible for a user to input a zero amount to be transferred. Some tokens do not perform this check intrinsically and may waste gas and blockchain resources if not accounted for by developers.
According to the code workflow implemented on the protocol, the modifier onlyIfSyntheticTokenIsActive being used on the function flashIssue() is not necessary since similar validations are already being made on the same smart contract interaction. This optimizes the code to save on gas during execution.
The report names a repository or files. Open the report to see its scope.
18 projects reviewed · 25 reports · latest Aug 2025
See Resonance Security’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