FIAT DAO veFDT contest - seyni's results

Unlock liquidity for your DeFi fixed income assets.

General Information

Platform: Code4rena

Start Date: 12/08/2022

Pot Size: $35,000 USDC

Total HM: 10

Participants: 126

Period: 3 days

Judge: Justin Goro

Total Solo HM: 3

Id: 154

League: ETH

FIAT DAO

Findings Distribution

Researcher Performance

Rank: 100/126

Findings: 1

Award: $29.89

🌟 Selected for report: 0

🚀 Solo Findings: 0

QA

Non-critical

[N-01] Duplicated require() checks should be refactored to a modifier.

Consider replacing every require(msg.sender == owner, "Only owner") by a modifier OnlyOwner to improve readability.

File: https://github.com/code-423n4/2022-08-fiatdao/blob/fece3bdb79ccacb501099c24b60312cd0b2e4bb2/contracts/VotingEscrow.sol#L140

140: require(msg.sender == owner, "Only owner");

File: https://github.com/code-423n4/2022-08-fiatdao/blob/fece3bdb79ccacb501099c24b60312cd0b2e4bb2/contracts/VotingEscrow.sol#L147

147: require(msg.sender == owner, "Only owner");

File: https://github.com/code-423n4/2022-08-fiatdao/blob/fece3bdb79ccacb501099c24b60312cd0b2e4bb2/contracts/VotingEscrow.sol#L154

154: require(msg.sender == owner, "Only owner");

File: https://github.com/code-423n4/2022-08-fiatdao/blob/fece3bdb79ccacb501099c24b60312cd0b2e4bb2/contracts/VotingEscrow.sol#L162

162: require(msg.sender == owner, "Only owner");

[N-02] Use of floating pragma for implementation contract.

Implementation contracts VotingEscrow.sol and BlockList.sol should not have a floating pragma to ensure code has been tested and deployed with the same version.

Low severity

[L-01] decimal does not follow ERC20 standard and is unnecessarily harcoded to 18.

In VotingEscrow.sol, decimal type is uint256 when it should be uint8 as set in the interface IERC20.sol.

File: https://github.com/code-423n4/2022-08-fiatdao/blob/fece3bdb79ccacb501099c24b60312cd0b2e4bb2/contracts/VotingEscrow.sol#L66

66: uint256 public decimals = 18;

decimal is also hardcoded to 18 while its value will change in the constructor anyway using decimals().

File: https://github.com/code-423n4/2022-08-fiatdao/blob/fece3bdb79ccacb501099c24b60312cd0b2e4bb2/contracts/VotingEscrow.sol#L66

66: uint256 public decimals = 18;

File: https://github.com/code-423n4/2022-08-fiatdao/blob/fece3bdb79ccacb501099c24b60312cd0b2e4bb2/contracts/VotingEscrow.sol#L115

115: decimals = IERC20(_token).decimals();
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