@prosopo/provider 2.3.1 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/dist/api/admin/apiAdminRoutesProvider.d.ts +9 -0
  2. package/dist/api/admin/apiAdminRoutesProvider.d.ts.map +1 -0
  3. package/dist/api/admin/apiAdminRoutesProvider.js +17 -0
  4. package/dist/api/admin/apiAdminRoutesProvider.js.map +1 -0
  5. package/dist/api/admin/apiRegisterSiteKeyEndpoint.d.ts +13 -0
  6. package/dist/api/admin/apiRegisterSiteKeyEndpoint.d.ts.map +1 -0
  7. package/dist/api/admin/apiRegisterSiteKeyEndpoint.js +20 -0
  8. package/dist/api/admin/apiRegisterSiteKeyEndpoint.js.map +1 -0
  9. package/dist/api/admin/createApiAdminRoutesProvider.d.ts +4 -0
  10. package/dist/api/admin/createApiAdminRoutesProvider.d.ts.map +1 -0
  11. package/dist/api/admin/createApiAdminRoutesProvider.js +7 -0
  12. package/dist/api/admin/createApiAdminRoutesProvider.js.map +1 -0
  13. package/dist/api/authMiddleware.d.ts.map +1 -1
  14. package/dist/api/authMiddleware.js +4 -1
  15. package/dist/api/authMiddleware.js.map +1 -1
  16. package/dist/api/blacklistRequestInspector.d.ts +19 -0
  17. package/dist/api/blacklistRequestInspector.d.ts.map +1 -0
  18. package/dist/api/blacklistRequestInspector.js +61 -0
  19. package/dist/api/blacklistRequestInspector.js.map +1 -0
  20. package/dist/api/block.d.ts +1 -2
  21. package/dist/api/block.d.ts.map +1 -1
  22. package/dist/api/block.js +13 -38
  23. package/dist/api/block.js.map +1 -1
  24. package/dist/api/captcha.d.ts.map +1 -1
  25. package/dist/api/captcha.js +85 -88
  26. package/dist/api/captcha.js.map +1 -1
  27. package/dist/api/domainMiddleware.d.ts.map +1 -1
  28. package/dist/api/domainMiddleware.js +7 -6
  29. package/dist/api/domainMiddleware.js.map +1 -1
  30. package/dist/api/headerCheckMiddleware.d.ts.map +1 -1
  31. package/dist/api/headerCheckMiddleware.js +5 -1
  32. package/dist/api/headerCheckMiddleware.js.map +1 -1
  33. package/dist/api/public.d.ts.map +1 -1
  34. package/dist/api/public.js +1 -2
  35. package/dist/api/public.js.map +1 -1
  36. package/dist/api/validateAddress.d.ts +4 -0
  37. package/dist/api/validateAddress.d.ts.map +1 -0
  38. package/dist/api/validateAddress.js +16 -0
  39. package/dist/api/validateAddress.js.map +1 -0
  40. package/dist/api/verify.d.ts.map +1 -1
  41. package/dist/api/verify.js +6 -14
  42. package/dist/api/verify.js.map +1 -1
  43. package/dist/index.d.ts +1 -2
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +1 -2
  46. package/dist/index.js.map +1 -1
  47. package/dist/tasks/captchaManager.d.ts +25 -0
  48. package/dist/tasks/captchaManager.d.ts.map +1 -0
  49. package/dist/tasks/captchaManager.js +81 -0
  50. package/dist/tasks/captchaManager.js.map +1 -0
  51. package/dist/tasks/client/clientTasks.d.ts +2 -7
  52. package/dist/tasks/client/clientTasks.d.ts.map +1 -1
  53. package/dist/tasks/client/clientTasks.js +5 -63
  54. package/dist/tasks/client/clientTasks.js.map +1 -1
  55. package/dist/tasks/frictionless/frictionlessTasks.d.ts +13 -9
  56. package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
  57. package/dist/tasks/frictionless/frictionlessTasks.js +54 -23
  58. package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
  59. package/dist/tasks/frictionless/frictionlessTasksUtils.d.ts +5 -0
  60. package/dist/tasks/frictionless/frictionlessTasksUtils.d.ts.map +1 -0
  61. package/dist/tasks/frictionless/frictionlessTasksUtils.js +6 -0
  62. package/dist/tasks/frictionless/frictionlessTasksUtils.js.map +1 -0
  63. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts +7 -8
  64. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -1
  65. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +32 -12
  66. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -1
  67. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts +1 -3
  68. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts.map +1 -1
  69. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js +0 -29
  70. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js.map +1 -1
  71. package/dist/tasks/powCaptcha/powTasks.d.ts +8 -5
  72. package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -1
  73. package/dist/tasks/powCaptcha/powTasks.js +22 -15
  74. package/dist/tasks/powCaptcha/powTasks.js.map +1 -1
  75. package/dist/tasks/tasks.d.ts.map +1 -1
  76. package/dist/tasks/tasks.js +3 -3
  77. package/dist/tasks/tasks.js.map +1 -1
  78. package/dist/tests/integration/imgCaptcha.integration.test.js +59 -7
  79. package/dist/tests/integration/imgCaptcha.integration.test.js.map +1 -1
  80. package/dist/tests/integration/powCaptcha.integration.test.js +57 -13
  81. package/dist/tests/integration/powCaptcha.integration.test.js.map +1 -1
  82. package/dist/tests/integration/registerSitekey.d.ts +2 -1
  83. package/dist/tests/integration/registerSitekey.d.ts.map +1 -1
  84. package/dist/tests/integration/registerSitekey.js +2 -2
  85. package/dist/tests/integration/registerSitekey.js.map +1 -1
  86. package/dist/tests/unit/api/authMiddleware.unit.test.js +7 -1
  87. package/dist/tests/unit/api/authMiddleware.unit.test.js.map +1 -1
  88. package/dist/tests/unit/tasks/captchaManager.unit.test.d.ts +2 -0
  89. package/dist/tests/unit/tasks/captchaManager.unit.test.d.ts.map +1 -0
  90. package/dist/tests/unit/tasks/captchaManager.unit.test.js +229 -0
  91. package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -0
  92. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js +39 -64
  93. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js.map +1 -1
  94. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.d.ts +2 -0
  95. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.d.ts.map +1 -0
  96. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.js +37 -0
  97. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.js.map +1 -0
  98. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js +4 -4
  99. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js.map +1 -1
  100. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js +1 -101
  101. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js.map +1 -1
  102. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js +5 -10
  103. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js.map +1 -1
  104. package/package.json +14 -11
  105. package/dist/api/admin.d.ts +0 -4
  106. package/dist/api/admin.d.ts.map +0 -1
  107. package/dist/api/admin.js +0 -87
  108. package/dist/api/admin.js.map +0 -1
  109. package/dist/api/errorHandler.d.ts +0 -5
  110. package/dist/api/errorHandler.d.ts.map +0 -1
  111. package/dist/api/errorHandler.js +0 -10
  112. package/dist/api/errorHandler.js.map +0 -1
  113. package/dist/rules/ip.d.ts +0 -4
  114. package/dist/rules/ip.d.ts.map +0 -1
  115. package/dist/rules/ip.js +0 -19
  116. package/dist/rules/ip.js.map +0 -1
  117. package/dist/rules/user.d.ts +0 -4
  118. package/dist/rules/user.d.ts.map +0 -1
  119. package/dist/rules/user.js +0 -10
  120. package/dist/rules/user.js.map +0 -1
  121. package/dist/tests/unit/api/errorHandler.unit.test.d.ts +0 -2
  122. package/dist/tests/unit/api/errorHandler.unit.test.d.ts.map +0 -1
  123. package/dist/tests/unit/api/errorHandler.unit.test.js +0 -105
  124. package/dist/tests/unit/api/errorHandler.unit.test.js.map +0 -1
@@ -0,0 +1,229 @@
1
+ import { CaptchaType, Tier } from "@prosopo/types";
2
+ import { beforeEach, describe, expect, it, vi } from "vitest";
3
+ import { CaptchaManager } from "../../../tasks/captchaManager.js";
4
+ const defaultUserSettings = {
5
+ frictionlessThreshold: 0.8,
6
+ domains: [],
7
+ captchaType: CaptchaType.frictionless,
8
+ powDifficulty: 4,
9
+ };
10
+ describe("CaptchaManager", () => {
11
+ let db;
12
+ let pair;
13
+ let logger;
14
+ let captchaManager;
15
+ beforeEach(() => {
16
+ db = {
17
+ checkAndRemoveSession: vi.fn(),
18
+ getFrictionlessTokenRecordByTokenId: vi.fn(),
19
+ };
20
+ pair = {
21
+ sign: vi.fn(),
22
+ address: "testAddress",
23
+ };
24
+ logger = {
25
+ info: vi.fn(),
26
+ error: vi.fn(),
27
+ debug: vi.fn(),
28
+ warn: vi.fn(),
29
+ };
30
+ captchaManager = new CaptchaManager(db, pair, logger);
31
+ vi.clearAllMocks();
32
+ });
33
+ describe("isValidRequest", () => {
34
+ it("should validate a request for an image captcha when the client settings are set to image and no session ID is passed", async () => {
35
+ const result = await captchaManager.isValidRequest({
36
+ account: "account",
37
+ tier: Tier.Free,
38
+ settings: {
39
+ ...defaultUserSettings,
40
+ captchaType: CaptchaType.image,
41
+ },
42
+ }, CaptchaType.image);
43
+ expect(result).toEqual({
44
+ valid: true,
45
+ type: CaptchaType.image,
46
+ });
47
+ });
48
+ it("should validate a request for an pow captcha when the client settings are set to pow and no session ID is passed", async () => {
49
+ const result = await captchaManager.isValidRequest({
50
+ account: "account",
51
+ tier: Tier.Free,
52
+ settings: {
53
+ ...defaultUserSettings,
54
+ captchaType: CaptchaType.pow,
55
+ },
56
+ }, CaptchaType.pow);
57
+ expect(result).toEqual({
58
+ valid: true,
59
+ type: CaptchaType.pow,
60
+ });
61
+ });
62
+ it("should validate a request for an pow captcha when the client settings are set to frictionless and a session ID is passed and found", async () => {
63
+ db.checkAndRemoveSession.mockResolvedValue({
64
+ tokenId: "tokenId",
65
+ });
66
+ db.getFrictionlessTokenRecordByTokenId.mockResolvedValue({
67
+ _id: "frictionlessTokenId",
68
+ });
69
+ const result = await captchaManager.isValidRequest({
70
+ account: "account",
71
+ tier: Tier.Free,
72
+ settings: {
73
+ ...defaultUserSettings,
74
+ captchaType: CaptchaType.frictionless,
75
+ },
76
+ }, CaptchaType.pow, "sessionId");
77
+ expect(result).toEqual({
78
+ valid: true,
79
+ type: CaptchaType.pow,
80
+ frictionlessTokenId: "frictionlessTokenId",
81
+ });
82
+ });
83
+ it("should validate a request for an image captcha when the client settings are set to frictionless and a session ID is passed and found", async () => {
84
+ db.checkAndRemoveSession.mockResolvedValue({
85
+ tokenId: "tokenId",
86
+ });
87
+ db.getFrictionlessTokenRecordByTokenId.mockResolvedValue({
88
+ _id: "frictionlessTokenId",
89
+ });
90
+ const result = await captchaManager.isValidRequest({
91
+ account: "account",
92
+ tier: Tier.Free,
93
+ settings: {
94
+ ...defaultUserSettings,
95
+ captchaType: CaptchaType.frictionless,
96
+ },
97
+ }, CaptchaType.image, "sessionId");
98
+ expect(result).toEqual({
99
+ valid: true,
100
+ type: CaptchaType.image,
101
+ frictionlessTokenId: "frictionlessTokenId",
102
+ });
103
+ });
104
+ it("should not validate a request for an image captcha when the client settings are set to frictionless and a session ID is passed but not found", async () => {
105
+ db.checkAndRemoveSession.mockResolvedValue(undefined);
106
+ db.getFrictionlessTokenRecordByTokenId.mockResolvedValue({
107
+ _id: "frictionlessTokenId",
108
+ });
109
+ const sessionId = "sessionId";
110
+ const result = await captchaManager.isValidRequest({
111
+ account: "account",
112
+ tier: Tier.Free,
113
+ settings: {
114
+ ...defaultUserSettings,
115
+ captchaType: CaptchaType.frictionless,
116
+ },
117
+ }, CaptchaType.image, sessionId);
118
+ expect(result).toEqual({
119
+ valid: false,
120
+ reason: "CAPTCHA.NO_SESSION_FOUND",
121
+ type: CaptchaType.image,
122
+ });
123
+ });
124
+ it("should not validate a request for a pow captcha when the client settings are set to frictionless and a session ID is passed but not found", async () => {
125
+ db.checkAndRemoveSession.mockResolvedValue(undefined);
126
+ db.getFrictionlessTokenRecordByTokenId.mockResolvedValue({
127
+ _id: "frictionlessTokenId",
128
+ });
129
+ const sessionId = "sessionId";
130
+ const result = await captchaManager.isValidRequest({
131
+ account: "account",
132
+ tier: Tier.Free,
133
+ settings: {
134
+ ...defaultUserSettings,
135
+ captchaType: CaptchaType.frictionless,
136
+ },
137
+ }, CaptchaType.pow, sessionId);
138
+ expect(result).toEqual({
139
+ valid: false,
140
+ reason: "CAPTCHA.NO_SESSION_FOUND",
141
+ type: CaptchaType.pow,
142
+ });
143
+ });
144
+ it("should not validate a request for a pow captcha when the client settings are set to frictionless but no session ID is passed in", async () => {
145
+ const result = await captchaManager.isValidRequest({
146
+ account: "account",
147
+ tier: Tier.Free,
148
+ settings: {
149
+ ...defaultUserSettings,
150
+ captchaType: CaptchaType.frictionless,
151
+ },
152
+ }, CaptchaType.pow, undefined);
153
+ expect(result).toEqual({
154
+ valid: false,
155
+ reason: "API.INCORRECT_CAPTCHA_TYPE",
156
+ type: CaptchaType.pow,
157
+ });
158
+ });
159
+ it("should not validate a request for an image captcha when the client settings are set to frictionless but no session ID is passed in", async () => {
160
+ const result = await captchaManager.isValidRequest({
161
+ account: "account",
162
+ tier: Tier.Free,
163
+ settings: {
164
+ ...defaultUserSettings,
165
+ captchaType: CaptchaType.frictionless,
166
+ },
167
+ }, CaptchaType.image, undefined);
168
+ expect(result).toEqual({
169
+ valid: false,
170
+ reason: "API.INCORRECT_CAPTCHA_TYPE",
171
+ type: CaptchaType.image,
172
+ });
173
+ });
174
+ it("should not validate a request for a pow captcha when the client settings are set to image", async () => {
175
+ const result = await captchaManager.isValidRequest({
176
+ account: "account",
177
+ tier: Tier.Free,
178
+ settings: {
179
+ ...defaultUserSettings,
180
+ captchaType: CaptchaType.image,
181
+ },
182
+ }, CaptchaType.pow);
183
+ expect(result).toEqual({
184
+ valid: false,
185
+ reason: "API.INCORRECT_CAPTCHA_TYPE",
186
+ type: CaptchaType.pow,
187
+ });
188
+ });
189
+ it("should not validate a request for an image captcha when the client settings are set to pow", async () => {
190
+ const result = await captchaManager.isValidRequest({
191
+ account: "account",
192
+ tier: Tier.Free,
193
+ settings: {
194
+ ...defaultUserSettings,
195
+ captchaType: CaptchaType.pow,
196
+ },
197
+ }, CaptchaType.image);
198
+ expect(result).toEqual({
199
+ valid: false,
200
+ reason: "API.INCORRECT_CAPTCHA_TYPE",
201
+ type: CaptchaType.image,
202
+ });
203
+ });
204
+ });
205
+ describe("getVerificationResponse", () => {
206
+ it("should return a verification response with a score if the tier is not free", async () => {
207
+ const result = captchaManager.getVerificationResponse(true, {
208
+ account: "account",
209
+ tier: Tier.Professional,
210
+ }, () => "translated", 0.5);
211
+ expect(result).toEqual({
212
+ status: "translated",
213
+ verified: true,
214
+ score: 0.5,
215
+ });
216
+ });
217
+ it("should return a verification response without a score if the tier is free", async () => {
218
+ const result = captchaManager.getVerificationResponse(true, {
219
+ account: "account",
220
+ tier: Tier.Free,
221
+ }, () => "translated", 0.5);
222
+ expect(result).toEqual({
223
+ status: "translated",
224
+ verified: true,
225
+ });
226
+ });
227
+ });
228
+ });
229
+ //# sourceMappingURL=captchaManager.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"captchaManager.unit.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/tasks/captchaManager.unit.test.ts"],"names":[],"mappings":"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"}
@@ -1,92 +1,67 @@
1
- import { Address4 } from "ip-address";
1
+ import { FrictionlessPenalties, } from "@prosopo/types";
2
2
  import { beforeEach, describe, expect, it, vi } from "vitest";
3
3
  import { FrictionlessManager } from "../../../../tasks/frictionless/frictionlessTasks.js";
4
4
  describe("Frictionless Task Manager", () => {
5
5
  let db;
6
6
  let pair;
7
- let captchaConfig;
8
7
  let frictionlessTaskManager;
8
+ let config;
9
9
  beforeEach(() => {
10
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
- }),
11
+ updateFrictionlessTokenRecord: vi.fn(),
44
12
  };
45
13
  pair = {
46
14
  sign: vi.fn(),
47
15
  address: "testAddress",
48
16
  };
49
- captchaConfig = {
50
- solved: { count: 5 },
51
- unsolved: { count: 5 },
17
+ config = {
18
+ penalties: FrictionlessPenalties.parse({}),
19
+ captchas: {
20
+ solved: { count: 5 },
21
+ unsolved: { count: 5 },
22
+ },
52
23
  lRules: { en: 1 },
53
24
  };
54
- frictionlessTaskManager = new FrictionlessManager(captchaConfig, pair, db);
25
+ frictionlessTaskManager = new FrictionlessManager(db, pair, config);
55
26
  vi.clearAllMocks();
56
27
  });
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
28
  describe("checkLangRules", () => {
82
29
  it("should return an inflated score if a lang rule is set", async () => {
83
30
  const result = frictionlessTaskManager.checkLangRules("en");
84
- expect(result).toBe(captchaConfig.lRules.en);
31
+ expect(result).toBe(config.lRules?.en);
85
32
  });
86
33
  it("should return zero score if a lang rule is not set", async () => {
87
34
  const result = frictionlessTaskManager.checkLangRules("de");
88
35
  expect(result).toBe(0);
89
36
  });
90
37
  });
38
+ describe("scoreIncreaseAccessPolicy", () => {
39
+ it("should return the correct score increase for 0 score", async () => {
40
+ const accessRule = {
41
+ isUserBlocked: false,
42
+ score: 1,
43
+ };
44
+ const tokenId = "tokenId";
45
+ const result = await frictionlessTaskManager.scoreIncreaseAccessPolicy(accessRule, 0, 0, tokenId);
46
+ expect(result).toBe(1);
47
+ });
48
+ it("should return the correct score increase for an existing score", async () => {
49
+ const accessRule = {
50
+ isUserBlocked: false,
51
+ score: 1,
52
+ };
53
+ const existingScore = 0.1;
54
+ const tokenId = "tokenId";
55
+ const result = await frictionlessTaskManager.scoreIncreaseAccessPolicy(accessRule, existingScore, existingScore, tokenId);
56
+ expect(result).toBe(1.1);
57
+ });
58
+ });
59
+ describe("scoreIncreaseTimestamp", () => {
60
+ it("should return the correct score increase when a timestamp is more than the 10 mins old", async () => {
61
+ const defaults = FrictionlessPenalties.parse({});
62
+ const result = await frictionlessTaskManager.scoreIncreaseTimestamp(0, 0, 0, "tokenId");
63
+ expect(result).toBe(defaults.PENALTY_OLD_TIMESTAMP);
64
+ });
65
+ });
91
66
  });
92
67
  //# sourceMappingURL=frictionlessTasks.unit.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"frictionlessTasks.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frictionlessTasks.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,qBAAqB,GAErB,MAAM,gBAAgB,CAAC;AAKxB,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;IACtB,IAAI,uBAA4C,CAAC;IACjD,IAAI,MAA2B,CAAC;IAEhC,UAAU,CAAC,GAAG,EAAE;QACf,EAAE,GAAG;YACJ,6BAA6B,EAAE,EAAE,CAAC,EAAE,EAAE;SACN,CAAC;QAElC,IAAI,GAAG;YACN,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;YACb,OAAO,EAAE,aAAa;SACI,CAAC;QAE5B,MAAM,GAAG;YACR,SAAS,EAAE,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,QAAQ,EAAE;gBACT,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBACpB,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;aACtB;YACD,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;SACiB,CAAC;QAEpC,uBAAuB,GAAG,IAAI,mBAAmB,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAEpE,EAAE,CAAC,aAAa,EAAE,CAAC;IACpB,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,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACxC,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;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QAC1C,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,UAAU,GAAG;gBAClB,aAAa,EAAE,KAAK;gBACpB,KAAK,EAAE,CAAC;aACR,CAAC;YACF,MAAM,OAAO,GAAG,SAA2C,CAAC;YAC5D,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,yBAAyB,CACrE,UAAU,EACV,CAAC,EACD,CAAC,EACD,OAAO,CACP,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,UAAU,GAAG;gBAClB,aAAa,EAAE,KAAK;gBACpB,KAAK,EAAE,CAAC;aACR,CAAC;YACF,MAAM,aAAa,GAAG,GAAG,CAAC;YAC1B,MAAM,OAAO,GAAG,SAA2C,CAAC;YAC5D,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,yBAAyB,CACrE,UAAU,EACV,aAAa,EACb,aAAa,EACb,OAAO,CACP,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,wFAAwF,EAAE,KAAK,IAAI,EAAE;YACvG,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,sBAAsB,CAClE,CAAC,EACD,CAAC,EACD,CAAC,EACD,SAA2C,CAC3C,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=frictionlessTasksUtils.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frictionlessTasksUtils.unit.test.d.ts","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,37 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { computeFrictionlessScore } from "../../../../tasks/frictionless/frictionlessTasksUtils.js";
3
+ describe("Frictionless Task Utils", () => {
4
+ describe("computeFrictionlessScore", () => {
5
+ it("should return the minimum of 1 and the sum of all score components", async () => {
6
+ const scoreComponents = {
7
+ a: 0.2,
8
+ b: 0.3,
9
+ c: 0.4,
10
+ d: 0.1,
11
+ };
12
+ const result = computeFrictionlessScore(scoreComponents);
13
+ expect(result).toBe(1);
14
+ });
15
+ it("should return the minimum of 1 and the sum of all score components", async () => {
16
+ const scoreComponents = {
17
+ a: 0.1,
18
+ b: 0.1,
19
+ c: 0.1,
20
+ d: 0.1,
21
+ };
22
+ const result = computeFrictionlessScore(scoreComponents);
23
+ expect(result).toBe(0.4);
24
+ });
25
+ it("should return 1 if the sum of all score components is greater than 1", async () => {
26
+ const scoreComponents = {
27
+ a: 1,
28
+ b: 0.3,
29
+ c: 0.4,
30
+ d: 0.2,
31
+ };
32
+ const result = computeFrictionlessScore(scoreComponents);
33
+ expect(result).toBe(1);
34
+ });
35
+ });
36
+ });
37
+ //# sourceMappingURL=frictionlessTasksUtils.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frictionlessTasksUtils.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAC;AAEpG,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACxC,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YACnF,MAAM,eAAe,GAAG;gBACvB,CAAC,EAAE,GAAG;gBACN,CAAC,EAAE,GAAG;gBACN,CAAC,EAAE,GAAG;gBACN,CAAC,EAAE,GAAG;aACN,CAAC;YACF,MAAM,MAAM,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YACnF,MAAM,eAAe,GAAG;gBACvB,CAAC,EAAE,GAAG;gBACN,CAAC,EAAE,GAAG;gBACN,CAAC,EAAE,GAAG;gBACN,CAAC,EAAE,GAAG;aACN,CAAC;YACF,MAAM,MAAM,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;YACrF,MAAM,eAAe,GAAG;gBACvB,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,GAAG;gBACN,CAAC,EAAE,GAAG;gBACN,CAAC,EAAE,GAAG;aACN,CAAC;YACF,MAAM,MAAM,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -117,9 +117,9 @@ describe("ImgCaptchaManager", () => {
117
117
  .splice(0, size);
118
118
  }),
119
119
  getDatasetDetails: vi.fn(),
120
- storeDappUserPending: vi.fn(),
121
- getDappUserPending: vi.fn(),
122
- updateDappUserPendingStatus: vi.fn(),
120
+ storePendingImageCommitment: vi.fn(),
121
+ getPendingImageCommitment: vi.fn(),
122
+ updatePendingImageCommitmentStatus: vi.fn(),
123
123
  storeDappUserSolution: vi.fn(),
124
124
  approveDappUserCommitment: vi.fn(),
125
125
  getCaptchaById: vi.fn(),
@@ -138,7 +138,7 @@ describe("ImgCaptchaManager", () => {
138
138
  solved: { count: 5 },
139
139
  unsolved: { count: 4 },
140
140
  };
141
- imgCaptchaManager = new ImgCaptchaManager(db, pair, logger, captchaConfig);
141
+ imgCaptchaManager = new ImgCaptchaManager(db, pair, captchaConfig, logger);
142
142
  vi.clearAllMocks();
143
143
  });
144
144
  describe("getCaptchaWithProof", () => {
@@ -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,11 +1,7 @@
1
1
  import { ProsopoEnvError } from "@prosopo/common";
2
2
  import { CaptchaMerkleTree, computeCaptchaSolutionHash, } from "@prosopo/datasets";
3
- import { BlockRuleType } from "@prosopo/types";
4
- import { Address4 } from "ip-address";
5
3
  import { beforeEach, describe, expect, it, vi } from "vitest";
6
- import { checkIpRules } from "../../../../rules/ip.js";
7
- import { checkUserRules } from "../../../../rules/user.js";
8
- import { buildTreeAndGetCommitmentId, getCaptchaConfig, } from "../../../../tasks/imgCaptcha/imgCaptchaTasksUtils.js";
4
+ import { buildTreeAndGetCommitmentId } from "../../../../tasks/imgCaptcha/imgCaptchaTasksUtils.js";
9
5
  vi.mock("@prosopo/datasets", () => ({
10
6
  CaptchaMerkleTree: vi.fn().mockImplementation(() => ({
11
7
  build: vi.fn(),
@@ -13,16 +9,6 @@ vi.mock("@prosopo/datasets", () => ({
13
9
  })),
14
10
  computeCaptchaSolutionHash: vi.fn(),
15
11
  }));
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
- });
26
12
  describe("buildTreeAndGetCommitmentId", () => {
27
13
  const mockCaptchaSolutions = [
28
14
  { challenge: "challenge1", solution: "solution1", salt: "salt1" },
@@ -57,90 +43,4 @@ describe("buildTreeAndGetCommitmentId", () => {
57
43
  }));
58
44
  });
59
45
  });
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
- });
146
46
  //# sourceMappingURL=imgCaptchaTasksUtils.unit.test.js.map