★ Reinitializable implementation (no _disableInitializers)
GMX v2 (GMX Synthetics)'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 #
No proxy/upgradeable pattern used in GMX v2. Contracts use constructors for initialization, not initialize() functions. GitHub search for _disableInitializers returned 0 results — consistent with non-upgradeable architecture. Oracle.sol uses immutable variables. GovToken, MarketToken, Bank all use constructors.
Sources #
- GitHub_disableInitializers not present — non-upgradeable architectureGitHub search for _disableInitializers in gmx-io/gmx-synthetics: 0 resultsretrieved 2026-05-05
- Oracle.sol — immutable vars, no initializerOracle.sol — 'DataStore public immutable dataStore; EventEmitter public immutable eventEmitter' — immutable variables, no proxyretrieved 2026-05-05
- GovToken constructor-based initializationGovToken.sol — constructor-initialized, no initialize() function, no upgradeable importretrieved 2026-05-05
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 gmx-v2 factor RD-F-143 score green collected_at 2026-05-05 11:15:06