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