UNPKG

@q-dev/qdex-js-sdk

Version:

Typescript Library to interact with Q DEX Contracts

67 lines 2.86 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DEXExpertsParametersVotingInstance = void 0; const param_voting_helper_1 = require("@q-dev/q-js-sdk/lib/utils/param-voting-helper"); const DEXVotingVetoableInstance_1 = require("../DEXVotingVetoableInstance"); /** * Expert parameters voting contract instance to interact with QDEX EPDR parameters voting contract. * See [onchain documentation](@q-dex-utils-repo/@network/DEX_ParametersVoting/) for more details. */ class DEXExpertsParametersVotingInstance extends DEXVotingVetoableInstance_1.DEXVotingVetoableInstance { constructor() { super(...arguments); this.helper = new param_voting_helper_1.ParamVotingHelper(); } /** * [External documentation](@q-dex-utils-repo/@network/DEX_ParametersVoting/#hasrootvetoed) */ async hasRootVetoed(proposalId, address) { return this.instance.methods.hasRootVetoed(proposalId, address).call(); } /** * [External documentation](@q-dex-utils-repo/@network/DEX_ParametersVoting/#hasuservoted) */ async hasUserVoted(proposalId, address) { return this.instance.methods.hasUserVoted(proposalId, address).call(); } /** * [External documentation](@q-dex-utils-repo/@network/DEX_ParametersVoting/#proposalcount) */ async proposalCount() { return this.instance.methods.proposalCount().call(); } /** * [External documentation](@q-dex-utils-repo/@network/DEX_ParametersVoting/#createproposal) */ async createProposal(remark, parameters, txOptions) { const mappedParameters = parameters.map(p => this.helper.mapParameterToOnChainJson(p)); return this.submitTransactionWithHash(this.instance.methods.createProposal(remark, mappedParameters), txOptions); } /** * [External documentation](@q-dex-utils-repo/@network/DEX_ParametersVoting/#proposals) */ async getProposal(proposalId) { const proposal = await this.instance.methods.proposals(proposalId) .call(); return proposal; } /** * [External documentation](@q-dex-utils-repo/@network/DEX_ParametersVoting/#getparametersarr) */ async getParametersArr(proposalId) { const params = await this.instance.methods.getParametersArr(proposalId) .call(); return params; } /** * Retrieve proposal parameters * @param proposalId chosen proposal id * @returns proposal parameters */ async getProposedParameters(proposalId) { const rawParameters = await this.getParametersArr(proposalId); return rawParameters.map(raw => this.helper.mapOnChainJsonToParameter(raw)); } } exports.DEXExpertsParametersVotingInstance = DEXExpertsParametersVotingInstance; //# sourceMappingURL=DEXExpertsParametersVotingInstance.js.map