Audit · firm’s term: audit report
QuillAudits reviewed Torque on 28 Aug 2024: 6 findings, 0 critical; 2 marked fixed, 4 open.
Report hosted on quillaudits.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 | 1 |
| Medium | 0 | 0 | 0 |
| Low | 4 | 0 | 1 |
The smart contracts lack NATSpec (Ethereum Natural Language Specification) comments for many functions. NATSpec comments are crucial for providing clear documentation on function purposes, parameters, and return values, which helps improve the readability and usability of the contracts. The absence of these comments makes it harder for developers and users to understand the functions' intentions and how they should be used.
The updateRateMode functions in the RadiantWbtcRefinanceUSDC, RadiantWethRefinanceUSDC, AaveWbtcRefinance, and AaveWethRefinance contracts do not validate the rateMode parameter. Any uint256 value can be provided, potentially breaking the contract interaction with Aave and Radiant if an invalid rate mode is set.
The updateRLendingPool and updateAaveLendingPool functions in the RadiantWbtcRefinanceUSDC and AaveWbtcRefinance contracts, respectively, lack checks to ensure the new lending pool address is not the zero address. This omission can lead to critical issues if a zero address is set, such as causing contract interactions to fail or resulting in loss of functionality.
The contracts currently use string-based error messages in require statements to handle errors. This approach is less efficient and can increase gas costs due to the on-chain storage of strings. Additionally, string-based errors lack the structured handling that custom errors provide, which can lead to less maintainable code.For example, the following code uses string-based error messages: require(usdcAmount > 0, "USDC amount must be greater than 0"); require(rWethAmount > 0, "rWETH amount must be greater than 0"); This practice could be optimized by using custom errors, which are more gas-efficient and provide better structure for error handling.
| Address | Chain | Source code |
|---|---|---|
| 0x6b5c…5fd20x6b5c6c6a5223e1ce30d24dede62848bad0845fd2 | Chain: Arbitrum | Source code: Verified source |
350 projects reviewed · 459 reports · latest Apr 2025
See QuillAudits’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