Skip to content
    hazBasehazBaseDocs
    SMART CONTRACTS
    Contract catalog

    MetaGovernor

    Finalize governance decisions across multiple voting chambers.

    GovernanceMetaGovernor.sol@hazbase/kit@0.9.0

    Role and use

    Use when economic stake and another participant voting system need separate chambers.

    Integration considerationsConfigure chamber connections and permissions, then aggregate results with finalize. Align aggregation with proposal rules.

    Key SDK operations

    These operations are exposed by MetaGovernorHelper in @hazbase/kit@0.9.0. The signatures below are type definitions; see the SDK reference for parameter structures and the complete interface.

    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>
    View parameters, return types and all methods

    Related contracts

    Put it into practice

    Community & governance

    See the data model, processing sequence and SDK code for an application-level implementation.

    Read the implementation pattern

    Specification and source

    The Solidity source is pinned to the revision below. Match it with the SDK version and your network’s implementation address and ABI.

    governor-meta/contracts/MetaGovernor.sol

    Source revision: b53a5b5