@prosopo/provider 4.10.0 → 4.11.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 +4 -4
- package/.turbo/turbo-build$colon$tsc.log +24 -24
- package/.turbo/turbo-build.log +5 -5
- package/CHANGELOG.md +57 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +32 -33
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +32 -33
- package/dist/cjs/tasks/powCaptcha/powTasksUtils.cjs +7 -3
- package/dist/tasks/powCaptcha/powTasksUtils.d.ts.map +1 -1
- package/dist/tasks/powCaptcha/powTasksUtils.js +5 -1
- package/dist/tasks/powCaptcha/powTasksUtils.js.map +1 -1
- package/dist/tests/integration/mocks/solvedTestCaptchas.d.ts +1 -0
- package/dist/tests/integration/mocks/solvedTestCaptchas.d.ts.map +1 -1
- package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js +36 -0
- package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js.map +1 -1
- package/package.json +19 -19
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/provider@4.
|
|
2
|
+
> @prosopo/provider@4.11.1 build:cjs
|
|
3
3
|
> NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
|
|
4
4
|
|
|
5
5
|
ViteCommonJSConfig: .
|
|
@@ -82,7 +82,7 @@ rendering chunks...
|
|
|
82
82
|
[2mdist/cjs/[22m[36mtasks/frictionless/frictionlessTasksUtils.cjs [39m[1m[2m 1.05 kB[22m[1m[22m
|
|
83
83
|
[2mdist/cjs/[22m[36mapi/headerCheckMiddleware.cjs [39m[1m[2m 1.07 kB[22m[1m[22m
|
|
84
84
|
[2mdist/cjs/[22m[36mapi/captcha/getFrictionlessCaptchaChallenge/sessionDedup.cjs [39m[1m[2m 1.09 kB[22m[1m[22m
|
|
85
|
-
[2mdist/cjs/[22m[36mtasks/powCaptcha/powTasksUtils.cjs [39m[1m[2m 1.
|
|
85
|
+
[2mdist/cjs/[22m[36mtasks/powCaptcha/powTasksUtils.cjs [39m[1m[2m 1.11 kB[22m[1m[22m
|
|
86
86
|
[2mdist/cjs/[22m[36mtasks/detection/getBotScore.cjs [39m[1m[2m 1.21 kB[22m[1m[22m
|
|
87
87
|
[2mdist/cjs/[22m[36mschedulers/getClientList.cjs [39m[1m[2m 1.21 kB[22m[1m[22m
|
|
88
88
|
[2mdist/cjs/[22m[36mschedulers/setClientEntropy.cjs [39m[1m[2m 1.24 kB[22m[1m[22m
|
|
@@ -136,8 +136,8 @@ rendering chunks...
|
|
|
136
136
|
[2mdist/cjs/[22m[36mapi/startProviderApi.cjs [39m[1m[2m 9.53 kB[22m[1m[22m
|
|
137
137
|
[2mdist/cjs/[22m[36mapi/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs [39m[1m[2m 9.54 kB[22m[1m[22m
|
|
138
138
|
[2mdist/cjs/[22m[36mapi/blacklistRequestInspector.cjs [39m[1m[2m10.00 kB[22m[1m[22m
|
|
139
|
-
[2mdist/cjs/[22m[36mapi/captcha/getFrictionlessCaptchaChallenge/handler.cjs [39m[1m[2m10.10 kB[22m[1m[22m
|
|
140
139
|
[2mdist/cjs/[22m[36mtasks/decisionMachine/decisionMachineRunner.cjs [39m[1m[2m10.19 kB[22m[1m[22m
|
|
140
|
+
[2mdist/cjs/[22m[36mapi/captcha/getFrictionlessCaptchaChallenge/handler.cjs [39m[1m[2m10.20 kB[22m[1m[22m
|
|
141
141
|
[2mdist/cjs/[22m[36mapi/verify.cjs [39m[1m[2m10.86 kB[22m[1m[22m
|
|
142
142
|
[2mdist/cjs/[22m[36mutil.cjs [39m[1m[2m12.59 kB[22m[1m[22m
|
|
143
143
|
[2mdist/cjs/[22m[36mtasks/client/clientTasks.cjs [39m[1m[2m15.63 kB[22m[1m[22m
|
|
@@ -149,7 +149,7 @@ rendering chunks...
|
|
|
149
149
|
[2mdist/cjs/[22m[36mtasks/powCaptcha/powTasks.cjs [39m[1m[2m22.39 kB[22m[1m[22m
|
|
150
150
|
[2mdist/cjs/[22m[36mtasks/imgCaptcha/imgCaptchaTasks.cjs [39m[1m[2m28.48 kB[22m[1m[22m
|
|
151
151
|
[2mdist/cjs/[22m[36mtasks/detection/decodePayload.cjs [39m[1m[2m44.26 kB[22m[1m[22m
|
|
152
|
-
[32m✓ built in
|
|
152
|
+
[32m✓ built in 740ms[39m
|
|
153
153
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodeBehavior.js to /home/runner/work/captcha/captcha/packages/provider/dist/cjs/tasks/detection/decodeBehavior.js
|
|
154
154
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodePayload.js to /home/runner/work/captcha/captcha/packages/provider/dist/cjs/tasks/detection/decodePayload.js
|
|
155
155
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodeSimd.js to /home/runner/work/captcha/captcha/packages/provider/dist/cjs/tasks/detection/decodeSimd.js
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/provider@4.
|
|
2
|
+
> @prosopo/provider@4.11.1 build:tsc
|
|
3
3
|
> tsc --build --verbose
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
1:49:09 PM - Projects in this build:
|
|
6
6
|
* ../../dev/config/tsconfig.json
|
|
7
7
|
* ../util/tsconfig.json
|
|
8
8
|
* ../logger/tsconfig.json
|
|
@@ -25,47 +25,47 @@
|
|
|
25
25
|
* ../load-balancer/tsconfig.json
|
|
26
26
|
* tsconfig.json
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
1:49:09 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/tsconfig.tsbuildinfo'
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
1:49:09 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
1:49:09 PM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
1:49:09 PM - Project '../api-route/tsconfig.json' is up to date because newest input '../api-route/src/apiRoutes.ts' is older than output '../api-route/tsconfig.tsbuildinfo'
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
1:49:09 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
1:49:09 PM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
1:49:09 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/provider/api.ts' is older than output '../types/tsconfig.tsbuildinfo'
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
1:49:09 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/index.ts' is older than output '../common/tsconfig.tsbuildinfo'
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
1:49:10 PM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/IpInfoService.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
1:49:10 PM - Project '../redis-client/tsconfig.json' is up to date because newest input '../redis-client/src/tests/testRedisConnection.ts' is older than output '../redis-client/tsconfig.tsbuildinfo'
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
1:49:10 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
1:49:10 PM - Project '../user-access-policy/tsconfig.json' is up to date because newest input '../user-access-policy/src/transformRule.ts' is older than output '../user-access-policy/tsconfig.tsbuildinfo'
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
1:49:10 PM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/index.ts' is older than output '../types-database/tsconfig.tsbuildinfo'
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
1:49:10 PM - Project '../database/tsconfig.json' is up to date because newest input '../database/src/tests/integration/centralStreamingEnrichment.integration.test.ts' is older than output '../database/tsconfig.tsbuildinfo'
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
1:49:10 PM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/index.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
1:49:10 PM - Project '../types-env/tsconfig.json' is up to date because newest input '../types-env/src/env.ts' is older than output '../types-env/tsconfig.tsbuildinfo'
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
1:49:10 PM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/env.ts' is older than output '../env/tsconfig.tsbuildinfo'
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
1:49:10 PM - Project '../api-express-router/tsconfig.json' is up to date because newest input '../api-express-router/src/middlewares/requestLoggerMiddleware.ts' is older than output '../api-express-router/tsconfig.tsbuildinfo'
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
1:49:10 PM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/tests/dataset.unit.test.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
1:49:10 PM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/balancer.ts' is older than output '../load-balancer/tsconfig.tsbuildinfo'
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
1:49:10 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
1:49:10 PM - Building project '/home/runner/work/captcha/captcha/packages/provider/tsconfig.json'...
|
|
71
71
|
|
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/provider@4.
|
|
2
|
+
> @prosopo/provider@4.11.1 build
|
|
3
3
|
> npm run build:cross-env -- --mode ${NODE_ENV:-development}
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
> @prosopo/provider@4.
|
|
6
|
+
> @prosopo/provider@4.11.1 build:cross-env
|
|
7
7
|
> vite build --config vite.esm.config.ts --mode production
|
|
8
8
|
|
|
9
9
|
ViteEsmConfig: .
|
|
@@ -84,8 +84,8 @@ rendering chunks...
|
|
|
84
84
|
[2mdist/[22m[36mapi/admin/apiRegisterSiteKeyEndpoint.js [39m[1m[2m 0.90 kB[22m[1m[22m
|
|
85
85
|
[2mdist/[22m[36mtasks/frictionless/frictionlessTasksUtils.js [39m[1m[2m 0.91 kB[22m[1m[22m
|
|
86
86
|
[2mdist/[22m[36mapi/headerCheckMiddleware.js [39m[1m[2m 0.92 kB[22m[1m[22m
|
|
87
|
+
[2mdist/[22m[36mtasks/powCaptcha/powTasksUtils.js [39m[1m[2m 0.98 kB[22m[1m[22m
|
|
87
88
|
[2mdist/[22m[36mapi/captcha/getFrictionlessCaptchaChallenge/sessionDedup.js [39m[1m[2m 0.98 kB[22m[1m[22m
|
|
88
|
-
[2mdist/[22m[36mtasks/powCaptcha/powTasksUtils.js [39m[1m[2m 0.99 kB[22m[1m[22m
|
|
89
89
|
[2mdist/[22m[36mapi/admin/apiRemoveSiteKeyEndpoint.js [39m[1m[2m 1.00 kB[22m[1m[22m
|
|
90
90
|
[2mdist/[22m[36mapi/admin/apiRemoveSiteKeysEndpoint.js [39m[1m[2m 1.00 kB[22m[1m[22m
|
|
91
91
|
[2mdist/[22m[36mapi/admin/apiRegisterSiteKeysEndpoint.js [39m[1m[2m 1.01 kB[22m[1m[22m
|
|
@@ -138,7 +138,7 @@ rendering chunks...
|
|
|
138
138
|
[2mdist/[22m[36mapi/startProviderApi.js [39m[1m[2m 7.65 kB[22m[1m[22m
|
|
139
139
|
[2mdist/[22m[36mapi/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js [39m[1m[2m 9.17 kB[22m[1m[22m
|
|
140
140
|
[2mdist/[22m[36mapi/blacklistRequestInspector.js [39m[1m[2m 9.75 kB[22m[1m[22m
|
|
141
|
-
[2mdist/[22m[36mapi/captcha/getFrictionlessCaptchaChallenge/handler.js [39m[1m[2m 9.
|
|
141
|
+
[2mdist/[22m[36mapi/captcha/getFrictionlessCaptchaChallenge/handler.js [39m[1m[2m 9.87 kB[22m[1m[22m
|
|
142
142
|
[2mdist/[22m[36mtasks/decisionMachine/decisionMachineRunner.js [39m[1m[2m10.14 kB[22m[1m[22m
|
|
143
143
|
[2mdist/[22m[36mapi/verify.js [39m[1m[2m10.44 kB[22m[1m[22m
|
|
144
144
|
[2mdist/[22m[36mutil.js [39m[1m[2m12.17 kB[22m[1m[22m
|
|
@@ -151,7 +151,7 @@ rendering chunks...
|
|
|
151
151
|
[2mdist/[22m[36mtasks/powCaptcha/powTasks.js [39m[1m[2m21.98 kB[22m[1m[22m
|
|
152
152
|
[2mdist/[22m[36mtasks/imgCaptcha/imgCaptchaTasks.js [39m[1m[2m28.04 kB[22m[1m[22m
|
|
153
153
|
[2mdist/[22m[36mtasks/detection/decodePayload.js [39m[1m[2m44.24 kB[22m[1m[22m
|
|
154
|
-
[32m✓ built in 1.
|
|
154
|
+
[32m✓ built in 1.34s[39m
|
|
155
155
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodeBehavior.js to /home/runner/work/captcha/captcha/packages/provider/dist/tasks/detection/decodeBehavior.js
|
|
156
156
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodePayload.js to /home/runner/work/captcha/captcha/packages/provider/dist/tasks/detection/decodePayload.js
|
|
157
157
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodeSimd.js to /home/runner/work/captcha/captcha/packages/provider/dist/tasks/detection/decodeSimd.js
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,62 @@
|
|
|
1
1
|
# @prosopo/provider
|
|
2
2
|
|
|
3
|
+
## 4.11.1
|
|
4
|
+
### Patch Changes
|
|
5
|
+
|
|
6
|
+
- 4626340: perf(provider): cut p95 on /captcha/frictionless and /captcha/image
|
|
7
|
+
|
|
8
|
+
Replaces the `$match → $sample` random-captcha lookup with an indexed
|
|
9
|
+
range scan over a new `{datasetId, solved, randomKey}` compound index;
|
|
10
|
+
reorders the `sampleContextEntropy` aggregation so `$sample` runs
|
|
11
|
+
before `$lookup`; batches three pairs of independent awaits in the
|
|
12
|
+
frictionless handler via `Promise.all`. Adds an integration test
|
|
13
|
+
asserting via `.explain()` and wall-clock timing that the new paths
|
|
14
|
+
are quantifiably faster. The legacy aggregation remains as a fallback
|
|
15
|
+
in `getRandomCaptcha` so deployment can precede the
|
|
16
|
+
providerBackfillCaptchaRandomKey rollout.
|
|
17
|
+
- Updated dependencies [4626340]
|
|
18
|
+
- Updated dependencies [6962179]
|
|
19
|
+
- Updated dependencies [5f47c42]
|
|
20
|
+
- @prosopo/database@3.14.2
|
|
21
|
+
- @prosopo/types@4.6.1
|
|
22
|
+
- @prosopo/types-database@4.10.2
|
|
23
|
+
- @prosopo/user-access-policy@3.10.2
|
|
24
|
+
- @prosopo/api@3.4.14
|
|
25
|
+
- @prosopo/api-express-router@3.1.25
|
|
26
|
+
- @prosopo/datasets@3.1.34
|
|
27
|
+
- @prosopo/env@3.5.15
|
|
28
|
+
- @prosopo/ipinfo@0.2.20
|
|
29
|
+
- @prosopo/keyring@2.9.40
|
|
30
|
+
- @prosopo/load-balancer@2.9.16
|
|
31
|
+
- @prosopo/types-env@2.9.24
|
|
32
|
+
|
|
33
|
+
## 4.11.0
|
|
34
|
+
### Minor Changes
|
|
35
|
+
|
|
36
|
+
- 55b1388: Bit-level granular PoW difficulty via target-threshold check. `solvePoW` (client) and `validateSolution` (server) now compare the hash as a 256-bit big-endian integer against `target = 2^(256 - round(4 * difficulty))`, shared via `targetForDifficulty` / `hashMeetsDifficulty` in `@prosopo/util`. Integer difficulties produce *identical* behaviour to the legacy hex-prefix check (d=4 ≡ 16 leading zero bits ≡ threshold 2^240), so existing clients, configs, anomaly detectors, and stored records are unchanged. Fractional values quantise to bit-level granularity: each 0.25 step ≡ 1 bit ≡ 2× work, so providers can tune d=4.25, d=4.5, d=4.75 to fill the 16× gap between today's d=4 and d=5 — useful for landing on a sensible mobile UX. `powDifficulty` in `ClientSettingsSchema` and `RoutingMachineOutputSchema` drops `.int()`; wire format (nonce as `u32`, difficulty as `number`) is unchanged.
|
|
37
|
+
|
|
38
|
+
### Patch Changes
|
|
39
|
+
|
|
40
|
+
- Updated dependencies [55b1388]
|
|
41
|
+
- Updated dependencies [44eaebf]
|
|
42
|
+
- @prosopo/util@3.3.0
|
|
43
|
+
- @prosopo/types@4.6.0
|
|
44
|
+
- @prosopo/database@3.14.1
|
|
45
|
+
- @prosopo/types-database@4.10.1
|
|
46
|
+
- @prosopo/datasets@3.1.33
|
|
47
|
+
- @prosopo/keyring@2.9.39
|
|
48
|
+
- @prosopo/logger@1.0.3
|
|
49
|
+
- @prosopo/user-access-policy@3.10.1
|
|
50
|
+
- @prosopo/api@3.4.13
|
|
51
|
+
- @prosopo/api-express-router@3.1.24
|
|
52
|
+
- @prosopo/common@3.1.39
|
|
53
|
+
- @prosopo/env@3.5.14
|
|
54
|
+
- @prosopo/ipinfo@0.2.19
|
|
55
|
+
- @prosopo/load-balancer@2.9.15
|
|
56
|
+
- @prosopo/types-env@2.9.23
|
|
57
|
+
- @prosopo/api-route@2.6.47
|
|
58
|
+
- @prosopo/redis-client@1.0.24
|
|
59
|
+
|
|
3
60
|
## 4.10.0
|
|
4
61
|
### Minor Changes
|
|
5
62
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/handler.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;8BAmBtD,mBAAmB,0BACA,kBAAkB,WAGpC,OAAO,GAAG,gBAAgB,OAC1B,QAAQ,QACP,YAAY;AAPpB,
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/handler.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;8BAmBtD,mBAAmB,0BACA,kBAAkB,WAGpC,OAAO,GAAG,gBAAgB,OAC1B,QAAQ,QACP,YAAY;AAPpB,wBAgXG"}
|
|
@@ -61,11 +61,6 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
61
61
|
)
|
|
62
62
|
);
|
|
63
63
|
}
|
|
64
|
-
const tasks = new Tasks(env, req.logger);
|
|
65
|
-
const decodedSimdReadings = await decryptIncomingSimdReadings(
|
|
66
|
-
tasks.frictionlessManager,
|
|
67
|
-
simdReadings
|
|
68
|
-
);
|
|
69
64
|
if (isReservedTestSiteKey(dapp)) {
|
|
70
65
|
req.logger.warn(() => ({
|
|
71
66
|
msg: "Reserved TEST site key - returning invisible PoW session",
|
|
@@ -78,13 +73,13 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
78
73
|
)
|
|
79
74
|
);
|
|
80
75
|
}
|
|
76
|
+
const tasks = new Tasks(env, req.logger);
|
|
81
77
|
const userSitekeyIpHash = hashUserIp(user, normalizedIp, dapp);
|
|
82
|
-
const { existingToken, dedup } = await
|
|
83
|
-
tasks,
|
|
84
|
-
token,
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
);
|
|
78
|
+
const [decodedSimdReadings, { existingToken, dedup }, clientRecord] = await Promise.all([
|
|
79
|
+
decryptIncomingSimdReadings(tasks.frictionlessManager, simdReadings),
|
|
80
|
+
resolveSessionDedup(tasks, token, userSitekeyIpHash, req.logger),
|
|
81
|
+
tasks.db.getClientRecord(dapp)
|
|
82
|
+
]);
|
|
88
83
|
if (existingToken) {
|
|
89
84
|
req.logger.info(() => ({
|
|
90
85
|
token: existingToken,
|
|
@@ -98,7 +93,6 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
98
93
|
})
|
|
99
94
|
);
|
|
100
95
|
}
|
|
101
|
-
const clientRecord = await tasks.db.getClientRecord(dapp);
|
|
102
96
|
if (!clientRecord) {
|
|
103
97
|
return next(
|
|
104
98
|
new ProsopoApiError("API.SITE_KEY_NOT_REGISTERED", {
|
|
@@ -159,6 +153,29 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
159
153
|
const lScore = tasks.frictionlessManager.checkLangRules(
|
|
160
154
|
req.headers["accept-language"] || ""
|
|
161
155
|
);
|
|
156
|
+
const userScope = getRequestUserScope(
|
|
157
|
+
flatten(req.headers),
|
|
158
|
+
req.ja4,
|
|
159
|
+
normalizedIp,
|
|
160
|
+
user,
|
|
161
|
+
void 0,
|
|
162
|
+
void 0,
|
|
163
|
+
countryCode,
|
|
164
|
+
asn
|
|
165
|
+
);
|
|
166
|
+
const [decryptedPayload, validation, accessPolicies] = await Promise.all([
|
|
167
|
+
tasks.frictionlessManager.decryptPayload(token, headHash),
|
|
168
|
+
tasks.frictionlessManager.isValidRequest(
|
|
169
|
+
clientRecord,
|
|
170
|
+
CaptchaType.frictionless,
|
|
171
|
+
env
|
|
172
|
+
),
|
|
173
|
+
tasks.frictionlessManager.getPrioritisedAccessPolicies(
|
|
174
|
+
userAccessRulesStorage,
|
|
175
|
+
dapp,
|
|
176
|
+
userScope
|
|
177
|
+
)
|
|
178
|
+
]);
|
|
162
179
|
const {
|
|
163
180
|
baseBotScore,
|
|
164
181
|
timestamp,
|
|
@@ -171,7 +188,7 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
171
188
|
decryptionFailed,
|
|
172
189
|
triggeredDetectors,
|
|
173
190
|
shadowDomPenalty
|
|
174
|
-
} =
|
|
191
|
+
} = decryptedPayload;
|
|
175
192
|
req.logger.debug(() => ({
|
|
176
193
|
msg: "Decrypted payload",
|
|
177
194
|
data: {
|
|
@@ -184,11 +201,7 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
184
201
|
}
|
|
185
202
|
}));
|
|
186
203
|
let botScore = baseBotScore + lScore;
|
|
187
|
-
const { valid, reason } =
|
|
188
|
-
clientRecord,
|
|
189
|
-
CaptchaType.frictionless,
|
|
190
|
-
env
|
|
191
|
-
);
|
|
204
|
+
const { valid, reason } = validation;
|
|
192
205
|
if (!valid) {
|
|
193
206
|
return next(
|
|
194
207
|
new ProsopoApiError(reason || "API.BAD_REQUEST", {
|
|
@@ -238,21 +251,7 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
238
251
|
...req.ja4 && { ja4: req.ja4 }
|
|
239
252
|
}
|
|
240
253
|
});
|
|
241
|
-
const
|
|
242
|
-
flatten(req.headers),
|
|
243
|
-
req.ja4,
|
|
244
|
-
normalizedIp,
|
|
245
|
-
user,
|
|
246
|
-
void 0,
|
|
247
|
-
void 0,
|
|
248
|
-
countryCode,
|
|
249
|
-
asn
|
|
250
|
-
);
|
|
251
|
-
const userAccessPolicy = (await tasks.frictionlessManager.getPrioritisedAccessPolicies(
|
|
252
|
-
userAccessRulesStorage,
|
|
253
|
-
dapp,
|
|
254
|
-
userScope
|
|
255
|
-
))[0];
|
|
254
|
+
const userAccessPolicy = accessPolicies[0];
|
|
256
255
|
const accessPolicyOutcome = await handleAccessPolicy(
|
|
257
256
|
{
|
|
258
257
|
tasks,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/handler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,11 +62,6 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
62
62
|
)
|
|
63
63
|
);
|
|
64
64
|
}
|
|
65
|
-
const tasks$1 = new tasks.Tasks(env, req.logger);
|
|
66
|
-
const decodedSimdReadings = await decryptSimdReadings.decryptIncomingSimdReadings(
|
|
67
|
-
tasks$1.frictionlessManager,
|
|
68
|
-
simdReadings
|
|
69
|
-
);
|
|
70
65
|
if (testSiteKey.isReservedTestSiteKey(dapp)) {
|
|
71
66
|
req.logger.warn(() => ({
|
|
72
67
|
msg: "Reserved TEST site key - returning invisible PoW session",
|
|
@@ -79,13 +74,13 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
79
74
|
)
|
|
80
75
|
);
|
|
81
76
|
}
|
|
77
|
+
const tasks$1 = new tasks.Tasks(env, req.logger);
|
|
82
78
|
const userSitekeyIpHash = hashUserIp.hashUserIp(user, normalizedIp, dapp);
|
|
83
|
-
const { existingToken, dedup } = await
|
|
84
|
-
tasks$1,
|
|
85
|
-
token,
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
);
|
|
79
|
+
const [decodedSimdReadings, { existingToken, dedup }, clientRecord] = await Promise.all([
|
|
80
|
+
decryptSimdReadings.decryptIncomingSimdReadings(tasks$1.frictionlessManager, simdReadings),
|
|
81
|
+
sessionDedup.resolveSessionDedup(tasks$1, token, userSitekeyIpHash, req.logger),
|
|
82
|
+
tasks$1.db.getClientRecord(dapp)
|
|
83
|
+
]);
|
|
89
84
|
if (existingToken) {
|
|
90
85
|
req.logger.info(() => ({
|
|
91
86
|
token: existingToken,
|
|
@@ -99,7 +94,6 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
99
94
|
})
|
|
100
95
|
);
|
|
101
96
|
}
|
|
102
|
-
const clientRecord = await tasks$1.db.getClientRecord(dapp);
|
|
103
97
|
if (!clientRecord) {
|
|
104
98
|
return next(
|
|
105
99
|
new common.ProsopoApiError("API.SITE_KEY_NOT_REGISTERED", {
|
|
@@ -160,6 +154,29 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
160
154
|
const lScore = tasks$1.frictionlessManager.checkLangRules(
|
|
161
155
|
req.headers["accept-language"] || ""
|
|
162
156
|
);
|
|
157
|
+
const userScope = blacklistRequestInspector.getRequestUserScope(
|
|
158
|
+
util.flatten(req.headers),
|
|
159
|
+
req.ja4,
|
|
160
|
+
normalizedIp,
|
|
161
|
+
user,
|
|
162
|
+
void 0,
|
|
163
|
+
void 0,
|
|
164
|
+
countryCode,
|
|
165
|
+
asn
|
|
166
|
+
);
|
|
167
|
+
const [decryptedPayload, validation, accessPolicies] = await Promise.all([
|
|
168
|
+
tasks$1.frictionlessManager.decryptPayload(token, headHash),
|
|
169
|
+
tasks$1.frictionlessManager.isValidRequest(
|
|
170
|
+
clientRecord,
|
|
171
|
+
types.CaptchaType.frictionless,
|
|
172
|
+
env
|
|
173
|
+
),
|
|
174
|
+
tasks$1.frictionlessManager.getPrioritisedAccessPolicies(
|
|
175
|
+
userAccessRulesStorage,
|
|
176
|
+
dapp,
|
|
177
|
+
userScope
|
|
178
|
+
)
|
|
179
|
+
]);
|
|
163
180
|
const {
|
|
164
181
|
baseBotScore,
|
|
165
182
|
timestamp,
|
|
@@ -172,7 +189,7 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
172
189
|
decryptionFailed,
|
|
173
190
|
triggeredDetectors,
|
|
174
191
|
shadowDomPenalty
|
|
175
|
-
} =
|
|
192
|
+
} = decryptedPayload;
|
|
176
193
|
req.logger.debug(() => ({
|
|
177
194
|
msg: "Decrypted payload",
|
|
178
195
|
data: {
|
|
@@ -185,11 +202,7 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
185
202
|
}
|
|
186
203
|
}));
|
|
187
204
|
let botScore = baseBotScore + lScore;
|
|
188
|
-
const { valid, reason } =
|
|
189
|
-
clientRecord,
|
|
190
|
-
types.CaptchaType.frictionless,
|
|
191
|
-
env
|
|
192
|
-
);
|
|
205
|
+
const { valid, reason } = validation;
|
|
193
206
|
if (!valid) {
|
|
194
207
|
return next(
|
|
195
208
|
new common.ProsopoApiError(reason || "API.BAD_REQUEST", {
|
|
@@ -239,21 +252,7 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
239
252
|
...req.ja4 && { ja4: req.ja4 }
|
|
240
253
|
}
|
|
241
254
|
});
|
|
242
|
-
const
|
|
243
|
-
util.flatten(req.headers),
|
|
244
|
-
req.ja4,
|
|
245
|
-
normalizedIp,
|
|
246
|
-
user,
|
|
247
|
-
void 0,
|
|
248
|
-
void 0,
|
|
249
|
-
countryCode,
|
|
250
|
-
asn
|
|
251
|
-
);
|
|
252
|
-
const userAccessPolicy = (await tasks$1.frictionlessManager.getPrioritisedAccessPolicies(
|
|
253
|
-
userAccessRulesStorage,
|
|
254
|
-
dapp,
|
|
255
|
-
userScope
|
|
256
|
-
))[0];
|
|
255
|
+
const userAccessPolicy = accessPolicies[0];
|
|
257
256
|
const accessPolicyOutcome = await accessPolicy.handleAccessPolicy(
|
|
258
257
|
{
|
|
259
258
|
tasks: tasks$1,
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const sha256 = require("@noble/hashes/sha256");
|
|
4
|
-
const util = require("@polkadot/util");
|
|
4
|
+
const util$1 = require("@polkadot/util");
|
|
5
5
|
const common = require("@prosopo/common");
|
|
6
|
+
const util = require("@prosopo/util");
|
|
6
7
|
const utilCrypto = require("@prosopo/util-crypto");
|
|
7
|
-
const validateSolution = (nonce, challenge, difficulty) =>
|
|
8
|
+
const validateSolution = (nonce, challenge, difficulty) => util.hashMeetsDifficulty(
|
|
9
|
+
sha256.sha256(new TextEncoder().encode(nonce + challenge)),
|
|
10
|
+
difficulty
|
|
11
|
+
);
|
|
8
12
|
const checkPowSignature = (message, signature, address, signatureType) => {
|
|
9
13
|
const signatureVerification = utilCrypto.signatureVerify(
|
|
10
|
-
util.stringToHex(message),
|
|
14
|
+
util$1.stringToHex(message),
|
|
11
15
|
signature,
|
|
12
16
|
address
|
|
13
17
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"powTasksUtils.d.ts","sourceRoot":"","sources":["../../../src/tasks/powCaptcha/powTasksUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"powTasksUtils.d.ts","sourceRoot":"","sources":["../../../src/tasks/powCaptcha/powTasksUtils.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,gBAAgB,UACrB,MAAM,aACF,MAAM,cACL,MAAM,KAChB,OAID,CAAC;AAEH,eAAO,MAAM,iBAAiB,YACpB,MAAM,aACJ,MAAM,WACR,MAAM,kBACC,MAAM,KACpB,IAkBF,CAAC"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { sha256 } from "@noble/hashes/sha256";
|
|
2
2
|
import { stringToHex } from "@polkadot/util";
|
|
3
3
|
import { ProsopoApiError } from "@prosopo/common";
|
|
4
|
+
import { hashMeetsDifficulty } from "@prosopo/util";
|
|
4
5
|
import { signatureVerify } from "@prosopo/util-crypto";
|
|
5
|
-
const validateSolution = (nonce, challenge, difficulty) =>
|
|
6
|
+
const validateSolution = (nonce, challenge, difficulty) => hashMeetsDifficulty(
|
|
7
|
+
sha256(new TextEncoder().encode(nonce + challenge)),
|
|
8
|
+
difficulty
|
|
9
|
+
);
|
|
6
10
|
const checkPowSignature = (message, signature, address, signatureType) => {
|
|
7
11
|
const signatureVerification = signatureVerify(
|
|
8
12
|
stringToHex(message),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"powTasksUtils.js","sourceRoot":"","sources":["../../../src/tasks/powCaptcha/powTasksUtils.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC/B,KAAa,EACb,SAAiB,EACjB,UAAkB,EACR,EAAE,CACZ,
|
|
1
|
+
{"version":3,"file":"powTasksUtils.js","sourceRoot":"","sources":["../../../src/tasks/powCaptcha/powTasksUtils.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC/B,KAAa,EACb,SAAiB,EACjB,UAAkB,EACR,EAAE,CACZ,mBAAmB,CAClB,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,EACnD,UAAU,CACV,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAChC,OAAe,EACf,SAAiB,EACjB,OAAe,EACf,aAAsB,EACf,EAAE;IACT,MAAM,qBAAqB,GAAG,eAAe,CAC5C,WAAW,CAAC,OAAO,CAAC,EACpB,SAAS,EACT,OAAO,CACP,CAAC;IACF,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,IAAI,eAAe,CAAC,2BAA2B,EAAE;YACtD,OAAO,EAAE;gBACR,KAAK,EAAE,0CAA0C,aAAa,EAAE;gBAChE,cAAc,EAAE,iBAAiB,CAAC,IAAI;gBACtC,OAAO;gBACP,OAAO;gBACP,SAAS;gBACT,aAAa;aACb;SACD,CAAC,CAAC;IACJ,CAAC;AACF,CAAC,CAAC"}
|
|
@@ -16,6 +16,7 @@ export declare const datasetWithIndexSolutions: {
|
|
|
16
16
|
assetURI?: string;
|
|
17
17
|
datasetId?: string;
|
|
18
18
|
datasetContentId?: string;
|
|
19
|
+
randomKey?: number;
|
|
19
20
|
unlabelled?: import("@prosopo/types").HashedSolution[] | import("@prosopo/types").RawSolution[];
|
|
20
21
|
salt: string;
|
|
21
22
|
items: import("@prosopo/types").HashedItem[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solvedTestCaptchas.d.ts","sourceRoot":"","sources":["../../../../src/tests/integration/mocks/solvedTestCaptchas.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAuiCjC,qBAAqB,CAAC;AAG3B,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"solvedTestCaptchas.d.ts","sourceRoot":"","sources":["../../../../src/tests/integration/mocks/solvedTestCaptchas.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAuiCjC,qBAAqB,CAAC;AAG3B,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;CASrC,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { sha256 } from "@noble/hashes/sha256";
|
|
1
2
|
import { ProsopoApiError } from "@prosopo/common";
|
|
2
3
|
import { signatureVerify } from "@prosopo/util-crypto";
|
|
3
4
|
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
@@ -47,6 +48,41 @@ describe("validateSolution", () => {
|
|
|
47
48
|
const result = validateSolution(nonce, challenge, difficulty);
|
|
48
49
|
expect(result).toBe(false);
|
|
49
50
|
});
|
|
51
|
+
it("should accept fractional difficulty (bit-level granularity)", () => {
|
|
52
|
+
const nonce = 42;
|
|
53
|
+
const challenge = "fractional-test";
|
|
54
|
+
for (const d of [4, 4.25, 4.5, 4.75, 5]) {
|
|
55
|
+
expect(typeof validateSolution(nonce, challenge, d)).toBe("boolean");
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
it("should be monotonic — harder difficulty implies easier difficulty", () => {
|
|
59
|
+
const challenge = "monotonic";
|
|
60
|
+
let solvingNonce = -1;
|
|
61
|
+
for (let n = 0; n < 200_000; n++) {
|
|
62
|
+
if (validateSolution(n, challenge, 3)) {
|
|
63
|
+
solvingNonce = n;
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
expect(solvingNonce).toBeGreaterThanOrEqual(0);
|
|
68
|
+
for (const easier of [2.75, 2.5, 2.25, 2, 1]) {
|
|
69
|
+
expect(validateSolution(solvingNonce, challenge, easier)).toBe(true);
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
it("should treat integer difficulties identically to the legacy hex-prefix check", () => {
|
|
73
|
+
const challenge = "legacy-equivalence";
|
|
74
|
+
const legacy = (nonce, d) => {
|
|
75
|
+
const hash = Array.from(sha256(new TextEncoder().encode(nonce + challenge)))
|
|
76
|
+
.map((b) => b.toString(16).padStart(2, "0"))
|
|
77
|
+
.join("");
|
|
78
|
+
return hash.startsWith("0".repeat(d));
|
|
79
|
+
};
|
|
80
|
+
for (const d of [1, 2, 3, 4]) {
|
|
81
|
+
for (let n = 0; n < 500; n++) {
|
|
82
|
+
expect(validateSolution(n, challenge, d)).toBe(legacy(n, d));
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
});
|
|
50
86
|
});
|
|
51
87
|
describe("checkPowSignature", () => {
|
|
52
88
|
const validAddress = "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"powTasksUtils.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"powTasksUtils.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prosopo/provider",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.11.1",
|
|
4
4
|
"author": "PROSOPO LIMITED <info@prosopo.io>",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -23,24 +23,24 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@noble/hashes": "1.8.0",
|
|
25
25
|
"@polkadot/util": "13.5.7",
|
|
26
|
-
"@prosopo/api": "3.4.
|
|
27
|
-
"@prosopo/api-express-router": "3.1.
|
|
28
|
-
"@prosopo/api-route": "2.6.
|
|
29
|
-
"@prosopo/common": "3.1.
|
|
30
|
-
"@prosopo/logger": "1.0.
|
|
31
|
-
"@prosopo/database": "3.14.
|
|
32
|
-
"@prosopo/datasets": "3.1.
|
|
33
|
-
"@prosopo/env": "3.5.
|
|
34
|
-
"@prosopo/ipinfo": "0.2.
|
|
35
|
-
"@prosopo/keyring": "2.9.
|
|
36
|
-
"@prosopo/load-balancer": "2.9.
|
|
37
|
-
"@prosopo/redis-client": "1.0.
|
|
26
|
+
"@prosopo/api": "3.4.14",
|
|
27
|
+
"@prosopo/api-express-router": "3.1.25",
|
|
28
|
+
"@prosopo/api-route": "2.6.47",
|
|
29
|
+
"@prosopo/common": "3.1.39",
|
|
30
|
+
"@prosopo/logger": "1.0.3",
|
|
31
|
+
"@prosopo/database": "3.14.2",
|
|
32
|
+
"@prosopo/datasets": "3.1.34",
|
|
33
|
+
"@prosopo/env": "3.5.15",
|
|
34
|
+
"@prosopo/ipinfo": "0.2.20",
|
|
35
|
+
"@prosopo/keyring": "2.9.40",
|
|
36
|
+
"@prosopo/load-balancer": "2.9.16",
|
|
37
|
+
"@prosopo/redis-client": "1.0.24",
|
|
38
38
|
"@prosopo/locale": "3.2.4",
|
|
39
|
-
"@prosopo/types": "4.
|
|
40
|
-
"@prosopo/types-database": "4.10.
|
|
41
|
-
"@prosopo/types-env": "2.9.
|
|
42
|
-
"@prosopo/user-access-policy": "3.10.
|
|
43
|
-
"@prosopo/util": "3.
|
|
39
|
+
"@prosopo/types": "4.6.1",
|
|
40
|
+
"@prosopo/types-database": "4.10.2",
|
|
41
|
+
"@prosopo/types-env": "2.9.24",
|
|
42
|
+
"@prosopo/user-access-policy": "3.10.2",
|
|
43
|
+
"@prosopo/util": "3.3.0",
|
|
44
44
|
"@prosopo/util-crypto": "13.5.29",
|
|
45
45
|
"cron": "3.1.7",
|
|
46
46
|
"express": "4.21.2",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"zod": "3.23.8"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
|
-
"@prosopo/config": "3.3.
|
|
57
|
+
"@prosopo/config": "3.3.2",
|
|
58
58
|
"@types/node": "22.5.5",
|
|
59
59
|
"@types/pg": "8.16.0",
|
|
60
60
|
"@types/uuid": "10.0.0",
|