import EventEmitter from 'eventemitter3'; import IProposalService from '../interfaces/services/IProposalService'; import { DefaultProvider } from '../types'; export default class ProposalService implements IProposalService { provider: DefaultProvider; chainId: number; emitter: EventEmitter; constructor(provider: DefaultProvider, chainId: number); /** * Create actionable proposal on DAO. * @param targets - array of contract addresses for execute proposal actions. * @param values - array of value which will pass to each target transaction. * @param callData - calldata for each target transaction. * @param description - description of proposal. * @param account - wallet address which create proposal. */ createProposal(targets: string[], values: number[], callData: string[], description: string, account: string): Promise; /** * Execute proposal. * @param targets - array of contract addresses for execute proposal actions. * @param values - array of value which will pass to each target transaction. * @param callData - calldata for each target transaction. * @param description - description of proposal. * @param account - wallet address which execute proposal. */ executeProposal(targets: string[], values: number[], callData: string[], description: string, account: string): Promise; queueProposal(targets: string[], values: number[], callData: string[], description: string, account: string): Promise; /** * Vote for proposal. * @param proposalId - proposal id. * @param account - wallet address which vote. * @param support - 1 is For, 0 is Against, 2 is Abstain. */ castVote(proposalId: string, account: string, support: string): Promise; /** * Check is wallet account already voted. * @param proposalId - proposal id. * @param account - wallet account. */ hasVoted(proposalId: string, account: string): any; /** * Return current state of proposal can be Pending | Open-to-Vote | Canceled | Defeated | Succeeded | Queued | Expired | Executed. * @param proposalId - proposal id. * @param account - wallet address. */ viewProposalState(proposalId: string): any; /** * Return timestamp when account can create new proposal. * @param account - wallet address. */ nextAcceptableProposalTimestamp(account: string): any; /** * Return Voting token balance (vFTHM). * @param account - wallet address. */ getVBalance(account: string): any; /** * Voting quorum which should be reached. Otherwise, proposal will be Defeated. * @param blockNumber. - block number on which proposal was created. */ quorum(blockNumber: string): any; /** * Return amount of votes. againstVotes, forVotes, abstainVotes. * @param proposalId - proposal id. */ proposalVotes(proposalId: string): any; /** * Return minimum vFTHM token balance required for create proposal. */ proposalThreshold(): any; /** * Set JsonRpcProvider provider for service * @param provider - JsonRpcProvider provider */ setProvider(provider: DefaultProvider): void; /** * Set chainId * @param chainId */ setChainId(chainId: number): void; } //# sourceMappingURL=ProposalService.d.ts.map