SMART CONTRACTS
← コントラクト一覧MetaGovernor
複数の投票系統を組み合わせて議決を確定する。
役割と使いどころ
経済的な持分と参加者の評価など、二つの投票系統を分けて扱う構成に利用できます。
接続・設定のポイント各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