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