Skip to content

CenturionInitializable

Source: CenturionInitializable.sol

Purpose

Minimal initializer guard that tracks versioned initialization state in a dedicated high-entropy storage slot.

Key Features

  • initializer for one-time init
  • reinitializer(version) for ordered upgrade migrations
  • initializedVersion() view
  • _disableInitializers() for implementation contracts

Invariants

  • cannot initialize twice at same or lower version
  • cannot disable while currently initializing
  • initialization emits Initialized(version)

Operational Relevance

Governance upgrades that rely on reinitializer calls must ensure expected initialized version checks are included in upgrade operations when needed.

Review Checks

Reviewers should confirm initializer functions cannot be replayed, new reinitializer versions are monotonic, storage layout is preserved, and the governor post-execution initialized-version check matches the migration plan. If expectedInitializedVersion is zero in an upgrade operation, the release package must explain why no migration call is required.