Files
altcha-lib/lib/worker.ts
2024-12-21 07:43:43 +07:00

21 lines
615 B
TypeScript

import { solveChallenge } from './index.js';
let controller: AbortController | undefined = undefined;
onmessage = async (message) => {
const { type, payload } = message.data;
if (type === 'abort') {
controller?.abort();
controller = undefined;
} else if (type === 'work') {
const { algorithm, challenge, max, salt, start } = payload || {};
const result = solveChallenge(challenge, salt, algorithm, max, start);
controller = result.controller;
result.promise.then((solution) => {
self.postMessage(solution ? { ...solution, worker: true } : solution);
});
}
};
export {};