★ Public initialize() without initializer modifier
deBridge'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 #
DeBridgeGate impl (0x797161): `constructor() initializer {}` — constructor marks itself as initializer using OZ ≤4.5 pattern, preventing direct re-initialization; `initialize()` also carries `initializer` modifier. DlnBase.sol (parent of DlnSource and DlnDestination): `constructor() { _disableInitializers(); }` — best-practice OZ ≥4.6 pattern. DlnSource.sol `initialize()`: `public initializer`. DlnDestination.sol `initialize()`: `public initializer`. CrosschainForwarder impl: `initializer` mo...
Sources #
- GitHub
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 →