Open Dollar - clara's results

A floating $1.00 pegged stablecoin backed by Liquid Staking Tokens with NFT controlled vaults.

General Information

Platform: Code4rena

Start Date: 18/10/2023

Pot Size: $36,500 USDC

Total HM: 17

Participants: 77

Period: 7 days

Judge: MiloTruck

Total Solo HM: 5

Id: 297

League: ETH

Open Dollar

Findings Distribution

Researcher Performance

Rank: 48/77

Findings: 1

Award: $41.97

Analysis:
grade-b

🌟 Selected for report: 0

🚀 Solo Findings: 0

Findings Information

🌟 Selected for report: hunter_w3b

Also found by: 0xbrett8571, 0xweb3boy, JCK, Myd, SAAJ, ZanyBonzy, clara, fouzantanveer, jauvany, wei3erHase

Labels

analysis-advanced
grade-b
sufficient quality report
A-01

Awards

41.9716 USDC - $41.97

External Links

Introduction of Protocol

Open Dollar is a decentralized finance (DeFi) protocol designed to manage surplus, debt, and Single Collateral Debt Positions (SAFEs). The protocol employs various smart contracts to facilitate actions such as auctioning surplus and debt, transferring surplus, managing governance through proposals and voting, and handling Time-Weighted Average Price (TWAP) oracles from Uniswap V3 and CamelotRelayer.

Architecture Recommendations

General Structure

The architecture of the Open Dollar protocol seems well-organized, leveraging a modular approach with multiple contracts for different functionalities. Here are some recommendations:

Documentation: Ensure comprehensive documentation for each contract, specifying their roles, interactions, and dependencies. This is critical for developers and auditors.

Access Control: Implement role-based access control, especially for critical functions. This enhances security by restricting certain actions to authorized entities.

Upgradeability: Consider implementing a mechanism for contract upgradeability, allowing the protocol to adapt to evolving requirements and fix potential bugs.

Specific Contract Recommendations

ODProxy.sol Multi-Signature: Consider implementing a multi-signature mechanism for critical functions, reducing the risk associated with the compromise of a single private key. ODGovernor.sol Access Control: Introduce access control mechanisms to restrict proposal creation and execution to authorized addresses.

Parameter Validation: Implement thorough validation for addresses passed during contract initialization.

ODSafeManager.sol Gas Limits: Optimize functions that iterate over potentially large sets to prevent hitting block gas limits, which could be a potential denial-of-service (DoS) vector.

Upgradeability: Implement an upgrade mechanism for the safeEngine and vault721 addresses in case these contracts are upgraded.

Codebase Quality Analysis

Strengths

Use of Libraries: Leveraging OpenZeppelin and other libraries for common functionalities like access control and safe arithmetic operations enhances code reliability.

Modularity: The protocol is structured with distinct contracts for different purposes, promoting readability and maintainability.

Weaknesses

Limited Input Validation: Some contracts lack thorough validation of input parameters, which could lead to unexpected behavior if incorrect data is provided.

Access Control: While some contracts use basic access control mechanisms, others may benefit from a more granular and standardized access control setup.

Centralization Risks

Governor Authority: The authority granted to the governor in the Vault721.sol contract raises centralization concerns. Consider mechanisms to distribute governance or introduce a time-lock for critical operations.

Single SAFE Manager: The SAFEHandler.sol contract allows any address to become a SAFE manager, potentially leading to centralization if not appropriately controlled.

Mechanism Review

Auction Mechanism

Surplus and Debt Management: The AccountingEngine.sol contract handles surplus and debt efficiently. Ensure the robustness of the auction mechanisms and the correct interaction with the SAFEEngine.

Oracle Mechanism

CamelotRelayer and UniV3Relayer: Both contracts interact with external oracles to fetch and transform price data. Ensure the reliability and security of these oracles, as vulnerabilities could impact the accuracy of price feeds.

Systemic Risks

Governance Security: As the protocol relies on governance for decision-making, the security and trustworthiness of the governance contract (ODGovernor.sol) are paramount. Implement additional checks to safeguard against potential manipulation.

External Contract Dependencies: The reliance on external contracts and libraries introduces dependencies. Ensure these external components are well-audited and come from trusted sources.

In conclusion, while the Open Dollar protocol exhibits strong modular design and leverages reputable libraries, addressing potential weaknesses, enhancing access control, and ensuring upgradeability can further strengthen its security and resilience. Continuous monitoring and periodic audits are recommended as the protocol evolves.

Time spent:

8 hours

#0 - c4-pre-sort

2023-10-27T01:40:06Z

raymondfam marked the issue as sufficient quality report

#1 - c4-judge

2023-11-03T17:31:59Z

MiloTruck marked the issue as grade-b

AuditHub

A portfolio for auditors, a security profile for protocols, a hub for web3 security.

Built bymalatrax © 2024

Auditors

Browse

Contests

Browse

Get in touch

ContactTwitter