> For the complete documentation index, see [llms.txt](https://steakhouse.financial/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://steakhouse.financial/docs/products/zh/infrastructure/supervisor-v2.md).

# Supervisor v2

Supervisor v2 是一个为 Steakhouse 筛选的 Morpho Vault V2 部署提供治理的合约。它持有 Owner 和 Sentinel 角色，使 Sentinel 位置永久化，并通过一个固定的 timelock 来路由由 Owner 发起的重大更改，Guardians 可以对其进行否决。&#x20;

### 概览

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

### 架构

```mermaid
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 -.->|撤销| SV
```

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

### 角色

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

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

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

### Timelock 和否决

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

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

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

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

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

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

非重大操作无需 timelock，会无延迟地通过 Supervisor v2 执行。&#x20;

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

注意： `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)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://steakhouse.financial/docs/products/zh/infrastructure/supervisor-v2.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
