Omniscia Steer Protocol Audit

SteerPeriphery Manual Review Findings

SteerPeriphery Manual Review Findings

SPY-01M: Non-Standard Disable of Initializer

Description:

The SteerPeriphery::constructor will disable its Initializable implementation by invoking the Initializable::initializer modifier in its declaration rather than invoking the Initializable::_disableInitializers function.

Impact:

If the SteerPeriphery were to ever use versioned initializations, they would still be invoke-able in the base implementation due to an incorrect initialization mechanism in the contract's constructor.

Example:

contracts/SteerPeriphery.sol
103constructor() initializer {}

Recommendation:

We advise the relevant disable function to be invoked, ensuring that versioned initializations are also prohibited.

Alleviation (fbb15dfb5ea6fad8296e934a8eb87c9fc3ef13cd):

The Steer Protocol team evaluated this exhibit and clarified that the particular version of Initializable they import to the codebase does not support the Initializable::_disableInitializers flow.

After confirming this is indeed the case, we consider this exhibit to be inapplicable.