権限と交換
CUBIT は識別情報が固定の中核、保守に限る guardian、周辺モジュール管理チームを区別します。guardian の期限はチームの交換権限を消しません。
固定されるもの
周辺 setter はトークン、主フック、PoolManager、poolId、報酬 WETH、レジストリのアンカーを交換しません。
トークンは一度限りの接続でフックを認可します。確認ソースに中核税率の setter はありません。中核を変える新ポリシーは新版・検証・デプロイが必要で、旧プールを自動更新しません。
メンテナンス guardian
guardian は期限前に pause() と unpause() を呼べます。停止は raiseFloor() と rebalance() を妨げますが、スワップは停止しません。
GUARDIAN_LIFETIME は 14 日です。コードの guardianExpiry は hook 構築 timestamp + 14 日です。計画が J+14 としても、連携は実コントラクトの期限を読む必要があります。
期限後は以前のメンテナンス停止も無効です。burnAbsorbed() はこの停止に関係なく利用できます。
従来の isImmutable() は中核ビューでこの期限を表し、エコシステム全体の管理権限不在を証明しません。
チームの役割
チームは CubitV2 の authority() です。周辺モジュール管理権を持ち、次の四アドレスを交換できます:
| Setter | 主な接続検査 | 結果 |
|---|---|---|
setVault(next) |
コードあり、同一 hook/token/WETH、新 Vault、未精算なし | 将来預入れ用の新参照コントラクト |
setRouter(next) |
コードあり、同一 hook/PoolManager/poolId | 現行ルーターを交換 |
setLens(next) |
コードあり、同一 hook/PoolManager/poolId/token | 現行読取りコントラクトを交換 |
setForge(next) |
コードあり、同一 hook、チーム curator | 将来ローンチ用参照 factory を交換 |
変更ごとに ModuleUpdated を発行し moduleRevision を増加します。操作前に新アドレスとコードを確認します。
互換性検査の限界
正しいアドレスを宣言する getter は想定接続を示すだけで、候補コード全体の安全性や将来実装の proxy・悪意ある動作の不在は証明しません。
そのためチームが将来操作用の周辺コードを選びます。各交換、bytecode、相互作用の検証が必要です。
預入れ済みの資金
Vault 交換は旧コントラクトの CUBIT や報酬を移しません。ポジション、期限、出金は旧 Vault に残ります。レジストリは一覧を保ち、画面はこれらを継続表示する必要があります。
first-bound と累積紹介請求額は維持されます。旧ルーターは新たな紹介帰属権を失いますが、フック税の対象のままです。
Forge 交換は将来のローンチに関係し、既存の子はコントラクトを維持します。
これらの setter は欠陥コントラクトを遡って修復せず、保有資金も移しません。オンチェーン出金可否と画面での提供可否は別々に確認します。
承認と署名
承認は特定 spender に紐付き、レジストリの現行アドレスには追従しません。改訂・モジュール変更時、特に承認とスワップ間で画面は操作を再検証する必要があります。
Links 署名は EIP-712 ドメインのレジストリとチェーンを対象とします。署名データの再確認なしに他コントラクトへ転用してはいけません。
出典: CubitV2.sol, CubitHook.pause, isPaused, isImmutable, contracts/docs/MODULE_SETTERS.md および画面側の検査 releases.ts / vault.ts.