UNPKG

@ardier16/q-js-sdk

Version:

Typescript Library to interact with Q System Contracts

27 lines 1.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.QthVotingHelperInstance = void 0; const SystemContractInstance_1 = require("./SystemContractInstance"); /** * QthVoting interface to interact with QthVoting implementation contracts. * See [onchain documentation](@system-contracts-repo/@network/IQthVoting/) for more details. */ class QthVotingHelperInstance extends SystemContractInstance_1.SystemContractInstance { constructor(web3, abi, address) { super(web3, abi, address); } async getVotingWeightInfo(votingWeightProxy, proposalId, address, hasUserVoted) { const proposal = await this.instance.methods.getProposal(proposalId); const proposalWithBaseInfo = proposal; const votingWeightInfo = await votingWeightProxy.getBaseVotingWeightInfo(address, proposalWithBaseInfo.base.params.votingEndTime); const hasAlreadyVoted = await hasUserVoted(proposalId, address); const canVote = +votingWeightInfo.ownWeight > 0 && !hasAlreadyVoted; return { hasAlreadyVoted: hasAlreadyVoted, canVote: canVote, base: votingWeightInfo }; } } exports.QthVotingHelperInstance = QthVotingHelperInstance; //# sourceMappingURL=QthVotingHelperInstance.js.map