@prosopo/provider 4.10.0 → 4.11.0

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.
@@ -1,5 +1,5 @@
1
1
 
2
- > @prosopo/provider@4.10.0 build:cjs
2
+ > @prosopo/provider@4.11.0 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
  dist/cjs/tasks/frictionless/frictionlessTasksUtils.cjs  1.05 kB
83
83
  dist/cjs/api/headerCheckMiddleware.cjs  1.07 kB
84
84
  dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/sessionDedup.cjs  1.09 kB
85
- dist/cjs/tasks/powCaptcha/powTasksUtils.cjs  1.13 kB
85
+ dist/cjs/tasks/powCaptcha/powTasksUtils.cjs  1.11 kB
86
86
  dist/cjs/tasks/detection/getBotScore.cjs  1.21 kB
87
87
  dist/cjs/schedulers/getClientList.cjs  1.21 kB
88
88
  dist/cjs/schedulers/setClientEntropy.cjs  1.24 kB
@@ -149,7 +149,7 @@ rendering chunks...
149
149
  dist/cjs/tasks/powCaptcha/powTasks.cjs 22.39 kB
150
150
  dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs 28.48 kB
151
151
  dist/cjs/tasks/detection/decodePayload.cjs 44.26 kB
152
- ✓ built in 689ms
152
+ ✓ built in 782ms
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.10.0 build:tsc
2
+ > @prosopo/provider@4.11.0 build:tsc
3
3
  > tsc --build --verbose
4
4
 
5
- 2:04:04 PM - Projects in this build:
5
+ 7:46:20 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
- 2:04:04 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'
28
+ 7:46:20 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
- 2:04:04 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
30
+ 7:46:20 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
- 2:04:05 PM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
32
+ 7:46:20 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
- 2:04:05 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'
34
+ 7:46:20 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
- 2:04:05 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/util.ts' is older than output '../locale/tsconfig.tsbuildinfo'
36
+ 7:46:20 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
- 2:04:05 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'
38
+ 7:46:20 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
- 2:04:05 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/provider/api.ts' is older than output '../types/tsconfig.tsbuildinfo'
40
+ 7:46:20 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/procaptcha/behavioral.ts' is older than output '../types/tsconfig.tsbuildinfo'
41
41
 
42
- 2:04:05 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/index.ts' is older than output '../common/tsconfig.tsbuildinfo'
42
+ 7:46:20 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
- 2:04:05 PM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/IpInfoService.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
44
+ 7:46:20 PM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/index.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
45
45
 
46
- 2:04:05 PM - Project '../redis-client/tsconfig.json' is up to date because newest input '../redis-client/src/index.ts' is older than output '../redis-client/tsconfig.tsbuildinfo'
46
+ 7:46:20 PM - Project '../redis-client/tsconfig.json' is up to date because newest input '../redis-client/src/index.ts' is older than output '../redis-client/tsconfig.tsbuildinfo'
47
47
 
48
- 2:04:05 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
48
+ 7:46:20 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
- 2:04:05 PM - Project '../user-access-policy/tsconfig.json' is up to date because newest input '../user-access-policy/src/rule.ts' is older than output '../user-access-policy/tsconfig.tsbuildinfo'
50
+ 7:46:20 PM - Project '../user-access-policy/tsconfig.json' is up to date because newest input '../user-access-policy/src/ruleRecord.ts' is older than output '../user-access-policy/tsconfig.tsbuildinfo'
51
51
 
52
- 2:04:05 PM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/types/bannedDomain.ts' is older than output '../types-database/tsconfig.tsbuildinfo'
52
+ 7:46:20 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
- 2:04:05 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'
54
+ 7:46:20 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
- 2:04:05 PM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/index.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
56
+ 7:46:20 PM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/keyring/keyring.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
57
57
 
58
- 2:04:05 PM - Project '../types-env/tsconfig.json' is up to date because newest input '../types-env/src/index.ts' is older than output '../types-env/tsconfig.tsbuildinfo'
58
+ 7:46:20 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
- 2:04:05 PM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/env.ts' is older than output '../env/tsconfig.tsbuildinfo'
60
+ 7:46:20 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
- 2:04:05 PM - Project '../api-express-router/tsconfig.json' is up to date because newest input '../api-express-router/src/apiExpressRouterFactory.ts' is older than output '../api-express-router/tsconfig.tsbuildinfo'
62
+ 7:46:20 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
- 2:04:05 PM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/index.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
64
+ 7:46:20 PM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/index.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
65
65
 
66
- 2:04:05 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'
66
+ 7:46:20 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
- 2:04:05 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
68
+ 7:46:20 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
69
69
 
70
- 2:04:05 PM - Building project '/home/runner/work/captcha/captcha/packages/provider/tsconfig.json'...
70
+ 7:46:20 PM - Building project '/home/runner/work/captcha/captcha/packages/provider/tsconfig.json'...
71
71
 
@@ -1,9 +1,9 @@
1
1
 
2
- > @prosopo/provider@4.10.0 build
2
+ > @prosopo/provider@4.11.0 build
3
3
  > npm run build:cross-env -- --mode ${NODE_ENV:-development}
4
4
 
5
5
 
6
- > @prosopo/provider@4.10.0 build:cross-env
6
+ > @prosopo/provider@4.11.0 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
  dist/api/admin/apiRegisterSiteKeyEndpoint.js  0.90 kB
85
85
  dist/tasks/frictionless/frictionlessTasksUtils.js  0.91 kB
86
86
  dist/api/headerCheckMiddleware.js  0.92 kB
87
+ dist/tasks/powCaptcha/powTasksUtils.js  0.98 kB
87
88
  dist/api/captcha/getFrictionlessCaptchaChallenge/sessionDedup.js  0.98 kB
88
- dist/tasks/powCaptcha/powTasksUtils.js  0.99 kB
89
89
  dist/api/admin/apiRemoveSiteKeyEndpoint.js  1.00 kB
90
90
  dist/api/admin/apiRemoveSiteKeysEndpoint.js  1.00 kB
91
91
  dist/api/admin/apiRegisterSiteKeysEndpoint.js  1.01 kB
@@ -151,7 +151,7 @@ rendering chunks...
151
151
  dist/tasks/powCaptcha/powTasks.js 21.98 kB
152
152
  dist/tasks/imgCaptcha/imgCaptchaTasks.js 28.04 kB
153
153
  dist/tasks/detection/decodePayload.js 44.24 kB
154
- ✓ built in 1.56s
154
+ ✓ built in 1.00s
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,32 @@
1
1
  # @prosopo/provider
2
2
 
3
+ ## 4.11.0
4
+ ### Minor Changes
5
+
6
+ - 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.
7
+
8
+ ### Patch Changes
9
+
10
+ - Updated dependencies [55b1388]
11
+ - Updated dependencies [44eaebf]
12
+ - @prosopo/util@3.3.0
13
+ - @prosopo/types@4.6.0
14
+ - @prosopo/database@3.14.1
15
+ - @prosopo/types-database@4.10.1
16
+ - @prosopo/datasets@3.1.33
17
+ - @prosopo/keyring@2.9.39
18
+ - @prosopo/logger@1.0.3
19
+ - @prosopo/user-access-policy@3.10.1
20
+ - @prosopo/api@3.4.13
21
+ - @prosopo/api-express-router@3.1.24
22
+ - @prosopo/common@3.1.39
23
+ - @prosopo/env@3.5.14
24
+ - @prosopo/ipinfo@0.2.19
25
+ - @prosopo/load-balancer@2.9.15
26
+ - @prosopo/types-env@2.9.23
27
+ - @prosopo/api-route@2.6.47
28
+ - @prosopo/redis-client@1.0.24
29
+
3
30
  ## 4.10.0
4
31
  ### Minor Changes
5
32
 
@@ -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) => Array.from(sha256.sha256(new TextEncoder().encode(nonce + challenge))).map((byte) => byte.toString(16).padStart(2, "0")).join("").startsWith("0".repeat(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":"AAmBA,eAAO,MAAM,gBAAgB,UACrB,MAAM,aACF,MAAM,cACL,MAAM,KAChB,OAIkC,CAAC;AAEtC,eAAO,MAAM,iBAAiB,YACpB,MAAM,aACJ,MAAM,WACR,MAAM,kBACC,MAAM,KACpB,IAkBF,CAAC"}
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) => Array.from(sha256(new TextEncoder().encode(nonce + challenge))).map((byte) => byte.toString(16).padStart(2, "0")).join("").startsWith("0".repeat(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,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC;KAC7D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;KACjD,IAAI,CAAC,EAAE,CAAC;KACR,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;AAEtC,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"}
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"}
@@ -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.10.0",
3
+ "version": "4.11.0",
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.12",
27
- "@prosopo/api-express-router": "3.1.23",
28
- "@prosopo/api-route": "2.6.46",
29
- "@prosopo/common": "3.1.38",
30
- "@prosopo/logger": "1.0.2",
31
- "@prosopo/database": "3.14.0",
32
- "@prosopo/datasets": "3.1.32",
33
- "@prosopo/env": "3.5.13",
34
- "@prosopo/ipinfo": "0.2.18",
35
- "@prosopo/keyring": "2.9.38",
36
- "@prosopo/load-balancer": "2.9.14",
37
- "@prosopo/redis-client": "1.0.23",
26
+ "@prosopo/api": "3.4.13",
27
+ "@prosopo/api-express-router": "3.1.24",
28
+ "@prosopo/api-route": "2.6.47",
29
+ "@prosopo/common": "3.1.39",
30
+ "@prosopo/logger": "1.0.3",
31
+ "@prosopo/database": "3.14.1",
32
+ "@prosopo/datasets": "3.1.33",
33
+ "@prosopo/env": "3.5.14",
34
+ "@prosopo/ipinfo": "0.2.19",
35
+ "@prosopo/keyring": "2.9.39",
36
+ "@prosopo/load-balancer": "2.9.15",
37
+ "@prosopo/redis-client": "1.0.24",
38
38
  "@prosopo/locale": "3.2.4",
39
- "@prosopo/types": "4.5.0",
40
- "@prosopo/types-database": "4.10.0",
41
- "@prosopo/types-env": "2.9.22",
42
- "@prosopo/user-access-policy": "3.10.0",
43
- "@prosopo/util": "3.2.15",
39
+ "@prosopo/types": "4.6.0",
40
+ "@prosopo/types-database": "4.10.1",
41
+ "@prosopo/types-env": "2.9.23",
42
+ "@prosopo/user-access-policy": "3.10.1",
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",