@ardier16/q-js-sdk
Version:
Typescript Library to interact with Q System Contracts
64 lines (63 loc) • 3.4 kB
TypeScript
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>;
}