@swaptoshi/governance-module
Version:
Klayr governance on-chain module
26 lines • 1.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProposalQueueStore = void 0;
const schema_1 = require("../schema");
const utils_1 = require("@swaptoshi/utils");
const base_1 = require("./base");
const queue_1 = require("./instances/queue");
class ProposalQueueStore extends base_1.BaseStoreWithInstance {
constructor() {
super(...arguments);
this.schema = schema_1.proposalQueueStoreSchema;
this.default = { start: [], quorum: [], ends: [], execute: [] };
}
async getInstance(ctx) {
this._checkDependencies();
const proposalQueueData = await this.getOrDefault(ctx.context, utils_1.bytes.numberToBytes(ctx.height));
const queue = new queue_1.ProposalQueue(this.stores, this.events, this.config, this.genesisConfig, this.moduleName, this.governableConfigRegistry, proposalQueueData, ctx.height);
queue.addMutableDependencies({
context: ctx,
tokenMethod: this.tokenMethod,
});
return queue;
}
}
exports.ProposalQueueStore = ProposalQueueStore;
//# sourceMappingURL=queue.js.map