Nouns DAO contest - Soosh's results

A DAO-driven NFT project on Ethereum.

General Information

Platform: Code4rena

Start Date: 22/08/2022

Pot Size: $50,000 USDC

Total HM: 4

Participants: 160

Period: 5 days

Judge: gzeon

Total Solo HM: 2

Id: 155

League: ETH

Nouns DAO

Findings Distribution

Researcher Performance

Rank: 107/160

Findings: 1

Award: $35.44

🌟 Selected for report: 0

šŸš€ Solo Findings: 0

QA Findings

Checking of same logic twice

In _burnVetoPower(), require(msg.sender == vetoer) is checked. This is unneccessary as the same check is done in _setVetoer(address(0)), called in the second line.

function _burnVetoPower() public {
Ā  // Check caller is pendingAdmin and pendingAdmin ≠ address(0)
Ā  require(msg.sender == vetoer, 'NounsDAO::_burnVetoPower: vetoer only');
Ā  _setVetoer(address(0));
}

Recommendations: Remove the require(msg.sender == vetoer) check in _burnVetoPower().

Affected:

Typo error in MAX_QUORUM_VOTES_BPS_UPPER_BOUND

Comment indicates 4,000 bps or 60% and value is set to 6,000. Likely a typo (4,000 should be 6,000). Or wrong value set in MAX_QUORUM_VOTES_BPS_UPPER_BOUND, which should be 4,000.

uint256 public constant MAX_QUORUM_VOTES_BPS_UPPER_BOUND = 6_000; // 4,000 basis points or 60%

Affected: https://github.com/code-423n4/2022-08-nounsdao/blob/45411325ec14c6d747b999a40367d3c5109b5a89/contracts/governance/NounsDAOLogicV2.sol#L86

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