@prosopo/provider 5.10.2 → 5.10.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 (54) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +8 -8
  2. package/.turbo/turbo-build$colon$tsc.log +27 -27
  3. package/.turbo/turbo-build.log +9 -9
  4. package/CHANGELOG.md +46 -0
  5. package/dist/cjs/tasks/captchaManager.cjs +2 -1
  6. package/dist/cjs/tasks/decisionMachine/decisionMachineRunner.cjs +20 -17
  7. package/dist/cjs/tasks/detection/bundlePool.cjs +7 -4
  8. package/dist/cjs/tasks/detection/decodePayload.cjs +1139 -1120
  9. package/dist/cjs/tasks/detection/decodePayload.js +1 -1
  10. package/dist/cjs/tasks/detection/getBotScore.cjs +2 -2
  11. package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +3 -2
  12. package/dist/tasks/captchaManager.d.ts +1 -0
  13. package/dist/tasks/captchaManager.d.ts.map +1 -1
  14. package/dist/tasks/captchaManager.js +2 -1
  15. package/dist/tasks/captchaManager.js.map +1 -1
  16. package/dist/tasks/decisionMachine/decisionMachineRunner.d.ts +2 -0
  17. package/dist/tasks/decisionMachine/decisionMachineRunner.d.ts.map +1 -1
  18. package/dist/tasks/decisionMachine/decisionMachineRunner.js +20 -17
  19. package/dist/tasks/decisionMachine/decisionMachineRunner.js.map +1 -1
  20. package/dist/tasks/detection/bundlePool.d.ts +1 -0
  21. package/dist/tasks/detection/bundlePool.d.ts.map +1 -1
  22. package/dist/tasks/detection/bundlePool.js +7 -4
  23. package/dist/tasks/detection/bundlePool.js.map +1 -1
  24. package/dist/tasks/detection/bundlePool.test.js +36 -0
  25. package/dist/tasks/detection/bundlePool.test.js.map +1 -1
  26. package/dist/tasks/detection/decodePayload.d.ts +2 -2
  27. package/dist/tasks/detection/decodePayload.d.ts.map +1 -1
  28. package/dist/tasks/detection/decodePayload.js +1 -1
  29. package/dist/tasks/detection/decodePayload.js.map +1 -1
  30. package/dist/tasks/detection/getBotScore.d.ts +1 -1
  31. package/dist/tasks/detection/getBotScore.d.ts.map +1 -1
  32. package/dist/tasks/detection/getBotScore.js +3 -3
  33. package/dist/tasks/detection/getBotScore.js.map +1 -1
  34. package/dist/tasks/frictionless/frictionlessTasks.d.ts +1 -0
  35. package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
  36. package/dist/tasks/frictionless/frictionlessTasks.js +3 -2
  37. package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
  38. package/dist/tests/integration/decisionMachines.integration.test.js +65 -1
  39. package/dist/tests/integration/decisionMachines.integration.test.js.map +1 -1
  40. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js +5 -3
  41. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js.map +1 -1
  42. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js +10 -9
  43. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js.map +1 -1
  44. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.js +9 -3
  45. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.js.map +1 -1
  46. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js +11 -6
  47. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js.map +1 -1
  48. package/dist/tests/unit/tasks/decisionMachine/decisionMachineRunner.unit.test.js +38 -0
  49. package/dist/tests/unit/tasks/decisionMachine/decisionMachineRunner.unit.test.js.map +1 -1
  50. package/dist/tests/unit/tasks/detection/getBotScore.unit.test.js +3 -3
  51. package/dist/tests/unit/tasks/detection/getBotScore.unit.test.js.map +1 -1
  52. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js +78 -84
  53. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js.map +1 -1
  54. package/package.json +28 -28
@@ -1 +1 @@
1
- {"version":3,"file":"getBotScore.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/detection/getBotScore.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getBotScore.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/detection/getBotScore.unit.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { stringToHex, u8aToHex } from "@polkadot/util";
2
- import { ApiParams, CaptchaStatus, CaptchaType, FrictionlessReason, POW_SEPARATOR, ResultReason, } from "@prosopo/types";
2
+ import { ApiParams, CaptchaStatus, CaptchaType, FrictionlessReason, IPValidationAction, POW_SEPARATOR, ResultReason, } from "@prosopo/types";
3
3
  import { AccessPolicyType, } from "@prosopo/user-access-policy";
4
4
  import { getIPAddress, verifyRecency } from "@prosopo/util";
5
5
  import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
@@ -88,12 +88,12 @@ describe("PowCaptchaManager", () => {
88
88
  const dappAccount = "dappAccount";
89
89
  const origin = "origin";
90
90
  const challengeRegExp = new RegExp(`[0-9]+___${userAccount}___${dappAccount}`);
91
- pair.sign.mockReturnValueOnce("signedChallenge");
92
- u8aToHex.mockReturnValueOnce("hexSignedChallenge");
91
+ vi.mocked(pair.sign).mockReturnValueOnce(new TextEncoder().encode("signedChallenge"));
92
+ vi.mocked(u8aToHex).mockReturnValueOnce("0xhexSignedChallenge");
93
93
  const result = await powCaptchaManager.getPowCaptchaChallenge(userAccount, dappAccount, origin);
94
94
  expect(result.challenge.match(challengeRegExp)).toBeTruthy();
95
95
  expect(result.difficulty).toEqual(4);
96
- expect(result.providerSignature).toEqual("hexSignedChallenge");
96
+ expect(result.providerSignature).toEqual("0xhexSignedChallenge");
97
97
  expect(pair.sign).toHaveBeenCalledWith(stringToHex(result.challenge));
98
98
  });
99
99
  });
@@ -125,12 +125,12 @@ describe("PowCaptchaManager", () => {
125
125
  providerSignature,
126
126
  lastUpdatedTimestamp: new Date(),
127
127
  };
128
- verifyRecency.mockImplementation(() => true);
129
- checkPowSignature.mockImplementation(() => true);
130
- validateSolution.mockImplementation(() => true);
131
- db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
132
- db.updatePowCaptchaRecordResult.mockResolvedValue(true);
133
- db.markDappUserPoWCommitmentsChecked.mockResolvedValue(true);
128
+ vi.mocked(verifyRecency).mockImplementation(() => true);
129
+ vi.mocked(checkPowSignature).mockImplementation(() => undefined);
130
+ vi.mocked(validateSolution).mockImplementation(() => true);
131
+ vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
132
+ vi.mocked(db.updatePowCaptchaRecordResult).mockResolvedValue(undefined);
133
+ vi.mocked(db.markDappUserPoWCommitmentsChecked).mockResolvedValue(undefined);
134
134
  const verifyPowCaptchaSolutionArgs = [
135
135
  challenge,
136
136
  providerSignature,
@@ -202,11 +202,11 @@ describe("PowCaptchaManager", () => {
202
202
  difficulty,
203
203
  lastUpdatedTimestamp: new Date(0),
204
204
  };
205
- verifyRecency.mockImplementation(() => {
205
+ vi.mocked(verifyRecency).mockImplementation(() => {
206
206
  return true;
207
207
  });
208
208
  db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
209
- validateSolution.mockImplementation(() => false);
209
+ vi.mocked(validateSolution).mockImplementation(() => false);
210
210
  expect((await powCaptchaManager.verifyPowCaptchaSolution(challenge, signature, nonce, timeout, timestampSignature, ipAddress, headers, undefined)).verified).toBe(false);
211
211
  });
212
212
  it("auto-fails with CAPTCHA_INVALID_SALT when salt decodes to invalid coords", async () => {
@@ -234,8 +234,8 @@ describe("PowCaptchaManager", () => {
234
234
  difficulty,
235
235
  lastUpdatedTimestamp: new Date(0),
236
236
  };
237
- db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
238
- db.updatePowCaptchaRecordResult.mockResolvedValue(true);
237
+ vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
238
+ vi.mocked(db.updatePowCaptchaRecordResult).mockResolvedValue(undefined);
239
239
  const malformedSalt = "0x010200";
240
240
  const result = await powCaptchaManager.verifyPowCaptchaSolution(challenge, signature, nonce, timeout, timestampSignature, ipAddress, headers, undefined, malformedSalt);
241
241
  expect(result.verified).toBe(false);
@@ -341,8 +341,8 @@ describe("PowCaptchaManager", () => {
341
341
  result: { status: CaptchaStatus.approved },
342
342
  ipAddress: getCompositeIpAddress(getIPAddress("1.1.1.1")),
343
343
  };
344
- db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
345
- verifyRecency.mockImplementation(() => true);
344
+ vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
345
+ vi.mocked(verifyRecency).mockImplementation(() => true);
346
346
  const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv);
347
347
  expect(result.verified).toBe(true);
348
348
  expect(db.getPowCaptchaRecordByChallenge).toHaveBeenCalledWith(challenge);
@@ -366,12 +366,12 @@ describe("PowCaptchaManager", () => {
366
366
  result: { status: CaptchaStatus.approved },
367
367
  ipAddress: getCompositeIpAddress(getIPAddress("1.1.1.1")),
368
368
  };
369
- db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
370
- verifyRecency.mockImplementation(() => true);
369
+ vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
370
+ vi.mocked(verifyRecency).mockImplementation(() => true);
371
371
  const verified = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv);
372
372
  expect(verified.verified).toBe(true);
373
373
  expect(verified.sessionId).toBe("session-abc");
374
- db.getPowCaptchaRecordByChallenge.mockResolvedValue({
374
+ vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue({
375
375
  ...challengeRecord,
376
376
  serverChecked: true,
377
377
  });
@@ -385,7 +385,7 @@ describe("PowCaptchaManager", () => {
385
385
  const userAccount = "testUserAccount";
386
386
  const challenge = `${timestamp}${POW_SEPARATOR}${userAccount}${POW_SEPARATOR}${dappAccount}`;
387
387
  const timeout = 1000;
388
- db.getPowCaptchaRecordByChallenge.mockResolvedValue(null);
388
+ vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(null);
389
389
  const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv);
390
390
  expect(result.verified).toBe(false);
391
391
  expect(db.getPowCaptchaRecordByChallenge).toHaveBeenCalledWith(challenge);
@@ -445,11 +445,9 @@ describe("PowCaptchaManager", () => {
445
445
  findRuleIds: vi.fn(),
446
446
  fetchAllRuleIds: vi.fn(),
447
447
  };
448
- db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
449
- db.getSessionRecordBySessionId = vi
450
- .fn()
451
- .mockResolvedValue(sessionRecord);
452
- verifyRecency.mockImplementation(() => true);
448
+ vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
449
+ vi.mocked(db.getSessionRecordBySessionId).mockResolvedValue(sessionRecord);
450
+ vi.mocked(verifyRecency).mockImplementation(() => true);
453
451
  const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv, undefined, mockAccessRulesStorage);
454
452
  expect(result.verified).toBe(false);
455
453
  expect(db.updateSessionRecord).toHaveBeenCalledWith(sessionId, expect.objectContaining({
@@ -516,11 +514,9 @@ describe("PowCaptchaManager", () => {
516
514
  findRuleIds: vi.fn(),
517
515
  fetchAllRuleIds: vi.fn(),
518
516
  };
519
- db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
520
- db.getSessionRecordBySessionId = vi
521
- .fn()
522
- .mockResolvedValue(sessionRecord);
523
- verifyRecency.mockImplementation(() => true);
517
+ vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
518
+ vi.mocked(db.getSessionRecordBySessionId).mockResolvedValue(sessionRecord);
519
+ vi.mocked(verifyRecency).mockImplementation(() => true);
524
520
  const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv, undefined, mockAccessRulesStorage);
525
521
  expect(result.verified).toBe(true);
526
522
  });
@@ -558,8 +554,8 @@ describe("PowCaptchaManager", () => {
558
554
  findRuleIds: vi.fn(),
559
555
  fetchAllRuleIds: vi.fn(),
560
556
  };
561
- db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
562
- verifyRecency.mockImplementation(() => true);
557
+ vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
558
+ vi.mocked(verifyRecency).mockImplementation(() => true);
563
559
  const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv, undefined, mockAccessRulesStorage);
564
560
  expect(result.verified).toBe(true);
565
561
  });
@@ -597,8 +593,8 @@ describe("PowCaptchaManager", () => {
597
593
  behavioralDataPacked,
598
594
  deviceCapability: "test-device",
599
595
  };
600
- db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
601
- verifyRecency.mockImplementation(() => true);
596
+ vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
597
+ vi.mocked(verifyRecency).mockImplementation(() => true);
602
598
  const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv);
603
599
  expect(result.verified).toBe(true);
604
600
  });
@@ -634,9 +630,9 @@ describe("PowCaptchaManager", () => {
634
630
  behavioralDataPacked,
635
631
  deviceCapability: "suspicious-device",
636
632
  };
637
- db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
638
- db.updatePowCaptchaRecord.mockResolvedValue(undefined);
639
- verifyRecency.mockImplementation(() => true);
633
+ vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
634
+ vi.mocked(db.updatePowCaptchaRecord).mockResolvedValue(undefined);
635
+ vi.mocked(verifyRecency).mockImplementation(() => true);
640
636
  mockDecisionMachine(vi.fn().mockResolvedValue({
641
637
  decision: "deny",
642
638
  reason: "Suspicious device detected",
@@ -680,8 +676,8 @@ describe("PowCaptchaManager", () => {
680
676
  providerSignature: "testSignature",
681
677
  lastUpdatedTimestamp: new Date(),
682
678
  };
683
- db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
684
- verifyRecency.mockImplementation(() => true);
679
+ vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
680
+ vi.mocked(verifyRecency).mockImplementation(() => true);
685
681
  const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv);
686
682
  expect(result.verified).toBe(true);
687
683
  });
@@ -717,8 +713,8 @@ describe("PowCaptchaManager", () => {
717
713
  behavioralDataPacked,
718
714
  deviceCapability: "test-device",
719
715
  };
720
- db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
721
- verifyRecency.mockImplementation(() => true);
716
+ vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
717
+ vi.mocked(verifyRecency).mockImplementation(() => true);
722
718
  mockDecisionMachine(vi.fn().mockRejectedValue(new Error("Decision machine error")));
723
719
  try {
724
720
  const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv);
@@ -792,11 +788,9 @@ describe("PowCaptchaManager", () => {
792
788
  ops: [],
793
789
  },
794
790
  };
795
- db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
796
- db.getSessionRecordBySessionId = vi
797
- .fn()
798
- .mockResolvedValue(sessionRecord);
799
- verifyRecency.mockImplementation(() => true);
791
+ vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
792
+ vi.mocked(db.getSessionRecordBySessionId).mockResolvedValue(sessionRecord);
793
+ vi.mocked(verifyRecency).mockImplementation(() => true);
800
794
  const decideSpy = vi
801
795
  .fn()
802
796
  .mockResolvedValue({ decision: "allow" });
@@ -845,13 +839,13 @@ describe("PowCaptchaManager", () => {
845
839
  providerSignature: "testSignature",
846
840
  lastUpdatedTimestamp: new Date(),
847
841
  };
848
- db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
849
- db.getClientRecord.mockResolvedValue({
842
+ vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
843
+ vi.mocked(db.getClientRecord).mockResolvedValue({
850
844
  settings: {},
851
845
  });
852
- checkPowSignature.mockReturnValue(true);
853
- validateSolution.mockReturnValue(true);
854
- verifyRecency.mockImplementation(() => true);
846
+ vi.mocked(checkPowSignature).mockReturnValue(undefined);
847
+ vi.mocked(validateSolution).mockReturnValue(true);
848
+ vi.mocked(verifyRecency).mockImplementation(() => true);
855
849
  const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv, ip);
856
850
  expect(result.verified).toBe(true);
857
851
  expect(db.updatePowCaptchaRecord).toHaveBeenCalledWith(challenge, {
@@ -881,21 +875,21 @@ describe("PowCaptchaManager", () => {
881
875
  userSubmitted: true,
882
876
  lastUpdatedTimestamp: new Date(),
883
877
  };
884
- db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
885
- db.getClientRecord.mockResolvedValue({
878
+ vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
879
+ vi.mocked(db.getClientRecord).mockResolvedValue({
886
880
  settings: {
887
881
  ipValidationRules: {
888
882
  enabled: false,
889
883
  actions: {
890
- countryChangeAction: "reject",
891
- cityChangeAction: "reject",
884
+ countryChangeAction: IPValidationAction.Reject,
885
+ cityChangeAction: IPValidationAction.Reject,
892
886
  },
893
887
  },
894
888
  },
895
889
  });
896
- checkPowSignature.mockReturnValue(true);
897
- validateSolution.mockReturnValue(true);
898
- verifyRecency.mockImplementation(() => true);
890
+ vi.mocked(checkPowSignature).mockReturnValue(undefined);
891
+ vi.mocked(validateSolution).mockReturnValue(true);
892
+ vi.mocked(verifyRecency).mockImplementation(() => true);
899
893
  const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv, ip);
900
894
  expect(result.verified).toBe(true);
901
895
  expect(db.updatePowCaptchaRecord).toHaveBeenCalledWith(challenge, {
@@ -925,20 +919,20 @@ describe("PowCaptchaManager", () => {
925
919
  userSubmitted: true,
926
920
  lastUpdatedTimestamp: new Date(),
927
921
  };
928
- db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
929
- db.getClientRecord.mockResolvedValue({
922
+ vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
923
+ vi.mocked(db.getClientRecord).mockResolvedValue({
930
924
  settings: {
931
925
  ipValidationRules: {
932
926
  actions: {
933
- countryChangeAction: "reject",
934
- cityChangeAction: "reject",
927
+ countryChangeAction: IPValidationAction.Reject,
928
+ cityChangeAction: IPValidationAction.Reject,
935
929
  },
936
930
  },
937
931
  },
938
932
  });
939
- checkPowSignature.mockReturnValue(true);
940
- validateSolution.mockReturnValue(true);
941
- verifyRecency.mockImplementation(() => true);
933
+ vi.mocked(checkPowSignature).mockReturnValue(undefined);
934
+ vi.mocked(validateSolution).mockReturnValue(true);
935
+ vi.mocked(verifyRecency).mockImplementation(() => true);
942
936
  const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv, ip);
943
937
  expect(result.verified).toBe(true);
944
938
  expect(db.updatePowCaptchaRecord).toHaveBeenCalledWith(challenge, {
@@ -968,11 +962,11 @@ describe("PowCaptchaManager", () => {
968
962
  userSubmitted: true,
969
963
  lastUpdatedTimestamp: new Date(),
970
964
  };
971
- db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
972
- db.getClientRecord.mockResolvedValue(null);
973
- checkPowSignature.mockReturnValue(true);
974
- validateSolution.mockReturnValue(true);
975
- verifyRecency.mockImplementation(() => true);
965
+ vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
966
+ vi.mocked(db.getClientRecord).mockResolvedValue(undefined);
967
+ vi.mocked(checkPowSignature).mockReturnValue(undefined);
968
+ vi.mocked(validateSolution).mockReturnValue(true);
969
+ vi.mocked(verifyRecency).mockImplementation(() => true);
976
970
  const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv, ip);
977
971
  expect(result.verified).toBe(true);
978
972
  expect(db.updatePowCaptchaRecord).toHaveBeenCalledWith(challenge, {
@@ -1001,20 +995,20 @@ describe("PowCaptchaManager", () => {
1001
995
  userSubmitted: true,
1002
996
  lastUpdatedTimestamp: new Date(),
1003
997
  };
1004
- db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
1005
- db.getClientRecord.mockResolvedValue({
998
+ vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
999
+ vi.mocked(db.getClientRecord).mockResolvedValue({
1006
1000
  settings: {
1007
1001
  ipValidationRules: {
1008
1002
  enabled: true,
1009
1003
  actions: {
1010
- countryChangeAction: "reject",
1004
+ countryChangeAction: IPValidationAction.Reject,
1011
1005
  },
1012
1006
  },
1013
1007
  },
1014
1008
  });
1015
- checkPowSignature.mockReturnValue(true);
1016
- validateSolution.mockReturnValue(true);
1017
- verifyRecency.mockImplementation(() => true);
1009
+ vi.mocked(checkPowSignature).mockReturnValue(undefined);
1010
+ vi.mocked(validateSolution).mockReturnValue(true);
1011
+ vi.mocked(verifyRecency).mockImplementation(() => true);
1018
1012
  const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv);
1019
1013
  expect(result.verified).toBe(true);
1020
1014
  });
@@ -1129,10 +1123,10 @@ module.exports = (input) => {
1129
1123
  };
1130
1124
  };
1131
1125
  `;
1132
- db.getSessionRecordBySessionId.mockResolvedValue(undefined);
1133
- db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
1134
- db.updatePowCaptchaRecord.mockResolvedValue(undefined);
1135
- verifyRecency.mockImplementation(() => true);
1126
+ vi.mocked(db.getSessionRecordBySessionId).mockResolvedValue(undefined);
1127
+ vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
1128
+ vi.mocked(db.updatePowCaptchaRecord).mockResolvedValue(undefined);
1129
+ vi.mocked(verifyRecency).mockImplementation(() => true);
1136
1130
  mockDecisionMachine(async (input) => {
1137
1131
  const decideFn = eval(`(function() { const module = { exports: {} }; ${decisionMachineSource}; return module.exports; })()`);
1138
1132
  return decideFn(input);
@@ -1232,8 +1226,8 @@ module.exports = (input) => {
1232
1226
  };
1233
1227
  };
1234
1228
  `;
1235
- db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
1236
- verifyRecency.mockImplementation(() => true);
1229
+ vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
1230
+ vi.mocked(verifyRecency).mockImplementation(() => true);
1237
1231
  mockDecisionMachine(async (input) => {
1238
1232
  const decideFn = eval(`(function() { const module = { exports: {} }; ${decisionMachineSource}; return module.exports; })()`);
1239
1233
  return decideFn(input);
@@ -1317,8 +1311,8 @@ module.exports = (input) => {
1317
1311
  };
1318
1312
  };
1319
1313
  `;
1320
- db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
1321
- verifyRecency.mockImplementation(() => true);
1314
+ vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
1315
+ vi.mocked(verifyRecency).mockImplementation(() => true);
1322
1316
  mockDecisionMachine(async (input) => {
1323
1317
  const decideFn = eval(`(function() { const module = { exports: {} }; ${decisionMachineSource}; return module.exports; })()`);
1324
1318
  return decideFn(input);