Torque

QuillAudits1 address on Arbitrum

Audit · firm’s term: audit report

QuillAudits reviewed Torque on 28 Aug 2024: 6 findings, 0 critical; 2 marked fixed, 4 open.

No open critical findings
Open the reportOpen Torque’s security record

Report hosted on quillaudits.com.

Trustblock does not review code.

Findings6

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

SeverityOpenAcknowledgedFixed
Critical000
High001
Medium000
Low401
LowMissing NATSpec Comments in FunctionsOpen

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.

LowMissing Validation for updateRateMode ParameterOpen

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.

LowMissing Zero Address Checks in updateRLendingPool and updateAaveLendingPoolOpen

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.

LowReplace String-Based Error Messages with Custom Errors for Gas EfficiencyOpen

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.

Contracts in scope1

AddressChainSource code
0x6b5c6c6a5223e1ce30d24dede62848bad0845fd2Chain: ArbitrumSource code: Verified source

Part of Torque’s security record

Torque
Audits1 audit by 1 firmLast audit Aug 2024, by QuillAudits.
Critical findingsNo open critical findingsIn 1 report.
Open Torque’s security record

Security firm

QuillAudits

350 projects reviewed · 459 reports · latest Apr 2025

See QuillAudits’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