@bsv/wallet-toolbox
Version:
BRC100 conforming wallet, wallet storage and wallet signer components
29 lines • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TaskMineBlock = void 0;
const Monitor_1 = require("../Monitor");
const WalletMonitorTask_1 = require("./WalletMonitorTask");
class TaskMineBlock extends WalletMonitorTask_1.WalletMonitorTask {
constructor(monitor, triggerMsecs = 10 * Monitor_1.Monitor.oneMinute) {
super(monitor, TaskMineBlock.taskName);
this.triggerMsecs = triggerMsecs;
}
trigger(nowMsecsSinceEpoch) {
if (TaskMineBlock.mineNow)
return { run: true };
if (nowMsecsSinceEpoch - this.lastRunMsecsSinceEpoch >= this.triggerMsecs)
return { run: true };
return { run: false };
}
async runTask() {
TaskMineBlock.mineNow = false;
const mockServices = this.monitor.services;
const header = await mockServices.mineBlock();
this.monitor.processNewBlockHeader(header);
return `Mined block ${header.height} hash ${header.hash}`;
}
}
exports.TaskMineBlock = TaskMineBlock;
TaskMineBlock.taskName = 'MineBlock';
TaskMineBlock.mineNow = false;
//# sourceMappingURL=TaskMineBlock.js.map