> ## Documentation Index
> Fetch the complete documentation index at: https://base-a060aa97-docs-sync-code-change-be6d045.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# IPolicyRegistry.finalizeUpdateAdmin

> Completes a two-step admin transfer on a PolicyRegistry policy.

## Signature

```solidity IPolicyRegistry.sol theme={null}
function finalizeUpdateAdmin(uint64 policyId) external;
```

| Field               | Value                         |
| ------------------- | ----------------------------- |
| Selector            | `0x33031a9c`                  |
| Canonical signature | `finalizeUpdateAdmin(uint64)` |

## Description

Completes a two-step admin transfer. The caller must be the staged pending admin. On success, the caller becomes the active admin and the pending slot is cleared.

This function is gated by the `ActivationRegistry`; it reverts with `FeatureNotActivated` while the feature is inactive.

## Parameters

| Name       | Type     | Description                                                       |
| ---------- | -------- | ----------------------------------------------------------------- |
| `policyId` | `uint64` | ID of the policy whose pending admin transfer is being finalized. |

## Access Control

Callable only by the staged pending admin for the target policy.

## Revert Conditions

| Error                 | Condition                                     |
| --------------------- | --------------------------------------------- |
| `FeatureNotActivated` | The PolicyRegistry feature is not yet active. |
| `PolicyNotFound`      | `policyId` does not exist.                    |
| `NoPendingAdmin`      | No transfer is in flight for this policy.     |
| `Unauthorized`        | Caller is not the staged pending admin.       |

## Example

```solidity Usage Example theme={null}
IPolicyRegistry(target).finalizeUpdateAdmin(policyId);
```
