UNPKG

@ardier16/q-js-sdk

Version:

Typescript Library to interact with Q System Contracts

64 lines (63 loc) 3.4 kB
import { ExpertsMembershipVoting } from '../../../web3-contracts/ExpertsMembershipVoting'; import { QNonPayableTx, ProposalWithBaseInfo, BaseProposal, ExpertMembershipProposalDetails } from '../../../types'; import { VotingWeightInfo } from '../../QthVotingHelperInstance'; import { TransactionReceipt } from 'web3-eth/types'; import Web3 from 'web3'; import { SystemVotingVetoableInstance } from '../../SystemVotingVetoableInstance'; import { VotingWeightProxyInstance } from '../VotingWeightProxyInstance'; export interface ExpertMembershipProposal extends ProposalWithBaseInfo { base: BaseProposal; 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> { /** * VotingWeightProxy instance. Used by local methods. */ votingWeightProxy: VotingWeightProxyInstance; private qthVotingHelper; constructor(web3: Web3, abi: string, address: string); /** * [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<TransactionReceipt>; /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#createchangeexpertproposal) */ createChangeExpertProposal(remark: string, addressToAdd: string, addressToRemove: string, txOptions?: QNonPayableTx): Promise<TransactionReceipt>; /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#createremoveexpertproposal) */ createRemoveExpertProposal(remark: string, addressToRemove: string, txOptions?: QNonPayableTx): Promise<TransactionReceipt>; /** * [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>; /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#getvotingweightinfo) */ getVotingWeightInfo(proposalId: string | number, address: string): Promise<VotingWeightInfo>; }