UNPKG

@ardier16/q-js-sdk

Version:

Typescript Library to interact with Q System Contracts

39 lines 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BaseRootNodeApprovalVoting = void 0; const BaseContractInstance_1 = require("./BaseContractInstance"); const types_1 = require("../types"); /** * Voting interface to interact with Voting implementation contracts. * See [onchain documentation](@system-contracts-repo/@network/IVoting/) for more details. */ class BaseRootNodeApprovalVoting extends BaseContractInstance_1.BaseContractInstance { async getStatus(proposalId) { switch (await this.instance.methods.getStatus(proposalId).call()) { case '0': { return types_1.ProposalStatus.NONE; } case '1': { return types_1.ProposalStatus.PENDING; } case '2': { return types_1.ProposalStatus.EXPIRED; } case '3': { return types_1.ProposalStatus.EXECUTED; } default: { return types_1.ProposalStatus.NONE; } } } async getProposalStats(proposalId) { const _stats = await this.instance.methods.getProposalStats(proposalId).call(); return { requiredMajority: _stats[0], currentMajority: _stats[1] }; } async aprove(proposalId, tx) { return this.submitTransaction(this.instance.methods.approve(proposalId), tx); } } exports.BaseRootNodeApprovalVoting = BaseRootNodeApprovalVoting; //# sourceMappingURL=BaseRootNodeApprovalVoting.js.map