UNPKG

@swaptoshi/governance-module

Version:

Klayr governance on-chain module

41 lines 1.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CastedVoteStore = exports.defaultVote = void 0; const klayr_framework_1 = require("klayr-framework"); const db = require("@liskhq/lisk-db"); const utils = require("@klayr/utils"); const schema_1 = require("../schema"); exports.defaultVote = Object.freeze({ activeVote: [], }); class CastedVoteStore extends klayr_framework_1.Modules.BaseStore { constructor() { super(...arguments); this.schema = schema_1.castedVoteStoreSchema; } async getOrDefault(context, address) { try { const castedVote = await this.get(context, address); return castedVote; } catch (error) { if (!(error instanceof db.NotFoundError)) { throw error; } return utils.objects.cloneDeep(exports.defaultVote); } } async removeAllCastedVote(context, address) { await this.set(context, address, exports.defaultVote); } async removeCastedVoteByProposalId(context, address, proposalId) { const castedVote = await this.getOrDefault(context, address); const indexToRemove = castedVote.activeVote.findIndex(vote => vote.proposalId === proposalId); if (indexToRemove !== -1) { castedVote.activeVote.splice(indexToRemove, 1); await this.set(context, address, castedVote); } } } exports.CastedVoteStore = CastedVoteStore; //# sourceMappingURL=casted_vote.js.map