Constructor calls _disableInitializers()
Hyperliquid's assessment for RD-F-023 — scored yellow on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.
Evidence summary #
Bridge2.sol uses a constructor but does NOT call _disableInitializers(). Since Bridge2 does not use an initializer pattern (uses a real constructor), the OZ guidance is not structurally required — the constructor IS the initialization. However, defense-in-depth practice would still apply _disableInitializers() to prevent any future confusion. Slightly below best practice for a proxy-wrapped contract.
Sources #
- GitHubBridge2.sol raw sourceBridge2.sol raw source — constructor present without _disableInitializers()retrieved 2026-04-28
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 →