Omniscia Steer Protocol Audit

PluginV1 Static Analysis Findings

PluginV1 Static Analysis Findings

PV1-01S: Inexistent Initialization Protection of Base Implementation

Description:

The contract is meant to be upgradeable yet does not properly protect its logic deployment from malicious initializations.

Example:

src/Adapters/Algebra/PluginV1.sol
32contract PluginV1 is Initializable, Timestamp, ERC20Upgradeable, PausableUpgradeable {

Recommendation:

We advise a constructor to be introduced that either invokes the initializer modifier of the Initializable contract or invokes the Initializable::_disableInitializers function to prevent the base implementation from ever being initialized.

Alleviation:

A PluginV1::constructor implementation was introduced that properly disables the logic contract's initializers and thus addresses this exhibit.