Olympus DAO contest - p_crypt0's results

Version 3 of Olympus protocol, a decentralized floating currency.

General Information

Platform: Code4rena

Start Date: 25/08/2022

Pot Size: $75,000 USDC

Total HM: 35

Participants: 147

Period: 7 days

Judge: 0xean

Total Solo HM: 15

Id: 156

League: ETH

Olympus DAO

Findings Distribution

Researcher Performance

Rank: 109/147

Findings: 1

Award: $54.31

🌟 Selected for report: 0

🚀 Solo Findings: 0

[informational] No Module uses the INIT() function which is enstated in Kernel.sol in the Module class.

Synopsis

In the abstract Module class within Kernel.sol, the INIT() function is declared without any implementation present, with the intention evidently being to implement the respective INIT codes within the Modules themselves. However, none of the present Modules are overriding the INIT function and so, whenever the kernel is installing a new module and the _newModule.INIT() function is being called, no initialisation is happening on the modules.

Proof of concept

None of the modules are using the INIT function which has been created in Kernel.sol's Module class: https://github.com/code-423n4/2022-08-olympus/blob/b5e139d732eb4c07102f149fb9426d356af617aa/src/Kernel.sol#L105

Used here: https://github.com/code-423n4/2022-08-olympus/blob/b5e139d732eb4c07102f149fb9426d356af617aa/src/Kernel.sol#L290 And https://github.com/code-423n4/2022-08-olympus/blob/b5e139d732eb4c07102f149fb9426d356af617aa/src/Kernel.sol#L276

Price.sol has its own initialise function.

Discussion

The spec notes:

/// @notice Initialization function for the module /// @dev This function is called when the module is installed or upgraded by the kernel. /// @dev MUST BE GATED BY onlyKernel. Used to encompass any initialization or upgrade logic.

All of the conditions are technically met, however, nothing gets initialised for any existing module through these initialisations, so in current context it is using deployment gas unnecessarily.

#0 - 0xLienid

2022-09-09T02:14:47Z

While true, this doesn't recognize that more modules will be installed in the future and they may utilize the init function.

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