UNPKG

@q-dev/q-js-sdk

Version:

Typescript Library to interact with Q System Contracts

50 lines (49 loc) 2.77 kB
import type { ContractTransaction } from 'ethers'; import { ExpertsMembershipVoting } from '../../../ethers-contracts/ExpertsMembershipVoting'; import { QNonPayableTx, ProposalWithBaseInfo, ExpertMembershipProposalDetails } from '../../../types'; import { SystemVotingVetoableInstance } from '../../SystemVotingVetoableInstance'; export interface ExpertMembershipProposal extends ProposalWithBaseInfo { proposalDetails: ExpertMembershipProposalDetails; } /** * Expert membership voting contract instance to interact with EPDR and EPQFI membership voting contract. * See [onchain documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/) for more details. */ export declare class ExpertsMembershipVotingInstance<T extends ExpertsMembershipVoting> extends SystemVotingVetoableInstance<T, ExpertMembershipProposal> { /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#proposalcount) */ proposalCount(): Promise<string>; /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#proposals) */ getProposal(proposalId: string | number): Promise<ExpertMembershipProposal>; /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#hasrootvetoed) */ hasRootVetoed(proposalId: string | number, address: string): Promise<boolean>; /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#hasuservoted) */ hasUserVoted(proposalId: string | number, address: string): Promise<boolean>; /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#createaddexpertproposal) */ createAddExpertProposal(remark: string, addressToAdd: string, txOptions?: QNonPayableTx): Promise<ContractTransaction>; /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#createchangeexpertproposal) */ createChangeExpertProposal(remark: string, addressToAdd: string, addressToRemove: string, txOptions?: QNonPayableTx): Promise<ContractTransaction>; /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#createremoveexpertproposal) */ createRemoveExpertProposal(remark: string, addressToRemove: string, txOptions?: QNonPayableTx): Promise<ContractTransaction>; /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#getvotesfor) */ getVotesFor(proposalId: number | string): Promise<string>; /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#getvotesagainst) */ getVotesAgainst(proposalId: number | string): Promise<string>; }