★ Reinitializable implementation (no _disableInitializers)
Euler V2's assessment for RD-F-143 — scored green on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.
Evidence summary #
EVault implementation constructor sets initialized=true via custom boolean guard. Initialize.sol: 'if (initialized) revert E_Initialized(); initialized = true'. Constructor also sets initialized=true to prevent direct initialization of the implementation. Functionally equivalent to _disableInitializers() for this implementation. Custom pattern, not OZ standard — code-security-analyst should verify proxy takeover vector coverage.
Sources #
- GitHubEVault Initialize.sol — Custom initialized boolean guard prevents re-initializationeuler-xyz/euler-vault-kit/blob/master/src/EVault/modules/Initialize.solretrieved 2026-05-04
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 →