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

    MetaGovernor

    複数の投票系統を組み合わせて議決を確定する。

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

    役割と使いどころ

    経済的な持分と参加者の評価など、二つの投票系統を分けて扱う構成に利用できます。

    接続・設定のポイント各Governorへの接続と権限を設定し、それぞれの投票結果をfinalizeで集約します。集計条件は提案ルールと対応づけます。

    主要なSDK操作

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

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

    propose

    typescript
    async propose(
        p: ProposalTypeKey | number,
        targets: readonly Address[],
        values: readonly (bigint | number)[],
        calldatas: readonly ethers.BytesLike[],
        desc: string,
        startTs: bigint | number,
        endTs: bigint | number
      ): Promise<bigint>

    getEconVotes

    typescript
    async getEconVotes(account: Address, timepoint: bigint | number): Promise<bigint>

    getSocVotes

    typescript
    async getSocVotes(account: Address, timepoint: bigint | number): Promise<bigint>

    finalize

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

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

    実装につなげる

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

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

    実装パターンを読む

    仕様とソースコード

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

    governor-meta/contracts/MetaGovernor.sol

    ソースリビジョン: b53a5b5