UNPKG

@q-dev/q-js-sdk

Version:

Typescript Library to interact with Q System Contracts

41 lines 1.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GenericContractRegistryVotingInstance = void 0; const SystemRootNodeApprovalVoting_1 = require("../SystemRootNodeApprovalVoting"); class GenericContractRegistryVotingInstance extends SystemRootNodeApprovalVoting_1.SystemRootNodeApprovalVoting { constructor(signerOrProvider, address) { super(signerOrProvider, 'GenericContractRegistryVoting.json', address); } async createProposal(remark, calldata, txOptions) { return this.submitTransaction('createProposal', [remark, calldata], txOptions); } async approve(id, txOptions) { return this.submitTransaction('approve', [id], txOptions); } async getProposal(id) { const proposal = await this.instance.getProposal(id); return { id: id.toString(), status: await this.getStatus(id), executed: proposal.executed, votingStartTime: proposal.votingStartTime.toString(), votingExpiredTime: proposal.votingExpiredTime.toString(), requiredMajority: proposal.requiredMajority.toString(), remark: proposal.remark, callData: proposal.callData }; } async getStatus(proposalId) { return String(await this.instance.getStatus(proposalId)); } async getProposalStats(id) { const proposalStats = await this.instance.getProposalStats(id); return { requiredMajority: proposalStats.requiredMajority.toString(), currentMajority: proposalStats.currentMajority.toString(), }; } } exports.GenericContractRegistryVotingInstance = GenericContractRegistryVotingInstance; GenericContractRegistryVotingInstance.registryKey = 'governance.contractRegistryVoting'; //# sourceMappingURL=GenericContractRegistryVoting.js.map