Bloq

Resonance SecurityCode version: not recorded (see the report)

Resonance Security reviewed Bloq on 5 Oct 2023: 9 findings, 0 critical; 4 marked fixed, 5 open.

No open critical findings
Open the reportOpen Bloq’s security record
Report stored on IPFS. Content hash QmQ2rCkVcgAzB1irpNcfaASdd2i5KNQPvBWu1eDQfDB5Xi

Trustblock does not review code.

Findings9

Statuses are the security firm’s own, from its report.

SeverityOpenAcknowledgedFixed
Critical000
High000
Medium202
Low302
MediumInsufficient Validation Of collateralFactorFixed

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.

MediumMissing Modifier whenNotShutdown On Cross-Chain CallsFixed

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.

LowMissing Zero Amount Validation Of amountIn_Fixed

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.

LowUnnecessary Modifier onlyIfSyntheticTokenIsActive On flashIssue()Fixed

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.

Contracts in scope

No deployed address is recorded for this audit.

The report names a repository or files. Open the report to see its scope.

Part of Bloq’s security record

Bloq
Audits1 audit by 1 firmLast audit Oct 2023, by Resonance Security.
Critical findingsNo open critical findingsIn 1 report.
Open Bloq’s security record

Security firm

Resonance Security

18 projects reviewed · 25 reports · latest Aug 2025

See Resonance Security’s audits

Something 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