本文へ移動
    hazBasehazBaseDocs
    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
    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