@q-dev/q-js-sdk
Version:
Typescript Library to interact with Q System Contracts
41 lines • 1.56 kB
JavaScript
;
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) {
const status = await this.instance.getStatus(proposalId);
switch (status) {
case 2:
return types_1.ProposalStatus.EXPIRED;
case 3:
return types_1.ProposalStatus.EXECUTED;
default:
return status.toString();
}
}
async getProposalStats(proposalId) {
const _stats = await this.instance.getProposalStats(proposalId);
return {
requiredMajority: _stats.requiredMajority.toString(),
currentMajority: _stats.currentMajority.toString()
};
}
/**
* @deprecated
*/
async aprove(proposalId, txOptions) {
console.warn('aprove() is deprecated, use approve() instead');
return this.approve(proposalId, txOptions);
}
async approve(proposalId, txOptions) {
return this.submitTransaction('approve', [proposalId], txOptions);
}
}
exports.BaseRootNodeApprovalVoting = BaseRootNodeApprovalVoting;
//# sourceMappingURL=BaseRootNodeApprovalVoting.js.map