Skip to content

CenturionVaultFactory

Source: CenturionVaultFactory.sol

Purpose

Deploys validator-specific vault beacon proxies and initializes matching economic seats.

Deployment Role

Transparent proxy target managed by governor; creates vault beacon proxies via CREATE2.

Key State Variables

  • ownership and pending ownership
  • controller, exit request contract, treasury router
  • factoryConfigHash, moduleSetHash, immutableConfigHash, addressDerivationVersion
  • upgradeGovernor, vaultBeacon, codehash pins
  • vault registries: isVault, vaultByValidatorPubkeyHash
  • policyBootstrapOpen

Key Functions

  • initialize
  • ownership transfer functions
  • setPolicyBootstrapOpen
  • deployVault
  • previewVaultAddress
  • previewExecutionWithdrawalCredentials
  • vaultRuntimeCodeHash

Access Control Model

Vault deployment and policy bootstrap toggles are onlyOwner.

Critical Invariants

  • only Execution01 credential type accepted for deploy path.
  • expected max effective balance must be exactly standard 32 ether.
  • one vault per validator pubkey hash.
  • beacon authority must match configured upgrade governor.
  • governor and beacon runtime codehashes must match canonical runtime code.

Misconfiguration Risks

  • wrong controller address causes seat initialization failure or misrouting.
  • wrong beacon or governor codehash pin prevents initialization.
  • policy bootstrap left open can violate deposit readiness baseline.