@prosopo/provider 2.2.0 → 2.2.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.
Files changed (56) hide show
  1. package/dist/api/block.d.ts.map +1 -1
  2. package/dist/api/block.js +13 -28
  3. package/dist/api/block.js.map +1 -1
  4. package/dist/api/captcha.d.ts.map +1 -1
  5. package/dist/api/captcha.js +22 -7
  6. package/dist/api/captcha.js.map +1 -1
  7. package/dist/api/public.d.ts.map +1 -1
  8. package/dist/api/public.js +0 -1
  9. package/dist/api/public.js.map +1 -1
  10. package/dist/rules/ip.d.ts +4 -0
  11. package/dist/rules/ip.d.ts.map +1 -0
  12. package/dist/rules/ip.js +19 -0
  13. package/dist/rules/ip.js.map +1 -0
  14. package/dist/rules/lang.d.ts +3 -0
  15. package/dist/rules/lang.d.ts.map +1 -0
  16. package/dist/rules/lang.js +16 -0
  17. package/dist/rules/lang.js.map +1 -0
  18. package/dist/rules/user.d.ts +3 -0
  19. package/dist/rules/user.d.ts.map +1 -0
  20. package/dist/rules/user.js +10 -0
  21. package/dist/rules/user.js.map +1 -0
  22. package/dist/tasks/client/clientTasks.d.ts +3 -3
  23. package/dist/tasks/client/clientTasks.d.ts.map +1 -1
  24. package/dist/tasks/client/clientTasks.js +4 -2
  25. package/dist/tasks/client/clientTasks.js.map +1 -1
  26. package/dist/tasks/detection/decodePayload.d.ts +4 -2
  27. package/dist/tasks/detection/decodePayload.d.ts.map +1 -1
  28. package/dist/tasks/detection/decodePayload.js +205 -262
  29. package/dist/tasks/detection/decodePayload.js.map +1 -1
  30. package/dist/tasks/detection/getBotScore.d.ts +4 -1
  31. package/dist/tasks/detection/getBotScore.d.ts.map +1 -1
  32. package/dist/tasks/detection/getBotScore.js +7 -5
  33. package/dist/tasks/detection/getBotScore.js.map +1 -1
  34. package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
  35. package/dist/tasks/frictionless/frictionlessTasks.js +8 -36
  36. package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
  37. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts +5 -4
  38. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -1
  39. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +10 -6
  40. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -1
  41. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts +4 -1
  42. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts.map +1 -1
  43. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js +29 -0
  44. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js.map +1 -1
  45. package/dist/tasks/tasks.js +1 -1
  46. package/dist/tasks/tasks.js.map +1 -1
  47. package/dist/tests/integration/imgCaptcha.integration.test.js.map +1 -1
  48. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.d.ts +2 -0
  49. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.d.ts.map +1 -0
  50. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js +92 -0
  51. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js.map +1 -0
  52. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js +91 -4
  53. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js.map +1 -1
  54. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js +101 -1
  55. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js.map +1 -1
  56. package/package.json +11 -11
@@ -0,0 +1,92 @@
1
+ import { Address4 } from "ip-address";
2
+ import { beforeEach, describe, expect, it, vi } from "vitest";
3
+ import { FrictionlessManager } from "../../../../tasks/frictionless/frictionlessTasks.js";
4
+ describe("Frictionless Task Manager", () => {
5
+ let db;
6
+ let pair;
7
+ let captchaConfig;
8
+ let frictionlessTaskManager;
9
+ beforeEach(() => {
10
+ db = {
11
+ getIPBlockRuleRecord: vi.fn((ip) => {
12
+ const ipBlockRules = [
13
+ {
14
+ _id: 1,
15
+ ip: 16843009.0,
16
+ dappAccount: "testDapp",
17
+ global: false,
18
+ hardBlock: false,
19
+ type: "ipAddress",
20
+ },
21
+ {
22
+ _id: 2,
23
+ ip: 33686018.0,
24
+ global: true,
25
+ hardBlock: false,
26
+ type: "ipAddress",
27
+ },
28
+ ];
29
+ return ipBlockRules.find((rule) => BigInt(rule.ip) === ip);
30
+ }),
31
+ getUserBlockRuleRecord: vi.fn((user, dapp) => {
32
+ const userBlockRules = [
33
+ {
34
+ _id: 1,
35
+ userAccount: "testUser1",
36
+ dappAccount: "testDapp",
37
+ global: false,
38
+ hardBlock: false,
39
+ type: "user",
40
+ },
41
+ ];
42
+ return userBlockRules.find((rule) => rule.userAccount === user && rule.dappAccount === dapp);
43
+ }),
44
+ };
45
+ pair = {
46
+ sign: vi.fn(),
47
+ address: "testAddress",
48
+ };
49
+ captchaConfig = {
50
+ solved: { count: 5 },
51
+ unsolved: { count: 5 },
52
+ lRules: { en: 1 },
53
+ };
54
+ frictionlessTaskManager = new FrictionlessManager(captchaConfig, pair, db);
55
+ vi.clearAllMocks();
56
+ });
57
+ describe("checkIpRules", () => {
58
+ it("should return true if an ip has a rule against it and a dapp", async () => {
59
+ const result = await frictionlessTaskManager.checkIpRules(new Address4("1.1.1.1"), "testDapp");
60
+ expect(result).toBe(true);
61
+ });
62
+ it("should return true if an ip has a rule against it but no dapp", async () => {
63
+ const result = await frictionlessTaskManager.checkIpRules(new Address4("2.2.2.2"), "testDapp");
64
+ expect(result).toBe(true);
65
+ });
66
+ it("should return false for an ip with no rule", async () => {
67
+ const result = await frictionlessTaskManager.checkIpRules(new Address4("3.3.3.3"), "testDapp");
68
+ expect(result).toBe(false);
69
+ });
70
+ });
71
+ describe("checkUserRules", () => {
72
+ it("should return true if a user has a rule against it and a dapp", async () => {
73
+ const result = await frictionlessTaskManager.checkUserRules("testUser1", "testDapp");
74
+ expect(result).toBe(true);
75
+ });
76
+ it("should return true if a user has no rule against it", async () => {
77
+ const result = await frictionlessTaskManager.checkUserRules("testUser2", "testDapp");
78
+ expect(result).toBe(false);
79
+ });
80
+ });
81
+ describe("checkLangRules", () => {
82
+ it("should return an inflated score if a lang rule is set", async () => {
83
+ const result = frictionlessTaskManager.checkLangRules("en");
84
+ expect(result).toBe(captchaConfig.lRules.en);
85
+ });
86
+ it("should return zero score if a lang rule is not set", async () => {
87
+ const result = frictionlessTaskManager.checkLangRules("de");
88
+ expect(result).toBe(0);
89
+ });
90
+ });
91
+ });
92
+ //# sourceMappingURL=frictionlessTasks.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frictionlessTasks.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAE1F,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IAC1C,IAAI,EAAqB,CAAC;IAC1B,IAAI,IAAiB,CAAC;IAEtB,IAAI,aAAkB,CAAC;IACvB,IAAI,uBAA4C,CAAC;IAEjD,UAAU,CAAC,GAAG,EAAE;QACf,EAAE,GAAG;YACJ,oBAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAU,EAAE,EAAE;gBAC1C,MAAM,YAAY,GAAG;oBACpB;wBACC,GAAG,EAAE,CAAC;wBACN,EAAE,EAAE,UAAU;wBACd,WAAW,EAAE,UAAU;wBACvB,MAAM,EAAE,KAAK;wBACb,SAAS,EAAE,KAAK;wBAChB,IAAI,EAAE,WAAW;qBACjB;oBACD;wBACC,GAAG,EAAE,CAAC;wBACN,EAAE,EAAE,UAAU;wBACd,MAAM,EAAE,IAAI;wBACZ,SAAS,EAAE,KAAK;wBAChB,IAAI,EAAE,WAAW;qBACjB;iBACD,CAAC;gBAEF,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5D,CAAC,CAAC;YAEF,sBAAsB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE;gBAC5D,MAAM,cAAc,GAAG;oBACtB;wBACC,GAAG,EAAE,CAAC;wBACN,WAAW,EAAE,WAAW;wBACxB,WAAW,EAAE,UAAU;wBACvB,MAAM,EAAE,KAAK;wBACb,SAAS,EAAE,KAAK;wBAChB,IAAI,EAAE,MAAM;qBACZ;iBACD,CAAC;gBACF,OAAO,cAAc,CAAC,IAAI,CACzB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAChE,CAAC;YACH,CAAC,CAAC;SAC8B,CAAC;QAElC,IAAI,GAAG;YACN,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;YACb,OAAO,EAAE,aAAa;SACI,CAAC;QAE5B,aAAa,GAAG;YACf,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YACpB,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YACtB,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;SACjB,CAAC;QAEF,uBAAuB,GAAG,IAAI,mBAAmB,CAAC,aAAa,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QAE3E,EAAE,CAAC,aAAa,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC7E,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,YAAY,CACxD,IAAI,QAAQ,CAAC,SAAS,CAAC,EACvB,UAAU,CACV,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,YAAY,CACxD,IAAI,QAAQ,CAAC,SAAS,CAAC,EACvB,UAAU,CACV,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,YAAY,CACxD,IAAI,QAAQ,CAAC,SAAS,CAAC,EACvB,UAAU,CACV,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,cAAc,CAC1D,WAAW,EACX,UAAU,CACV,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,cAAc,CAC1D,WAAW,EACX,UAAU,CACV,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,MAAM,GAAG,uBAAuB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC5D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,MAAM,GAAG,uBAAuB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC5D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -28,6 +28,80 @@ vi.mock("../../../../util.js", async (importOriginal) => {
28
28
  vi.mock("../../../../tasks/imgCaptcha/imgCaptchaTasksUtils.js", () => ({
29
29
  buildTreeAndGetCommitmentId: vi.fn(),
30
30
  }));
31
+ const mockCaptchas = [
32
+ {
33
+ captchaId: "captcha1",
34
+ solution: "solution1",
35
+ question: "question1",
36
+ options: ["option1"],
37
+ datasetId: "datasetId",
38
+ solved: true,
39
+ },
40
+ {
41
+ captchaId: "captcha2",
42
+ solution: "solution2",
43
+ question: "question2",
44
+ options: ["option2"],
45
+ datasetId: "datasetId",
46
+ solved: true,
47
+ },
48
+ {
49
+ captchaId: "captcha3",
50
+ solution: "solution3",
51
+ question: "question3",
52
+ options: ["option3"],
53
+ datasetId: "datasetId",
54
+ solved: true,
55
+ },
56
+ {
57
+ captchaId: "captcha4",
58
+ solution: "solution4",
59
+ question: "question4",
60
+ options: ["option4"],
61
+ datasetId: "datasetId",
62
+ solved: true,
63
+ },
64
+ {
65
+ captchaId: "captcha5",
66
+ solution: "solution5",
67
+ question: "question5",
68
+ options: ["option5"],
69
+ datasetId: "datasetId",
70
+ solved: true,
71
+ },
72
+ {
73
+ captchaId: "captcha6",
74
+ solution: "solution6",
75
+ question: "question6",
76
+ options: ["option6"],
77
+ datasetId: "datasetId",
78
+ solved: false,
79
+ },
80
+ {
81
+ captchaId: "captcha7",
82
+ solution: "solution7",
83
+ question: "question7",
84
+ options: ["option7"],
85
+ datasetId: "datasetId",
86
+ solved: false,
87
+ },
88
+ {
89
+ captchaId: "captcha8",
90
+ solution: "solution8",
91
+ question: "question8",
92
+ options: ["option8"],
93
+ datasetId: "datasetId",
94
+ solved: false,
95
+ },
96
+ {
97
+ captchaId: "captcha9",
98
+ solution: "solution9",
99
+ question: "question9",
100
+ options: ["option9"],
101
+ datasetId: "datasetId",
102
+ solved: false,
103
+ },
104
+ ];
31
105
  describe("ImgCaptchaManager", () => {
32
106
  let db;
33
107
  let pair;
@@ -36,7 +110,12 @@ describe("ImgCaptchaManager", () => {
36
110
  let imgCaptchaManager;
37
111
  beforeEach(() => {
38
112
  db = {
39
- getRandomCaptcha: vi.fn(),
113
+ getRandomCaptcha: vi.fn((solved, datasetId, size) => {
114
+ console.log("solved", solved, "datasetId", datasetId, "size", size);
115
+ return mockCaptchas
116
+ .filter((captcha) => captcha.solved === solved && captcha.datasetId === datasetId)
117
+ .splice(0, size);
118
+ }),
40
119
  getDatasetDetails: vi.fn(),
41
120
  storeDappUserPending: vi.fn(),
42
121
  getDappUserPending: vi.fn(),
@@ -57,7 +136,7 @@ describe("ImgCaptchaManager", () => {
57
136
  };
58
137
  captchaConfig = {
59
138
  solved: { count: 5 },
60
- unsolved: { count: 5 },
139
+ unsolved: { count: 4 },
61
140
  };
62
141
  imgCaptchaManager = new ImgCaptchaManager(db, pair, logger, captchaConfig);
63
142
  vi.clearAllMocks();
@@ -95,6 +174,14 @@ describe("ImgCaptchaManager", () => {
95
174
  },
96
175
  }));
97
176
  });
177
+ it("should getCaptchaWithProof of specific size", async () => {
178
+ const datasetId = "datasetId";
179
+ const size = 3;
180
+ const solvedResult = await imgCaptchaManager.getCaptchaWithProof(datasetId, true, size);
181
+ expect(solvedResult.length).toBe(size);
182
+ const unsolvedResult = await imgCaptchaManager.getCaptchaWithProof(datasetId, false, size);
183
+ expect(unsolvedResult.length).toBe(size);
184
+ });
98
185
  });
99
186
  describe("getRandomCaptchasAndRequestHash", () => {
100
187
  it("should get random captchas and request hash", async () => {
@@ -110,7 +197,7 @@ describe("ImgCaptchaManager", () => {
110
197
  pair.sign.mockReturnValue("hexSignedRequestHash");
111
198
  u8aToHex.mockReturnValue("hexSignedRequestHash");
112
199
  shuffleArray.mockReturnValue([]);
113
- const result = await imgCaptchaManager.getRandomCaptchasAndRequestHash(datasetId, userAccount, ipAddress, headers);
200
+ const result = await imgCaptchaManager.getRandomCaptchasAndRequestHash(datasetId, userAccount, ipAddress, headers, captchaConfig);
114
201
  expect(result).toEqual({
115
202
  captchas: [],
116
203
  requestHash: "computedHash",
@@ -124,7 +211,7 @@ describe("ImgCaptchaManager", () => {
124
211
  const ipAddress = getIPAddress("1.1.1.1");
125
212
  const headers = { a: "1", b: "2", c: "3" };
126
213
  db.getDatasetDetails.mockResolvedValue(null);
127
- await expect(imgCaptchaManager.getRandomCaptchasAndRequestHash(datasetId, userAccount, ipAddress, headers)).rejects.toThrow(new ProsopoEnvError("DATABASE.DATASET_GET_FAILED", {
214
+ await expect(imgCaptchaManager.getRandomCaptchasAndRequestHash(datasetId, userAccount, ipAddress, headers, { solved: { count: 1 }, unsolved: { count: 1 } })).rejects.toThrow(new ProsopoEnvError("DATABASE.DATASET_GET_FAILED", {
128
215
  context: {
129
216
  failedFuncName: "getRandomCaptchasAndRequestHash",
130
217
  dataset: null,
@@ -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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"}
@@ -1,7 +1,11 @@
1
1
  import { ProsopoEnvError } from "@prosopo/common";
2
2
  import { CaptchaMerkleTree, computeCaptchaSolutionHash, } from "@prosopo/datasets";
3
+ import { BlockRuleType, } from "@prosopo/types-database";
4
+ import { Address4 } from "ip-address";
3
5
  import { beforeEach, describe, expect, it, vi } from "vitest";
4
- import { buildTreeAndGetCommitmentId } from "../../../../tasks/imgCaptcha/imgCaptchaTasksUtils.js";
6
+ import { checkIpRules } from "../../../../rules/ip.js";
7
+ import { checkUserRules } from "../../../../rules/user.js";
8
+ import { buildTreeAndGetCommitmentId, getCaptchaConfig, } from "../../../../tasks/imgCaptcha/imgCaptchaTasksUtils.js";
5
9
  vi.mock("@prosopo/datasets", () => ({
6
10
  CaptchaMerkleTree: vi.fn().mockImplementation(() => ({
7
11
  build: vi.fn(),
@@ -9,6 +13,16 @@ vi.mock("@prosopo/datasets", () => ({
9
13
  })),
10
14
  computeCaptchaSolutionHash: vi.fn(),
11
15
  }));
16
+ vi.mock("../../../../rules/ip.js", () => {
17
+ return {
18
+ checkIpRules: vi.fn(),
19
+ };
20
+ });
21
+ vi.mock("../../../../rules/user.js", () => {
22
+ return {
23
+ checkUserRules: vi.fn(),
24
+ };
25
+ });
12
26
  describe("buildTreeAndGetCommitmentId", () => {
13
27
  const mockCaptchaSolutions = [
14
28
  { challenge: "challenge1", solution: "solution1", salt: "salt1" },
@@ -43,4 +57,90 @@ describe("buildTreeAndGetCommitmentId", () => {
43
57
  }));
44
58
  });
45
59
  });
60
+ describe("getCaptchaConfig", () => {
61
+ it("should return the default captcha config if no rules are found", async () => {
62
+ const db = {
63
+ getIPBlockRuleRecord: vi.fn().mockResolvedValue(null),
64
+ getUserBlockRuleRecord: vi.fn().mockResolvedValue(null),
65
+ };
66
+ const config = {
67
+ captchas: {
68
+ solved: { count: 1 },
69
+ unsolved: { count: 2 },
70
+ },
71
+ };
72
+ const ipAddress = new Address4("1.1.1.1");
73
+ const user = "mockedUser";
74
+ const dapp = "mockedDapp";
75
+ const result = await getCaptchaConfig(db, config, ipAddress, user, dapp);
76
+ expect(result).toEqual({
77
+ solved: { count: 1 },
78
+ unsolved: { count: 2 },
79
+ });
80
+ });
81
+ it("should return the users config if there is one specified against the user's ip address", async () => {
82
+ const ipRule = {
83
+ ip: 16843009,
84
+ global: false,
85
+ hardBlock: false,
86
+ type: BlockRuleType.ipAddress,
87
+ captchaConfig: {
88
+ solved: { count: 3 },
89
+ unsolved: { count: 4 },
90
+ },
91
+ };
92
+ checkIpRules.mockReturnValue(ipRule);
93
+ const db = {
94
+ getIPBlockRuleRecord: vi.fn().mockResolvedValue(ipRule),
95
+ getUserBlockRuleRecord: vi.fn().mockResolvedValue(null),
96
+ };
97
+ const config = {
98
+ captchas: {
99
+ solved: { count: 1 },
100
+ unsolved: { count: 2 },
101
+ },
102
+ };
103
+ const ipAddress = new Address4("1.1.1.1");
104
+ const user = "mockedUser";
105
+ const dapp = "mockedDapp";
106
+ const result = await getCaptchaConfig(db, config, ipAddress, user, dapp);
107
+ expect(result).toEqual({
108
+ solved: { count: 3 },
109
+ unsolved: { count: 4 },
110
+ });
111
+ });
112
+ it("should return the user's config if there is one specified against the user's account", async () => {
113
+ const userRule = {
114
+ userAccount: "mockedUser",
115
+ dappAccount: "mockedDapp",
116
+ global: false,
117
+ hardBlock: false,
118
+ type: BlockRuleType.userAccount,
119
+ captchaConfig: {
120
+ solved: { count: 5 },
121
+ unsolved: { count: 6 },
122
+ },
123
+ };
124
+ checkIpRules.mockReturnValue(null);
125
+ const db = {
126
+ getIPBlockRuleRecord: vi.fn().mockResolvedValue(null),
127
+ getUserBlockRuleRecord: vi.fn().mockResolvedValue(userRule),
128
+ };
129
+ checkUserRules.mockReturnValue(userRule);
130
+ const config = {
131
+ captchas: {
132
+ solved: { count: 1 },
133
+ unsolved: { count: 2 },
134
+ },
135
+ };
136
+ const ipAddress = new Address4("1.1.1.1");
137
+ const user = "mockedUser";
138
+ const dapp = "mockedDapp";
139
+ const result = await getCaptchaConfig(db, config, ipAddress, user, dapp);
140
+ expect(result).toEqual({
141
+ solved: { count: 5 },
142
+ unsolved: { count: 6 },
143
+ });
144
+ });
145
+ });
46
146
  //# sourceMappingURL=imgCaptchaTasksUtils.unit.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"imgCaptchaTasksUtils.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACN,iBAAiB,EACjB,0BAA0B,GAC1B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AAEnG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;QACpD,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;QACd,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;KAChC,CAAC,CAAC;IACH,0BAA0B,EAAE,EAAE,CAAC,EAAE,EAAE;CACnC,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC5C,MAAM,oBAAoB,GAAG;QAC5B,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;QACjE,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;KACjC,CAAC;IAElC,UAAU,CAAC,GAAG,EAAE;QACf,EAAE,CAAC,aAAa,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAEzD,0BAAkC;aACjC,mBAAmB,CAAC,iBAAiB,CAAC;aACtC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAEzC,MAAM,MAAM,GAAG,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;QAEjE,MAAM,CAAC,iBAAiB,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC7C,MAAM,CAAC,0BAA0B,CAAC,CAAC,oBAAoB,CACtD,oBAAoB,CAAC,CAAC,CAAC,CACvB,CAAC;QACF,MAAM,CAAC,0BAA0B,CAAC,CAAC,oBAAoB,CACtD,oBAAoB,CAAC,CAAC,CAAC,CACvB,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACtB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;YACxB,YAAY,EAAE,gBAAgB;SAC9B,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAE9D,iBAAyB,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;YACpD,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;YACd,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SACpB,CAAC,CAAC,CAAC;QAEJ,MAAM,CAAC,GAAG,EAAE,CAAC,2BAA2B,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CACtE,IAAI,eAAe,CAClB,qDAAqD,EACrD;YACC,OAAO,EAAE;gBACR,cAAc,EAAE,6BAA6B;gBAC7C,YAAY,EAAE,IAAI;aAClB;SACD,CACD,CACD,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"imgCaptchaTasksUtils.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.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": "2.2.0",
3
+ "version": "2.2.2",
4
4
  "author": "PROSOPO LIMITED <info@prosopo.io>",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./dist/index.js",
@@ -27,16 +27,16 @@
27
27
  "@polkadot/keyring": "12.6.2",
28
28
  "@polkadot/util": "12.6.2",
29
29
  "@polkadot/util-crypto": "12.6.2",
30
- "@prosopo/common": "2.2.0",
31
- "@prosopo/config": "2.2.0",
32
- "@prosopo/contract": "2.2.0",
33
- "@prosopo/database": "2.2.0",
34
- "@prosopo/datasets": "2.2.0",
35
- "@prosopo/env": "2.2.0",
36
- "@prosopo/types": "2.2.0",
37
- "@prosopo/types-database": "2.2.0",
38
- "@prosopo/types-env": "2.2.0",
39
- "@prosopo/util": "2.2.0",
30
+ "@prosopo/common": "2.2.2",
31
+ "@prosopo/config": "2.2.2",
32
+ "@prosopo/contract": "2.2.2",
33
+ "@prosopo/database": "2.2.2",
34
+ "@prosopo/datasets": "2.2.2",
35
+ "@prosopo/env": "2.2.2",
36
+ "@prosopo/types": "2.2.2",
37
+ "@prosopo/types-database": "2.2.2",
38
+ "@prosopo/types-env": "2.2.2",
39
+ "@prosopo/util": "2.2.2",
40
40
  "cron": "3.1.7",
41
41
  "express": "4.21.1",
42
42
  "ip-address": "10.0.1",