@prosopo/provider 4.15.17 → 5.0.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 (215) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +102 -101
  2. package/.turbo/turbo-build$colon$tsc.log +24 -24
  3. package/.turbo/turbo-build.log +103 -102
  4. package/CHANGELOG.md +137 -0
  5. package/dist/api/admin/apiAdminRoutesProvider.d.ts.map +1 -1
  6. package/dist/api/admin/apiAdminRoutesProvider.js +3 -5
  7. package/dist/api/admin/apiAdminRoutesProvider.js.map +1 -1
  8. package/dist/api/admin/apiReplaceDetectorPoolEndpoint.d.ts +11 -0
  9. package/dist/api/admin/apiReplaceDetectorPoolEndpoint.d.ts.map +1 -0
  10. package/dist/api/admin/apiReplaceDetectorPoolEndpoint.js +56 -0
  11. package/dist/api/admin/apiReplaceDetectorPoolEndpoint.js.map +1 -0
  12. package/dist/api/captcha/assignDetectorBundle.d.ts +6 -0
  13. package/dist/api/captcha/assignDetectorBundle.d.ts.map +1 -0
  14. package/dist/api/captcha/assignDetectorBundle.js +50 -0
  15. package/dist/api/captcha/assignDetectorBundle.js.map +1 -0
  16. package/dist/api/captcha/assignDetectorBundle.test.d.ts +2 -0
  17. package/dist/api/captcha/assignDetectorBundle.test.d.ts.map +1 -0
  18. package/dist/api/captcha/assignDetectorBundle.test.js +71 -0
  19. package/dist/api/captcha/assignDetectorBundle.test.js.map +1 -0
  20. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts +3 -0
  21. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts.map +1 -1
  22. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js.map +1 -1
  23. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.d.ts +1 -0
  24. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.d.ts.map +1 -1
  25. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js +59 -2
  26. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js.map +1 -1
  27. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.d.ts +1 -1
  28. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.d.ts.map +1 -1
  29. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.js +3 -3
  30. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.js.map +1 -1
  31. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
  32. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +16 -8
  33. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
  34. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.d.ts +2 -0
  35. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.d.ts.map +1 -1
  36. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js +45 -18
  37. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js.map +1 -1
  38. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.powFallback.test.d.ts +2 -0
  39. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.powFallback.test.d.ts.map +1 -0
  40. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.powFallback.test.js +77 -0
  41. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.powFallback.test.js.map +1 -0
  42. package/dist/api/captcha/submitPoWCaptchaSolution.d.ts.map +1 -1
  43. package/dist/api/captcha/submitPoWCaptchaSolution.js +1 -1
  44. package/dist/api/captcha/submitPoWCaptchaSolution.js.map +1 -1
  45. package/dist/api/captcha.d.ts.map +1 -1
  46. package/dist/api/captcha.js +6 -0
  47. package/dist/api/captcha.js.map +1 -1
  48. package/dist/api/startProviderApi.d.ts.map +1 -1
  49. package/dist/api/startProviderApi.js +50 -17
  50. package/dist/api/startProviderApi.js.map +1 -1
  51. package/dist/api/verify.d.ts.map +1 -1
  52. package/dist/api/verify.js +1 -1
  53. package/dist/api/verify.js.map +1 -1
  54. package/dist/cjs/api/admin/apiAdminRoutesProvider.cjs +3 -5
  55. package/dist/cjs/api/admin/apiReplaceDetectorPoolEndpoint.cjs +56 -0
  56. package/dist/cjs/api/captcha/assignDetectorBundle.cjs +50 -0
  57. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs +59 -2
  58. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.cjs +3 -3
  59. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +15 -7
  60. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.cjs +45 -17
  61. package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +1 -1
  62. package/dist/cjs/api/captcha.cjs +6 -0
  63. package/dist/cjs/api/startProviderApi.cjs +53 -19
  64. package/dist/cjs/api/verify.cjs +1 -1
  65. package/dist/cjs/tasks/captchaManager.cjs +76 -59
  66. package/dist/cjs/tasks/client/clientTasks.cjs +1 -29
  67. package/dist/cjs/tasks/detection/bundlePool.cjs +220 -0
  68. package/dist/cjs/tasks/detection/decodeBehavior.cjs +644 -362
  69. package/dist/cjs/tasks/detection/decodeBehavior.js +1 -1
  70. package/dist/cjs/tasks/detection/decodePayload.cjs +956 -617
  71. package/dist/cjs/tasks/detection/decodePayload.js +1 -1
  72. package/dist/cjs/tasks/detection/decodeSimd.cjs +723 -411
  73. package/dist/cjs/tasks/detection/decodeSimd.js +1 -1
  74. package/dist/cjs/tasks/detection/getBotScore.cjs +2 -2
  75. package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +35 -12
  76. package/dist/cjs/tasks/frictionless/frictionlessTasksUtils.cjs +1 -2
  77. package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +37 -7
  78. package/dist/cjs/tasks/powCaptcha/powTasks.cjs +33 -3
  79. package/dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs +36 -4
  80. package/dist/cjs/tasks/spam/evaluateEmailSpamRules.cjs +23 -0
  81. package/dist/tasks/captchaManager.d.ts +12 -4
  82. package/dist/tasks/captchaManager.d.ts.map +1 -1
  83. package/dist/tasks/captchaManager.js +76 -59
  84. package/dist/tasks/captchaManager.js.map +1 -1
  85. package/dist/tasks/client/clientTasks.d.ts +0 -2
  86. package/dist/tasks/client/clientTasks.d.ts.map +1 -1
  87. package/dist/tasks/client/clientTasks.js +1 -29
  88. package/dist/tasks/client/clientTasks.js.map +1 -1
  89. package/dist/tasks/detection/bundlePool.d.ts +32 -0
  90. package/dist/tasks/detection/bundlePool.d.ts.map +1 -0
  91. package/dist/tasks/detection/bundlePool.js +215 -0
  92. package/dist/tasks/detection/bundlePool.js.map +1 -0
  93. package/dist/tasks/detection/bundlePool.test.d.ts +2 -0
  94. package/dist/tasks/detection/bundlePool.test.d.ts.map +1 -0
  95. package/dist/tasks/detection/bundlePool.test.js +178 -0
  96. package/dist/tasks/detection/bundlePool.test.js.map +1 -0
  97. package/dist/tasks/detection/decodeBehavior.d.ts +2 -2
  98. package/dist/tasks/detection/decodeBehavior.d.ts.map +1 -1
  99. package/dist/tasks/detection/decodeBehavior.js +1 -1
  100. package/dist/tasks/detection/decodeBehavior.js.map +1 -1
  101. package/dist/tasks/detection/decodePayload.d.ts +2 -2
  102. package/dist/tasks/detection/decodePayload.d.ts.map +1 -1
  103. package/dist/tasks/detection/decodePayload.js +1 -1
  104. package/dist/tasks/detection/decodePayload.js.map +1 -1
  105. package/dist/tasks/detection/decodeSimd.d.ts +2 -2
  106. package/dist/tasks/detection/decodeSimd.d.ts.map +1 -1
  107. package/dist/tasks/detection/decodeSimd.js +1 -1
  108. package/dist/tasks/detection/decodeSimd.js.map +1 -1
  109. package/dist/tasks/detection/getBotScore.d.ts +1 -1
  110. package/dist/tasks/detection/getBotScore.d.ts.map +1 -1
  111. package/dist/tasks/detection/getBotScore.js +3 -3
  112. package/dist/tasks/detection/getBotScore.js.map +1 -1
  113. package/dist/tasks/frictionless/frictionlessTasks.d.ts +10 -2
  114. package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
  115. package/dist/tasks/frictionless/frictionlessTasks.js +35 -12
  116. package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
  117. package/dist/tasks/frictionless/frictionlessTasksUtils.d.ts +1 -1
  118. package/dist/tasks/frictionless/frictionlessTasksUtils.d.ts.map +1 -1
  119. package/dist/tasks/frictionless/frictionlessTasksUtils.js +1 -2
  120. package/dist/tasks/frictionless/frictionlessTasksUtils.js.map +1 -1
  121. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -1
  122. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +38 -8
  123. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -1
  124. package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -1
  125. package/dist/tasks/powCaptcha/powTasks.js +34 -4
  126. package/dist/tasks/powCaptcha/powTasks.js.map +1 -1
  127. package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts +2 -2
  128. package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts.map +1 -1
  129. package/dist/tasks/puzzleCaptcha/puzzleTasks.js +36 -4
  130. package/dist/tasks/puzzleCaptcha/puzzleTasks.js.map +1 -1
  131. package/dist/tasks/spam/evaluateEmailSpamRules.d.ts +1 -0
  132. package/dist/tasks/spam/evaluateEmailSpamRules.d.ts.map +1 -1
  133. package/dist/tasks/spam/evaluateEmailSpamRules.js +23 -1
  134. package/dist/tasks/spam/evaluateEmailSpamRules.js.map +1 -1
  135. package/dist/tests/integration/clientSettingsPersistence.integration.test.js +23 -1
  136. package/dist/tests/integration/clientSettingsPersistence.integration.test.js.map +1 -1
  137. package/dist/tests/integration/decisionMachines.integration.test.js +3 -56
  138. package/dist/tests/integration/decisionMachines.integration.test.js.map +1 -1
  139. package/dist/tests/integration/escalationPeekBeforeConsume.integration.test.js +2 -2
  140. package/dist/tests/integration/escalationPeekBeforeConsume.integration.test.js.map +1 -1
  141. package/dist/tests/integration/imgCaptcha.integration.test.js +3 -56
  142. package/dist/tests/integration/imgCaptcha.integration.test.js.map +1 -1
  143. package/dist/tests/integration/maintenanceModeAdmin.integration.test.js +2 -29
  144. package/dist/tests/integration/maintenanceModeAdmin.integration.test.js.map +1 -1
  145. package/dist/tests/integration/powCaptcha.integration.test.js +3 -56
  146. package/dist/tests/integration/powCaptcha.integration.test.js.map +1 -1
  147. package/dist/tests/integration/routingDecisionMachines.integration.test.js +2 -2
  148. package/dist/tests/integration/routingDecisionMachines.integration.test.js.map +1 -1
  149. package/dist/tests/integration/testUtils.d.ts +1 -0
  150. package/dist/tests/integration/testUtils.d.ts.map +1 -1
  151. package/dist/tests/integration/testUtils.js +14 -0
  152. package/dist/tests/integration/testUtils.js.map +1 -1
  153. package/dist/tests/integration/testUtils.unit.test.d.ts +2 -0
  154. package/dist/tests/integration/testUtils.unit.test.d.ts.map +1 -0
  155. package/dist/tests/integration/testUtils.unit.test.js +30 -0
  156. package/dist/tests/integration/testUtils.unit.test.js.map +1 -0
  157. package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js +1 -0
  158. package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js.map +1 -1
  159. package/dist/tests/unit/api/adminRoutes.unit.test.js +0 -46
  160. package/dist/tests/unit/api/adminRoutes.unit.test.js.map +1 -1
  161. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.unit.test.js +101 -0
  162. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.unit.test.js.map +1 -1
  163. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.unit.test.js +12 -12
  164. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.unit.test.js.map +1 -1
  165. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js +15 -1
  166. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js.map +1 -1
  167. package/dist/tests/unit/tasks/captchaManager.unit.test.js +14 -30
  168. package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -1
  169. package/dist/tests/unit/tasks/detection/getBotScore.unit.test.js +3 -3
  170. package/dist/tests/unit/tasks/detection/getBotScore.unit.test.js.map +1 -1
  171. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.js +25 -7
  172. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.js.map +1 -1
  173. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js +0 -1
  174. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js.map +1 -1
  175. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.js +6 -14
  176. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.js.map +1 -1
  177. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js +99 -0
  178. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js.map +1 -1
  179. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js +108 -0
  180. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js.map +1 -1
  181. package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.js +102 -1
  182. package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.js.map +1 -1
  183. package/dist/tests/unit/tasks/spam/evaluateEmailSpamRules.unit.test.js +37 -1
  184. package/dist/tests/unit/tasks/spam/evaluateEmailSpamRules.unit.test.js.map +1 -1
  185. package/dist/tests/unit/tasks/writeQueueIntegration.unit.test.js +0 -2
  186. package/dist/tests/unit/tasks/writeQueueIntegration.unit.test.js.map +1 -1
  187. package/fixtures/detector-pool/bundle-0.js +15 -0
  188. package/fixtures/detector-pool/bundle-0.json +1 -0
  189. package/package.json +19 -19
  190. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.d.ts +0 -23
  191. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.d.ts.map +0 -1
  192. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.js +0 -32
  193. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.js.map +0 -1
  194. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.d.ts +0 -14
  195. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.d.ts.map +0 -1
  196. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.js +0 -39
  197. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.js.map +0 -1
  198. package/dist/cjs/api/admin/apiRemoveDetectorKeyEndpoint.cjs +0 -32
  199. package/dist/cjs/api/admin/apiUpdateDetectorKeyEndpoint.cjs +0 -39
  200. package/dist/tasks/detection/getBehavioralData.d.ts +0 -4
  201. package/dist/tasks/detection/getBehavioralData.d.ts.map +0 -1
  202. package/dist/tasks/detection/getBehavioralData.js +0 -51
  203. package/dist/tasks/detection/getBehavioralData.js.map +0 -1
  204. package/dist/tests/unit/api/admin/apiRemoveDetectorKeyEndpoint.unit.test.d.ts +0 -2
  205. package/dist/tests/unit/api/admin/apiRemoveDetectorKeyEndpoint.unit.test.d.ts.map +0 -1
  206. package/dist/tests/unit/api/admin/apiRemoveDetectorKeyEndpoint.unit.test.js +0 -57
  207. package/dist/tests/unit/api/admin/apiRemoveDetectorKeyEndpoint.unit.test.js.map +0 -1
  208. package/dist/tests/unit/api/admin/apiUpdateDetectorKeyEndpoint.unit.test.d.ts +0 -2
  209. package/dist/tests/unit/api/admin/apiUpdateDetectorKeyEndpoint.unit.test.d.ts.map +0 -1
  210. package/dist/tests/unit/api/admin/apiUpdateDetectorKeyEndpoint.unit.test.js +0 -60
  211. package/dist/tests/unit/api/admin/apiUpdateDetectorKeyEndpoint.unit.test.js.map +0 -1
  212. package/dist/tests/unit/tasks/detection/getBehavioralData.unit.test.d.ts +0 -2
  213. package/dist/tests/unit/tasks/detection/getBehavioralData.unit.test.d.ts.map +0 -1
  214. package/dist/tests/unit/tasks/detection/getBehavioralData.unit.test.js +0 -109
  215. package/dist/tests/unit/tasks/detection/getBehavioralData.unit.test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"imgCaptchaTasks.js","sourceRoot":"","sources":["../../../src/tasks/imgCaptcha/imgCaptchaTasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"imgCaptchaTasks.js","sourceRoot":"","sources":["../../../src/tasks/imgCaptcha/imgCaptchaTasks.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"powTasks.d.ts","sourceRoot":"","sources":["../../../src/tasks/powCaptcha/powTasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"powTasks.d.ts","sourceRoot":"","sources":["../../../src/tasks/powCaptcha/powTasks.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { CaptchaManager } from "../captchaManager.js";
6
6
  import { applyRouter } from "../frictionless/routingMachine.js";
7
7
  import { deepValidateIpAddress } from "../../util.js";
8
8
  import { computeFrictionlessScore } from "../frictionless/frictionlessTasksUtils.js";
9
- import { evaluateEmailSpamRules } from "../spam/evaluateEmailSpamRules.js";
9
+ import { evaluateEmailSpamRules, normaliseEmailForMatching } from "../spam/evaluateEmailSpamRules.js";
10
10
  import { checkPowSignature, validateSolution } from "./powTasksUtils.js";
11
11
  import { ProsopoApiError, ProsopoEnvError } from "@prosopo/common";
12
12
  import { ApiParams, CaptchaStatus, CaptchaType, DecisionMachineDecision, FrictionlessReason, POW_SEPARATOR, ResultReason, SimdReadingsStage } from "@prosopo/types";
@@ -129,8 +129,8 @@ var PowCaptchaManager = class extends CaptchaManager {
129
129
  let behavioralUpdates = {};
130
130
  let decryptedBehavioralDataPacked;
131
131
  if (behavioralData) try {
132
- const decryptKeys = [...await this.getDetectorKeys(), process.env.BOT_DECRYPTION_KEY];
133
- const decryptedData = await this.decryptBehavioralData(behavioralData, decryptKeys);
132
+ const bundle = await this.resolveBundleBySessionId(challengeRecord.sessionId);
133
+ const decryptedData = await this.decryptBehavioralData(behavioralData, bundle);
134
134
  if (decryptedData) {
135
135
  const dappAccount = at(challengeSplit, 2);
136
136
  this.logger?.info(() => ({
@@ -353,6 +353,33 @@ var PowCaptchaManager = class extends CaptchaManager {
353
353
  failReason = "API.SPAM_EMAIL_RULE";
354
354
  }
355
355
  }
356
+ const maxEmailSubmissionCount = spamFilter?.enabled && spamFilter.emailRules?.enabled ? spamFilter.emailRules.maxEmailSubmissionCount : void 0;
357
+ let emailNormalised;
358
+ if (!failResult && maxEmailSubmissionCount !== void 0 && email && storeMetadata) {
359
+ emailNormalised = normaliseEmailForMatching(email);
360
+ if (emailNormalised) try {
361
+ const priorCount = await this.db.countCommitmentsByNormalisedEmail(dappAccount, emailNormalised);
362
+ if (priorCount >= maxEmailSubmissionCount) {
363
+ logger.info(() => ({
364
+ msg: "Email submission count exceeded in PoW verification",
365
+ data: {
366
+ priorCount,
367
+ maxEmailSubmissionCount
368
+ }
369
+ }));
370
+ failResult = {
371
+ status: CaptchaStatus.disapproved,
372
+ reason: ResultReason.SPAM_EMAIL_COUNT_EXCEEDED
373
+ };
374
+ failReason = "API.SPAM_EMAIL_COUNT_EXCEEDED";
375
+ }
376
+ } catch (error) {
377
+ logger.warn(() => ({
378
+ msg: "Failed to check email submission count in PoW verification",
379
+ error
380
+ }));
381
+ }
382
+ }
356
383
  const sessionRecord = challengeRecord.sessionId ? await this.db.getSessionRecordBySessionId(challengeRecord.sessionId) : void 0;
357
384
  const enrichedDnsEvent = await enrichDnsEvent(sessionRecord?.dnsEvent, env.ipInfoService, ip ?? challengeRecord.ipInfo?.ip);
358
385
  if (!failResult) {
@@ -377,7 +404,10 @@ var PowCaptchaManager = class extends CaptchaManager {
377
404
  failReason = check.reason;
378
405
  }
379
406
  }
380
- if (storeMetadata && email) powRecordUpdates.metadata = { email };
407
+ if (storeMetadata && email) powRecordUpdates.metadata = {
408
+ email,
409
+ emailNormalised: emailNormalised ?? normaliseEmailForMatching(email)
410
+ };
381
411
  if (!failResult && ip) {
382
412
  const challengeIpAddress = getIpAddressFromComposite(challengeRecord.ipAddress);
383
413
  const ipValidationRules = (await this.db.getClientRecord(dappAccount))?.settings?.ipValidationRules;
@@ -1 +1 @@
1
- {"version":3,"file":"powTasks.js","sourceRoot":"","sources":["../../../src/tasks/powCaptcha/powTasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"powTasks.js","sourceRoot":"","sources":["../../../src/tasks/powCaptcha/powTasks.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAInE,OAAO,EACN,WAAW,EACX,uBAAuB,GAEvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,SAAS,EAGT,aAAa,EAGb,kBAAkB,EAIlB,aAAa,EAIb,YAAY,EAKZ,iBAAiB,GACjB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,EACN,gBAAgB,EAChB,EAAE,EACF,WAAW,EACX,aAAa,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,qBAAqB,EACrB,yBAAyB,GACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAEN,wBAAwB,GACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACpF,OAAO,EACN,mBAAmB,EACnB,cAAc,EACd,YAAY,GACZ,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAEN,WAAW,GACX,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACN,sBAAsB,EACtB,yBAAyB,GACzB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAoBzE,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAEjC,MAAM,OAAO,iBAAkB,SAAQ,cAAc;IAMpD,YACC,EAAqB,EACrB,IAAiB,EACjB,MAA2B,EAC3B,MAAe,EACf,UAAmC,EACnC,aAAoC;QAEpC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,qBAAqB,GAAG,IAAI,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,IAAI,CAAC;IAC5C,CAAC;IAOD,iBAAiB,CAAC,GAA0B;QAC3C,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;IAC3B,CAAC;IAUD,KAAK,CAAC,sBAAsB,CAC3B,WAAmB,EACnB,WAAmB,EACnB,MAAc,EACd,aAAsB;QAEtB,MAAM,UAAU,GAAG,aAAa,IAAI,sBAAsB,CAAC;QAC3D,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAGxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;QAGlD,MAAM,SAAS,GAAmB,GAAG,oBAAoB,MAAM,WAAW,MAAM,WAAW,MAAM,KAAK,EAAE,CAAC;QACzG,MAAM,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC5E,OAAO;YACN,SAAS;YACT,UAAU;YACV,iBAAiB,EAAE,kBAAkB;YACrC,oBAAoB;SACpB,CAAC;IACH,CAAC;IAeD,KAAK,CAAC,wBAAwB,CAC7B,SAAyB,EACzB,0BAAkC,EAClC,KAAa,EACb,OAAe,EACf,sBAA8B,EAC9B,SAAoB,EACpB,OAAuB,EACvB,cAAuB,EACvB,IAAa,EACb,YAAqB,EACrB,cAA+B;QAG/B,iBAAiB,CAChB,SAAS,EACT,0BAA0B,EAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,EACjB,SAAS,CAAC,SAAS,CACnB,CAAC;QAEF,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAE1C,iBAAiB,CAChB,SAAS,CAAC,QAAQ,EAAE,EACpB,sBAAsB,EACtB,WAAW,EACX,SAAS,CAAC,SAAS,CACnB,CAAC;QAEF,MAAM,eAAe,GACpB,MAAM,IAAI,CAAC,EAAE,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC;QAEzD,IAAI,CAAC,eAAe,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;gBACxB,GAAG,EAAE,gCAAgC,SAAS,EAAE;aAChD,CAAC,CAAC,CAAC;YAEJ,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QAED,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC;QAI9C,IAAI,MAAwC,CAAC;QAC7C,IAAI,eAAwB,CAAC;QAC7B,IAAI,IAAI,EAAE,CAAC;YACV,IAAI,CAAC;gBACJ,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC/B,MAAM,KAAK,GAAyB;wBACnC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAqB,CAAC;qBAC1D,CAAC;oBACF,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;oBAClC,MAAM,GAAG,KAAK,CAAC;gBAChB,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,eAAe,GAAG,KAAK,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBACvB,GAAG,EAAE,yCAAyC;oBAC9C,KAAK;oBACL,IAAI;iBACJ,CAAC,CAAC,CAAC;YACL,CAAC;QACF,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YACrB,MAAM,aAAa,GAAG;gBACrB,MAAM,EAAE,aAAa,CAAC,WAAW;gBACjC,MAAM,EAAE,YAAY,CAAC,oBAAoB;aACzC,CAAC;YACF,MAAM,aAAa,GAAoB;gBACtC,IAAI,CAAC,EAAE,CAAC,4BAA4B,CACnC,SAAS,EACT,aAAa,EACb,KAAK,EACL,IAAI,EACJ,sBAAsB,EACtB,SAAS,CACT;aACD,CAAC;YACF,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC;gBAC/B,aAAa,CAAC,IAAI,CACjB,IAAI,CAAC,4BAA4B,CAAC,eAAe,CAAC,SAAS,EAAE;oBAC5D,aAAa,EAAE,IAAI;oBACnB,MAAM,EAAE,aAAa;iBACrB,CAAC,CACF,CAAC;YACH,CAAC;YACD,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACjC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;YACxC,MAAM,aAAa,GAAG;gBACrB,MAAM,EAAE,aAAa,CAAC,WAAW;gBACjC,MAAM,EAAE,YAAY,CAAC,yBAAyB;aAC9C,CAAC;YAEF,MAAM,aAAa,GAAoB;gBACtC,IAAI,CAAC,EAAE,CAAC,4BAA4B,CACnC,SAAS,EACT,aAAa,EACb,KAAK,EACL,IAAI,EACJ,sBAAsB,EACtB,MAAM,CACN;aACD,CAAC;YACF,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC;gBAC/B,aAAa,CAAC,IAAI,CACjB,IAAI,CAAC,4BAA4B,CAAC,eAAe,CAAC,SAAS,EAAE;oBAC5D,aAAa,EAAE,IAAI;oBACnB,MAAM,EAAE,aAAa;iBACrB,CAAC,CACF,CAAC;YACH,CAAC;YACD,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACjC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAE/D,IAAI,MAAM,GAAkB,EAAE,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,GAAG;gBACR,MAAM,EAAE,aAAa,CAAC,WAAW;gBACjC,MAAM,EAAE,YAAY,CAAC,wBAAwB;aAC7C,CAAC;QACH,CAAC;QAMD,IAAI,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,aAAa,CAAC,aAAa,CAC/B,WAAW,EACX,wBAAwB,CACvB,QAAQ,EACR,WAAW,CAAC,GAAG,EACf,SAAS,CAAC,OAAO,EACjB,WAAW,CACX,CACD,CAAC;QACH,CAAC;QAKD,IAAI,iBAAiB,GAA8B,EAAE,CAAC;QAItD,IAAI,6BAEQ,CAAC;QACb,IAAI,cAAc,EAAE,CAAC;YACpB,IAAI,CAAC;gBAKJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,wBAAwB,CACjD,eAAe,CAAC,SAAS,CACzB,CAAC;gBAGF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,qBAAqB,CACrD,cAAc,EACd,MAAM,CACN,CAAC;gBAEF,IAAI,aAAa,EAAE,CAAC;oBACnB,MAAM,WAAW,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;oBAE1C,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;wBACxB,GAAG,EAAE,+BAA+B;wBACpC,IAAI,EAAE;4BACL,WAAW;4BACX,WAAW;4BACX,SAAS;4BACT,gBAAgB,EAAE,aAAa,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;4BACvD,gBAAgB,EAAE,aAAa,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;4BACvD,gBAAgB,EAAE,aAAa,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;4BACvD,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;4BAChD,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;yBAC5C;qBACD,CAAC,CAAC,CAAC;oBAGJ,MAAM,UAAU,GAAyB;wBACxC,EAAE,EAAE,aAAa,CAAC,UAAU,IAAI,EAAE;wBAClC,EAAE,EAAE,aAAa,CAAC,UAAU,IAAI,EAAE;wBAClC,EAAE,EAAE,aAAa,CAAC,UAAU,IAAI,EAAE;wBAClC,CAAC,EAAE,aAAa,CAAC,gBAAgB;qBACjC,CAAC;oBAEF,iBAAiB,GAAG;wBACnB,oBAAoB,EAAE,UAAU;wBAChC,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;qBAChD,CAAC;oBACF,6BAA6B,GAAG,UAAU,CAAC;gBAC5C,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;oBACzB,GAAG,EAAE,mCAAmC;oBACxC,GAAG,EAAE,KAAK;iBACV,CAAC,CAAC,CAAC;YAEL,CAAC;QACF,CAAC;QAKD,MAAM,aAAa,GAA8B,EAAE,GAAG,iBAAiB,EAAE,CAAC;QAC1E,IAAI,cAAc,EAAE,EAAE,EAAE,CAAC;YACxB,aAAa,CAAC,cAAc,GAAG,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC;QAC1D,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAChE,CAAC;QAGD,MAAM,aAAa,GAAoB;YACtC,IAAI,CAAC,EAAE,CAAC,4BAA4B,CACnC,SAAS,EACT,MAAM,EACN,KAAK,EACL,IAAI,EACJ,sBAAsB,EACtB,MAAM,CACN;SACD,CAAC;QAEF,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC;YAC/B,MAAM,eAAe,GAAG,eAAe,CAAC,SAAS,CAAC;YAClD,aAAa,CAAC,IAAI,CACjB,IAAI,CAAC,4BAA4B,CAAC,eAAe,EAAE;gBAClD,aAAa,EAAE,IAAI;gBACnB,MAAM;aACN,CAAC,CACF,CAAC;YACF,IAAI,YAAY,EAAE,CAAC;gBAClB,aAAa,CAAC,IAAI,CACjB,IAAI,CAAC,oCAAoC,CACxC,eAAe,EACf,YAAY,EACZ,iBAAiB,CAAC,MAAM,CACxB,CACD,CAAC;YACH,CAAC;QACF,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAEjC,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QAC9B,CAAC;QAUD,MAAM,wBAAwB,GAC7B,CAAC,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAM/C,IAAI,aAAa,GAAG,IAAI,CAAC,cAAc;YACtC,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC;gBAC7B,eAAe;gBACf,cAAc;gBACd,oBAAoB,EAAE,6BAA6B;aACnD,CAAC;YACH,CAAC,CAAC,SAAS,CAAC;QAKb,IACC,wBAAwB;YACxB,aAAa,EAAE,WAAW,KAAK,WAAW,CAAC,KAAK;YAChD,aAAa,EAAE,WAAW,KAAK,WAAW,CAAC,MAAM,EAChD,CAAC;YACF,aAAa,GAAG;gBACf,WAAW,EAAE,WAAW,CAAC,KAAK;gBAC9B,MAAM,EAAE,kBAAkB,CAAC,mBAAmB;aAC9C,CAAC;QACH,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAC7C,CAAC;IAQO,KAAK,CAAC,iBAAiB,CAAC,IAI/B;QACA,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO,SAAS,CAAC;QAE3C,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC;QAEvE,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;gBACxB,GAAG,EAAE,6DAA6D;aAClE,CAAC,CAAC,CAAC;YACJ,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,2BAA2B,CAC9D,eAAe,CAAC,SAAS,CACzB,CAAC;QACF,IAAI,CAAC,aAAa,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;gBACxB,GAAG,EAAE,qDAAqD;gBAC1D,IAAI,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,SAAS,EAAE;aAC9C,CAAC,CAAC,CAAC;YACJ,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,wBAAwB,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QACtE,MAAM,WAAW,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAK1C,MAAM,QAAQ,GAAG;YAChB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ;YAC/B,SAAS,EAAE,aAAa,CAAC,OAAO;SAChC,CAAC;QAEF,MAAM,GAAG,GAAmB;YAC3B,WAAW;YACX,WAAW;YACX,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE;YAC1B,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW;YAC5C,KAAK;YACL,QAAQ;YACR,GAAG,EAAE;gBACJ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG;gBAC1B,GAAG,CAAC,oBAAoB,IAAI,EAAE,oBAAoB,EAAE,CAAC;gBAIrD,GAAG,CAAC,aAAa,CAAC,YAAY,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,YAAY,EAAE,CAAC;gBAOvE,GAAG,CAAC,aAAa,CAAC,UAAU,IAAI;oBAC/B,UAAU,EAAE,aAAa,CAAC,UAAU;iBACpC,CAAC;gBACF,GAAG,CAAC,aAAa,CAAC,SAAS,IAAI;oBAC9B,SAAS,EAAE,aAAa,CAAC,SAAS;iBAClC,CAAC;aACF;SACD,CAAC;QAEF,MAAM,QAAQ,GAA2B;YACxC,WAAW,EAAE,WAAW,CAAC,GAAG;YAC5B,aAAa,EAAE,eAAe,CAAC,UAAU;SACzC,CAAC;QAEF,OAAO,WAAW,CACjB,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,aAAa,EAClB,QAAQ,EACR,GAAG,EACH,IAAI,CAAC,MAAM,EACX,SAAS,CACT,CAAC;IACH,CAAC;IAoBD,KAAK,CAAC,8BAA8B,CACnC,WAAmB,EACnB,SAAiB,EACjB,OAAe,EACf,GAAwB,EACxB,EAAW,EACX,sBAA2C,EAC3C,KAAc,EACd,8BAA8B,GAAG,KAAK,EACtC,UAA6B,EAC7B,aAA8B,EAC9B,aAAa,GAAG,KAAK;QAErB,MAAM,WAAW,GAAG,CACnB,MAAc,EACwB,EAAE,CAAC,CAAC;YAC1C,QAAQ,EAAE,KAAK;YACf,MAAM;SACN,CAAC,CAAC;QAIH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;QAE5D,MAAM,eAAe,GACpB,MAAM,IAAI,CAAC,EAAE,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC;QAEzD,IAAI,CAAC,eAAe,EAAE,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;gBACnB,GAAG,EAAE,gCAAgC,SAAS,EAAE;aAChD,CAAC,CAAC,CAAC;YAEJ,OAAO,WAAW,CAAC,sCAAsC,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC9D,MAAM,IAAI,eAAe,CAAC,0BAA0B,EAAE;gBACrD,OAAO,EAAE;oBACR,IAAI,EAAE,GAAG;oBACT,cAAc,EAAE,IAAI,CAAC,8BAA8B,CAAC,IAAI;oBACxD,SAAS;iBACT;aACD,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,eAAe,CAAC,aAAa;YAChC,OAAO,WAAW,CAAC,2BAA2B,CAAC,CAAC;QAEjD,MAAM,oBAAoB,GAAG,eAAe,CAAC,WAAW,CAAC;QAEzD,IAAI,WAAW,KAAK,oBAAoB,EAAE,CAAC;YAC1C,MAAM,IAAI,eAAe,CAAC,sCAAsC,EAAE;gBACjE,OAAO,EAAE;oBACR,cAAc,EAAE,IAAI,CAAC,8BAA8B,CAAC,IAAI;oBACxD,WAAW;oBACX,oBAAoB;iBACpB;aACD,CAAC,CAAC;QACJ,CAAC;QAMD,MAAM,IAAI,CAAC,EAAE,CAAC,iCAAiC,CAAC;YAC/C,eAAe,CAAC,SAAS;SACzB,CAAC,CAAC;QAOH,MAAM,gBAAgB,GAA8B,EAAE,CAAC;QACvD,IAAI,UAAqC,CAAC;QAC1C,IAAI,UAA8B,CAAC;QAEnC,MAAM,WAAW,GAAG,eAAe,CAAC,oBAAoB,CAAC;QACzD,MAAM,gBAAgB,GACrB,WAAW,YAAY,IAAI;YAC1B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE;YACpC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAC7B,IAAI,gBAAgB,GAAG,OAAO,EAAE,CAAC;YAChC,UAAU,GAAG;gBACZ,MAAM,EAAE,aAAa,CAAC,WAAW;gBACjC,MAAM,EAAE,YAAY,CAAC,iBAAiB;aACtC,CAAC;YACF,UAAU,GAAG,uBAAuB,CAAC;QACtC,CAAC;QAGD,IAAI,CAAC,UAAU,IAAI,sBAAsB,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACJ,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC/C,sBAAsB,EACtB,eAAe,EACf,eAAe,CAAC,WAAW,EAC3B,eAAe,CAAC,OAAO,EACvB,eAAe,CAAC,MAAM,EACtB,eAAe,CAAC,MAAM,EAAE,OAAO;oBAC9B,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW;oBACpC,CAAC,CAAC,SAAS,EACZ,eAAe,CAAC,MAAM,EAAE,OAAO;oBAC9B,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS;oBAClC,CAAC,CAAC,SAAS,CACZ,CAAC;gBAEF,IAAI,WAAW,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;wBAClB,GAAG,EAAE,0DAA0D;wBAC/D,IAAI,EAAE;4BACL,WAAW,EAAE,eAAe,CAAC,WAAW;4BACxC,MAAM,EAAE,WAAW;yBACnB;qBACD,CAAC,CAAC,CAAC;oBACJ,UAAU,GAAG;wBACZ,MAAM,EAAE,aAAa,CAAC,WAAW;wBACjC,MAAM,EAAE,YAAY,CAAC,mBAAmB;qBACxC,CAAC;oBACF,UAAU,GAAG,yBAAyB,CAAC;gBACxC,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAClB,GAAG,EAAE,iEAAiE;oBACtE,KAAK;iBACL,CAAC,CAAC,CAAC;YACL,CAAC;QACF,CAAC;QAGD,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,8BAA8B,EAAE,CAAC;YAC5D,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAChD,IAAI,MAAM,EAAE,CAAC;oBACZ,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;oBACrD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;wBAClB,GAAG,EAAE,uDAAuD;wBAC5D,IAAI,EAAE,EAAE,WAAW,EAAE;qBACrB,CAAC,CAAC,CAAC;oBACJ,UAAU,GAAG;wBACZ,MAAM,EAAE,aAAa,CAAC,WAAW;wBACjC,MAAM,EAAE,YAAY,CAAC,iBAAiB;qBACtC,CAAC;oBACF,UAAU,GAAG,uBAAuB,CAAC;gBACtC,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAClB,GAAG,EAAE,8DAA8D;oBACnE,KAAK;iBACL,CAAC,CAAC,CAAC;YACL,CAAC;QACF,CAAC;QAGD,IACC,CAAC,UAAU;YACX,UAAU,EAAE,OAAO;YACnB,UAAU,CAAC,UAAU,EAAE,OAAO;YAC9B,KAAK,EACJ,CAAC;YACF,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;YACpE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAClB,GAAG,EAAE,gDAAgD;oBACrD,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;iBAC/B,CAAC,CAAC,CAAC;gBACJ,UAAU,GAAG;oBACZ,MAAM,EAAE,aAAa,CAAC,WAAW;oBACjC,MAAM,EAAE,YAAY,CAAC,eAAe;iBACpC,CAAC;gBACF,UAAU,GAAG,qBAAqB,CAAC;YACpC,CAAC;QACF,CAAC;QAMD,MAAM,uBAAuB,GAC5B,UAAU,EAAE,OAAO,IAAI,UAAU,CAAC,UAAU,EAAE,OAAO;YACpD,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,uBAAuB;YAC/C,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,eAAmC,CAAC;QACxC,IACC,CAAC,UAAU;YACX,uBAAuB,KAAK,SAAS;YACrC,KAAK;YACL,aAAa,EACZ,CAAC;YACF,eAAe,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;YACnD,IAAI,eAAe,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACJ,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,iCAAiC,CACjE,WAAW,EACX,eAAe,CACf,CAAC;oBACF,IAAI,UAAU,IAAI,uBAAuB,EAAE,CAAC;wBAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;4BAClB,GAAG,EAAE,qDAAqD;4BAC1D,IAAI,EAAE,EAAE,UAAU,EAAE,uBAAuB,EAAE;yBAC7C,CAAC,CAAC,CAAC;wBACJ,UAAU,GAAG;4BACZ,MAAM,EAAE,aAAa,CAAC,WAAW;4BACjC,MAAM,EAAE,YAAY,CAAC,yBAAyB;yBAC9C,CAAC;wBACF,UAAU,GAAG,+BAA+B,CAAC;oBAC9C,CAAC;gBACF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;wBAClB,GAAG,EAAE,4DAA4D;wBACjE,KAAK;qBACL,CAAC,CAAC,CAAC;gBACL,CAAC;YACF,CAAC;QACF,CAAC;QAED,MAAM,aAAa,GAAG,eAAe,CAAC,SAAS;YAC9C,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,2BAA2B,CAAC,eAAe,CAAC,SAAS,CAAC;YACtE,CAAC,CAAC,SAAS,CAAC;QAEb,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAC5C,aAAa,EAAE,QAAQ,EACvB,GAAG,CAAC,aAAa,EACjB,EAAE,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,CAChC,CAAC;QAEF,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,yBAAyB,CACjD,GAAG,EACH,eAAe,CAAC,MAAM,EACtB,aAAa,EACb,EAAE,EACF,gBAAgB,CAChB,CAAC;YACF,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAClB,GAAG,EAAE,qDAAqD;oBAC1D,IAAI,EAAE;wBACL,EAAE;wBACF,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,SAAS,EAAE,gBAAgB,EAAE,MAAM;wBACnC,aAAa,EAAE,gBAAgB,EAAE,UAAU;wBAC3C,UAAU,EAAE,YAAY,CAAC,gBAAgB,EAAE,UAAU,CAAC;wBACtD,cAAc,EAAE,YAAY,CAAC,gBAAgB,EAAE,cAAc,CAAC;wBAC9D,YAAY,EAAE,gBAAgB,EAAE,SAAS;qBACzC;iBACD,CAAC,CAAC,CAAC;gBACJ,UAAU,GAAG;oBACZ,MAAM,EAAE,aAAa,CAAC,WAAW;oBACjC,MAAM,EAAE,KAAK,CAAC,MAAM;iBACpB,CAAC;gBACF,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;YAC3B,CAAC;QACF,CAAC;QAMD,IAAI,aAAa,IAAI,KAAK,EAAE,CAAC;YAC5B,gBAAgB,CAAC,QAAQ,GAAG;gBAC3B,KAAK;gBACL,eAAe,EAAE,eAAe,IAAI,yBAAyB,CAAC,KAAK,CAAC;aACpE,CAAC;QACH,CAAC;QAGD,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YACvB,MAAM,kBAAkB,GAAG,yBAAyB,CACnD,eAAe,CAAC,SAAS,CACzB,CAAC;YAGF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAChE,MAAM,iBAAiB,GAAG,YAAY,EAAE,QAAQ,EAAE,iBAAiB,CAAC;YAGpE,gBAAgB,CAAC,UAAU,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAC;YAExD,IAAI,iBAAiB,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;gBACzC,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAC/C,EAAE,EACF,kBAAkB,EAClB,MAAM,EACN,GAAG,CAAC,aAAa,EACjB,iBAAiB,EACjB,gBAAgB,EAAE,MAAM,CACxB,CAAC;gBAEF,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;oBAC3B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;wBACnB,GAAG,EAAE,sCAAsC;wBAC3C,IAAI,EAAE;4BACL,EAAE;4BACF,WAAW,EAAE,kBAAkB,CAAC,OAAO;4BACvC,KAAK,EAAE,YAAY,CAAC,YAAY;4BAChC,UAAU,EAAE,YAAY,CAAC,UAAU;yBACnC;qBACD,CAAC,CAAC,CAAC;oBACJ,UAAU,GAAG;wBACZ,MAAM,EAAE,aAAa,CAAC,WAAW;wBACjC,MAAM,EAAE,YAAY,CAAC,oBAAoB;qBACzC,CAAC;oBACF,UAAU,GAAG,0BAA0B,CAAC;gBACzC,CAAC;YACF,CAAC;QACF,CAAC;QAED,IAAI,KAAyB,CAAC;QAC9B,IAAI,aAAa,EAAE,CAAC;YACnB,MAAM,YAAY,GAAG,mBAAmB,CACvC,gBAAgB,EAChB,eAAe,CAAC,MAAM,EACtB,aAAa,CACb,CAAC;YACF,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACtB,aAAa,CAAC,eAAe,GAAG;oBAC/B,GAAG,aAAa,CAAC,eAAe;oBAChC,YAAY;iBACZ,CAAC;YACH,CAAC;YACD,KAAK,GAAG,wBAAwB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YACjE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBAClB,IAAI,EAAE;oBACL,eAAe,EAAE,EAAE,GAAG,CAAC,aAAa,EAAE,eAAe,IAAI,EAAE,CAAC,EAAE;oBAC9D,KAAK;oBACL,UAAU,EAAE,YAAY,CAAC,gBAAgB,EAAE,UAAU,CAAC;oBACtD,cAAc,EAAE,YAAY,CAAC,gBAAgB,EAAE,cAAc,CAAC;iBAC9D;aACD,CAAC,CAAC,CAAC;QACL,CAAC;QAGD,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,IAAI,CAAC;gBACJ,MAAM,aAAa,GAAyB;oBAC3C,WAAW,EAAE,eAAe,CAAC,WAAW;oBACxC,WAAW,EAAE,eAAe,CAAC,WAAW;oBACxC,aAAa,EAAE,QAAQ;oBACvB,OAAO,EAAE,eAAe,CAAC,OAAO;oBAChC,WAAW,EAAE,WAAW,CAAC,GAAG;oBAC5B,oBAAoB,EAAE,eAAe,CAAC,oBAAoB;oBAC1D,gBAAgB,EAAE,eAAe,CAAC,gBAAgB;oBAClD,WAAW,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO;wBAC3C,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW;wBACpC,CAAC,CAAC,SAAS;oBACZ,MAAM,EAAE,eAAe,CAAC,MAAM;oBAC9B,QAAQ,EAAE,gBAAgB;oBAC1B,KAAK;oBACL,SAAS,EAAE,aAAa,EAAE,SAAS;oBACnC,eAAe,EAAE,aAAa,EAAE,eAAe;oBAC/C,iBAAiB,EAAE,aAAa,EAAE,iBAAiB;oBACnD,iBAAiB,EAAE,aAAa,EAAE,iBAAiB;oBACnD,YAAY,EAAE,aAAa,EAAE,YAAY;oBACzC,kBAAkB,EAAE,aAAa,EAAE,MAAM;oBACzC,QAAQ,EAAE,aAAa,EAAE,QAAQ;oBACjC,OAAO,EAAE,aAAa,EAAE,OAAO;oBAC/B,MAAM,EAAE,aAAa,EAAE,MAAM;oBAC7B,MAAM,EAAE,eAAe,CAAC,MAAM;iBAC9B,CAAC;gBAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CACvD,aAAa,EACb,MAAM,CACN,CAAC;gBAEF,IAAI,QAAQ,CAAC,QAAQ,KAAK,uBAAuB,CAAC,IAAI,EAAE,CAAC;oBACxD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;wBAClB,GAAG,EAAE,4DAA4D;wBACjE,IAAI,EAAE;4BACL,WAAW,EAAE,eAAe,CAAC,WAAW;4BACxC,MAAM,EAAE,QAAQ,CAAC,MAAM;4BACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;4BACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;yBACnB;qBACD,CAAC,CAAC,CAAC;oBAMJ,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,MAAM;wBAChC,YAAY,CAAC,+BAA+B,CAAiB,CAAC;oBAC/D,UAAU,GAAG;wBACZ,MAAM,EAAE,aAAa,CAAC,WAAW;wBACjC,MAAM,EAAE,QAAQ;qBAChB,CAAC;oBACF,UAAU,GAAG,QAAQ,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACP,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;wBACnB,GAAG,EAAE,sCAAsC;wBAC3C,IAAI,EAAE;4BACL,MAAM,EAAE,QAAQ,CAAC,MAAM;4BACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;4BACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;yBACnB;qBACD,CAAC,CAAC,CAAC;gBACL,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;oBACnB,GAAG,EAAE,2DAA2D;oBAChE,GAAG,EAAE,KAAK;iBACV,CAAC,CAAC,CAAC;YAEL,CAAC;QACF,CAAC;QAGD,MAAM,WAAW,GAAkB,UAAU,IAAI;YAChD,MAAM,EAAE,aAAa,CAAC,QAAQ;SAC9B,CAAC;QACF,IAAI,UAAU,EAAE,CAAC;YAChB,gBAAgB,CAAC,MAAM,GAAG,UAAU,CAAC;QACtC,CAAC;QAGD,MAAM,aAAa,GAAoB,EAAE,CAAC;QAE1C,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,aAAa,CAAC,IAAI,CACjB,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAC7B,eAAe,CAAC,SAAS,EACzB,gBAAgB,CAChB,CACD,CAAC;QACH,CAAC;QAED,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC;YAC/B,aAAa,CAAC,IAAI,CACjB,IAAI,CAAC,4BAA4B,CAChC,eAAe,CAAC,SAAS,EACzB;gBACC,aAAa,EAAE,IAAI;gBACnB,MAAM,EAAE,WAAW;aACnB,EACD,IAAI,CACJ,CACD,CAAC;QACH,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YAChB,OAAO,WAAW,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACxD,CAAC;CACD"}
@@ -1,6 +1,6 @@
1
1
  import type { Logger } from "@prosopo/logger";
2
2
  import type { KeyringPair, ProsopoConfigOutput } from "@prosopo/types";
3
- import { type ClientMetaData, type IPAddress, type ITrafficFilter, type PoWChallengeId, type PuzzleEvent, type RequestHeaders } from "@prosopo/types";
3
+ import { type ClientMetaData, type IPAddress, type ISpamFilterRules, type ITrafficFilter, type PoWChallengeId, type PuzzleEvent, type RequestHeaders } from "@prosopo/types";
4
4
  import type { IProviderDatabase } from "@prosopo/types-database";
5
5
  import type { ProviderEnvironment } from "@prosopo/types-env";
6
6
  import type { AccessRulesStorage } from "@prosopo/user-access-policy";
@@ -23,7 +23,7 @@ export declare class PuzzleCaptchaManager extends CaptchaManager {
23
23
  constructor(db: IProviderDatabase, pair: KeyringPair, config: ProsopoConfigOutput, logger?: Logger, usageCounters?: UsageCounters | null);
24
24
  getPuzzleCaptchaChallenge(userAccount: string, dappAccount: string, origin: string, tolerance?: number): Promise<PuzzleCaptchaChallenge>;
25
25
  verifyPuzzleCaptchaSolution(challenge: PoWChallengeId, providerChallengeSignature: string, finalX: number, finalY: number, puzzleEvents: PuzzleEvent[], timeout: number, userTimestampSignature: string, ipAddress: IPAddress, headers: RequestHeaders, behavioralData?: string, salt?: string, simdReadings?: string, clientMetaData?: ClientMetaData): Promise<boolean>;
26
- serverVerifyPuzzleCaptchaSolution(dappAccount: string, challenge: string, timeout: number, env: ProviderEnvironment, ip?: string, userAccessRulesStorage?: AccessRulesStorage, email?: string, spamEmailDomainCheckingEnabled?: boolean, trafficFilter?: ITrafficFilter, storeMetadata?: boolean): Promise<{
26
+ serverVerifyPuzzleCaptchaSolution(dappAccount: string, challenge: string, timeout: number, env: ProviderEnvironment, ip?: string, userAccessRulesStorage?: AccessRulesStorage, email?: string, spamEmailDomainCheckingEnabled?: boolean, spamFilter?: ISpamFilterRules, trafficFilter?: ITrafficFilter, storeMetadata?: boolean): Promise<{
27
27
  verified: boolean;
28
28
  score?: number;
29
29
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"puzzleTasks.d.ts","sourceRoot":"","sources":["../../../src/tasks/puzzleCaptcha/puzzleTasks.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAMvE,OAAO,EAKN,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,cAAc,EAEnB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,cAAc,EAInB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAYtE,OAAO,EACN,KAAK,aAAa,EAElB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAWtD,UAAU,sBAAsB;IAC/B,SAAS,EAAE,cAAc,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,oBAAqB,SAAQ,cAAc;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuB;gBAGpD,EAAE,EAAE,iBAAiB,EACrB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,mBAAmB,EAC3B,MAAM,CAAC,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI;IAgB/B,yBAAyB,CAC9B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,sBAAsB,CAAC;IA6C5B,2BAA2B,CAChC,SAAS,EAAE,cAAc,EACzB,0BAA0B,EAAE,MAAM,EAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,WAAW,EAAE,EAC3B,OAAO,EAAE,MAAM,EACf,sBAAsB,EAAE,MAAM,EAC9B,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,cAAc,EACvB,cAAc,CAAC,EAAE,MAAM,EACvB,IAAI,CAAC,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,EACrB,cAAc,CAAC,EAAE,cAAc,GAC7B,OAAO,CAAC,OAAO,CAAC;IA4Pb,iCAAiC,CACtC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,mBAAmB,EACxB,EAAE,CAAC,EAAE,MAAM,EACX,sBAAsB,CAAC,EAAE,kBAAkB,EAC3C,KAAK,CAAC,EAAE,MAAM,EACd,8BAA8B,UAAQ,EACtC,aAAa,CAAC,EAAE,cAAc,EAC9B,aAAa,UAAQ,GACnB,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAmXjD"}
1
+ {"version":3,"file":"puzzleTasks.d.ts","sourceRoot":"","sources":["../../../src/tasks/puzzleCaptcha/puzzleTasks.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAMvE,OAAO,EAKN,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAEnB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,cAAc,EAInB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAYtE,OAAO,EACN,KAAK,aAAa,EAElB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAYtD,UAAU,sBAAsB;IAC/B,SAAS,EAAE,cAAc,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,oBAAqB,SAAQ,cAAc;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuB;gBAGpD,EAAE,EAAE,iBAAiB,EACrB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,mBAAmB,EAC3B,MAAM,CAAC,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI;IAgB/B,yBAAyB,CAC9B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,sBAAsB,CAAC;IA6C5B,2BAA2B,CAChC,SAAS,EAAE,cAAc,EACzB,0BAA0B,EAAE,MAAM,EAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,WAAW,EAAE,EAC3B,OAAO,EAAE,MAAM,EACf,sBAAsB,EAAE,MAAM,EAC9B,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,cAAc,EACvB,cAAc,CAAC,EAAE,MAAM,EACvB,IAAI,CAAC,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,EACrB,cAAc,CAAC,EAAE,cAAc,GAC7B,OAAO,CAAC,OAAO,CAAC;IA8Pb,iCAAiC,CACtC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,mBAAmB,EACxB,EAAE,CAAC,EAAE,MAAM,EACX,sBAAsB,CAAC,EAAE,kBAAkB,EAC3C,KAAK,CAAC,EAAE,MAAM,EACd,8BAA8B,UAAQ,EACtC,UAAU,CAAC,EAAE,gBAAgB,EAC7B,aAAa,CAAC,EAAE,cAAc,EAC9B,aAAa,UAAQ,GACnB,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CA6ZjD"}
@@ -5,6 +5,7 @@ import { computeDnsAsymmetry, enrichDnsEvent, getIpInfoAsn } from "../dnsEvent/e
5
5
  import { CaptchaManager } from "../captchaManager.js";
6
6
  import { deepValidateIpAddress } from "../../util.js";
7
7
  import { computeFrictionlessScore } from "../frictionless/frictionlessTasksUtils.js";
8
+ import { normaliseEmailForMatching } from "../spam/evaluateEmailSpamRules.js";
8
9
  import { checkPowSignature } from "../powCaptcha/powTasksUtils.js";
9
10
  import { validatePuzzleSolution } from "./puzzleTasksUtils.js";
10
11
  import { ProsopoApiError, ProsopoEnvError } from "@prosopo/common";
@@ -124,8 +125,8 @@ var PuzzleCaptchaManager = class extends CaptchaManager {
124
125
  this.usageCounters.incrManyAsync(dappAccount, buildAllWindowIncrements("solved", CaptchaType.puzzle, ipAddress.address, userAccount));
125
126
  }
126
127
  if (behavioralData) try {
127
- const decryptKeys = [...await this.getDetectorKeys(), process.env.BOT_DECRYPTION_KEY];
128
- const decryptedData = await this.decryptBehavioralData(behavioralData, decryptKeys);
128
+ const bundle = await this.resolveBundleBySessionId(challengeRecord.sessionId);
129
+ const decryptedData = await this.decryptBehavioralData(behavioralData, bundle);
129
130
  if (decryptedData) {
130
131
  const dappAccount = at(challengeSplit, 2);
131
132
  this.logger?.info(() => ({
@@ -184,11 +185,12 @@ var PuzzleCaptchaManager = class extends CaptchaManager {
184
185
  * @param userAccessRulesStorage - storage for querying user access policies
185
186
  * @param email
186
187
  * @param spamEmailDomainCheckingEnabled
188
+ * @param spamFilter
187
189
  * @param trafficFilter
188
190
  * @param storeMetadata - when true, persists the dapp-server-provided
189
191
  * `email` on the captcha record for spam-rate analysis.
190
192
  */
191
- async serverVerifyPuzzleCaptchaSolution(dappAccount, challenge, timeout, env, ip, userAccessRulesStorage, email, spamEmailDomainCheckingEnabled = false, trafficFilter, storeMetadata = false) {
193
+ async serverVerifyPuzzleCaptchaSolution(dappAccount, challenge, timeout, env, ip, userAccessRulesStorage, email, spamEmailDomainCheckingEnabled = false, spamFilter, trafficFilter, storeMetadata = false) {
192
194
  const notVerifiedResponse = { verified: false };
193
195
  const logger = this.logger.with({
194
196
  challenge,
@@ -274,6 +276,33 @@ var PuzzleCaptchaManager = class extends CaptchaManager {
274
276
  error
275
277
  }));
276
278
  }
279
+ const maxEmailSubmissionCount = spamFilter?.enabled && spamFilter.emailRules?.enabled ? spamFilter.emailRules.maxEmailSubmissionCount : void 0;
280
+ let emailNormalised;
281
+ if (maxEmailSubmissionCount !== void 0 && email && storeMetadata) {
282
+ emailNormalised = normaliseEmailForMatching(email);
283
+ if (emailNormalised) try {
284
+ const priorCount = await this.db.countCommitmentsByNormalisedEmail(dappAccount, emailNormalised);
285
+ if (priorCount >= maxEmailSubmissionCount) {
286
+ logger.info(() => ({
287
+ msg: "Email submission count exceeded in server puzzle verification",
288
+ data: {
289
+ priorCount,
290
+ maxEmailSubmissionCount
291
+ }
292
+ }));
293
+ await this.db.updatePuzzleCaptchaRecord(challengeRecord.challenge, { result: {
294
+ status: CaptchaStatus.disapproved,
295
+ reason: ResultReason.SPAM_EMAIL_COUNT_EXCEEDED
296
+ } });
297
+ return notVerifiedResponse;
298
+ }
299
+ } catch (error) {
300
+ logger.warn(() => ({
301
+ msg: "Failed to check email submission count in server puzzle verification",
302
+ error
303
+ }));
304
+ }
305
+ }
277
306
  const sessionRecord = challengeRecord.sessionId ? await this.db.getSessionRecordBySessionId(challengeRecord.sessionId) : void 0;
278
307
  const enrichedDnsEvent = await enrichDnsEvent(sessionRecord?.dnsEvent, env.ipInfoService, ip ?? challengeRecord.ipInfo?.ip);
279
308
  {
@@ -303,7 +332,10 @@ var PuzzleCaptchaManager = class extends CaptchaManager {
303
332
  return notVerifiedResponse;
304
333
  }
305
334
  }
306
- if (storeMetadata && email) await this.db.updatePuzzleCaptchaRecord(challengeRecord.challenge, { metadata: { email } });
335
+ if (storeMetadata && email) await this.db.updatePuzzleCaptchaRecord(challengeRecord.challenge, { metadata: {
336
+ email,
337
+ emailNormalised: emailNormalised ?? normaliseEmailForMatching(email)
338
+ } });
307
339
  if (ip) {
308
340
  const challengeIpAddress = getIpAddressFromComposite(challengeRecord.ipAddress);
309
341
  const ipValidationRules = (await this.db.getClientRecord(dappAccount))?.settings?.ipValidationRules;
@@ -1 +1 @@
1
- {"version":3,"file":"puzzleTasks.js","sourceRoot":"","sources":["../../../src/tasks/puzzleCaptcha/puzzleTasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"puzzleTasks.js","sourceRoot":"","sources":["../../../src/tasks/puzzleCaptcha/puzzleTasks.ts"],"names":[],"mappings":"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"}
@@ -12,5 +12,6 @@ export declare const DEFAULT_EMAIL_SPAM_PATTERNS: {
12
12
  pattern: RegExp;
13
13
  }[];
14
14
  export declare const normaliseGmailAddress: (email: string) => string;
15
+ export declare const normaliseEmailForMatching: (email: string) => string;
15
16
  export declare const evaluateEmailSpamRules: (email: string | undefined, rules: IEmailSpamRules | undefined) => EmailSpamResult;
16
17
  //# sourceMappingURL=evaluateEmailSpamRules.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"evaluateEmailSpamRules.d.ts","sourceRoot":"","sources":["../../../src/tasks/spam/evaluateEmailSpamRules.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,eAAe,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEpE,MAAM,MAAM,eAAe,GACxB,YAAY,CAAC,aAAa,GAC1B,YAAY,CAAC,mBAAmB,GAChC,YAAY,CAAC,6BAA6B,GAC1C,YAAY,CAAC,4BAA4B,CAAC;AAE7C,MAAM,MAAM,eAAe,GACxB;IAAE,MAAM,EAAE,KAAK,CAAA;CAAE,GACjB;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,eAAe,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAM/D,eAAO,MAAM,2BAA2B,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAazE,CAAC;AAkBH,eAAO,MAAM,qBAAqB,UAAW,MAAM,KAAG,MAQrD,CAAC;AA8BF,eAAO,MAAM,sBAAsB,UAC3B,MAAM,GAAG,SAAS,SAClB,eAAe,GAAG,SAAS,KAChC,eA6CF,CAAC"}
1
+ {"version":3,"file":"evaluateEmailSpamRules.d.ts","sourceRoot":"","sources":["../../../src/tasks/spam/evaluateEmailSpamRules.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,eAAe,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEpE,MAAM,MAAM,eAAe,GACxB,YAAY,CAAC,aAAa,GAC1B,YAAY,CAAC,mBAAmB,GAChC,YAAY,CAAC,6BAA6B,GAC1C,YAAY,CAAC,4BAA4B,CAAC;AAE7C,MAAM,MAAM,eAAe,GACxB;IAAE,MAAM,EAAE,KAAK,CAAA;CAAE,GACjB;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,eAAe,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAM/D,eAAO,MAAM,2BAA2B,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAazE,CAAC;AAkBH,eAAO,MAAM,qBAAqB,UAAW,MAAM,KAAG,MAQrD,CAAC;AAgBF,eAAO,MAAM,yBAAyB,UAAW,MAAM,KAAG,MAazD,CAAC;AA8BF,eAAO,MAAM,sBAAsB,UAC3B,MAAM,GAAG,SAAS,SAClB,eAAe,GAAG,SAAS,KAChC,eA6CF,CAAC"}
@@ -28,6 +28,28 @@ var normaliseGmailAddress = (email) => {
28
28
  if (!GMAIL_DOMAINS.has(parts.domain)) return `${parts.local}@${parts.domain}`;
29
29
  return `${parts.local.replace(/\./g, "").split("+")[0] ?? ""}@gmail.com`;
30
30
  };
31
+ /**
32
+ * Normalises an email for equality-based rate-limit matching:
33
+ * - lowercases and trims
34
+ * - strips `+tag` from the local part for every domain (RFC 5233
35
+ * subaddressing is widely honoured — Gmail, Fastmail, iCloud, Outlook,
36
+ * ProtonMail — and rotating `+tag` suffixes is the cheapest evasion
37
+ * against per-address rate limits)
38
+ * - additionally removes dots from the local part for gmail /
39
+ * googlemail (Gmail is the only major provider that treats dots as
40
+ * insignificant)
41
+ *
42
+ * Returns the input trimmed/lowercased if it cannot be split into
43
+ * local@domain. Never returns an empty string for a non-empty input.
44
+ */
45
+ var normaliseEmailForMatching = (email) => {
46
+ const parts = splitEmail(email);
47
+ if (!parts) return email.trim().toLowerCase();
48
+ const beforePlus = parts.local.split("+")[0];
49
+ const withoutPlusTag = beforePlus ? beforePlus : parts.local;
50
+ if (GMAIL_DOMAINS.has(parts.domain)) return `${withoutPlusTag.replace(/\./g, "") || withoutPlusTag}@gmail.com`;
51
+ return `${withoutPlusTag}@${parts.domain}`;
52
+ };
31
53
  var countDots = (s) => {
32
54
  let n = 0;
33
55
  for (const c of s) if (c === ".") n += 1;
@@ -78,4 +100,4 @@ var evaluateEmailSpamRules = (email, rules) => {
78
100
  return { isSpam: false };
79
101
  };
80
102
  //#endregion
81
- export { DEFAULT_EMAIL_SPAM_PATTERNS, evaluateEmailSpamRules, normaliseGmailAddress };
103
+ export { DEFAULT_EMAIL_SPAM_PATTERNS, evaluateEmailSpamRules, normaliseEmailForMatching, normaliseGmailAddress };
@@ -1 +1 @@
1
- {"version":3,"file":"evaluateEmailSpamRules.js","sourceRoot":"","sources":["../../../src/tasks/spam/evaluateEmailSpamRules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluateEmailSpamRules.js","sourceRoot":"","sources":["../../../src/tasks/spam/evaluateEmailSpamRules.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { ProviderEnvironment } from "@prosopo/env";
2
2
  import { Tasks } from "@prosopo/provider";
3
- import { CaptchaType, ContextType, DatabaseTypes, IPValidationAction, ProsopoConfigSchema, Tier, } from "@prosopo/types";
3
+ import { CaptchaType, ContextType, DatabaseTypes, EncodingType, IPValidationAction, ProsopoConfigSchema, Tier, } from "@prosopo/types";
4
4
  import { GenericContainer } from "testcontainers";
5
5
  import { afterAll, beforeAll, describe, expect, it } from "vitest";
6
6
  const FULLY_POPULATED_SETTINGS = {
@@ -65,6 +65,7 @@ const FULLY_POPULATED_SETTINGS = {
65
65
  normaliseGmail: true,
66
66
  useDefaultPatterns: true,
67
67
  customRegexBlocklist: ["^test\\+spam@", "^throwaway-"],
68
+ maxEmailSubmissionCount: 5,
68
69
  },
69
70
  },
70
71
  trafficFilter: {
@@ -75,12 +76,18 @@ const FULLY_POPULATED_SETTINGS = {
75
76
  abuserScoreThreshold: 0.33,
76
77
  blockDatacenter: true,
77
78
  datacenterNameAllowlist: ["iCloud Private Relay"],
79
+ datacenterNameDenylist: ["ScrapyIPLeaser"],
78
80
  skipExtrasOnValidDnsPath: true,
79
81
  blockMobile: false,
80
82
  blockSatellite: true,
81
83
  blockCrawler: true,
82
84
  },
83
85
  storeMetadata: true,
86
+ honeypot: {
87
+ enabled: true,
88
+ question: "What is 2 + 2?",
89
+ encodingType: EncodingType.semaphore,
90
+ },
84
91
  };
85
92
  describe("Client settings Mongo persistence", () => {
86
93
  let mongoContainer;
@@ -163,6 +170,11 @@ describe("Client settings Mongo persistence", () => {
163
170
  expect(stored.contextAware).toMatchObject(FULLY_POPULATED_SETTINGS.contextAware);
164
171
  expect(stored.ipValidationRules).toMatchObject(FULLY_POPULATED_SETTINGS.ipValidationRules);
165
172
  expect(stored.spamFilter).toMatchObject(FULLY_POPULATED_SETTINGS.spamFilter);
173
+ expect(stored.spamFilter?.emailRules?.maxLocalPartDots).toBe(FULLY_POPULATED_SETTINGS.spamFilter.emailRules.maxLocalPartDots);
174
+ expect(stored.spamFilter?.emailRules?.normaliseGmail).toBe(FULLY_POPULATED_SETTINGS.spamFilter.emailRules.normaliseGmail);
175
+ expect(stored.spamFilter?.emailRules?.useDefaultPatterns).toBe(FULLY_POPULATED_SETTINGS.spamFilter.emailRules.useDefaultPatterns);
176
+ expect(stored.spamFilter?.emailRules?.customRegexBlocklist).toEqual(FULLY_POPULATED_SETTINGS.spamFilter.emailRules.customRegexBlocklist);
177
+ expect(stored.spamFilter?.emailRules?.maxEmailSubmissionCount).toBe(FULLY_POPULATED_SETTINGS.spamFilter.emailRules.maxEmailSubmissionCount);
166
178
  const trafficFilter = stored.trafficFilter;
167
179
  expect(trafficFilter).toBeDefined();
168
180
  if (!trafficFilter)
@@ -174,10 +186,20 @@ describe("Client settings Mongo persistence", () => {
174
186
  expect(trafficFilter.abuserScoreThreshold).toBe(FULLY_POPULATED_SETTINGS.trafficFilter.abuserScoreThreshold);
175
187
  expect(trafficFilter.blockDatacenter).toBe(FULLY_POPULATED_SETTINGS.trafficFilter.blockDatacenter);
176
188
  expect(trafficFilter.datacenterNameAllowlist).toEqual(FULLY_POPULATED_SETTINGS.trafficFilter.datacenterNameAllowlist);
189
+ expect(trafficFilter.datacenterNameDenylist).toEqual(FULLY_POPULATED_SETTINGS.trafficFilter.datacenterNameDenylist);
177
190
  expect(trafficFilter.skipExtrasOnValidDnsPath).toBe(FULLY_POPULATED_SETTINGS.trafficFilter.skipExtrasOnValidDnsPath);
178
191
  expect(trafficFilter.blockMobile).toBe(FULLY_POPULATED_SETTINGS.trafficFilter.blockMobile);
179
192
  expect(trafficFilter.blockSatellite).toBe(FULLY_POPULATED_SETTINGS.trafficFilter.blockSatellite);
180
193
  expect(trafficFilter.blockCrawler).toBe(FULLY_POPULATED_SETTINGS.trafficFilter.blockCrawler);
194
+ const honeypot = stored.honeypot;
195
+ expect(honeypot).toBeDefined();
196
+ if (!honeypot)
197
+ return;
198
+ expect(honeypot.enabled).toBe(FULLY_POPULATED_SETTINGS.honeypot.enabled);
199
+ expect(honeypot.question).toBe(FULLY_POPULATED_SETTINGS.honeypot.question);
200
+ expect(honeypot.encodingType).toBe(FULLY_POPULATED_SETTINGS.honeypot.encodingType);
201
+ expect(stored.verifiedTimeout).toBe(FULLY_POPULATED_SETTINGS.verifiedTimeout);
202
+ expect(stored.solutionTimeout).toBe(FULLY_POPULATED_SETTINGS.solutionTimeout);
181
203
  }, 60_000);
182
204
  });
183
205
  //# sourceMappingURL=clientSettingsPersistence.integration.test.js.map