@swaptoshi/governance-module
Version:
Klayr governance on-chain module
44 lines (43 loc) • 1.81 kB
TypeScript
import { CreateProposalParams, ImmutableGovernanceContext, MutableGovernanceContext, ProposalStatus, ProposalStoreData, QuorumMode, StoreInstance } from '../types';
import { BaseStoreWithInstance } from './base';
import { Proposal } from './instances';
export declare class ProposalStore extends BaseStoreWithInstance<ProposalStoreData> {
verifyCreateProposal(ctx: ImmutableGovernanceContext, params: CreateProposalParams): Promise<void>;
createProposal(ctx: MutableGovernanceContext, params: CreateProposalParams, verify?: boolean): Promise<void>;
getMutableProposal(ctx: MutableGovernanceContext, proposalId: number): Promise<StoreInstance<Proposal>>;
getImmutableProposal(ctx: ImmutableGovernanceContext, proposalId: number): Promise<StoreInstance<Proposal>>;
getKey(proposalId: number): Buffer<ArrayBuffer>;
schema: import("@swaptoshi/utils/dist/types").TypedSchema<ProposalStoreData>;
protected readonly default: {
title: string;
summary: string;
deposited: bigint;
author: Buffer<ArrayBuffer>;
turnout: {
for: bigint;
against: bigint;
abstain: bigint;
};
parameters: {
createdHeight: number;
startHeight: number;
quorumHeight: number;
endHeight: number;
executionHeight: number;
boostFactor: number;
maxBoostDuration: number;
enableBoosting: boolean;
enableTurnoutBias: boolean;
quorumMode: QuorumMode;
quorumTreshold: string;
};
voteSummary: {
for: bigint;
against: bigint;
abstain: bigint;
};
status: ProposalStatus;
actions: never[];
attributes: never[];
};
}