Constructor calls _disableInitializers()
StakeWise v3's assessment for RD-F-023 — scored green on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.
Evidence summary #
EthVault (TVL-bearing UUPS proxy implementation) correctly calls _disableInitializers() in its constructor. EthPrivVault confirmed same pattern. VaultsRegistry and Keeper are not proxy implementations — _disableInitializers() is not required for direct non-upgradeable contracts. The OZ pattern is correctly applied where it matters (vault implementations).
Sources #
- GitHubEthVault.sol source — _disableInitializers() in constructorEthVault.sol constructor includes _disableInitializers(); EthPrivVault uses @custom:oz-upgrades-unsafe-allow constructor annotation + _disableInitializers()retrieved 2026-05-16
- CommunityVault Etherscan — ERC1967Proxy deploymentCommunityVault 0x154628AC72533aad39aBdcaE2055Dced0b4Eef4D — ERC1967Proxy proxy deploying to implementation that uses _disableInitializers()retrieved 2026-05-16
Methodology #
Determine whether implementation contract constructors call `_disableInitializers()` to prevent re-initialization of the implementation directly.
See the full factor methodology and distribution across all protocols →
rubric_version v1.7.0 protocol stakewise factor RD-F-023 score green collected_at 2026-05-16 01:03:28