專案簡介
The target of this audit is the private code repository of Stove Protocol Contracts of Habittrade. The protocol establishes an on-chain stock trading market that enables the issuance and trading of tokenized stocks. Stock tokens are created via a factory contract, while certain stock-related operations, such as dividends, stock splits, and reverse splits are handled through trusted off-chain logic and executed on-chain by privileged operators. User trading activity, including buying and selling stock tokens, is facilitated through the RFQSettlement contract, which manages order execution and settlement. By combining on-chain enforcement with off-chain computation, the protocol aims to provide a flexible and efficient framework for tokenized equity management and trading.
Please refer to the report for the detailed audit scope.
Our audit methodology employs automated vulnerability scans, manual verification, and business logic analysis to uncover potential security issues coupled with gas and code quality optimization recommendations.
In summary, we have found that the codebase contains 1 high-risk issue that require prompt attention. In addition, we have identified other non-critical issues as well as recommendations and notes that should be considered. The Stove Protocol Contracts team has addressed these issues promptly. It is important to note that our audit covers only the final reported versions of the codebase. Any subsequent updates would require a re-evaluation.
關鍵發現
我們在該智能合約中共發現 10 個潛在問題,另有 2 條建議與 2 條說明,明細如下:
| ID | Severity | Description | Status |
|---|---|---|---|
| 1 | High | Lack of check in functions permitTransferFrom() and permitTransferFromBatch() |
Fixed |
| 2 | Medium | Incorrect lock caller context in batch order filling | Fixed |
| 3 | Medium | Lack of management routing in StockTokenManager |
Fixed |
| 4 | Medium | Incomplete delisting coverage in stock token management | Fixed |
| 5 | Medium | Potential loss of funds on expired order relocking | Fixed |
| 6 | Medium | Incorrect stockToken update logic |
Confirmed |
| 7 | Medium | Lack of principal address validation in function lockOrder() |
Fixed |
| 8 | Low | Inconsistent incentive allocation in order filling | Confirmed |
| 9 | Low | Inconsistent exchange validation in function updateStockInfo() |
Fixed |
| 10 | Low | Inconsistent lock window configuration | Fixed |
| 11 | - | Improper logic in function computeAddress() |
Fixed |
| 12 | - | Inconsistent event emission in invalidateNonce() and invalidateNonces() |
Fixed |
| 13 | - | Potential centralization risks | - |
| 14 | - | Trusted off-chain logic | - |
更多細節見審計報告。