import init, { prove, verify } from './ligerito.js';
let wasmInitialized = false;
self.onmessage = async function(e) {
try {
if (!wasmInitialized) {
await init(new URL('./ligerito_bg.wasm', import.meta.url));
console.log('[Worker] WASM initialized (SIMD enabled)');
wasmInitialized = true;
}
const { type, polynomial, configSize } = e.data;
if (type === 'prove') {
const proofBytes = prove(polynomial, configSize);
self.postMessage({
type: 'success',
proof: proofBytes
});
} else if (type === 'verify') {
const isValid = verify(e.data.proof, configSize);
self.postMessage({
type: 'success',
isValid: isValid
});
}
} catch (error) {
self.postMessage({
type: 'error',
error: error.message || String(error)
});
}
};