★ Reinitializable implementation (no _disableInitializers)
Usual (USD0 / bUSD0 / USUAL)'s assessment for RD-F-143 — scored yellow on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.
Evidence summary #
DaoCollateral impl (0x0eEc861D...): _disableInitializers() called in constructor — CONFIRMED. bUSD0 impl (0x9F2BD21...): uses initializeV3() versioned reinitializer pattern — version-specific protection but not a blanket disable. USD0 impl: initializeV2() — same versioned pattern. Versioned reinitializers require per-upgrade verification that no re-init path exists on the new implementation. Yellow — controls present but not fully deterministic across all upgrade versions.
Sources #
- EtherscanDaoCollateral implementation — _disableInitializers() confirmed0x0eEc861D49f15f585d6bb4301fc4f89bce22af4e (DaoCollateral impl): _disableInitializers() called in constructor — confirmed from Etherscan sourceretrieved 2026-05-17
- bUSD0 implementation — versioned reinitializer (not full disable)0x9F2BD21bf8012fce0d5845537c1deff3a89bc85b (bUSD0 impl): initializeV3() pattern — versioned reinitializer (version-locked, not _disableInitializers())retrieved 2026-05-17
Methodology #
Determine whether the implementation contract does not call `_disableInitializers()` in its constructor, leaving re-initialization possible.
See the full factor methodology and distribution across all protocols →