本文へ移動
    hazBasehazBaseDocs
    SMART CONTRACTS
    コントラクト一覧

    GenericGovernor

    提案・投票・実行を一つの議決フローで扱う。

    議決・ガバナンスGenericGovernor.sol@hazbase/kit@0.9.0

    役割と使いどころ

    参加者の投票によって設定変更や資金操作を承認する構成に利用できます。Strategyが票の重みを、TimelockControllerが実行までの待機を担います。

    接続・設定のポイント投票トークン、投票期間、定足数、実行権限を対応づけます。投票可決とトランザクション実行は別の状態です。

    主要なSDK操作

    @hazbase/kit@0.9.0のGenericGovernorHelperから利用する操作です。以下はメソッドの型定義です。引数の構造と全操作はSDKリファレンスで確認できます。

    typescript
    import { GenericGovernorHelper } from '@hazbase/kit';

    propose

    typescript
    async propose(p: ProposalArgs): Promise<bigint>

    castVote

    typescript
    async castVote(
        proposalId: bigint | number,
        support: 0 | 1 | 2
      ): Promise<TransactionReceipt>

    queue

    typescript
    async queue(proposalId: bigint | number): Promise<bigint | null>

    execute

    typescript
    async execute(proposalId: bigint | number): Promise<TransactionReceipt>
    引数・戻り値・全メソッドを見る

    組み合わせるコントラクト

    実装につなげる

    コミュニティ・ガバナンス

    データの持ち方、処理の順序、SDKコードを通じて、アプリケーションへの組み込み方を確認できます。

    実装パターンを読む

    仕様とソースコード

    掲載するSolidityソースは下記のリビジョンを参照しています。SDKの対応バージョンと、接続先ネットワークの実装アドレス・ABIを合わせて参照できます。

    generic-governor/contracts/GenericGovernor.sol

    ソースリビジョン: b53a5b5