@ardier16/q-js-sdk
Version:
Typescript Library to interact with Q System Contracts
27 lines • 1.29 kB
JavaScript
;
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