UNPKG

@swaptoshi/governance-module

Version:

Klayr governance on-chain module

35 lines 1.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NextAvailableProposalIdStore = exports.defaultNextId = 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.defaultNextId = Object.freeze({ nextProposalId: 0, }); class NextAvailableProposalIdStore extends klayr_framework_1.Modules.BaseStore { constructor() { super(...arguments); this.schema = schema_1.nextAvailableProposalIdStoreSchema; } async getOrDefault(context) { try { const nextAvailableId = await this.get(context, Buffer.alloc(0)); return nextAvailableId; } catch (error) { if (!(error instanceof db.NotFoundError)) { throw error; } return utils.objects.cloneDeep(exports.defaultNextId); } } async increase(context) { const nextId = await this.getOrDefault(context); nextId.nextProposalId += 1; await this.set(context, Buffer.alloc(0), nextId); } } exports.NextAvailableProposalIdStore = NextAvailableProposalIdStore; //# sourceMappingURL=next_available_proposal_id.js.map