Phuture Finance contest - 0v3rf10w's results

Crypto index platform, that simplifies your investments through automated, themed index products.

General Information

Platform: Code4rena

Start Date: 19/04/2022

Pot Size: $30,000 USDC

Total HM: 10

Participants: 43

Period: 3 days

Judges: moose-code, JasoonS

Total Solo HM: 7

Id: 90

League: ETH

Phuture Finance

Findings Distribution

Researcher Performance

Rank: 21/43

Findings: 2

Award: $101.53

🌟 Selected for report: 0

🚀 Solo Findings: 0

Awards

62.9884 USDC - $62.99

Labels

bug
QA (Quality Assurance)

External Links

QA1 : vToken.sol

Almost all functions in vToken.sol have no checks or limits the value for the respective fucntion either mint or transfer. Unlimited minting of tokens in vToken.sol for ORDERER_ROLE as there is no check in mint() function regarding the limit, which poses centralisation risk for the protool.

QA2 : prefer to use safemint and safetransfer from OZ

PhutureIndex.sol - l#65(safemint) , l#49(safetransfer) IndexLogic.sol - l#166 (prefer safetransfer consistently)

Awards

38.5445 USDC - $38.54

Labels

bug
G (Gas Optimization)

External Links

Gas1: prefer fixing pragma instead of floating pragma

Gas2: break && into seperate statements for require() save gas

chainlinkpriceoracle.md - l#86 ManagedIndexReweightingLogic.sol - l#29-32

Gas3: prefer uint256 instead of other uint types

BaseIndex.sol - l#77 IndexLibrary.sol - l#14,17,26 TopNMarketCapIndex.sol - l#8

Gas4: For unsigned integer, no need to check >, instead check for !=, which save gas

IndexLibrary.sol l#29 (_assetPerBaseInUQ) IndexLogic.sol - l#98 (value)

Gas5: use prefix {++i}

UniswapV2PricePathOracle.sol - It don't follow prefix optimisations for loops, It should also use prefix ++i instead of i++ to save gas as other

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