UNPKG

wallet-storage-client

Version:
44 lines 1.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TaskNewHeader = void 0; const TaskCheckForProofs_1 = require("./TaskCheckForProofs"); const WalletMonitorTask_1 = require("./WalletMonitorTask"); class TaskNewHeader extends WalletMonitorTask_1.WalletMonitorTask { constructor(monitor, triggerMsecs = 1 * monitor.oneMinute) { super(monitor, TaskNewHeader.taskName); this.triggerMsecs = triggerMsecs; } async getHeader() { return await this.monitor.chaintracks.findChainTipHeader(); } trigger(nowMsecsSinceEpoch) { const run = true; return { run }; } async runTask() { let log = ''; const oldHeader = this.header; this.header = await this.getHeader(); let isNew = true; if (!oldHeader) { log = `first header: ${this.header.height} ${this.header.hash}`; } else if (oldHeader.height < this.header.height) { const skip = this.header.height - oldHeader.height - 1; const skipped = skip > 0 ? ` SKIPPED ${skip}` : ''; log = `new header: ${this.header.height} ${this.header.hash}${skipped}`; } else if (oldHeader.height === this.header.height && oldHeader.hash != this.header.hash) { log = `reorg header: ${this.header.height} ${this.header.hash}`; } else { isNew = false; } if (isNew) TaskCheckForProofs_1.TaskCheckForProofs.checkNow = true; return log; } } exports.TaskNewHeader = TaskNewHeader; TaskNewHeader.taskName = 'NewHeader'; //# sourceMappingURL=TaskNewHeader.js.map