★ Public initialize() without initializer modifier
Concrete'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 #
ConcreteFactory impl constructor confirmed: constructor() { _disableInitializers(); } — prevents re-initialization of implementation. ConcreteAsyncVaultImpl constructor confirmed: constructor(address factory) { _disableInitializers(); _grantRole(DEFAULT_ADMIN_ROLE, factory); }. Both use OZ _disableInitializers() pattern. initialize() is protected from being called directly on implementation. Green.
Sources #
- EtherscanConcreteFactory implementation sourceConcreteFactory impl 0x224f3450 — constructor calls _disableInitializers()retrieved 2026-05-17
- ConcreteAsyncVaultImpl sourceConcreteAsyncVaultImpl 0x21051573 — constructor calls _disableInitializers()retrieved 2026-05-17
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 →