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