@prosopo/provider 5.13.1 → 5.13.3

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.
Files changed (139) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +25 -23
  2. package/.turbo/turbo-build$colon$tsc.log +27 -27
  3. package/.turbo/turbo-build.log +26 -24
  4. package/CHANGELOG.md +95 -0
  5. package/dist/api/admin/apiDnsEventEndpoint.d.ts +2 -2
  6. package/dist/api/admin/apiDnsEventEndpoint.d.ts.map +1 -1
  7. package/dist/api/admin/apiDnsEventEndpoint.js +28 -5
  8. package/dist/api/admin/apiDnsEventEndpoint.js.map +1 -1
  9. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
  10. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +1 -1
  11. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
  12. package/dist/api/captcha/getImageCaptchaChallenge.d.ts.map +1 -1
  13. package/dist/api/captcha/getImageCaptchaChallenge.js +2 -0
  14. package/dist/api/captcha/getImageCaptchaChallenge.js.map +1 -1
  15. package/dist/api/captcha/getPoWCaptchaChallenge.d.ts.map +1 -1
  16. package/dist/api/captcha/getPoWCaptchaChallenge.js +4 -1
  17. package/dist/api/captcha/getPoWCaptchaChallenge.js.map +1 -1
  18. package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts.map +1 -1
  19. package/dist/api/captcha/getPuzzleCaptchaChallenge.js +4 -1
  20. package/dist/api/captcha/getPuzzleCaptchaChallenge.js.map +1 -1
  21. package/dist/api/captcha/submitImageCaptchaSolution.d.ts.map +1 -1
  22. package/dist/api/captcha/submitImageCaptchaSolution.js +3 -2
  23. package/dist/api/captcha/submitImageCaptchaSolution.js.map +1 -1
  24. package/dist/api/captcha/submitPoWCaptchaSolution.d.ts.map +1 -1
  25. package/dist/api/captcha/submitPoWCaptchaSolution.js +3 -2
  26. package/dist/api/captcha/submitPoWCaptchaSolution.js.map +1 -1
  27. package/dist/api/captcha/submitPuzzleCaptchaSolution.d.ts.map +1 -1
  28. package/dist/api/captcha/submitPuzzleCaptchaSolution.js +3 -2
  29. package/dist/api/captcha/submitPuzzleCaptchaSolution.js.map +1 -1
  30. package/dist/api/captcha/trafficFilterRequestTime.d.ts +2 -0
  31. package/dist/api/captcha/trafficFilterRequestTime.d.ts.map +1 -1
  32. package/dist/api/captcha/trafficFilterRequestTime.js +9 -3
  33. package/dist/api/captcha/trafficFilterRequestTime.js.map +1 -1
  34. package/dist/api/captcha.d.ts.map +1 -1
  35. package/dist/api/captcha.js +2 -0
  36. package/dist/api/captcha.js.map +1 -1
  37. package/dist/api/hardBlockVerdictCache.d.ts +1 -0
  38. package/dist/api/hardBlockVerdictCache.d.ts.map +1 -1
  39. package/dist/api/hardBlockVerdictCache.js +4 -1
  40. package/dist/api/hardBlockVerdictCache.js.map +1 -1
  41. package/dist/api/requestBodySummary.d.ts +14 -0
  42. package/dist/api/requestBodySummary.d.ts.map +1 -0
  43. package/dist/api/requestBodySummary.js +47 -0
  44. package/dist/api/requestBodySummary.js.map +1 -0
  45. package/dist/api/verify.d.ts.map +1 -1
  46. package/dist/api/verify.js +9 -8
  47. package/dist/api/verify.js.map +1 -1
  48. package/dist/cjs/api/admin/apiDnsEventEndpoint.cjs +27 -4
  49. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +1 -1
  50. package/dist/cjs/api/captcha/getImageCaptchaChallenge.cjs +2 -0
  51. package/dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs +4 -1
  52. package/dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs +4 -1
  53. package/dist/cjs/api/captcha/submitImageCaptchaSolution.cjs +3 -2
  54. package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +3 -2
  55. package/dist/cjs/api/captcha/submitPuzzleCaptchaSolution.cjs +3 -2
  56. package/dist/cjs/api/captcha/trafficFilterRequestTime.cjs +6 -1
  57. package/dist/cjs/api/captcha.cjs +2 -0
  58. package/dist/cjs/api/hardBlockVerdictCache.cjs +4 -1
  59. package/dist/cjs/api/requestBodySummary.cjs +47 -0
  60. package/dist/cjs/api/verify.cjs +9 -8
  61. package/dist/cjs/pairs.cjs +70 -6
  62. package/dist/cjs/tasks/captchaManager.cjs +15 -0
  63. package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +4 -1
  64. package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +17 -6
  65. package/dist/cjs/tasks/powCaptcha/powTasks.cjs +5 -1
  66. package/dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs +1 -4
  67. package/dist/cjs/tasks/spam/checkTrafficFilter.cjs +11 -0
  68. package/dist/cjs/tasks/tasks.cjs +1 -37
  69. package/dist/cjs/utils/tarpitPadding.cjs +23 -0
  70. package/dist/pairs.d.ts +6 -1
  71. package/dist/pairs.d.ts.map +1 -1
  72. package/dist/pairs.js +67 -7
  73. package/dist/pairs.js.map +1 -1
  74. package/dist/tasks/captchaManager.d.ts.map +1 -1
  75. package/dist/tasks/captchaManager.js +15 -0
  76. package/dist/tasks/captchaManager.js.map +1 -1
  77. package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
  78. package/dist/tasks/frictionless/frictionlessTasks.js +4 -1
  79. package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
  80. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -1
  81. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +20 -8
  82. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -1
  83. package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -1
  84. package/dist/tasks/powCaptcha/powTasks.js +5 -1
  85. package/dist/tasks/powCaptcha/powTasks.js.map +1 -1
  86. package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts.map +1 -1
  87. package/dist/tasks/puzzleCaptcha/puzzleTasks.js +1 -4
  88. package/dist/tasks/puzzleCaptcha/puzzleTasks.js.map +1 -1
  89. package/dist/tasks/spam/checkTrafficFilter.d.ts +1 -0
  90. package/dist/tasks/spam/checkTrafficFilter.d.ts.map +1 -1
  91. package/dist/tasks/spam/checkTrafficFilter.js +11 -1
  92. package/dist/tasks/spam/checkTrafficFilter.js.map +1 -1
  93. package/dist/tasks/tasks.d.ts +0 -1
  94. package/dist/tasks/tasks.d.ts.map +1 -1
  95. package/dist/tasks/tasks.js +1 -37
  96. package/dist/tasks/tasks.js.map +1 -1
  97. package/dist/tests/integration/authenticatedVerifyClaim.integration.test.d.ts +2 -0
  98. package/dist/tests/integration/authenticatedVerifyClaim.integration.test.d.ts.map +1 -0
  99. package/dist/tests/integration/authenticatedVerifyClaim.integration.test.js +81 -0
  100. package/dist/tests/integration/authenticatedVerifyClaim.integration.test.js.map +1 -0
  101. package/dist/tests/integration/imgCaptcha.integration.test.js +37 -1
  102. package/dist/tests/integration/imgCaptcha.integration.test.js.map +1 -1
  103. package/dist/tests/unit/api/admin/apiDnsEventEndpoint.unit.test.js +39 -3
  104. package/dist/tests/unit/api/admin/apiDnsEventEndpoint.unit.test.js.map +1 -1
  105. package/dist/tests/unit/api/domainMiddleware.unit.test.d.ts +2 -0
  106. package/dist/tests/unit/api/domainMiddleware.unit.test.d.ts.map +1 -0
  107. package/dist/tests/unit/api/domainMiddleware.unit.test.js +167 -0
  108. package/dist/tests/unit/api/domainMiddleware.unit.test.js.map +1 -0
  109. package/dist/tests/unit/api/hardBlockVerdictCache.unit.test.js +32 -0
  110. package/dist/tests/unit/api/hardBlockVerdictCache.unit.test.js.map +1 -1
  111. package/dist/tests/unit/api/requestBodySummary.unit.test.d.ts +2 -0
  112. package/dist/tests/unit/api/requestBodySummary.unit.test.d.ts.map +1 -0
  113. package/dist/tests/unit/api/requestBodySummary.unit.test.js +172 -0
  114. package/dist/tests/unit/api/requestBodySummary.unit.test.js.map +1 -0
  115. package/dist/tests/unit/pairs.unit.test.js +126 -1
  116. package/dist/tests/unit/pairs.unit.test.js.map +1 -1
  117. package/dist/tests/unit/tasks/captchaManager.unit.test.js +38 -0
  118. package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -1
  119. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js +104 -8
  120. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js.map +1 -1
  121. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js +232 -17
  122. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js.map +1 -1
  123. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js +66 -14
  124. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js.map +1 -1
  125. package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.js +21 -1
  126. package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.js.map +1 -1
  127. package/dist/tests/unit/tasks/tasksBackgroundWork.unit.test.d.ts +2 -0
  128. package/dist/tests/unit/tasks/tasksBackgroundWork.unit.test.d.ts.map +1 -0
  129. package/dist/tests/unit/tasks/tasksBackgroundWork.unit.test.js +34 -0
  130. package/dist/tests/unit/tasks/tasksBackgroundWork.unit.test.js.map +1 -0
  131. package/dist/tests/unit/tasks/writeQueueIntegration.unit.test.js +0 -49
  132. package/dist/tests/unit/tasks/writeQueueIntegration.unit.test.js.map +1 -1
  133. package/dist/tests/unit/util/redisCache.unit.test.js +1 -104
  134. package/dist/tests/unit/util/redisCache.unit.test.js.map +1 -1
  135. package/dist/utils/tarpitPadding.d.ts +3 -0
  136. package/dist/utils/tarpitPadding.d.ts.map +1 -0
  137. package/dist/utils/tarpitPadding.js +24 -0
  138. package/dist/utils/tarpitPadding.js.map +1 -0
  139. package/package.json +24 -24
@@ -2,8 +2,8 @@ import { u8aToHex } from "@polkadot/util";
2
2
  import { ProsopoEnvError } from "@prosopo/common";
3
3
  import { compareCaptchaSolutions, computePendingRequestHash, parseAndSortCaptchaSolutions, } from "@prosopo/datasets";
4
4
  import { getLogger } from "@prosopo/logger";
5
- import { CaptchaStatus, CaptchaType, FrictionlessReason, IpAddressType, ResultReason, } from "@prosopo/types";
6
- import { getIPAddress } from "@prosopo/util";
5
+ import { CaptchaStatus, CaptchaType, FrictionlessReason, InputMethod, IpAddressType, ResultReason, } from "@prosopo/types";
6
+ import { embedData, getIPAddress } from "@prosopo/util";
7
7
  import { randomAsHex, signatureVerify } from "@prosopo/util-crypto";
8
8
  import { beforeEach, describe, expect, it, vi } from "vitest";
9
9
  import { ImgCaptchaManager } from "../../../../tasks/imgCaptcha/imgCaptchaTasks.js";
@@ -124,7 +124,7 @@ describe("ImgCaptchaManager", () => {
124
124
  getDatasetDetails: vi.fn(),
125
125
  storePendingImageCommitment: vi.fn(),
126
126
  getPendingImageCommitment: vi.fn(),
127
- updatePendingImageCommitmentStatus: vi.fn(),
127
+ updatePendingImageCommitmentStatus: vi.fn().mockResolvedValue(true),
128
128
  storeDappUserSolution: vi.fn(),
129
129
  approveDappUserCommitment: vi.fn(),
130
130
  disapproveDappUserCommitment: vi.fn(),
@@ -132,7 +132,7 @@ describe("ImgCaptchaManager", () => {
132
132
  getCaptchaById: vi.fn(),
133
133
  getDappUserCommitmentById: vi.fn(),
134
134
  getDappUserCommitmentByAccount: vi.fn(),
135
- markDappUserCommitmentsChecked: vi.fn(),
135
+ markDappUserCommitmentsChecked: vi.fn().mockResolvedValue(1),
136
136
  getSessionRecordBySessionId: vi.fn(),
137
137
  updateSessionRecord: vi.fn(),
138
138
  getSpamEmailDomain: vi.fn(),
@@ -335,7 +335,7 @@ describe("ImgCaptchaManager", () => {
335
335
  });
336
336
  });
337
337
  describe("dappUserSolution — failed challenge", () => {
338
- it("disapproves the commitment and returns verified:false when the submitted solution is incorrect", async () => {
338
+ const submitIncorrectSolution = async () => {
339
339
  const userAccount = "userAccount";
340
340
  const dappAccount = "dappAccount";
341
341
  const requestHash = "requestHash";
@@ -377,11 +377,226 @@ describe("ImgCaptchaManager", () => {
377
377
  });
378
378
  vi.mocked(compareCaptchaSolutions).mockReturnValue(false);
379
379
  const result = await imgCaptchaManager.dappUserSolution(userAccount, dappAccount, requestHash, captchas, "userTimestampSignature", timestamp, "providerRequestHashSignature", ipAddress, headers, "ja4");
380
+ return result;
381
+ };
382
+ it("disapproves the commitment and returns verified:false when the submitted solution is incorrect", async () => {
383
+ const result = await submitIncorrectSolution();
380
384
  expect(result.verified).toBe(false);
381
385
  expect(compareCaptchaSolutions).toHaveBeenCalled();
382
386
  expect(db.disapproveDappUserCommitment).toHaveBeenCalledWith("commitmentId", "CAPTCHA.INVALID_SOLUTION", expect.anything());
383
387
  expect(db.approveDappUserCommitment).not.toHaveBeenCalled();
384
388
  });
389
+ it("does not evaluate a submission whose request hash a concurrent submission already consumed", async () => {
390
+ vi.mocked(db.updatePendingImageCommitmentStatus).mockResolvedValue(false);
391
+ const result = await submitIncorrectSolution();
392
+ expect(result.verified).toBe(false);
393
+ expect(compareCaptchaSolutions).not.toHaveBeenCalled();
394
+ expect(db.approveDappUserCommitment).not.toHaveBeenCalled();
395
+ expect(db.disapproveDappUserCommitment).not.toHaveBeenCalled();
396
+ });
397
+ });
398
+ describe("verifyImageCaptchaSolution concurrent verifies", () => {
399
+ it("refuses a verify that lost the server-check claim to a concurrent verify", async () => {
400
+ const commitmentId = "commitmentIdRace";
401
+ const ipAddress = getIPAddress("1.1.1.1");
402
+ const commitment = {
403
+ id: commitmentId,
404
+ userAccount: "userAccount",
405
+ dappAccount: "dappAccount",
406
+ providerAccount: "providerAccount",
407
+ datasetId: "datasetId",
408
+ result: { status: CaptchaStatus.approved },
409
+ userSignature: "",
410
+ userSubmitted: true,
411
+ serverChecked: false,
412
+ requestedAtTimestamp: new Date(),
413
+ submittedAtTimestamp: new Date(),
414
+ ipAddress: {
415
+ lower: ipAddress.bigInt(),
416
+ upper: 0n,
417
+ type: IpAddressType.v4,
418
+ },
419
+ headers: { a: "1" },
420
+ ja4: "ja4",
421
+ lastUpdatedTimestamp: new Date(),
422
+ pending: false,
423
+ salt: "0x00",
424
+ requestHash: "requestHash",
425
+ threshold: 0.8,
426
+ deadlineTimestamp: new Date(),
427
+ };
428
+ vi.mocked(db.getDappUserCommitmentById).mockResolvedValue(commitment);
429
+ vi.mocked(db.markDappUserCommitmentsChecked).mockResolvedValue(0);
430
+ const result = await imgCaptchaManager.verifyImageCaptchaSolution("userAccount", "dappAccount", commitmentId, mockEnv);
431
+ expect(result.verified).toBe(false);
432
+ expect(result.status).toBe("API.USER_ALREADY_VERIFIED");
433
+ expect(db.approveDappUserCommitment).not.toHaveBeenCalled();
434
+ });
435
+ });
436
+ describe("dappUserSolution — how selections were made", () => {
437
+ const saltWith = (coords) => embedData(`0x${"a".repeat(128)}`, coords);
438
+ const submit = async (first, second) => {
439
+ const captchas = [
440
+ {
441
+ captchaId: "captcha1",
442
+ captchaContentId: "content1",
443
+ solution: ["a"],
444
+ salt: saltWith(first.coords),
445
+ ...(first.inputMethods && { inputMethods: first.inputMethods }),
446
+ },
447
+ {
448
+ captchaId: "captcha2",
449
+ captchaContentId: "content2",
450
+ solution: ["b"],
451
+ salt: saltWith(second.coords),
452
+ ...(second.inputMethods && { inputMethods: second.inputMethods }),
453
+ },
454
+ ];
455
+ vi.mocked(signatureVerify).mockReturnValue({
456
+ crypto: "sr25519",
457
+ isValid: true,
458
+ isWrapped: false,
459
+ publicKey: new Uint8Array(),
460
+ });
461
+ vi.mocked(db.getPendingImageCommitment).mockResolvedValue({
462
+ requestHash: "requestHash",
463
+ salt: "0x00",
464
+ threshold: 0.8,
465
+ deadlineTimestamp: new Date(Date.now() + 10_000),
466
+ });
467
+ vi.spyOn(imgCaptchaManager, "validateDappUserSolutionRequestIsPending").mockResolvedValue(true);
468
+ vi.spyOn(imgCaptchaManager, "validateReceivedCaptchasAgainstStoredCaptchas").mockResolvedValue({
469
+ storedCaptchas: [
470
+ { captchaId: "captcha1", datasetId: "datasetId", items: [{}, {}] },
471
+ { captchaId: "captcha2", datasetId: "datasetId", items: [{}, {}] },
472
+ ],
473
+ receivedCaptchas: captchas,
474
+ captchaIds: ["captcha1", "captcha2"],
475
+ });
476
+ vi.mocked(buildTreeAndGetCommitmentId).mockReturnValue({
477
+ tree: {
478
+ leaves: [{ hash: "leaf1" }, { hash: "leaf2" }],
479
+ proof: vi.fn(),
480
+ },
481
+ commitmentId: "commitmentId",
482
+ });
483
+ vi.mocked(db.getSolutionByCaptchaId).mockResolvedValue({
484
+ captchaId: "captcha1",
485
+ solution: ["a"],
486
+ });
487
+ vi.mocked(compareCaptchaSolutions).mockReturnValue(true);
488
+ return imgCaptchaManager.dappUserSolution("userAccount", "dappAccount", "requestHash", captchas, "userTimestampSignature", Date.now(), "providerRequestHashSignature", getIPAddress("1.1.1.1"), {}, "ja4");
489
+ };
490
+ const storedCommitment = () => vi.mocked(db.storeUserImageCaptchaSolution).mock.calls[0]?.[1];
491
+ beforeEach(() => {
492
+ vi.stubEnv("NODE_ENV", "production");
493
+ return () => {
494
+ vi.unstubAllEnvs();
495
+ };
496
+ });
497
+ it("accepts a keyboard-only solve, whose every position is (0, 0)", async () => {
498
+ const result = await submit({
499
+ coords: [0, 0, 0, 0],
500
+ inputMethods: [InputMethod.keyboard, InputMethod.keyboard],
501
+ }, { coords: [0, 0], inputMethods: [InputMethod.keyboard] });
502
+ expect(result.verified).toBe(true);
503
+ expect(db.approveDappUserCommitment).toHaveBeenCalled();
504
+ });
505
+ it("stores how each selection was made, in the shape of the coordinates", async () => {
506
+ await submit({
507
+ coords: [0, 0, 15, 25],
508
+ inputMethods: [InputMethod.keyboard, InputMethod.pointer],
509
+ }, { coords: [0, 0], inputMethods: [InputMethod.keyboard] });
510
+ expect(storedCommitment()?.inputMethods).toEqual([
511
+ [InputMethod.keyboard],
512
+ [InputMethod.pointer],
513
+ [InputMethod.keyboard],
514
+ ]);
515
+ expect(db.approveDappUserCommitment).toHaveBeenCalledWith("commitmentId", [[[0, 0]], [[15, 25]], [[0, 0]]]);
516
+ });
517
+ it("stores no input methods for a widget that does not declare them", async () => {
518
+ await submit({ coords: [3, 4, 15, 25] }, { coords: [16, 26] });
519
+ expect(storedCommitment()).toBeDefined();
520
+ expect(storedCommitment()?.inputMethods).toBeUndefined();
521
+ });
522
+ it("still rejects repeated (0, 0) from a widget that does not declare input methods", async () => {
523
+ const result = await submit({ coords: [0, 0, 0, 0] }, { coords: [0, 0] });
524
+ expect(result.verified).toBe(false);
525
+ expect(db.disapproveDappUserCommitment).toHaveBeenCalledWith("commitmentId", "CAPTCHA.INVALID_SOLUTION", expect.anything());
526
+ expect(compareCaptchaSolutions).not.toHaveBeenCalled();
527
+ });
528
+ it("rejects a repeated pointer position", async () => {
529
+ const result = await submit({
530
+ coords: [0, 0, 15, 25],
531
+ inputMethods: [InputMethod.keyboard, InputMethod.pointer],
532
+ }, { coords: [15, 25], inputMethods: [InputMethod.pointer] });
533
+ expect(result.verified).toBe(false);
534
+ expect(db.approveDappUserCommitment).not.toHaveBeenCalled();
535
+ });
536
+ it("rejects a keyboard selection that carries a pointer position", async () => {
537
+ const result = await submit({
538
+ coords: [3, 4, 15, 25],
539
+ inputMethods: [InputMethod.pointer, InputMethod.keyboard],
540
+ }, { coords: [0, 0], inputMethods: [InputMethod.keyboard] });
541
+ expect(result.verified).toBe(false);
542
+ expect(db.approveDappUserCommitment).not.toHaveBeenCalled();
543
+ });
544
+ it("rejects input methods that do not line up with the coordinates", async () => {
545
+ const result = await submit({ coords: [0, 0, 0, 0], inputMethods: [InputMethod.keyboard] }, { coords: [0, 0], inputMethods: [InputMethod.keyboard] });
546
+ expect(result.verified).toBe(false);
547
+ expect(db.approveDappUserCommitment).not.toHaveBeenCalled();
548
+ });
549
+ });
550
+ describe("dappUserSolution — passed challenge", () => {
551
+ it("builds each captcha's proof from its solution leaf, not its captcha id", async () => {
552
+ const captchas = [
553
+ { captchaId: "captcha1", solution: ["a"], salt: "0x00" },
554
+ { captchaId: "captcha2", solution: ["b"], salt: "0x00" },
555
+ ];
556
+ const timestamp = Date.now();
557
+ vi.mocked(signatureVerify).mockReturnValue({
558
+ crypto: "sr25519",
559
+ isValid: true,
560
+ isWrapped: false,
561
+ publicKey: new Uint8Array(),
562
+ });
563
+ const pendingRecord = {
564
+ requestHash: "requestHash",
565
+ salt: "0x00",
566
+ threshold: 0.8,
567
+ deadlineTimestamp: new Date(timestamp + 10_000),
568
+ };
569
+ vi.mocked(db.getPendingImageCommitment).mockResolvedValue(pendingRecord);
570
+ vi.spyOn(imgCaptchaManager, "validateDappUserSolutionRequestIsPending").mockResolvedValue(true);
571
+ vi.spyOn(imgCaptchaManager, "validateReceivedCaptchasAgainstStoredCaptchas").mockResolvedValue({
572
+ storedCaptchas: [
573
+ { captchaId: "captcha1", datasetId: "datasetId", items: [{}, {}] },
574
+ { captchaId: "captcha2", datasetId: "datasetId", items: [{}, {}] },
575
+ ],
576
+ receivedCaptchas: captchas,
577
+ captchaIds: ["captcha1", "captcha2"],
578
+ });
579
+ const proof = vi.fn((leaf) => [[leaf], ["root"]]);
580
+ vi.mocked(buildTreeAndGetCommitmentId).mockReturnValue({
581
+ tree: {
582
+ leaves: [{ hash: "leaf1" }, { hash: "leaf2" }],
583
+ proof,
584
+ },
585
+ commitmentId: "commitmentId",
586
+ });
587
+ vi.mocked(db.getSolutionByCaptchaId).mockResolvedValue({
588
+ captchaId: "captcha1",
589
+ solution: ["a"],
590
+ });
591
+ vi.mocked(compareCaptchaSolutions).mockReturnValue(true);
592
+ const result = await imgCaptchaManager.dappUserSolution("userAccount", "dappAccount", "requestHash", captchas, "userTimestampSignature", timestamp, "providerRequestHashSignature", getIPAddress("1.1.1.1"), { a: "1" }, "ja4");
593
+ expect(result.verified).toBe(true);
594
+ expect(proof.mock.calls).toEqual([["leaf1"], ["leaf2"]]);
595
+ expect(result.captchas).toEqual([
596
+ { captchaId: "captcha1", proof: [["leaf1"], ["root"]] },
597
+ { captchaId: "captcha2", proof: [["leaf2"], ["root"]] },
598
+ ]);
599
+ });
385
600
  });
386
601
  it("should get dapp user commitment by ID", async () => {
387
602
  const commitmentId = "commitmentId";
@@ -855,7 +1070,7 @@ describe("ImgCaptchaManager", () => {
855
1070
  lastUpdatedTimestamp: new Date(),
856
1071
  };
857
1072
  db.getDappUserCommitmentById.mockResolvedValue(commitment);
858
- db.markDappUserCommitmentsChecked.mockResolvedValue(undefined);
1073
+ db.markDappUserCommitmentsChecked.mockResolvedValue(1);
859
1074
  db.getSpamEmailDomain.mockResolvedValue({
860
1075
  domain: "spammydomain.com",
861
1076
  });
@@ -895,7 +1110,7 @@ describe("ImgCaptchaManager", () => {
895
1110
  lastUpdatedTimestamp: new Date(),
896
1111
  };
897
1112
  db.getDappUserCommitmentById.mockResolvedValue(commitment);
898
- db.markDappUserCommitmentsChecked.mockResolvedValue(undefined);
1113
+ db.markDappUserCommitmentsChecked.mockResolvedValue(1);
899
1114
  db.getSpamEmailDomain.mockResolvedValue(null);
900
1115
  db.disapproveDappUserCommitment = vi
901
1116
  .fn()
@@ -948,7 +1163,7 @@ describe("ImgCaptchaManager", () => {
948
1163
  lastUpdatedTimestamp: new Date(),
949
1164
  };
950
1165
  db.getDappUserCommitmentById.mockResolvedValue(commitment);
951
- db.markDappUserCommitmentsChecked.mockResolvedValue(undefined);
1166
+ db.markDappUserCommitmentsChecked.mockResolvedValue(1);
952
1167
  const originalDecide = imgCaptchaManager.decisionMachineRunner.decide;
953
1168
  imgCaptchaManager.decisionMachineRunner.decide = vi
954
1169
  .fn()
@@ -997,7 +1212,7 @@ describe("ImgCaptchaManager", () => {
997
1212
  lastUpdatedTimestamp: new Date(),
998
1213
  };
999
1214
  db.getDappUserCommitmentById.mockResolvedValue(commitment);
1000
- db.markDappUserCommitmentsChecked.mockResolvedValue(undefined);
1215
+ db.markDappUserCommitmentsChecked.mockResolvedValue(1);
1001
1216
  db.getSpamEmailDomain.mockResolvedValue({
1002
1217
  domain: "spammydomain.com",
1003
1218
  });
@@ -1037,7 +1252,7 @@ describe("ImgCaptchaManager", () => {
1037
1252
  lastUpdatedTimestamp: new Date(),
1038
1253
  };
1039
1254
  db.getDappUserCommitmentById.mockResolvedValue(commitment);
1040
- db.markDappUserCommitmentsChecked.mockResolvedValue(undefined);
1255
+ db.markDappUserCommitmentsChecked.mockResolvedValue(1);
1041
1256
  db.getSpamEmailDomain.mockResolvedValue({
1042
1257
  domain: "spammydomain.com",
1043
1258
  });
@@ -1076,7 +1291,7 @@ describe("ImgCaptchaManager", () => {
1076
1291
  lastUpdatedTimestamp: new Date(),
1077
1292
  };
1078
1293
  db.getDappUserCommitmentById.mockResolvedValue(commitment);
1079
- db.markDappUserCommitmentsChecked.mockResolvedValue(undefined);
1294
+ db.markDappUserCommitmentsChecked.mockResolvedValue(1);
1080
1295
  db.getSpamEmailDomain.mockRejectedValue(new Error("Database connection error"));
1081
1296
  const originalDecide = imgCaptchaManager.decisionMachineRunner.decide;
1082
1297
  imgCaptchaManager.decisionMachineRunner.decide = vi
@@ -1127,7 +1342,7 @@ describe("ImgCaptchaManager", () => {
1127
1342
  db.getDappUserCommitmentByAccount.mockResolvedValue([
1128
1343
  commitment,
1129
1344
  ]);
1130
- db.markDappUserCommitmentsChecked.mockResolvedValue(undefined);
1345
+ db.markDappUserCommitmentsChecked.mockResolvedValue(1);
1131
1346
  db.getSpamEmailDomain.mockResolvedValue({
1132
1347
  domain: "spammydomain.com",
1133
1348
  });
@@ -1169,7 +1384,7 @@ describe("ImgCaptchaManager", () => {
1169
1384
  it("should disapprove and persist DISALLOWED_WEBVIEW when scoreComponents.webView > 0", async () => {
1170
1385
  const commitmentId = "webviewScoreCommitmentId";
1171
1386
  db.getDappUserCommitmentById.mockResolvedValue(baseCommitment(commitmentId));
1172
- db.markDappUserCommitmentsChecked.mockResolvedValue(undefined);
1387
+ db.markDappUserCommitmentsChecked.mockResolvedValue(1);
1173
1388
  db.getSessionRecordBySessionId.mockResolvedValue({
1174
1389
  sessionId,
1175
1390
  scoreComponents: { baseScore: 1, webView: 0.1 },
@@ -1194,7 +1409,7 @@ describe("ImgCaptchaManager", () => {
1194
1409
  it("should disapprove when session.webView is true even if scoreComponents.webView is unset", async () => {
1195
1410
  const commitmentId = "webviewBoolCommitmentId";
1196
1411
  db.getDappUserCommitmentById.mockResolvedValue(baseCommitment(commitmentId));
1197
- db.markDappUserCommitmentsChecked.mockResolvedValue(undefined);
1412
+ db.markDappUserCommitmentsChecked.mockResolvedValue(1);
1198
1413
  db.getSessionRecordBySessionId.mockResolvedValue({
1199
1414
  sessionId,
1200
1415
  scoreComponents: { baseScore: 1 },
@@ -1210,7 +1425,7 @@ describe("ImgCaptchaManager", () => {
1210
1425
  it("should not block when disallowWebView is false even if webview is detected", async () => {
1211
1426
  const commitmentId = "webviewAllowedCommitmentId";
1212
1427
  db.getDappUserCommitmentById.mockResolvedValue(baseCommitment(commitmentId));
1213
- db.markDappUserCommitmentsChecked.mockResolvedValue(undefined);
1428
+ db.markDappUserCommitmentsChecked.mockResolvedValue(1);
1214
1429
  db.getSessionRecordBySessionId.mockResolvedValue({
1215
1430
  sessionId,
1216
1431
  scoreComponents: { baseScore: 1, webView: 0.1 },
@@ -1269,7 +1484,7 @@ describe("ImgCaptchaManager", () => {
1269
1484
  lastUpdatedTimestamp: new Date(),
1270
1485
  };
1271
1486
  db.getDappUserCommitmentById.mockResolvedValue(commitment);
1272
- db.markDappUserCommitmentsChecked.mockResolvedValue(undefined);
1487
+ db.markDappUserCommitmentsChecked.mockResolvedValue(1);
1273
1488
  db.approveDappUserCommitment.mockResolvedValue(undefined);
1274
1489
  db.updateDappUserCommitment.mockResolvedValue(undefined);
1275
1490
  imgCaptchaManager.decisionMachineRunner.decide = vi
@@ -1357,7 +1572,7 @@ describe("ImgCaptchaManager", () => {
1357
1572
  ...(clientMetaData && { clientMetaData }),
1358
1573
  };
1359
1574
  db.getDappUserCommitmentById.mockResolvedValue(commitment);
1360
- db.markDappUserCommitmentsChecked.mockResolvedValue(undefined);
1575
+ db.markDappUserCommitmentsChecked.mockResolvedValue(1);
1361
1576
  db.approveDappUserCommitment.mockResolvedValue(undefined);
1362
1577
  db.updateDappUserCommitment.mockResolvedValue(undefined);
1363
1578
  imgCaptchaManager.decisionMachineRunner.decide = vi
@@ -1 +1 @@
1
- {"version":3,"file":"imgCaptchaTasks.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"imgCaptchaTasks.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.ts"],"names":[],"mappings":"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"}