UNPKG

@ardier16/q-js-sdk

Version:

Typescript Library to interact with Q System Contracts

78 lines 3.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ExpertsMembershipVotingInstance = void 0; const QthVotingHelperInstance_1 = require("../../QthVotingHelperInstance"); 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 { constructor(web3, abi, address) { super(web3, abi, address); this.qthVotingHelper = new QthVotingHelperInstance_1.QthVotingHelperInstance(web3, abi, address); } /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#proposalcount) */ async proposalCount() { return this.instance.methods.proposalCount().call(); } /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#proposals) */ async getProposal(proposalId) { const raw = await this.instance.methods.proposals(proposalId).call(); return raw; } /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#hasrootvetoed) */ async hasRootVetoed(proposalId, address) { return this.instance.methods.hasRootVetoed(proposalId, address).call(); } /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#hasuservoted) */ async hasUserVoted(proposalId, address) { return this.instance.methods.hasUserVoted(proposalId, address).call(); } /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#createaddexpertproposal) */ async createAddExpertProposal(remark, addressToAdd, txOptions) { return this.submitTransaction(this.instance.methods.createAddExpertProposal(remark, addressToAdd), txOptions); } /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#createchangeexpertproposal) */ async createChangeExpertProposal(remark, addressToAdd, addressToRemove, txOptions) { return this.submitTransaction(this.instance.methods.createChangeExpertProposal(remark, addressToAdd, addressToRemove), txOptions); } /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#createremoveexpertproposal) */ async createRemoveExpertProposal(remark, addressToRemove, txOptions) { return this.submitTransaction(this.instance.methods.createRemoveExpertProposal(remark, addressToRemove), txOptions); } /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#getvotesfor) */ async getVotesFor(proposalId) { return this.instance.methods.getVotesFor(proposalId).call(); } /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#getvotesagainst) */ async getVotesAgainst(proposalId) { return this.instance.methods.getVotesAgainst(proposalId).call(); } /** * [External documentation](@system-contracts-repo/@network/ExpertsMembershipVoting/#getvotingweightinfo) */ async getVotingWeightInfo(proposalId, address) { return await this.qthVotingHelper.getVotingWeightInfo(this.votingWeightProxy, proposalId, address, this.hasUserVoted); } } exports.ExpertsMembershipVotingInstance = ExpertsMembershipVotingInstance; //# sourceMappingURL=ExpertsMembershipVotingInstance.js.map