@prosopo/provider 5.4.0 → 5.5.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 +9 -8
- package/.turbo/turbo-build$colon$tsc.log +25 -25
- package/.turbo/turbo-build.log +9 -8
- package/CHANGELOG.md +39 -0
- package/dist/api/verify.d.ts.map +1 -1
- package/dist/api/verify.js +6 -6
- package/dist/api/verify.js.map +1 -1
- package/dist/cjs/api/verify.cjs +6 -6
- package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +22 -6
- package/dist/cjs/tasks/powCaptcha/powTasks.cjs +20 -3
- package/dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs +30 -3
- package/dist/cjs/utils/clientMetaData.cjs +34 -0
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +22 -6
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -1
- package/dist/tasks/powCaptcha/powTasks.d.ts +1 -1
- package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -1
- package/dist/tasks/powCaptcha/powTasks.js +20 -3
- package/dist/tasks/powCaptcha/powTasks.js.map +1 -1
- package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts +1 -1
- package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts.map +1 -1
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js +30 -3
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js.map +1 -1
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js +60 -1
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js +68 -0
- package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.js +61 -0
- package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.js.map +1 -1
- package/dist/tests/unit/utils/clientMetaData.unit.test.d.ts +2 -0
- package/dist/tests/unit/utils/clientMetaData.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/utils/clientMetaData.unit.test.js +49 -0
- package/dist/tests/unit/utils/clientMetaData.unit.test.js.map +1 -0
- package/dist/utils/clientMetaData.d.ts +4 -0
- package/dist/utils/clientMetaData.d.ts.map +1 -0
- package/dist/utils/clientMetaData.js +33 -0
- package/dist/utils/clientMetaData.js.map +1 -0
- package/package.json +15 -15
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clientMetaData.unit.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/utils/clientMetaData.unit.test.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACN,uBAAuB,EACvB,sBAAsB,GACtB,MAAM,kCAAkC,CAAC;AAE1C,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACtD,MAAM,KAAK,GAAmB,EAAE,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;QAC9D,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,sBAAsB,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAChE,EAAE,EAAE,gBAAgB;SACpB,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,sBAAsB,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YACpE,eAAe,EAAE,OAAO;SACxB,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC9C,MAAM,IAAI,GAAmB,EAAE,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC;QACtE,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC3D,MAAM,MAAM,GAAG,sBAAsB,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC;QACpE,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QACnE,MAAM,CAAC,uBAAuB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClE,MAAM,CAAC,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,CAAC,uBAAuB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC5D,MAAM,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACxD,MAAM,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACpE,MAAM,CAAC,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC3D,MAAM,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ClientMetaData } from "@prosopo/types";
|
|
2
|
+
export declare const toStoredClientMetaData: (clientMetaData?: ClientMetaData) => ClientMetaData | undefined;
|
|
3
|
+
export declare const isClientSessionMismatch: (expected: string | undefined, recorded: string | undefined) => boolean;
|
|
4
|
+
//# sourceMappingURL=clientMetaData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clientMetaData.d.ts","sourceRoot":"","sources":["../../src/utils/clientMetaData.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAYrD,eAAO,MAAM,sBAAsB,oBACjB,cAAc,KAC7B,cAAc,GAAG,SASnB,CAAC;AAWF,eAAO,MAAM,uBAAuB,aACzB,MAAM,GAAG,SAAS,YAClB,MAAM,GAAG,SAAS,KAC1B,OAGF,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
//#region src/utils/clientMetaData.ts
|
|
2
|
+
/**
|
|
3
|
+
* Narrows the widget-supplied `clientMetaData` to the fields we persist,
|
|
4
|
+
* dropping empty values so a record never gains an all-undefined subdocument.
|
|
5
|
+
* Returns undefined when there is nothing worth writing, which lets callers
|
|
6
|
+
* spread the result conditionally.
|
|
7
|
+
*
|
|
8
|
+
* Kept as one function so the captcha record and the session record (which
|
|
9
|
+
* both carry `clientMetaData`) always store the same shape, and so a new
|
|
10
|
+
* render-time metadata field only has to be added here.
|
|
11
|
+
*/
|
|
12
|
+
var toStoredClientMetaData = (clientMetaData) => {
|
|
13
|
+
const stored = {
|
|
14
|
+
...clientMetaData?.hp && { hp: clientMetaData.hp },
|
|
15
|
+
...clientMetaData?.clientSessionId && { clientSessionId: clientMetaData.clientSessionId }
|
|
16
|
+
};
|
|
17
|
+
return Object.keys(stored).length > 0 ? stored : void 0;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Compares the `clientSessionId` the dapp server supplied at verify time
|
|
21
|
+
* against the one the widget recorded when the captcha was solved.
|
|
22
|
+
*
|
|
23
|
+
* Returns true only when the site asked for a correlation (`expected` set) and
|
|
24
|
+
* the solve does not carry exactly that value — including the case where the
|
|
25
|
+
* solve carries no session id at all, which is what a token minted outside the
|
|
26
|
+
* site's session (or by an older widget) looks like.
|
|
27
|
+
*/
|
|
28
|
+
var isClientSessionMismatch = (expected, recorded) => {
|
|
29
|
+
if (!expected) return false;
|
|
30
|
+
return recorded !== expected;
|
|
31
|
+
};
|
|
32
|
+
//#endregion
|
|
33
|
+
export { isClientSessionMismatch, toStoredClientMetaData };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clientMetaData.js","sourceRoot":"","sources":["../../src/utils/clientMetaData.ts"],"names":[],"mappings":"AA0BA,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACrC,cAA+B,EACF,EAAE;IAC/B,MAAM,MAAM,GAAmB;QAC9B,GAAG,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC;QACpD,GAAG,CAAC,cAAc,EAAE,eAAe,IAAI;YACtC,eAAe,EAAE,cAAc,CAAC,eAAe;SAC/C,CAAC;KACF,CAAC;IAEF,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5D,CAAC,CAAC;AAWF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACtC,QAA4B,EAC5B,QAA4B,EAClB,EAAE;IACZ,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,OAAO,QAAQ,KAAK,QAAQ,CAAC;AAC9B,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prosopo/provider",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.5.1",
|
|
4
4
|
"author": "PROSOPO LIMITED <info@prosopo.io>",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -23,26 +23,26 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@noble/hashes": "1.8.0",
|
|
25
25
|
"@polkadot/util": "13.5.7",
|
|
26
|
-
"@prosopo/api": "4.0
|
|
27
|
-
"@prosopo/api-express-router": "3.1.
|
|
26
|
+
"@prosopo/api": "4.1.0",
|
|
27
|
+
"@prosopo/api-express-router": "3.1.75",
|
|
28
28
|
"@prosopo/api-route": "2.6.56",
|
|
29
|
-
"@prosopo/common": "3.1.
|
|
30
|
-
"@prosopo/database": "4.0.
|
|
31
|
-
"@prosopo/datasets": "3.1.
|
|
32
|
-
"@prosopo/env": "3.6.
|
|
33
|
-
"@prosopo/ipinfo": "0.3.
|
|
34
|
-
"@prosopo/keyring": "2.9.
|
|
35
|
-
"@prosopo/load-balancer": "2.10.
|
|
36
|
-
"@prosopo/locale": "3.
|
|
29
|
+
"@prosopo/common": "3.1.52",
|
|
30
|
+
"@prosopo/database": "4.0.21",
|
|
31
|
+
"@prosopo/datasets": "3.1.72",
|
|
32
|
+
"@prosopo/env": "3.6.44",
|
|
33
|
+
"@prosopo/ipinfo": "0.3.17",
|
|
34
|
+
"@prosopo/keyring": "2.9.79",
|
|
35
|
+
"@prosopo/load-balancer": "2.10.33",
|
|
36
|
+
"@prosopo/locale": "3.4.0",
|
|
37
37
|
"@prosopo/logger": "2.0.7",
|
|
38
38
|
"@prosopo/native-ja4": "0.0.3",
|
|
39
39
|
"@prosopo/native-merkle": "0.0.3",
|
|
40
40
|
"@prosopo/puzzle-assets": "0.1.3",
|
|
41
41
|
"@prosopo/redis-client": "1.0.33",
|
|
42
|
-
"@prosopo/types": "5.
|
|
43
|
-
"@prosopo/types-database": "5.
|
|
44
|
-
"@prosopo/types-env": "2.10.
|
|
45
|
-
"@prosopo/user-access-policy": "3.12.
|
|
42
|
+
"@prosopo/types": "5.4.0",
|
|
43
|
+
"@prosopo/types-database": "5.2.0",
|
|
44
|
+
"@prosopo/types-env": "2.10.38",
|
|
45
|
+
"@prosopo/user-access-policy": "3.12.27",
|
|
46
46
|
"@prosopo/util": "3.3.7",
|
|
47
47
|
"@prosopo/util-crypto": "13.5.30",
|
|
48
48
|
"cron": "3.1.7",
|