★ Public initialize() without initializer modifier
EigenLayer's assessment for RD-F-022 — scored green on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.
Evidence summary #
Confirmed: EigenPod constructor calls _disableInitializers() after setting immutable variables (ethPOS, eigenPodManager). StrategyManager implementation confirmed to include _disableInitializers() in constructor. This is the standard OZ v4.9.0 pattern. No published audit finding identifies an unguarded public initialize on any implementation contract across 22+ audit engagements.
Sources #
- EtherscanEigenLayer StrategyManager ImplementationStrategyManager implementation 0x5d25eef8cfedaa47d31fe2346726de1c21e342fb — verified sourceretrieved 2026-04-28
- EigenPod.sol constructor — _disableInitializers() call confirmedLayr-Labs/eigenlayer-contracts/blob/main/src/contracts/pods/EigenPod.sol — constructor with _disableInitializers()retrieved 2026-04-28
Methodology #
Determine whether any implementation contract exposes `initialize(…)` without the OpenZeppelin `initializer` modifier or equivalent initialization lock.
See the full factor methodology and distribution across all protocols →