{
  "files": [
    {
      "CONTRACT_KIND": "Evidence required",
      "ECONOMIC_POLICY_HASH": "Evidence required",
      "IMPLEMENTATION_VERSION": "Evidence required",
      "absolute_source_path": "/Users/marcos/Desktop/centurion_phase1_upgradeable_refactor/CenturionBaselineCheckLib.sol",
      "detected_contracts_interfaces_libraries": [
        "library CenturionBaselineCheckLib"
      ],
      "detected_errors": [],
      "detected_events": [],
      "detected_external_public_functions": [
        "expectedGovernorCodehash() - external (bytes32)",
        "expectedBeaconCodehash() - external (bytes32)"
      ],
      "detected_modifiers": [],
      "detected_privileged_functions": [],
      "detected_public_constants": [],
      "detected_state_variables": [],
      "file_size": 916,
      "generator_script_version": "2026-05-20.1",
      "repo_relative_path": null,
      "sha256": "fe6bfc1aeb074d9a03eba04db1b2569610c0426fc2f90c64ae2bd39598e9d083",
      "source_git_commit_hash": "Evidence required",
      "source_root_relative_path": "CenturionBaselineCheckLib.sol"
    },
    {
      "CONTRACT_KIND": "CENTURION_KIND_CLAIM_GATEKEEPER",
      "ECONOMIC_POLICY_HASH": "EFFECTIVE_BALANCE_COVERAGE_HYBRID",
      "IMPLEMENTATION_VERSION": "CenturionClaimGatekeeperUpgradeableV1",
      "absolute_source_path": "/Users/marcos/Desktop/centurion_phase1_upgradeable_refactor/CenturionClaimGatekeeper.sol",
      "detected_contracts_interfaces_libraries": [
        "contract CenturionClaimGatekeeper"
      ],
      "detected_errors": [
        "ClaimLimitExceeded",
        "ClaimNotReady",
        "ExecutorDailyCapExceeded",
        "ExecutorNotAuthorized",
        "InvalidExecutorGrant",
        "NoPendingClaim",
        "PendingClaimExists",
        "Unauthorized",
        "ZeroAddress"
      ],
      "detected_events": [],
      "detected_external_public_functions": [
        "initialize(address controller_) - external initializer",
        "implementationVersion() - public (bytes32)",
        "economicPolicyHash() - public (bytes32)",
        "contractKind() - public (bytes32)",
        "setClaimExecutorGrant(address vault, address executor, uint8 scopeMask, uint64 expiresAt) - external onlyController",
        "setClaimExecutorsPaused(bool paused) - external onlyController",
        "revokeClaimExecutorGrant(address vault, address executor) - external onlyController",
        "claimExecutorAuthorized(address vault, address executor, uint8 requiredScope) - public (bool)",
        "remainingClaimInPeriod(address vault, uint128 capWei) - public (uint256)",
        "remainingExecutorClaimInDay(address vault, address executor, uint128 capWei) - public (uint256)",
        "classifyReceipt(CenturionTypes.ReceiptKind receiptKind, uint256 amountWei, uint64 consensusEpoch, uint64 clearedSafeEpoch, bool snapshotExists, bool snapshotFinalized, bool snapshotSafeForReceipts, CenturionTypes.RiskState snapshotState, CenturionTypes.CredentialType snapshotCredentialType, uint256 snapshotEffectiveBalanceWei, uint256 snapshotMaxEffectiveBalanceWei, CenturionTypes.ClaimState claimState, uint256 runningUncoveredDeficitWei) - external (uint256 rewardWei, uint256 principalRepairWei, uint256 recoveryWei, uint256 holdbackWei)",
        "deriveRiskState(CenturionTypes.CredentialType expectedCredentialType, uint256 principalTargetWei, uint256 effectiveBalanceTargetWei, uint256 expectedMaxEffectiveBalanceWei, uint256 actualBalanceWei, uint256 effectiveBalanceWei, uint256 maxEffectiveBalanceWei, uint8 credentialType, bool active, bool slashed, bool exitFlag, bool ejectionRisk) - external (CenturionTypes.RiskState)",
        "conflictClosedState(uint256 actualBalanceWei, uint256 effectiveBalanceWei, uint256 maxEffectiveBalanceWei, bool slashed, bool exitFlag, bool ejectionRisk) - external (CenturionTypes.RiskState)",
        "deriveClaimState(bool seatInitialized, CenturionTypes.SettlementPhase settlementPhase, bool exitRequested, bool exitAccepted, CenturionTypes.RiskState observationState, bool triggerArmed, bool reserveCoverageUsable, bool observationQuarantined, bool riskFresh, CenturionTypes.DustState dustState, CenturionTypes.ReserveHealth reserveHealth, CenturionTypes.NetworkPhase networkPhase, uint256 runningUncoveredDeficitWei) - external (CenturionTypes.ClaimState)",
        "classifyDustState(CenturionTypes.RiskState liveRiskState, bool riskFresh, bool sameEpochConflict, bool observationQuarantined, bool exitRequested, bool exitAccepted, uint256 principalTargetWei, uint256 effectiveBalanceTargetWei, uint256 actualBalanceWei, uint256 effectiveBalanceWei, uint256 microDustLimitWei, uint256 greenCoveredDustLimitWei, uint256 amberDustLimitWei, uint256 hardQuarantineThresholdWei) - external (CenturionTypes.DustState)",
        "deriveClaimMode(bool seatInitialized, CenturionTypes.SettlementPhase settlementPhase, bool exitRequested, bool exitAccepted, CenturionTypes.RiskState observationState, bool triggerArmed, bool reserveCoverageUsable, bool observationQuarantined, bool riskFresh, CenturionTypes.DustState dustState, CenturionTypes.ReserveHealth reserveHealth, CenturionTypes.NetworkPhase networkPhase) - public (CenturionTypes.ClaimMode mode, uint16 advanceBps)",
        "authorizeAndCheckClaim(address vault, address caller, address beneficiary, uint8 requiredScope, uint128 beneficiaryCapWei, uint128 executorCapWei, uint256 amountWei, bool consume) - external onlyController (bool byExecutor)",
        "initiatePendingClaim(address vault, address caller, address beneficiary, uint8 requiredScope, uint128 beneficiaryCapWei, uint128 executorCapWei, uint256 amountWei, uint64 claimDelay) - external onlyController (uint256 readyAt, bool byExecutor)",
        "finalizePendingClaim(address vault, address caller, uint8 requiredScope, uint128 beneficiaryCapWei, uint128 executorCapWei) - external onlyController (address beneficiary, uint256 amountWei, bool byExecutor)",
        "cancelPendingClaim(address vault, address caller, address seatBeneficiary, address owner_) - external onlyController",
        "clearPendingClaimIfAny(address vault) - external onlyController (bool cleared)",
        "forceSetPendingClaim(address vault, uint256 amountWei, uint256 readyAt, address beneficiary, bool initiatedByExecutor, bool exists) - external onlyController"
      ],
      "detected_modifiers": [
        "modifier onlyController()"
      ],
      "detected_privileged_functions": [
        "initialize(address controller_) - external initializer",
        "setClaimExecutorGrant(address vault, address executor, uint8 scopeMask, uint64 expiresAt) - external onlyController",
        "setClaimExecutorsPaused(bool paused) - external onlyController",
        "revokeClaimExecutorGrant(address vault, address executor) - external onlyController",
        "authorizeAndCheckClaim(address vault, address caller, address beneficiary, uint8 requiredScope, uint128 beneficiaryCapWei, uint128 executorCapWei, uint256 amountWei, bool consume) - external onlyController (bool byExecutor)",
        "initiatePendingClaim(address vault, address caller, address beneficiary, uint8 requiredScope, uint128 beneficiaryCapWei, uint128 executorCapWei, uint256 amountWei, uint64 claimDelay) - external onlyController (uint256 readyAt, bool byExecutor)",
        "finalizePendingClaim(address vault, address caller, uint8 requiredScope, uint128 beneficiaryCapWei, uint128 executorCapWei) - external onlyController (address beneficiary, uint256 amountWei, bool byExecutor)",
        "cancelPendingClaim(address vault, address caller, address seatBeneficiary, address owner_) - external onlyController",
        "clearPendingClaimIfAny(address vault) - external onlyController (bool cleared)",
        "forceSetPendingClaim(address vault, uint256 amountWei, uint256 readyAt, address beneficiary, bool initiatedByExecutor, bool exists) - external onlyController"
      ],
      "detected_public_constants": [
        "uint8 public constant EXEC_SCOPE_RUNNING_INITIATE = 1 << 0",
        "uint8 public constant EXEC_SCOPE_RUNNING_FINALIZE = 1 << 1",
        "uint8 public constant EXEC_SCOPE_EXIT_REWARD_CLAIM = 1 << 2",
        "uint8 internal constant _ALL_EXEC_SCOPES =",
        "uint256 public constant CLAIM_PERIOD = 30 days",
        "uint256 public constant EXECUTOR_PERIOD = 1 days",
        "bytes32 public constant IMPLEMENTATION_VERSION = keccak256(\"CenturionClaimGatekeeperUpgradeableV1\")",
        "bytes32 public constant ECONOMIC_POLICY_HASH = keccak256(\"EFFECTIVE_BALANCE_COVERAGE_HYBRID\")",
        "bytes32 public constant CONTRACT_KIND = keccak256(\"CENTURION_KIND_CLAIM_GATEKEEPER\")"
      ],
      "detected_state_variables": [
        "address public controller",
        "bool public claimExecutorsPaused",
        "mapping(address => CenturionTypes.PendingClaim) public pendingClaim",
        "mapping(address => CenturionTypes.PeriodState) public claimPeriodState",
        "uint256[48] private __gap"
      ],
      "file_size": 28403,
      "generator_script_version": "2026-05-20.1",
      "repo_relative_path": null,
      "sha256": "45b26eaed7109b1ca1f8355ac1c5d491f912b32297c1196133b0d77803e6da5a",
      "source_git_commit_hash": "Evidence required",
      "source_root_relative_path": "CenturionClaimGatekeeper.sol"
    },
    {
      "CONTRACT_KIND": "Evidence required",
      "ECONOMIC_POLICY_HASH": "Evidence required",
      "IMPLEMENTATION_VERSION": "Evidence required",
      "absolute_source_path": "/Users/marcos/Desktop/centurion_phase1_upgradeable_refactor/CenturionClaimPolicyLib.sol",
      "detected_contracts_interfaces_libraries": [
        "library CenturionClaimPolicyLib"
      ],
      "detected_errors": [],
      "detected_events": [],
      "detected_external_public_functions": [
        "currentDustState(CenturionClaimGatekeeper gatekeeper, CenturionTypes.NetworkPhase networkPhase, CenturionTypes.SeatConfig memory seat, CenturionTypes.RiskObservation memory obs, uint8 liveRiskState, bool riskFresh, uint256 principalFloorWei) - public (CenturionTypes.DustState)",
        "currentClaimModeAndAdvance(CenturionClaimGatekeeper gatekeeper, CenturionTypes.NetworkPhase networkPhase, CenturionTypes.SeatConfig memory seat, CenturionTypes.RiskObservation memory obs, bool reserveCoverageUsable_, bool riskFresh, CenturionTypes.DustState dustState, CenturionTypes.ReserveHealth reserveHealth) - public (CenturionTypes.ClaimMode mode, uint16 advanceBps)",
        "currentClaimState(CenturionClaimGatekeeper gatekeeper, CenturionTypes.NetworkPhase networkPhase, CenturionTypes.SeatConfig memory seat, CenturionTypes.RiskObservation memory obs, bool reserveCoverageUsable_, bool riskFresh, CenturionTypes.DustState dustState, CenturionTypes.ReserveHealth reserveHealth, uint256 runningUncoveredDeficitWei) - public (CenturionTypes.ClaimState)"
      ],
      "detected_modifiers": [],
      "detected_privileged_functions": [],
      "detected_public_constants": [],
      "detected_state_variables": [],
      "file_size": 4726,
      "generator_script_version": "2026-05-20.1",
      "repo_relative_path": null,
      "sha256": "73e8be027203638aa140dcdde41c4d28f352d8f540e02aa971985529a5ff1b06",
      "source_git_commit_hash": "Evidence required",
      "source_root_relative_path": "CenturionClaimPolicyLib.sol"
    },
    {
      "CONTRACT_KIND": "Evidence required",
      "ECONOMIC_POLICY_HASH": "Evidence required",
      "IMPLEMENTATION_VERSION": "Evidence required",
      "absolute_source_path": "/Users/marcos/Desktop/centurion_phase1_upgradeable_refactor/CenturionClaimViewLib.sol",
      "detected_contracts_interfaces_libraries": [
        "library CenturionClaimViewLib"
      ],
      "detected_errors": [],
      "detected_events": [],
      "detected_external_public_functions": [
        "currentRiskState(mapping(address => CenturionTypes.RiskObservation) storage observations, address vault, uint256 riskFreshnessWindow) - public (uint8)",
        "currentDustState(mapping(address => CenturionTypes.SeatConfig) storage seats, mapping(address => CenturionTypes.RiskObservation) storage observations, CenturionClaimGatekeeper claimGatekeeper, address vault, CenturionTypes.NetworkPhase networkPhase, uint256 riskFreshnessWindow, uint256 principalFloorWei) - public (CenturionTypes.DustState)",
        "currentClaimModeAndAdvance(mapping(address => CenturionTypes.SeatConfig) storage seats, mapping(address => CenturionTypes.RiskObservation) storage observations, CenturionClaimGatekeeper claimGatekeeper, address vault, CenturionTypes.NetworkPhase networkPhase, uint256 riskFreshnessWindow, uint256 principalFloorWei, uint256 totalReserveCoverageLimitWei, uint256 totalLockedReserveCoverageWei) - public (CenturionTypes.ClaimMode mode, uint16 advanceBps)",
        "currentClaimState(mapping(address => CenturionTypes.SeatConfig) storage seats, mapping(address => CenturionTypes.RiskObservation) storage observations, mapping(address => CenturionTypes.ReceiptLedger) storage ledgers, CenturionClaimGatekeeper claimGatekeeper, address vault, CenturionTypes.NetworkPhase networkPhase, uint256 riskFreshnessWindow, uint256 principalFloorWei, uint256 totalReserveCoverageLimitWei, uint256 totalLockedReserveCoverageWei) - public (CenturionTypes.ClaimState)",
        "runningUncoveredPrincipalDeficitWei(mapping(address => CenturionTypes.RiskObservation) storage observations, mapping(address => CenturionTypes.ReceiptLedger) storage ledgers, address vault, uint256 principalFloorWei) - public (uint256)",
        "runningClaimableRewardsWei(mapping(address => CenturionTypes.SeatConfig) storage seats, mapping(address => CenturionTypes.RiskObservation) storage observations, mapping(address => CenturionTypes.ReceiptLedger) storage ledgers, mapping(address => CenturionTypes.DustAccounting) storage dustStates, CenturionClaimGatekeeper claimGatekeeper, address vault, CenturionTypes.NetworkPhase networkPhase, uint256 riskFreshnessWindow, uint256 principalFloorWei, uint256 totalReserveCoverageLimitWei, uint256 totalLockedReserveCoverageWei) - public (uint256)"
      ],
      "detected_modifiers": [],
      "detected_privileged_functions": [],
      "detected_public_constants": [],
      "detected_state_variables": [],
      "file_size": 10609,
      "generator_script_version": "2026-05-20.1",
      "repo_relative_path": null,
      "sha256": "969440bcd1d0f3fa2b169653e5ae9373da4e9c9ee8948875a1928f40944fe91d",
      "source_git_commit_hash": "Evidence required",
      "source_root_relative_path": "CenturionClaimViewLib.sol"
    },
    {
      "CONTRACT_KIND": "Evidence required",
      "ECONOMIC_POLICY_HASH": "Evidence required",
      "IMPLEMENTATION_VERSION": "Evidence required",
      "absolute_source_path": "/Users/marcos/Desktop/centurion_phase1_upgradeable_refactor/CenturionConsensusSmoothingLib.sol",
      "detected_contracts_interfaces_libraries": [
        "library CenturionConsensusSmoothingLib"
      ],
      "detected_errors": [],
      "detected_events": [],
      "detected_external_public_functions": [
        "applyConsensusDeltaSmoothing(mapping(address => CenturionTypes.SeatConfig) storage seats, mapping(address => CenturionTypes.RiskObservation) storage observations, mapping(address => CenturionTypes.ReceiptLedger) storage ledgers, mapping(address => CenturionTypes.DustAccounting) storage dustStates, mapping(address => mapping(uint64 => uint256)) storage smoothedPayoutByEpoch, address vault, uint64 epoch, uint256 previousActualBalanceWei, uint256 verifiedConsensusRewardDeltaWei, CenturionTypes.ClaimMode claimMode, uint16 advanceBps, CenturionTypes.NetworkPhase networkPhase, uint256 principalFloorWei, uint256 totalReserveCoverageLimitWei, uint256 totalLockedReserveCoverageWei, uint256 maxAggregateAdvanceWei) - public (ApplyResult memory result)"
      ],
      "detected_modifiers": [],
      "detected_privileged_functions": [
        "applyConsensusDeltaSmoothing(mapping(address => CenturionTypes.SeatConfig) storage seats, mapping(address => CenturionTypes.RiskObservation) storage observations, mapping(address => CenturionTypes.ReceiptLedger) storage ledgers, mapping(address => CenturionTypes.DustAccounting) storage dustStates, mapping(address => mapping(uint64 => uint256)) storage smoothedPayoutByEpoch, address vault, uint64 epoch, uint256 previousActualBalanceWei, uint256 verifiedConsensusRewardDeltaWei, CenturionTypes.ClaimMode claimMode, uint16 advanceBps, CenturionTypes.NetworkPhase networkPhase, uint256 principalFloorWei, uint256 totalReserveCoverageLimitWei, uint256 totalLockedReserveCoverageWei, uint256 maxAggregateAdvanceWei) - public (ApplyResult memory result)"
      ],
      "detected_public_constants": [],
      "detected_state_variables": [],
      "file_size": 4677,
      "generator_script_version": "2026-05-20.1",
      "repo_relative_path": null,
      "sha256": "3ff20d1784fb1cecf48147e148859d895aa7dd58a5be60a92d29bf946f7d86ad",
      "source_git_commit_hash": "Evidence required",
      "source_root_relative_path": "CenturionConsensusSmoothingLib.sol"
    },
    {
      "CONTRACT_KIND": "Evidence required",
      "ECONOMIC_POLICY_HASH": "Evidence required",
      "IMPLEMENTATION_VERSION": "Evidence required",
      "absolute_source_path": "/Users/marcos/Desktop/centurion_phase1_upgradeable_refactor/CenturionDustAccountingLib.sol",
      "detected_contracts_interfaces_libraries": [
        "library CenturionDustAccountingLib"
      ],
      "detected_errors": [],
      "detected_events": [],
      "detected_external_public_functions": [
        "refreshDustAccounting(mapping(address => CenturionTypes.DustAccounting) storage dustStates, address vault, CenturionTypes.SeatConfig storage seat, CenturionTypes.RiskObservation storage obs, uint64 epoch, CenturionTypes.DustState nextState, CenturionTypes.NetworkPhase networkPhase, uint256 principalTargetWei, uint256 totalReserveCoverageLimitWei, uint256 totalLockedReserveCoverageWei) - public ( uint256 newTotalLockedReserveCoverageWei, uint256 lockedWei, uint256 releasedWei, CenturionTypes.DustState previousState, bool stateChanged, uint256 actualGapWei )",
        "syncLockedReserveCoverage(mapping(address => CenturionTypes.DustAccounting) storage dustStates, address vault, CenturionTypes.SeatConfig storage seat, CenturionTypes.RiskObservation storage obs, CenturionTypes.NetworkPhase networkPhase, uint256 principalTargetWei, uint256 totalReserveCoverageLimitWei, uint256 totalLockedReserveCoverageWei, uint256 actualGapOverrideWei) - public (uint256 newTotalLockedReserveCoverageWei, uint256 lockedWei, uint256 releasedWei, uint256 actualGapWei)",
        "bookReserveAdvance(mapping(address => CenturionTypes.DustAccounting) storage dustStates, address vault, CenturionTypes.SeatConfig storage seat, CenturionTypes.RiskObservation storage obs, CenturionTypes.NetworkPhase networkPhase, uint256 principalTargetWei, uint256 totalReserveCoverageLimitWei, uint256 totalLockedReserveCoverageWei, uint256 requestedAdvanceWei, uint256 maxAggregateAdvanceWei) - public (uint256 bookedWei, uint256 newTotalLockedReserveCoverageWei, uint256 lockedWei, uint256 releasedWei)",
        "reserveHealth(bool reserveCoverageUsable, uint256 seatReserveCoverageLimitWei, uint256 seatLockedReserveCoverageWei, CenturionTypes.NetworkPhase networkPhase, uint256 totalReserveCoverageLimitWei, uint256 totalLockedReserveCoverageWei, uint256 requestedWei) - public (CenturionTypes.ReserveHealth)"
      ],
      "detected_modifiers": [],
      "detected_privileged_functions": [],
      "detected_public_constants": [],
      "detected_state_variables": [],
      "file_size": 11847,
      "generator_script_version": "2026-05-20.1",
      "repo_relative_path": null,
      "sha256": "825cf477c51dadc3dea1bbb7b95bbdf7e6a3e096761b5bcd4cf766f11c5fb79a",
      "source_git_commit_hash": "Evidence required",
      "source_root_relative_path": "CenturionDustAccountingLib.sol"
    },
    {
      "CONTRACT_KIND": "CENTURION_KIND_CONTROLLER",
      "ECONOMIC_POLICY_HASH": "EFFECTIVE_BALANCE_COVERAGE_HYBRID",
      "IMPLEMENTATION_VERSION": "CenturionEconomicControllerUpgradeableV1",
      "absolute_source_path": "/Users/marcos/Desktop/centurion_phase1_upgradeable_refactor/CenturionEconomicController.sol",
      "detected_contracts_interfaces_libraries": [
        "interface ICenturionVaultFactoryRegistry",
        "interface ICenturionUpgradePolicyRegistryView",
        "contract CenturionEconomicController"
      ],
      "detected_errors": [],
      "detected_events": [
        "ClaimCancelled",
        "ClaimExecutorGrantRevoked",
        "ClaimExecutorGrantSet",
        "ClaimExecutorsPausedSet",
        "ClaimFinalized",
        "ClaimGatekeeperBound",
        "ClaimInitiated",
        "ClaimSmoothingApplied",
        "ClearedSafeEpochSet",
        "DustStateChanged",
        "EmergencySettlementCancelled",
        "ExitAcceptedRecorded",
        "ExitFallbackUpdateCanceled",
        "ExitFallbackUpdateProposed",
        "ExitFallbackUpdated",
        "ExitRequested",
        "FactorySet",
        "HoldbackReleasedToRewards",
        "NetworkPhaseChanged",
        "OracleConflictDetected",
        "OwnershipTransferCancelled",
        "OwnershipTransferStarted",
        "OwnershipTransferred",
        "PrincipalClaimed",
        "ReceiptClassified",
        "ReducedEffectiveBalanceEntered",
        "RemainderDrained",
        "ReserveAdvanceBooked",
        "ReserveAdvanceRepaid",
        "ReserveCoverageLocked",
        "ReserveCoverageReleased",
        "ReserveCoverageSet",
        "ReserveTopUpApplied",
        "RiskFreshnessWindowUpdated",
        "RiskObservationAccepted",
        "SameEpochConflictClosed",
        "SameEpochReplayIgnored",
        "SeatInitialized",
        "SettlementFinalized",
        "SettlementProposed",
        "SettlementRewardsClaimed",
        "TriggerArmedSet",
        "UpgradeGovernorBound",
        "VaultReceiptRecorded"
      ],
      "detected_external_public_functions": [
        "isVault(address vault) - external (bool)",
        "assertTransparentProxyPolicy(address proxy, bytes32 contractKind, bytes32 expectedPolicyHash) - external (address implementation, bytes32 version, bytes32 codeHash)",
        "initialize(address owner_, address exitRequestContract_, bytes32 factoryConfigHash_, bytes32 moduleSetHash_, uint256 addressDerivationVersion_, address claimGatekeeper_) - external initializer",
        "implementationVersion() - public (bytes32)",
        "economicPolicyHash() - public (bytes32)",
        "contractKind() - public (bytes32)",
        "transferOwnership(address newOwner) - external onlyOwner",
        "cancelOwnershipTransfer() - external onlyOwner",
        "acceptOwnership() - external",
        "setUpgradeGovernor(address upgradeGovernor_, bytes32 claimGatekeeperPolicyHash_) - external onlyOwner",
        "bindClaimGatekeeper(address claimGatekeeper_) - external onlyOwner",
        "setFactory(address factory_) - external onlyOwner",
        "setRiskFreshnessWindow(uint256 newWindow) - external onlyOwner",
        "setAggregateExposureCapBps(uint16 newCapBps) - external onlyOwner",
        "setFinalModelModes(bool smoothingModeEnabled, bool verifiedDeltaModeEnabled, bool strictSourceLedgerEnabled, bool recoupEnabled) - external onlyOwner",
        "hardenNetworkPhase(CenturionTypes.NetworkPhase nextPhase) - external onlyOwner",
        "setClaimExecutorGrant(address vault, address executor, uint8 scopeMask, uint64 expiresAt) - external onlyOwner",
        "setClaimExecutorsPaused(bool paused) - external onlyOwner",
        "revokeClaimExecutorGrant(address vault, address executor) - external onlyOwner",
        "proposeExitRequestFallback(address fallbackContract) - external onlyOwner",
        "cancelExitRequestFallbackProposal() - external onlyOwner",
        "activateExitRequestFallback() - external onlyOwner",
        "initializeSeat(address vault, bytes32 validatorPubkeyHash, address beneficiary, address principalDestination, uint8 expectedCredentialType, uint256 principalTargetWei, uint256 effectiveBalanceTargetWei, uint256 expectedMaxEffectiveBalanceWei, uint64 claimDelay, uint128 maxClaimPerPeriodWei, uint128 executorDailyCapWei, bytes32 vaultConfigHash) - external onlyFactory",
        "setTriggerArmed(address vault, bool armed) - external onlyOwner",
        "setReserveCoverage(address vault, uint256 reserveCoverageLimitWei, uint256 minimumReserveCoverageWei, bytes32 reserveProofHash) - external onlyOwner",
        "setClearedSafeEpoch(address vault, uint64 safeEpoch) - external onlyOwner",
        "clearReserveCoverage(address vault) - external onlyOwner",
        "updateRiskObservationFinalModel(address vault, uint64 epoch, ObservationUpdate calldata obs, AuthoritativeDelta calldata delta) - external onlyOwner",
        "recordVaultReceipt(address vault, bytes32 receiptId, uint256 amountWei, uint8 kind, uint64 consensusEpoch) - external onlyOwner",
        "recordVaultReceiptFinalModel(address vault, bytes32 receiptId, uint256 amountWei, uint8 kind, uint64 consensusEpoch, bytes32 economicSourceGroupId, uint8 sourceKind) - external onlyOwner",
        "applyReserveTopUp(address vault, bytes32 receiptId) - external onlyOwner nonReentrant",
        "initiateClaim(address vault, uint256 amountWei) - external",
        "finalizeClaim(address vault) - external nonReentrant",
        "cancelClaim(address vault) - external",
        "requestValidatorExitDynamic(address vault, bytes calldata validatorPubkey) - external nonReentrant",
        "requestValidatorExitWithManualFee(address vault, bytes calldata validatorPubkey, uint256 feeWei) - external nonReentrant",
        "recordExitAccepted(address vault) - external onlyOwner",
        "proposeSettlementWithGuard(address vault, bool emergency, uint256 maxRewardsClaimedWei) - external onlyOwner",
        "cancelEmergencySettlement(address vault) - external onlyOwner",
        "finalizeSettlement(address vault) - external onlyOwner",
        "claimPrincipal(address vault, address payable to, uint256 amountWei) - external onlyOwner nonReentrant",
        "claimSettlementRewards(address vault, uint256 amountWei) - external nonReentrant",
        "drainRemainder(address vault, address payable to) - external onlyOwner nonReentrant",
        "seatRiskMetadata(address vault) - external ( uint8 settlementPhase_, uint64 clearedSafeEpoch_, bool exitRequested_, bool exitAccepted_, bool observationQuarantined_, bool observationSameEpochConflict_ )",
        "runningAccounting(address vault) - external (uint256 rewardWei, uint256 holdbackWei, uint256 reservedWei, uint256 liquidityWei)",
        "aggregateExposureAccounting() - external ( uint256 totalActiveProtectedPrincipalWei_, uint256 aggregateExposureCapWei, uint256 aggregateSmoothingExposureWei_ )",
        "vaultPrefundedSmoothingReserveAccounting(address vault) - external ( uint256 freeWei, uint256 requiredWei, uint256 allocatedClaimableWei, uint256 outstandingAdvanceDebtWei, bool readinessFunded )",
        "runningClaimableBreakdown(address vault) - external ( uint256 verifiedRewardClaimableWei, uint256 reserveFundedSmoothingClaimableWei, uint256 totalClaimableWei, uint256 recoupPendingWei, uint256 principalProtectionGapWei )",
        "runningClaimableRewardsWei(address vault) - external (uint256)",
        "claimablePrincipalWei(address vault) - external (uint256)",
        "claimableSettlementRewardsWei(address vault) - external (uint256)",
        "depositReadiness(address vault) - external (CenturionTypes.DepositReadiness memory readiness)",
        "dustAccounting(address vault) - external ( uint256 coveredPrincipalGapWei, uint256 reserveAdvanceDebtWei, uint256 rollingAdvanceUsedWei, uint64 firstDustEpoch, uint64 lastDustEpoch, uint256 totalSmoothingAdvancedWei, uint256 totalSmoothingRecoupedWei, uint64 rollingWindowStartedAt, CenturionTypes.DustState lastDustState )"
      ],
      "detected_modifiers": [
        "modifier onlyOwner()",
        "modifier onlyFactory()",
        "modifier nonReentrant()"
      ],
      "detected_privileged_functions": [
        "initialize(address owner_, address exitRequestContract_, bytes32 factoryConfigHash_, bytes32 moduleSetHash_, uint256 addressDerivationVersion_, address claimGatekeeper_) - external initializer",
        "transferOwnership(address newOwner) - external onlyOwner",
        "cancelOwnershipTransfer() - external onlyOwner",
        "acceptOwnership() - external",
        "setUpgradeGovernor(address upgradeGovernor_, bytes32 claimGatekeeperPolicyHash_) - external onlyOwner",
        "bindClaimGatekeeper(address claimGatekeeper_) - external onlyOwner",
        "setFactory(address factory_) - external onlyOwner",
        "setRiskFreshnessWindow(uint256 newWindow) - external onlyOwner",
        "setAggregateExposureCapBps(uint16 newCapBps) - external onlyOwner",
        "setFinalModelModes(bool smoothingModeEnabled, bool verifiedDeltaModeEnabled, bool strictSourceLedgerEnabled, bool recoupEnabled) - external onlyOwner",
        "hardenNetworkPhase(CenturionTypes.NetworkPhase nextPhase) - external onlyOwner",
        "setClaimExecutorGrant(address vault, address executor, uint8 scopeMask, uint64 expiresAt) - external onlyOwner",
        "setClaimExecutorsPaused(bool paused) - external onlyOwner",
        "revokeClaimExecutorGrant(address vault, address executor) - external onlyOwner",
        "proposeExitRequestFallback(address fallbackContract) - external onlyOwner",
        "cancelExitRequestFallbackProposal() - external onlyOwner",
        "activateExitRequestFallback() - external onlyOwner",
        "initializeSeat(address vault, bytes32 validatorPubkeyHash, address beneficiary, address principalDestination, uint8 expectedCredentialType, uint256 principalTargetWei, uint256 effectiveBalanceTargetWei, uint256 expectedMaxEffectiveBalanceWei, uint64 claimDelay, uint128 maxClaimPerPeriodWei, uint128 executorDailyCapWei, bytes32 vaultConfigHash) - external onlyFactory",
        "setTriggerArmed(address vault, bool armed) - external onlyOwner",
        "setReserveCoverage(address vault, uint256 reserveCoverageLimitWei, uint256 minimumReserveCoverageWei, bytes32 reserveProofHash) - external onlyOwner",
        "setClearedSafeEpoch(address vault, uint64 safeEpoch) - external onlyOwner",
        "clearReserveCoverage(address vault) - external onlyOwner",
        "updateRiskObservationFinalModel(address vault, uint64 epoch, ObservationUpdate calldata obs, AuthoritativeDelta calldata delta) - external onlyOwner",
        "recordVaultReceipt(address vault, bytes32 receiptId, uint256 amountWei, uint8 kind, uint64 consensusEpoch) - external onlyOwner",
        "recordVaultReceiptFinalModel(address vault, bytes32 receiptId, uint256 amountWei, uint8 kind, uint64 consensusEpoch, bytes32 economicSourceGroupId, uint8 sourceKind) - external onlyOwner",
        "applyReserveTopUp(address vault, bytes32 receiptId) - external onlyOwner nonReentrant",
        "finalizeClaim(address vault) - external nonReentrant",
        "cancelClaim(address vault) - external",
        "requestValidatorExitDynamic(address vault, bytes calldata validatorPubkey) - external nonReentrant",
        "requestValidatorExitWithManualFee(address vault, bytes calldata validatorPubkey, uint256 feeWei) - external nonReentrant",
        "recordExitAccepted(address vault) - external onlyOwner",
        "proposeSettlementWithGuard(address vault, bool emergency, uint256 maxRewardsClaimedWei) - external onlyOwner",
        "cancelEmergencySettlement(address vault) - external onlyOwner",
        "finalizeSettlement(address vault) - external onlyOwner",
        "claimPrincipal(address vault, address payable to, uint256 amountWei) - external onlyOwner nonReentrant",
        "drainRemainder(address vault, address payable to) - external onlyOwner nonReentrant"
      ],
      "detected_public_constants": [
        "uint256 public constant MIN_CLAIM_DELAY = 1 hours",
        "uint256 public constant MAX_CLAIM_DELAY = 30 days",
        "uint8 public constant EXEC_SCOPE_RUNNING_INITIATE = 1 << 0",
        "uint8 public constant EXEC_SCOPE_RUNNING_FINALIZE = 1 << 1",
        "uint8 public constant EXEC_SCOPE_EXIT_REWARD_CLAIM = 1 << 2",
        "uint256 internal constant MIN_FUNDED_SMOOTHING_RESERVE_WEI = CenturionTypes.CANONICAL_LAUNCH_SMOOTHING_RESERVE_WEI",
        "uint8 internal constant SOURCE_FLAG_SMOOTHED = 1 << 0",
        "uint8 internal constant SOURCE_FLAG_RECOUPED = 1 << 1",
        "uint8 internal constant SOURCE_FLAG_PHYSICAL_INFLOW_ACCOUNTED = 1 << 2",
        "uint8 internal constant SOURCE_FLAG_ACCOUNTED = 1 << 3",
        "uint8 internal constant SOURCE_FLAG_RECEIPT_ACCOUNTED =",
        "uint8 internal constant SOURCE_FLAG_MASK =",
        "uint8 internal constant SOURCE_KIND_SHIFT = 4",
        "bytes32 public constant IMPLEMENTATION_VERSION = keccak256(\"CenturionEconomicControllerUpgradeableV1\")",
        "bytes32 public constant ECONOMIC_POLICY_HASH = keccak256(\"EFFECTIVE_BALANCE_COVERAGE_HYBRID\")",
        "bytes32 public constant CONTRACT_KIND = keccak256(\"CENTURION_KIND_CONTROLLER\")"
      ],
      "detected_state_variables": [
        "address public owner",
        "address public factory",
        "address public exitRequestContract",
        "address public exitRequestFallbackContract",
        "address public pendingExitRequestFallbackContract",
        "uint256 public pendingExitRequestFallbackReadyAt",
        "CenturionClaimGatekeeper public claimGatekeeper",
        "bytes32 public factoryConfigHash",
        "bytes32 public moduleSetHash",
        "uint256 public addressDerivationVersion",
        "uint64 public protocolStartTimestamp",
        "uint256 public riskFreshnessWindow",
        "CenturionTypes.NetworkPhase public networkPhase",
        "uint256 public totalReserveCoverageLimitWei",
        "uint256 public totalLockedReserveCoverageWei",
        "uint16 private aggregateExposureCapBps",
        "uint256 private totalActiveProtectedPrincipalWei",
        "uint256 private aggregateSmoothingExposureWei",
        "bool private finalSmoothingModeEnabled",
        "bool private authoritativeDeltaModeEnabled",
        "bool private sourceLedgerStrictModeEnabled",
        "bool private recoupConfigEnabled",
        "mapping(address => CenturionTypes.SeatConfig) private seats",
        "mapping(address => CenturionTypes.RiskObservation) private observations",
        "mapping(address => CenturionTypes.ReceiptLedger) private ledgers",
        "mapping(address => CenturionTypes.DustAccounting) private dustStates",
        "mapping(address => CenturionTypes.SettlementSnapshot) private settlements",
        "mapping(bytes32 => bool) public receiptProcessed",
        "mapping(bytes32 => uint8) private economicSourceProcessedFlags",
        "mapping(bytes32 => uint8) private economicSourceGroupProcessedFlags",
        "mapping(address => bool) public slashingObserved",
        "bool private entered",
        "address public pendingOwner",
        "address public upgradeGovernor",
        "bytes32 public claimGatekeeperPolicyHash",
        "uint256[45] private __gap"
      ],
      "file_size": 66537,
      "generator_script_version": "2026-05-20.1",
      "repo_relative_path": null,
      "sha256": "bdf048fee7d18970ac89ea931ea777f45c947d585b91128433df0b362269e077",
      "source_git_commit_hash": "Evidence required",
      "source_root_relative_path": "CenturionEconomicController.sol"
    },
    {
      "CONTRACT_KIND": "Evidence required",
      "ECONOMIC_POLICY_HASH": "Evidence required",
      "IMPLEMENTATION_VERSION": "Evidence required",
      "absolute_source_path": "/Users/marcos/Desktop/centurion_phase1_upgradeable_refactor/CenturionFinalizeFlowLib.sol",
      "detected_contracts_interfaces_libraries": [
        "library CenturionFinalizeFlowLib"
      ],
      "detected_errors": [
        "FinalWithdrawalNotRecorded",
        "SettlementAlreadyFinalized",
        "SettlementDelayNotElapsed",
        "SettlementNotProposed"
      ],
      "detected_events": [],
      "detected_external_public_functions": [
        "finalizeSettlement(mapping(address => CenturionTypes.SeatConfig) storage seats, mapping(address => CenturionTypes.RiskObservation) storage observations, mapping(address => CenturionTypes.ReceiptLedger) storage ledgers, mapping(address => CenturionTypes.DustAccounting) storage dustStates, mapping(address => CenturionTypes.SettlementSnapshot) storage settlements, CenturionClaimGatekeeper claimGatekeeper, address vault, CenturionTypes.NetworkPhase networkPhase, uint256 totalReserveCoverageLimitWei, uint256 totalLockedReserveCoverageWei) - public (FinalizeSettlementResult memory result)"
      ],
      "detected_modifiers": [],
      "detected_privileged_functions": [
        "finalizeSettlement(mapping(address => CenturionTypes.SeatConfig) storage seats, mapping(address => CenturionTypes.RiskObservation) storage observations, mapping(address => CenturionTypes.ReceiptLedger) storage ledgers, mapping(address => CenturionTypes.DustAccounting) storage dustStates, mapping(address => CenturionTypes.SettlementSnapshot) storage settlements, CenturionClaimGatekeeper claimGatekeeper, address vault, CenturionTypes.NetworkPhase networkPhase, uint256 totalReserveCoverageLimitWei, uint256 totalLockedReserveCoverageWei) - public (FinalizeSettlementResult memory result)"
      ],
      "detected_public_constants": [],
      "detected_state_variables": [],
      "file_size": 3159,
      "generator_script_version": "2026-05-20.1",
      "repo_relative_path": null,
      "sha256": "031fc94a3c8d804459f8b70551e3ccd974d7627b0f200e1c3779b9d7bd928ff8",
      "source_git_commit_hash": "Evidence required",
      "source_root_relative_path": "CenturionFinalizeFlowLib.sol"
    },
    {
      "CONTRACT_KIND": "Evidence required",
      "ECONOMIC_POLICY_HASH": "Evidence required",
      "IMPLEMENTATION_VERSION": "Evidence required",
      "absolute_source_path": "/Users/marcos/Desktop/centurion_phase1_upgradeable_refactor/CenturionInitializable.sol",
      "detected_contracts_interfaces_libraries": [
        "contract CenturionInitializable"
      ],
      "detected_errors": [
        "InvalidInitialization",
        "NotInitializing"
      ],
      "detected_events": [
        "Initialized"
      ],
      "detected_external_public_functions": [
        "initializedVersion() - external (uint64)"
      ],
      "detected_modifiers": [
        "modifier initializer()",
        "modifier reinitializer(",
        "modifier onlyInitializing()"
      ],
      "detected_privileged_functions": [
        "initializedVersion() - external (uint64)"
      ],
      "detected_public_constants": [
        "bytes32 private constant _INITIALIZABLE_STORAGE_SLOT ="
      ],
      "detected_state_variables": [],
      "file_size": 2315,
      "generator_script_version": "2026-05-20.1",
      "repo_relative_path": null,
      "sha256": "61787cbb41d7138c308c185bdfbd36c8621e87e19de25ead49f16836ccfb83be",
      "source_git_commit_hash": "Evidence required",
      "source_root_relative_path": "CenturionInitializable.sol"
    },
    {
      "CONTRACT_KIND": "Evidence required",
      "ECONOMIC_POLICY_HASH": "Evidence required",
      "IMPLEMENTATION_VERSION": "Evidence required",
      "absolute_source_path": "/Users/marcos/Desktop/centurion_phase1_upgradeable_refactor/CenturionPayoutLib.sol",
      "detected_contracts_interfaces_libraries": [
        "library CenturionPayoutLib"
      ],
      "detected_errors": [
        "DrainDelayNotElapsed",
        "InsufficientPrincipal",
        "InsufficientRewards",
        "InvalidPayoutDestination",
        "NothingToClaim",
        "SettlementNotProposed"
      ],
      "detected_events": [],
      "detected_external_public_functions": [
        "claimPrincipal(mapping(address => CenturionTypes.SeatConfig) storage seats, mapping(address => CenturionTypes.ReceiptLedger) storage ledgers, address vault, address payable to, uint256 amountWei) - public (address destination, uint256 amount)",
        "claimSettlementRewards(mapping(address => CenturionTypes.SeatConfig) storage seats, mapping(address => CenturionTypes.ReceiptLedger) storage ledgers, CenturionClaimGatekeeper claimGatekeeper, address vault, address caller, uint256 amountWei, uint8 execScopeExitRewardClaim) - public (address beneficiary, uint256 amount, bool byExecutor)",
        "drainRemainder(mapping(address => CenturionTypes.SeatConfig) storage seats, mapping(address => CenturionTypes.SettlementSnapshot) storage settlements, mapping(address => CenturionTypes.ReceiptLedger) storage ledgers, address vault, address payable to) - public (address destination, uint256 amount, uint256 principalComponent, uint256 rewardComponent)"
      ],
      "detected_modifiers": [],
      "detected_privileged_functions": [
        "claimPrincipal(mapping(address => CenturionTypes.SeatConfig) storage seats, mapping(address => CenturionTypes.ReceiptLedger) storage ledgers, address vault, address payable to, uint256 amountWei) - public (address destination, uint256 amount)",
        "drainRemainder(mapping(address => CenturionTypes.SeatConfig) storage seats, mapping(address => CenturionTypes.SettlementSnapshot) storage settlements, mapping(address => CenturionTypes.ReceiptLedger) storage ledgers, address vault, address payable to) - public (address destination, uint256 amount, uint256 principalComponent, uint256 rewardComponent)"
      ],
      "detected_public_constants": [],
      "detected_state_variables": [],
      "file_size": 7719,
      "generator_script_version": "2026-05-20.1",
      "repo_relative_path": null,
      "sha256": "be2625bf855b6b95136f5d7dada00fd85b7d77048583009bfeddbf381d6c4be9",
      "source_git_commit_hash": "Evidence required",
      "source_root_relative_path": "CenturionPayoutLib.sol"
    },
    {
      "CONTRACT_KIND": "Evidence required",
      "ECONOMIC_POLICY_HASH": "Evidence required",
      "IMPLEMENTATION_VERSION": "Evidence required",
      "absolute_source_path": "/Users/marcos/Desktop/centurion_phase1_upgradeable_refactor/CenturionProxy.sol",
      "detected_contracts_interfaces_libraries": [
        "interface ICenturionBeacon",
        "contract CenturionTransparentProxy",
        "contract CenturionUpgradeableBeacon",
        "contract CenturionBeaconProxy"
      ],
      "detected_errors": [
        "BeaconFrozen",
        "BeaconImplementationNotContract",
        "BeaconInitializationFailed",
        "BeaconInitializationIncomplete",
        "BeaconNotContract",
        "BeaconZeroAddress",
        "InvalidImplementation",
        "ProxyAdminZeroAddress",
        "ProxyCallFailed",
        "ProxyDeniedAdminAccess",
        "ProxyImplementationNotContract",
        "ProxyImplementationZeroAddress",
        "ProxyInitializationIncomplete",
        "Unauthorized"
      ],
      "detected_events": [
        "AdminChanged",
        "BeaconFrozenForever",
        "BeaconSet",
        "BeaconUpgraded",
        "Upgraded"
      ],
      "detected_external_public_functions": [
        "implementation() - external (address)",
        "admin() - external ifAdmin (address)",
        "implementation() - external ifAdmin (address)",
        "changeAdmin(address newAdmin) - external ifAdmin",
        "upgradeToAndCall(address newImplementation, bytes calldata data) - external ifAdmin",
        "proxyAdmin() - external (address)",
        "proxyImplementation() - external (address)",
        "proxyInitializedVersion() - external (uint64)",
        "implementation() - external (address)",
        "upgradeTo(address newImplementation) - external onlyAuthority",
        "freezeForever() - external onlyAuthority",
        "beacon() - external (address)"
      ],
      "detected_modifiers": [
        "modifier ifAdmin()",
        "modifier onlyAuthority()"
      ],
      "detected_privileged_functions": [
        "freezeForever() - external onlyAuthority"
      ],
      "detected_public_constants": [
        "bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc",
        "bytes32 internal constant _ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103",
        "bytes32 internal constant _INITIALIZABLE_STORAGE_SLOT =",
        "bytes32 internal constant _BEACON_SLOT = 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50",
        "bytes32 internal constant _INITIALIZABLE_STORAGE_SLOT ="
      ],
      "detected_state_variables": [
        "address public upgradeAuthority",
        "address private _implementation",
        "bool public frozen"
      ],
      "file_size": 10364,
      "generator_script_version": "2026-05-20.1",
      "repo_relative_path": null,
      "sha256": "2e46f9967dda7a0189dc1caa9aea9a8d10bfeafd1ffce2536ae652871549b5cf",
      "source_git_commit_hash": "Evidence required",
      "source_root_relative_path": "CenturionProxy.sol"
    },
    {
      "CONTRACT_KIND": "Evidence required",
      "ECONOMIC_POLICY_HASH": "Evidence required",
      "IMPLEMENTATION_VERSION": "Evidence required",
      "absolute_source_path": "/Users/marcos/Desktop/centurion_phase1_upgradeable_refactor/CenturionReadinessLib.sol",
      "detected_contracts_interfaces_libraries": [
        "library CenturionReadinessLib"
      ],
      "detected_errors": [],
      "detected_events": [],
      "detected_external_public_functions": [
        "buildReadiness(CenturionTypes.SeatConfig memory seat, CenturionTypes.RiskObservation memory obs, CenturionTypes.RiskState liveRiskState, bool reserveUsable, bool finalModelConfigured, bool safeRiskOrNoObservation, bool fallbackUnset, uint8 currentClaimState, address exitRequestContract, bytes32 expectedWithdrawalCredentials) - public (CenturionTypes.DepositReadiness memory readiness)"
      ],
      "detected_modifiers": [],
      "detected_privileged_functions": [],
      "detected_public_constants": [],
      "detected_state_variables": [],
      "file_size": 2856,
      "generator_script_version": "2026-05-20.1",
      "repo_relative_path": null,
      "sha256": "db62eda1f027a195d3878be851cf28602402a42c660a4d72347bb4c64fca61dd",
      "source_git_commit_hash": "Evidence required",
      "source_root_relative_path": "CenturionReadinessLib.sol"
    },
    {
      "CONTRACT_KIND": "Evidence required",
      "ECONOMIC_POLICY_HASH": "Evidence required",
      "IMPLEMENTATION_VERSION": "Evidence required",
      "absolute_source_path": "/Users/marcos/Desktop/centurion_phase1_upgradeable_refactor/CenturionReceiptAccountingLib.sol",
      "detected_contracts_interfaces_libraries": [
        "library CenturionReceiptAccountingLib"
      ],
      "detected_errors": [],
      "detected_events": [],
      "detected_external_public_functions": [
        "recordReceipt(CenturionClaimGatekeeper claimGatekeeper, mapping(address => CenturionTypes.SeatConfig) storage seats, mapping(address => CenturionTypes.RiskObservation) storage observations, mapping(address => CenturionTypes.ReceiptLedger) storage ledgers, mapping(address => CenturionTypes.DustAccounting) storage dustStates, mapping(address => mapping(uint64 => CenturionTypes.EpochSnapshot)) storage epochSnapshots, address vault, uint256 amountWei, uint8 kind, uint64 consensusEpoch, RecordReceiptContext memory ctx) - public (RecordReceiptResult memory result)"
      ],
      "detected_modifiers": [],
      "detected_privileged_functions": [
        "recordReceipt(CenturionClaimGatekeeper claimGatekeeper, mapping(address => CenturionTypes.SeatConfig) storage seats, mapping(address => CenturionTypes.RiskObservation) storage observations, mapping(address => CenturionTypes.ReceiptLedger) storage ledgers, mapping(address => CenturionTypes.DustAccounting) storage dustStates, mapping(address => mapping(uint64 => CenturionTypes.EpochSnapshot)) storage epochSnapshots, address vault, uint256 amountWei, uint8 kind, uint64 consensusEpoch, RecordReceiptContext memory ctx) - public (RecordReceiptResult memory result)"
      ],
      "detected_public_constants": [],
      "detected_state_variables": [],
      "file_size": 8646,
      "generator_script_version": "2026-05-20.1",
      "repo_relative_path": null,
      "sha256": "6639eb09b3e758869e508a1af3279abe1979f137305d6d31a4f08edd51bd5761",
      "source_git_commit_hash": "Evidence required",
      "source_root_relative_path": "CenturionReceiptAccountingLib.sol"
    },
    {
      "CONTRACT_KIND": "Evidence required",
      "ECONOMIC_POLICY_HASH": "Evidence required",
      "IMPLEMENTATION_VERSION": "Evidence required",
      "absolute_source_path": "/Users/marcos/Desktop/centurion_phase1_upgradeable_refactor/CenturionReserveConfigLib.sol",
      "detected_contracts_interfaces_libraries": [
        "library CenturionReserveConfigLib"
      ],
      "detected_errors": [
        "InvalidEpoch",
        "InvalidReserveCoverage",
        "InvalidReserveProof"
      ],
      "detected_events": [],
      "detected_external_public_functions": [
        "setReserveCoverage(mapping(address => CenturionTypes.SeatConfig) storage seats, CenturionClaimGatekeeper claimGatekeeper, address vault, uint256 reserveCoverageLimitWei, uint256 minimumReserveCoverageWei, bytes32 reserveProofHash, uint256 totalReserveCoverageLimitWei) - public (SetReserveCoverageResult memory result)",
        "setClearedSafeEpoch(mapping(address => CenturionTypes.SeatConfig) storage seats, mapping(address => CenturionTypes.RiskObservation) storage observations, CenturionClaimGatekeeper claimGatekeeper, address vault, uint64 safeEpoch, uint256 riskFreshnessWindow) - public (SetClearedSafeEpochResult memory result)",
        "clearReserveCoverage(mapping(address => CenturionTypes.SeatConfig) storage seats, CenturionClaimGatekeeper claimGatekeeper, address vault, uint256 totalReserveCoverageLimitWei, uint256 totalLockedReserveCoverageWei) - public (ClearReserveCoverageResult memory result)"
      ],
      "detected_modifiers": [],
      "detected_privileged_functions": [
        "setReserveCoverage(mapping(address => CenturionTypes.SeatConfig) storage seats, CenturionClaimGatekeeper claimGatekeeper, address vault, uint256 reserveCoverageLimitWei, uint256 minimumReserveCoverageWei, bytes32 reserveProofHash, uint256 totalReserveCoverageLimitWei) - public (SetReserveCoverageResult memory result)",
        "setClearedSafeEpoch(mapping(address => CenturionTypes.SeatConfig) storage seats, mapping(address => CenturionTypes.RiskObservation) storage observations, CenturionClaimGatekeeper claimGatekeeper, address vault, uint64 safeEpoch, uint256 riskFreshnessWindow) - public (SetClearedSafeEpochResult memory result)"
      ],
      "detected_public_constants": [],
      "detected_state_variables": [],
      "file_size": 4684,
      "generator_script_version": "2026-05-20.1",
      "repo_relative_path": null,
      "sha256": "8d77d1246137afa4914243bcf6b0cfab1bce534b30fcc4a6d011be6a68aec860",
      "source_git_commit_hash": "Evidence required",
      "source_root_relative_path": "CenturionReserveConfigLib.sol"
    },
    {
      "CONTRACT_KIND": "Evidence required",
      "ECONOMIC_POLICY_HASH": "Evidence required",
      "IMPLEMENTATION_VERSION": "Evidence required",
      "absolute_source_path": "/Users/marcos/Desktop/centurion_phase1_upgradeable_refactor/CenturionRiskUpdateLib.sol",
      "detected_contracts_interfaces_libraries": [
        "library CenturionRiskUpdateLib"
      ],
      "detected_errors": [
        "StaleRiskObservation"
      ],
      "detected_events": [],
      "detected_external_public_functions": [
        "updateRiskObservation(CenturionClaimGatekeeper claimGatekeeper, mapping(address => CenturionTypes.SeatConfig) storage seats, mapping(address => CenturionTypes.RiskObservation) storage observations, mapping(address => mapping(uint64 => CenturionTypes.EpochSnapshot)) storage epochSnapshots, mapping(address => bool) storage slashingObserved, address vault, RiskUpdateInput memory input) - public (RiskUpdateResult memory result)"
      ],
      "detected_modifiers": [],
      "detected_privileged_functions": [],
      "detected_public_constants": [],
      "detected_state_variables": [],
      "file_size": 8814,
      "generator_script_version": "2026-05-20.1",
      "repo_relative_path": null,
      "sha256": "04636bea44d9aa07fe7583bd7efe5b6648a3bbf292efa6cfc9d9aac72bf33de8",
      "source_git_commit_hash": "Evidence required",
      "source_root_relative_path": "CenturionRiskUpdateLib.sol"
    },
    {
      "CONTRACT_KIND": "Evidence required",
      "ECONOMIC_POLICY_HASH": "Evidence required",
      "IMPLEMENTATION_VERSION": "Evidence required",
      "absolute_source_path": "/Users/marcos/Desktop/centurion_phase1_upgradeable_refactor/CenturionSettlementFinalizeLib.sol",
      "detected_contracts_interfaces_libraries": [
        "library CenturionSettlementFinalizeLib"
      ],
      "detected_errors": [],
      "detected_events": [],
      "detected_external_public_functions": [
        "finalizeSettlement(mapping(address => CenturionTypes.SeatConfig) storage seats, mapping(address => CenturionTypes.RiskObservation) storage observations, mapping(address => CenturionTypes.ReceiptLedger) storage ledgers, mapping(address => CenturionTypes.DustAccounting) storage dustStates, mapping(address => CenturionTypes.SettlementSnapshot) storage settlements, address vault, CenturionTypes.NetworkPhase networkPhase, uint256 totalReserveCoverageLimitWei, uint256 totalLockedReserveCoverageWei) - public ( uint256 newTotalLockedReserveCoverageWei, uint256 lockedWei, uint256 releasedWei, uint256 coveredPrincipalWei, uint256 settlementExcessWei, CenturionTypes.SettlementOutcome outcome, uint256 repaidFromRewardBucketWei, uint256 repaidFromExcessWei, uint256 canceledUnclaimedSmoothingWei )"
      ],
      "detected_modifiers": [],
      "detected_privileged_functions": [
        "finalizeSettlement(mapping(address => CenturionTypes.SeatConfig) storage seats, mapping(address => CenturionTypes.RiskObservation) storage observations, mapping(address => CenturionTypes.ReceiptLedger) storage ledgers, mapping(address => CenturionTypes.DustAccounting) storage dustStates, mapping(address => CenturionTypes.SettlementSnapshot) storage settlements, address vault, CenturionTypes.NetworkPhase networkPhase, uint256 totalReserveCoverageLimitWei, uint256 totalLockedReserveCoverageWei) - public ( uint256 newTotalLockedReserveCoverageWei, uint256 lockedWei, uint256 releasedWei, uint256 coveredPrincipalWei, uint256 settlementExcessWei, CenturionTypes.SettlementOutcome outcome, uint256 repaidFromRewardBucketWei, uint256 repaidFromExcessWei, uint256 canceledUnclaimedSmoothingWei )"
      ],
      "detected_public_constants": [],
      "detected_state_variables": [],
      "file_size": 6492,
      "generator_script_version": "2026-05-20.1",
      "repo_relative_path": null,
      "sha256": "b46dad6873493cfc8243ec88bae6a70120f0b02bebd729cf1198a07a400405b0",
      "source_git_commit_hash": "Evidence required",
      "source_root_relative_path": "CenturionSettlementFinalizeLib.sol"
    },
    {
      "CONTRACT_KIND": "Evidence required",
      "ECONOMIC_POLICY_HASH": "Evidence required",
      "IMPLEMENTATION_VERSION": "Evidence required",
      "absolute_source_path": "/Users/marcos/Desktop/centurion_phase1_upgradeable_refactor/CenturionSettlementFlowLib.sol",
      "detected_contracts_interfaces_libraries": [
        "library CenturionSettlementFlowLib"
      ],
      "detected_errors": [
        "SettlementAlreadyProposed",
        "SettlementNotProposed",
        "SettlementRewardClaimsExceeded",
        "Unauthorized"
      ],
      "detected_events": [],
      "detected_external_public_functions": [
        "proposeSettlement(mapping(address => CenturionTypes.SeatConfig) storage seats, mapping(address => CenturionTypes.SettlementSnapshot) storage settlements, mapping(address => CenturionTypes.ReceiptLedger) storage ledgers, mapping(address => CenturionTypes.RiskObservation) storage observations, CenturionClaimGatekeeper claimGatekeeper, address vault, bool emergency, uint256 maxRewardsClaimedWei) - public (ProposeSettlementResult memory result)",
        "cancelEmergencySettlement(mapping(address => CenturionTypes.SeatConfig) storage seats, mapping(address => CenturionTypes.SettlementSnapshot) storage settlements, mapping(address => CenturionTypes.ReceiptLedger) storage ledgers, mapping(address => CenturionTypes.RiskObservation) storage observations, mapping(address => bool) storage slashingObserved, address vault) - public"
      ],
      "detected_modifiers": [],
      "detected_privileged_functions": [
        "proposeSettlement(mapping(address => CenturionTypes.SeatConfig) storage seats, mapping(address => CenturionTypes.SettlementSnapshot) storage settlements, mapping(address => CenturionTypes.ReceiptLedger) storage ledgers, mapping(address => CenturionTypes.RiskObservation) storage observations, CenturionClaimGatekeeper claimGatekeeper, address vault, bool emergency, uint256 maxRewardsClaimedWei) - public (ProposeSettlementResult memory result)",
        "cancelEmergencySettlement(mapping(address => CenturionTypes.SeatConfig) storage seats, mapping(address => CenturionTypes.SettlementSnapshot) storage settlements, mapping(address => CenturionTypes.ReceiptLedger) storage ledgers, mapping(address => CenturionTypes.RiskObservation) storage observations, mapping(address => bool) storage slashingObserved, address vault) - public"
      ],
      "detected_public_constants": [],
      "detected_state_variables": [],
      "file_size": 4007,
      "generator_script_version": "2026-05-20.1",
      "repo_relative_path": null,
      "sha256": "212bf9a02e91256bc5c7f7474a9a5251a6b3faf705a3a453a23393082e8ddea5",
      "source_git_commit_hash": "Evidence required",
      "source_root_relative_path": "CenturionSettlementFlowLib.sol"
    },
    {
      "CONTRACT_KIND": "Evidence required",
      "ECONOMIC_POLICY_HASH": "Evidence required",
      "IMPLEMENTATION_VERSION": "Evidence required",
      "absolute_source_path": "/Users/marcos/Desktop/centurion_phase1_upgradeable_refactor/CenturionSmoothingFundingLib.sol",
      "detected_contracts_interfaces_libraries": [
        "library CenturionSmoothingFundingLib"
      ],
      "detected_errors": [],
      "detected_events": [],
      "detected_external_public_functions": [],
      "detected_modifiers": [],
      "detected_privileged_functions": [],
      "detected_public_constants": [],
      "detected_state_variables": [],
      "file_size": 807,
      "generator_script_version": "2026-05-20.1",
      "repo_relative_path": null,
      "sha256": "c248a5d1ecd3171208fd78ab2ec793fb5c570fb47fb70527543dff16f59c6940",
      "source_git_commit_hash": "Evidence required",
      "source_root_relative_path": "CenturionSmoothingFundingLib.sol"
    },
    {
      "CONTRACT_KIND": "Evidence required",
      "ECONOMIC_POLICY_HASH": "Evidence required",
      "IMPLEMENTATION_VERSION": "Evidence required",
      "absolute_source_path": "/Users/marcos/Desktop/centurion_phase1_upgradeable_refactor/CenturionTypes.sol",
      "detected_contracts_interfaces_libraries": [
        "library CenturionTypes"
      ],
      "detected_errors": [],
      "detected_events": [],
      "detected_external_public_functions": [],
      "detected_modifiers": [],
      "detected_privileged_functions": [],
      "detected_public_constants": [
        "uint256 internal constant PROTECTED_PRINCIPAL_WEI = 32 ether",
        "uint256 internal constant STANDARD_MAX_EFFECTIVE_BALANCE_WEI = 32 ether",
        "uint256 internal constant COMPOUNDING_MAX_EFFECTIVE_BALANCE_WEI = 2048 ether",
        "uint256 internal constant EFFECTIVE_BALANCE_INCREMENT_WEI = 1 ether",
        "uint256 internal constant DOWNWARD_HYSTERESIS_THRESHOLD_WEI = 0.25 ether",
        "uint256 internal constant UPWARD_HYSTERESIS_THRESHOLD_WEI = 1.25 ether",
        "uint256 internal constant WARNING_ACTUAL_BALANCE_WEI = 30 ether",
        "uint256 internal constant WARNING_EFFECTIVE_BALANCE_WEI = 30 ether",
        "uint256 internal constant STOP_LOSS_ACTUAL_BALANCE_WEI = 25 ether",
        "uint256 internal constant STOP_LOSS_EFFECTIVE_BALANCE_WEI = 25 ether",
        "uint256 internal constant EJECTION_EFFECTIVE_BALANCE_WEI = 16 ether",
        "uint256 internal constant DEFAULT_RISK_FRESHNESS_WINDOW = 2 hours",
        "uint256 internal constant MAX_RISK_FRESHNESS_WINDOW = 7 days",
        "uint256 internal constant MAX_RESERVE_PROOF_AGE = 7 days",
        "uint256 internal constant SETTLEMENT_DELAY = 1 hours",
        "uint256 internal constant EMERGENCY_SETTLEMENT_DELAY = 7 days",
        "uint256 internal constant POST_SETTLEMENT_DRAIN_DELAY = 90 days",
        "uint256 internal constant DUST_ROLLING_WINDOW = 180 days",
        "uint256 internal constant MICRO_DUST_LIMIT_LAUNCH_WEI = 0.003 ether",
        "uint256 internal constant CANONICAL_LAUNCH_SMOOTHING_RESERVE_WEI = 0.03 ether",
        "uint256 internal constant GREEN_DUST_LIMIT_LAUNCH_WEI = 0.075 ether",
        "uint256 internal constant AMBER_DUST_LIMIT_LAUNCH_WEI = 0.125 ether",
        "uint256 internal constant HARD_QUARANTINE_LIMIT_LAUNCH_WEI = 0.15 ether",
        "uint256 internal constant MICRO_DUST_LIMIT_GROWTH_WEI = 0.003 ether",
        "uint256 internal constant GREEN_DUST_LIMIT_GROWTH_WEI = 0.035 ether",
        "uint256 internal constant AMBER_DUST_LIMIT_GROWTH_WEI = 0.075 ether",
        "uint256 internal constant HARD_QUARANTINE_LIMIT_GROWTH_WEI = 0.2 ether",
        "uint256 internal constant MICRO_DUST_LIMIT_MATURE_WEI = 0.001 ether",
        "uint256 internal constant GREEN_DUST_LIMIT_MATURE_WEI = 0.02 ether",
        "uint256 internal constant AMBER_DUST_LIMIT_MATURE_WEI = 0.05 ether",
        "uint256 internal constant HARD_QUARANTINE_LIMIT_MATURE_WEI = 0.15 ether",
        "uint16 internal constant BPS_DENOMINATOR = 10_000",
        "uint16 internal constant AGGREGATE_EXPOSURE_CAP_LAUNCH_BPS = 2500",
        "uint16 internal constant AGGREGATE_EXPOSURE_CAP_GROWTH_BPS = 1500",
        "uint16 internal constant AGGREGATE_EXPOSURE_CAP_MATURE_BPS = 1000",
        "uint16 internal constant GREEN_ADVANCE_LAUNCH_HEALTHY_BPS = 7500",
        "uint16 internal constant GREEN_ADVANCE_LAUNCH_PARTIAL_BPS = 0",
        "uint16 internal constant GREEN_ADVANCE_GROWTH_HEALTHY_BPS = 6000",
        "uint16 internal constant GREEN_ADVANCE_GROWTH_PARTIAL_BPS = 2500",
        "uint16 internal constant GREEN_ADVANCE_MATURE_HEALTHY_BPS = 5000",
        "uint16 internal constant GREEN_ADVANCE_MATURE_PARTIAL_BPS = 2500",
        "uint16 internal constant AMBER_ADVANCE_LAUNCH_HEALTHY_BPS = 7500",
        "uint16 internal constant AMBER_ADVANCE_LAUNCH_PARTIAL_BPS = 0",
        "uint16 internal constant AMBER_ADVANCE_GROWTH_HEALTHY_BPS = 1500",
        "uint16 internal constant AMBER_ADVANCE_GROWTH_PARTIAL_BPS = 0",
        "uint16 internal constant AMBER_ADVANCE_MATURE_HEALTHY_BPS = 0",
        "uint16 internal constant AMBER_ADVANCE_MATURE_PARTIAL_BPS = 0",
        "uint16 internal constant RECOUP_HEALTHY_BPS = 7500",
        "uint16 internal constant RECOUP_PARTIAL_BPS = 7500",
        "uint16 internal constant RECOUP_EXHAUSTED_BPS = 10_000",
        "uint256 internal constant GREEN_ADVANCE_OUTSTANDING_CAP_WEI = 0.05 ether",
        "uint256 internal constant ROLLING_ADVANCE_CAP_LAUNCH_WEI = 0.1 ether",
        "uint256 internal constant ROLLING_ADVANCE_CAP_GROWTH_WEI = 0.1 ether",
        "uint256 internal constant ROLLING_ADVANCE_CAP_MATURE_WEI = 0.04 ether",
        "bytes32 internal constant DEPOSIT_POLICY_VERSION = keccak256(\"EFFECTIVE_BALANCE_COVERAGE_HYBRID\")",
        "uint16 internal constant READINESS_SCHEMA_VERSION = 3",
        "uint16 internal constant ORACLE_SCHEMA_VERSION = 2",
        "uint16 internal constant RECEIPT_SCHEMA_VERSION = 2"
      ],
      "detected_state_variables": [],
      "file_size": 11392,
      "generator_script_version": "2026-05-20.1",
      "repo_relative_path": null,
      "sha256": "eda7545344eae61f63a0f1f5c8380067e13ca8dfc020d65e02d5c9d0cfa9fcdf",
      "source_git_commit_hash": "Evidence required",
      "source_root_relative_path": "CenturionTypes.sol"
    },
    {
      "CONTRACT_KIND": "Evidence required",
      "ECONOMIC_POLICY_HASH": "Evidence required",
      "IMPLEMENTATION_VERSION": "Evidence required",
      "absolute_source_path": "/Users/marcos/Desktop/centurion_phase1_upgradeable_refactor/CenturionUpgradeGovernor.sol",
      "detected_contracts_interfaces_libraries": [
        "interface ICenturionTransparentProxyAdminView",
        "interface ICenturionBeaconAdminView",
        "interface ICenturionBeaconAuthorityView",
        "interface ICenturionImplementationMetadata",
        "contract CenturionUpgradeGovernor"
      ],
      "detected_errors": [
        "BeaconAuthorityMismatch",
        "BeaconRuntimeCodehashMismatch",
        "FinalFrozen",
        "GenesisApprovalsAlreadySealed",
        "ImplementationMetadataMismatch",
        "ImplementationNotApproved",
        "InitializedVersionInsufficient",
        "InitializedVersionUnavailable",
        "InvalidContractKind",
        "InvalidDelay",
        "InvalidImplementation",
        "InvalidOperationTargetType",
        "InvalidRuntimeCodehash",
        "NoPendingRoleAdmin",
        "NoPendingRoleGrant",
        "OperationAlreadyExists",
        "OperationAlreadyFinalized",
        "OperationCallFailed",
        "OperationNotQueued",
        "OperationNotReady",
        "OperationUnknown",
        "PendingRoleAdminNotReady",
        "PendingRoleAdminOnly",
        "PendingRoleGrantExists",
        "PendingRoleGrantNotReady",
        "ProxyAdminMismatch",
        "ProxyRuntimeCodehashMismatch",
        "TargetAlreadyRegisteredAsOtherType",
        "TargetKindMismatch",
        "TargetNotRegistered",
        "Unauthorized",
        "UpgradeValueNotPermitted",
        "ZeroAddress"
      ],
      "detected_events": [
        "BeaconFrozenInFinalFreeze",
        "BeaconRegistered",
        "FinalFreeze",
        "GenesisApprovalsSealed",
        "GenesisImplementationApproved",
        "RoleAdminTransferReadyAtUpdated",
        "RoleAdminTransferStarted",
        "RoleAdminTransferred",
        "RoleGrantCancelled",
        "RoleGrantExecuted",
        "RoleGrantProposed",
        "RoleGranted",
        "RoleRevoked",
        "TransparentProxyRegistered",
        "UpgradeCancelled",
        "UpgradeExecuted",
        "UpgradeProposed",
        "UpgradeQueued"
      ],
      "detected_external_public_functions": [
        "proxyAdmin() - external (address)",
        "proxyImplementation() - external (address)",
        "proxyInitializedVersion() - external (uint64)",
        "upgradeToAndCall(address newImplementation, bytes calldata data) - external",
        "implementation() - external (address)",
        "upgradeTo(address newImplementation) - external",
        "freezeForever() - external",
        "upgradeAuthority() - external (address)",
        "implementationVersion() - external (bytes32)",
        "economicPolicyHash() - external (bytes32)",
        "contractKind() - external (bytes32)",
        "expectedTransparentProxyCodehash() - public (bytes32)",
        "expectedUpgradeableBeaconCodehash() - public (bytes32)",
        "proposeRoleGrant(bytes32 role, address account) - external onlyRoleAdmin",
        "executeRoleGrant(bytes32 role, address account) - external onlyRoleAdmin",
        "cancelRoleGrant(bytes32 role, address account) - external onlyRoleAdmin",
        "revokeRole(bytes32 role, address account) - external onlyRoleAdmin",
        "transferRoleAdmin(address newAdmin) - external onlyRoleAdmin",
        "cancelRoleAdminTransfer() - external onlyRoleAdmin",
        "acceptRoleAdmin() - external",
        "pendingRoleGrant(bytes32 role, address account) - external (uint256 readyAt, bool exists)",
        "registerTransparentProxy(address proxy, bytes32 contractKind) - external onlyRole(REGISTRAR_ROLE) notFinalFrozen",
        "registerBeacon(address beacon, bytes32 contractKind) - external onlyRole(REGISTRAR_ROLE) notFinalFrozen",
        "registeredBeaconCount() - external (uint256)",
        "registeredBeaconAt(uint256 index) - external (address)",
        "recordGenesisImplementation(bytes32 contractKind, address implementation, bytes32 version, bytes32 policyHash) - external onlyRole(REGISTRAR_ROLE) notFinalFrozen",
        "sealGenesisApprovals() - external onlyRole(REGISTRAR_ROLE) notFinalFrozen",
        "proposeUpgrade(TargetType targetType, address target, address implementation, bytes32 contractKind, bytes32 version, bytes32 policyHash, bytes32 salt, bytes calldata callData, uint64 expectedInitializedVersion) - external onlyRole(PROPOSER_ROLE) notFinalFrozen (bytes32 operationId)",
        "queueUpgrade(bytes32 operationId) - external onlyRole(QUEUER_ROLE) notFinalFrozen",
        "cancelUpgrade(bytes32 operationId) - external onlyRole(CANCELLER_ROLE)",
        "executeUpgrade(bytes32 operationId) - external onlyRole(EXECUTOR_ROLE) notFinalFrozen",
        "finalFreeze(bytes32 reasonHash) - external onlyRole(FREEZER_ROLE)",
        "getOperation(bytes32 operationId) - external (Operation memory)",
        "implementationPolicy(address implementation) - external (bytes32 contractKind, bytes32 version, bytes32 policyHash, bytes32 codeHash, bool approved)",
        "getTransparentProxyImplementation(address proxy) - public (address implementation)",
        "getBeaconImplementation(address beacon) - public (address implementation)",
        "assertTransparentProxyPolicy(address proxy, bytes32 contractKind, bytes32 expectedPolicyHash) - external (address implementation, bytes32 version, bytes32 codeHash)",
        "assertBeaconPolicy(address beacon, bytes32 contractKind, bytes32 expectedPolicyHash) - external (address implementation, bytes32 version, bytes32 codeHash)",
        "hashOperation(TargetType targetType, address target, address implementation, bytes32 contractKind, bytes32 version, bytes32 policyHash, bytes32 salt, bytes calldata callData, uint64 expectedInitializedVersion) - public (bytes32)"
      ],
      "detected_modifiers": [
        "modifier onlyRole(",
        "modifier onlyRoleAdmin()",
        "modifier notFinalFrozen()"
      ],
      "detected_privileged_functions": [
        "freezeForever() - external",
        "proposeRoleGrant(bytes32 role, address account) - external onlyRoleAdmin",
        "executeRoleGrant(bytes32 role, address account) - external onlyRoleAdmin",
        "cancelRoleGrant(bytes32 role, address account) - external onlyRoleAdmin",
        "revokeRole(bytes32 role, address account) - external onlyRoleAdmin",
        "transferRoleAdmin(address newAdmin) - external onlyRoleAdmin",
        "cancelRoleAdminTransfer() - external onlyRoleAdmin",
        "acceptRoleAdmin() - external",
        "registerTransparentProxy(address proxy, bytes32 contractKind) - external onlyRole(REGISTRAR_ROLE) notFinalFrozen",
        "registerBeacon(address beacon, bytes32 contractKind) - external onlyRole(REGISTRAR_ROLE) notFinalFrozen",
        "registeredBeaconCount() - external (uint256)",
        "registeredBeaconAt(uint256 index) - external (address)",
        "recordGenesisImplementation(bytes32 contractKind, address implementation, bytes32 version, bytes32 policyHash) - external onlyRole(REGISTRAR_ROLE) notFinalFrozen",
        "sealGenesisApprovals() - external onlyRole(REGISTRAR_ROLE) notFinalFrozen",
        "proposeUpgrade(TargetType targetType, address target, address implementation, bytes32 contractKind, bytes32 version, bytes32 policyHash, bytes32 salt, bytes calldata callData, uint64 expectedInitializedVersion) - external onlyRole(PROPOSER_ROLE) notFinalFrozen (bytes32 operationId)",
        "queueUpgrade(bytes32 operationId) - external onlyRole(QUEUER_ROLE) notFinalFrozen",
        "cancelUpgrade(bytes32 operationId) - external onlyRole(CANCELLER_ROLE)",
        "executeUpgrade(bytes32 operationId) - external onlyRole(EXECUTOR_ROLE) notFinalFrozen",
        "finalFreeze(bytes32 reasonHash) - external onlyRole(FREEZER_ROLE)"
      ],
      "detected_public_constants": [
        "uint256 public constant MINIMUM_LONG_TIMELOCK = 7 days",
        "bytes32 public constant PROPOSER_ROLE = keccak256(\"CENTURION_UPGRADE_PROPOSER_ROLE\")",
        "bytes32 public constant QUEUER_ROLE = keccak256(\"CENTURION_UPGRADE_QUEUER_ROLE\")",
        "bytes32 public constant EXECUTOR_ROLE = keccak256(\"CENTURION_UPGRADE_EXECUTOR_ROLE\")",
        "bytes32 public constant CANCELLER_ROLE = keccak256(\"CENTURION_UPGRADE_CANCELLER_ROLE\")",
        "bytes32 public constant FREEZER_ROLE = keccak256(\"CENTURION_UPGRADE_FREEZER_ROLE\")",
        "bytes32 public constant REGISTRAR_ROLE = keccak256(\"CENTURION_UPGRADE_REGISTRAR_ROLE\")",
        "bytes32 public constant KIND_DEPOSIT = keccak256(\"CENTURION_KIND_DEPOSIT\")",
        "bytes32 public constant KIND_CONTROLLER = keccak256(\"CENTURION_KIND_CONTROLLER\")",
        "bytes32 public constant KIND_FACTORY = keccak256(\"CENTURION_KIND_FACTORY\")",
        "bytes32 public constant KIND_CLAIM_GATEKEEPER = keccak256(\"CENTURION_KIND_CLAIM_GATEKEEPER\")",
        "bytes32 public constant KIND_WITHDRAWAL_VAULT = keccak256(\"CENTURION_KIND_WITHDRAWAL_VAULT\")"
      ],
      "detected_state_variables": [
        "address public roleAdmin",
        "address public pendingRoleAdmin",
        "uint256 public pendingRoleAdminReadyAt",
        "uint256 public minDelay",
        "bool public genesisApprovalsSealed",
        "bool public finalFrozen",
        "mapping(bytes32 => Operation) private operations",
        "mapping(bytes32 => bool) public operationKnown",
        "mapping(address => ImplementationApproval) private implementationApprovals",
        "mapping(address => bool) public registeredTransparentProxy",
        "mapping(address => bool) public registeredBeacon",
        "mapping(address => bytes32) public registeredTargetKind",
        "mapping(bytes32 => PendingRoleGrant) private pendingRoleGrants",
        "address[] private _registeredBeaconList"
      ],
      "file_size": 30979,
      "generator_script_version": "2026-05-20.1",
      "repo_relative_path": null,
      "sha256": "08953b56a73a6e7ce84f05cff1a5f6331d3252a3dd55fda135b773cc85efebb5",
      "source_git_commit_hash": "Evidence required",
      "source_root_relative_path": "CenturionUpgradeGovernor.sol"
    },
    {
      "CONTRACT_KIND": "CENTURION_KIND_FACTORY",
      "ECONOMIC_POLICY_HASH": "EFFECTIVE_BALANCE_COVERAGE_HYBRID",
      "IMPLEMENTATION_VERSION": "CenturionVaultFactoryUpgradeableV1",
      "absolute_source_path": "/Users/marcos/Desktop/centurion_phase1_upgradeable_refactor/CenturionVaultFactory.sol",
      "detected_contracts_interfaces_libraries": [
        "interface ICenturionUpgradeableBeaconAuthority",
        "interface ICenturionSeatInitializer",
        "contract CenturionVaultFactory"
      ],
      "detected_errors": [
        "InvalidCredentialType",
        "InvalidMaxEffectiveBalance",
        "InvalidPubkeyLength",
        "InvalidUpgradeGovernor",
        "InvalidUpgradeGovernorCodehash",
        "InvalidVaultBeacon",
        "InvalidVaultBeaconAuthority",
        "InvalidVaultBeaconCodehash",
        "NoPendingOwner",
        "PendingOwnerOnly",
        "Unauthorized",
        "VaultAlreadyExists",
        "VaultDeploymentFailed",
        "ZeroAddress"
      ],
      "detected_events": [
        "OwnershipTransferCancelled",
        "OwnershipTransferStarted",
        "OwnershipTransferred",
        "PolicyBootstrapOpenSet",
        "VaultDeployed"
      ],
      "detected_external_public_functions": [
        "upgradeAuthority() - external (address)",
        "initializeSeat(address vault, bytes32 validatorPubkeyHash, address beneficiary, address principalDestination, uint8 expectedCredentialType, uint256 principalTargetWei, uint256 effectiveBalanceTargetWei, uint256 expectedMaxEffectiveBalanceWei, uint64 claimDelay, uint128 maxClaimPerPeriodWei, uint128 executorDailyCapWei, bytes32 vaultConfigHash) - external",
        "initialize(address owner_, address controller_, address exitRequestContract_, bytes32 factoryConfigHash_, bytes32 moduleSetHash_, uint256 addressDerivationVersion_, address upgradeGovernor_, address vaultBeacon_, bytes32 expectedUpgradeGovernorCodehash_, bytes32 expectedVaultBeaconCodehash_) - external initializer",
        "implementationVersion() - public (bytes32)",
        "economicPolicyHash() - public (bytes32)",
        "contractKind() - public (bytes32)",
        "transferOwnership(address newOwner) - external onlyOwner",
        "cancelOwnershipTransfer() - external onlyOwner",
        "acceptOwnership() - external",
        "setPolicyBootstrapOpen(bool open) - external onlyOwner",
        "deployVault(bytes calldata validatorPubkey, address beneficiary, address principalDestination, uint8 credentialType, uint256 maxEffectiveBalanceWei, uint64 claimDelay, uint128 maxClaimPerPeriodWei, uint128 executorDailyCapWei) - external onlyOwner (address vault)",
        "previewVaultAddress(bytes calldata validatorPubkey) - external (address)",
        "previewExecutionWithdrawalCredentials(bytes calldata validatorPubkey, bytes32 vaultConfigHash) - external (bytes32)",
        "vaultRuntimeCodeHash() - external (bytes32)"
      ],
      "detected_modifiers": [
        "modifier onlyOwner()"
      ],
      "detected_privileged_functions": [
        "initializeSeat(address vault, bytes32 validatorPubkeyHash, address beneficiary, address principalDestination, uint8 expectedCredentialType, uint256 principalTargetWei, uint256 effectiveBalanceTargetWei, uint256 expectedMaxEffectiveBalanceWei, uint64 claimDelay, uint128 maxClaimPerPeriodWei, uint128 executorDailyCapWei, bytes32 vaultConfigHash) - external",
        "initialize(address owner_, address controller_, address exitRequestContract_, bytes32 factoryConfigHash_, bytes32 moduleSetHash_, uint256 addressDerivationVersion_, address upgradeGovernor_, address vaultBeacon_, bytes32 expectedUpgradeGovernorCodehash_, bytes32 expectedVaultBeaconCodehash_) - external initializer",
        "transferOwnership(address newOwner) - external onlyOwner",
        "cancelOwnershipTransfer() - external onlyOwner",
        "acceptOwnership() - external",
        "setPolicyBootstrapOpen(bool open) - external onlyOwner",
        "deployVault(bytes calldata validatorPubkey, address beneficiary, address principalDestination, uint8 credentialType, uint256 maxEffectiveBalanceWei, uint64 claimDelay, uint128 maxClaimPerPeriodWei, uint128 executorDailyCapWei) - external onlyOwner (address vault)"
      ],
      "detected_public_constants": [
        "bytes32 public constant IMPLEMENTATION_VERSION = keccak256(\"CenturionVaultFactoryUpgradeableV1\")",
        "bytes32 public constant ECONOMIC_POLICY_HASH = keccak256(\"EFFECTIVE_BALANCE_COVERAGE_HYBRID\")",
        "bytes32 public constant CONTRACT_KIND = keccak256(\"CENTURION_KIND_FACTORY\")"
      ],
      "detected_state_variables": [
        "address public owner",
        "address public controller",
        "address public exitRequestContract",
        "address public treasuryRouter",
        "bytes32 public factoryConfigHash",
        "bytes32 public moduleSetHash",
        "bytes32 public immutableConfigHash",
        "uint256 public addressDerivationVersion",
        "address public upgradeGovernor",
        "address public vaultBeacon",
        "bool public policyBootstrapOpen",
        "mapping(address => bool) public isVault",
        "mapping(bytes32 => address) public vaultByValidatorPubkeyHash",
        "address public pendingOwner",
        "bytes32 public upgradeGovernorCodehash",
        "bytes32 public vaultBeaconCodehash",
        "uint256[45] private __gap"
      ],
      "file_size": 12448,
      "generator_script_version": "2026-05-20.1",
      "repo_relative_path": null,
      "sha256": "fd5e4a81974cb97476c84c24a9827028b3d5cd9e0afba95033996c824a766dc2",
      "source_git_commit_hash": "Evidence required",
      "source_root_relative_path": "CenturionVaultFactory.sol"
    },
    {
      "CONTRACT_KIND": "CENTURION_KIND_WITHDRAWAL_VAULT",
      "ECONOMIC_POLICY_HASH": "EFFECTIVE_BALANCE_COVERAGE_HYBRID",
      "IMPLEMENTATION_VERSION": "CenturionWithdrawalVaultUpgradeableV1",
      "absolute_source_path": "/Users/marcos/Desktop/centurion_phase1_upgradeable_refactor/CenturionWithdrawalVault.sol",
      "detected_contracts_interfaces_libraries": [
        "interface ICenturionReadinessSource",
        "contract CenturionWithdrawalVault"
      ],
      "detected_errors": [
        "ExitAlreadySubmitted",
        "ExitFeeUnavailable",
        "ExitRequestUnavailable",
        "InsufficientBalance",
        "InsufficientFee",
        "InvalidExitRequestContract",
        "InvalidExitRequestFallbackContract",
        "InvalidPubkeyLength",
        "Reentrancy",
        "TransferFailed",
        "Unauthorized",
        "ValidatorPubkeyMismatch",
        "ZeroAddress"
      ],
      "detected_events": [
        "ETHReceived",
        "ETHTransferred",
        "ExitRequestFallbackUpdated",
        "ExitRequested"
      ],
      "detected_external_public_functions": [
        "depositReadiness(address vault) - external (CenturionTypes.DepositReadiness memory)",
        "initialize(address factory_, address controller_, bytes32 validatorPubkeyHash_, address exitRequestContract_, bytes32 vaultConfigHash_, uint256 addressDerivationVersion_) - external initializer",
        "implementationVersion() - public (bytes32)",
        "economicPolicyHash() - public (bytes32)",
        "contractKind() - public (bytes32)",
        "executionWithdrawalCredentials() - public (bytes32)",
        "isBoundToPubkey(bytes calldata validatorPubkey) - external (bool)",
        "currentExitRequestFeeWei() - external (uint256 feeWei)",
        "depositProtectionReadiness() - external (CenturionTypes.DepositReadiness memory readiness)",
        "setExitRequestFallback(address fallbackContract) - external onlyController",
        "transferETH(address payable to, uint256 amountWei) - external onlyController nonReentrant",
        "requestExit(bytes calldata validatorPubkey, uint256 feeWei) - external onlyController nonReentrant"
      ],
      "detected_modifiers": [
        "modifier onlyController()",
        "modifier nonReentrant()"
      ],
      "detected_privileged_functions": [
        "initialize(address factory_, address controller_, bytes32 validatorPubkeyHash_, address exitRequestContract_, bytes32 vaultConfigHash_, uint256 addressDerivationVersion_) - external initializer",
        "setExitRequestFallback(address fallbackContract) - external onlyController",
        "transferETH(address payable to, uint256 amountWei) - external onlyController nonReentrant",
        "requestExit(bytes calldata validatorPubkey, uint256 feeWei) - external onlyController nonReentrant"
      ],
      "detected_public_constants": [
        "bytes32 public constant IMPLEMENTATION_VERSION = keccak256(\"CenturionWithdrawalVaultUpgradeableV1\")",
        "bytes32 public constant ECONOMIC_POLICY_HASH = keccak256(\"EFFECTIVE_BALANCE_COVERAGE_HYBRID\")",
        "bytes32 public constant CONTRACT_KIND = keccak256(\"CENTURION_KIND_WITHDRAWAL_VAULT\")"
      ],
      "detected_state_variables": [
        "address public factory",
        "address public controller",
        "bytes32 public validatorPubkeyHash",
        "address public exitRequestContract",
        "address public exitRequestFallbackContract",
        "bytes32 public vaultConfigHash",
        "uint256 public addressDerivationVersion",
        "bool public exitSubmitted",
        "bool private entered",
        "uint256[48] private __gap"
      ],
      "file_size": 7556,
      "generator_script_version": "2026-05-20.1",
      "repo_relative_path": null,
      "sha256": "4c2be6534862ec1c2eaeb0b12d225a3f615b5bf89e21c596237cf0cd41d92417",
      "source_git_commit_hash": "Evidence required",
      "source_root_relative_path": "CenturionWithdrawalVault.sol"
    },
    {
      "CONTRACT_KIND": "CENTURION_KIND_DEPOSIT",
      "ECONOMIC_POLICY_HASH": "EFFECTIVE_BALANCE_COVERAGE_HYBRID",
      "IMPLEMENTATION_VERSION": "DepositContractCTNUpgradeableV2",
      "absolute_source_path": "/Users/marcos/Desktop/centurion_phase1_upgradeable_refactor/DepositContractCTN.sol",
      "detected_contracts_interfaces_libraries": [
        "interface ICenturionUpgradePolicyRegistry",
        "interface ICenturionBeaconProxyView",
        "interface ICenturionUpgradeableBeaconAuthority",
        "interface ITreasuryRouterBootstrap",
        "interface IBaselineVaultFactoryRegistry",
        "interface IBaselineVaultMetadata",
        "interface IBaselineControllerMetadata",
        "contract DepositContractCTN"
      ],
      "detected_errors": [
        "ArrayLengthMismatch",
        "BaselineAddressDerivationVersionMismatch",
        "BaselineClaimGatekeeperMismatch",
        "BaselineComponentHasNoCode",
        "BaselineControllerUnavailable",
        "BaselineFactoryConfigHashMismatch",
        "BaselineImmutableConfigHashMismatch",
        "BaselineMetadataMismatch",
        "BaselineModuleSetHashMismatch",
        "BaselineUpgradeGovernorMismatch",
        "BaselineUpgradeGovernorUnavailable",
        "BaselineVaultBeaconAuthorityMismatch",
        "BaselineVaultBeaconMismatch",
        "BaselineVaultBeaconUnavailable",
        "BaselineVaultControllerMismatch",
        "BaselineVaultFactoryHasNoCode",
        "BaselineVaultFactoryNotConfigured",
        "BaselineVaultRuntimeCodehashMismatch",
        "DepositDataRootMismatch",
        "DepositIntentAlreadyConsumed",
        "DepositIntentNotAllowlisted",
        "DepositValueNotMultipleOfGwei",
        "DepositValueTooHigh",
        "DepositValueTooLow",
        "ExitRequestContractUnavailable",
        "InvalidAllowedDepositAmount",
        "InvalidAuthorizedDepositor",
        "InvalidPubkeyLength",
        "InvalidSignatureLength",
        "InvalidWithdrawalCredentialsLength",
        "MerkleTreeFull",
        "NoPendingAllowlistAdmin",
        "NonCanonicalWithdrawalCredentials",
        "PendingAllowlistAdminOnly",
        "Phase1DepositMustBeExactly32CTN",
        "Phase1ValidatorAlreadyActivated",
        "Unauthorized",
        "VaultNotFactoryRegistered",
        "VaultPubkeyBindingMismatch",
        "VaultReadinessExitFallbackActive",
        "VaultReadinessInsufficientReserveCoverage",
        "VaultReadinessMalformed",
        "VaultReadinessReserveFloorTooLow",
        "VaultReadinessReserveProofStale",
        "VaultReadinessRouterBootstrapOpen",
        "VaultReadinessRouterBootstrapStatusUnavailable",
        "VaultReadinessUnproven",
        "VaultReadinessUnsafeState",
        "VaultReadinessWrongCredentialType",
        "VaultReadinessWrongExitRequestCodehash",
        "VaultReadinessWrongExitRequestContract",
        "VaultReadinessWrongPolicy",
        "VaultReadinessWrongPrincipalConfig",
        "VaultReadinessWrongSchema",
        "VaultReadinessWrongWithdrawalCredentials",
        "WithdrawalCredentialsMustBeExecutionAddress",
        "ZeroAddress"
      ],
      "detected_events": [
        "AllowlistAdminTransferCancelled",
        "AllowlistAdminTransferStarted",
        "AllowlistAdminTransferred",
        "BaselineConfigured",
        "BaselineMetadataConfigured",
        "DepositEvent",
        "DepositIntentAllowed",
        "DepositIntentAllowedFor",
        "DepositIntentConsumed",
        "DepositIntentConsumedFor",
        "DepositIntentRemoved",
        "DepositIntentRemovedFor"
      ],
      "detected_external_public_functions": [
        "assertTransparentProxyPolicy(address proxy, bytes32 contractKind, bytes32 expectedPolicyHash) - external (address implementation, bytes32 version, bytes32 codeHash)",
        "assertBeaconPolicy(address beacon, bytes32 contractKind, bytes32 expectedPolicyHash) - external (address implementation, bytes32 version, bytes32 codeHash)",
        "beacon() - external (address)",
        "upgradeAuthority() - external (address)",
        "policyBootstrapOpen() - external (bool)",
        "isVault(address vault) - external (bool)",
        "vaultByValidatorPubkeyHash(bytes32 pubkeyHash) - external (address)",
        "treasuryRouter() - external (address)",
        "exitRequestContract() - external (address)",
        "controller() - external (address)",
        "factoryConfigHash() - external (bytes32)",
        "moduleSetHash() - external (bytes32)",
        "immutableConfigHash() - external (bytes32)",
        "addressDerivationVersion() - external (uint256)",
        "vaultRuntimeCodeHash() - external (bytes32)",
        "upgradeGovernor() - external (address)",
        "vaultBeacon() - external (address)",
        "previewExecutionWithdrawalCredentials(bytes calldata validatorPubkey, bytes32 vaultConfigHash) - external (bytes32)",
        "validatorPubkeyHash() - external (bytes32)",
        "executionWithdrawalCredentials() - external (bytes32)",
        "vaultConfigHash() - external (bytes32)",
        "addressDerivationVersion() - external (uint256)",
        "exitRequestContract() - external (address)",
        "controller() - external (address)",
        "factoryConfigHash() - external (bytes32)",
        "moduleSetHash() - external (bytes32)",
        "addressDerivationVersion() - external (uint256)",
        "exitRequestContract() - external (address)",
        "exitRequestFallbackContract() - external (address)",
        "claimGatekeeper() - external (address)",
        "depositReadiness(address vault) - external ( bool ok, bytes32 policyVersion, uint16 readinessSchemaVersion, uint16 oracleSchemaVersion, uint16 receiptSchemaVersion, uint8 credentialType, uint256 principalTarget, uint256 effectiveBalanceTarget, uint256 maxEffectiveBalance, uint8 phase, uint8 currentRiskState, uint8 currentClaimState, bool triggerArmed, bool reservePolicyInitialized, bool reserveCoverageUsable, uint256 reserveCoverageLimitWei, uint256 minimumReserveCoverageWei, uint256 reserveCoverageProvenAt, bool beneficiaryInitialized, address exitRequestContract, bytes32 exitRequestContractCodehash, bytes32 pubkeyHash, bytes32 expectedWithdrawalCredentials )",
        "initialize(address baselineVaultFactory_, address upgradeGovernor_, address vaultBeacon_, address controller_, address claimGatekeeper_, address exitRequestContract_, address allowlistAdmin_) - external initializer",
        "implementationVersion() - public (bytes32)",
        "economicPolicyHash() - public (bytes32)",
        "contractKind() - public (bytes32)",
        "deposit(bytes calldata pubkey, bytes calldata withdrawal_credentials, bytes calldata signature, bytes32 deposit_data_root) - external",
        "get_deposit_root() - external (bytes32)",
        "get_deposit_count() - external (bytes memory)",
        "supportsInterface(bytes4 interfaceId) - external (bool)",
        "addAllowedDeposit(bytes calldata pubkey, bytes calldata withdrawal_credentials) - external onlyAllowlistAdmin",
        "addAllowedDeposits(bytes[] calldata pubkeys, bytes[] calldata withdrawalCredentialsList) - external onlyAllowlistAdmin",
        "addAllowedDepositFor(bytes calldata pubkey, bytes calldata withdrawal_credentials, uint64 amountGwei, address authorizedDepositor) - external onlyAllowlistAdmin",
        "addAllowedDepositsFor(bytes[] calldata pubkeys, bytes[] calldata withdrawalCredentialsList, uint64[] calldata amountGweiList, address[] calldata authorizedDepositorList) - external onlyAllowlistAdmin",
        "removeAllowedDeposit(bytes calldata pubkey, bytes calldata withdrawal_credentials) - external onlyAllowlistAdmin",
        "removeAllowedDepositFor(bytes calldata pubkey, bytes calldata withdrawal_credentials, uint64 amountGwei, address authorizedDepositor) - external onlyAllowlistAdmin",
        "isAllowedDepositIntent(bytes calldata pubkey, bytes calldata withdrawal_credentials) - external (bool)",
        "isAllowedDepositIntentFor(bytes calldata pubkey, bytes calldata withdrawal_credentials, uint64 amountGwei, address authorizedDepositor) - external (bool)",
        "transferAllowlistAdmin(address newAdmin) - external onlyAllowlistAdmin",
        "acceptAllowlistAdmin() - external",
        "cancelAllowlistAdminTransfer() - external onlyAllowlistAdmin"
      ],
      "detected_modifiers": [
        "modifier onlyAllowlistAdmin()"
      ],
      "detected_privileged_functions": [
        "initialize(address baselineVaultFactory_, address upgradeGovernor_, address vaultBeacon_, address controller_, address claimGatekeeper_, address exitRequestContract_, address allowlistAdmin_) - external initializer",
        "addAllowedDeposit(bytes calldata pubkey, bytes calldata withdrawal_credentials) - external onlyAllowlistAdmin",
        "addAllowedDeposits(bytes[] calldata pubkeys, bytes[] calldata withdrawalCredentialsList) - external onlyAllowlistAdmin",
        "addAllowedDepositFor(bytes calldata pubkey, bytes calldata withdrawal_credentials, uint64 amountGwei, address authorizedDepositor) - external onlyAllowlistAdmin",
        "addAllowedDepositsFor(bytes[] calldata pubkeys, bytes[] calldata withdrawalCredentialsList, uint64[] calldata amountGweiList, address[] calldata authorizedDepositorList) - external onlyAllowlistAdmin",
        "removeAllowedDeposit(bytes calldata pubkey, bytes calldata withdrawal_credentials) - external onlyAllowlistAdmin",
        "removeAllowedDepositFor(bytes calldata pubkey, bytes calldata withdrawal_credentials, uint64 amountGwei, address authorizedDepositor) - external onlyAllowlistAdmin",
        "transferAllowlistAdmin(address newAdmin) - external onlyAllowlistAdmin",
        "acceptAllowlistAdmin() - external",
        "cancelAllowlistAdminTransfer() - external onlyAllowlistAdmin"
      ],
      "detected_public_constants": [
        "uint256 public constant DEPOSIT_CONTRACT_TREE_DEPTH = 32",
        "uint256 internal constant MAX_DEPOSIT_COUNT = 2 ** DEPOSIT_CONTRACT_TREE_DEPTH - 1",
        "uint256 internal constant PHASE1_DEPOSIT_AMOUNT_GWEI = 32_000_000_000",
        "uint256 internal constant PHASE1_PRINCIPAL_TARGET_WEI = 32 ether",
        "uint64 public constant DEFAULT_ALLOWED_AMOUNT_GWEI = 32_000_000_000",
        "uint64 public constant MIN_DEPOSIT_AMOUNT_GWEI = 1_000_000_000",
        "bytes32 internal constant DEPOSIT_POLICY_VERSION = keccak256(\"EFFECTIVE_BALANCE_COVERAGE_HYBRID\")",
        "uint16 internal constant READINESS_SCHEMA_VERSION = 3",
        "uint16 internal constant ORACLE_SCHEMA_VERSION = 2",
        "uint16 internal constant RECEIPT_SCHEMA_VERSION = 2",
        "uint256 internal constant MAX_RESERVE_PROOF_AGE = 7 days",
        "uint8 internal constant CREDENTIAL_TYPE_EXECUTION_0X01 = 1",
        "uint8 internal constant SETTLEMENT_PHASE_RUNNING = 0",
        "uint8 internal constant RISK_STATE_UNKNOWN = 0",
        "uint8 internal constant RISK_STATE_CONSENSUS_HEALTHY = 1",
        "uint8 internal constant RISK_STATE_CONSENSUS_HEALTHY_WITH_DUST = 2",
        "bytes32 public constant IMPLEMENTATION_VERSION = keccak256(\"DepositContractCTNUpgradeableV2\")",
        "bytes32 public constant ECONOMIC_POLICY_HASH = keccak256(\"EFFECTIVE_BALANCE_COVERAGE_HYBRID\")",
        "bytes32 public constant CONTRACT_KIND = keccak256(\"CENTURION_KIND_DEPOSIT\")",
        "bytes32 internal constant UPGRADE_KIND_DEPOSIT = keccak256(\"CENTURION_KIND_DEPOSIT\")",
        "bytes32 internal constant UPGRADE_KIND_CONTROLLER = keccak256(\"CENTURION_KIND_CONTROLLER\")",
        "bytes32 internal constant UPGRADE_KIND_FACTORY = keccak256(\"CENTURION_KIND_FACTORY\")",
        "bytes32 internal constant UPGRADE_KIND_CLAIM_GATEKEEPER = keccak256(\"CENTURION_KIND_CLAIM_GATEKEEPER\")",
        "bytes32 internal constant UPGRADE_KIND_WITHDRAWAL_VAULT = keccak256(\"CENTURION_KIND_WITHDRAWAL_VAULT\")"
      ],
      "detected_state_variables": [
        "uint256 public depositCount",
        "bytes32[DEPOSIT_CONTRACT_TREE_DEPTH] public branch",
        "bytes32[DEPOSIT_CONTRACT_TREE_DEPTH] public zeroHashes",
        "address public allowlistAdmin",
        "address public pendingAllowlistAdmin",
        "uint64 public allowlistEpoch",
        "mapping(bytes32 => bool) public allowedDeposits",
        "mapping(bytes32 => bool) public consumedIntents",
        "address public baselineVaultFactory",
        "bytes32 public baselineFactoryConfigHash",
        "bytes32 public baselineModuleSetHash",
        "bytes32 public baselineImmutableConfigHash",
        "uint256 public baselineAddressDerivationVersion",
        "bytes32 public baselineVaultRuntimeCodehash",
        "address public baselineController",
        "address public baselineClaimGatekeeper",
        "address public baselineExitRequestContract",
        "bytes32 public baselineExitRequestCodehash",
        "address public baselineUpgradeGovernor",
        "address public baselineVaultBeacon",
        "mapping(bytes32 => bool) public phase1ValidatorActivated",
        "uint256[64] private __gap"
      ],
      "file_size": 45144,
      "generator_script_version": "2026-05-20.1",
      "repo_relative_path": null,
      "sha256": "e4922c68e9ff012e1af661948b2feaa8bf23c0bd74bd844cb395b11424f48da1",
      "source_git_commit_hash": "Evidence required",
      "source_root_relative_path": "DepositContractCTN.sol"
    },
    {
      "CONTRACT_KIND": "Evidence required",
      "ECONOMIC_POLICY_HASH": "Evidence required",
      "IMPLEMENTATION_VERSION": "Evidence required",
      "absolute_source_path": "/Users/marcos/Desktop/centurion_phase1_upgradeable_refactor/interfaces/ICenturionWithdrawalVault.sol",
      "detected_contracts_interfaces_libraries": [
        "interface ICenturionWithdrawalVault"
      ],
      "detected_errors": [],
      "detected_events": [],
      "detected_external_public_functions": [
        "factory() - external (address)",
        "controller() - external (address)",
        "validatorPubkeyHash() - external (bytes32)",
        "executionWithdrawalCredentials() - external (bytes32)",
        "vaultConfigHash() - external (bytes32)",
        "addressDerivationVersion() - external (uint256)",
        "exitRequestContract() - external (address)",
        "exitRequestFallbackContract() - external (address)",
        "currentExitRequestFeeWei() - external (uint256)",
        "isBoundToPubkey(bytes calldata validatorPubkey) - external (bool)",
        "setExitRequestFallback(address fallbackContract) - external",
        "transferETH(address payable to, uint256 amountWei) - external",
        "requestExit(bytes calldata validatorPubkey, uint256 feeWei) - external"
      ],
      "detected_modifiers": [],
      "detected_privileged_functions": [
        "setExitRequestFallback(address fallbackContract) - external",
        "transferETH(address payable to, uint256 amountWei) - external",
        "requestExit(bytes calldata validatorPubkey, uint256 feeWei) - external"
      ],
      "detected_public_constants": [],
      "detected_state_variables": [],
      "file_size": 1042,
      "generator_script_version": "2026-05-20.1",
      "repo_relative_path": null,
      "sha256": "05a621ccafb5f815eaa9e4ee0a58f10d78adf333176cd1609e367bbdb8a1ddee",
      "source_git_commit_hash": "Evidence required",
      "source_root_relative_path": "interfaces/ICenturionWithdrawalVault.sol"
    }
  ],
  "generator": {
    "lock_semantics": "Deterministic lock. SHA-256 content hashes, extracted declarations, functions, events, errors, metadata, and file sizes are compared; file mtimes and generation timestamps are intentionally excluded.",
    "script": "tools/extract_solidity_inventory.py",
    "source_git_commit_hash": "Evidence required",
    "source_git_root": "Evidence required",
    "source_root": "/Users/marcos/Desktop/centurion_phase1_upgradeable_refactor",
    "version": "2026-05-20.1"
  }
}
