> **Can't find what you're looking for?** Use `search_docs` on the docs MCP server at `https://www.steakhouse.financial/docs/api/mcp` to find what you need.

# Supervisor v2

Supervisor v2 是用于管理由 Steakhouse 策划的 Morpho Vault V2 部署的治理合约。它持有 Owner 和 Sentinel 角色，使 Sentinel 角色永久化，并将 Owner 发起的重大变更纳入可由 Guardian 否决的固定时间锁流程。

### 概览

* 在每个受监督的金库上持有 Owner 和 Sentinel 角色。
* 无法将自身作为 Sentinel 移除，因此一旦设置，该角色就是永久的。
* 将 Owner 发起的重大操作纳入固定时间锁流程，Guardian 可以否决。
* 将 Curator 发起的重大更改的撤销请求转发到金库自身的时间锁。
* 立即执行非重大金库操作（例如 Curator、name、symbol、额外的 Sentinels）。

### 架构

```mermaid
%%{init: {"theme":"base","themeVariables":{"background":"#fffdf1","primaryColor":"#ece7e1","primaryTextColor":"#1a1e20","primaryBorderColor":"#dedcd2","secondaryColor":"#ece7e1","tertiaryColor":"#fffdf1","lineColor":"#515a5e","textColor":"#1a1e20","mainBkg":"#ece7e1","nodeBorder":"#dedcd2","clusterBkg":"#fffdf1","titleColor":"#1a1e20","edgeLabelBackground":"#fffdf1","arrowheadColor":"#086552","fontFamily":"Söhne, ui-sans-serif, system-ui, sans-serif"}}}%%
flowchart LR
    Multisig[Supervisor Owner<br/>多签]
    SV[Supervisor V2]
    Vault[受监督金库]
    Guardian[Guardian<br/>Aragon DAO]
    Depositors[存款人]

    Multisig -->|控制| SV
    SV -->|Owner + Sentinel| Vault
    Depositors -->|投票权重| Guardian
    Guardian -.->|revoke（撤销）| SV
```

单个 Supervisor Owner（Steakhouse）通过高安全性的多签控制 Supervisor v2 合约。Supervisor v2 则在其监督的每个 Morpho Vault V2 上持有 Owner 和 Sentinel 角色。每个受监督的金库都维护着自己的 Guardian 列表，可在链上读取。Supervisor v2 跟踪其当前拥有的金库，并通过 `getVaults`、`getOwnedVaults` 和 `getNonOwnedVaults` 公开该列表。

### 角色

核心角色是 Owner 和 Guardian。Pending Supervisor Owner 对于 Supervisor 层面的任何所有权变更都很重要，而 Allowed Vault Owner 在操作上可能更为便利（例如由集成合作伙伴添加额外的 Guardian）。  <br />

* Supervisor Owner：控制 Supervisor v2 本身。提交并执行带时间锁的重大更改，管理不需要延迟的金库设置，并注册或发起移除 Guardian。所有权转移分两步完成。
* Guardian：可以撤销其所分配金库的任何待处理操作（由 Curator 或 Owner 发起），包括待处理的 Owner 变更或待处理的 Guardian 移除。
* Pending Supervisor Owner：当 Supervisor v2 的所有权需要转移时，提议的所有者必须调用 `acceptSupervisorOwnership` 以完成转移。
* Allowed Vault Owner：被 Supervisor Owner 加入白名单的 Vault Owner，可在不经过 Supervisor Owner 的情况下为自己的金库注册额外的 Guardian。

在公开金库中，默认 Guardian 被配置为 Aragon DAO，从而赋予金库存款人治理权利，单个存款人的投票权重与其存款份额成比例。

### 时间锁和否决

Supervisor v2 使用单一的时间锁时长，该时长在部署时固定，且无法缩短。

Supervisor Owner 调用 submit(bytes data)，传入目标操作的完整 calldata。合约会将该 calldata 与执行时间戳一起存储。在时间锁窗口期间，目标金库的 Guardian 或 Supervisor Owner 本身都可以随时调用 revoke(bytes data)。时间锁到期后，原始函数调用会继续执行；合约会在内部验证时间锁，随后即可执行该更改。

有两项操作会经过此流程：

* `setOwner`：将受监督金库的所有权转移到新地址。
* `removeGuardian`：从金库中移除一个 Guardian。

同样的 revoke 机制也会转发到金库自身的时间锁队列（由 Curator 发起的重大更改）。Guardian 可以调用 revoke(address vault, bytes data) 来阻止金库级别待处理的 Curator 操作（例如绝对/相对上限的提高）。

### 立即执行的金库操作

非重大操作无需时间锁，会无延迟地通过 Supervisor v2 执行。

* `setCurator`：任命或更改 Curator。
* `setName`、`setSymbol`：设置金库的 ERC-20 元数据。
* `addSentinel`：添加 Sentinel 地址。
* `setSkimRecipient`：设置适配器上的 skim 接收者。
* `setSupervisorAsSentinel`：将 Supervisor v2 注册为金库上的 Sentinel（无需许可）。

注意：`removeSentinel` 调用会回退，这也是 Sentinel 角色永久存在的原因

### 部署

| Ethereum     | `0x4D7bd498Bb24098Ca281C05519629c605407f71d` |
| ------------ | -------------------------------------------- |
| Base         | `0x639bfA26472906Ccd40513408284a8aD292bC5D6` |
| Arbitrum One | `0xca9f621aAFD28d0F2decFb69Db0d9e6393A9f5ee` |

区块浏览器链接反映当前公开的区块浏览器；如有需要，可替换为首选的区块浏览器。

### 审计与源码

* 审计报告（Cantina）：[Supervisor v2 审计报告](https://github.com/Steakhouse-Financial/vault-v2-supervisor/blob/main/audits/2026-02-23-cantina.pdf)
* 源码：[Supervisor v2 GitHub 仓库](http://github.com/Steakhouse-Financial/vault-v2-supervisor)
