UNPKG

@q-dev/q-js-sdk

Version:

Typescript Library to interact with Q System Contracts

88 lines 4.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ExpertsMembershipVotingInstance = void 0; const SystemVotingVetoableInstance_1 = require("../../SystemVotingVetoableInstance"); /** * 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. */ class ExpertsMembershipVotingInstance extends SystemVotingVetoableInstance_1.SystemVotingVetoableInstance { /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#proposalcount) */ async proposalCount() { return (await this.instance.proposalCount()).toString(); } /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#proposals) */ async getProposal(proposalId) { const proposal = await this.instance.proposals(proposalId); return { base: { remark: proposal.base.remark, executed: proposal.base.executed, params: { votingStartTime: proposal.base.params.votingStartTime.toString(), votingEndTime: proposal.base.params.votingEndTime.toString(), vetoEndTime: proposal.base.params.vetoEndTime.toString(), proposalExecutionP: proposal.base.params.proposalExecutionP.toString(), requiredQuorum: proposal.base.params.requiredQuorum.toString(), requiredMajority: proposal.base.params.requiredMajority.toString(), requiredSMajority: proposal.base.params.requiredSMajority.toString(), requiredSQuorum: proposal.base.params.requiredSQuorum.toString(), }, counters: { weightFor: proposal.base.counters.weightFor.toString(), weightAgainst: proposal.base.counters.weightAgainst.toString(), vetosCount: proposal.base.counters.vetosCount.toString(), }, }, proposalDetails: proposal.proposalDetails }; } /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#hasrootvetoed) */ async hasRootVetoed(proposalId, address) { return this.instance.hasRootVetoed(proposalId, address); } /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#hasuservoted) */ async hasUserVoted(proposalId, address) { return this.instance.hasUserVoted(proposalId, address); } /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#createaddexpertproposal) */ async createAddExpertProposal(remark, addressToAdd, txOptions) { return this.submitTransaction('createAddExpertProposal', [remark, addressToAdd], txOptions); } /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#createchangeexpertproposal) */ async createChangeExpertProposal(remark, addressToAdd, addressToRemove, txOptions) { return this.submitTransaction('createChangeExpertProposal', [remark, addressToAdd, addressToRemove], txOptions); } /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#createremoveexpertproposal) */ async createRemoveExpertProposal(remark, addressToRemove, txOptions) { return this.submitTransaction('createRemoveExpertProposal', [remark, addressToRemove], txOptions); } /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#getvotesfor) */ async getVotesFor(proposalId) { return (await this.instance.getVotesFor(proposalId)).toString(); } /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#getvotesagainst) */ async getVotesAgainst(proposalId) { return (await this.instance.getVotesAgainst(proposalId)).toString(); } } exports.ExpertsMembershipVotingInstance = ExpertsMembershipVotingInstance; //# sourceMappingURL=ExpertsMembershipVotingInstance.js.map