技术参考

Steakhouse Financial 的 Box Vaults 智能合约技术参考,涵盖角色、时间锁治理、分配控制、生命周期状态和资金模块。

这是 Box 的智能合约技术参考文档,Box 是由 Steakhouse Financial 构建的 ERC-4626 子金库。本文档记录了合约的角色与权限(Owner、Curator、Guardian、Allocator、Feeder)、时间锁治理、分配与交换安全控制、生命周期状态,以及面向 Aave v3 和 Morpho Blue 的资金模块集成。

Box 的作用

  • 持有单一基础资产(例如 USDC)并发行 ERC-4626 份额。

  • 在基础资产与白名单中的 ERC-20 代币之间进行配置分配。

  • 通过白名单中的资金模块进行借贷。

  • 使用代币预言机和资金模块 NAV 跟踪净资产价值。

架构

spinner

适配器是 Box 预期的 feeder。Box 份额由适配器持有,并通过以下方式报告回 Vault V2: previewRedeem (缓存于 BoxAdapterCached).

角色与权限

Owner

  • 设置 Curator。

  • 转移所有权。

  • 设置 skimRecipient.

Curator

  • 管理 allocator 和资金模块。

  • 添加/移除白名单中的代币和预言机。

  • 配置滑点限制。

  • 提交受时间锁保护的变更。

  • 可以发起关闭。

Guardian

  • 否决受时间锁保护的操作(revoke).

  • 触发关闭。

  • 在 winddown 之前可以从关闭状态恢复。

  • 仅可在最终 winddown 阶段更新预言机。

  • 通常由代表 Vault V2 份额持有人的 Aragon DAO 控制。

Allocator

  • 执行交换(allocate, deallocate, reallocate).

  • 通过资金模块质押抵押品、借款、偿还。

  • 可以使用 flash 进行原子化的多步骤操作。

Feeder

  • 唯一允许存款/铸造份额的角色。

  • 在实践中,适配器充当 feeder。

时间锁治理

关键功能需要时间锁延迟,并且在执行前必须使用 submit() 排队。治理的设计是有意让 Vault V2 份额持有人能够通过由 Aragon DAO 控制的 guardian 进行干预,使他们在必要时可以否决已排队的操作或触发关闭。

典型的受时间锁保护的操作包括:

  • 添加/移除 feeder

  • 设置 maxSlippage

  • 添加代币、预言机、资金模块或设施

  • 设置 guardian

时间锁延迟默认是 0;部署应初始化为非零延迟,以防止立即执行。

分配与交换安全

Box 施行 两层滑点控制:

  1. 单次交换滑点检查 基于预言机价格,每次交换必须满足 received ≥ expected * (1 - maxSlippage).

  2. 周期滑点预算 已实现滑点相对于 NAV 按以下周期跟踪: slippageEpochDuration。如果累计滑点超过 maxSlippage,则在周期重置之前会阻止进一步交换。

winddown期间,忽略每周期上限,而单次交换容忍度会线性上升至 1%。

spinner

生命周期状态

spinner

资金模块

Box 通过以下方式集成借贷协议: IFunding 模块。每个模块都由 Box 拥有,并支持:

  • 设施(协议特定配置)

  • 白名单中的抵押代币

  • 白名单中的债务代币

Box 只会添加 空的 资金模块(无设施、无代币、无债务)。

FundingAave(Aave v3)

  • facilityData 必须为空("").

  • 使用 Aave Pool 以及可选的 eMode.

  • pledge 提供抵押品并启用抵押品使用。

  • borrow 将债务代币返回给 Box。

  • NAV 是 抵押品价值 - 债务价值,最低为零。

FundingMorpho(Morpho Blue)

  • facilityData 编码 Morpho 市场参数。

  • 每个模块支持多个设施。

  • 通过以下方式强制执行 LTV 上限: lltvCap 相对于每个市场的 LLTV。

  • pledge / borrow 按每个设施进行验证。

  • NAV 按每个设施计算并汇总,最低为零。

闪电操作

allocator(或在 winddown 期间的任何人)可以调用 flash() 以便在复杂序列中临时获取流动性。flash 期间会缓存 NAV 以防止操纵,并且 flash 代币必须在同一笔交易中归还。

审计与来源

最后更新于