Skip to content
    hazBasehazBaseDocs
    SMART CONTRACTS
    Contract catalog

    GenericGovernor

    Connect proposals, votes and execution in a governance workflow.

    GovernanceGenericGovernor.sol@hazbase/kit@0.9.0

    Role and use

    Use participant voting to approve configuration changes or transactions. Strategy defines voting weight; TimelockController schedules execution.

    Integration considerationsAlign voting tokens, voting periods, quorum and execution permissions. A successful vote and transaction execution are separate states.

    Key SDK operations

    These operations are exposed by GenericGovernorHelper 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 { 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>
    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.

    generic-governor/contracts/GenericGovernor.sol

    Source revision: b53a5b5