@sabaaa1/common 0.0.25 → 0.0.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sabaaa1/common",
3
- "version": "0.0.25",
3
+ "version": "0.0.27",
4
4
  "homepage": "hinkal.pro",
5
5
  "author": {
6
6
  "name": "Hinkal Protocol"
@@ -0,0 +1 @@
1
+ "use strict";const e=""+(typeof document>"u"?require("url").pathToFileURL(__dirname+"/../../assets/snarkjsWorkerLauncher-Dsmwcy9L.js").href:new URL("../../assets/snarkjsWorkerLauncher-Dsmwcy9L.js",document.currentScript&&document.currentScript.src||document.baseURI).href);module.exports=e;
@@ -0,0 +1,4 @@
1
+ const r = "" + new URL("../../assets/snarkjsWorkerLauncher-Dsmwcy9L.js", import.meta.url).href;
2
+ export {
3
+ r as default
4
+ };
@@ -0,0 +1 @@
1
+ "use strict";const e=""+(typeof document>"u"?require("url").pathToFileURL(__dirname+"/../../assets/utxoWorkerLauncher-BUSzpnDL.js").href:new URL("../../assets/utxoWorkerLauncher-BUSzpnDL.js",document.currentScript&&document.currentScript.src||document.baseURI).href);module.exports=e;
@@ -0,0 +1,4 @@
1
+ const e = "" + new URL("../../assets/utxoWorkerLauncher-BUSzpnDL.js", import.meta.url).href;
2
+ export {
3
+ e as default
4
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./zkProofWorker/zkProofWorkerLauncher.cjs"),o=require("./snarkjsWorker/snarkjsWorkerLauncher.cjs"),t=require("./utxoWorker/utxoWorkerLauncher.cjs"),r=require("./worker.registry.cjs"),n=async()=>({[r.WorkerVariant.ZKProof]:e,[r.WorkerVariant.SnarkJS]:o,[r.WorkerVariant.UTXO]:t});exports.getWorkerViteURL=n;
@@ -0,0 +1,12 @@
1
+ import o from "./zkProofWorker/zkProofWorkerLauncher.mjs";
2
+ import t from "./snarkjsWorker/snarkjsWorkerLauncher.mjs";
3
+ import e from "./utxoWorker/utxoWorkerLauncher.mjs";
4
+ import { WorkerVariant as r } from "./worker.registry.mjs";
5
+ const a = async () => ({
6
+ [r.ZKProof]: o,
7
+ [r.SnarkJS]: t,
8
+ [r.UTXO]: e
9
+ });
10
+ export {
11
+ a as getWorkerViteURL
12
+ };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const G=require("../constants/vite.constants.cjs"),l=require("./worker.registry.cjs");var c=typeof document<"u"?document.currentScript:null;class Z{static workers=new Map;static createWorker=async g=>{if(G.isNode||G.isSandbox){let b;return g===l.WorkerVariant.SnarkJS?b=await Promise.resolve().then(()=>require("./snarkjsWorker/snarkjsWorkerLogic.cjs")):g===l.WorkerVariant.ZKProof?b=await Promise.resolve().then(()=>require("./zkProofWorker/zkProofWorkerLogic.cjs")):g===l.WorkerVariant.UTXO&&(b=await Promise.resolve().then(()=>require("./utxoWorker/utxoWorkerLogic.cjs"))),b.default}if(typeof window>"u")throw new Error("WebWorker cannot be created outside browser environment");let I;switch(g){case l.WorkerVariant.UTXO:I=new URL("data:video/mp2t;base64,aW1wb3J0IHsgcHJlUHJvY2Vzc2luZyB9IGZyb20gJy4uLy4uL2NyeXB0by9wcmVQcm9jZXNzaW5nJzsKaW1wb3J0IHsgc3RlYWx0aEFkZHJlc3NDYWNoZURldmljZSwgc3RlYWx0aFBhaXJDYWNoZURldmljZSwgVXNlcktleXMgfSBmcm9tICcuLi8uLi9kYXRhLXN0cnVjdHVyZXMvY3J5cHRvLWtleXMva2V5cyc7CmltcG9ydCB7IFV0eG8gfSBmcm9tICcuLi8uLi9kYXRhLXN0cnVjdHVyZXMvdXR4by9VdHhvJzsKaW1wb3J0IHsgZGVjcnlwdFV0eG8sIGRlY3J5cHRVdHhvQ29uc3RydWN0b3JBcmdzIH0gZnJvbSAnLi4vLi4vZGF0YS1zdHJ1Y3R1cmVzL2NyeXB0by1rZXlzL2VuY3J5cHREZWNyeXB0VXR4byc7CmltcG9ydCB7IGNoZWNrVXR4b1NpZ25hdHVyZSwgZGVjb2RlVXR4b0NvbnN0cnVjdG9yQXJncyB9IGZyb20gJy4uLy4uL2RhdGEtc3RydWN0dXJlcy9jcnlwdG8ta2V5cy9kZWNvZGVVVFhPJzsKaW1wb3J0IHsgV29ya2VyUHJveHkgfSBmcm9tICcuLi93b3JrZXJQcm94eSc7CmltcG9ydCB7CiAgQmF0Y2hGaWx0ZXJVdHhvc1dpdGhOdWxsaWZpZXJQYXlsb2FkLAogIEJ1aWxkQmF0Y2hQcm9jZXNzUGF5bG9hZCwKICBEZWNpcGhlclByb2Nlc3NQYXlsb2FkLAogIFV0eG9Xb3JrZXJBY3Rpb25UeXBlLAogIFV0eG9Xb3JrZXJQYXJhbXMsCn0gZnJvbSAnLi91dHhvV29ya2VyLnR5cGVzJzsKCmNvbnN0IHdvcmtlclByb3h5ID0gbmV3IFdvcmtlclByb3h5KCk7CgpleHBvcnQgY29uc3QgaGFuZGxlRmlsdGVyVXR4b3NXaXRoTnVsbGlmaWVyID0gYXN5bmMgKHsgZGF0YSB9OiBCYXRjaEZpbHRlclV0eG9zV2l0aE51bGxpZmllclBheWxvYWQpID0+IHsKICBjb25zdCB7IHV0eG9zLCBudWxsaWZpZXJzIH0gPSBkYXRhOwoKICBjb25zdCBmaWx0ZXJlZFV0eG9zID0gdXR4b3MuZmlsdGVyKChzZXJpYWxpemVkVXR4bykgPT4gewogICAgY29uc3QgdXR4byA9IG5ldyBVdHhvKHNlcmlhbGl6ZWRVdHhvKTsKICAgIHJldHVybiAhbnVsbGlmaWVycy5oYXModXR4by5nZXROdWxsaWZpZXIoKSk7CiAgfSk7CgogIHdvcmtlclByb3h5LnBvc3RNZXNzYWdlVG9NYWluVGhyZWFkKHsKICAgIHV0eG9Db25zdHJ1Y3RvcnM6IGZpbHRlcmVkVXR4b3MsCiAgICBzdGVhbHRoUGFpckNhY2hlOiBzdGVhbHRoUGFpckNhY2hlRGV2aWNlLnNlcmlhbGl6ZSgpLAogICAgc3RlYWx0aEFkZHJlc3NDYWNoZTogc3RlYWx0aEFkZHJlc3NDYWNoZURldmljZS5zZXJpYWxpemUoKSwKICB9KTsKfTsKCmV4cG9ydCBjb25zdCBoYW5kbGVCdWlsZFV0eG9zTWVzc2FnZSA9IGFzeW5jICh7IGRhdGEgfTogQnVpbGRCYXRjaFByb2Nlc3NQYXlsb2FkKSA9PiB7CiAgY29uc3QgdXNlcktleXMgPSBuZXcgVXNlcktleXMoZGF0YS5zaWduYXR1cmUpOwogIGNvbnN0IHNoaWVsZGVkUHJpdmF0ZUtleSA9IHVzZXJLZXlzLmdldFNoaWVsZGVkUHJpdmF0ZUtleSgpOwogIGNvbnN0IGRlY3J5cHRlZCA9IGRhdGEuZW5jcnlwdGVkT3V0cHV0cwogICAgLm1hcCgoZW5jcnlwdGVkT3V0cHV0KSA9PiB7CiAgICAgIHRyeSB7CiAgICAgICAgaWYgKGVuY3J5cHRlZE91dHB1dC5pc1Bvc2l0aXZlKQogICAgICAgICAgcmV0dXJuIGRlY3J5cHRVdHhvQ29uc3RydWN0b3JBcmdzKEJ1ZmZlci5mcm9tKGVuY3J5cHRlZE91dHB1dC52YWx1ZS5zbGljZSgyKSwgJ2hleCcpLCB1c2VyS2V5cyk7CiAgICAgICAgcmV0dXJuIGRlY29kZVV0eG9Db25zdHJ1Y3RvckFyZ3MoZW5jcnlwdGVkT3V0cHV0LnZhbHVlLCBzaGllbGRlZFByaXZhdGVLZXkpOwogICAgICB9IGNhdGNoIHsKICAgICAgICByZXR1cm4gdW5kZWZpbmVkOwogICAgICB9CiAgICB9KQogICAgLmZpbHRlcigodmFsKSA9PiB2YWwgIT09IHVuZGVmaW5lZCAmJiB2YWwuYW1vdW50ICE9PSAwbik7CiAgd29ya2VyUHJveHkucG9zdE1lc3NhZ2VUb01haW5UaHJlYWQoZGVjcnlwdGVkKTsKfTsKCmV4cG9ydCBjb25zdCBoYW5kbGVEZWNpcGhlck1lc3NhZ2UgPSBhc3luYyAoeyBkYXRhIH06IERlY2lwaGVyUHJvY2Vzc1BheWxvYWQpID0+IHsKICBjb25zdCB1c2VyS2V5cyA9IG5ldyBVc2VyS2V5cyhkYXRhLnNpZ25hdHVyZSk7CiAgY29uc3QgYWRkaXRpb25hbEVuY3J5cHRlZE91dHB1dHMgPSBbXTsKICBjb25zdCB7IGVuY3J5cHRlZE91dHB1dHMgfSA9IGRhdGE7CiAgbGV0IHsgbGFzdE91dHB1dCB9ID0gZGF0YTsKICBjb25zdCBzaGllbGRlZFByaXZhdGVLZXkgPSB1c2VyS2V5cy5nZXRTaGllbGRlZFByaXZhdGVLZXkoKTsKICBmb3IgKGxldCBpID0gMDsgaSA8IGVuY3J5cHRlZE91dHB1dHMubGVuZ3RoOyBpICs9IDEpIHsKICAgIGNvbnN0IG91dHB1dCA9IGVuY3J5cHRlZE91dHB1dHNbaV07CiAgICBsYXN0T3V0cHV0ID0gb3V0cHV0LnZhbHVlOwogICAgaWYgKG91dHB1dC5pc1Bvc2l0aXZlKSB7CiAgICAgIHRyeSB7CiAgICAgICAgY29uc3QgZGVjcnlwdGVkVXR4byA9IGRlY3J5cHRVdHhvKEJ1ZmZlci5mcm9tKGxhc3RPdXRwdXQuc2xpY2UoMiksICdoZXgnKSwgdXNlcktleXMpOwoKICAgICAgICBpZiAoIWRlY3J5cHRlZFV0eG8uZXJjMjBUb2tlbkFkZHJlc3MgfHwgIWRlY3J5cHRlZFV0eG8uYW1vdW50IHx8ICFkZWNyeXB0ZWRVdHhvLnN0ZWFsdGhBZGRyZXNzKQogICAgICAgICAgdGhyb3cgRXJyb3IoJ2JydWgnKTsKCiAgICAgICAgYWRkaXRpb25hbEVuY3J5cHRlZE91dHB1dHMucHVzaChvdXRwdXQpOwogICAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikgewogICAgICAgIC8vIGxvZ0Vycm9yKCdVdHhvIG5vdCBkZWNyeXB0ZWQnKTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgdHJ5IHsKICAgICAgICBjb25zdCBjaGVja2VkID0gY2hlY2tVdHhvU2lnbmF0dXJlKGxhc3RPdXRwdXQsIHNoaWVsZGVkUHJpdmF0ZUtleSk7CiAgICAgICAgaWYgKGNoZWNrZWQpIHsKICAgICAgICAgIGFkZGl0aW9uYWxFbmNyeXB0ZWRPdXRwdXRzLnB1c2gob3V0cHV0KTsKICAgICAgICB9CiAgICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7CiAgICAgICAgLy8gbG9nRXJyb3IoJ1V0eG8gbm90IGRlY29kZWQnKTsKICAgICAgfQogICAgfQogIH0KICB3b3JrZXJQcm94eS5wb3N0TWVzc2FnZVRvTWFpblRocmVhZCh7IGFkZGl0aW9uYWxFbmNyeXB0ZWRPdXRwdXRzLCBsYXN0T3V0cHV0IH0pOwp9OwoKZXhwb3J0IGNvbnN0IG9uV29ya2VyTWVzc2FnZSA9IGFzeW5jIChkYXRhOiBVdHhvV29ya2VyUGFyYW1zKSA9PiB7CiAgdHJ5IHsKICAgIGF3YWl0IHByZVByb2Nlc3NpbmcoKTsKICAgIGNvbnN0IHsgdHlwZSB9ID0gZGF0YS5wYXlsb2FkOwogICAgc3dpdGNoICh0eXBlKSB7CiAgICAgIGNhc2UgVXR4b1dvcmtlckFjdGlvblR5cGUuQkFUQ0hfRklMVEVSX1VUWE9TX1dJVEhfTlVMTElGSUVSOgogICAgICAgIGF3YWl0IGhhbmRsZUZpbHRlclV0eG9zV2l0aE51bGxpZmllcihkYXRhLnBheWxvYWQpOwogICAgICAgIHJldHVybjsKICAgICAgY2FzZSBVdHhvV29ya2VyQWN0aW9uVHlwZS5CVUlMRF9VVFhPUzoKICAgICAgICBhd2FpdCBoYW5kbGVCdWlsZFV0eG9zTWVzc2FnZShkYXRhLnBheWxvYWQpOwogICAgICAgIHJldHVybjsKICAgICAgY2FzZSBVdHhvV29ya2VyQWN0aW9uVHlwZS5ERUNJUEhFUl9PVVRQVVRTOgogICAgICAgIGF3YWl0IGhhbmRsZURlY2lwaGVyTWVzc2FnZShkYXRhLnBheWxvYWQpOwogICAgICAgIHJldHVybjsKICAgICAgZGVmYXVsdDoKICAgICAgICB0aHJvdyBFcnJvcihgVW5rbm93biB3b3JrZXIgbWVzc2FnZSB0eXBlICR7dHlwZX1gKTsKICAgIH0KICB9IGNhdGNoIChlcnIpIHsKICAgIGNvbnNvbGUuZXJyb3IoZXJyKTsKICAgIHdvcmtlclByb3h5LnBvc3RFcnJvclRvTWFpblRocmVhZChlcnIpOwogIH0KfTsKCndvcmtlclByb3h5LmF0dGFjaFdvcmtlclNpZGVPbk1lc3NhZ2Uob25Xb3JrZXJNZXNzYWdlKTsKZXhwb3J0IGRlZmF1bHQgd29ya2VyUHJveHk7Cg==",typeof document>"u"?require("url").pathToFileURL(__filename).href:c&&c.src||new URL("webworker/workerFactory.cjs",document.baseURI).href);break;case l.WorkerVariant.ZKProof:I=new URL("data:video/mp2t;base64,aW1wb3J0IHsgcHJlUHJvY2Vzc2luZyB9IGZyb20gJy4uLy4uL2NyeXB0by9wcmVQcm9jZXNzaW5nJzsKaW1wb3J0IHsgVXNlcktleXMgfSBmcm9tICcuLi8uLi9kYXRhLXN0cnVjdHVyZXMvY3J5cHRvLWtleXMva2V5cyc7CmltcG9ydCB7IElVdHhvQ29uc3RydWN0b3IsIFV0eG8gfSBmcm9tICcuLi8uLi9kYXRhLXN0cnVjdHVyZXMvdXR4by9VdHhvJzsKaW1wb3J0IHsKICBjYWxjQWNjZXNzVG9rZW5TaWJsaW5nc0FuZFNpZGVzLAogIGNhbGNDb21taXRtZW50c1NpYmxpbmdBbmRTaWRlcywKfSBmcm9tICcuLi8uLi9mdW5jdGlvbnMvc25hcmtqcy9jb21tb24uc25hcmtqcyc7CmltcG9ydCB7IFdvcmtlclByb3h5IH0gZnJvbSAnLi4vd29ya2VyUHJveHknOwppbXBvcnQgewogIFpLUHJvb2ZXb3JrZXJBY3Rpb25UeXBlLAogIFpLUHJvb2ZXb3JrZXJCdWlsZEluTnVsbGlmaWVyc1BheWxvYWQsCiAgWktQcm9vZldvcmtlckNhbGNBY2Nlc3NUb2tlblBheWxvYWQsCiAgWktQcm9vZldvcmtlckNhbGNDb21taXRtZW50c1BheWxvYWQsCiAgWktQcm9vZldvcmtlclBhcmFtcywKfSBmcm9tICcuL3prUHJvb2ZXb3JrZXIudHlwZXMnOwppbXBvcnQgeyBjb250cnVjdE1lcmtsZVRyZWVGcm9tU2VyaWFsaXplZCB9IGZyb20gJy4uLy4uL2Z1bmN0aW9ucy91dGlscy9tZXJrbGVUcmVlLnV0aWxzJzsKCmNvbnN0IHdvcmtlclByb3h5ID0gbmV3IFdvcmtlclByb3h5KCk7CgpleHBvcnQgY29uc3QgaGFuZGxlQ2FsY0NvbW1pdG1lbnRzU2libGluZ0FuZFNpZGVzID0gKHBheWxvYWQ6IFpLUHJvb2ZXb3JrZXJDYWxjQ29tbWl0bWVudHNQYXlsb2FkKSA9PiB7CiAgY29uc3QgeyBpbnB1dFV0eG9zU2VyaWFsaXplZCwgbWVya2xlVHJlZVNlcmlhbGl6ZWQgfSA9IHBheWxvYWQuZGF0YTsKCiAgY29uc3QgbWVya2xlVHJlZSA9IGNvbnRydWN0TWVya2xlVHJlZUZyb21TZXJpYWxpemVkKG1lcmtsZVRyZWVTZXJpYWxpemVkKTsKCiAgY29uc3QgaW5wdXRVdHhvcyA9IGlucHV0VXR4b3NTZXJpYWxpemVkLm1hcCgodXR4b0xpc3Q6IElVdHhvQ29uc3RydWN0b3JbXSkgPT4KICAgIHV0eG9MaXN0Lm1hcCgoc2VyaWFsaXplZFV0eG8pID0+IG5ldyBVdHhvKHNlcmlhbGl6ZWRVdHhvKSksCiAgKTsKCiAgY29uc3QgeyBpbkNvbW1pdG1lbnRTaWJsaW5ncywgaW5Db21taXRtZW50U2libGluZ1NpZGVzIH0gPSBjYWxjQ29tbWl0bWVudHNTaWJsaW5nQW5kU2lkZXMoaW5wdXRVdHhvcywgbWVya2xlVHJlZSk7CiAgd29ya2VyUHJveHkucG9zdE1lc3NhZ2VUb01haW5UaHJlYWQoeyBpbkNvbW1pdG1lbnRTaWJsaW5ncywgaW5Db21taXRtZW50U2libGluZ1NpZGVzIH0pOwp9OwoKZXhwb3J0IGNvbnN0IGhhbmRsZUNhbGNBY2Nlc3NUb2tlblNpYmxpbmdBbmRTaWRlcyA9IChwYXlsb2FkOiBaS1Byb29mV29ya2VyQ2FsY0FjY2Vzc1Rva2VuUGF5bG9hZCkgPT4gewogIGNvbnN0IHsgdXNlclNpZ25hdHVyZSwgbWVya2xlVHJlZUFjY2Vzc1Rva2VuU2VyaWFsaXplZCB9ID0gcGF5bG9hZC5kYXRhOwogIGNvbnN0IHVzZXJLZXlzID0gbmV3IFVzZXJLZXlzKHVzZXJTaWduYXR1cmUpOwoKICBjb25zdCBtZXJrbGVUcmVlID0gY29udHJ1Y3RNZXJrbGVUcmVlRnJvbVNlcmlhbGl6ZWQobWVya2xlVHJlZUFjY2Vzc1Rva2VuU2VyaWFsaXplZCk7CgogIGNvbnN0IHsgYWNjZXNzVG9rZW5TaWJsaW5ncywgYWNjZXNzVG9rZW5TaWJsaW5nU2lkZXMgfSA9IGNhbGNBY2Nlc3NUb2tlblNpYmxpbmdzQW5kU2lkZXModXNlcktleXMsIG1lcmtsZVRyZWUpOwogIHdvcmtlclByb3h5LnBvc3RNZXNzYWdlVG9NYWluVGhyZWFkKHsgYWNjZXNzVG9rZW5TaWJsaW5ncywgYWNjZXNzVG9rZW5TaWJsaW5nU2lkZXMgfSk7Cn07CgpleHBvcnQgY29uc3QgaGFuZGxlQnVpbGRJbk51bGxpZmllcnMgPSAocGF5bG9hZDogWktQcm9vZldvcmtlckJ1aWxkSW5OdWxsaWZpZXJzUGF5bG9hZCkgPT4gewogIGNvbnN0IHsgaW5wdXRVdHhvc1NlcmlhbGl6ZWQsIG9uQ2hhaW5DcmVhdGlvbiwgcHJvdmVyVmVyc2lvbiB9ID0gcGF5bG9hZC5kYXRhOwogIGNvbnN0IGlucHV0VXR4b3MgPSBpbnB1dFV0eG9zU2VyaWFsaXplZC5tYXAoKHV0eG9MaXN0OiBJVXR4b0NvbnN0cnVjdG9yW10pID0+CiAgICB1dHhvTGlzdC5tYXAoKHNlcmlhbGl6ZWRVdHhvKSA9PiBuZXcgVXR4byhzZXJpYWxpemVkVXR4bykpLAogICk7CiAgbGV0IHJlc3VsdDogc3RyaW5nW11bXSA9IFtdOwogIGlmIChwcm92ZXJWZXJzaW9uID09PSAndjF4MCcpIHsKICAgIHJlc3VsdCA9IGlucHV0VXR4b3MubWFwKCh0b2tlbiwgaW5kZXgpID0+CiAgICAgIHRva2VuLm1hcCgodXR4bykgPT4gKG9uQ2hhaW5DcmVhdGlvbltpbmRleF0gPyAnMCcgOiB1dHhvLmdldE51bGxpZmllcigpKSksCiAgICApOwogIH0gZWxzZSB7CiAgICByZXN1bHQgPSBpbnB1dFV0eG9zLm1hcCgodG9rZW4pID0+IHRva2VuLm1hcCgodXR4bykgPT4gKHV0eG8uYW1vdW50ID09PSAwbiA/ICcwJyA6IHV0eG8uZ2V0TnVsbGlmaWVyKCkpKSk7CiAgfQoKICB3b3JrZXJQcm94eS5wb3N0TWVzc2FnZVRvTWFpblRocmVhZChyZXN1bHQpOwp9OwoKZXhwb3J0IGNvbnN0IG9uV29ya2VyTWVzc2FnZSA9IGFzeW5jIChkYXRhOiBaS1Byb29mV29ya2VyUGFyYW1zKSA9PiB7CiAgdHJ5IHsKICAgIGF3YWl0IHByZVByb2Nlc3NpbmcoKTsKICAgIGNvbnN0IHsgdHlwZSB9ID0gZGF0YS5wYXlsb2FkOwogICAgc3dpdGNoICh0eXBlKSB7CiAgICAgIGNhc2UgWktQcm9vZldvcmtlckFjdGlvblR5cGUuQ0FMQ19DT01NSVRNRU5UU19TSUJMSU5HX0FORF9TSURFUzoKICAgICAgICBoYW5kbGVDYWxjQ29tbWl0bWVudHNTaWJsaW5nQW5kU2lkZXMoZGF0YS5wYXlsb2FkKTsKICAgICAgICByZXR1cm47CiAgICAgIGNhc2UgWktQcm9vZldvcmtlckFjdGlvblR5cGUuQ0FMQ19BQ0NFU1NfVE9LRU5fU0lCTElOR19BTkRfU0lERVM6CiAgICAgICAgaGFuZGxlQ2FsY0FjY2Vzc1Rva2VuU2libGluZ0FuZFNpZGVzKGRhdGEucGF5bG9hZCk7CiAgICAgICAgcmV0dXJuOwogICAgICBjYXNlIFpLUHJvb2ZXb3JrZXJBY3Rpb25UeXBlLkJVSUxEX0lOX05VTExJRklFUlM6CiAgICAgICAgaGFuZGxlQnVpbGRJbk51bGxpZmllcnMoZGF0YS5wYXlsb2FkKTsKICAgICAgICByZXR1cm47CiAgICAgIGRlZmF1bHQ6CiAgICAgICAgdGhyb3cgRXJyb3IoYFVua25vd24gd29ya2VyIG1lc3NhZ2UgdHlwZSAke3R5cGV9YCk7CiAgICB9CiAgfSBjYXRjaCAoZXJyKSB7CiAgICBjb25zb2xlLmVycm9yKGVycik7CiAgICB3b3JrZXJQcm94eS5wb3N0RXJyb3JUb01haW5UaHJlYWQoZXJyKTsKICB9Cn07Cgp3b3JrZXJQcm94eS5hdHRhY2hXb3JrZXJTaWRlT25NZXNzYWdlKG9uV29ya2VyTWVzc2FnZSk7CmV4cG9ydCBkZWZhdWx0IHdvcmtlclByb3h5Owo=",typeof document>"u"?require("url").pathToFileURL(__filename).href:c&&c.src||new URL("webworker/workerFactory.cjs",document.baseURI).href);break;case l.WorkerVariant.SnarkJS:I=new URL("data:video/mp2t;base64,LyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2RvdC1ub3RhdGlvbiAqLwovKioKICogVGhpcyBXZWIgV29ya2VyIG9ubHkgaGFuZGxlIHNuYXJranMgb3BlcmF0aW9uLgogKiBJZiBwb3NzaWJsZSwgYXZvaWQgaW1wb3J0aW5nIG1vZHVsZXMgZm9ybSBtYWluIHByb2plY3QgYW5kIGluc3RlYWQgcGFzcyBkYXRhIGFsb25nIHdpdGggbWVzc2FnZQogKiB0byBlbnN1cmUgdGhpcyB3b3JrZXIgc3RheSBsZWFuLgogKi8KaW1wb3J0IHsgV29ya2VyUHJveHkgfSBmcm9tICcuLi93b3JrZXJQcm94eSc7CmltcG9ydCB7IFNuYXJrSlNQYXJhbXMgfSBmcm9tICcuL3NuYXJranNXb3JrZXIudHlwZXMnOwppbXBvcnQgeyBpc05vZGUsIGlzV2VicGFjayB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy92aXRlLmNvbnN0YW50cyc7CgovLyBETyBOT1QgaW5zdGFsbCBAdHlwZXMgZm9yIHRoaXMsIGVsc2UgaGFyZGhhdCB3aWxsIHBpY2sgdXAgdGhlIHdyb25nIGZpbGUgYW5kIGZhaWwgKG91ciB2ZXJzaW9uIGlzIG9sZGVyIHRoYW4gb2xkZXN0IEB0eXBlcykKLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lCi8vIEB0cy1pZ25vcmUKaW1wb3J0ICogYXMgc25hcmtqcyBmcm9tICdzbmFya2pzJzsKaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJzsKCmNvbnN0IHdvcmtlclByb3h5ID0gbmV3IFdvcmtlclByb3h5KCk7CgpleHBvcnQgY29uc3QgZmV0Y2hVaW50OEFycmF5ID0gYXN5bmMgKGZpbGVVcmw6IHN0cmluZyk6IFByb21pc2U8VWludDhBcnJheT4gPT4gewogIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgYXhpb3MuZ2V0PEFycmF5QnVmZmVyPihmaWxlVXJsLCB7IHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyB9KTsKICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZGF0YSk7Cn07CgpleHBvcnQgY29uc3Qgb25Xb3JrZXJNZXNzYWdlID0gYXN5bmMgKGRhdGE6IFNuYXJrSlNQYXJhbXMpID0+IHsKICB0cnkgewogICAgY29uc3QgeyBpbnB1dCwgd2FzbUZpbGVQYXRoLCB6S2V5RmlsZVBhdGgsIGNoYWluSWQgfSA9IGRhdGEucGF5bG9hZC5kYXRhOwogICAgY29uc3QgewogICAgICBob3N0TG9jYXRpb246IHsgb3JpZ2luIH0sCiAgICAgIGNvbnN0YW50czogewogICAgICAgIGlzRGV2ZWxvcG1lbnQsCiAgICAgICAgY2hhaW5zOiB7IGNoYWluSWRzIH0sCiAgICAgIH0sCiAgICB9ID0gZGF0YS5tZXRhZGF0YTsKCiAgICAvLyBERUZBVUxUIENBU0U6IGJyb3dzZXIgYW5kIHByb2R1Y3Rpb24sIHNvIHdlIGFjY2VzcyB2ZXJpZmllcnMgd2l0aCByZW1vdGUgbGlua3MKICAgIGxldCB3YXNtRnVsbEZpbGVQYXRoID0gd2FzbUZpbGVQYXRoOwogICAgbGV0IHpLZXlGdWxsRmlsZVBhdGggPSB6S2V5RmlsZVBhdGg7CgogICAgbGV0IHdhc21GaWxlQnVmZmVyOiBVaW50OEFycmF5IHwgdW5kZWZpbmVkOwogICAgbGV0IHpLZXlGaWxlQnVmZmVyOiBVaW50OEFycmF5IHwgdW5kZWZpbmVkOwoKICAgIGNvbnN0IGlzT25saW5lID0gd2FzbUZ1bGxGaWxlUGF0aC5zdGFydHNXaXRoKCdodHRwczovLycpOwoKICAgIC8vIENBU0UgMTogbm9kZWpzIGFjY2Vzc2lnbiBmaWxlcyBsb2NhbHkKICAgIGlmIChpc05vZGUgJiYgIWlzT25saW5lKSB7CiAgICAgIC8vIHN1YmNhc2UgMTogd2hlbiBub2RlanMgY29kZSBpcyBidW5kbGVkCiAgICAgIGlmIChpc1dlYnBhY2spIHsKICAgICAgICB3YXNtRnVsbEZpbGVQYXRoID0gYGxpYnMvaGFyZGhhdC90ZXN0L2NpcmN1aXRzLyR7d2FzbUZpbGVQYXRofWA7CiAgICAgICAgektleUZ1bGxGaWxlUGF0aCA9IGBsaWJzL2hhcmRoYXQvdGVzdC9jaXJjdWl0cy8ke3pLZXlGaWxlUGF0aH1gOwogICAgICB9CiAgICAgIC8vIHN1YmNhc2UgMjogd2hlbiBub2RlanMgY29kZSBpcyBub3QgYnVuZGxlZAogICAgICBlbHNlIGlmICghaXNXZWJwYWNrICYmIGlzRGV2ZWxvcG1lbnQpIHsKICAgICAgICB3YXNtRnVsbEZpbGVQYXRoID0gYHRlc3QvY2lyY3VpdHMvJHt3YXNtRmlsZVBhdGh9YDsKICAgICAgICB6S2V5RnVsbEZpbGVQYXRoID0gYHRlc3QvY2lyY3VpdHMvJHt6S2V5RmlsZVBhdGh9YDsKICAgICAgfQogICAgICAvLyBlbHNlIGlmIGNhc2U6ICFpc1dlYnBhY2sgJiYgIWlzRGV2ZWxvcG1lbnQKICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGdsb2JhbC1yZXF1aXJlLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzCiAgICAgIGNvbnN0IHBhdGggPSByZXF1aXJlKCdwYXRoJyk7CiAgICAgIHdhc21GdWxsRmlsZVBhdGggPSBwYXRoLnJlc29sdmUod2FzbUZ1bGxGaWxlUGF0aCk7CiAgICAgIHpLZXlGdWxsRmlsZVBhdGggPSBwYXRoLnJlc29sdmUoektleUZ1bGxGaWxlUGF0aCk7CiAgICAgIC8vIENBU0UgMjogbm9kZWpzIGFjY2Vzc2luZyBmaWxlcyByZW1vdGVseQogICAgfQogICAgaWYgKGlzTm9kZSAmJiBpc09ubGluZSkgewogICAgICAvLyBJbiBjYXNlLCB3ZSBoYXZlIG5vZGUgZW52aXJvbWVudCB0aGF0IHVzZXMgQGhpbmthbC9jb21tb24gYXMgYSBsaWJyYXJ5LCBzbmFya2pzIHRyaWVzIHRvIHJlYWQgImh0dHBzOi8vLi4uIiBmcm9tIGxvY2FsLCB0aGF0J3Mgd2h5IHdlIHB1dCBoZXJlIGRvd25sb2FkIG9wZXJhdGlvbi4gT3RoZXJ3aXNlLCBmaWxlIGlzIG5vdCBmb3VuZAogICAgICAvLyBzbmFya2pzIHVzZXMgZmFzdGZpbGUgdG8gbWFuYWdlIHZlcmlmaWVycy4gV2Ugd2FudCB0byBkb3dubG9hZCBmaWxlIGFuZCBwcm92aWRlIGl0IHRvIHNuYXJranMgYW5kIGRvIGl0IGluIG9uZSBsaW5lLgogICAgICAvLyBAdHMtaWdub3JlIEhlcmU6aHR0cHM6Ly9naXRodWIuY29tL2lkZW4zL2Zhc3RmaWxlL2Jsb2IvbWFzdGVyL3NyYy9mYXN0ZmlsZS5qcyBMaW5lIDU5LCB0aGV5IHVzZSB0aGlzIHZhcmlhYmxlIHRvIGluZGljYXRlIHRvIGRvd25sb2FkIGZpbGUgZmlyc3QgYW5kIHRoZW4gdG8gcHJvY2Vzcy4gV2UgbmVlZCBpdCBldmVuIGlmIHdlIHJ1biBpbiBub2RlIGVudmlyb21lbnQuCiAgICAgIHdhc21GaWxlQnVmZmVyID0gYXdhaXQgZmV0Y2hVaW50OEFycmF5KHdhc21GdWxsRmlsZVBhdGgpOwogICAgICB6S2V5RmlsZUJ1ZmZlciA9IGF3YWl0IGZldGNoVWludDhBcnJheSh6S2V5RnVsbEZpbGVQYXRoKTsKICAgIH0KICAgIC8vIENBU0UgMzogbG9jYWwgZGV2ZWxvcGVtZW50IGFuZCB3ZSBhY2Nlc3MgZmlsZXMgbG9jYWx5CiAgICBlbHNlIGlmIChjaGFpbklkID09PSBjaGFpbklkc1snbG9jYWxob3N0J10gJiYgIWlzTm9kZSkgewogICAgICB3YXNtRnVsbEZpbGVQYXRoID0gYCR7b3JpZ2lufS8ke3dhc21GaWxlUGF0aH1gOwogICAgICB6S2V5RnVsbEZpbGVQYXRoID0gYCR7b3JpZ2lufS8ke3pLZXlGaWxlUGF0aH1gOwogICAgfQogICAgY29uc3QgeyBwcm9vZiwgcHVibGljU2lnbmFscyB9ID0gYXdhaXQgc25hcmtqcy5ncm90aDE2LmZ1bGxQcm92ZSgKICAgICAgaW5wdXQsCiAgICAgIHdhc21GaWxlQnVmZmVyID8/IHdhc21GdWxsRmlsZVBhdGgsCiAgICAgIHpLZXlGaWxlQnVmZmVyID8/IHpLZXlGdWxsRmlsZVBhdGgsCiAgICApOwogICAgY29uc3QgemtDYWxsRGF0YVJhdyA9IGF3YWl0IHNuYXJranMuZ3JvdGgxNi5leHBvcnRTb2xpZGl0eUNhbGxEYXRhKHByb29mLCBwdWJsaWNTaWduYWxzKTsKICAgIGNvbnN0IHprQ2FsbERhdGEgPSBKU09OLnBhcnNlKGBbJHt6a0NhbGxEYXRhUmF3fV1gKTsKCiAgICB3b3JrZXJQcm94eS5wb3N0TWVzc2FnZVRvTWFpblRocmVhZCh7IHprQ2FsbERhdGEsIHByb29mLCBwdWJsaWNTaWduYWxzIH0pOwogIH0gY2F0Y2ggKGVycikgewogICAgY29uc29sZS5lcnJvcihlcnIpOwogICAgd29ya2VyUHJveHkucG9zdEVycm9yVG9NYWluVGhyZWFkKGVycik7CiAgfQp9OwoKd29ya2VyUHJveHkuYXR0YWNoV29ya2VyU2lkZU9uTWVzc2FnZShvbldvcmtlck1lc3NhZ2UpOwpleHBvcnQgZGVmYXVsdCB3b3JrZXJQcm94eTsK",typeof document>"u"?require("url").pathToFileURL(__filename).href:c&&c.src||new URL("webworker/workerFactory.cjs",document.baseURI).href);break;default:throw new Error(`Unknown worker type: ${g}`)}return new Worker(I,{type:"module"})};static getWebWorker(g){let I=this.workers.get(g);return I||(I=Z.createWorker(g),this.workers.set(g,I)),I}}exports.WorkerFactory=Z;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../constants/vite.constants.cjs");const n=require("./viteWorkerURL.constant.cjs");class t{static workers=new Map;static createWorker=async e=>{if(typeof window>"u")throw new Error("WebWorker cannot be created outside browser environment");const o=(await n.getWorkerViteURL())[e];if(!o)throw new Error(`Worker URL not found for variant ${e}`);return new Worker(o,{type:"module"})};static getWebWorker(e){let r=this.workers.get(e);return r||(r=t.createWorker(e),this.workers.set(e,r)),r}}exports.WorkerFactory=t;
@@ -1,35 +1,20 @@
1
- import { isNode as b, isSandbox as G } from "../constants/vite.constants.mjs";
2
- import { WorkerVariant as l } from "./worker.registry.mjs";
3
- class Z {
1
+ import "../constants/vite.constants.mjs";
2
+ import { getWorkerViteURL as s } from "./viteWorkerURL.constant.mjs";
3
+ class o {
4
4
  static workers = /* @__PURE__ */ new Map();
5
- static createWorker = async (g) => {
6
- if (b || G) {
7
- let c;
8
- return g === l.SnarkJS ? c = await import("./snarkjsWorker/snarkjsWorkerLogic.mjs") : g === l.ZKProof ? c = await import("./zkProofWorker/zkProofWorkerLogic.mjs") : g === l.UTXO && (c = await import("./utxoWorker/utxoWorkerLogic.mjs")), c.default;
9
- }
5
+ static createWorker = async (r) => {
10
6
  if (typeof window > "u")
11
7
  throw new Error("WebWorker cannot be created outside browser environment");
12
- let I;
13
- switch (g) {
14
- case l.UTXO:
15
- I = new URL("data:video/mp2t;base64,aW1wb3J0IHsgcHJlUHJvY2Vzc2luZyB9IGZyb20gJy4uLy4uL2NyeXB0by9wcmVQcm9jZXNzaW5nJzsKaW1wb3J0IHsgc3RlYWx0aEFkZHJlc3NDYWNoZURldmljZSwgc3RlYWx0aFBhaXJDYWNoZURldmljZSwgVXNlcktleXMgfSBmcm9tICcuLi8uLi9kYXRhLXN0cnVjdHVyZXMvY3J5cHRvLWtleXMva2V5cyc7CmltcG9ydCB7IFV0eG8gfSBmcm9tICcuLi8uLi9kYXRhLXN0cnVjdHVyZXMvdXR4by9VdHhvJzsKaW1wb3J0IHsgZGVjcnlwdFV0eG8sIGRlY3J5cHRVdHhvQ29uc3RydWN0b3JBcmdzIH0gZnJvbSAnLi4vLi4vZGF0YS1zdHJ1Y3R1cmVzL2NyeXB0by1rZXlzL2VuY3J5cHREZWNyeXB0VXR4byc7CmltcG9ydCB7IGNoZWNrVXR4b1NpZ25hdHVyZSwgZGVjb2RlVXR4b0NvbnN0cnVjdG9yQXJncyB9IGZyb20gJy4uLy4uL2RhdGEtc3RydWN0dXJlcy9jcnlwdG8ta2V5cy9kZWNvZGVVVFhPJzsKaW1wb3J0IHsgV29ya2VyUHJveHkgfSBmcm9tICcuLi93b3JrZXJQcm94eSc7CmltcG9ydCB7CiAgQmF0Y2hGaWx0ZXJVdHhvc1dpdGhOdWxsaWZpZXJQYXlsb2FkLAogIEJ1aWxkQmF0Y2hQcm9jZXNzUGF5bG9hZCwKICBEZWNpcGhlclByb2Nlc3NQYXlsb2FkLAogIFV0eG9Xb3JrZXJBY3Rpb25UeXBlLAogIFV0eG9Xb3JrZXJQYXJhbXMsCn0gZnJvbSAnLi91dHhvV29ya2VyLnR5cGVzJzsKCmNvbnN0IHdvcmtlclByb3h5ID0gbmV3IFdvcmtlclByb3h5KCk7CgpleHBvcnQgY29uc3QgaGFuZGxlRmlsdGVyVXR4b3NXaXRoTnVsbGlmaWVyID0gYXN5bmMgKHsgZGF0YSB9OiBCYXRjaEZpbHRlclV0eG9zV2l0aE51bGxpZmllclBheWxvYWQpID0+IHsKICBjb25zdCB7IHV0eG9zLCBudWxsaWZpZXJzIH0gPSBkYXRhOwoKICBjb25zdCBmaWx0ZXJlZFV0eG9zID0gdXR4b3MuZmlsdGVyKChzZXJpYWxpemVkVXR4bykgPT4gewogICAgY29uc3QgdXR4byA9IG5ldyBVdHhvKHNlcmlhbGl6ZWRVdHhvKTsKICAgIHJldHVybiAhbnVsbGlmaWVycy5oYXModXR4by5nZXROdWxsaWZpZXIoKSk7CiAgfSk7CgogIHdvcmtlclByb3h5LnBvc3RNZXNzYWdlVG9NYWluVGhyZWFkKHsKICAgIHV0eG9Db25zdHJ1Y3RvcnM6IGZpbHRlcmVkVXR4b3MsCiAgICBzdGVhbHRoUGFpckNhY2hlOiBzdGVhbHRoUGFpckNhY2hlRGV2aWNlLnNlcmlhbGl6ZSgpLAogICAgc3RlYWx0aEFkZHJlc3NDYWNoZTogc3RlYWx0aEFkZHJlc3NDYWNoZURldmljZS5zZXJpYWxpemUoKSwKICB9KTsKfTsKCmV4cG9ydCBjb25zdCBoYW5kbGVCdWlsZFV0eG9zTWVzc2FnZSA9IGFzeW5jICh7IGRhdGEgfTogQnVpbGRCYXRjaFByb2Nlc3NQYXlsb2FkKSA9PiB7CiAgY29uc3QgdXNlcktleXMgPSBuZXcgVXNlcktleXMoZGF0YS5zaWduYXR1cmUpOwogIGNvbnN0IHNoaWVsZGVkUHJpdmF0ZUtleSA9IHVzZXJLZXlzLmdldFNoaWVsZGVkUHJpdmF0ZUtleSgpOwogIGNvbnN0IGRlY3J5cHRlZCA9IGRhdGEuZW5jcnlwdGVkT3V0cHV0cwogICAgLm1hcCgoZW5jcnlwdGVkT3V0cHV0KSA9PiB7CiAgICAgIHRyeSB7CiAgICAgICAgaWYgKGVuY3J5cHRlZE91dHB1dC5pc1Bvc2l0aXZlKQogICAgICAgICAgcmV0dXJuIGRlY3J5cHRVdHhvQ29uc3RydWN0b3JBcmdzKEJ1ZmZlci5mcm9tKGVuY3J5cHRlZE91dHB1dC52YWx1ZS5zbGljZSgyKSwgJ2hleCcpLCB1c2VyS2V5cyk7CiAgICAgICAgcmV0dXJuIGRlY29kZVV0eG9Db25zdHJ1Y3RvckFyZ3MoZW5jcnlwdGVkT3V0cHV0LnZhbHVlLCBzaGllbGRlZFByaXZhdGVLZXkpOwogICAgICB9IGNhdGNoIHsKICAgICAgICByZXR1cm4gdW5kZWZpbmVkOwogICAgICB9CiAgICB9KQogICAgLmZpbHRlcigodmFsKSA9PiB2YWwgIT09IHVuZGVmaW5lZCAmJiB2YWwuYW1vdW50ICE9PSAwbik7CiAgd29ya2VyUHJveHkucG9zdE1lc3NhZ2VUb01haW5UaHJlYWQoZGVjcnlwdGVkKTsKfTsKCmV4cG9ydCBjb25zdCBoYW5kbGVEZWNpcGhlck1lc3NhZ2UgPSBhc3luYyAoeyBkYXRhIH06IERlY2lwaGVyUHJvY2Vzc1BheWxvYWQpID0+IHsKICBjb25zdCB1c2VyS2V5cyA9IG5ldyBVc2VyS2V5cyhkYXRhLnNpZ25hdHVyZSk7CiAgY29uc3QgYWRkaXRpb25hbEVuY3J5cHRlZE91dHB1dHMgPSBbXTsKICBjb25zdCB7IGVuY3J5cHRlZE91dHB1dHMgfSA9IGRhdGE7CiAgbGV0IHsgbGFzdE91dHB1dCB9ID0gZGF0YTsKICBjb25zdCBzaGllbGRlZFByaXZhdGVLZXkgPSB1c2VyS2V5cy5nZXRTaGllbGRlZFByaXZhdGVLZXkoKTsKICBmb3IgKGxldCBpID0gMDsgaSA8IGVuY3J5cHRlZE91dHB1dHMubGVuZ3RoOyBpICs9IDEpIHsKICAgIGNvbnN0IG91dHB1dCA9IGVuY3J5cHRlZE91dHB1dHNbaV07CiAgICBsYXN0T3V0cHV0ID0gb3V0cHV0LnZhbHVlOwogICAgaWYgKG91dHB1dC5pc1Bvc2l0aXZlKSB7CiAgICAgIHRyeSB7CiAgICAgICAgY29uc3QgZGVjcnlwdGVkVXR4byA9IGRlY3J5cHRVdHhvKEJ1ZmZlci5mcm9tKGxhc3RPdXRwdXQuc2xpY2UoMiksICdoZXgnKSwgdXNlcktleXMpOwoKICAgICAgICBpZiAoIWRlY3J5cHRlZFV0eG8uZXJjMjBUb2tlbkFkZHJlc3MgfHwgIWRlY3J5cHRlZFV0eG8uYW1vdW50IHx8ICFkZWNyeXB0ZWRVdHhvLnN0ZWFsdGhBZGRyZXNzKQogICAgICAgICAgdGhyb3cgRXJyb3IoJ2JydWgnKTsKCiAgICAgICAgYWRkaXRpb25hbEVuY3J5cHRlZE91dHB1dHMucHVzaChvdXRwdXQpOwogICAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikgewogICAgICAgIC8vIGxvZ0Vycm9yKCdVdHhvIG5vdCBkZWNyeXB0ZWQnKTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgdHJ5IHsKICAgICAgICBjb25zdCBjaGVja2VkID0gY2hlY2tVdHhvU2lnbmF0dXJlKGxhc3RPdXRwdXQsIHNoaWVsZGVkUHJpdmF0ZUtleSk7CiAgICAgICAgaWYgKGNoZWNrZWQpIHsKICAgICAgICAgIGFkZGl0aW9uYWxFbmNyeXB0ZWRPdXRwdXRzLnB1c2gob3V0cHV0KTsKICAgICAgICB9CiAgICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7CiAgICAgICAgLy8gbG9nRXJyb3IoJ1V0eG8gbm90IGRlY29kZWQnKTsKICAgICAgfQogICAgfQogIH0KICB3b3JrZXJQcm94eS5wb3N0TWVzc2FnZVRvTWFpblRocmVhZCh7IGFkZGl0aW9uYWxFbmNyeXB0ZWRPdXRwdXRzLCBsYXN0T3V0cHV0IH0pOwp9OwoKZXhwb3J0IGNvbnN0IG9uV29ya2VyTWVzc2FnZSA9IGFzeW5jIChkYXRhOiBVdHhvV29ya2VyUGFyYW1zKSA9PiB7CiAgdHJ5IHsKICAgIGF3YWl0IHByZVByb2Nlc3NpbmcoKTsKICAgIGNvbnN0IHsgdHlwZSB9ID0gZGF0YS5wYXlsb2FkOwogICAgc3dpdGNoICh0eXBlKSB7CiAgICAgIGNhc2UgVXR4b1dvcmtlckFjdGlvblR5cGUuQkFUQ0hfRklMVEVSX1VUWE9TX1dJVEhfTlVMTElGSUVSOgogICAgICAgIGF3YWl0IGhhbmRsZUZpbHRlclV0eG9zV2l0aE51bGxpZmllcihkYXRhLnBheWxvYWQpOwogICAgICAgIHJldHVybjsKICAgICAgY2FzZSBVdHhvV29ya2VyQWN0aW9uVHlwZS5CVUlMRF9VVFhPUzoKICAgICAgICBhd2FpdCBoYW5kbGVCdWlsZFV0eG9zTWVzc2FnZShkYXRhLnBheWxvYWQpOwogICAgICAgIHJldHVybjsKICAgICAgY2FzZSBVdHhvV29ya2VyQWN0aW9uVHlwZS5ERUNJUEhFUl9PVVRQVVRTOgogICAgICAgIGF3YWl0IGhhbmRsZURlY2lwaGVyTWVzc2FnZShkYXRhLnBheWxvYWQpOwogICAgICAgIHJldHVybjsKICAgICAgZGVmYXVsdDoKICAgICAgICB0aHJvdyBFcnJvcihgVW5rbm93biB3b3JrZXIgbWVzc2FnZSB0eXBlICR7dHlwZX1gKTsKICAgIH0KICB9IGNhdGNoIChlcnIpIHsKICAgIGNvbnNvbGUuZXJyb3IoZXJyKTsKICAgIHdvcmtlclByb3h5LnBvc3RFcnJvclRvTWFpblRocmVhZChlcnIpOwogIH0KfTsKCndvcmtlclByb3h5LmF0dGFjaFdvcmtlclNpZGVPbk1lc3NhZ2Uob25Xb3JrZXJNZXNzYWdlKTsKZXhwb3J0IGRlZmF1bHQgd29ya2VyUHJveHk7Cg==", import.meta.url);
16
- break;
17
- case l.ZKProof:
18
- I = new URL("data:video/mp2t;base64,aW1wb3J0IHsgcHJlUHJvY2Vzc2luZyB9IGZyb20gJy4uLy4uL2NyeXB0by9wcmVQcm9jZXNzaW5nJzsKaW1wb3J0IHsgVXNlcktleXMgfSBmcm9tICcuLi8uLi9kYXRhLXN0cnVjdHVyZXMvY3J5cHRvLWtleXMva2V5cyc7CmltcG9ydCB7IElVdHhvQ29uc3RydWN0b3IsIFV0eG8gfSBmcm9tICcuLi8uLi9kYXRhLXN0cnVjdHVyZXMvdXR4by9VdHhvJzsKaW1wb3J0IHsKICBjYWxjQWNjZXNzVG9rZW5TaWJsaW5nc0FuZFNpZGVzLAogIGNhbGNDb21taXRtZW50c1NpYmxpbmdBbmRTaWRlcywKfSBmcm9tICcuLi8uLi9mdW5jdGlvbnMvc25hcmtqcy9jb21tb24uc25hcmtqcyc7CmltcG9ydCB7IFdvcmtlclByb3h5IH0gZnJvbSAnLi4vd29ya2VyUHJveHknOwppbXBvcnQgewogIFpLUHJvb2ZXb3JrZXJBY3Rpb25UeXBlLAogIFpLUHJvb2ZXb3JrZXJCdWlsZEluTnVsbGlmaWVyc1BheWxvYWQsCiAgWktQcm9vZldvcmtlckNhbGNBY2Nlc3NUb2tlblBheWxvYWQsCiAgWktQcm9vZldvcmtlckNhbGNDb21taXRtZW50c1BheWxvYWQsCiAgWktQcm9vZldvcmtlclBhcmFtcywKfSBmcm9tICcuL3prUHJvb2ZXb3JrZXIudHlwZXMnOwppbXBvcnQgeyBjb250cnVjdE1lcmtsZVRyZWVGcm9tU2VyaWFsaXplZCB9IGZyb20gJy4uLy4uL2Z1bmN0aW9ucy91dGlscy9tZXJrbGVUcmVlLnV0aWxzJzsKCmNvbnN0IHdvcmtlclByb3h5ID0gbmV3IFdvcmtlclByb3h5KCk7CgpleHBvcnQgY29uc3QgaGFuZGxlQ2FsY0NvbW1pdG1lbnRzU2libGluZ0FuZFNpZGVzID0gKHBheWxvYWQ6IFpLUHJvb2ZXb3JrZXJDYWxjQ29tbWl0bWVudHNQYXlsb2FkKSA9PiB7CiAgY29uc3QgeyBpbnB1dFV0eG9zU2VyaWFsaXplZCwgbWVya2xlVHJlZVNlcmlhbGl6ZWQgfSA9IHBheWxvYWQuZGF0YTsKCiAgY29uc3QgbWVya2xlVHJlZSA9IGNvbnRydWN0TWVya2xlVHJlZUZyb21TZXJpYWxpemVkKG1lcmtsZVRyZWVTZXJpYWxpemVkKTsKCiAgY29uc3QgaW5wdXRVdHhvcyA9IGlucHV0VXR4b3NTZXJpYWxpemVkLm1hcCgodXR4b0xpc3Q6IElVdHhvQ29uc3RydWN0b3JbXSkgPT4KICAgIHV0eG9MaXN0Lm1hcCgoc2VyaWFsaXplZFV0eG8pID0+IG5ldyBVdHhvKHNlcmlhbGl6ZWRVdHhvKSksCiAgKTsKCiAgY29uc3QgeyBpbkNvbW1pdG1lbnRTaWJsaW5ncywgaW5Db21taXRtZW50U2libGluZ1NpZGVzIH0gPSBjYWxjQ29tbWl0bWVudHNTaWJsaW5nQW5kU2lkZXMoaW5wdXRVdHhvcywgbWVya2xlVHJlZSk7CiAgd29ya2VyUHJveHkucG9zdE1lc3NhZ2VUb01haW5UaHJlYWQoeyBpbkNvbW1pdG1lbnRTaWJsaW5ncywgaW5Db21taXRtZW50U2libGluZ1NpZGVzIH0pOwp9OwoKZXhwb3J0IGNvbnN0IGhhbmRsZUNhbGNBY2Nlc3NUb2tlblNpYmxpbmdBbmRTaWRlcyA9IChwYXlsb2FkOiBaS1Byb29mV29ya2VyQ2FsY0FjY2Vzc1Rva2VuUGF5bG9hZCkgPT4gewogIGNvbnN0IHsgdXNlclNpZ25hdHVyZSwgbWVya2xlVHJlZUFjY2Vzc1Rva2VuU2VyaWFsaXplZCB9ID0gcGF5bG9hZC5kYXRhOwogIGNvbnN0IHVzZXJLZXlzID0gbmV3IFVzZXJLZXlzKHVzZXJTaWduYXR1cmUpOwoKICBjb25zdCBtZXJrbGVUcmVlID0gY29udHJ1Y3RNZXJrbGVUcmVlRnJvbVNlcmlhbGl6ZWQobWVya2xlVHJlZUFjY2Vzc1Rva2VuU2VyaWFsaXplZCk7CgogIGNvbnN0IHsgYWNjZXNzVG9rZW5TaWJsaW5ncywgYWNjZXNzVG9rZW5TaWJsaW5nU2lkZXMgfSA9IGNhbGNBY2Nlc3NUb2tlblNpYmxpbmdzQW5kU2lkZXModXNlcktleXMsIG1lcmtsZVRyZWUpOwogIHdvcmtlclByb3h5LnBvc3RNZXNzYWdlVG9NYWluVGhyZWFkKHsgYWNjZXNzVG9rZW5TaWJsaW5ncywgYWNjZXNzVG9rZW5TaWJsaW5nU2lkZXMgfSk7Cn07CgpleHBvcnQgY29uc3QgaGFuZGxlQnVpbGRJbk51bGxpZmllcnMgPSAocGF5bG9hZDogWktQcm9vZldvcmtlckJ1aWxkSW5OdWxsaWZpZXJzUGF5bG9hZCkgPT4gewogIGNvbnN0IHsgaW5wdXRVdHhvc1NlcmlhbGl6ZWQsIG9uQ2hhaW5DcmVhdGlvbiwgcHJvdmVyVmVyc2lvbiB9ID0gcGF5bG9hZC5kYXRhOwogIGNvbnN0IGlucHV0VXR4b3MgPSBpbnB1dFV0eG9zU2VyaWFsaXplZC5tYXAoKHV0eG9MaXN0OiBJVXR4b0NvbnN0cnVjdG9yW10pID0+CiAgICB1dHhvTGlzdC5tYXAoKHNlcmlhbGl6ZWRVdHhvKSA9PiBuZXcgVXR4byhzZXJpYWxpemVkVXR4bykpLAogICk7CiAgbGV0IHJlc3VsdDogc3RyaW5nW11bXSA9IFtdOwogIGlmIChwcm92ZXJWZXJzaW9uID09PSAndjF4MCcpIHsKICAgIHJlc3VsdCA9IGlucHV0VXR4b3MubWFwKCh0b2tlbiwgaW5kZXgpID0+CiAgICAgIHRva2VuLm1hcCgodXR4bykgPT4gKG9uQ2hhaW5DcmVhdGlvbltpbmRleF0gPyAnMCcgOiB1dHhvLmdldE51bGxpZmllcigpKSksCiAgICApOwogIH0gZWxzZSB7CiAgICByZXN1bHQgPSBpbnB1dFV0eG9zLm1hcCgodG9rZW4pID0+IHRva2VuLm1hcCgodXR4bykgPT4gKHV0eG8uYW1vdW50ID09PSAwbiA/ICcwJyA6IHV0eG8uZ2V0TnVsbGlmaWVyKCkpKSk7CiAgfQoKICB3b3JrZXJQcm94eS5wb3N0TWVzc2FnZVRvTWFpblRocmVhZChyZXN1bHQpOwp9OwoKZXhwb3J0IGNvbnN0IG9uV29ya2VyTWVzc2FnZSA9IGFzeW5jIChkYXRhOiBaS1Byb29mV29ya2VyUGFyYW1zKSA9PiB7CiAgdHJ5IHsKICAgIGF3YWl0IHByZVByb2Nlc3NpbmcoKTsKICAgIGNvbnN0IHsgdHlwZSB9ID0gZGF0YS5wYXlsb2FkOwogICAgc3dpdGNoICh0eXBlKSB7CiAgICAgIGNhc2UgWktQcm9vZldvcmtlckFjdGlvblR5cGUuQ0FMQ19DT01NSVRNRU5UU19TSUJMSU5HX0FORF9TSURFUzoKICAgICAgICBoYW5kbGVDYWxjQ29tbWl0bWVudHNTaWJsaW5nQW5kU2lkZXMoZGF0YS5wYXlsb2FkKTsKICAgICAgICByZXR1cm47CiAgICAgIGNhc2UgWktQcm9vZldvcmtlckFjdGlvblR5cGUuQ0FMQ19BQ0NFU1NfVE9LRU5fU0lCTElOR19BTkRfU0lERVM6CiAgICAgICAgaGFuZGxlQ2FsY0FjY2Vzc1Rva2VuU2libGluZ0FuZFNpZGVzKGRhdGEucGF5bG9hZCk7CiAgICAgICAgcmV0dXJuOwogICAgICBjYXNlIFpLUHJvb2ZXb3JrZXJBY3Rpb25UeXBlLkJVSUxEX0lOX05VTExJRklFUlM6CiAgICAgICAgaGFuZGxlQnVpbGRJbk51bGxpZmllcnMoZGF0YS5wYXlsb2FkKTsKICAgICAgICByZXR1cm47CiAgICAgIGRlZmF1bHQ6CiAgICAgICAgdGhyb3cgRXJyb3IoYFVua25vd24gd29ya2VyIG1lc3NhZ2UgdHlwZSAke3R5cGV9YCk7CiAgICB9CiAgfSBjYXRjaCAoZXJyKSB7CiAgICBjb25zb2xlLmVycm9yKGVycik7CiAgICB3b3JrZXJQcm94eS5wb3N0RXJyb3JUb01haW5UaHJlYWQoZXJyKTsKICB9Cn07Cgp3b3JrZXJQcm94eS5hdHRhY2hXb3JrZXJTaWRlT25NZXNzYWdlKG9uV29ya2VyTWVzc2FnZSk7CmV4cG9ydCBkZWZhdWx0IHdvcmtlclByb3h5Owo=", import.meta.url);
19
- break;
20
- case l.SnarkJS:
21
- I = new URL("data:video/mp2t;base64,LyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2RvdC1ub3RhdGlvbiAqLwovKioKICogVGhpcyBXZWIgV29ya2VyIG9ubHkgaGFuZGxlIHNuYXJranMgb3BlcmF0aW9uLgogKiBJZiBwb3NzaWJsZSwgYXZvaWQgaW1wb3J0aW5nIG1vZHVsZXMgZm9ybSBtYWluIHByb2plY3QgYW5kIGluc3RlYWQgcGFzcyBkYXRhIGFsb25nIHdpdGggbWVzc2FnZQogKiB0byBlbnN1cmUgdGhpcyB3b3JrZXIgc3RheSBsZWFuLgogKi8KaW1wb3J0IHsgV29ya2VyUHJveHkgfSBmcm9tICcuLi93b3JrZXJQcm94eSc7CmltcG9ydCB7IFNuYXJrSlNQYXJhbXMgfSBmcm9tICcuL3NuYXJranNXb3JrZXIudHlwZXMnOwppbXBvcnQgeyBpc05vZGUsIGlzV2VicGFjayB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy92aXRlLmNvbnN0YW50cyc7CgovLyBETyBOT1QgaW5zdGFsbCBAdHlwZXMgZm9yIHRoaXMsIGVsc2UgaGFyZGhhdCB3aWxsIHBpY2sgdXAgdGhlIHdyb25nIGZpbGUgYW5kIGZhaWwgKG91ciB2ZXJzaW9uIGlzIG9sZGVyIHRoYW4gb2xkZXN0IEB0eXBlcykKLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lCi8vIEB0cy1pZ25vcmUKaW1wb3J0ICogYXMgc25hcmtqcyBmcm9tICdzbmFya2pzJzsKaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJzsKCmNvbnN0IHdvcmtlclByb3h5ID0gbmV3IFdvcmtlclByb3h5KCk7CgpleHBvcnQgY29uc3QgZmV0Y2hVaW50OEFycmF5ID0gYXN5bmMgKGZpbGVVcmw6IHN0cmluZyk6IFByb21pc2U8VWludDhBcnJheT4gPT4gewogIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgYXhpb3MuZ2V0PEFycmF5QnVmZmVyPihmaWxlVXJsLCB7IHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyB9KTsKICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZGF0YSk7Cn07CgpleHBvcnQgY29uc3Qgb25Xb3JrZXJNZXNzYWdlID0gYXN5bmMgKGRhdGE6IFNuYXJrSlNQYXJhbXMpID0+IHsKICB0cnkgewogICAgY29uc3QgeyBpbnB1dCwgd2FzbUZpbGVQYXRoLCB6S2V5RmlsZVBhdGgsIGNoYWluSWQgfSA9IGRhdGEucGF5bG9hZC5kYXRhOwogICAgY29uc3QgewogICAgICBob3N0TG9jYXRpb246IHsgb3JpZ2luIH0sCiAgICAgIGNvbnN0YW50czogewogICAgICAgIGlzRGV2ZWxvcG1lbnQsCiAgICAgICAgY2hhaW5zOiB7IGNoYWluSWRzIH0sCiAgICAgIH0sCiAgICB9ID0gZGF0YS5tZXRhZGF0YTsKCiAgICAvLyBERUZBVUxUIENBU0U6IGJyb3dzZXIgYW5kIHByb2R1Y3Rpb24sIHNvIHdlIGFjY2VzcyB2ZXJpZmllcnMgd2l0aCByZW1vdGUgbGlua3MKICAgIGxldCB3YXNtRnVsbEZpbGVQYXRoID0gd2FzbUZpbGVQYXRoOwogICAgbGV0IHpLZXlGdWxsRmlsZVBhdGggPSB6S2V5RmlsZVBhdGg7CgogICAgbGV0IHdhc21GaWxlQnVmZmVyOiBVaW50OEFycmF5IHwgdW5kZWZpbmVkOwogICAgbGV0IHpLZXlGaWxlQnVmZmVyOiBVaW50OEFycmF5IHwgdW5kZWZpbmVkOwoKICAgIGNvbnN0IGlzT25saW5lID0gd2FzbUZ1bGxGaWxlUGF0aC5zdGFydHNXaXRoKCdodHRwczovLycpOwoKICAgIC8vIENBU0UgMTogbm9kZWpzIGFjY2Vzc2lnbiBmaWxlcyBsb2NhbHkKICAgIGlmIChpc05vZGUgJiYgIWlzT25saW5lKSB7CiAgICAgIC8vIHN1YmNhc2UgMTogd2hlbiBub2RlanMgY29kZSBpcyBidW5kbGVkCiAgICAgIGlmIChpc1dlYnBhY2spIHsKICAgICAgICB3YXNtRnVsbEZpbGVQYXRoID0gYGxpYnMvaGFyZGhhdC90ZXN0L2NpcmN1aXRzLyR7d2FzbUZpbGVQYXRofWA7CiAgICAgICAgektleUZ1bGxGaWxlUGF0aCA9IGBsaWJzL2hhcmRoYXQvdGVzdC9jaXJjdWl0cy8ke3pLZXlGaWxlUGF0aH1gOwogICAgICB9CiAgICAgIC8vIHN1YmNhc2UgMjogd2hlbiBub2RlanMgY29kZSBpcyBub3QgYnVuZGxlZAogICAgICBlbHNlIGlmICghaXNXZWJwYWNrICYmIGlzRGV2ZWxvcG1lbnQpIHsKICAgICAgICB3YXNtRnVsbEZpbGVQYXRoID0gYHRlc3QvY2lyY3VpdHMvJHt3YXNtRmlsZVBhdGh9YDsKICAgICAgICB6S2V5RnVsbEZpbGVQYXRoID0gYHRlc3QvY2lyY3VpdHMvJHt6S2V5RmlsZVBhdGh9YDsKICAgICAgfQogICAgICAvLyBlbHNlIGlmIGNhc2U6ICFpc1dlYnBhY2sgJiYgIWlzRGV2ZWxvcG1lbnQKICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGdsb2JhbC1yZXF1aXJlLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzCiAgICAgIGNvbnN0IHBhdGggPSByZXF1aXJlKCdwYXRoJyk7CiAgICAgIHdhc21GdWxsRmlsZVBhdGggPSBwYXRoLnJlc29sdmUod2FzbUZ1bGxGaWxlUGF0aCk7CiAgICAgIHpLZXlGdWxsRmlsZVBhdGggPSBwYXRoLnJlc29sdmUoektleUZ1bGxGaWxlUGF0aCk7CiAgICAgIC8vIENBU0UgMjogbm9kZWpzIGFjY2Vzc2luZyBmaWxlcyByZW1vdGVseQogICAgfQogICAgaWYgKGlzTm9kZSAmJiBpc09ubGluZSkgewogICAgICAvLyBJbiBjYXNlLCB3ZSBoYXZlIG5vZGUgZW52aXJvbWVudCB0aGF0IHVzZXMgQGhpbmthbC9jb21tb24gYXMgYSBsaWJyYXJ5LCBzbmFya2pzIHRyaWVzIHRvIHJlYWQgImh0dHBzOi8vLi4uIiBmcm9tIGxvY2FsLCB0aGF0J3Mgd2h5IHdlIHB1dCBoZXJlIGRvd25sb2FkIG9wZXJhdGlvbi4gT3RoZXJ3aXNlLCBmaWxlIGlzIG5vdCBmb3VuZAogICAgICAvLyBzbmFya2pzIHVzZXMgZmFzdGZpbGUgdG8gbWFuYWdlIHZlcmlmaWVycy4gV2Ugd2FudCB0byBkb3dubG9hZCBmaWxlIGFuZCBwcm92aWRlIGl0IHRvIHNuYXJranMgYW5kIGRvIGl0IGluIG9uZSBsaW5lLgogICAgICAvLyBAdHMtaWdub3JlIEhlcmU6aHR0cHM6Ly9naXRodWIuY29tL2lkZW4zL2Zhc3RmaWxlL2Jsb2IvbWFzdGVyL3NyYy9mYXN0ZmlsZS5qcyBMaW5lIDU5LCB0aGV5IHVzZSB0aGlzIHZhcmlhYmxlIHRvIGluZGljYXRlIHRvIGRvd25sb2FkIGZpbGUgZmlyc3QgYW5kIHRoZW4gdG8gcHJvY2Vzcy4gV2UgbmVlZCBpdCBldmVuIGlmIHdlIHJ1biBpbiBub2RlIGVudmlyb21lbnQuCiAgICAgIHdhc21GaWxlQnVmZmVyID0gYXdhaXQgZmV0Y2hVaW50OEFycmF5KHdhc21GdWxsRmlsZVBhdGgpOwogICAgICB6S2V5RmlsZUJ1ZmZlciA9IGF3YWl0IGZldGNoVWludDhBcnJheSh6S2V5RnVsbEZpbGVQYXRoKTsKICAgIH0KICAgIC8vIENBU0UgMzogbG9jYWwgZGV2ZWxvcGVtZW50IGFuZCB3ZSBhY2Nlc3MgZmlsZXMgbG9jYWx5CiAgICBlbHNlIGlmIChjaGFpbklkID09PSBjaGFpbklkc1snbG9jYWxob3N0J10gJiYgIWlzTm9kZSkgewogICAgICB3YXNtRnVsbEZpbGVQYXRoID0gYCR7b3JpZ2lufS8ke3dhc21GaWxlUGF0aH1gOwogICAgICB6S2V5RnVsbEZpbGVQYXRoID0gYCR7b3JpZ2lufS8ke3pLZXlGaWxlUGF0aH1gOwogICAgfQogICAgY29uc3QgeyBwcm9vZiwgcHVibGljU2lnbmFscyB9ID0gYXdhaXQgc25hcmtqcy5ncm90aDE2LmZ1bGxQcm92ZSgKICAgICAgaW5wdXQsCiAgICAgIHdhc21GaWxlQnVmZmVyID8/IHdhc21GdWxsRmlsZVBhdGgsCiAgICAgIHpLZXlGaWxlQnVmZmVyID8/IHpLZXlGdWxsRmlsZVBhdGgsCiAgICApOwogICAgY29uc3QgemtDYWxsRGF0YVJhdyA9IGF3YWl0IHNuYXJranMuZ3JvdGgxNi5leHBvcnRTb2xpZGl0eUNhbGxEYXRhKHByb29mLCBwdWJsaWNTaWduYWxzKTsKICAgIGNvbnN0IHprQ2FsbERhdGEgPSBKU09OLnBhcnNlKGBbJHt6a0NhbGxEYXRhUmF3fV1gKTsKCiAgICB3b3JrZXJQcm94eS5wb3N0TWVzc2FnZVRvTWFpblRocmVhZCh7IHprQ2FsbERhdGEsIHByb29mLCBwdWJsaWNTaWduYWxzIH0pOwogIH0gY2F0Y2ggKGVycikgewogICAgY29uc29sZS5lcnJvcihlcnIpOwogICAgd29ya2VyUHJveHkucG9zdEVycm9yVG9NYWluVGhyZWFkKGVycik7CiAgfQp9OwoKd29ya2VyUHJveHkuYXR0YWNoV29ya2VyU2lkZU9uTWVzc2FnZShvbldvcmtlck1lc3NhZ2UpOwpleHBvcnQgZGVmYXVsdCB3b3JrZXJQcm94eTsK", import.meta.url);
22
- break;
23
- default:
24
- throw new Error(`Unknown worker type: ${g}`);
25
- }
26
- return new Worker(I, { type: "module" });
8
+ const t = (await s())[r];
9
+ if (!t)
10
+ throw new Error(`Worker URL not found for variant ${r}`);
11
+ return new Worker(t, { type: "module" });
27
12
  };
28
- static getWebWorker(g) {
29
- let I = this.workers.get(g);
30
- return I || (I = Z.createWorker(g), this.workers.set(g, I)), I;
13
+ static getWebWorker(r) {
14
+ let e = this.workers.get(r);
15
+ return e || (e = o.createWorker(r), this.workers.set(r, e)), e;
31
16
  }
32
17
  }
33
18
  export {
34
- Z as WorkerFactory
19
+ o as WorkerFactory
35
20
  };
@@ -0,0 +1 @@
1
+ "use strict";const e=""+(typeof document>"u"?require("url").pathToFileURL(__dirname+"/../../assets/zkProofWorkerLauncher-CoKmCKjC.js").href:new URL("../../assets/zkProofWorkerLauncher-CoKmCKjC.js",document.currentScript&&document.currentScript.src||document.baseURI).href);module.exports=e;
@@ -0,0 +1,4 @@
1
+ const r = "" + new URL("../../assets/zkProofWorkerLauncher-CoKmCKjC.js", import.meta.url).href;
2
+ export {
3
+ r as default
4
+ };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const M=require("../workerProxy.cjs"),i=require("../../constants/vite.constants.cjs"),O=require("snarkjs"),v=require("axios");function F(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const g=F(O),n=new M.WorkerProxy,c=async e=>{const{data:t}=await v.get(e,{responseType:"arraybuffer"});return new Uint8Array(t)},b=async e=>{try{const{input:t,wasmFilePath:r,zKeyFilePath:s,chainId:w}=e.payload.data,{hostLocation:{origin:l},constants:{isDevelopment:k,chains:{chainIds:P}}}=e.metadata;let a=r,o=s,u,f;const h=a.startsWith("https://");if(i.isNode&&!h){i.isWebpack?(a=`libs/hardhat/test/circuits/${r}`,o=`libs/hardhat/test/circuits/${s}`):!i.isWebpack&&k&&(a=`test/circuits/${r}`,o=`test/circuits/${s}`);const y=require("path");a=y.resolve(a),o=y.resolve(o)}i.isNode&&h?(u=await c(a),f=await c(o)):w===P.localhost&&!i.isNode&&(a=`${l}/${r}`,o=`${l}/${s}`);const{proof:d,publicSignals:p}=await g.groth16.fullProve(t,u??a,f??o),m=await g.groth16.exportSolidityCallData(d,p),$=JSON.parse(`[${m}]`);n.postMessageToMainThread({zkCallData:$,proof:d,publicSignals:p})}catch(t){console.error(t),n.postErrorToMainThread(t)}};n.attachWorkerSideOnMessage(b);exports.default=n;exports.fetchUint8Array=c;exports.onWorkerMessage=b;
@@ -1,40 +0,0 @@
1
- import { WorkerProxy as b } from "../workerProxy.mjs";
2
- import { isNode as i, isWebpack as d } from "../../constants/vite.constants.mjs";
3
- import * as m from "snarkjs";
4
- import x from "axios";
5
- const l = new b(), w = async (r) => {
6
- const { data: e } = await x.get(r, { responseType: "arraybuffer" });
7
- return new Uint8Array(e);
8
- }, z = async (r) => {
9
- try {
10
- const { input: e, wasmFilePath: s, zKeyFilePath: o, chainId: $ } = r.payload.data, {
11
- hostLocation: { origin: n },
12
- constants: {
13
- isDevelopment: g,
14
- chains: { chainIds: k }
15
- }
16
- } = r.metadata;
17
- let t = s, a = o, c, h;
18
- const f = t.startsWith("https://");
19
- if (i && !f) {
20
- d ? (t = `libs/hardhat/test/circuits/${s}`, a = `libs/hardhat/test/circuits/${o}`) : !d && g && (t = `test/circuits/${s}`, a = `test/circuits/${o}`);
21
- const y = require("path");
22
- t = y.resolve(t), a = y.resolve(a);
23
- }
24
- i && f ? (c = await w(t), h = await w(a)) : $ === k.localhost && !i && (t = `${n}/${s}`, a = `${n}/${o}`);
25
- const { proof: p, publicSignals: u } = await m.groth16.fullProve(
26
- e,
27
- c ?? t,
28
- h ?? a
29
- ), F = await m.groth16.exportSolidityCallData(p, u), P = JSON.parse(`[${F}]`);
30
- l.postMessageToMainThread({ zkCallData: P, proof: p, publicSignals: u });
31
- } catch (e) {
32
- console.error(e), l.postErrorToMainThread(e);
33
- }
34
- };
35
- l.attachWorkerSideOnMessage(z);
36
- export {
37
- l as default,
38
- w as fetchUint8Array,
39
- z as onWorkerMessage
40
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("../../crypto/preProcessing.cjs"),a=require("../../data-structures/crypto-keys/keys.cjs"),T=require("../../data-structures/utxo/Utxo.cjs"),h=require("../../data-structures/crypto-keys/encryptDecryptUtxo.cjs"),y=require("../../data-structures/crypto-keys/decodeUTXO.cjs"),k=require("../workerProxy.cjs"),d=require("./utxoWorker.types.cjs"),c=new k.WorkerProxy,p=async({data:e})=>{const{utxos:r,nullifiers:s}=e,o=r.filter(t=>{const u=new T.Utxo(t);return!s.has(u.getNullifier())});c.postMessageToMainThread({utxoConstructors:o,stealthPairCache:a.stealthPairCacheDevice.serialize(),stealthAddressCache:a.stealthAddressCacheDevice.serialize()})},U=async({data:e})=>{const r=new a.UserKeys(e.signature),s=r.getShieldedPrivateKey(),o=e.encryptedOutputs.map(t=>{try{return t.isPositive?h.decryptUtxoConstructorArgs(Buffer.from(t.value.slice(2),"hex"),r):y.decodeUtxoConstructorArgs(t.value,s)}catch{return}}).filter(t=>t!==void 0&&t.amount!==0n);c.postMessageToMainThread(o)},x=async({data:e})=>{const r=new a.UserKeys(e.signature),s=[],{encryptedOutputs:o}=e;let{lastOutput:t}=e;const u=r.getShieldedPrivateKey();for(let l=0;l<o.length;l+=1){const n=o[l];if(t=n.value,n.isPositive)try{const i=h.decryptUtxo(Buffer.from(t.slice(2),"hex"),r);if(!i.erc20TokenAddress||!i.amount||!i.stealthAddress)throw Error("bruh");s.push(n)}catch{}else try{y.checkUtxoSignature(t,u)&&s.push(n)}catch{}}c.postMessageToMainThread({additionalEncryptedOutputs:s,lastOutput:t})},g=async e=>{try{await f.preProcessing();const{type:r}=e.payload;switch(r){case d.UtxoWorkerActionType.BATCH_FILTER_UTXOS_WITH_NULLIFIER:await p(e.payload);return;case d.UtxoWorkerActionType.BUILD_UTXOS:await U(e.payload);return;case d.UtxoWorkerActionType.DECIPHER_OUTPUTS:await x(e.payload);return;default:throw Error(`Unknown worker message type ${r}`)}}catch(r){console.error(r),c.postErrorToMainThread(r)}};c.attachWorkerSideOnMessage(g);exports.default=c;exports.handleBuildUtxosMessage=U;exports.handleDecipherMessage=x;exports.handleFilterUtxosWithNullifier=p;exports.onWorkerMessage=g;
@@ -1,76 +0,0 @@
1
- import { preProcessing as u } from "../../crypto/preProcessing.mjs";
2
- import { stealthPairCacheDevice as p, stealthAddressCacheDevice as y, UserKeys as h } from "../../data-structures/crypto-keys/keys.mjs";
3
- import { Utxo as f } from "../../data-structures/utxo/Utxo.mjs";
4
- import { decryptUtxoConstructorArgs as m, decryptUtxo as g } from "../../data-structures/crypto-keys/encryptDecryptUtxo.mjs";
5
- import { decodeUtxoConstructorArgs as x, checkUtxoSignature as U } from "../../data-structures/crypto-keys/decodeUTXO.mjs";
6
- import { WorkerProxy as T } from "../workerProxy.mjs";
7
- import { UtxoWorkerActionType as d } from "./utxoWorker.types.mjs";
8
- const i = new T(), w = async ({ data: e }) => {
9
- const { utxos: r, nullifiers: s } = e, o = r.filter((t) => {
10
- const n = new f(t);
11
- return !s.has(n.getNullifier());
12
- });
13
- i.postMessageToMainThread({
14
- utxoConstructors: o,
15
- stealthPairCache: p.serialize(),
16
- stealthAddressCache: y.serialize()
17
- });
18
- }, P = async ({ data: e }) => {
19
- const r = new h(e.signature), s = r.getShieldedPrivateKey(), o = e.encryptedOutputs.map((t) => {
20
- try {
21
- return t.isPositive ? m(Buffer.from(t.value.slice(2), "hex"), r) : x(t.value, s);
22
- } catch {
23
- return;
24
- }
25
- }).filter((t) => t !== void 0 && t.amount !== 0n);
26
- i.postMessageToMainThread(o);
27
- }, v = async ({ data: e }) => {
28
- const r = new h(e.signature), s = [], { encryptedOutputs: o } = e;
29
- let { lastOutput: t } = e;
30
- const n = r.getShieldedPrivateKey();
31
- for (let l = 0; l < o.length; l += 1) {
32
- const c = o[l];
33
- if (t = c.value, c.isPositive)
34
- try {
35
- const a = g(Buffer.from(t.slice(2), "hex"), r);
36
- if (!a.erc20TokenAddress || !a.amount || !a.stealthAddress)
37
- throw Error("bruh");
38
- s.push(c);
39
- } catch {
40
- }
41
- else
42
- try {
43
- U(t, n) && s.push(c);
44
- } catch {
45
- }
46
- }
47
- i.postMessageToMainThread({ additionalEncryptedOutputs: s, lastOutput: t });
48
- }, k = async (e) => {
49
- try {
50
- await u();
51
- const { type: r } = e.payload;
52
- switch (r) {
53
- case d.BATCH_FILTER_UTXOS_WITH_NULLIFIER:
54
- await w(e.payload);
55
- return;
56
- case d.BUILD_UTXOS:
57
- await P(e.payload);
58
- return;
59
- case d.DECIPHER_OUTPUTS:
60
- await v(e.payload);
61
- return;
62
- default:
63
- throw Error(`Unknown worker message type ${r}`);
64
- }
65
- } catch (r) {
66
- console.error(r), i.postErrorToMainThread(r);
67
- }
68
- };
69
- i.attachWorkerSideOnMessage(k);
70
- export {
71
- i as default,
72
- P as handleBuildUtxosMessage,
73
- v as handleDecipherMessage,
74
- w as handleFilterUtxosWithNullifier,
75
- k as onWorkerMessage
76
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class s{isNode=!1;isSandbox=!1;onmessage=null;onerror=null;_eventEmitter;get eventEmitter(){if(this._eventEmitter)return this._eventEmitter;if(this.isNode){const e=require("events");this._eventEmitter=new e}else this._eventEmitter=new EventTarget;return this._eventEmitter}constructor(){this.isNode=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,this.isSandbox=typeof window<"u"&&window.origin==="null"}terminate(){}postMessage(e){this.isNode?this.eventEmitter.emit("message",e):this.isSandbox?this.eventEmitter?.dispatchEvent(new CustomEvent("worker-message",{detail:e})):postMessage(e)}postMessageToMainThread(e){const t={data:e};this.onmessage?this.onmessage(t):postMessage(e)}postErrorToMainThread(e){const t={data:{error:e}};this.onerror?this.onerror(t):postMessage(e)}attachWorkerSideOnMessage(e){this.isNode?this.eventEmitter.on("message",t=>{e(t)}):this.isSandbox&&this.eventEmitter.addEventListener("worker-message",t=>{e(t.detail)})}}exports.WorkerProxy=s;
@@ -1,54 +0,0 @@
1
- class i {
2
- isNode = !1;
3
- isSandbox = !1;
4
- /**
5
- * This allow browser or main thread to listen for worker response message
6
- * using the normal `worker.onmessage = () => {}` syntax. Is should only be side on the
7
- * main thread side, not on worker side.
8
- */
9
- onmessage = null;
10
- /**
11
- * This allow browser or main thread to listen for worker response message
12
- * using the normal `worker.onerror = () => {}` syntax. Is should only be side on the
13
- * main thread side, not on worker side.
14
- */
15
- onerror = null;
16
- _eventEmitter;
17
- // node EventEmitter
18
- get eventEmitter() {
19
- if (this._eventEmitter)
20
- return this._eventEmitter;
21
- if (this.isNode) {
22
- const e = require("events");
23
- this._eventEmitter = new e();
24
- } else
25
- this._eventEmitter = new EventTarget();
26
- return this._eventEmitter;
27
- }
28
- constructor() {
29
- this.isNode = typeof process < "u" && process.versions != null && process.versions.node != null, this.isSandbox = typeof window < "u" && window.origin === "null";
30
- }
31
- terminate() {
32
- }
33
- postMessage(e) {
34
- this.isNode ? this.eventEmitter.emit("message", e) : this.isSandbox ? this.eventEmitter?.dispatchEvent(new CustomEvent("worker-message", { detail: e })) : postMessage(e);
35
- }
36
- postMessageToMainThread(e) {
37
- const t = { data: e };
38
- this.onmessage ? this.onmessage(t) : postMessage(e);
39
- }
40
- postErrorToMainThread(e) {
41
- const t = { data: { error: e } };
42
- this.onerror ? this.onerror(t) : postMessage(e);
43
- }
44
- attachWorkerSideOnMessage(e) {
45
- this.isNode ? this.eventEmitter.on("message", (t) => {
46
- e(t);
47
- }) : this.isSandbox && this.eventEmitter.addEventListener("worker-message", (t) => {
48
- e(t.detail);
49
- });
50
- }
51
- }
52
- export {
53
- i as WorkerProxy
54
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const y=require("../../crypto/preProcessing.cjs"),A=require("../../data-structures/crypto-keys/keys.cjs"),S=require("../../data-structures/utxo/Utxo.cjs"),m=require("../../functions/snarkjs/common.snarkjs.cjs"),C=require("../workerProxy.cjs"),d=require("./zkProofWorker.types.cjs"),u=require("../../functions/utils/merkleTree.utils.cjs"),t=new C.WorkerProxy,p=r=>{const{inputUtxosSerialized:e,merkleTreeSerialized:a}=r.data,c=u.contructMerkleTreeFromSerialized(a),i=e.map(n=>n.map(l=>new S.Utxo(l))),{inCommitmentSiblings:s,inCommitmentSiblingSides:o}=m.calcCommitmentsSiblingAndSides(i,c);t.postMessageToMainThread({inCommitmentSiblings:s,inCommitmentSiblingSides:o})},k=r=>{const{userSignature:e,merkleTreeAccessTokenSerialized:a}=r.data,c=new A.UserKeys(e),i=u.contructMerkleTreeFromSerialized(a),{accessTokenSiblings:s,accessTokenSiblingSides:o}=m.calcAccessTokenSiblingsAndSides(c,i);t.postMessageToMainThread({accessTokenSiblings:s,accessTokenSiblingSides:o})},T=r=>{const{inputUtxosSerialized:e,onChainCreation:a,proverVersion:c}=r.data,i=e.map(o=>o.map(n=>new S.Utxo(n)));let s=[];c==="v1x0"?s=i.map((o,n)=>o.map(l=>a[n]?"0":l.getNullifier())):s=i.map(o=>o.map(n=>n.amount===0n?"0":n.getNullifier())),t.postMessageToMainThread(s)},g=async r=>{try{await y.preProcessing();const{type:e}=r.payload;switch(e){case d.ZKProofWorkerActionType.CALC_COMMITMENTS_SIBLING_AND_SIDES:p(r.payload);return;case d.ZKProofWorkerActionType.CALC_ACCESS_TOKEN_SIBLING_AND_SIDES:k(r.payload);return;case d.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS:T(r.payload);return;default:throw Error(`Unknown worker message type ${e}`)}}catch(e){console.error(e),t.postErrorToMainThread(e)}};t.attachWorkerSideOnMessage(g);exports.default=t;exports.handleBuildInNullifiers=T;exports.handleCalcAccessTokenSiblingAndSides=k;exports.handleCalcCommitmentsSiblingAndSides=p;exports.onWorkerMessage=g;
@@ -1,52 +0,0 @@
1
- import { preProcessing as d } from "../../crypto/preProcessing.mjs";
2
- import { UserKeys as T } from "../../data-structures/crypto-keys/keys.mjs";
3
- import { Utxo as p } from "../../data-structures/utxo/Utxo.mjs";
4
- import { calcCommitmentsSiblingAndSides as g, calcAccessTokenSiblingsAndSides as u } from "../../functions/snarkjs/common.snarkjs.mjs";
5
- import { WorkerProxy as k } from "../workerProxy.mjs";
6
- import { ZKProofWorkerActionType as m } from "./zkProofWorker.types.mjs";
7
- import { contructMerkleTreeFromSerialized as S } from "../../functions/utils/merkleTree.utils.mjs";
8
- const c = new k(), C = (r) => {
9
- const { inputUtxosSerialized: e, merkleTreeSerialized: t } = r.data, a = S(t), i = e.map(
10
- (n) => n.map((l) => new p(l))
11
- ), { inCommitmentSiblings: s, inCommitmentSiblingSides: o } = g(i, a);
12
- c.postMessageToMainThread({ inCommitmentSiblings: s, inCommitmentSiblingSides: o });
13
- }, f = (r) => {
14
- const { userSignature: e, merkleTreeAccessTokenSerialized: t } = r.data, a = new T(e), i = S(t), { accessTokenSiblings: s, accessTokenSiblingSides: o } = u(a, i);
15
- c.postMessageToMainThread({ accessTokenSiblings: s, accessTokenSiblingSides: o });
16
- }, y = (r) => {
17
- const { inputUtxosSerialized: e, onChainCreation: t, proverVersion: a } = r.data, i = e.map(
18
- (o) => o.map((n) => new p(n))
19
- );
20
- let s = [];
21
- a === "v1x0" ? s = i.map(
22
- (o, n) => o.map((l) => t[n] ? "0" : l.getNullifier())
23
- ) : s = i.map((o) => o.map((n) => n.amount === 0n ? "0" : n.getNullifier())), c.postMessageToMainThread(s);
24
- }, A = async (r) => {
25
- try {
26
- await d();
27
- const { type: e } = r.payload;
28
- switch (e) {
29
- case m.CALC_COMMITMENTS_SIBLING_AND_SIDES:
30
- C(r.payload);
31
- return;
32
- case m.CALC_ACCESS_TOKEN_SIBLING_AND_SIDES:
33
- f(r.payload);
34
- return;
35
- case m.BUILD_IN_NULLIFIERS:
36
- y(r.payload);
37
- return;
38
- default:
39
- throw Error(`Unknown worker message type ${e}`);
40
- }
41
- } catch (e) {
42
- console.error(e), c.postErrorToMainThread(e);
43
- }
44
- };
45
- c.attachWorkerSideOnMessage(A);
46
- export {
47
- c as default,
48
- y as handleBuildInNullifiers,
49
- f as handleCalcAccessTokenSiblingAndSides,
50
- C as handleCalcCommitmentsSiblingAndSides,
51
- A as onWorkerMessage
52
- };