defirisk.co
rubric v1.7.0

Reinitializable implementation (no _disableInitializers)

Curve Finance'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 #

Core Curve contracts are Vyper non-proxy contracts (VotingEscrow, GaugeController, Minter, CRV token, pool contracts) — no OZ _disableInitializers() pattern applicable. Pool contracts are immutable Vyper deployments. Aragon Voting Apps use Aragon OS AppProxyUpgradeable with Aragon's own initialization guard (not OZ). No OZ-style reinitialization risk. Methodological note: factor is written for Solidity OZ pattern; Vyper immutable contracts are structurally equivalent to the green outcome.

Sources #

  • Docs
    Curve Finance protocol profile §1, §3profile.md §1 — Vyper codebase confirmed; VotingEscrow 'Vyper 0.2.4, immutable' per profile §3retrieved 2026-04-28
  • GitHub
    Aragon OS AppProxyUpgradeablearagon/aragonOS AppProxyUpgradeable — Aragon's own init guard, not OZretrieved 2026-04-28

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 →

rubric_version v1.7.0 protocol curve-v2 factor RD-F-143 score green collected_at 2026-04-28 19:48:40