Skip to content

Proxy Suite

Source: CenturionProxy.sol

Components

  • CenturionTransparentProxy
  • CenturionUpgradeableBeacon
  • CenturionBeaconProxy

Purpose

Provides upgradeable deployment patterns:

  • transparent proxies for major control-plane contracts
  • beacon + beacon-proxy fleet for validator vaults

Transparent Proxy

Key Behaviors

  • EIP-1967 admin and implementation slots
  • ifAdmin gate for admin-only functions
  • admin fallback blocked by ProxyDeniedAdminAccess
  • unprotected slot readers for admin and implementation verification
  • post-upgrade initializedVersion check via _requireInitialized

Risks

  • admin key compromise allows implementation replacement.
  • initialization omission causes ProxyInitializationIncomplete and unusable proxy.

Upgradeable Beacon

Key Behaviors

  • stores upgradeAuthority and implementation
  • upgradeTo blocked after frozen=true
  • freezeForever irreversible

Risks

  • authority compromise affects all attached vault proxies.

Beacon Proxy

Key Behaviors

  • stores beacon slot
  • delegates every call to beacon implementation
  • constructor can delegate initialization data
  • requires initialized version in shared initializable slot

Risks

  • bad beacon configuration affects entire vault fleet.
  • implementation at beacon must remain contract code at all times.