@prosopo/provider 2.1.0 → 2.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +12 -14
- package/vite.test.config.ts +2 -16
- package/.dockerignore +0 -5
- package/dist/api/admin.d.ts +0 -4
- package/dist/api/admin.d.ts.map +0 -1
- package/dist/api/admin.js +0 -26
- package/dist/api/admin.js.map +0 -1
- package/dist/api/authMiddleware.d.ts +0 -7
- package/dist/api/authMiddleware.d.ts.map +0 -1
- package/dist/api/authMiddleware.js +0 -50
- package/dist/api/authMiddleware.js.map +0 -1
- package/dist/api/captcha.d.ts +0 -4
- package/dist/api/captcha.d.ts.map +0 -1
- package/dist/api/captcha.js +0 -134
- package/dist/api/captcha.js.map +0 -1
- package/dist/api/errorHandler.d.ts +0 -5
- package/dist/api/errorHandler.d.ts.map +0 -1
- package/dist/api/errorHandler.js +0 -14
- package/dist/api/errorHandler.js.map +0 -1
- package/dist/api/verify.d.ts +0 -4
- package/dist/api/verify.d.ts.map +0 -1
- package/dist/api/verify.js +0 -127
- package/dist/api/verify.js.map +0 -1
- package/dist/cjs/api/admin.cjs +0 -28
- package/dist/cjs/api/authMiddleware.cjs +0 -50
- package/dist/cjs/api/captcha.cjs +0 -183
- package/dist/cjs/api/errorHandler.cjs +0 -14
- package/dist/cjs/api/verify.cjs +0 -140
- package/dist/cjs/index.cjs +0 -21
- package/dist/cjs/schedulers/captchaScheduler.cjs +0 -33
- package/dist/cjs/schedulers/getClientList.cjs +0 -31
- package/dist/cjs/tasks/client/clientTasks.cjs +0 -141
- package/dist/cjs/tasks/dataset/datasetTasks.cjs +0 -30
- package/dist/cjs/tasks/dataset/datasetTasksUtils.cjs +0 -34
- package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +0 -280
- package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasksUtils.cjs +0 -25
- package/dist/cjs/tasks/index.cjs +0 -4
- package/dist/cjs/tasks/powCaptcha/powTasks.cjs +0 -132
- package/dist/cjs/tasks/powCaptcha/powTasksUtils.cjs +0 -26
- package/dist/cjs/tasks/tasks.cjs +0 -40
- package/dist/cjs/util.cjs +0 -45
- package/dist/index.d.ts +0 -9
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -9
- package/dist/index.js.map +0 -1
- package/dist/schedulers/captchaScheduler.d.ts +0 -4
- package/dist/schedulers/captchaScheduler.d.ts.map +0 -1
- package/dist/schedulers/captchaScheduler.js +0 -28
- package/dist/schedulers/captchaScheduler.js.map +0 -1
- package/dist/schedulers/getClientList.d.ts +0 -4
- package/dist/schedulers/getClientList.d.ts.map +0 -1
- package/dist/schedulers/getClientList.js +0 -28
- package/dist/schedulers/getClientList.js.map +0 -1
- package/dist/tasks/client/clientTasks.d.ts +0 -12
- package/dist/tasks/client/clientTasks.d.ts.map +0 -1
- package/dist/tasks/client/clientTasks.js +0 -80
- package/dist/tasks/client/clientTasks.js.map +0 -1
- package/dist/tasks/dataset/datasetTasks.d.ts +0 -13
- package/dist/tasks/dataset/datasetTasks.d.ts.map +0 -1
- package/dist/tasks/dataset/datasetTasks.js +0 -19
- package/dist/tasks/dataset/datasetTasks.js.map +0 -1
- package/dist/tasks/dataset/datasetTasksUtils.d.ts +0 -3
- package/dist/tasks/dataset/datasetTasksUtils.d.ts.map +0 -1
- package/dist/tasks/dataset/datasetTasksUtils.js +0 -34
- package/dist/tasks/dataset/datasetTasksUtils.js.map +0 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts +0 -28
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +0 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +0 -208
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +0 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts +0 -7
- package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts.map +0 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js +0 -18
- package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js.map +0 -1
- package/dist/tasks/index.d.ts +0 -2
- package/dist/tasks/index.d.ts.map +0 -1
- package/dist/tasks/index.js +0 -2
- package/dist/tasks/index.js.map +0 -1
- package/dist/tasks/powCaptcha/powTasks.d.ts +0 -13
- package/dist/tasks/powCaptcha/powTasks.d.ts.map +0 -1
- package/dist/tasks/powCaptcha/powTasks.js +0 -83
- package/dist/tasks/powCaptcha/powTasks.js.map +0 -1
- package/dist/tasks/powCaptcha/powTasksUtils.d.ts +0 -3
- package/dist/tasks/powCaptcha/powTasksUtils.d.ts.map +0 -1
- package/dist/tasks/powCaptcha/powTasksUtils.js +0 -22
- package/dist/tasks/powCaptcha/powTasksUtils.js.map +0 -1
- package/dist/tasks/tasks.d.ts +0 -22
- package/dist/tasks/tasks.d.ts.map +0 -1
- package/dist/tasks/tasks.js +0 -24
- package/dist/tasks/tasks.js.map +0 -1
- package/dist/tests/index.d.ts +0 -2
- package/dist/tests/index.d.ts.map +0 -1
- package/dist/tests/index.js +0 -2
- package/dist/tests/index.js.map +0 -1
- package/dist/tests/integration/imgCaptcha.integration.test.d.ts +0 -2
- package/dist/tests/integration/imgCaptcha.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/imgCaptcha.integration.test.js +0 -115
- package/dist/tests/integration/imgCaptcha.integration.test.js.map +0 -1
- package/dist/tests/integration/mocks/solvedTestCaptchas.d.ts +0 -32
- package/dist/tests/integration/mocks/solvedTestCaptchas.d.ts.map +0 -1
- package/dist/tests/integration/mocks/solvedTestCaptchas.js +0 -1046
- package/dist/tests/integration/mocks/solvedTestCaptchas.js.map +0 -1
- package/dist/tests/integration/powCaptcha.integration.test.d.ts +0 -2
- package/dist/tests/integration/powCaptcha.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/powCaptcha.integration.test.js +0 -173
- package/dist/tests/integration/powCaptcha.integration.test.js.map +0 -1
- package/dist/tests/unit/api/authMiddleware.unit.test.d.ts +0 -2
- package/dist/tests/unit/api/authMiddleware.unit.test.d.ts.map +0 -1
- package/dist/tests/unit/api/authMiddleware.unit.test.js +0 -87
- package/dist/tests/unit/api/authMiddleware.unit.test.js.map +0 -1
- package/dist/tests/unit/api/errorHandler.unit.test.d.ts +0 -2
- package/dist/tests/unit/api/errorHandler.unit.test.d.ts.map +0 -1
- package/dist/tests/unit/api/errorHandler.unit.test.js +0 -65
- package/dist/tests/unit/api/errorHandler.unit.test.js.map +0 -1
- package/dist/tests/unit/schedulers/captchaScheduler.unit.test.d.ts +0 -2
- package/dist/tests/unit/schedulers/captchaScheduler.unit.test.d.ts.map +0 -1
- package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js +0 -63
- package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js.map +0 -1
- package/dist/tests/unit/tasks/client/clientTasks.unit.test.d.ts +0 -2
- package/dist/tests/unit/tasks/client/clientTasks.unit.test.d.ts.map +0 -1
- package/dist/tests/unit/tasks/client/clientTasks.unit.test.js +0 -172
- package/dist/tests/unit/tasks/client/clientTasks.unit.test.js.map +0 -1
- package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.d.ts +0 -2
- package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.d.ts.map +0 -1
- package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.js +0 -86
- package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.js.map +0 -1
- package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.d.ts +0 -2
- package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.d.ts.map +0 -1
- package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js +0 -75
- package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js.map +0 -1
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.d.ts +0 -2
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.d.ts.map +0 -1
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js +0 -266
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js.map +0 -1
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.d.ts +0 -2
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.d.ts.map +0 -1
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js +0 -46
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js.map +0 -1
- package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.d.ts +0 -2
- package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.d.ts.map +0 -1
- package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js +0 -209
- package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js.map +0 -1
- package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.d.ts +0 -2
- package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.d.ts.map +0 -1
- package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js +0 -65
- package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js.map +0 -1
- package/dist/util.d.ts +0 -6
- package/dist/util.d.ts.map +0 -1
- package/dist/util.js +0 -34
- package/dist/util.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
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,OAIkC,CAAC;AAEtC,eAAO,MAAM,iBAAiB,cAClB,MAAM,aACN,MAAM,WACR,MAAM,kBACC,MAAM,KACpB,IAgBF,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { sha256 } from "@noble/hashes/sha256";
|
|
2
|
-
import { stringToHex } from "@polkadot/util";
|
|
3
|
-
import { signatureVerify } from "@polkadot/util-crypto";
|
|
4
|
-
import { ProsopoContractError } from "@prosopo/common";
|
|
5
|
-
export const validateSolution = (nonce, challenge, difficulty) => Array.from(sha256(new TextEncoder().encode(nonce + challenge)))
|
|
6
|
-
.map((byte) => byte.toString(16).padStart(2, "0"))
|
|
7
|
-
.join("")
|
|
8
|
-
.startsWith("0".repeat(difficulty));
|
|
9
|
-
export const checkPowSignature = (challenge, signature, address, signatureType) => {
|
|
10
|
-
const signatureVerification = signatureVerify(stringToHex(challenge), signature, address);
|
|
11
|
-
if (!signatureVerification.isValid) {
|
|
12
|
-
throw new ProsopoContractError("GENERAL.INVALID_SIGNATURE", {
|
|
13
|
-
context: {
|
|
14
|
-
ERROR: `Signature is invalid for this message: ${signatureType}`,
|
|
15
|
-
failedFuncName: checkPowSignature.name,
|
|
16
|
-
signature,
|
|
17
|
-
signatureType,
|
|
18
|
-
},
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=powTasksUtils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"powTasksUtils.js","sourceRoot":"","sources":["../../../src/tasks/powCaptcha/powTasksUtils.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAIvD,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,SAAiB,EACjB,SAAiB,EACjB,OAAe,EACf,aAAsB,EACf,EAAE;IACT,MAAM,qBAAqB,GAAG,eAAe,CAC5C,WAAW,CAAC,SAAS,CAAC,EACtB,SAAS,EACT,OAAO,CACP,CAAC;IACF,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,IAAI,oBAAoB,CAAC,2BAA2B,EAAE;YAC3D,OAAO,EAAE;gBACR,KAAK,EAAE,0CAA0C,aAAa,EAAE;gBAChE,cAAc,EAAE,iBAAiB,CAAC,IAAI;gBACtC,SAAS;gBACT,aAAa;aACb;SACD,CAAC,CAAC;IACJ,CAAC;AACF,CAAC,CAAC"}
|
package/dist/tasks/tasks.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { KeyringPair } from "@polkadot/keyring/types";
|
|
2
|
-
import { type Logger } from "@prosopo/common";
|
|
3
|
-
import type { CaptchaConfig, ProsopoConfigOutput } from "@prosopo/types";
|
|
4
|
-
import type { IProviderDatabase } from "@prosopo/types-database";
|
|
5
|
-
import type { ProviderEnvironment } from "@prosopo/types-env";
|
|
6
|
-
import { ClientTaskManager } from "./client/clientTasks.js";
|
|
7
|
-
import { DatasetManager } from "./dataset/datasetTasks.js";
|
|
8
|
-
import { ImgCaptchaManager } from "./imgCaptcha/imgCaptchaTasks.js";
|
|
9
|
-
import { PowCaptchaManager } from "./powCaptcha/powTasks.js";
|
|
10
|
-
export declare class Tasks {
|
|
11
|
-
db: IProviderDatabase;
|
|
12
|
-
captchaConfig: CaptchaConfig;
|
|
13
|
-
logger: Logger;
|
|
14
|
-
config: ProsopoConfigOutput;
|
|
15
|
-
pair: KeyringPair;
|
|
16
|
-
powCaptchaManager: PowCaptchaManager;
|
|
17
|
-
datasetManager: DatasetManager;
|
|
18
|
-
imgCaptchaManager: ImgCaptchaManager;
|
|
19
|
-
clientTaskManager: ClientTaskManager;
|
|
20
|
-
constructor(env: ProviderEnvironment);
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=tasks.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/tasks/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,KAAK,MAAM,EAA8B,MAAM,iBAAiB,CAAC;AAc1E,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAK7D,qBAAa,KAAK;IACjB,EAAE,EAAE,iBAAiB,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,mBAAmB,CAAC;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,cAAc,EAAE,cAAc,CAAC;IAC/B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,iBAAiB,EAAE,iBAAiB,CAAC;gBAEzB,GAAG,EAAE,mBAAmB;CA+BpC"}
|
package/dist/tasks/tasks.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { ProsopoEnvError, getLogger } from "@prosopo/common";
|
|
2
|
-
import { ClientTaskManager } from "./client/clientTasks.js";
|
|
3
|
-
import { DatasetManager } from "./dataset/datasetTasks.js";
|
|
4
|
-
import { ImgCaptchaManager } from "./imgCaptcha/imgCaptchaTasks.js";
|
|
5
|
-
import { PowCaptchaManager } from "./powCaptcha/powTasks.js";
|
|
6
|
-
export class Tasks {
|
|
7
|
-
constructor(env) {
|
|
8
|
-
this.config = env.config;
|
|
9
|
-
this.db = env.getDb();
|
|
10
|
-
this.captchaConfig = env.config.captchas;
|
|
11
|
-
this.logger = getLogger(env.config.logLevel, "Tasks");
|
|
12
|
-
if (!env.pair) {
|
|
13
|
-
throw new ProsopoEnvError("DEVELOPER.MISSING_PROVIDER_PAIR", {
|
|
14
|
-
context: { failedFuncName: "Tasks.constructor" },
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
this.pair = env.pair;
|
|
18
|
-
this.powCaptchaManager = new PowCaptchaManager(this.pair, this.db);
|
|
19
|
-
this.datasetManager = new DatasetManager(this.config, this.logger, this.captchaConfig, this.db);
|
|
20
|
-
this.imgCaptchaManager = new ImgCaptchaManager(this.db, this.pair, this.logger, this.captchaConfig);
|
|
21
|
-
this.clientTaskManager = new ClientTaskManager(this.config, this.logger, this.db);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=tasks.js.map
|
package/dist/tasks/tasks.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/tasks/tasks.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAiB1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAK7D,MAAM,OAAO,KAAK;IAWjB,YAAY,GAAwB;QACnC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,eAAe,CAAC,iCAAiC,EAAE;gBAC5D,OAAO,EAAE,EAAE,cAAc,EAAE,mBAAmB,EAAE;aAChD,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QAErB,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,EAAE,CACP,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAC7C,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,aAAa,CAClB,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAC7C,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,EAAE,CACP,CAAC;IACH,CAAC;CACD"}
|
package/dist/tests/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tests/index.ts"],"names":[],"mappings":""}
|
package/dist/tests/index.js
DELETED
package/dist/tests/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tests/index.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"imgCaptcha.integration.test.d.ts","sourceRoot":"","sources":["../../../src/tests/integration/imgCaptcha.integration.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { stringToU8a, u8aToHex } from "@polkadot/util";
|
|
2
|
-
import { getPairAsync } from "@prosopo/contract";
|
|
3
|
-
import { datasetWithSolutionHashes } from "@prosopo/datasets";
|
|
4
|
-
import { ApiParams, ApiPaths, } from "@prosopo/types";
|
|
5
|
-
import fetch from "node-fetch";
|
|
6
|
-
import { describe, expect, it } from "vitest";
|
|
7
|
-
import { dummyUserAccount } from "./mocks/solvedTestCaptchas.js";
|
|
8
|
-
const solutions = datasetWithSolutionHashes;
|
|
9
|
-
const baseUrl = "http://localhost:9229";
|
|
10
|
-
const getSolvedCaptchas = (captchas, solutions) => captchas.map((captcha) => {
|
|
11
|
-
const solvedCaptcha = solutions.find((solvedCaptcha) => solvedCaptcha.captchaContentId === captcha.captchaContentId);
|
|
12
|
-
if (!solvedCaptcha || !solvedCaptcha.solution) {
|
|
13
|
-
throw new Error("Solution not found for captcha");
|
|
14
|
-
}
|
|
15
|
-
return {
|
|
16
|
-
captchaContentId: captcha.captchaContentId,
|
|
17
|
-
captchaId: captcha.captchaId,
|
|
18
|
-
salt: solvedCaptcha.salt,
|
|
19
|
-
solution: solvedCaptcha.solution,
|
|
20
|
-
};
|
|
21
|
-
});
|
|
22
|
-
describe("Image Captcha Integration Tests", () => {
|
|
23
|
-
describe("GetImageCaptchaChallenge", () => {
|
|
24
|
-
it("should supply an image captcha challenge to a Dapp User", async () => {
|
|
25
|
-
const userAccount = "5EquBjgKx98VFyP9xVYeAUE2soNGBUbru7L9pXgdmSmrDrQp";
|
|
26
|
-
const dappAccount = "5HGjWAeFDfFCWPsjFQdVV2Msvz2XtMktvgocEZcCj68kUMaw";
|
|
27
|
-
const origin = "http://localhost";
|
|
28
|
-
const getImageCaptchaURL = `${baseUrl}${ApiPaths.GetImageCaptchaChallenge}/${solutions.datasetId}/${userAccount}/${dappAccount}`;
|
|
29
|
-
const response = await fetch(getImageCaptchaURL, {
|
|
30
|
-
method: "GET",
|
|
31
|
-
headers: {
|
|
32
|
-
"Content-Type": "application/json",
|
|
33
|
-
Origin: origin,
|
|
34
|
-
},
|
|
35
|
-
});
|
|
36
|
-
expect(response.status).toBe(200);
|
|
37
|
-
});
|
|
38
|
-
it("should fail if datasetID is incorrect", async () => {
|
|
39
|
-
const userAccount = "5EquBjgKx98VFyP9xVYeAUE2soNGBUbru7L9pXgdmSmrDrQp";
|
|
40
|
-
const dappAccount = "5HGjWAeFDfFCWPsjFQdVV2Msvz2XtMktvgocEZcCj68kUMaw";
|
|
41
|
-
const datasetId = "thewrongdsetId";
|
|
42
|
-
const getImageCaptchaURL = `${baseUrl}${ApiPaths.GetImageCaptchaChallenge}/${datasetId}/${userAccount}/${dappAccount}`;
|
|
43
|
-
const response = await fetch(getImageCaptchaURL, {
|
|
44
|
-
method: "GET",
|
|
45
|
-
headers: {
|
|
46
|
-
"Content-Type": "application/json",
|
|
47
|
-
},
|
|
48
|
-
});
|
|
49
|
-
expect(response.status).toBe(400);
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
describe("SubmitImageCaptchaSolution", () => {
|
|
53
|
-
it("should verify a correctly completed image captcha as true", async () => {
|
|
54
|
-
const pair = await getPairAsync(dummyUserAccount.seed, undefined, "sr25519", 42);
|
|
55
|
-
const userAccount = dummyUserAccount.address;
|
|
56
|
-
const dappAccount = "5HGjWAeFDfFCWPsjFQdVV2Msvz2XtMktvgocEZcCj68kUMaw";
|
|
57
|
-
const origin = "http://localhost";
|
|
58
|
-
const getImageCaptchaURL = `${baseUrl}${ApiPaths.GetImageCaptchaChallenge}/${solutions.datasetId}/${userAccount}/${dappAccount}`;
|
|
59
|
-
const response = await fetch(getImageCaptchaURL, {
|
|
60
|
-
method: "GET",
|
|
61
|
-
headers: {
|
|
62
|
-
"Content-Type": "application/json",
|
|
63
|
-
Origin: origin,
|
|
64
|
-
},
|
|
65
|
-
});
|
|
66
|
-
expect(response.status).toBe(200);
|
|
67
|
-
const data = (await response.json());
|
|
68
|
-
const solvedCaptchas = datasetWithSolutionHashes.captchas.map((captcha) => ({
|
|
69
|
-
captchaContentId: captcha.captchaContentId,
|
|
70
|
-
solution: captcha.solution
|
|
71
|
-
? captcha.solution.map((s) => s.toString())
|
|
72
|
-
: captcha.solution,
|
|
73
|
-
salt: captcha.salt,
|
|
74
|
-
}));
|
|
75
|
-
const temp = data.captchas.map((captcha) => {
|
|
76
|
-
const solvedCaptcha = solvedCaptchas.find((solvedCaptcha) => solvedCaptcha.captchaContentId === captcha.captchaContentId);
|
|
77
|
-
if (!solvedCaptcha || !solvedCaptcha.solution) {
|
|
78
|
-
throw new Error("wtf?");
|
|
79
|
-
}
|
|
80
|
-
return {
|
|
81
|
-
captchaContentId: captcha.captchaContentId,
|
|
82
|
-
captchaId: captcha.captchaId,
|
|
83
|
-
salt: solvedCaptcha.salt,
|
|
84
|
-
solution: solvedCaptcha.solution,
|
|
85
|
-
};
|
|
86
|
-
});
|
|
87
|
-
const body = {
|
|
88
|
-
[ApiParams.captchas]: temp,
|
|
89
|
-
[ApiParams.dapp]: dappAccount,
|
|
90
|
-
[ApiParams.requestHash]: data.requestHash,
|
|
91
|
-
[ApiParams.signature]: {
|
|
92
|
-
[ApiParams.user]: {
|
|
93
|
-
[ApiParams.requestHash]: u8aToHex(pair.sign(stringToU8a(data.requestHash))),
|
|
94
|
-
},
|
|
95
|
-
[ApiParams.provider]: data[ApiParams.signature][ApiParams.provider],
|
|
96
|
-
},
|
|
97
|
-
[ApiParams.timestamp]: data.timestamp,
|
|
98
|
-
[ApiParams.user]: userAccount,
|
|
99
|
-
};
|
|
100
|
-
const solveThatCaptcha = await fetch(`${baseUrl}${ApiPaths.SubmitImageCaptchaSolution}`, {
|
|
101
|
-
method: "POST",
|
|
102
|
-
headers: {
|
|
103
|
-
"Content-Type": "application/json",
|
|
104
|
-
Origin: origin,
|
|
105
|
-
},
|
|
106
|
-
body: JSON.stringify(body),
|
|
107
|
-
});
|
|
108
|
-
const jsonRes = await solveThatCaptcha.json();
|
|
109
|
-
console.log(jsonRes);
|
|
110
|
-
const res = jsonRes;
|
|
111
|
-
expect(res.status).toBe("You correctly answered the captchas");
|
|
112
|
-
});
|
|
113
|
-
});
|
|
114
|
-
});
|
|
115
|
-
//# sourceMappingURL=imgCaptcha.integration.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"imgCaptcha.integration.test.js","sourceRoot":"","sources":["../../../src/tests/integration/imgCaptcha.integration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { DatasetWithIdsAndTree } from "@prosopo/types";
|
|
2
|
-
export declare const dummyUserAccount: {
|
|
3
|
-
address: string;
|
|
4
|
-
seed: string;
|
|
5
|
-
};
|
|
6
|
-
export declare const dummyDappAccount: {
|
|
7
|
-
address: string;
|
|
8
|
-
seed: string;
|
|
9
|
-
};
|
|
10
|
-
export declare const datasetWithSolutionHashes: DatasetWithIdsAndTree;
|
|
11
|
-
export declare const datasetWithIndexSolutions: {
|
|
12
|
-
captchas: {
|
|
13
|
-
solution: number[] | undefined;
|
|
14
|
-
captchaId: string;
|
|
15
|
-
captchaContentId: string;
|
|
16
|
-
assetURI?: string;
|
|
17
|
-
datasetId?: string;
|
|
18
|
-
datasetContentId?: string;
|
|
19
|
-
unlabelled?: import("@prosopo/types").HashedSolution[] | import("@prosopo/types").RawSolution[];
|
|
20
|
-
salt: string;
|
|
21
|
-
items: import("@prosopo/types").HashedItem[];
|
|
22
|
-
target: string;
|
|
23
|
-
solved?: boolean;
|
|
24
|
-
timeLimitMs?: number;
|
|
25
|
-
}[];
|
|
26
|
-
contentTree: string[][];
|
|
27
|
-
datasetId: import("@prosopo/types").Hash;
|
|
28
|
-
datasetContentId: import("@prosopo/types").Hash;
|
|
29
|
-
format: import("@prosopo/types").CaptchaTypes;
|
|
30
|
-
solutionTree?: string[][];
|
|
31
|
-
};
|
|
32
|
-
//# sourceMappingURL=solvedTestCaptchas.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|