@phuture/keep3r-cli-deposit-manager-job
Version:
Phuture CLI Job for The Keep3r Network
59 lines • 2.18 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const cli_utils_1 = require("@keep3r-network/cli-utils");
const eth_sdk_build_1 = require("../../eth-sdk-build");
const metadata_json_1 = __importDefault(require("./metadata.json"));
const getWorkableTxs = async (args) => {
const correlationId = (0, cli_utils_1.toKebabCase)(metadata_json_1.default.name);
const logMetadata = {
job: metadata_json_1.default.name,
block: args.advancedBlock,
logId: (0, cli_utils_1.makeid)(5),
};
const logConsole = (0, cli_utils_1.prelog)(logMetadata);
if (args.skipIds.includes(correlationId)) {
logConsole.log(`Skipping job`);
args.subject.complete();
return;
}
logConsole.log(`Trying to work`);
const signer = args.fork.ethersProvider.getSigner(args.keeperAddress);
const { job } = (0, eth_sdk_build_1.getMainnetSdk)(signer);
try {
const canUpdate = await job.canUpdateDeposits({ blockTag: args.advancedBlock });
const notOrNull = canUpdate ? `` : `'t`;
logConsole.warn(`Job ${job.address} can${notOrNull} update deposits`);
if (!canUpdate) {
args.subject.complete();
return;
}
await job.callStatic.updateDeposits({
blockTag: args.advancedBlock,
});
const tx = await job.populateTransaction.updateDeposits({
nonce: args.keeperNonce,
type: 2,
});
const workableGroups = Array.from({ length: args.bundleBurst }, (_, index) => ({
targetBlock: args.targetBlock + index,
txs: [tx],
logId: `${logMetadata.logId}-${(0, cli_utils_1.makeid)(5)}`,
}));
args.subject.next({
workableGroups,
correlationId,
});
}
catch (_a) {
logConsole.warn('Simulation failed, probably in cool-down');
}
args.subject.complete();
};
const job = {
getWorkableTxs,
};
module.exports = job;
//# sourceMappingURL=job.js.map