权限与替换
CUBIT 区分标识固定的核心、仅维护用 guardian,以及管理外围模块的团队。Guardian 到期不取消团队替换权。
哪些保持固定
外围 setter 不替换代币、主 hook、PoolManager、poolId、奖励 WETH 和注册表锚点。
代币通过一次性连接授权 hook。所读源码中核心税率没有 setter。改变核心的新策略需要新版本、验证和部署,不会自动更新旧池。
维护 guardian
Guardian 权限未到期时可调用 pause()、unpause()。暂停阻止 raiseFloor() 和 rebalance(),不暂停交换。
GUARDIAN_LIFETIME 为 14 天。代码中 guardianExpiry 固定为 hook 构造时间戳 + 14 天。启动计划可能称 J+14,但集成应读取真实合约期限。
到期后,先前维护暂停不再生效。burnAbsorbed() 始终独立于此暂停可用。
历史名称 isImmutable() 在核心视图表示该到期状态,不证明整个生态已无管理权限。
团队角色
团队是 CubitV2 的 authority(),保留外围模块管理权,可替换以下四个地址:
| Setter | 主要连接检查 | 后果 |
|---|---|---|
setVault(next) |
有代码,相同 hook/token/WETH,新 Vault,无待结算 Vault 款项 | 未来存款的新参考合约 |
setRouter(next) |
有代码,相同 hook/PoolManager/poolId | 替换当前路由器 |
setLens(next) |
有代码,相同 hook/PoolManager/poolId/token | 替换当前读取合约 |
setForge(next) |
有代码,相同 hook、团队 curator | 替换未来启动的参考工厂 |
每次变更发出 ModuleUpdated 并递增 moduleRevision。操作前检查新地址与代码。
兼容性检查的局限
Getter 声明正确地址只能证明预期连接,不证明候选全部代码安全,也不证明未来实现没有代理或恶意行为。
因此团队决定未来操作所用外围代码。该能力要求对每次替换、字节码及交互重新核查。
已存入的资金
替换 Vault 不转移旧合约 CUBIT 或奖励。仓位、期限及退出仍在旧 Vault。注册表保留 Vault 列表,前端必须继续展示这些仓位。
首次绑定及已累计推荐领取额保留。旧路由器失去新增推荐归属权,但仍受 hook 税约束。
替换 Forge 只影响未来启动,已创建子项目保留合约。
这些 setter 不会追溯修复缺陷合约,也不移动其持有资金。链上可否调用退出与前端可用性需分别核查。
授权与签名
授权绑定特定 spender,不会跟随注册表当前地址。修订或模块变更时,前端必须重验操作,尤其授权与交换之间。
Links 签名承诺 EIP-712 域中的注册表和链。未经重新审阅签名数据,不得将其转向其他合约。
来源: CubitV2.sol, CubitHook.pause, isPaused, isImmutable, contracts/docs/MODULE_SETTERS.md 及前端检查 releases.ts / vault.ts.