@prosopo/procaptcha-pow 2.13.19 → 2.14.1
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/.turbo/turbo-build$colon$cjs.log +10 -7
- package/.turbo/turbo-build$colon$esm.log +11 -8
- package/.turbo/turbo-build$colon$tsc.log +17 -17
- package/CHANGELOG.md +44 -0
- package/dist/cjs/services/Manager.cjs +3 -3
- package/dist/cjs/services/multiThreadedSolver.cjs +81 -0
- package/dist/cjs/services/powWorker.cjs +19 -0
- package/dist/esm/services/Manager.js +5 -5
- package/dist/esm/services/multiThreadedSolver.js +81 -0
- package/dist/esm/services/powWorker.js +19 -0
- package/dist/tsc/services/Manager.js +4 -5
- package/dist/tsc/services/Manager.js.map +1 -1
- package/dist/tsc/services/multiThreadedSolver.d.ts +2 -0
- package/dist/tsc/services/multiThreadedSolver.d.ts.map +1 -0
- package/dist/tsc/services/multiThreadedSolver.js +68 -0
- package/dist/tsc/services/multiThreadedSolver.js.map +1 -0
- package/dist/tsc/services/powWorker.d.ts +8 -0
- package/dist/tsc/services/powWorker.d.ts.map +1 -0
- package/dist/tsc/services/powWorker.js +8 -0
- package/dist/tsc/services/powWorker.js.map +1 -0
- package/dist/tsc/tests/manager.unit.test.js +10 -3
- package/dist/tsc/tests/manager.unit.test.js.map +1 -1
- package/dist/types/services/multiThreadedSolver.d.ts +2 -0
- package/dist/types/services/multiThreadedSolver.d.ts.map +1 -0
- package/dist/types/services/powWorker.d.ts +8 -0
- package/dist/types/services/powWorker.d.ts.map +1 -0
- package/package.json +11 -11
|
@@ -37,13 +37,16 @@ ViteCommonJSConfig: .
|
|
|
37
37
|
[33mThe plugin "vite-tsconfig-paths" is detected. Vite now supports tsconfig paths resolution natively via the [1mresolve.tsconfigPaths[22m option. You can remove the plugin and set [1mresolve.tsconfigPaths: true[22m in your Vite config instead.[39m
|
|
38
38
|
[36mvite v8.1.6 [32mbuilding ssr environment for production...[36m[39m
|
|
39
39
|
Bundle build started
|
|
40
|
-
[2K
|
|
41
|
-
|
|
40
|
+
[2K
|
|
41
|
+
Build end
|
|
42
|
+
✓ 7 modules transformed.
|
|
42
43
|
rendering chunks...
|
|
43
44
|
computing gzip size...
|
|
44
|
-
dist/cjs/index.cjs
|
|
45
|
-
dist/cjs/components/procaptchaPoW.cjs
|
|
46
|
-
dist/cjs/
|
|
47
|
-
dist/cjs/
|
|
45
|
+
dist/cjs/index.cjs 0.43 kB │ gzip: 0.19 kB
|
|
46
|
+
dist/cjs/components/procaptchaPoW.cjs 0.71 kB │ gzip: 0.38 kB
|
|
47
|
+
dist/cjs/services/multiThreadedSolver.cjs 2.91 kB │ gzip: 1.29 kB
|
|
48
|
+
dist/cjs/components/procaptchaWidget.cjs 5.32 kB │ gzip: 1.71 kB
|
|
49
|
+
dist/cjs/services/powWorker.cjs 7.40 kB │ gzip: 3.57 kB
|
|
50
|
+
dist/cjs/services/Manager.cjs 10.49 kB │ gzip: 3.01 kB
|
|
48
51
|
|
|
49
|
-
[32m✓ built in
|
|
52
|
+
[32m✓ built in 126ms[39m
|
|
@@ -37,14 +37,17 @@ ViteEsmConfig: .
|
|
|
37
37
|
[33mThe plugin "vite-tsconfig-paths" is detected. Vite now supports tsconfig paths resolution natively via the [1mresolve.tsconfigPaths[22m option. You can remove the plugin and set [1mresolve.tsconfigPaths: true[22m in your Vite config instead.[39m
|
|
38
38
|
[36mvite v8.1.6 [32mbuilding ssr environment for production...[36m[39m
|
|
39
39
|
Bundle build started
|
|
40
|
-
[2K
|
|
41
|
-
|
|
40
|
+
[2K
|
|
41
|
+
Build end
|
|
42
|
+
✓ 7 modules transformed.
|
|
42
43
|
rendering chunks...
|
|
43
44
|
computing gzip size...
|
|
44
|
-
dist/esm/_virtual/_rolldown/runtime.js
|
|
45
|
-
dist/esm/index.js
|
|
46
|
-
dist/esm/components/procaptchaPoW.js
|
|
47
|
-
dist/esm/
|
|
48
|
-
dist/esm/
|
|
45
|
+
dist/esm/_virtual/_rolldown/runtime.js 0.04 kB │ gzip: 0.06 kB
|
|
46
|
+
dist/esm/index.js 0.27 kB │ gzip: 0.14 kB
|
|
47
|
+
dist/esm/components/procaptchaPoW.js 0.63 kB │ gzip: 0.36 kB
|
|
48
|
+
dist/esm/services/multiThreadedSolver.js 2.83 kB │ gzip: 1.27 kB
|
|
49
|
+
dist/esm/components/procaptchaWidget.js 5.05 kB │ gzip: 1.70 kB
|
|
50
|
+
dist/esm/services/powWorker.js 7.40 kB │ gzip: 3.57 kB
|
|
51
|
+
dist/esm/services/Manager.js 9.81 kB │ gzip: 2.97 kB
|
|
49
52
|
|
|
50
|
-
[32m✓ built in
|
|
53
|
+
[32m✓ built in 116ms[39m
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
$ tsc --build --verbose
|
|
2
|
-
11:
|
|
2
|
+
11:33:49 PM - Projects in this build:
|
|
3
3
|
* ../../dev/config/tsconfig.json
|
|
4
4
|
* ../util/tsconfig.json
|
|
5
5
|
* ../locale/tsconfig.json
|
|
@@ -16,35 +16,35 @@ $ tsc --build --verbose
|
|
|
16
16
|
* ../procaptcha-common/tsconfig.json
|
|
17
17
|
* tsconfig.json
|
|
18
18
|
|
|
19
|
-
11:
|
|
19
|
+
11:33:49 PM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/dist/tsc/tsconfig.tsbuildinfo'
|
|
20
20
|
|
|
21
|
-
11:
|
|
21
|
+
11:33:49 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/dist/tsc/tsconfig.tsbuildinfo'
|
|
22
22
|
|
|
23
|
-
11:
|
|
23
|
+
11:33:49 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/process.ts' is older than output '../locale/dist/tsc/tsconfig.tsbuildinfo'
|
|
24
24
|
|
|
25
|
-
11:
|
|
25
|
+
11:33:49 PM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/dist/tsc/tsconfig.tsbuildinfo'
|
|
26
26
|
|
|
27
|
-
11:
|
|
27
|
+
11:33:49 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/types.test-d.ts' is older than output '../types/dist/tsc/tsconfig.tsbuildinfo'
|
|
28
28
|
|
|
29
|
-
11:
|
|
29
|
+
11:33:49 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/dist/tsc/tsconfig.tsbuildinfo'
|
|
30
30
|
|
|
31
|
-
11:
|
|
31
|
+
11:33:49 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/errorCodes.ts' is older than output '../common/dist/tsc/tsconfig.tsbuildinfo'
|
|
32
32
|
|
|
33
|
-
11:
|
|
33
|
+
11:33:49 PM - Project '../fingerprintjs/tsconfig.json' is up to date because newest input '../fingerprintjs/src/utils/browser.ts' is older than output '../fingerprintjs/dist/tsc/tsconfig.tsbuildinfo'
|
|
34
34
|
|
|
35
|
-
11:
|
|
35
|
+
11:33:49 PM - Project '../fingerprint/tsconfig.json' is up to date because newest input '../fingerprint/src/index.test.ts' is older than output '../fingerprint/dist/tsc/tsconfig.tsbuildinfo'
|
|
36
36
|
|
|
37
|
-
11:
|
|
37
|
+
11:33:49 PM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/developmentProviderUrl.ts' is older than output '../load-balancer/dist/tsc/tsconfig.tsbuildinfo'
|
|
38
38
|
|
|
39
|
-
11:
|
|
39
|
+
11:33:49 PM - Project '../widget-skeleton/tsconfig.json' is up to date because newest input '../widget-skeleton/src/webComponent/createWidget.ts' is older than output '../widget-skeleton/dist/tsc/tsconfig.tsbuildinfo'
|
|
40
40
|
|
|
41
|
-
11:
|
|
41
|
+
11:33:49 PM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/errorSites.ts' is older than output '../keyring/dist/tsc/tsconfig.tsbuildinfo'
|
|
42
42
|
|
|
43
|
-
11:
|
|
43
|
+
11:33:49 PM - Project '../account/tsconfig.json' is up to date because newest input '../account/src/custom.d.ts' is older than output '../account/dist/tsc/tsconfig.tsbuildinfo'
|
|
44
44
|
|
|
45
|
-
11:
|
|
45
|
+
11:33:49 PM - Project '../procaptcha-common/tsconfig.json' is up to date because newest input '../procaptcha-common/src/extensionLoader.ts' is older than output '../procaptcha-common/dist/tsc/tsconfig.tsbuildinfo'
|
|
46
46
|
|
|
47
|
-
11:
|
|
47
|
+
11:33:49 PM - Project 'tsconfig.json' is out of date because output file 'dist/tsc/tsconfig.tsbuildinfo' does not exist
|
|
48
48
|
|
|
49
|
-
11:
|
|
49
|
+
11:33:49 PM - Building project '/home/runner/work/captcha/captcha/packages/procaptcha-pow/tsconfig.json'...
|
|
50
50
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,49 @@
|
|
|
1
1
|
# @prosopo/procaptcha-pow
|
|
2
2
|
|
|
3
|
+
## 2.14.1
|
|
4
|
+
### Patch Changes
|
|
5
|
+
|
|
6
|
+
- f019ec4: The widget now tells the provider which platform embedded it, in an `x-prosopo-integration` header. It reports `mc4wp` for Mailchimp for WordPress and `procaptcha-wordpress` for the Procaptcha WordPress plugin, recognised from the markup each one renders the widget into, so existing installs report without an update. Other sites can name themselves with the `integration` render option or a `data-integration` attribute.
|
|
7
|
+
- Updated dependencies [6fa6155]
|
|
8
|
+
- Updated dependencies [f019ec4]
|
|
9
|
+
- @prosopo/procaptcha-common@2.21.11
|
|
10
|
+
- @prosopo/types@5.20.1
|
|
11
|
+
- @prosopo/api@4.8.1
|
|
12
|
+
- @prosopo/common@3.3.2
|
|
13
|
+
- @prosopo/fingerprint@2.8.5
|
|
14
|
+
|
|
15
|
+
## 2.14.0
|
|
16
|
+
### Minor Changes
|
|
17
|
+
|
|
18
|
+
- f13677e: Solve PoW captchas across a pool of web workers. The nonce space is divided and conquered across the pool (worker `i` tries nonces `i, i+N, i+2N, …`), keeping the UI responsive on higher-difficulty challenges, with a synchronous fallback when web workers are unavailable. The pool defaults to 4 workers (`PROSOPO_POW_WORKERS`) and never uses more than one fewer than the device's cores, so the page keeps a core free. Adds the `solvePoWOffset` helper to `@prosopo/util`; `@prosopo/procaptcha-pow` now solves PoW challenges on a worker pool internally.
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- 76b6edd: The widget now tells the provider which bundle it is and where it was loaded from, on every request:
|
|
23
|
+
|
|
24
|
+
- `X-Prosopo-Bundle-Version`: the release the bundle was built from, or `dev` for a local build.
|
|
25
|
+
- `X-Prosopo-Bundle-Origin`: the origin the widget's code came from. `https://js.prosopo.io` is the hosted bundle. Anything else is a site serving its own copy, or building our npm packages into its app.
|
|
26
|
+
|
|
27
|
+
Providers store request headers on the session and in the request logs, so together with the site key these show which sites self-host and which version each one runs.
|
|
28
|
+
|
|
29
|
+
The provider now allows both headers in CORS. Every provider must run this version before the new bundle is published to the CDN: a widget sending these headers to an older provider fails the browser's preflight check and cannot load a captcha.
|
|
30
|
+
- Updated dependencies [1966fc1]
|
|
31
|
+
- Updated dependencies [c69b636]
|
|
32
|
+
- Updated dependencies [78107d9]
|
|
33
|
+
- Updated dependencies [d6cc6fe]
|
|
34
|
+
- Updated dependencies [f13677e]
|
|
35
|
+
- Updated dependencies [77bd891]
|
|
36
|
+
- Updated dependencies [76b6edd]
|
|
37
|
+
- @prosopo/common@3.3.2
|
|
38
|
+
- @prosopo/fingerprint@2.8.4
|
|
39
|
+
- @prosopo/locale@3.13.2
|
|
40
|
+
- @prosopo/procaptcha-common@2.21.10
|
|
41
|
+
- @prosopo/types@5.20.0
|
|
42
|
+
- @prosopo/util@3.4.0
|
|
43
|
+
- @prosopo/util-crypto@13.6.3
|
|
44
|
+
- @prosopo/widget-skeleton@2.10.5
|
|
45
|
+
- @prosopo/api@4.8.0
|
|
46
|
+
|
|
3
47
|
## 2.13.19
|
|
4
48
|
### Patch Changes
|
|
5
49
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
const require_multiThreadedSolver = require("./multiThreadedSolver.cjs");
|
|
2
2
|
let _prosopo_procaptcha_common = require("@prosopo/procaptcha-common");
|
|
3
3
|
let _prosopo_types = require("@prosopo/types");
|
|
4
4
|
let _polkadot_util_string = require("@polkadot/util/string");
|
|
@@ -125,7 +125,7 @@ var Manager = (configInput, state, onStateUpdate, callbacks, frictionlessState,
|
|
|
125
125
|
}
|
|
126
126
|
const providerUrl = getRandomProviderResponse.provider.url;
|
|
127
127
|
previousProviderUrl = providerUrl;
|
|
128
|
-
const providerApi = new _prosopo_api.ProviderApi(providerUrl, getDappAccount(), void 0, (0,
|
|
128
|
+
const providerApi = new _prosopo_api.ProviderApi(providerUrl, getDappAccount(), void 0, (0, _prosopo_procaptcha_common.widgetRequestHeaders)(getConfig().language, getConfig().integration));
|
|
129
129
|
const simdReadingsOnChallenge = frictionlessState?.getSimdReadings ? await frictionlessState.getSimdReadings(0) : void 0;
|
|
130
130
|
const challengeRequestedAt = Date.now();
|
|
131
131
|
const challenge = await providerApi.getPowCaptchaChallenge(userAccount, getDappAccount(), frictionlessState?.sessionId, simdReadingsOnChallenge);
|
|
@@ -134,7 +134,7 @@ var Manager = (configInput, state, onStateUpdate, callbacks, frictionlessState,
|
|
|
134
134
|
error: challenge.error
|
|
135
135
|
});
|
|
136
136
|
else {
|
|
137
|
-
const solution = await
|
|
137
|
+
const solution = await require_multiThreadedSolver.solvePoWParallel(challenge.challenge, challenge.difficulty);
|
|
138
138
|
let salt;
|
|
139
139
|
if (x !== void 0 && y !== void 0) {
|
|
140
140
|
const coords = [x, y];
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
const require_powWorker = require("./powWorker.cjs");
|
|
2
|
+
let _prosopo_util = require("@prosopo/util");
|
|
3
|
+
//#region src/services/multiThreadedSolver.ts
|
|
4
|
+
var POW_WORKER_COUNT = Number.parseInt(process.env.PROSOPO_POW_WORKERS || "4", 10);
|
|
5
|
+
var MAX_POW_WORKERS = 16;
|
|
6
|
+
/**
|
|
7
|
+
* Number of workers to use, guaranteed to be a sane positive integer.
|
|
8
|
+
*
|
|
9
|
+
* The configured count is clamped to a hard maximum and, where the browser
|
|
10
|
+
* exposes it, to one fewer than `navigator.hardwareConcurrency`. Occupying every
|
|
11
|
+
* core starves the main thread and drops frames, and spawning more workers than
|
|
12
|
+
* cores does not speed up a CPU-bound PoW search.
|
|
13
|
+
*/
|
|
14
|
+
var getWorkerCount = () => {
|
|
15
|
+
if (!Number.isFinite(POW_WORKER_COUNT) || POW_WORKER_COUNT < 1) return 1;
|
|
16
|
+
const hardwareLimit = typeof navigator !== "undefined" && Number.isFinite(navigator.hardwareConcurrency) && navigator.hardwareConcurrency > 0 ? Math.max(1, navigator.hardwareConcurrency - 1) : MAX_POW_WORKERS;
|
|
17
|
+
return Math.min(Math.floor(POW_WORKER_COUNT), hardwareLimit, MAX_POW_WORKERS);
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Spawn a single PoW web worker.
|
|
21
|
+
*
|
|
22
|
+
* Kept as a separate function so the orchestrator can be tested/mocked and so
|
|
23
|
+
* environments without web worker support (e.g. SSR) fail fast and fall back to
|
|
24
|
+
* the synchronous solver.
|
|
25
|
+
*/
|
|
26
|
+
var spawnWorker = () => new require_powWorker.default();
|
|
27
|
+
/**
|
|
28
|
+
* Solve a PoW challenge across a pool of web workers.
|
|
29
|
+
*
|
|
30
|
+
* The nonce space is divided and conquered: with `n` workers, worker `i` only
|
|
31
|
+
* tries nonces `i, i + n, i + 2n, ...`, so the workers collectively cover every
|
|
32
|
+
* nonce exactly once with no overlap. The first worker to find a valid nonce
|
|
33
|
+
* wins; all workers are then terminated and its nonce is returned.
|
|
34
|
+
*
|
|
35
|
+
* Falls back to the synchronous single-threaded solver when web workers are not
|
|
36
|
+
* available (e.g. server-side rendering) or only a single worker is configured.
|
|
37
|
+
*/
|
|
38
|
+
var solvePoWParallel = (data, difficulty) => {
|
|
39
|
+
const workerCount = getWorkerCount();
|
|
40
|
+
if (workerCount <= 1 || typeof Worker === "undefined") return Promise.resolve((0, _prosopo_util.solvePoW)(data, difficulty));
|
|
41
|
+
return new Promise((resolve) => {
|
|
42
|
+
let workers = [];
|
|
43
|
+
let settled = false;
|
|
44
|
+
const cleanup = () => {
|
|
45
|
+
for (const worker of workers) worker.terminate();
|
|
46
|
+
workers = [];
|
|
47
|
+
};
|
|
48
|
+
const fallbackToSync = () => {
|
|
49
|
+
if (settled) return;
|
|
50
|
+
settled = true;
|
|
51
|
+
cleanup();
|
|
52
|
+
resolve((0, _prosopo_util.solvePoW)(data, difficulty));
|
|
53
|
+
};
|
|
54
|
+
try {
|
|
55
|
+
for (let i = 0; i < workerCount; i++) {
|
|
56
|
+
const worker = spawnWorker();
|
|
57
|
+
worker.onmessage = (event) => {
|
|
58
|
+
if (settled) return;
|
|
59
|
+
settled = true;
|
|
60
|
+
cleanup();
|
|
61
|
+
resolve(event.data);
|
|
62
|
+
};
|
|
63
|
+
worker.onerror = () => {
|
|
64
|
+
fallbackToSync();
|
|
65
|
+
};
|
|
66
|
+
const request = {
|
|
67
|
+
data,
|
|
68
|
+
difficulty,
|
|
69
|
+
start: i,
|
|
70
|
+
step: workerCount
|
|
71
|
+
};
|
|
72
|
+
worker.postMessage(request);
|
|
73
|
+
workers.push(worker);
|
|
74
|
+
}
|
|
75
|
+
} catch {
|
|
76
|
+
fallbackToSync();
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
//#endregion
|
|
81
|
+
exports.solvePoWParallel = solvePoWParallel;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/services/powWorker.ts?worker&inline
|
|
2
|
+
var jsContent = "(function(){let e=e=>e/2**32|0,t=e=>e>>>0;function n(n,r,i,a){let o=e(i),s=t(i);n.setUint32(r,a?s:o,a),n.setUint32(r+4,a?o:s,a)}function r(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`&&`BYTES_PER_ELEMENT`in e&&e.BYTES_PER_ELEMENT===1}let i=e=>e?`\"${e}\" `:``;function a(e,t=``){if(typeof e!=`number`)throw TypeError(i(t)+`expected number, got `+typeof e);if(!Number.isSafeInteger(e)||e<0)throw RangeError(i(t)+`expected integer >= 0, got `+e);return e}function o(e,t,n=``){if(r(e)&&(t===void 0||e.length===t))return e;t!==void 0&&a(t,`length`);let o=r(e),s=t===void 0?``:` of length ${t}`,c=o?`length=${e.length}`:`type=${typeof e}`,l=i(n)+`expected Uint8Array`+s+`, got `+c;throw o?RangeError(l):TypeError(l)}let s=(e,t)=>{if(typeof e!=`object`||!e||Array.isArray(e))throw TypeError((t===`object`?``:`\"${t}\" `)+`expected object, got type=`+typeof e)},c=(e,t)=>{s(e,t);let n=Object.getPrototypeOf(e);if(n!==Object.prototype&&n!==null)throw TypeError(`\"${t}\" expected plain object`);if(Object.hasOwn(e,`__proto__`))throw TypeError(`\"${t}.__proto__\" is not allowed`)};function l(e,t=!0){if(e.destroyed)throw Error(`hash was destroyed`);if(t&&e.finished)throw Error(`digest() was already called`)}function u(e,t){o(e,void 0,`output`);let n=t.outputLen;if(!(e.length>=n))throw RangeError(`\"output\" expected length >= `+n)}function d(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function f(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function p(e,t){return e<<32-t|e>>>t}function m(e,t,n=`opts`){return c(e,`defaults`),t!==void 0&&c(t,n),Object.assign(Object.create(null),e,t)}function h(e,t={}){if(typeof e!=`function`)throw TypeError(`\"hashCons\" expected function, got type=`+typeof e);t=m({},t,`info`);let n=(t,n)=>e(n).update(t).digest(),r=e(void 0);return n.outputLen=r.outputLen,n.blockLen=r.blockLen,n.canXOF=r.canXOF,n.create=t=>e(t),Object.assign(n,t),Object.freeze(n)}let g=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});function _(e,t,n){return e&t^~e&n}function v(e,t,n){return e&t^e&n^t&n}var y=class{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,n,r){this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=f(this.buffer)}update(e){l(this),o(e);let{view:t,buffer:n,blockLen:r}=this,i=e.length,a=!1;for(let o=0;o<i;){let s=Math.min(r-this.pos,i-o);if(s===r){let t=f(e);for(;r<=i-o;o+=r)this.process(t,o);a=!0;continue}n.set(o===0&&s===i?e:e.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===r&&(this.process(t,0),this.pos=0,a=!0)}return this.length+=e.length,a&&this.roundClean(),this}digestInto(e){l(this),u(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:i,isLE:a}=this,{pos:o}=this;t[o++]=128,t.fill(0,o),this.padOffset>i-o&&(this.process(r,0),t.fill(0)),n(r,i-8,this.length*8,a),this.process(r,0),this.roundClean();let s=e===t?r:f(e),c=this.outputLen,d=c/4,p=this.get();if(c%4||d>p.length)throw Error(`invalid outputLen`);for(let e=0;e<d;e++)s.setUint32(4*e,p[e],a)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneIntoMeta(e){let{buffer:t,length:n,finished:r,destroyed:i,pos:a}=this;return e.destroyed=i,e.finished=r,e.length=n,e.pos=a,a&&e.buffer.set(t),e}clone(){return this._cloneInto()}};let b=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),x=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),S=new Uint32Array(64);var C=class extends y{A=0;B=0;C=0;D=0;E=0;F=0;G=0;H=0;constructor(e,t){super(64,e,8,!1),this.A=t[0]|0,this.B=t[1]|0,this.C=t[2]|0,this.D=t[3]|0,this.E=t[4]|0,this.F=t[5]|0,this.G=t[6]|0,this.H=t[7]|0}get(){let{A:e,B:t,C:n,D:r,E:i,F:a,G:o,H:s}=this;return[e,t,n,r,i,a,o,s]}set(e,t,n,r,i,a,o,s){this.A=e|0,this.B=t|0,this.C=n|0,this.D=r|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=s|0}_cloneInto(e){return(e||=new this.constructor).set(...this.get()),this._cloneIntoMeta(e)}process(e,t){for(let n=0;n<16;n++,t+=4)S[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=S[e-15],n=S[e-2],r=p(t,7)^p(t,18)^t>>>3,i=p(n,17)^p(n,19)^n>>>10;S[e]=i+S[e-7]+r+S[e-16]|0}let{A:n,B:r,C:i,D:a,E:o,F:s,G:c,H:l}=this;for(let e=0;e<64;e++){let t=p(o,6)^p(o,11)^p(o,25),u=l+t+_(o,s,c)+x[e]+S[e]|0,d=(p(n,2)^p(n,13)^p(n,22))+v(n,r,i)|0;l=c,c=s,s=o,o=a+u|0,a=i,i=r,r=n,n=u+d|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,s=s+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(n,r,i,a,o,s,c,l)}roundClean(){d(S)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),d(this.buffer)}},w=class extends C{constructor(){super(32,b)}};let T=h(()=>new w,g(1));var E=4,D=256,O=e=>{if(!Number.isFinite(e))throw Error(`Invalid PoW difficulty: ${e}`);return Math.round(E*e)},k=e=>{let t=O(e);if(t<=0)return{zeroBytes:0,partialBound:1,always:!0,requireZeroHash:!1};if(t>=D)return{zeroBytes:32,partialBound:1,always:!1,requireZeroHash:!0};let n=t>>3,r=t&7;return{zeroBytes:n,partialBound:r===0?1:1<<8-r,always:!1,requireZeroHash:!1}},A=(e,t)=>{if(t.always)return!0;for(let n=0;n<t.zeroBytes;n++)if(e[n]!==0)return!1;return t.requireZeroHash?!0:t.partialBound>1?e[t.zeroBytes]<t.partialBound:!0},j=e=>{let t=new TextEncoder().encode(e),n=1,r=10,i=new Uint8Array(n+t.length);return i.set(t,n),e=>{for(;e>=r;)n+=1,r*=10,i=new Uint8Array(n+t.length),i.set(t,n);let a=e;for(let e=n-1;e>=0;e--)i[e]=48+a%10,a=Math.floor(a/10);return i}},M=(e,t,n,r)=>{if(!Number.isInteger(n)||n<0)throw Error(`solvePoWOffset: start must be a non-negative integer, got ${n}`);if(!Number.isInteger(r)||r<1)throw Error(`solvePoWOffset: step must be a positive integer, got ${r}`);if(!Number.isFinite(t)||t<0)throw Error(`solvePoWOffset: difficulty must be a non-negative number, got ${t}`);let i=k(t),a=j(e),o=n;for(;;){if(A(T(a(o)),i))return o;o+=r}};let N=self;N.onmessage=e=>{let{data:t,difficulty:n,start:r,step:i}=e.data,a=M(t,n,r,i);N.postMessage(a)}})();";
|
|
3
|
+
var blob = typeof self !== "undefined" && self.Blob && new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);", jsContent], { type: "text/javascript;charset=utf-8" });
|
|
4
|
+
function WorkerWrapper(options) {
|
|
5
|
+
let objURL;
|
|
6
|
+
try {
|
|
7
|
+
objURL = blob && (self.URL || self.webkitURL).createObjectURL(blob);
|
|
8
|
+
if (!objURL) throw "";
|
|
9
|
+
const worker = new Worker(objURL, { name: options?.name });
|
|
10
|
+
worker.addEventListener("error", () => {
|
|
11
|
+
(self.URL || self.webkitURL).revokeObjectURL(objURL);
|
|
12
|
+
});
|
|
13
|
+
return worker;
|
|
14
|
+
} catch (e) {
|
|
15
|
+
return new Worker("data:text/javascript;charset=utf-8," + encodeURIComponent(jsContent), { name: options?.name });
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
exports.default = WorkerWrapper;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ExtensionLoader, buildClientMetaData, buildUpdateState, getDefaultEvents, getProcaptchaRandomActiveProvider, getSimdReadingsForSubmit, pickIpMode, providerRetry } from "@prosopo/procaptcha-common";
|
|
1
|
+
import { solvePoWParallel } from "./multiThreadedSolver.js";
|
|
2
|
+
import { ExtensionLoader, buildClientMetaData, buildUpdateState, getDefaultEvents, getProcaptchaRandomActiveProvider, getSimdReadingsForSubmit, pickIpMode, providerRetry, widgetRequestHeaders } from "@prosopo/procaptcha-common";
|
|
3
3
|
import { ApiParams, CaptchaType, DEFAULT_POW_CAPTCHA_SOLUTION_TIMEOUT, ProcaptchaConfigSchema, encodeProcaptchaOutput } from "@prosopo/types";
|
|
4
4
|
import { stringToHex } from "@polkadot/util/string";
|
|
5
5
|
import { ProviderApi } from "@prosopo/api";
|
|
6
6
|
import { ProsopoError } from "@prosopo/common";
|
|
7
7
|
import { FINGERPRINT_DISCLOSURE_KEYS, encodeFingerprintProof, getFingerprintProof } from "@prosopo/fingerprint";
|
|
8
|
-
import { embedData, sleep
|
|
8
|
+
import { embedData, sleep } from "@prosopo/util";
|
|
9
9
|
import { randomAsHex } from "@prosopo/util-crypto";
|
|
10
10
|
//#region src/services/Manager.ts
|
|
11
11
|
var Manager = (configInput, state, onStateUpdate, callbacks, frictionlessState, onEscalate, getHoneypotValue) => {
|
|
@@ -125,7 +125,7 @@ var Manager = (configInput, state, onStateUpdate, callbacks, frictionlessState,
|
|
|
125
125
|
}
|
|
126
126
|
const providerUrl = getRandomProviderResponse.provider.url;
|
|
127
127
|
previousProviderUrl = providerUrl;
|
|
128
|
-
const providerApi = new ProviderApi(providerUrl, getDappAccount(), void 0,
|
|
128
|
+
const providerApi = new ProviderApi(providerUrl, getDappAccount(), void 0, widgetRequestHeaders(getConfig().language, getConfig().integration));
|
|
129
129
|
const simdReadingsOnChallenge = frictionlessState?.getSimdReadings ? await frictionlessState.getSimdReadings(0) : void 0;
|
|
130
130
|
const challengeRequestedAt = Date.now();
|
|
131
131
|
const challenge = await providerApi.getPowCaptchaChallenge(userAccount, getDappAccount(), frictionlessState?.sessionId, simdReadingsOnChallenge);
|
|
@@ -134,7 +134,7 @@ var Manager = (configInput, state, onStateUpdate, callbacks, frictionlessState,
|
|
|
134
134
|
error: challenge.error
|
|
135
135
|
});
|
|
136
136
|
else {
|
|
137
|
-
const solution = await
|
|
137
|
+
const solution = await solvePoWParallel(challenge.challenge, challenge.difficulty);
|
|
138
138
|
let salt;
|
|
139
139
|
if (x !== void 0 && y !== void 0) {
|
|
140
140
|
const coords = [x, y];
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import WorkerWrapper from "./powWorker.js";
|
|
2
|
+
import { solvePoW } from "@prosopo/util";
|
|
3
|
+
//#region src/services/multiThreadedSolver.ts
|
|
4
|
+
var POW_WORKER_COUNT = Number.parseInt(process.env.PROSOPO_POW_WORKERS || "4", 10);
|
|
5
|
+
var MAX_POW_WORKERS = 16;
|
|
6
|
+
/**
|
|
7
|
+
* Number of workers to use, guaranteed to be a sane positive integer.
|
|
8
|
+
*
|
|
9
|
+
* The configured count is clamped to a hard maximum and, where the browser
|
|
10
|
+
* exposes it, to one fewer than `navigator.hardwareConcurrency`. Occupying every
|
|
11
|
+
* core starves the main thread and drops frames, and spawning more workers than
|
|
12
|
+
* cores does not speed up a CPU-bound PoW search.
|
|
13
|
+
*/
|
|
14
|
+
var getWorkerCount = () => {
|
|
15
|
+
if (!Number.isFinite(POW_WORKER_COUNT) || POW_WORKER_COUNT < 1) return 1;
|
|
16
|
+
const hardwareLimit = typeof navigator !== "undefined" && Number.isFinite(navigator.hardwareConcurrency) && navigator.hardwareConcurrency > 0 ? Math.max(1, navigator.hardwareConcurrency - 1) : MAX_POW_WORKERS;
|
|
17
|
+
return Math.min(Math.floor(POW_WORKER_COUNT), hardwareLimit, MAX_POW_WORKERS);
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Spawn a single PoW web worker.
|
|
21
|
+
*
|
|
22
|
+
* Kept as a separate function so the orchestrator can be tested/mocked and so
|
|
23
|
+
* environments without web worker support (e.g. SSR) fail fast and fall back to
|
|
24
|
+
* the synchronous solver.
|
|
25
|
+
*/
|
|
26
|
+
var spawnWorker = () => new WorkerWrapper();
|
|
27
|
+
/**
|
|
28
|
+
* Solve a PoW challenge across a pool of web workers.
|
|
29
|
+
*
|
|
30
|
+
* The nonce space is divided and conquered: with `n` workers, worker `i` only
|
|
31
|
+
* tries nonces `i, i + n, i + 2n, ...`, so the workers collectively cover every
|
|
32
|
+
* nonce exactly once with no overlap. The first worker to find a valid nonce
|
|
33
|
+
* wins; all workers are then terminated and its nonce is returned.
|
|
34
|
+
*
|
|
35
|
+
* Falls back to the synchronous single-threaded solver when web workers are not
|
|
36
|
+
* available (e.g. server-side rendering) or only a single worker is configured.
|
|
37
|
+
*/
|
|
38
|
+
var solvePoWParallel = (data, difficulty) => {
|
|
39
|
+
const workerCount = getWorkerCount();
|
|
40
|
+
if (workerCount <= 1 || typeof Worker === "undefined") return Promise.resolve(solvePoW(data, difficulty));
|
|
41
|
+
return new Promise((resolve) => {
|
|
42
|
+
let workers = [];
|
|
43
|
+
let settled = false;
|
|
44
|
+
const cleanup = () => {
|
|
45
|
+
for (const worker of workers) worker.terminate();
|
|
46
|
+
workers = [];
|
|
47
|
+
};
|
|
48
|
+
const fallbackToSync = () => {
|
|
49
|
+
if (settled) return;
|
|
50
|
+
settled = true;
|
|
51
|
+
cleanup();
|
|
52
|
+
resolve(solvePoW(data, difficulty));
|
|
53
|
+
};
|
|
54
|
+
try {
|
|
55
|
+
for (let i = 0; i < workerCount; i++) {
|
|
56
|
+
const worker = spawnWorker();
|
|
57
|
+
worker.onmessage = (event) => {
|
|
58
|
+
if (settled) return;
|
|
59
|
+
settled = true;
|
|
60
|
+
cleanup();
|
|
61
|
+
resolve(event.data);
|
|
62
|
+
};
|
|
63
|
+
worker.onerror = () => {
|
|
64
|
+
fallbackToSync();
|
|
65
|
+
};
|
|
66
|
+
const request = {
|
|
67
|
+
data,
|
|
68
|
+
difficulty,
|
|
69
|
+
start: i,
|
|
70
|
+
step: workerCount
|
|
71
|
+
};
|
|
72
|
+
worker.postMessage(request);
|
|
73
|
+
workers.push(worker);
|
|
74
|
+
}
|
|
75
|
+
} catch {
|
|
76
|
+
fallbackToSync();
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
//#endregion
|
|
81
|
+
export { solvePoWParallel };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/services/powWorker.ts?worker&inline
|
|
2
|
+
var jsContent = "(function(){let e=e=>e/2**32|0,t=e=>e>>>0;function n(n,r,i,a){let o=e(i),s=t(i);n.setUint32(r,a?s:o,a),n.setUint32(r+4,a?o:s,a)}function r(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`&&`BYTES_PER_ELEMENT`in e&&e.BYTES_PER_ELEMENT===1}let i=e=>e?`\"${e}\" `:``;function a(e,t=``){if(typeof e!=`number`)throw TypeError(i(t)+`expected number, got `+typeof e);if(!Number.isSafeInteger(e)||e<0)throw RangeError(i(t)+`expected integer >= 0, got `+e);return e}function o(e,t,n=``){if(r(e)&&(t===void 0||e.length===t))return e;t!==void 0&&a(t,`length`);let o=r(e),s=t===void 0?``:` of length ${t}`,c=o?`length=${e.length}`:`type=${typeof e}`,l=i(n)+`expected Uint8Array`+s+`, got `+c;throw o?RangeError(l):TypeError(l)}let s=(e,t)=>{if(typeof e!=`object`||!e||Array.isArray(e))throw TypeError((t===`object`?``:`\"${t}\" `)+`expected object, got type=`+typeof e)},c=(e,t)=>{s(e,t);let n=Object.getPrototypeOf(e);if(n!==Object.prototype&&n!==null)throw TypeError(`\"${t}\" expected plain object`);if(Object.hasOwn(e,`__proto__`))throw TypeError(`\"${t}.__proto__\" is not allowed`)};function l(e,t=!0){if(e.destroyed)throw Error(`hash was destroyed`);if(t&&e.finished)throw Error(`digest() was already called`)}function u(e,t){o(e,void 0,`output`);let n=t.outputLen;if(!(e.length>=n))throw RangeError(`\"output\" expected length >= `+n)}function d(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function f(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function p(e,t){return e<<32-t|e>>>t}function m(e,t,n=`opts`){return c(e,`defaults`),t!==void 0&&c(t,n),Object.assign(Object.create(null),e,t)}function h(e,t={}){if(typeof e!=`function`)throw TypeError(`\"hashCons\" expected function, got type=`+typeof e);t=m({},t,`info`);let n=(t,n)=>e(n).update(t).digest(),r=e(void 0);return n.outputLen=r.outputLen,n.blockLen=r.blockLen,n.canXOF=r.canXOF,n.create=t=>e(t),Object.assign(n,t),Object.freeze(n)}let g=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});function _(e,t,n){return e&t^~e&n}function v(e,t,n){return e&t^e&n^t&n}var y=class{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,n,r){this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=f(this.buffer)}update(e){l(this),o(e);let{view:t,buffer:n,blockLen:r}=this,i=e.length,a=!1;for(let o=0;o<i;){let s=Math.min(r-this.pos,i-o);if(s===r){let t=f(e);for(;r<=i-o;o+=r)this.process(t,o);a=!0;continue}n.set(o===0&&s===i?e:e.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===r&&(this.process(t,0),this.pos=0,a=!0)}return this.length+=e.length,a&&this.roundClean(),this}digestInto(e){l(this),u(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:i,isLE:a}=this,{pos:o}=this;t[o++]=128,t.fill(0,o),this.padOffset>i-o&&(this.process(r,0),t.fill(0)),n(r,i-8,this.length*8,a),this.process(r,0),this.roundClean();let s=e===t?r:f(e),c=this.outputLen,d=c/4,p=this.get();if(c%4||d>p.length)throw Error(`invalid outputLen`);for(let e=0;e<d;e++)s.setUint32(4*e,p[e],a)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneIntoMeta(e){let{buffer:t,length:n,finished:r,destroyed:i,pos:a}=this;return e.destroyed=i,e.finished=r,e.length=n,e.pos=a,a&&e.buffer.set(t),e}clone(){return this._cloneInto()}};let b=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),x=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),S=new Uint32Array(64);var C=class extends y{A=0;B=0;C=0;D=0;E=0;F=0;G=0;H=0;constructor(e,t){super(64,e,8,!1),this.A=t[0]|0,this.B=t[1]|0,this.C=t[2]|0,this.D=t[3]|0,this.E=t[4]|0,this.F=t[5]|0,this.G=t[6]|0,this.H=t[7]|0}get(){let{A:e,B:t,C:n,D:r,E:i,F:a,G:o,H:s}=this;return[e,t,n,r,i,a,o,s]}set(e,t,n,r,i,a,o,s){this.A=e|0,this.B=t|0,this.C=n|0,this.D=r|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=s|0}_cloneInto(e){return(e||=new this.constructor).set(...this.get()),this._cloneIntoMeta(e)}process(e,t){for(let n=0;n<16;n++,t+=4)S[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=S[e-15],n=S[e-2],r=p(t,7)^p(t,18)^t>>>3,i=p(n,17)^p(n,19)^n>>>10;S[e]=i+S[e-7]+r+S[e-16]|0}let{A:n,B:r,C:i,D:a,E:o,F:s,G:c,H:l}=this;for(let e=0;e<64;e++){let t=p(o,6)^p(o,11)^p(o,25),u=l+t+_(o,s,c)+x[e]+S[e]|0,d=(p(n,2)^p(n,13)^p(n,22))+v(n,r,i)|0;l=c,c=s,s=o,o=a+u|0,a=i,i=r,r=n,n=u+d|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,s=s+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(n,r,i,a,o,s,c,l)}roundClean(){d(S)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),d(this.buffer)}},w=class extends C{constructor(){super(32,b)}};let T=h(()=>new w,g(1));var E=4,D=256,O=e=>{if(!Number.isFinite(e))throw Error(`Invalid PoW difficulty: ${e}`);return Math.round(E*e)},k=e=>{let t=O(e);if(t<=0)return{zeroBytes:0,partialBound:1,always:!0,requireZeroHash:!1};if(t>=D)return{zeroBytes:32,partialBound:1,always:!1,requireZeroHash:!0};let n=t>>3,r=t&7;return{zeroBytes:n,partialBound:r===0?1:1<<8-r,always:!1,requireZeroHash:!1}},A=(e,t)=>{if(t.always)return!0;for(let n=0;n<t.zeroBytes;n++)if(e[n]!==0)return!1;return t.requireZeroHash?!0:t.partialBound>1?e[t.zeroBytes]<t.partialBound:!0},j=e=>{let t=new TextEncoder().encode(e),n=1,r=10,i=new Uint8Array(n+t.length);return i.set(t,n),e=>{for(;e>=r;)n+=1,r*=10,i=new Uint8Array(n+t.length),i.set(t,n);let a=e;for(let e=n-1;e>=0;e--)i[e]=48+a%10,a=Math.floor(a/10);return i}},M=(e,t,n,r)=>{if(!Number.isInteger(n)||n<0)throw Error(`solvePoWOffset: start must be a non-negative integer, got ${n}`);if(!Number.isInteger(r)||r<1)throw Error(`solvePoWOffset: step must be a positive integer, got ${r}`);if(!Number.isFinite(t)||t<0)throw Error(`solvePoWOffset: difficulty must be a non-negative number, got ${t}`);let i=k(t),a=j(e),o=n;for(;;){if(A(T(a(o)),i))return o;o+=r}};let N=self;N.onmessage=e=>{let{data:t,difficulty:n,start:r,step:i}=e.data,a=M(t,n,r,i);N.postMessage(a)}})();";
|
|
3
|
+
var blob = typeof self !== "undefined" && self.Blob && new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);", jsContent], { type: "text/javascript;charset=utf-8" });
|
|
4
|
+
function WorkerWrapper(options) {
|
|
5
|
+
let objURL;
|
|
6
|
+
try {
|
|
7
|
+
objURL = blob && (self.URL || self.webkitURL).createObjectURL(blob);
|
|
8
|
+
if (!objURL) throw "";
|
|
9
|
+
const worker = new Worker(objURL, { name: options?.name });
|
|
10
|
+
worker.addEventListener("error", () => {
|
|
11
|
+
(self.URL || self.webkitURL).revokeObjectURL(objURL);
|
|
12
|
+
});
|
|
13
|
+
return worker;
|
|
14
|
+
} catch (e) {
|
|
15
|
+
return new Worker("data:text/javascript;charset=utf-8," + encodeURIComponent(jsContent), { name: options?.name });
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { WorkerWrapper as default };
|
|
@@ -2,12 +2,11 @@ import { stringToHex } from "@polkadot/util/string";
|
|
|
2
2
|
import { ProviderApi } from "@prosopo/api";
|
|
3
3
|
import { ProsopoError } from "@prosopo/common";
|
|
4
4
|
import { FINGERPRINT_DISCLOSURE_KEYS, encodeFingerprintProof, getFingerprintProof, } from "@prosopo/fingerprint";
|
|
5
|
-
import {
|
|
6
|
-
import { ExtensionLoader, buildClientMetaData, buildUpdateState, getDefaultEvents, getProcaptchaRandomActiveProvider, getSimdReadingsForSubmit, pickIpMode, providerRetry, } from "@prosopo/procaptcha-common";
|
|
5
|
+
import { ExtensionLoader, buildClientMetaData, buildUpdateState, getDefaultEvents, getProcaptchaRandomActiveProvider, getSimdReadingsForSubmit, pickIpMode, providerRetry, widgetRequestHeaders, } from "@prosopo/procaptcha-common";
|
|
7
6
|
import { ApiParams, CaptchaType, DEFAULT_POW_CAPTCHA_SOLUTION_TIMEOUT, ProcaptchaConfigSchema, encodeProcaptchaOutput, } from "@prosopo/types";
|
|
8
7
|
import { embedData, sleep } from "@prosopo/util";
|
|
9
|
-
import { solvePoW } from "@prosopo/util";
|
|
10
8
|
import { randomAsHex } from "@prosopo/util-crypto";
|
|
9
|
+
import { solvePoWParallel } from "./multiThreadedSolver.js";
|
|
11
10
|
export const Manager = (configInput, state, onStateUpdate, callbacks, frictionlessState, onEscalate, getHoneypotValue) => {
|
|
12
11
|
const events = getDefaultEvents(callbacks);
|
|
13
12
|
let previousProviderUrl;
|
|
@@ -147,7 +146,7 @@ export const Manager = (configInput, state, onStateUpdate, callbacks, frictionle
|
|
|
147
146
|
}
|
|
148
147
|
const providerUrl = getRandomProviderResponse.provider.url;
|
|
149
148
|
previousProviderUrl = providerUrl;
|
|
150
|
-
const providerApi = new ProviderApi(providerUrl, getDappAccount(), undefined,
|
|
149
|
+
const providerApi = new ProviderApi(providerUrl, getDappAccount(), undefined, widgetRequestHeaders(getConfig().language, getConfig().integration));
|
|
151
150
|
const simdReadingsOnChallenge = frictionlessState?.getSimdReadings
|
|
152
151
|
? await frictionlessState.getSimdReadings(0)
|
|
153
152
|
: undefined;
|
|
@@ -160,7 +159,7 @@ export const Manager = (configInput, state, onStateUpdate, callbacks, frictionle
|
|
|
160
159
|
});
|
|
161
160
|
}
|
|
162
161
|
else {
|
|
163
|
-
const solution = await
|
|
162
|
+
const solution = await solvePoWParallel(challenge.challenge, challenge.difficulty);
|
|
164
163
|
let salt;
|
|
165
164
|
if (x !== undefined && y !== undefined) {
|
|
166
165
|
const coords = [x, y];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Manager.js","sourceRoot":"","sources":["../../../src/services/Manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Manager.js","sourceRoot":"","sources":["../../../src/services/Manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multiThreadedSolver.d.ts","sourceRoot":"","sources":["../../../src/services/multiThreadedSolver.ts"],"names":[],"mappings":"AA4EA,eAAO,MAAM,gBAAgB,SACtB,MAAM,cACA,MAAM,KAChB,OAAO,CAAC,MAAM,CA8DhB,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { solvePoW } from "@prosopo/util";
|
|
2
|
+
import PowWorkerConstructor from "./powWorker.js?worker&inline";
|
|
3
|
+
const POW_WORKER_COUNT = Number.parseInt(process.env.PROSOPO_POW_WORKERS || "4", 10);
|
|
4
|
+
const MAX_POW_WORKERS = 16;
|
|
5
|
+
const getWorkerCount = () => {
|
|
6
|
+
if (!Number.isFinite(POW_WORKER_COUNT) || POW_WORKER_COUNT < 1) {
|
|
7
|
+
return 1;
|
|
8
|
+
}
|
|
9
|
+
const hardwareLimit = typeof navigator !== "undefined" &&
|
|
10
|
+
Number.isFinite(navigator.hardwareConcurrency) &&
|
|
11
|
+
navigator.hardwareConcurrency > 0
|
|
12
|
+
? Math.max(1, navigator.hardwareConcurrency - 1)
|
|
13
|
+
: MAX_POW_WORKERS;
|
|
14
|
+
return Math.min(Math.floor(POW_WORKER_COUNT), hardwareLimit, MAX_POW_WORKERS);
|
|
15
|
+
};
|
|
16
|
+
const spawnWorker = () => new PowWorkerConstructor();
|
|
17
|
+
export const solvePoWParallel = (data, difficulty) => {
|
|
18
|
+
const workerCount = getWorkerCount();
|
|
19
|
+
if (workerCount <= 1 || typeof Worker === "undefined") {
|
|
20
|
+
return Promise.resolve(solvePoW(data, difficulty));
|
|
21
|
+
}
|
|
22
|
+
return new Promise((resolve) => {
|
|
23
|
+
let workers = [];
|
|
24
|
+
let settled = false;
|
|
25
|
+
const cleanup = () => {
|
|
26
|
+
for (const worker of workers) {
|
|
27
|
+
worker.terminate();
|
|
28
|
+
}
|
|
29
|
+
workers = [];
|
|
30
|
+
};
|
|
31
|
+
const fallbackToSync = () => {
|
|
32
|
+
if (settled) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
settled = true;
|
|
36
|
+
cleanup();
|
|
37
|
+
resolve(solvePoW(data, difficulty));
|
|
38
|
+
};
|
|
39
|
+
try {
|
|
40
|
+
for (let i = 0; i < workerCount; i++) {
|
|
41
|
+
const worker = spawnWorker();
|
|
42
|
+
worker.onmessage = (event) => {
|
|
43
|
+
if (settled) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
settled = true;
|
|
47
|
+
cleanup();
|
|
48
|
+
resolve(event.data);
|
|
49
|
+
};
|
|
50
|
+
worker.onerror = () => {
|
|
51
|
+
fallbackToSync();
|
|
52
|
+
};
|
|
53
|
+
const request = {
|
|
54
|
+
data,
|
|
55
|
+
difficulty,
|
|
56
|
+
start: i,
|
|
57
|
+
step: workerCount,
|
|
58
|
+
};
|
|
59
|
+
worker.postMessage(request);
|
|
60
|
+
workers.push(worker);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
fallbackToSync();
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=multiThreadedSolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multiThreadedSolver.js","sourceRoot":"","sources":["../../../src/services/multiThreadedSolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"powWorker.d.ts","sourceRoot":"","sources":["../../../src/services/powWorker.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACb;AAMD,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { solvePoWOffset } from "@prosopo/util";
|
|
2
|
+
const ctx = self;
|
|
3
|
+
ctx.onmessage = (event) => {
|
|
4
|
+
const { data, difficulty, start, step } = event.data;
|
|
5
|
+
const nonce = solvePoWOffset(data, difficulty, start, step);
|
|
6
|
+
ctx.postMessage(nonce);
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=powWorker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"powWorker.js","sourceRoot":"","sources":["../../../src/services/powWorker.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AA0B/C,MAAM,GAAG,GAAG,IAAuC,CAAC;AAEpD,GAAG,CAAC,SAAS,GAAG,CAAC,KAAqC,EAAQ,EAAE;IAC/D,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;IACrD,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5D,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ApiParams, CaptchaType, DEFAULT_POW_CAPTCHA_SOLUTION_TIMEOUT, decodeProcaptchaOutput, } from "@prosopo/types";
|
|
1
|
+
import { ApiParams, BUNDLE_VERSION_HEADER, CaptchaType, DEFAULT_POW_CAPTCHA_SOLUTION_TIMEOUT, decodeProcaptchaOutput, } from "@prosopo/types";
|
|
2
2
|
import { extractData } from "@prosopo/util";
|
|
3
3
|
import { afterEach, beforeEach, describe, expect, test, vi, } from "vitest";
|
|
4
4
|
import { Manager } from "../services/Manager.js";
|
|
@@ -236,14 +236,21 @@ describe("start: choosing a provider", () => {
|
|
|
236
236
|
const harness = build({ configInput: config({ language: "tr" }) });
|
|
237
237
|
await harness.manager.start();
|
|
238
238
|
vi.unstubAllGlobals();
|
|
239
|
-
expect(mocks.providerApiHeaders).toEqual([
|
|
239
|
+
expect(mocks.providerApiHeaders).toEqual([
|
|
240
|
+
{ "Prosopo-Lang": "tr", [BUNDLE_VERSION_HEADER]: expect.any(String) },
|
|
241
|
+
]);
|
|
240
242
|
});
|
|
241
243
|
test("sends the browser's languages when the site set none", async () => {
|
|
242
244
|
vi.stubGlobal("navigator", { languages: ["tr-TR", "en"] });
|
|
243
245
|
const harness = build();
|
|
244
246
|
await harness.manager.start();
|
|
245
247
|
vi.unstubAllGlobals();
|
|
246
|
-
expect(mocks.providerApiHeaders).toEqual([
|
|
248
|
+
expect(mocks.providerApiHeaders).toEqual([
|
|
249
|
+
{
|
|
250
|
+
"Prosopo-Lang": "tr-TR,en",
|
|
251
|
+
[BUNDLE_VERSION_HEADER]: expect.any(String),
|
|
252
|
+
},
|
|
253
|
+
]);
|
|
247
254
|
});
|
|
248
255
|
test("uses the provider the frictionless session already picked", async () => {
|
|
249
256
|
const harness = build();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.unit.test.js","sourceRoot":"","sources":["../../../src/tests/manager.unit.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manager.unit.test.js","sourceRoot":"","sources":["../../../src/tests/manager.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multiThreadedSolver.d.ts","sourceRoot":"","sources":["../../../src/services/multiThreadedSolver.ts"],"names":[],"mappings":"AA4EA,eAAO,MAAM,gBAAgB,SACtB,MAAM,cACA,MAAM,KAChB,OAAO,CAAC,MAAM,CA8DhB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"powWorker.d.ts","sourceRoot":"","sources":["../../../src/services/powWorker.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACb;AAMD,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prosopo/procaptcha-pow",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.14.1",
|
|
4
4
|
"author": "PROSOPO LIMITED <info@prosopo.io>",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "dist/esm/index.js",
|
|
@@ -23,18 +23,18 @@
|
|
|
23
23
|
],
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@polkadot/util": "14.0.3",
|
|
26
|
-
"@prosopo/api": "4.
|
|
27
|
-
"@prosopo/common": "3.3.
|
|
28
|
-
"@prosopo/fingerprint": "2.8.
|
|
29
|
-
"@prosopo/locale": "3.13.
|
|
30
|
-
"@prosopo/procaptcha-common": "2.21.
|
|
31
|
-
"@prosopo/types": "5.
|
|
32
|
-
"@prosopo/util": "3.
|
|
33
|
-
"@prosopo/util-crypto": "13.6.
|
|
34
|
-
"@prosopo/widget-skeleton": "2.10.
|
|
26
|
+
"@prosopo/api": "4.8.1",
|
|
27
|
+
"@prosopo/common": "3.3.2",
|
|
28
|
+
"@prosopo/fingerprint": "2.8.5",
|
|
29
|
+
"@prosopo/locale": "3.13.2",
|
|
30
|
+
"@prosopo/procaptcha-common": "2.21.11",
|
|
31
|
+
"@prosopo/types": "5.20.1",
|
|
32
|
+
"@prosopo/util": "3.4.0",
|
|
33
|
+
"@prosopo/util-crypto": "13.6.3",
|
|
34
|
+
"@prosopo/widget-skeleton": "2.10.5"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@prosopo/config": "3.5.
|
|
37
|
+
"@prosopo/config": "3.5.2",
|
|
38
38
|
"@types/node": "22.10.2",
|
|
39
39
|
"@vitest/coverage-v8": "5.0.4",
|
|
40
40
|
"concurrently": "9.0.1",
|