Illuminate contest - hake's results

Your Sole Source For Fixed-Yields.

General Information

Platform: Code4rena

Start Date: 21/06/2022

Pot Size: $55,000 USDC

Total HM: 29

Participants: 88

Period: 5 days

Judge: gzeon

Total Solo HM: 7

Id: 134

League: ETH

Illuminate

Findings Distribution

Researcher Performance

Rank: 59/88

Findings: 2

Award: $126.40

🌟 Selected for report: 0

🚀 Solo Findings: 0

QA Report

[L-01] admin transfer should be done in two step process

If admin is set to the wrong address the contract will be rendered useless. Using a two step transfer ensures a functioning address has to accept the transfer. https://github.com/code-423n4/2022-06-illuminate/blob/3ca41a9f529980b17fdc67baf8cbee5a8035afab/marketplace/MarketPlace.sol#L109-L112

[N-01] Comments dont agree with functionality

setSwivel() does not set feenominator as highlighted in @notice comment. https://github.com/code-423n4/2022-06-illuminate/blob/3ca41a9f529980b17fdc67baf8cbee5a8035afab/redeemer/Redeemer.sol#L89


Comment in buyPrincipalToken() "/// @notice buys the underlying for the PT via the pool" is false as PT is the asset actually been bought. Comment is also identical to buyUnderlying() despite having different functionality.

https://github.com/code-423n4/2022-06-illuminate/blob/3ca41a9f529980b17fdc67baf8cbee5a8035afab/marketplace/MarketPlace.sol#L151 https://github.com/code-423n4/2022-06-illuminate/blob/3ca41a9f529980b17fdc67baf8cbee5a8035afab/marketplace/MarketPlace.sol#L181

Gas Report

[G-01] for loop gas optimisation

o.length could be cached to save gas. i is unnecessarily initiated to its default value. https://github.com/code-423n4/2022-06-illuminate/blob/3ca41a9f529980b17fdc67baf8cbee5a8035afab/lender/Lender.sol#L265

[G-02] Setter functions can only be used once

If marketPlace or lender address change in the future the whole Redeemer.sol will have to be redeployed. If address input of setMarketPlace() or setLender() is done wrongly the whole contract is going to have to be redeployed.

I recommend allowing marketPlace and lender to be set more than once. https://github.com/code-423n4/2022-06-illuminate/blob/3ca41a9f529980b17fdc67baf8cbee5a8035afab/redeemer/Redeemer.sol#L70-L87

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