密钥如何持有
一个角色的托管模式是一项经过权衡的风险决策,因此矩阵逐个角色注明。
约束 EOA 角色的是合约本身,而非托管安排。每个 EOA 角色的权限在设计上就很有限:要么执行用户已签名的指令,要么写入某个名单,并且每次调用都要接受协议自身限额的检查。下面的矩阵准确列出了每个角色的权限范围。
角色矩阵
铸造方只能提交用户已签名的订单,除此之外什么也做不了。准入控制方无需多签门限,只用一笔交易即可撤销该角色。
24 小时时间锁管控哪些操作
时间锁合约为0xA952453E39F77108Ee37C1b92de593F1C59A6ef4,最短延迟为 86,400 秒。它在核心合约上持有时间锁管理员角色,这意味着以下四类操作无法悄然发生:
- 合约升级。trUSD、strUSD 或 Minting 的新实现须先公开排队。
- 新增抵押资产。新增需经时间锁;移除或停用则立即生效,因为能够快速执行的方向,应当是安全的方向。
- 新增托管目的地。
addCustodianAddress受时间锁约束。这项操作决定了存入的抵押品可以流向何处,因此最值得关注。 - 提高稳定币 Delta 限额。
速率限制
铸造和赎回在合约层面按区块、按资产以及在全局范围内受到限制。每次调用都会检查该限额,无论铸造方和赎回方角色收到的是什么订单,限额都同样适用。修改限额属于所有者函数,因此需要 3/5 Safe 多签批准;运营密钥无法自行放宽限额。自行核查
本表中的每一项角色分配都可以从链上读取,无需凭信任接受:- 谁持有某个角色:在合约上调用
hasRole(role, address) - Safe 门限:在 Safe 上调用
getThreshold()和getOwners() - 时间锁延迟:在时间锁上调用
getMinDelay() - 当前排队中的操作:在 Etherscan 上查看时间锁的事件
机器翻译说明:本页面由英文原文经机器翻译而成,仅为方便阅读而提供,可能存在错误或遗漏,不具有法律效力。如本页面与英文版本有任何不一致,以英文版本为准。在依赖本页面的任何内容之前,请先阅读英文原文。