TimelockController https://docs.hazbase.com/smart-contracts/contracts/timelock-controller/ SMART CONTRACTS ← コントラクト一覧 TimelockController 承認済みの操作に待機期間を設けて実行する。 全体像 コントラクト一覧 用途から選ぶ 権限・運用設計 議決・ガバナンス TimelockController .sol @hazbase/kit @ 0.9.0 役割と使いどころ 管理操作や議決結果の即時実行を避け、内容を確認できる期間を設ける構成に利用できます。 接続・設定のポイント 提案者・実行者・取消権限と最小待機時間を設定します。scheduleとexecuteを別のトランザクションとして扱います。 主要なSDK操作 @hazbase/kit@0.9.0のTimelockControllerHelperから利用する操作です。以下はメソッドの型定義です。引数の構造と全操作はSDKリファレンスで確認できます。 typescript import { TimelockControllerHelper } from '@hazbase/kit' ; schedule typescript 1 2 3 4 5 6 7 8 async schedule ( target : Address , value : BigNumberish , data : BytesLike , predecessor : BytesLike = ZERO_BYTES32 , salt : BytesLike , delay : BigNumberish ) : Promise < TransactionReceipt > execute typescript 1 2 3 4 5 6 7 async execute ( target : Address , value : BigNumberish , data : BytesLike , predecessor : BytesLike = ZERO_BYTES32 , salt : BytesLike ) : Promise < TransactionReceipt > cancel typescript async cancel ( id : BytesLike ) : Promise < TransactionReceipt > operationState typescript async operationState ( id : BytesLike ) : Promise < OperationState > 引数・戻り値・全メソッドを見る 組み合わせるコントラクト GenericGovernor 提案・投票・実行を一つの議決フローで扱う。 MetaGovernor 複数の投票系統を組み合わせて議決を確定する。 実装につなげる コミュニティ・ガバナンス データの持ち方、処理の順序、SDKコードを通じて、アプリケーションへの組み込み方を確認できます。 実装パターンを読む 仕様とソースコード 掲載するSolidityソースは下記のリビジョンを参照しています。SDKの対応バージョンと、接続先ネットワークの実装アドレス・ABIを合わせて参照できます。 timelock-controller/contracts/TimelockController.sol ソースリビジョン : b53a5b5 ← コントラクト一覧に戻る 権限・運用設計