mirror of
https://github.com/altcha-org/altcha-lib.git
synced 2026-01-25 04:18:21 +00:00
21 lines
615 B
TypeScript
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 {};
|