Yieldy contest - exd0tpy's results

A protocol for gaining single side yields on various tokens.

General Information

Platform: Code4rena

Start Date: 21/06/2022

Pot Size: $50,000 USDC

Total HM: 31

Participants: 99

Period: 5 days

Judges: moose-code, JasoonS, denhampreen

Total Solo HM: 17

Id: 139

League: ETH

Yieldy

Findings Distribution

Researcher Performance

Rank: 53/99

Findings: 2

Award: $81.18

🌟 Selected for report: 0

🚀 Solo Findings: 0

QA Report

Non-critical

Emit event for important function

Yieldy._setIndex(uint256 _index)

Staking.transferToke(address _claimAddress)

Staking.unstake(uint256 _amount, bool _trigger)

Staking.stake(uint256 _amount, address _recipient)

Staking.rebase()

Check address(0)

Yieldy.transferFrom(address _from,address _to,uint256 _value) need check for address(0) in _to parameter.

Code style suggestion

Common implementation of .transfer() is using .transferFrom(). But transfer in Yieldy is implement similar code with tansferFrom.

transfer using uint256 creditAmount = _value * rebasingCreditsPerToken;, but transferFrom using uint256 creditAmount = creditsForTokenBalance(_value);

This have to fix for code clarity.

Typo in comment

https://github.com/code-423n4/2022-06-yieldy/blob/524f3b83522125fb7d4677fa7a7e5ba5a2c0fe67/src/contracts/Staking.sol#L675

remove asdf at comment.

Low Risk

Unbounded loops

There is some loop in BatchRequests.sol. I understand this contract is used by bot. If index size grows too big, huge gas will spend.

Set resonable upper limit in loop.

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