@prosopo/provider 0.2.25 → 0.2.29

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 (34) hide show
  1. package/dist/api/captcha.d.ts.map +1 -1
  2. package/dist/api/captcha.js +19 -12
  3. package/dist/api/captcha.js.map +1 -1
  4. package/dist/batch/commitments.d.ts.map +1 -1
  5. package/dist/batch/commitments.js +3 -2
  6. package/dist/batch/commitments.js.map +1 -1
  7. package/dist/cjs/api/captcha.cjs +20 -13
  8. package/dist/cjs/batch/commitments.cjs +2 -1
  9. package/dist/cjs/tasks/calculateSolutions.cjs +1 -1
  10. package/dist/cjs/tasks/tasks.cjs +74 -55
  11. package/dist/cjs/util.cjs +2 -2
  12. package/dist/tasks/calculateSolutions.d.ts.map +1 -1
  13. package/dist/tasks/calculateSolutions.js +1 -1
  14. package/dist/tasks/calculateSolutions.js.map +1 -1
  15. package/dist/tasks/tasks.d.ts +2 -0
  16. package/dist/tasks/tasks.d.ts.map +1 -1
  17. package/dist/tasks/tasks.js +73 -20
  18. package/dist/tasks/tasks.js.map +1 -1
  19. package/dist/tests/dataUtils/DatabasePopulator.d.ts.map +1 -1
  20. package/dist/tests/dataUtils/DatabasePopulator.js +4 -4
  21. package/dist/tests/dataUtils/DatabasePopulator.js.map +1 -1
  22. package/dist/tests/dataUtils/funds.d.ts.map +1 -1
  23. package/dist/tests/dataUtils/funds.js +4 -6
  24. package/dist/tests/dataUtils/funds.js.map +1 -1
  25. package/dist/tests/dataUtils/populateDatabase.d.ts.map +1 -1
  26. package/dist/tests/dataUtils/populateDatabase.js +7 -5
  27. package/dist/tests/dataUtils/populateDatabase.js.map +1 -1
  28. package/dist/tests/tasks/tasks.test.d.ts.map +1 -1
  29. package/dist/tests/tasks/tasks.test.js +4 -4
  30. package/dist/tests/tasks/tasks.test.js.map +1 -1
  31. package/dist/util.d.ts.map +1 -1
  32. package/dist/util.js +3 -3
  33. package/dist/util.js.map +1 -1
  34. package/package.json +10 -10
@@ -1 +1 @@
1
- {"version":3,"file":"captcha.d.ts","sourceRoot":"","sources":["../../src/api/captcha.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAKxD,OAAgB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAQzC,wBAAgB,aAAa,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAoK9D"}
1
+ {"version":3,"file":"captcha.d.ts","sourceRoot":"","sources":["../../src/api/captcha.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAKxD,OAAgB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAQzC,wBAAgB,aAAa,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAmK9D"}
@@ -15,7 +15,9 @@ export function prosopoRouter(env) {
15
15
  const { blockNumber, datasetId, user, dapp } = CaptchaRequestBody.parse(req.params);
16
16
  const api = env.api;
17
17
  if (api === undefined) {
18
- throw new Error('api not setup');
18
+ throw new ProsopoApiError('DEVELOPER.METHOD_NOT_IMPLEMENTED', {
19
+ context: { error: 'api not setup', env },
20
+ });
19
21
  }
20
22
  validateAddress(user, false, api.registry.chainSS58);
21
23
  const blockNumberParsed = parseBlockNumber(blockNumber);
@@ -34,7 +36,7 @@ export function prosopoRouter(env) {
34
36
  return res.json(captchaResponse);
35
37
  }
36
38
  catch (err) {
37
- return next(new ProsopoApiError(err, undefined, 400));
39
+ return next(new ProsopoApiError('API.BAD_REQUEST', { context: { error: err, errorCode: 400 } }));
38
40
  }
39
41
  });
40
42
  router.post(ApiPaths.SubmitCaptchaSolution, async (req, res, next) => {
@@ -43,7 +45,7 @@ export function prosopoRouter(env) {
43
45
  parsed = CaptchaSolutionBody.parse(req.body);
44
46
  }
45
47
  catch (err) {
46
- return next(new ProsopoApiError(err, undefined, 400));
48
+ return next(new ProsopoApiError('CAPTCHA.PARSE_ERROR', { context: { errorCode: 400, error: err } }));
47
49
  }
48
50
  try {
49
51
  const result = await tasks.dappUserSolution(parsed[ApiParams.user], parsed[ApiParams.dapp], parsed[ApiParams.requestHash], parsed[ApiParams.captchas], parsed[ApiParams.signature]);
@@ -53,7 +55,7 @@ export function prosopoRouter(env) {
53
55
  });
54
56
  }
55
57
  catch (err) {
56
- return next(new ProsopoApiError(err, undefined, 400));
58
+ return next(new ProsopoApiError('API.UNKNOWN', { context: { errorCode: 400, error: err } }));
57
59
  }
58
60
  });
59
61
  router.post(ApiPaths.VerifyCaptchaSolution, async (req, res, next) => {
@@ -62,7 +64,7 @@ export function prosopoRouter(env) {
62
64
  parsed = VerifySolutionBody.parse(req.body);
63
65
  }
64
66
  catch (err) {
65
- return next(new ProsopoApiError(err, undefined, 400));
67
+ return next(new ProsopoApiError('CAPTCHA.PARSE_ERROR', { context: { errorCode: 400, error: err } }));
66
68
  }
67
69
  try {
68
70
  const solution = await (parsed.commitmentId
@@ -71,18 +73,23 @@ export function prosopoRouter(env) {
71
73
  if (!solution) {
72
74
  return res.json({ status: req.t('API.USER_NOT_VERIFIED'), solutionApproved: false });
73
75
  }
74
- const msSinceCompleted = new Date().getTime() - solution.completedAt;
75
- if (parsed.maxVerifiedTime && msSinceCompleted > parsed.maxVerifiedTime) {
76
- return res.json({ status: req.t('API.USER_NOT_VERIFIED'), solutionApproved: false });
76
+ if (parsed.maxVerifiedTime) {
77
+ const currentBlockNumber = await tasks.getCurrentBlockNumber();
78
+ const blockTimeMs = await tasks.getBlockTimeMs();
79
+ const timeSinceCompletion = (currentBlockNumber - solution.completedAt) * blockTimeMs;
80
+ if (timeSinceCompletion > parsed.maxVerifiedTime) {
81
+ return res.json({ status: req.t('API.USER_NOT_VERIFIED'), solutionApproved: false });
82
+ }
77
83
  }
78
84
  const isApproved = solution.status === CaptchaStatus.approved;
79
85
  return res.json({
80
86
  status: req.t(isApproved ? 'API.USER_VERIFIED' : 'API.USER_NOT_VERIFIED'),
81
87
  solutionApproved: isApproved,
88
+ commitmentId: solution.id,
82
89
  });
83
90
  }
84
91
  catch (err) {
85
- return next(new ProsopoApiError(err, undefined, 400));
92
+ return next(new ProsopoApiError('API.BAD_REQUEST', { context: { errorCode: 400, error: err } }));
86
93
  }
87
94
  });
88
95
  router.post(ApiPaths.SubmitUserEvents, async (req, res, next) => {
@@ -92,7 +99,7 @@ export function prosopoRouter(env) {
92
99
  return res.json({ status: 'success' });
93
100
  }
94
101
  catch (err) {
95
- return next(new ProsopoApiError(err, undefined, 400));
102
+ return next(new ProsopoApiError('API.BAD_REQUEST', { context: { errorCode: 400, error: err } }));
96
103
  }
97
104
  });
98
105
  router.get(ApiPaths.GetProviderStatus, async (req, res, next) => {
@@ -101,7 +108,7 @@ export function prosopoRouter(env) {
101
108
  return res.json({ status });
102
109
  }
103
110
  catch (err) {
104
- return next(new ProsopoApiError(err, undefined, 400));
111
+ return next(new ProsopoApiError('API.BAD_REQUEST', { context: { errorCode: 400, error: err } }));
105
112
  }
106
113
  });
107
114
  router.get(ApiPaths.GetProviderDetails, async (req, res, next) => {
@@ -110,7 +117,7 @@ export function prosopoRouter(env) {
110
117
  return res.json(details);
111
118
  }
112
119
  catch (err) {
113
- return next(new ProsopoApiError(err, undefined, 400));
120
+ return next(new ProsopoApiError('API.BAD_REQUEST', { context: { errorCode: 400, error: err } }));
114
121
  }
115
122
  });
116
123
  return router;
@@ -1 +1 @@
1
- {"version":3,"file":"captcha.js","sourceRoot":"","sources":["../../src/api/captcha.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"captcha.js","sourceRoot":"","sources":["../../src/api/captcha.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"commitments.d.ts","sourceRoot":"","sources":["../../src/batch/commitments.ts"],"names":[],"mappings":";AAcA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAA;AACtC,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAA2C,MAAM,gBAAgB,CAAA;AACjH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,yCAAyC,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,sBAAsB,EAA0D,MAAM,mBAAmB,CAAA;AAElH,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAOrD,qBAAa,oBAAoB;IAC7B,QAAQ,EAAE,sBAAsB,CAAA;IAChC,EAAE,EAAE,QAAQ,CAAA;IACZ,iBAAiB,EAAE,uBAAuB,CAAA;IAC1C,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,KAAK,CAAQ;gBAEjB,iBAAiB,EAAE,uBAAuB,EAC1C,WAAW,EAAE,sBAAsB,EACnC,EAAE,EAAE,QAAQ,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM;IAQZ,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAuDpB,gBAAgB,CAAC,WAAW,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAkFpF,gBAAgB,CAAC,YAAY,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,cAAc,EAAE,QAAQ,GAAG,OAAO;IAOnF,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC;IAMzC,cAAc,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAKjD,sBAAsB,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE,aAAa,CAAC,UAAU,EAAE,oBAAoB,GAAG,MAAM;CAW1D"}
1
+ {"version":3,"file":"commitments.d.ts","sourceRoot":"","sources":["../../src/batch/commitments.ts"],"names":[],"mappings":";AAcA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAA;AACtC,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAA2C,MAAM,gBAAgB,CAAA;AACjH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,yCAAyC,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AACxE,OAAO,EAAE,MAAM,EAAwB,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,sBAAsB,EAAoC,MAAM,mBAAmB,CAAA;AAE5F,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAOrD,qBAAa,oBAAoB;IAC7B,QAAQ,EAAE,sBAAsB,CAAA;IAChC,EAAE,EAAE,QAAQ,CAAA;IACZ,iBAAiB,EAAE,uBAAuB,CAAA;IAC1C,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,KAAK,CAAQ;gBAEjB,iBAAiB,EAAE,uBAAuB,EAC1C,WAAW,EAAE,sBAAsB,EACnC,EAAE,EAAE,QAAQ,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM;IAQZ,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAuDpB,gBAAgB,CAAC,WAAW,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAkFpF,gBAAgB,CAAC,YAAY,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,cAAc,EAAE,QAAQ,GAAG,OAAO;IAOnF,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC;IAMzC,cAAc,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAKjD,sBAAsB,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE,aAAa,CAAC,UAAU,EAAE,oBAAoB,GAAG,MAAM;CAW1D"}
@@ -1,6 +1,7 @@
1
1
  import { BN } from '@polkadot/util/bn';
2
2
  import { ScheduledTaskNames, ScheduledTaskStatus } from '@prosopo/types';
3
- import { ProsopoContractError, batch, encodeStringArgs, oneUnit } from '@prosopo/contract';
3
+ import { ProsopoContractError } from '@prosopo/common';
4
+ import { batch, encodeStringArgs, oneUnit } from '@prosopo/contract';
4
5
  import { checkIfTaskIsRunning } from '../util.js';
5
6
  import { randomAsHex } from '@polkadot/util-crypto/random';
6
7
  const BN_TEN_THOUSAND = new BN(10000);
@@ -91,7 +92,7 @@ export class BatchCommitmentsTask {
91
92
  }
92
93
  }
93
94
  if (!extrinsic) {
94
- throw new ProsopoContractError('No extrinsics created');
95
+ throw new ProsopoContractError('CONTRACT.TX_ERROR', { context: { error: 'No extrinsics created' } });
95
96
  }
96
97
  txs.push(extrinsic);
97
98
  this.logger.info(`${txs.length} transactions will be batched`);
@@ -1 +1 @@
1
- {"version":3,"file":"commitments.js","sourceRoot":"","sources":["../../src/batch/commitments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commitments.js","sourceRoot":"","sources":["../../src/batch/commitments.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,9 @@ function prosopoRouter(env) {
18
18
  const { blockNumber, datasetId, user, dapp } = types.CaptchaRequestBody.parse(req.params);
19
19
  const api = env.api;
20
20
  if (api === void 0) {
21
- throw new Error("api not setup");
21
+ throw new common.ProsopoApiError("DEVELOPER.METHOD_NOT_IMPLEMENTED", {
22
+ context: { error: "api not setup", env }
23
+ });
22
24
  }
23
25
  address.validateAddress(user, false, api.registry.chainSS58);
24
26
  const blockNumberParsed = util.parseBlockNumber(blockNumber);
@@ -36,7 +38,7 @@ function prosopoRouter(env) {
36
38
  };
37
39
  return res.json(captchaResponse);
38
40
  } catch (err) {
39
- return next(new common.ProsopoApiError(err, void 0, 400));
41
+ return next(new common.ProsopoApiError("API.BAD_REQUEST", { context: { error: err, errorCode: 400 } }));
40
42
  }
41
43
  }
42
44
  );
@@ -45,7 +47,7 @@ function prosopoRouter(env) {
45
47
  try {
46
48
  parsed = types.CaptchaSolutionBody.parse(req.body);
47
49
  } catch (err) {
48
- return next(new common.ProsopoApiError(err, void 0, 400));
50
+ return next(new common.ProsopoApiError("CAPTCHA.PARSE_ERROR", { context: { errorCode: 400, error: err } }));
49
51
  }
50
52
  try {
51
53
  const result = await tasks$1.dappUserSolution(
@@ -60,7 +62,7 @@ function prosopoRouter(env) {
60
62
  ...result
61
63
  });
62
64
  } catch (err) {
63
- return next(new common.ProsopoApiError(err, void 0, 400));
65
+ return next(new common.ProsopoApiError("API.UNKNOWN", { context: { errorCode: 400, error: err } }));
64
66
  }
65
67
  });
66
68
  router.post(types.ApiPaths.VerifyCaptchaSolution, async (req, res, next) => {
@@ -68,24 +70,29 @@ function prosopoRouter(env) {
68
70
  try {
69
71
  parsed = types.VerifySolutionBody.parse(req.body);
70
72
  } catch (err) {
71
- return next(new common.ProsopoApiError(err, void 0, 400));
73
+ return next(new common.ProsopoApiError("CAPTCHA.PARSE_ERROR", { context: { errorCode: 400, error: err } }));
72
74
  }
73
75
  try {
74
76
  const solution = await (parsed.commitmentId ? tasks$1.getDappUserCommitmentById(parsed.commitmentId) : tasks$1.getDappUserCommitmentByAccount(parsed.user));
75
77
  if (!solution) {
76
78
  return res.json({ status: req.t("API.USER_NOT_VERIFIED"), solutionApproved: false });
77
79
  }
78
- const msSinceCompleted = (/* @__PURE__ */ new Date()).getTime() - solution.completedAt;
79
- if (parsed.maxVerifiedTime && msSinceCompleted > parsed.maxVerifiedTime) {
80
- return res.json({ status: req.t("API.USER_NOT_VERIFIED"), solutionApproved: false });
80
+ if (parsed.maxVerifiedTime) {
81
+ const currentBlockNumber = await tasks$1.getCurrentBlockNumber();
82
+ const blockTimeMs = await tasks$1.getBlockTimeMs();
83
+ const timeSinceCompletion = (currentBlockNumber - solution.completedAt) * blockTimeMs;
84
+ if (timeSinceCompletion > parsed.maxVerifiedTime) {
85
+ return res.json({ status: req.t("API.USER_NOT_VERIFIED"), solutionApproved: false });
86
+ }
81
87
  }
82
88
  const isApproved = solution.status === typesReturns.CaptchaStatus.approved;
83
89
  return res.json({
84
90
  status: req.t(isApproved ? "API.USER_VERIFIED" : "API.USER_NOT_VERIFIED"),
85
- solutionApproved: isApproved
91
+ solutionApproved: isApproved,
92
+ commitmentId: solution.id
86
93
  });
87
94
  } catch (err) {
88
- return next(new common.ProsopoApiError(err, void 0, 400));
95
+ return next(new common.ProsopoApiError("API.BAD_REQUEST", { context: { errorCode: 400, error: err } }));
89
96
  }
90
97
  });
91
98
  router.post(types.ApiPaths.SubmitUserEvents, async (req, res, next) => {
@@ -94,7 +101,7 @@ function prosopoRouter(env) {
94
101
  await tasks$1.saveCaptchaEvent(events, accountId);
95
102
  return res.json({ status: "success" });
96
103
  } catch (err) {
97
- return next(new common.ProsopoApiError(err, void 0, 400));
104
+ return next(new common.ProsopoApiError("API.BAD_REQUEST", { context: { errorCode: 400, error: err } }));
98
105
  }
99
106
  });
100
107
  router.get(types.ApiPaths.GetProviderStatus, async (req, res, next) => {
@@ -102,7 +109,7 @@ function prosopoRouter(env) {
102
109
  const status = await tasks$1.providerStatus();
103
110
  return res.json({ status });
104
111
  } catch (err) {
105
- return next(new common.ProsopoApiError(err, void 0, 400));
112
+ return next(new common.ProsopoApiError("API.BAD_REQUEST", { context: { errorCode: 400, error: err } }));
106
113
  }
107
114
  });
108
115
  router.get(types.ApiPaths.GetProviderDetails, async (req, res, next) => {
@@ -110,7 +117,7 @@ function prosopoRouter(env) {
110
117
  const details = await tasks$1.getProviderDetails();
111
118
  return res.json(details);
112
119
  } catch (err) {
113
- return next(new common.ProsopoApiError(err, void 0, 400));
120
+ return next(new common.ProsopoApiError("API.BAD_REQUEST", { context: { errorCode: 400, error: err } }));
114
121
  }
115
122
  });
116
123
  return router;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const bn = require("@polkadot/util/bn");
4
4
  const types = require("@prosopo/types");
5
+ const common = require("@prosopo/common");
5
6
  const contract = require("@prosopo/contract");
6
7
  const util = require("../util.cjs");
7
8
  const random = require("@polkadot/util-crypto/random");
@@ -119,7 +120,7 @@ class BatchCommitmentsTask {
119
120
  }
120
121
  }
121
122
  if (!extrinsic) {
122
- throw new contract.ProsopoContractError("No extrinsics created");
123
+ throw new common.ProsopoContractError("CONTRACT.TX_ERROR", { context: { error: "No extrinsics created" } });
123
124
  }
124
125
  txs.push(extrinsic);
125
126
  this.logger.info(`${txs.length} transactions will be batched`);
@@ -60,7 +60,7 @@ class CalculateSolutionsTask extends tasks.Tasks {
60
60
  }
61
61
  return 0;
62
62
  } catch (error) {
63
- throw new common.ProsopoEnvError(error, "GENERAL.CALCULATE_CAPTCHA_SOLUTION");
63
+ throw new common.ProsopoEnvError("GENERAL.CALCULATE_CAPTCHA_SOLUTION", { context: { error } });
64
64
  }
65
65
  }
66
66
  }
@@ -14,12 +14,9 @@ const string = require("@polkadot/util/string");
14
14
  class Tasks {
15
15
  constructor(env) {
16
16
  if (!env.contractInterface) {
17
- throw new common.ProsopoEnvError(
18
- "CONTRACT.CONTRACT_UNDEFINED",
19
- this.constructor.name,
20
- {},
21
- { contractAddress: env.contractAddress }
22
- );
17
+ throw new common.ProsopoEnvError("CONTRACT.CONTRACT_UNDEFINED", {
18
+ context: { failedFuncName: this.constructor.name, contractAddress: env.contractAddress }
19
+ });
23
20
  }
24
21
  this.config = env.config;
25
22
  this.contract = env.contractInterface;
@@ -36,18 +33,26 @@ class Tasks {
36
33
  async providerSetDataset(datasetRaw) {
37
34
  var _a;
38
35
  if (datasetRaw.captchas.length < this.config.captchas.solved.count + this.config.captchas.unsolved.count) {
39
- throw new common.ProsopoEnvError("DATASET.CAPTCHAS_COUNT_LESS_THAN_CONFIGURED", this.providerSetDataset.name);
36
+ throw new common.ProsopoEnvError("DATASET.CAPTCHAS_COUNT_LESS_THAN_CONFIGURED", {
37
+ context: { failedFuncName: this.providerSetDataset.name }
38
+ });
40
39
  }
41
40
  const solutions = datasetRaw.captchas.map((captcha) => captcha.solution ? 1 : 0).reduce((partialSum, b) => partialSum + b, 0);
42
41
  if (solutions < this.config.captchas.solved.count) {
43
- throw new common.ProsopoEnvError("DATASET.SOLUTIONS_COUNT_LESS_THAN_CONFIGURED", this.providerSetDataset.name);
42
+ throw new common.ProsopoEnvError("DATASET.SOLUTIONS_COUNT_LESS_THAN_CONFIGURED", {
43
+ context: { failedFuncName: this.providerSetDataset.name }
44
+ });
44
45
  }
45
46
  if (solutions < this.config.captchas.unsolved.count) {
46
- throw new common.ProsopoEnvError("DATASET.SOLUTIONS_COUNT_LESS_THAN_CONFIGURED", this.providerSetDataset.name);
47
+ throw new common.ProsopoEnvError("DATASET.SOLUTIONS_COUNT_LESS_THAN_CONFIGURED", {
48
+ context: { failedFuncName: this.providerSetDataset.name }
49
+ });
47
50
  }
48
51
  const dataset = await datasets.buildDataset(datasetRaw);
49
52
  if (!dataset.datasetId || !dataset.datasetContentId) {
50
- throw new common.ProsopoEnvError("DATASET.DATASET_ID_UNDEFINED", this.providerSetDataset.name);
53
+ throw new common.ProsopoEnvError("DATASET.DATASET_ID_UNDEFINED", {
54
+ context: { failedFuncName: this.providerSetDataset.name }
55
+ });
51
56
  }
52
57
  await ((_a = this.db) == null ? void 0 : _a.storeDataset(dataset));
53
58
  await contract.wrapQuery(this.contract.query.providerSetDataset, this.contract.query)(
@@ -83,12 +88,9 @@ class Tasks {
83
88
  }
84
89
  return captchas;
85
90
  }
86
- throw new common.ProsopoEnvError(
87
- "DATABASE.CAPTCHA_GET_FAILED",
88
- this.getCaptchaWithProof.name,
89
- {},
90
- { datasetId, solved, size }
91
- );
91
+ throw new common.ProsopoEnvError("DATABASE.CAPTCHA_GET_FAILED", {
92
+ context: { failedFuncName: this.getCaptchaWithProof.name, datasetId, solved, size }
93
+ });
92
94
  }
93
95
  /**
94
96
  * Validate and store the text captcha solution(s) from the Dapp User in a web2 environment
@@ -101,11 +103,15 @@ class Tasks {
101
103
  */
102
104
  async dappUserSolution(userAccount, dappAccount, requestHash, captchas, signature$1) {
103
105
  if (!await this.dappIsActive(dappAccount)) {
104
- throw new common.ProsopoEnvError("CONTRACT.DAPP_NOT_ACTIVE", this.getPaymentInfo.name, {}, { dappAccount });
106
+ throw new common.ProsopoEnvError("CONTRACT.DAPP_NOT_ACTIVE", {
107
+ context: { failedFuncName: this.getPaymentInfo.name, dappAccount }
108
+ });
105
109
  }
106
110
  const verification = signature.signatureVerify(string.stringToHex(requestHash), signature$1, userAccount);
107
111
  if (!verification.isValid) {
108
- throw new common.ProsopoEnvError("GENERAL.INVALID_SIGNATURE", this.dappUserSolution.name, {}, { userAccount });
112
+ throw new common.ProsopoEnvError("GENERAL.INVALID_SIGNATURE", {
113
+ context: { failedFuncName: this.dappUserSolution.name, userAccount }
114
+ });
109
115
  }
110
116
  let response = {
111
117
  captchas: [],
@@ -190,20 +196,20 @@ class Tasks {
190
196
  const captchaIds = receivedCaptchas.map((captcha) => captcha.captchaId);
191
197
  const storedCaptchas = await this.db.getCaptchaById(captchaIds);
192
198
  if (!storedCaptchas || receivedCaptchas.length !== storedCaptchas.length) {
193
- throw new common.ProsopoEnvError(
194
- "CAPTCHA.INVALID_CAPTCHA_ID",
195
- this.validateReceivedCaptchasAgainstStoredCaptchas.name,
196
- {},
197
- captchas
198
- );
199
+ throw new common.ProsopoEnvError("CAPTCHA.INVALID_CAPTCHA_ID", {
200
+ context: {
201
+ failedFuncName: this.validateReceivedCaptchasAgainstStoredCaptchas.name,
202
+ captchas
203
+ }
204
+ });
199
205
  }
200
206
  if (!storedCaptchas.every((captcha) => captcha.datasetId === util$1.at(storedCaptchas, 0).datasetId)) {
201
- throw new common.ProsopoEnvError(
202
- "CAPTCHA.DIFFERENT_DATASET_IDS",
203
- this.validateReceivedCaptchasAgainstStoredCaptchas.name,
204
- {},
205
- captchas
206
- );
207
+ throw new common.ProsopoEnvError("CAPTCHA.DIFFERENT_DATASET_IDS", {
208
+ context: {
209
+ failedFuncName: this.validateReceivedCaptchasAgainstStoredCaptchas.name,
210
+ captchas
211
+ }
212
+ });
207
213
  }
208
214
  return { storedCaptchas, receivedCaptchas, captchaIds };
209
215
  }
@@ -219,12 +225,12 @@ class Tasks {
219
225
  tree.build(solutionsHashed);
220
226
  const commitmentId = (_a = tree.root) == null ? void 0 : _a.hash;
221
227
  if (!commitmentId) {
222
- throw new common.ProsopoEnvError(
223
- "CONTRACT.CAPTCHA_SOLUTION_COMMITMENT_DOES_NOT_EXIST",
224
- this.buildTreeAndGetCommitmentId.name,
225
- {},
226
- { commitmentId }
227
- );
228
+ throw new common.ProsopoEnvError("CONTRACT.CAPTCHA_SOLUTION_COMMITMENT_DOES_NOT_EXIST", {
229
+ context: {
230
+ failedFuncName: this.buildTreeAndGetCommitmentId.name,
231
+ commitmentId
232
+ }
233
+ });
228
234
  }
229
235
  return { tree, commitmentId };
230
236
  }
@@ -305,23 +311,23 @@ class Tasks {
305
311
  async validateProviderWasRandomlyChosen(userAccount, dappContractAccount, datasetId, blockNumber) {
306
312
  const contract2 = await this.contract.contract;
307
313
  if (!contract2) {
308
- throw new common.ProsopoEnvError("CONTRACT.CONTRACT_UNDEFINED", this.validateProviderWasRandomlyChosen.name);
314
+ throw new common.ProsopoEnvError("CONTRACT.CONTRACT_UNDEFINED", {
315
+ context: { failedFuncName: this.validateProviderWasRandomlyChosen.name }
316
+ });
309
317
  }
310
318
  const header = await contract2.api.rpc.chain.getHeader();
311
319
  const isBlockNoValid = await this.isRecentBlock(contract2, header, blockNumber);
312
320
  if (!isBlockNoValid) {
313
- throw new common.ProsopoEnvError(
314
- "CAPTCHA.INVALID_BLOCK_NO",
315
- this.validateProviderWasRandomlyChosen.name,
316
- {},
317
- {
321
+ throw new common.ProsopoEnvError("CAPTCHA.INVALID_BLOCK_NO", {
322
+ context: {
323
+ failedFuncName: this.validateProviderWasRandomlyChosen.name,
318
324
  userAccount,
319
325
  dappContractAccount,
320
326
  datasetId,
321
327
  header,
322
328
  blockNumber
323
329
  }
324
- );
330
+ });
325
331
  }
326
332
  const block = await contract2.api.rpc.chain.getBlockHash(blockNumber);
327
333
  const randomProviderAndBlockNo = await this.contract.queryAtBlock(
@@ -330,12 +336,12 @@ class Tasks {
330
336
  [userAccount, dappContractAccount]
331
337
  );
332
338
  if (datasetId.toString().localeCompare(randomProviderAndBlockNo.provider.datasetId.toString())) {
333
- throw new common.ProsopoEnvError(
334
- "DATASET.INVALID_DATASET_ID",
335
- this.validateProviderWasRandomlyChosen.name,
336
- {},
337
- randomProviderAndBlockNo
338
- );
339
+ throw new common.ProsopoEnvError("DATASET.INVALID_DATASET_ID", {
340
+ context: {
341
+ failedFuncName: this.validateProviderWasRandomlyChosen.name,
342
+ randomProviderAndBlockNo
343
+ }
344
+ });
339
345
  }
340
346
  }
341
347
  /**
@@ -369,12 +375,12 @@ class Tasks {
369
375
  async getDappUserCommitmentById(commitmentId) {
370
376
  const dappUserSolution = await this.db.getDappUserCommitmentById(commitmentId);
371
377
  if (!dappUserSolution) {
372
- throw new common.ProsopoEnvError(
373
- "CAPTCHA.DAPP_USER_SOLUTION_NOT_FOUND",
374
- this.getDappUserCommitmentById.name,
375
- {},
376
- { commitmentId }
377
- );
378
+ throw new common.ProsopoEnvError("CAPTCHA.DAPP_USER_SOLUTION_NOT_FOUND", {
379
+ context: {
380
+ failedFuncName: this.getDappUserCommitmentById.name,
381
+ commitmentId
382
+ }
383
+ });
378
384
  }
379
385
  return dappUserSolution;
380
386
  }
@@ -403,6 +409,19 @@ class Tasks {
403
409
  async getProviderDataset(datasetId) {
404
410
  return await this.db.getDataset(datasetId);
405
411
  }
412
+ /**
413
+ * Get the current block number
414
+ */
415
+ async getCurrentBlockNumber() {
416
+ return (await contract.getBlockNumber(this.contract.api)).toNumber();
417
+ }
418
+ /**
419
+ * Get the current block time in milliseconds
420
+ */
421
+ async getBlockTimeMs() {
422
+ const blockTime = this.contract.api.consts.babe.expectedBlockTime;
423
+ return blockTime.toNumber();
424
+ }
406
425
  async saveCaptchaEvent(events, accountId) {
407
426
  if (!this.config.mongoAtlasUri) {
408
427
  return;
package/dist/cjs/util.cjs CHANGED
@@ -10,8 +10,8 @@ const pl = require("nodejs-polars");
10
10
  function encodeStringAddress(address$1) {
11
11
  try {
12
12
  return address.encodeAddress(is.isHex(address$1) ? hex.hexToU8a(address$1) : address.decodeAddress(address$1));
13
- } catch (error) {
14
- throw new common.ProsopoEnvError(error, "CONTRACT.INVALID_ADDRESS", {}, address$1);
13
+ } catch (err) {
14
+ throw new common.ProsopoContractError("CONTRACT.INVALID_ADDRESS", { context: { address: address$1 } });
15
15
  }
16
16
  }
17
17
  function shuffleArray(array) {
@@ -1 +1 @@
1
- {"version":3,"file":"calculateSolutions.d.ts","sourceRoot":"","sources":["../../src/tasks/calculateSolutions.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAExD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAGlC,qBAAa,sBAAuB,SAAQ,KAAK;gBACjC,GAAG,EAAE,mBAAmB;IAQ9B,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;CAqE/B"}
1
+ {"version":3,"file":"calculateSolutions.d.ts","sourceRoot":"","sources":["../../src/tasks/calculateSolutions.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAExD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAGlC,qBAAa,sBAAuB,SAAQ,KAAK;gBACjC,GAAG,EAAE,mBAAmB;IAQ9B,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;CAoE/B"}
@@ -58,7 +58,7 @@ export class CalculateSolutionsTask extends Tasks {
58
58
  return 0;
59
59
  }
60
60
  catch (error) {
61
- throw new ProsopoEnvError(error, 'GENERAL.CALCULATE_CAPTCHA_SOLUTION');
61
+ throw new ProsopoEnvError('GENERAL.CALCULATE_CAPTCHA_SOLUTION', { context: { error } });
62
62
  }
63
63
  }
64
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"calculateSolutions.js","sourceRoot":"","sources":["../../src/tasks/calculateSolutions.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC7C,YAAY,GAAwB;QAChC,KAAK,CAAC,GAAG,CAAC,CAAA;QACV,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAA;IAC1E,CAAC;IAKD,KAAK,CAAC,GAAG;QACL,IAAI;YACA,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;YAC7F,IAAI,CAAC,WAAW,EAAE;gBAEd,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK;qBAC3F,MAAM,EAAE;qBACR,MAAM,EAAE,CAAA;gBAGb,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,yBAAyB,CAC5D,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,EAC7B,aAAa,CAAC,QAAQ,CACzB,CAAA;gBAGD,IAAI,CAAC,gBAAgB,EAAE;oBACnB,OAAO,CAAC,CAAA;iBACX;gBAGD,MAAM,cAAc,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,cAAc,CAAC,MAAM,8BAA8B,CAAC,CAAA;gBAGlF,MAAM,yBAAyB,GAAG,IAAI,CAAC,qBAAqB,CAAC,yBAAyB,CAAA;gBACtF,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,yBAAyB,CAAA;gBAC9E,MAAM,wBAAwB,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,GAAG,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAA;gBAClG,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC7C,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;oBACrE,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAA;oBAC3E,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAA;oBACpF,IAAI,iBAAiB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;wBACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,aAAa,iBAAiB,CAAC,IAAI,EAAE,CAAC,MAAM,8CAA8C,CAC7F,CAAA;wBACD,IAAI;4BAEA,MAAM,kBAAkB,GAAG,CAAC,GAAI,iBAAyB,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;4BAChF,MAAM,aAAa,GAAG,SAAS;iCAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;iCAC3D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;4BAC/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;4BACvE,OAAO,CAAC,QAAQ,GAAG,eAAe,CAAC,iBAAiB,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;4BAEpF,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;4BAEtC,MAAM,IAAI,CAAC,EAAE,CAAC,8BAA8B,CAAC,kBAAkB,CAAC,CAAA;4BAEhE,MAAM,IAAI,CAAC,EAAE,CAAC,gCAAgC,CAAC,aAAa,CAAC,CAAA;4BAE7D,MAAM,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAA;4BAChD,OAAO,iBAAiB,CAAC,IAAI,EAAE,CAAC,MAAM,CAAA;yBACzC;wBAAC,OAAO,KAAK,EAAE;4BACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;yBAC3B;qBACJ;oBACD,OAAO,CAAC,CAAA;iBACX;qBAAM;oBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAA;oBAC9F,OAAO,CAAC,CAAA;iBACX;aACJ;YACD,OAAO,CAAC,CAAA;SACX;QAAC,OAAO,KAAK,EAAE;YAEZ,MAAM,IAAI,eAAe,CAAC,KAAc,EAAE,oCAAoC,CAAC,CAAA;SAClF;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"calculateSolutions.js","sourceRoot":"","sources":["../../src/tasks/calculateSolutions.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,8 @@ export declare class Tasks {
42
42
  getDappUserCommitmentByAccount(userAccount: string): Promise<UserCommitmentRecord | undefined>;
43
43
  getProviderDetails(): Promise<ProviderDetails>;
44
44
  getProviderDataset(datasetId: string): Promise<DatasetWithIds>;
45
+ getCurrentBlockNumber(): Promise<number>;
46
+ getBlockTimeMs(): Promise<number>;
45
47
  saveCaptchaEvent(events: StoredEvents, accountId: string): Promise<void>;
46
48
  }
47
49
  //# sourceMappingURL=tasks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/tasks/tasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/tasks/tasks.ts"],"names":[],"mappings":"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"}