UNPKG

@q-dev/q-js-sdk

Version:

Typescript Library to interact with Q System Contracts

74 lines 3.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EmergencyUpdateVotingInstance = void 0; const SystemVotingInstance_1 = require("../SystemVotingInstance"); /** * Emergency update voting instance to interact with Emergency update voting contract. * See [onchain documentation](@system-contracts-repo/@network/EmergencyUpdateVoting/) for more details. * An instance of this class for a deployed network can be obtained via {@link ContractRegistryInstance.emergencyUpdateVoting} */ class EmergencyUpdateVotingInstance extends SystemVotingInstance_1.SystemVotingInstance { constructor(signerOrProvider, address) { super(signerOrProvider, 'EmergencyUpdateVoting.json', address); } /** * [External documentation](@system-contracts-repo/@network/EmergencyUpdateVoting/#proposalcount) */ async proposalCount() { return (await this.instance.proposalCount()).toString(); } /** * [External documentation](@system-contracts-repo/@network/EmergencyUpdateVoting/#voted) */ async hasUserVoted(proposalId, address) { return this.instance.voted(proposalId, address); } /** * [External documentation](@system-contracts-repo/@network/EmergencyUpdateVoting/#createproposal) */ async createProposal(remark, txOptions) { return this.submitTransaction('createProposal', [remark], txOptions); } /** * [External documentation](@system-contracts-repo/@network/EmergencyUpdateVoting/#getvotesfor) */ async getVotesFor(proposalId) { return (await this.instance.getVotesFor(proposalId)).toString(); } /** * [External documentation](@system-contracts-repo/@network/EmergencyUpdateVoting/#getvotesagainst) */ async getVotesAgainst(proposalId) { return (await this.instance.getVotesAgainst(proposalId)).toString(); } /** * [External documentation](@system-contracts-repo/@network/EmergencyUpdateVoting/#proposals) */ async getProposal(proposalId) { const proposal = await this.instance.proposals(proposalId); return { base: { remark: proposal.remark, executed: proposal.executed, params: { votingStartTime: proposal.params.votingStartTime.toString(), votingEndTime: proposal.params.votingEndTime.toString(), vetoEndTime: proposal.params.vetoEndTime.toString(), proposalExecutionP: proposal.params.proposalExecutionP.toString(), requiredQuorum: proposal.params.requiredQuorum.toString(), requiredMajority: proposal.params.requiredMajority.toString(), requiredSMajority: proposal.params.requiredSMajority.toString(), requiredSQuorum: proposal.params.requiredSQuorum.toString(), }, counters: { weightFor: proposal.counters.weightFor.toString(), weightAgainst: proposal.counters.weightAgainst.toString(), vetosCount: proposal.counters.vetosCount.toString(), }, }, }; } } exports.EmergencyUpdateVotingInstance = EmergencyUpdateVotingInstance; EmergencyUpdateVotingInstance.registryKey = 'governance.emergencyUpdateVoting'; //# sourceMappingURL=EmergencyUpdateVotingInstance.js.map