Quantstamp reviewed Camp (Camp - Re-Audit) on 14 Aug 2025: 5 findings, 0 critical; 4 marked fixed, 1 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 | 0 | 0 | 1 |
| Low | 1 | 0 | 3 |
The `bridgeOut()` and `release()` functions allow the caller to specify a `_gaslimit` argument. This value is the maximum amount of gas units the executor should use on the destination chain when completing the bridge. However, in the case of the `CampTimelockEscrow` contract, there is never any validation that some minimum amount of gas is available on the destination chain to ensure the bridge transaction is successful. Therefore, User A could process User B's deposit via the `release()` function, specifying a very small `_gaslimit`, causing the transaction to fail on the destination chain. This means the affected user would have directly to call the `lzReceive()` function on the target chain's implementation of the Camp OFT contract in order to complete their bridge action successfully.
In the `_bridgeNativeTokens` function, the LayerZero `nativeOFTAdapter.send` call uses `address(this)` (the `CampTimelockEscrow` contract) as the refund address. This can result in refunded tokens becoming stuck in the escrow contract instead of being returned to the intended recipient.
In `bridgeOut()`, the `_to` parameter specifies the recipient address. However, there is no check to ensure `_to` is not the zero address.
The `release()` function contains the following check to ensure the user provides the necessary LayerZero fees: ```solidity if (msg.value != _fee.nativeFee) revert InvalidNativeBridgeDeposit(); ``` However, due to the dynamic nature of LayerZero fees, it may be difficult for the frontend to accurately predict what the exact fee will be when the transaction is executed. This may lead to a soft DoS where users' transactions unexpectedly fail due to slight changes in the LayerZero fee.
The report names a repository or files. Open the report to see its scope.
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