@swaptoshi/governance-module
Version:
Klayr governance on-chain module
26 lines (25 loc) • 1.66 kB
TypeScript
import { Modules, Types } from 'klayr-framework';
import { DelegateVoteParams, DelegatedVoteStoreData, RevokeDelegatedVoteParams, VoteScoreArray } from '../../types';
import { BaseInstance } from './base';
import { GovernanceGovernableConfig } from '../../config';
import { DelegatedVoteStore } from '../delegated_vote';
export declare class DelegatedVote extends BaseInstance<DelegatedVoteStoreData, DelegatedVoteStore> implements DelegatedVoteStoreData {
constructor(stores: Modules.NamedRegistry, events: Modules.NamedRegistry, config: GovernanceGovernableConfig, genesisConfig: Types.GenesisConfig, moduleName: string, delegatedVote: DelegatedVoteStoreData, address: Buffer);
toJSON(): Types.JSONObject<DelegatedVoteStoreData>;
toObject(): DelegatedVoteStoreData;
verifyDelegateVote(params: DelegateVoteParams): Promise<void>;
delegateVote(params: DelegateVoteParams, verify?: boolean): Promise<void>;
verifyRevokeDelegatedVote(_params: RevokeDelegatedVoteParams | undefined): Promise<void>;
revokeDelegatedVote(_params: RevokeDelegatedVoteParams | undefined, verify?: boolean): Promise<void>;
getIncomingDelegationVoteScore(): Promise<VoteScoreArray>;
private _getIncomingDelegationVoteScore;
private _isCircularDelegation;
private _checkForCycles;
private _removeSenderVoteAndDelegatedVoteFromProposal;
private _addDelegatedSenderVoteToProposal;
outgoingDelegation: DelegatedVoteStoreData['outgoingDelegation'];
incomingDelegation: DelegatedVoteStoreData['incomingDelegation'];
private readonly castedVoteStore;
private readonly boostedAccountStore;
private readonly voteScoreStore;
}