★ Public initialize() without initializer modifier
M^0'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 #
Core contracts (MToken, MinterGateway, Registrar, three governors, PowerToken): immutable, constructor-only initialization, no initialize() function. WrappedM impl: constructor-only. SwapFacility impl (0x45bF08d0): has initialize() and initializeV2() but uses OZ Initializable (initializer modifier). HubPortal impl: initialize() with OZ Initializable. No unguarded public initialize() without modifier found.
Sources #
- GitHub
- HubPortal Implementation EtherscanHubPortal impl 0xdFC64dbF0 — OZ Initializable patternretrieved 2026-05-16
- SwapFacility Implementation EtherscanSwapFacility impl 0x45bF08d0 — OZ Initializable patternretrieved 2026-05-16
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 →