@prosopo/provider 0.2.13 → 0.2.15

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 (87) hide show
  1. package/dist/api/admin.js +0 -56
  2. package/dist/api/admin.js.map +1 -1
  3. package/dist/api/captcha.d.ts +0 -6
  4. package/dist/api/captcha.d.ts.map +1 -1
  5. package/dist/api/captcha.js +24 -83
  6. package/dist/api/captcha.js.map +1 -1
  7. package/dist/batch/commitments.d.ts +2 -2
  8. package/dist/batch/commitments.d.ts.map +1 -1
  9. package/dist/batch/commitments.js +2 -20
  10. package/dist/batch/commitments.js.map +1 -1
  11. package/dist/batch/index.js +0 -13
  12. package/dist/batch/index.js.map +1 -1
  13. package/dist/cjs/api/captcha.cjs +23 -31
  14. package/dist/cjs/batch/commitments.cjs +12 -12
  15. package/dist/cjs/tasks/tasks.cjs +22 -21
  16. package/dist/cjs/util.cjs +9 -8
  17. package/dist/index.js +0 -13
  18. package/dist/index.js.map +1 -1
  19. package/dist/scheduler.js +0 -15
  20. package/dist/scheduler.js.map +1 -1
  21. package/dist/tasks/calculateSolutions.d.ts +0 -3
  22. package/dist/tasks/calculateSolutions.d.ts.map +1 -1
  23. package/dist/tasks/calculateSolutions.js +0 -27
  24. package/dist/tasks/calculateSolutions.js.map +1 -1
  25. package/dist/tasks/index.js +0 -13
  26. package/dist/tasks/index.js.map +1 -1
  27. package/dist/tasks/tasks.d.ts +3 -66
  28. package/dist/tasks/tasks.d.ts.map +1 -1
  29. package/dist/tasks/tasks.js +6 -87
  30. package/dist/tasks/tasks.js.map +1 -1
  31. package/dist/tests/accounts.d.ts.map +1 -1
  32. package/dist/tests/accounts.js +2 -16
  33. package/dist/tests/accounts.js.map +1 -1
  34. package/dist/tests/batch/commitments.test.d.ts.map +1 -1
  35. package/dist/tests/batch/commitments.test.js +12 -77
  36. package/dist/tests/batch/commitments.test.js.map +1 -1
  37. package/dist/tests/contract/helpers.test.d.ts.map +1 -1
  38. package/dist/tests/contract/helpers.test.js +3 -3
  39. package/dist/tests/contract/helpers.test.js.map +1 -1
  40. package/dist/tests/dataUtils/DatabaseAccounts.js +0 -1
  41. package/dist/tests/dataUtils/DatabaseAccounts.js.map +1 -1
  42. package/dist/tests/dataUtils/DatabasePopulator.d.ts +1 -1
  43. package/dist/tests/dataUtils/DatabasePopulator.d.ts.map +1 -1
  44. package/dist/tests/dataUtils/DatabasePopulator.js +10 -16
  45. package/dist/tests/dataUtils/DatabasePopulator.js.map +1 -1
  46. package/dist/tests/dataUtils/dapp-example-contract/loadFiles.d.ts +1 -1
  47. package/dist/tests/dataUtils/dapp-example-contract/loadFiles.d.ts.map +1 -1
  48. package/dist/tests/dataUtils/dapp-example-contract/loadFiles.js +3 -17
  49. package/dist/tests/dataUtils/dapp-example-contract/loadFiles.js.map +1 -1
  50. package/dist/tests/dataUtils/funds.d.ts +1 -16
  51. package/dist/tests/dataUtils/funds.d.ts.map +1 -1
  52. package/dist/tests/dataUtils/funds.js +2 -25
  53. package/dist/tests/dataUtils/funds.js.map +1 -1
  54. package/dist/tests/dataUtils/populateDatabase.d.ts +1 -1
  55. package/dist/tests/dataUtils/populateDatabase.d.ts.map +1 -1
  56. package/dist/tests/dataUtils/populateDatabase.js +0 -1
  57. package/dist/tests/dataUtils/populateDatabase.js.map +1 -1
  58. package/dist/tests/tasks/tasks.test.d.ts.map +1 -1
  59. package/dist/tests/tasks/tasks.test.js +15 -221
  60. package/dist/tests/tasks/tasks.test.js.map +1 -1
  61. package/dist/tests/util.test.js +0 -14
  62. package/dist/tests/util.test.js.map +1 -1
  63. package/dist/util.d.ts +0 -11
  64. package/dist/util.d.ts.map +1 -1
  65. package/dist/util.js +3 -33
  66. package/dist/util.js.map +1 -1
  67. package/package.json +10 -11
  68. package/dist/cjs/contracts/captcha/dist/build-extrinsic/captcha.cjs +0 -339
  69. package/dist/cjs/contracts/captcha/dist/contract-info/captcha.cjs +0 -6
  70. package/dist/cjs/contracts/captcha/dist/contracts/captcha.cjs +0 -79
  71. package/dist/cjs/contracts/captcha/dist/data/captcha.json.cjs +0 -3374
  72. package/dist/cjs/contracts/captcha/dist/event-data/captcha.json.cjs +0 -3
  73. package/dist/cjs/contracts/captcha/dist/events/captcha.cjs +0 -23
  74. package/dist/cjs/contracts/captcha/dist/index.cjs +0 -44
  75. package/dist/cjs/contracts/captcha/dist/mixed-methods/captcha.cjs +0 -470
  76. package/dist/cjs/contracts/captcha/dist/query/captcha.cjs +0 -468
  77. package/dist/cjs/contracts/captcha/dist/shared/utils.cjs +0 -31
  78. package/dist/cjs/contracts/captcha/dist/tx-sign-and-send/captcha.cjs +0 -426
  79. package/dist/cjs/contracts/captcha/dist/types-arguments/captcha.cjs +0 -62
  80. package/dist/tests/data/captchas.d.ts +0 -37
  81. package/dist/tests/data/captchas.d.ts.map +0 -1
  82. package/dist/tests/data/captchas.js +0 -902
  83. package/dist/tests/data/captchas.js.map +0 -1
  84. package/dist/tests/data/captchas1.json +0 -53
  85. package/dist/tests/data/captchas2.json +0 -69
  86. package/dist/tests/data/captchas3.json +0 -54
  87. package/dist/tests/data/captchas4.json +0 -53
@@ -1,14 +1,13 @@
1
1
  import { CaptchaMerkleTree, buildDataset, compareCaptchaSolutions, computeCaptchaSolutionHash, computePendingRequestHash, parseAndSortCaptchaSolutions, parseCaptchaDataset, } from '@prosopo/datasets';
2
- import { CaptchaStatus } from '@prosopo/captcha-contract';
2
+ import { CaptchaStatus } from '@prosopo/captcha-contract/types-returns';
3
3
  import { ProsopoEnvError, getLogger } from '@prosopo/common';
4
4
  import { getBlockNumber, wrapQuery } from '@prosopo/contract';
5
5
  import { at } from '@prosopo/util';
6
- import { hexToU8a, stringToHex } from '@polkadot/util';
7
- import { randomAsHex, signatureVerify } from '@polkadot/util-crypto';
6
+ import { hexToU8a } from '@polkadot/util/hex';
7
+ import { randomAsHex } from '@polkadot/util-crypto/random';
8
8
  import { shuffleArray } from '../util.js';
9
- /**
10
- * @description Tasks that are shared by the API and CLI
11
- */
9
+ import { signatureVerify } from '@polkadot/util-crypto/signature';
10
+ import { stringToHex } from '@polkadot/util/string';
12
11
  export class Tasks {
13
12
  constructor(env) {
14
13
  if (!env.contractInterface) {
@@ -27,13 +26,9 @@ export class Tasks {
27
26
  return await this.providerSetDataset(datasetRaw);
28
27
  }
29
28
  async providerSetDataset(datasetRaw) {
30
- // check that the number of captchas contained within dataset.captchas is greater than or equal to the total
31
- // number of captchas that must be served
32
29
  if (datasetRaw.captchas.length < this.config.captchas.solved.count + this.config.captchas.unsolved.count) {
33
30
  throw new ProsopoEnvError('DATASET.CAPTCHAS_COUNT_LESS_THAN_CONFIGURED', this.providerSetDataset.name);
34
31
  }
35
- // check that the number of solutions contained within dataset.captchas is greater than or equal to the number
36
- // of solved captchas that must be served
37
32
  const solutions = datasetRaw.captchas
38
33
  .map((captcha) => (captcha.solution ? 1 : 0))
39
34
  .reduce((partialSum, b) => partialSum + b, 0);
@@ -48,20 +43,12 @@ export class Tasks {
48
43
  throw new ProsopoEnvError('DATASET.DATASET_ID_UNDEFINED', this.providerSetDataset.name);
49
44
  }
50
45
  await this.db?.storeDataset(dataset);
51
- // catch any errors before running the tx
52
46
  await wrapQuery(this.contract.query.providerSetDataset, this.contract.query)(dataset.datasetId, dataset.datasetContentId);
53
47
  const txResult = await this.contract.methods.providerSetDataset(dataset.datasetId, dataset.datasetContentId, {
54
48
  value: 0,
55
49
  });
56
50
  return txResult.result;
57
51
  }
58
- // Other tasks
59
- /**
60
- * @description Get random captchas that are solved or not solved, along with the merkle proof for each
61
- * @param {string} datasetId the id of the data set
62
- * @param {boolean} solved `true` when captcha is solved
63
- * @param {number} size the number of records to be returned
64
- */
65
52
  async getCaptchaWithProof(datasetId, solved, size) {
66
53
  const captchaDocs = await this.db.getRandomCaptcha(solved, datasetId, size);
67
54
  if (captchaDocs) {
@@ -72,7 +59,6 @@ export class Tasks {
72
59
  if (datasetDetails.contentTree) {
73
60
  tree.layers = datasetDetails.contentTree;
74
61
  const proof = tree.proof(captcha.captchaContentId);
75
- // cannot pass solution to dapp user as they are required to solve the captcha!
76
62
  delete captcha.solution;
77
63
  captcha.items = shuffleArray(captcha.items);
78
64
  captchas.push({ captcha, proof });
@@ -82,24 +68,12 @@ export class Tasks {
82
68
  }
83
69
  throw new ProsopoEnvError('DATABASE.CAPTCHA_GET_FAILED', this.getCaptchaWithProof.name, {}, { datasetId, solved, size });
84
70
  }
85
- /**
86
- * Validate and store the text captcha solution(s) from the Dapp User in a web2 environment
87
- * @param {string} userAccount
88
- * @param {string} dappAccount
89
- * @param {string} requestHash
90
- * @param {JSON} captchas
91
- * @param {string} signature
92
- * @return {Promise<DappUserSolutionResult>} result containing the contract event
93
- */
94
- async dappUserSolution(userAccount, dappAccount, requestHash, captchas, signature // the signature to indicate ownership of account (web2 only)
95
- ) {
71
+ async dappUserSolution(userAccount, dappAccount, requestHash, captchas, signature) {
96
72
  if (!(await this.dappIsActive(dappAccount))) {
97
73
  throw new ProsopoEnvError('CONTRACT.DAPP_NOT_ACTIVE', this.getPaymentInfo.name, {}, { dappAccount });
98
74
  }
99
- // check that the signature is valid (i.e. the web2 user has signed the message with their private key, proving they own their account)
100
75
  const verification = signatureVerify(stringToHex(requestHash), signature, userAccount);
101
76
  if (!verification.isValid) {
102
- // the signature is not valid, so the user is not the owner of the account. May have given a false account address with good reputation in an attempt to impersonate
103
77
  throw new ProsopoEnvError('GENERAL.INVALID_SIGNATURE', this.dappUserSolution.name, {}, { userAccount });
104
78
  }
105
79
  let response = {
@@ -113,7 +87,6 @@ export class Tasks {
113
87
  .unwrap();
114
88
  const pendingRecord = await this.db.getDappUserPending(requestHash);
115
89
  const pendingRequest = await this.validateDappUserSolutionRequestIsPending(requestHash, pendingRecord, userAccount, captchaIds);
116
- // Only do stuff if the request is in the local DB
117
90
  const userSignature = hexToU8a(signature);
118
91
  const blockNumber = (await getBlockNumber(this.contract.api)).toNumber();
119
92
  if (pendingRequest) {
@@ -153,17 +126,10 @@ export class Tasks {
153
126
  }
154
127
  return response;
155
128
  }
156
- /**
157
- * Validate that the dapp is active in the contract
158
- */
159
129
  async dappIsActive(dappAccount) {
160
130
  const dapp = await wrapQuery(this.contract.query.getDapp, this.contract.query)(dappAccount);
161
- //dapp.status.isActive doesn't work: https://substrate.stackexchange.com/questions/6333/how-do-we-work-with-polkadot-js-enums-in-typescript
162
131
  return dapp.status.toString() === 'Active';
163
132
  }
164
- /**
165
- * Gets provider status in contract
166
- */
167
133
  async providerStatus() {
168
134
  try {
169
135
  const provider = await wrapQuery(this.contract.query.getProvider, this.contract.query)(this.contract.pair.address);
@@ -173,10 +139,6 @@ export class Tasks {
173
139
  return { status: 'Unregistered' };
174
140
  }
175
141
  }
176
- /**
177
- * Validate length of received captchas array matches length of captchas found in database
178
- * Validate that the datasetId is the same for all captchas and is equal to the datasetId on the stored captchas
179
- */
180
142
  async validateReceivedCaptchasAgainstStoredCaptchas(captchas) {
181
143
  const receivedCaptchas = parseAndSortCaptchaSolutions(captchas);
182
144
  const captchaIds = receivedCaptchas.map((captcha) => captcha.captchaId);
@@ -189,11 +151,6 @@ export class Tasks {
189
151
  }
190
152
  return { storedCaptchas, receivedCaptchas, captchaIds };
191
153
  }
192
- /**
193
- * Build merkle tree and get commitment from contract, returning the tree, commitment, and commitmentId
194
- * @param {CaptchaSolution[]} captchaSolutions
195
- * @returns {Promise<{ tree: CaptchaMerkleTree, commitment: CaptchaSolutionCommitment, commitmentId: string }>}
196
- */
197
154
  async buildTreeAndGetCommitmentId(captchaSolutions) {
198
155
  const tree = new CaptchaMerkleTree();
199
156
  const solutionsHashed = captchaSolutions.map((captcha) => computeCaptchaSolutionHash(captcha));
@@ -204,17 +161,9 @@ export class Tasks {
204
161
  }
205
162
  return { tree, commitmentId };
206
163
  }
207
- /**
208
- * Validate that a Dapp User is responding to their own pending captcha request
209
- * @param {string} requestHash
210
- * @param {PendingCaptchaRequest} pendingRecord
211
- * @param {string} userAccount
212
- * @param {string[]} captchaIds
213
- */
214
164
  async validateDappUserSolutionRequestIsPending(requestHash, pendingRecord, userAccount, captchaIds) {
215
165
  const currentTime = Date.now();
216
166
  if (pendingRecord.deadlineTimestamp < currentTime) {
217
- // deadline for responding to the captcha has expired
218
167
  this.logger.info('Deadline for responding to captcha has expired');
219
168
  return false;
220
169
  }
@@ -224,11 +173,6 @@ export class Tasks {
224
173
  }
225
174
  return false;
226
175
  }
227
- /**
228
- * Get two random captchas from specified dataset, create the response and store a hash of it, marked as pending
229
- * @param {string} datasetId
230
- * @param {string} userAccount
231
- */
232
176
  async getRandomCaptchasAndRequestHash(datasetId, userAccount) {
233
177
  const dataset = await this.db.getDatasetDetails(datasetId);
234
178
  if (!dataset) {
@@ -254,9 +198,6 @@ export class Tasks {
254
198
  await this.db.storeDappUserPending(userAccount, requestHash, salt, deadlineTs, currentBlockNumber.toNumber());
255
199
  return { captchas, requestHash };
256
200
  }
257
- /**
258
- * Block by block search for blockNo
259
- */
260
201
  async isRecentBlock(contract, header, blockNo, depth = this.captchaSolutionConfig.captchaBlockRecency) {
261
202
  if (depth == 0) {
262
203
  return false;
@@ -268,13 +209,6 @@ export class Tasks {
268
209
  const parent = await contract.api.rpc.chain.getBlock(header.parentHash);
269
210
  return this.isRecentBlock(contract, parent.block.header, blockNo, depth - 1);
270
211
  }
271
- /**
272
- * Validate that provided `datasetId` was a result of calling `get_random_provider` method
273
- * @param {string} userAccount - Same user that called `get_random_provider`
274
- * @param {string} dappContractAccount - account of dapp that is requesting captcha
275
- * @param {string} datasetId - `captcha_dataset_id` from the result of `get_random_provider`
276
- * @param {string} blockNumber - Block on which `get_random_provider` was called
277
- */
278
212
  async validateProviderWasRandomlyChosen(userAccount, dappContractAccount, datasetId, blockNumber) {
279
213
  const contract = await this.contract.contract;
280
214
  if (!contract) {
@@ -297,15 +231,7 @@ export class Tasks {
297
231
  throw new ProsopoEnvError('DATASET.INVALID_DATASET_ID', this.validateProviderWasRandomlyChosen.name, {}, randomProviderAndBlockNo);
298
232
  }
299
233
  }
300
- /**
301
- * Get payment info for a transaction
302
- * @param {string} userAccount
303
- * @param {string} blockHash
304
- * @param {string} txHash
305
- * @returns {Promise<RuntimeDispatchInfo|null>}
306
- */
307
234
  async getPaymentInfo(userAccount, blockHash, txHash) {
308
- // Validate block and transaction, checking that the signer matches the userAccount
309
235
  const signedBlock = (await this.contract.api.rpc.chain.getBlock(blockHash));
310
236
  if (!signedBlock) {
311
237
  return null;
@@ -314,16 +240,12 @@ export class Tasks {
314
240
  if (!extrinsic || extrinsic.signer.toString() !== userAccount) {
315
241
  return null;
316
242
  }
317
- // Retrieve tx fee for extrinsic
318
243
  const paymentInfo = (await this.contract.api.rpc.payment.queryInfo(extrinsic.toHex(), blockHash));
319
244
  if (!paymentInfo) {
320
245
  return null;
321
246
  }
322
247
  return paymentInfo;
323
248
  }
324
- /*
325
- * Get dapp user solution from database
326
- */
327
249
  async getDappUserCommitmentById(commitmentId) {
328
250
  const dappUserSolution = await this.db.getDappUserCommitmentById(commitmentId);
329
251
  if (!dappUserSolution) {
@@ -331,7 +253,6 @@ export class Tasks {
331
253
  }
332
254
  return dappUserSolution;
333
255
  }
334
- /* Check if dapp user has verified solution in cache */
335
256
  async getDappUserCommitmentByAccount(userAccount) {
336
257
  const dappUserSolutions = await this.db.getDappUserCommitmentByAccount(userAccount);
337
258
  if (dappUserSolutions.length > 0) {
@@ -343,11 +264,9 @@ export class Tasks {
343
264
  }
344
265
  return undefined;
345
266
  }
346
- /* Returns public details of provider */
347
267
  async getProviderDetails() {
348
268
  return await wrapQuery(this.contract.query.getProvider, this.contract.query)(this.contract.pair.address);
349
269
  }
350
- /** Get the dataset from the databse */
351
270
  async getProviderDataset(datasetId) {
352
271
  return await this.db.getDataset(datasetId);
353
272
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/tasks/tasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/tasks/tasks.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/tests/accounts.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAGnC,eAAO,MAAM,eAAe,8BAAmC,CAAA;AAC/D,eAAO,MAAM,cAAc,8BAAmC,CAAA;AAC9D,eAAO,MAAM,eAAe,wBAAgC,MAK3D,CAAA;AACD,MAAM,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,CAAA;AAEnF,eAAO,MAAM,QAAQ,EAAE,gBAStB,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,YAIlB,CAAA;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAI/F"}
1
+ {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/tests/accounts.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAGnC,eAAO,MAAM,eAAe,8BAAmC,CAAA;AAC/D,eAAO,MAAM,cAAc,8BAAmC,CAAA;AAC9D,eAAO,MAAM,eAAe,wBAAgC,MAK3D,CAAA;AACD,MAAM,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,CAAA;AAEnF,eAAO,MAAM,QAAQ,EAAE,gBAStB,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,YAGlB,CAAA;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAI/F"}
@@ -1,18 +1,5 @@
1
- // Copyright 2021-2023 Prosopo (UK) Ltd.
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License");
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // http://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
- import { BN } from '@polkadot/util';
15
- import { Payee } from '@prosopo/captcha-contract';
1
+ import { BN } from '@polkadot/util/bn';
2
+ import { Payee } from '@prosopo/captcha-contract/types-returns';
16
3
  import { Tasks } from '../index.js';
17
4
  import { getPairAsync } from '@prosopo/contract';
18
5
  export const accountMnemonic = (account) => account[0];
@@ -35,7 +22,6 @@ export const PROVIDER = {
35
22
  };
36
23
  export const DAPP = {
37
24
  secret: '//Ferdie',
38
- contractAccount: process.env.DAPP_SITE_KEY || '',
39
25
  fundAmount: new BN(1000000000000000),
40
26
  };
41
27
  export async function getSignedTasks(env, account) {
@@ -1 +1 @@
1
- {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/tests/accounts.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAEnC,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAEjD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAC/D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAC9D,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,OAAgB;IACrD,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;QACZ,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;KACpB;IACD,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAA;AACrE,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,QAAQ,GAAqB;IACtC,GAAG,EAAE,uBAAuB;IAC5B,GAAG,EAAE,EAAE;IACP,KAAK,EAAE,KAAK,CAAC,IAAI;IACjB,KAAK,EAAE,IAAI,EAAE,CAAC,gBAAgB,CAAC;IAC/B,WAAW,EAAE,sBAAsB;IACnC,gBAAgB,EAAE,EAAE;IACpB,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;CACd,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAiB;IAC9B,MAAM,EAAE,UAAU;IAClB,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE;IAChD,UAAU,EAAE,IAAI,EAAE,CAAC,gBAAgB,CAAC;CACvC,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAwB,EAAE,OAAgB;IAC3E,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;IAC7G,MAAM,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IAC5B,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;AACzB,CAAC"}
1
+ {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/tests/accounts.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EAAE,KAAK,EAAE,MAAM,yCAAyC,CAAA;AAE/D,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAC/D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAC9D,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,OAAgB;IACrD,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;QACZ,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;KACpB;IACD,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAA;AACrE,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,QAAQ,GAAqB;IACtC,GAAG,EAAE,uBAAuB;IAC5B,GAAG,EAAE,EAAE;IACP,KAAK,EAAE,KAAK,CAAC,IAAI;IACjB,KAAK,EAAE,IAAI,EAAE,CAAC,gBAAgB,CAAC;IAC/B,WAAW,EAAE,sBAAsB;IACnC,gBAAgB,EAAE,EAAE;IACpB,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;CACd,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAiB;IAC9B,MAAM,EAAE,UAAU;IAClB,UAAU,EAAE,IAAI,EAAE,CAAC,gBAAgB,CAAC;CACvC,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAwB,EAAE,OAAgB;IAC3E,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;IAC7G,MAAM,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IAC5B,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;AACzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"commitments.test.d.ts","sourceRoot":"","sources":["../../../src/tests/batch/commitments.test.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAoC9C,OAAO,QAAQ,QAAQ,CAAC;IAEpB,UAAiB,WAAY,SAAQ,eAAe;KAAG;CAC1D"}
1
+ {"version":3,"file":"commitments.test.d.ts","sourceRoot":"","sources":["../../../src/tests/batch/commitments.test.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAqC9C,OAAO,QAAQ,QAAQ,CAAC;IAEpB,UAAiB,WAAY,SAAQ,eAAe;KAAG;CAC1D"}
@@ -1,21 +1,8 @@
1
- // Copyright 2021-2023 Prosopo (UK) Ltd.
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License");
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // http://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
1
  import { AccountKey } from '../dataUtils/DatabaseAccounts.js';
15
- import { BN, BN_THOUSAND, BN_TWO, bnMin, stringToHex } from '@polkadot/util';
2
+ import { BN, BN_THOUSAND, BN_TWO, bnMin } from '@polkadot/util/bn';
16
3
  import { BatchCommitmentsTask } from '../../batch/commitments.js';
17
4
  import { ScheduledTaskNames } from '@prosopo/types';
18
- import { CaptchaStatus } from '@prosopo/captcha-contract';
5
+ import { CaptchaStatus } from '@prosopo/captcha-contract/types-returns';
19
6
  import { MockEnvironment } from '@prosopo/env';
20
7
  import { ProsopoEnvError } from '@prosopo/common';
21
8
  import { accountAddress, accountContract, accountMnemonic, getSignedTasks } from '../accounts.js';
@@ -24,29 +11,23 @@ import { at } from '@prosopo/util';
24
11
  import { getPairAsync, wrapQuery } from '@prosopo/contract';
25
12
  import { getTestConfig } from '@prosopo/config';
26
13
  import { getUser } from '../getUser.js';
27
- import { randomAsHex } from '@polkadot/util-crypto';
14
+ import { randomAsHex } from '@polkadot/util-crypto/random';
28
15
  import { sleep } from '../tasks/tasks.test.js';
29
- // Some chains incorrectly use these, i.e. it is set to values such as 0 or even 2
30
- // Use a low minimum validity threshold to check these against
16
+ import { stringToHex } from '@polkadot/util/string';
31
17
  const THRESHOLD = BN_THOUSAND.div(BN_TWO);
32
18
  const DEFAULT_TIME = new BN(6000);
33
19
  const A_DAY = new BN(24 * 60 * 60 * 1000);
34
20
  function calcInterval(api) {
35
- return bnMin(A_DAY,
36
- // Babe, e.g. Relay chains (Substrate defaults)
37
- api.consts.babe?.expectedBlockTime ||
38
- // POW, eg. Kulupu
21
+ return bnMin(A_DAY, api.consts.babe?.expectedBlockTime ||
39
22
  api.consts.difficulty?.targetBlockTime ||
40
- // Subspace
41
23
  api.consts.subspace?.expectedBlockTime ||
42
- // Check against threshold to determine value validity
43
24
  (api.consts.timestamp?.minimumPeriod.gte(THRESHOLD)
44
- ? // Default minimum period config
25
+ ?
45
26
  api.consts.timestamp.minimumPeriod.mul(BN_TWO)
46
27
  : api.query.parachainSystem
47
- ? // default guess for a parachain
28
+ ?
48
29
  DEFAULT_TIME.mul(BN_TWO)
49
- : // default guess for others
30
+ :
50
31
  DEFAULT_TIME));
51
32
  }
52
33
  describe('BATCH TESTS', function () {
@@ -73,43 +54,29 @@ describe('BATCH TESTS', function () {
73
54
  if (env.db) {
74
55
  const providerAccount = await getUser(env, AccountKey.providersWithStakeAndDataset);
75
56
  await env.changeSigner(await getPairAsync(env.config.networks[env.config.defaultNetwork], accountMnemonic(providerAccount), ''));
76
- // contract API must be initialized with an account that has funds or the error StorageDepositLimitExhausted
77
- // will be thrown when trying to batch commitments
78
57
  const contractApi = await env.getContractApi();
79
- // Remove any existing commitments and solutions from the db
80
- // FIXME - deleting these can mess with other tests since they're all running asynchronously. The database
81
- // instance *should* be separate for this batch file but issues have been seen in the past...
82
58
  await env.db.tables?.commitment.deleteMany({});
83
59
  await env.db.tables?.usersolution.deleteMany({});
84
- // Get account nonce
85
60
  const startNonce = await contractApi.api.call.accountNonceApi.accountNonce(accountAddress(providerAccount));
86
- // Batcher must be created with the provider account as the pair on the contractApi, otherwise the batcher
87
- // will fail with `ProviderDoesNotExist` error.
88
61
  const batcher = new BatchCommitmentsTask(env.config.batchCommit, await env.getContractApi(), env.db, BigInt(startNonce.toNumber()), env.logger);
89
62
  const providerTasks = await getSignedTasks(env, providerAccount);
90
63
  const providerDetails = (await providerTasks.contract.query.getProvider(accountAddress(providerAccount))).value
91
64
  .unwrap()
92
65
  .unwrap();
93
66
  const dappAccount = await getUser(env, AccountKey.dappsWithStake);
94
- const randomCaptchasResult = await providerTasks.db.getRandomCaptcha(false, providerDetails.datasetId);
67
+ const randomCaptchasResult = await providerTasks.db.getRandomCaptcha(true, providerDetails.datasetId);
95
68
  if (randomCaptchasResult) {
69
+ const solutions = await providerTasks.db.getSolutions(providerDetails.datasetId.toString());
70
+ const solutionIndex = solutions.findIndex((s) => s.captchaContentId === at(randomCaptchasResult, 0).captchaContentId);
71
+ const solution = at(solutions, solutionIndex).solution;
96
72
  const unsolvedCaptcha = at(randomCaptchasResult, 0);
97
- const solution = [
98
- at(unsolvedCaptcha.items, 0).hash || '',
99
- at(unsolvedCaptcha.items, 2).hash || '',
100
- at(unsolvedCaptcha.items, 3).hash || '',
101
- ];
102
73
  const captchaSolution = { ...unsolvedCaptcha, solution, salt: randomAsHex() };
103
74
  const commitmentIds = [];
104
- // Store 10 commitments in the local db
105
75
  const completedAt = (await env.getApi().rpc.chain.getBlock()).block.header.number.toNumber();
106
76
  const requestedAt = completedAt - 1;
107
77
  const requestHash = 'requestHash';
108
78
  for (let count = 0; count < commitmentCount; count++) {
109
- // need to submit different commits under different user accounts to avoid the commitments being
110
- // trimmed by the contract when the max number of commitments per user is reached (e.g. 10 per user)
111
79
  const dappUser = await getUser(env, AccountKey.dappUsers, false);
112
- // not the real commitment id, which would be calculated as the root of a merkle tree
113
80
  const commitmentId = randomAsHex();
114
81
  commitmentIds.push(commitmentId);
115
82
  const status = count % 2 === 0 ? CaptchaStatus.approved : CaptchaStatus.disapproved;
@@ -138,37 +105,12 @@ describe('BATCH TESTS', function () {
138
105
  const commitRecord = await providerTasks.db.getDappUserCommitmentById(commitmentId);
139
106
  expect(commitRecord).to.be.not.empty;
140
107
  }
141
- // Try to get commitments that are ready to be batched
142
108
  const commitmentsBeforeBatching = await batcher.getCommitments();
143
109
  expect(commitmentsBeforeBatching.length).to.be.equal(commitmentCount);
144
- // n/2 commitments should be approved and n/2 disapproved
145
110
  expect(commitmentsBeforeBatching
146
111
  .map((c) => +(c.status === CaptchaStatus.approved))
147
112
  .reduce((prev, next) => prev + next)).to.equal(Math.round(commitmentCount / 2));
148
- // Commit the commitments to the contract
149
113
  await batcher.run();
150
- // Get the batcher result from the db
151
- // Records should look like this in the db
152
- // [
153
- // {
154
- // _id: ObjectId("64008a2396cccd8e0b33f5b2"),
155
- // taskId: '0xa0e53b407a4f2254cc7d9626aff02c2032cf4a48898772a650d9016d880147f0',
156
- // processName: 'BatchCommitment',
157
- // datetime: ISODate("2023-03-02T11:36:03.077Z"),
158
- // status: 'Running',
159
- // __v: 0
160
- // },
161
- // {
162
- // _id: ObjectId("64008a2596cccd8e0b33f5b7"),
163
- // taskId: '0xa0e53b407a4f2254cc7d9626aff02c2032cf4a48898772a650d9016d880147f0',
164
- // processName: 'BatchCommitment',
165
- // datetime: ISODate("2023-03-02T11:36:05.962Z"),
166
- // status: 'Completed',
167
- // result: {
168
- // data: {
169
- // commitmentIds: [
170
- // '0x68b0425027636a9130fae67b6cad16a3686e0ce4afd7bc01ecc2504558cbde23',
171
- // '0x38ed96eeb240c2c3b5dbb7d29fad276317b5a6bb30094ddf0b845585503dd830', ...
172
114
  const batcherResult = await env.db.getLastScheduledTaskStatus(ScheduledTaskNames.BatchCommitment);
173
115
  console.log('batcherResult', batcherResult);
174
116
  if (!batcherResult ||
@@ -179,16 +121,11 @@ describe('BATCH TESTS', function () {
179
121
  if (batcherResult && batcherResult.result && batcherResult.result.data) {
180
122
  const processedCommitmentIds = batcherResult.result.data.commitmentIds;
181
123
  const processedCommitments = commitmentsBeforeBatching.filter((commitment) => processedCommitmentIds.indexOf(commitment.id.toString()) > -1);
182
- // Try to get unbatched commitments after batching
183
124
  const commitmentsFromDbAfter = await env.db.getUnbatchedDappUserCommitments();
184
- // Check that the number of batched commitments is equal to the number of commitments that were
185
- // processed by the batcher
186
125
  expect(commitmentsBeforeBatching.length - processedCommitments.length).to.equal(commitmentsFromDbAfter.length);
187
- // We have to wait for batched commitments to become available on-chain
188
126
  const waitTime = calcInterval(contractApi.api).toNumber() * 2;
189
127
  env.logger.debug(`waiting ${waitTime}ms for commitments to be available on-chain`);
190
128
  await sleep(waitTime);
191
- // Check the commitments are in the contract
192
129
  let count = 0;
193
130
  for (const commitment of processedCommitments) {
194
131
  const approved = count % 2 === 0 ? 'Approved' : 'Disapproved';
@@ -200,11 +137,9 @@ describe('BATCH TESTS', function () {
200
137
  expect(contractCommitment.status).to.be.equal(approved);
201
138
  count++;
202
139
  }
203
- // Check the last batch commitment time
204
140
  const lastBatchCommit = await providerTasks.db.getLastScheduledTaskStatus(ScheduledTaskNames.BatchCommitment);
205
141
  expect(lastBatchCommit).to.be.not.empty;
206
142
  expect(lastBatchCommit.status).to.be.equal('Completed');
207
- // Expect the last batch commitment time to be within the last 10 seconds
208
143
  if (lastBatchCommit !== undefined) {
209
144
  expect(+Date.now() - +lastBatchCommit?.datetime).to.be.lessThan(waitTime * 2);
210
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"commitments.test.js","sourceRoot":"","sources":["../../../src/tests/batch/commitments.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commitments.test.js","sourceRoot":"","sources":["../../../src/tests/batch/commitments.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.test.d.ts","sourceRoot":"","sources":["../../../src/tests/contract/helpers.test.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAM9C,OAAO,QAAQ,QAAQ,CAAC;IAEpB,UAAiB,WAAY,SAAQ,eAAe;KAAG;CAC1D"}
1
+ {"version":3,"file":"helpers.test.d.ts","sourceRoot":"","sources":["../../../src/tests/contract/helpers.test.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAO9C,OAAO,QAAQ,QAAQ,CAAC;IAEpB,UAAiB,WAAY,SAAQ,eAAe;KAAG;CAC1D"}
@@ -1,11 +1,12 @@
1
- import { BN, hexToU8a } from '@polkadot/util';
1
+ import { BN } from '@polkadot/util/bn';
2
2
  import { LogLevel, ProsopoEnvError, getLogger } from '@prosopo/common';
3
3
  import { MockEnvironment } from '@prosopo/env';
4
- import { TypeDefInfo } from '@polkadot/types-create';
4
+ import { TypeDefInfo } from '@polkadot/types-create/types';
5
5
  import { afterEach, beforeEach, describe, expect, test } from 'vitest';
6
6
  import { at } from '@prosopo/util';
7
7
  import { encodeStringArgs, getPairAsync, wrapQuery } from '@prosopo/contract';
8
8
  import { getTestConfig } from '@prosopo/config';
9
+ import { hexToU8a } from '@polkadot/util/hex';
9
10
  describe('CONTRACT HELPERS', function () {
10
11
  const log = getLogger(LogLevel.enum.info, 'TEST');
11
12
  beforeEach(async function (context) {
@@ -17,7 +18,6 @@ describe('CONTRACT HELPERS', function () {
17
18
  await context.env.isReady();
18
19
  }
19
20
  catch (e) {
20
- // TODO fix error handling
21
21
  throw new ProsopoEnvError(e);
22
22
  }
23
23
  const promiseStakeDefault = wrapQuery(context.env.getContractInterface().query.getProviderStakeThreshold, context.env.getContractInterface().query)();
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.test.js","sourceRoot":"","sources":["../../../src/tests/contract/helpers.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.test.js","sourceRoot":"","sources":["../../../src/tests/contract/helpers.test.ts"],"names":[],"mappings":"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"}
@@ -62,7 +62,6 @@ class DatabaseAccounts {
62
62
  return this._registeredDappUsers;
63
63
  }
64
64
  importDatabaseAccounts() {
65
- // eslint-disable-next-line @typescript-eslint/no-this-alias
66
65
  const self = this;
67
66
  return new Promise((resolve) => {
68
67
  readFile(getPath('import'), { encoding: 'utf-8' }, function (err, stringData) {