UNPKG

@acurast/cli

Version:

A cli to interact with the Acurast Cloud.

69 lines 3.07 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import { BigNumber } from 'bignumber.js'; export const jobAssignments = (api, keys) => __awaiter(void 0, void 0, void 0, function* () { const assignments = yield api.query['acurastMarketplace']['storedMatches'].multi(keys); const values = api.registry.createType('Vec<Option<PalletAcurastMarketplaceAssignment>>', assignments); const result = values .map((value, index) => { if (value.isSome) { const assignment = value.unwrap(); return { id: keys[index][1], processor: keys[index][0], assignment: codecToJobAssignment(assignment), }; } return undefined; }) .filter((value) => value !== undefined); return result; }); const codecToJobAssignment = (codec) => { const json = codec.toJSON(); return { slot: json.slot, startDelay: json.startDelay, feePerExecution: new BigNumber(json.feePerExecution), acknowledged: json.acknowledged, sla: { total: new BigNumber(json.sla.total), met: new BigNumber(json.sla.met), }, pubKeys: json.pubKeys.map((value) => ({ SECP256r1: value.secp256r1, SECP256k1: value.secp256k1, ED25519: value.ed25519, SECP256r1Encryption: value.secp256r1Encryption, SECP256k1Encryption: value.secp256k1Encryption, })), execution: { All: json.execution.all, Index: json.execution.index, }, }; }; export const getAcknowledgedProcessors = (api, jobId) => __awaiter(void 0, void 0, void 0, function* () { // First get all assigned processors const assignedProcessors = yield api.query['acurastMarketplace']['assignedProcessors'].entries(jobId); // Create keys array for jobAssignments const keys = assignedProcessors.map(([key, _]) => { const processor = api.createType('AccountId', key.args[1]); return [processor.toString(), jobId]; }); // Get detailed assignment info const assignments = yield jobAssignments(api, keys); return assignments; // // Filter for acknowledged assignments and return processor addresses // return assignments // .filter((info) => info.assignment.acknowledged) // .map((info) => info.processor) }); //# sourceMappingURL=jobAssignments.js.map