@prosopo/database 0.2.25 → 0.2.32
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.
- package/dist/cjs/contracts/captcha/dist/types-returns/captcha.cjs +62 -0
- package/dist/cjs/databases/mongo.cjs +23 -31
- package/dist/cjs/index.cjs +0 -3
- package/dist/databases/mongo.d.ts.map +1 -1
- package/dist/databases/mongo.js +58 -28
- package/dist/databases/mongo.js.map +1 -1
- package/dist/eventsDatabase/eventsDatabase.d.ts +1 -1
- package/dist/eventsDatabase/eventsDatabase.d.ts.map +1 -1
- package/dist/eventsDatabase/eventsDatabase.js +40 -16
- package/dist/eventsDatabase/eventsDatabase.js.map +1 -1
- package/package.json +6 -6
- package/dist/cjs/eventsDatabase/eventsDatabase.cjs +0 -47
- package/dist/cjs/eventsDatabase/index.cjs +0 -4
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
exports.Error = void 0;
|
|
4
|
+
(function(Error) {
|
|
5
|
+
Error["notAuthorised"] = "NotAuthorised";
|
|
6
|
+
Error["transferFailed"] = "TransferFailed";
|
|
7
|
+
Error["setCodeHashFailed"] = "SetCodeHashFailed";
|
|
8
|
+
Error["invalidDestination"] = "InvalidDestination";
|
|
9
|
+
Error["unknownMessage"] = "UnknownMessage";
|
|
10
|
+
Error["providerAccountExists"] = "ProviderAccountExists";
|
|
11
|
+
Error["providerExists"] = "ProviderExists";
|
|
12
|
+
Error["providerAccountDoesNotExist"] = "ProviderAccountDoesNotExist";
|
|
13
|
+
Error["providerDoesNotExist"] = "ProviderDoesNotExist";
|
|
14
|
+
Error["providerInsufficientFunds"] = "ProviderInsufficientFunds";
|
|
15
|
+
Error["providerInactive"] = "ProviderInactive";
|
|
16
|
+
Error["providerUrlUsed"] = "ProviderUrlUsed";
|
|
17
|
+
Error["dappExists"] = "DappExists";
|
|
18
|
+
Error["dappDoesNotExist"] = "DappDoesNotExist";
|
|
19
|
+
Error["dappInactive"] = "DappInactive";
|
|
20
|
+
Error["dappInsufficientFunds"] = "DappInsufficientFunds";
|
|
21
|
+
Error["captchaDataDoesNotExist"] = "CaptchaDataDoesNotExist";
|
|
22
|
+
Error["commitDoesNotExist"] = "CommitDoesNotExist";
|
|
23
|
+
Error["dappUserDoesNotExist"] = "DappUserDoesNotExist";
|
|
24
|
+
Error["noActiveProviders"] = "NoActiveProviders";
|
|
25
|
+
Error["datasetIdSolutionsSame"] = "DatasetIdSolutionsSame";
|
|
26
|
+
Error["codeNotFound"] = "CodeNotFound";
|
|
27
|
+
Error["unknown"] = "Unknown";
|
|
28
|
+
Error["invalidContract"] = "InvalidContract";
|
|
29
|
+
Error["invalidPayee"] = "InvalidPayee";
|
|
30
|
+
Error["invalidCaptchaStatus"] = "InvalidCaptchaStatus";
|
|
31
|
+
Error["noCorrectCaptcha"] = "NoCorrectCaptcha";
|
|
32
|
+
Error["notEnoughActiveProviders"] = "NotEnoughActiveProviders";
|
|
33
|
+
Error["providerFeeTooHigh"] = "ProviderFeeTooHigh";
|
|
34
|
+
Error["commitAlreadyExists"] = "CommitAlreadyExists";
|
|
35
|
+
Error["notAuthor"] = "NotAuthor";
|
|
36
|
+
})(exports.Error || (exports.Error = {}));
|
|
37
|
+
exports.LangError = void 0;
|
|
38
|
+
(function(LangError) {
|
|
39
|
+
LangError["couldNotReadInput"] = "CouldNotReadInput";
|
|
40
|
+
})(exports.LangError || (exports.LangError = {}));
|
|
41
|
+
exports.Payee = void 0;
|
|
42
|
+
(function(Payee) {
|
|
43
|
+
Payee["provider"] = "Provider";
|
|
44
|
+
Payee["dapp"] = "Dapp";
|
|
45
|
+
})(exports.Payee || (exports.Payee = {}));
|
|
46
|
+
exports.DappPayee = void 0;
|
|
47
|
+
(function(DappPayee) {
|
|
48
|
+
DappPayee["provider"] = "Provider";
|
|
49
|
+
DappPayee["dapp"] = "Dapp";
|
|
50
|
+
DappPayee["any"] = "Any";
|
|
51
|
+
})(exports.DappPayee || (exports.DappPayee = {}));
|
|
52
|
+
exports.GovernanceStatus = void 0;
|
|
53
|
+
(function(GovernanceStatus) {
|
|
54
|
+
GovernanceStatus["active"] = "Active";
|
|
55
|
+
GovernanceStatus["inactive"] = "Inactive";
|
|
56
|
+
})(exports.GovernanceStatus || (exports.GovernanceStatus = {}));
|
|
57
|
+
exports.CaptchaStatus = void 0;
|
|
58
|
+
(function(CaptchaStatus) {
|
|
59
|
+
CaptchaStatus["pending"] = "Pending";
|
|
60
|
+
CaptchaStatus["approved"] = "Approved";
|
|
61
|
+
CaptchaStatus["disapproved"] = "Disapproved";
|
|
62
|
+
})(exports.CaptchaStatus || (exports.CaptchaStatus = {}));
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
3
3
|
const common = require("@prosopo/common");
|
|
4
4
|
const types = require("@prosopo/types");
|
|
5
5
|
const typesDatabase = require("@prosopo/types-database");
|
|
6
|
-
const
|
|
6
|
+
const captcha = require("../contracts/captcha/dist/types-returns/captcha.cjs");
|
|
7
7
|
const mongodb = require("mongodb");
|
|
8
8
|
const is = require("@polkadot/util/is");
|
|
9
9
|
const mongoose = require("mongoose");
|
|
@@ -78,10 +78,10 @@ class ProsopoDatabase extends common.AsyncFactory {
|
|
|
78
78
|
}
|
|
79
79
|
/** Close connection to the database */
|
|
80
80
|
async close() {
|
|
81
|
-
this.logger.
|
|
81
|
+
this.logger.info(`Closing connection to ${this.url}`);
|
|
82
82
|
await new Promise(async (resolve, reject) => {
|
|
83
83
|
mongoose.connection.close().then(() => {
|
|
84
|
-
this.logger.
|
|
84
|
+
this.logger.info(`Connection to ${this.url} closed`);
|
|
85
85
|
resolve();
|
|
86
86
|
}).catch(reject);
|
|
87
87
|
});
|
|
@@ -93,7 +93,7 @@ class ProsopoDatabase extends common.AsyncFactory {
|
|
|
93
93
|
async storeDataset(dataset) {
|
|
94
94
|
var _a, _b, _c;
|
|
95
95
|
try {
|
|
96
|
-
this.logger.
|
|
96
|
+
this.logger.info(`Storing dataset in database`);
|
|
97
97
|
const parsedDataset = types.DatasetWithIdsAndTreeSchema.parse(dataset);
|
|
98
98
|
const datasetDoc = {
|
|
99
99
|
datasetId: parsedDataset.datasetId,
|
|
@@ -107,14 +107,14 @@ class ProsopoDatabase extends common.AsyncFactory {
|
|
|
107
107
|
{ $set: datasetDoc },
|
|
108
108
|
{ upsert: true }
|
|
109
109
|
));
|
|
110
|
-
const captchaDocs = parsedDataset.captchas.map(({ solution, ...
|
|
111
|
-
...
|
|
110
|
+
const captchaDocs = parsedDataset.captchas.map(({ solution, ...captcha2 }, index) => ({
|
|
111
|
+
...captcha2,
|
|
112
112
|
datasetId: parsedDataset.datasetId,
|
|
113
113
|
datasetContentId: parsedDataset.datasetContentId,
|
|
114
114
|
index,
|
|
115
115
|
solved: !!(solution == null ? void 0 : solution.length)
|
|
116
116
|
}));
|
|
117
|
-
this.logger.
|
|
117
|
+
this.logger.info(`Inserting captcha records`);
|
|
118
118
|
if (captchaDocs.length) {
|
|
119
119
|
await ((_b = this.tables) == null ? void 0 : _b.captcha.bulkWrite(
|
|
120
120
|
captchaDocs.map((captchaDoc) => ({
|
|
@@ -126,15 +126,15 @@ class ProsopoDatabase extends common.AsyncFactory {
|
|
|
126
126
|
}))
|
|
127
127
|
));
|
|
128
128
|
}
|
|
129
|
-
const captchaSolutionDocs = parsedDataset.captchas.filter(({ solution }) => solution == null ? void 0 : solution.length).map((
|
|
130
|
-
captchaId:
|
|
131
|
-
captchaContentId:
|
|
132
|
-
solution:
|
|
133
|
-
salt:
|
|
129
|
+
const captchaSolutionDocs = parsedDataset.captchas.filter(({ solution }) => solution == null ? void 0 : solution.length).map((captcha2) => ({
|
|
130
|
+
captchaId: captcha2.captchaId,
|
|
131
|
+
captchaContentId: captcha2.captchaContentId,
|
|
132
|
+
solution: captcha2.solution,
|
|
133
|
+
salt: captcha2.salt,
|
|
134
134
|
datasetId: parsedDataset.datasetId,
|
|
135
135
|
datasetContentId: parsedDataset.datasetContentId
|
|
136
136
|
}));
|
|
137
|
-
this.logger.
|
|
137
|
+
this.logger.info(`Inserting solution records`);
|
|
138
138
|
if (captchaSolutionDocs.length) {
|
|
139
139
|
await ((_c = this.tables) == null ? void 0 : _c.solution.bulkWrite(
|
|
140
140
|
captchaSolutionDocs.map((captchaSolutionDoc) => ({
|
|
@@ -146,19 +146,11 @@ class ProsopoDatabase extends common.AsyncFactory {
|
|
|
146
146
|
}))
|
|
147
147
|
));
|
|
148
148
|
}
|
|
149
|
-
this.logger.
|
|
149
|
+
this.logger.info(`Dataset stored in database`);
|
|
150
150
|
} catch (err) {
|
|
151
151
|
throw new common.ProsopoEnvError(err, "DATABASE.DATASET_LOAD_FAILED");
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
|
-
/** @description Get solutions for a dataset
|
|
155
|
-
* @param {string} datasetId
|
|
156
|
-
*/
|
|
157
|
-
async getSolutions(datasetId) {
|
|
158
|
-
var _a;
|
|
159
|
-
const docs = await ((_a = this.tables) == null ? void 0 : _a.solution.find({ datasetId }).lean());
|
|
160
|
-
return docs ? docs : [];
|
|
161
|
-
}
|
|
162
154
|
/** @description Get a dataset from the database
|
|
163
155
|
* @param {string} datasetId
|
|
164
156
|
*/
|
|
@@ -255,13 +247,13 @@ class ProsopoDatabase extends common.AsyncFactory {
|
|
|
255
247
|
* @param {Captcha} captcha
|
|
256
248
|
* @param {string} datasetId the id of the data set
|
|
257
249
|
*/
|
|
258
|
-
async updateCaptcha(
|
|
250
|
+
async updateCaptcha(captcha2, datasetId) {
|
|
259
251
|
var _a;
|
|
260
252
|
if (!is.isHex(datasetId)) {
|
|
261
253
|
throw new common.ProsopoEnvError("DATABASE.INVALID_HASH", this.updateCaptcha.name, {}, datasetId);
|
|
262
254
|
}
|
|
263
255
|
try {
|
|
264
|
-
await ((_a = this.tables) == null ? void 0 : _a.captcha.updateOne({ datasetId }, { $set:
|
|
256
|
+
await ((_a = this.tables) == null ? void 0 : _a.captcha.updateOne({ datasetId }, { $set: captcha2 }, { upsert: false }));
|
|
265
257
|
} catch (err) {
|
|
266
258
|
throw new common.ProsopoEnvError(err);
|
|
267
259
|
}
|
|
@@ -301,15 +293,15 @@ class ProsopoDatabase extends common.AsyncFactory {
|
|
|
301
293
|
commitmentRecord,
|
|
302
294
|
{ upsert: true }
|
|
303
295
|
));
|
|
304
|
-
const ops = captchas.map((
|
|
296
|
+
const ops = captchas.map((captcha2) => ({
|
|
305
297
|
updateOne: {
|
|
306
|
-
filter: { commitmentId: commit.id, captchaId:
|
|
298
|
+
filter: { commitmentId: commit.id, captchaId: captcha2.captchaId },
|
|
307
299
|
update: {
|
|
308
300
|
$set: {
|
|
309
|
-
captchaId:
|
|
310
|
-
captchaContentId:
|
|
311
|
-
salt:
|
|
312
|
-
solution:
|
|
301
|
+
captchaId: captcha2.captchaId,
|
|
302
|
+
captchaContentId: captcha2.captchaContentId,
|
|
303
|
+
salt: captcha2.salt,
|
|
304
|
+
solution: captcha2.solution,
|
|
313
305
|
commitmentId: commit.id,
|
|
314
306
|
processed: false
|
|
315
307
|
}
|
|
@@ -541,7 +533,7 @@ class ProsopoDatabase extends common.AsyncFactory {
|
|
|
541
533
|
try {
|
|
542
534
|
await ((_b = (_a = this.tables) == null ? void 0 : _a.commitment) == null ? void 0 : _b.findOneAndUpdate(
|
|
543
535
|
{ id: commitmentId },
|
|
544
|
-
{ $set: { status:
|
|
536
|
+
{ $set: { status: captcha.CaptchaStatus.approved } },
|
|
545
537
|
{ upsert: false }
|
|
546
538
|
).lean());
|
|
547
539
|
} catch (err) {
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const index = require("./databases/index.cjs");
|
|
4
|
-
require("./eventsDatabase/index.cjs");
|
|
5
|
-
const eventsDatabase = require("./eventsDatabase/eventsDatabase.cjs");
|
|
6
4
|
exports.Databases = index.Databases;
|
|
7
|
-
exports.saveCaptchaEvent = eventsDatabase.saveCaptchaEvent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongo.d.ts","sourceRoot":"","sources":["../../src/databases/mongo.ts"],"names":[],"mappings":";AAcA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"mongo.d.ts","sourceRoot":"","sources":["../../src/databases/mongo.ts"],"names":[],"mappings":"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"}
|
package/dist/databases/mongo.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AsyncFactory, ProsopoEnvError, getLoggerDefault } from '@prosopo/common';
|
|
1
|
+
import { AsyncFactory, ProsopoDBError, ProsopoEnvError, getLoggerDefault } from '@prosopo/common';
|
|
2
2
|
import { CaptchaStates, DatasetWithIdsAndTreeSchema, ScheduledTaskNames, ScheduledTaskStatus, } from '@prosopo/types';
|
|
3
3
|
import { CaptchaRecordSchema, DatasetRecordSchema, PendingRecordSchema, ScheduledTaskRecordSchema, ScheduledTaskSchema, SolutionRecordSchema, UserCommitmentRecordSchema, UserCommitmentSchema, UserSolutionRecordSchema, UserSolutionSchema, } from '@prosopo/types-database';
|
|
4
4
|
import { CaptchaStatus } from '@prosopo/captcha-contract/types-returns';
|
|
@@ -53,10 +53,11 @@ export class ProsopoDatabase extends AsyncFactory {
|
|
|
53
53
|
this.connection.model('Scheduler', ScheduledTaskRecordSchema),
|
|
54
54
|
};
|
|
55
55
|
this.connection.once('open', resolve).on('error', (e) => {
|
|
56
|
-
this.logger.warn(`mongoose connection error`);
|
|
57
|
-
this.logger.error(e);
|
|
58
56
|
if (attempt === MAX_RETRIES) {
|
|
59
|
-
reject(new
|
|
57
|
+
reject(new ProsopoDBError('DATABASE.CONNECT_ERROR', {
|
|
58
|
+
context: { url: this.url, error: e, attempt },
|
|
59
|
+
logger: this.logger,
|
|
60
|
+
}));
|
|
60
61
|
}
|
|
61
62
|
else {
|
|
62
63
|
this.connection?.removeAllListeners('error');
|
|
@@ -140,7 +141,10 @@ export class ProsopoDatabase extends AsyncFactory {
|
|
|
140
141
|
this.logger.debug(`Dataset stored in database`);
|
|
141
142
|
}
|
|
142
143
|
catch (err) {
|
|
143
|
-
throw new
|
|
144
|
+
throw new ProsopoDBError('DATABASE.DATASET_LOAD_FAILED', {
|
|
145
|
+
context: { failedFuncName: this.storeDataset.name, error: err },
|
|
146
|
+
logger: this.logger,
|
|
147
|
+
});
|
|
144
148
|
}
|
|
145
149
|
}
|
|
146
150
|
async getSolutions(datasetId) {
|
|
@@ -180,11 +184,15 @@ export class ProsopoDatabase extends AsyncFactory {
|
|
|
180
184
|
}),
|
|
181
185
|
};
|
|
182
186
|
}
|
|
183
|
-
throw new
|
|
187
|
+
throw new ProsopoDBError('DATABASE.DATASET_GET_FAILED', {
|
|
188
|
+
context: { failedFuncName: this.getDataset.name, datasetId },
|
|
189
|
+
});
|
|
184
190
|
}
|
|
185
191
|
async getRandomCaptcha(solved, datasetId, size) {
|
|
186
192
|
if (!isHex(datasetId)) {
|
|
187
|
-
throw new
|
|
193
|
+
throw new ProsopoDBError('DATABASE.INVALID_HASH', {
|
|
194
|
+
context: { failedFuncName: this.getRandomCaptcha.name, datasetId },
|
|
195
|
+
});
|
|
188
196
|
}
|
|
189
197
|
const sampleSize = size ? Math.abs(Math.trunc(size)) : 1;
|
|
190
198
|
const cursor = this.tables?.captcha.aggregate([
|
|
@@ -205,10 +213,8 @@ export class ProsopoDatabase extends AsyncFactory {
|
|
|
205
213
|
if (docs && docs.length) {
|
|
206
214
|
return docs.map(({ _id, ...keepAttrs }) => keepAttrs);
|
|
207
215
|
}
|
|
208
|
-
throw new
|
|
209
|
-
|
|
210
|
-
datasetId: datasetId,
|
|
211
|
-
size: size,
|
|
216
|
+
throw new ProsopoDBError('DATABASE.CAPTCHA_GET_FAILED', {
|
|
217
|
+
context: { failedFuncName: this.getRandomCaptcha.name, solved, datasetId, size },
|
|
212
218
|
});
|
|
213
219
|
}
|
|
214
220
|
async getCaptchaById(captchaId) {
|
|
@@ -217,17 +223,23 @@ export class ProsopoDatabase extends AsyncFactory {
|
|
|
217
223
|
if (docs && docs.length) {
|
|
218
224
|
return docs.map(({ _id, ...keepAttrs }) => keepAttrs);
|
|
219
225
|
}
|
|
220
|
-
throw new
|
|
226
|
+
throw new ProsopoDBError('DATABASE.CAPTCHA_GET_FAILED', {
|
|
227
|
+
context: { failedFuncName: this.getCaptchaById.name, captchaId },
|
|
228
|
+
});
|
|
221
229
|
}
|
|
222
230
|
async updateCaptcha(captcha, datasetId) {
|
|
223
231
|
if (!isHex(datasetId)) {
|
|
224
|
-
throw new
|
|
232
|
+
throw new ProsopoDBError('DATABASE.INVALID_HASH', {
|
|
233
|
+
context: { failedFuncName: this.updateCaptcha.name, datasetId },
|
|
234
|
+
});
|
|
225
235
|
}
|
|
226
236
|
try {
|
|
227
237
|
await this.tables?.captcha.updateOne({ datasetId }, { $set: captcha }, { upsert: false });
|
|
228
238
|
}
|
|
229
239
|
catch (err) {
|
|
230
|
-
throw new
|
|
240
|
+
throw new ProsopoDBError('DATABASE.CAPTCHA_UPDATE_FAILED', {
|
|
241
|
+
context: { failedFuncName: this.getDatasetDetails.name, error: err },
|
|
242
|
+
});
|
|
231
243
|
}
|
|
232
244
|
}
|
|
233
245
|
async removeCaptchas(captchaIds) {
|
|
@@ -235,13 +247,17 @@ export class ProsopoDatabase extends AsyncFactory {
|
|
|
235
247
|
}
|
|
236
248
|
async getDatasetDetails(datasetId) {
|
|
237
249
|
if (!isHex(datasetId)) {
|
|
238
|
-
throw new
|
|
250
|
+
throw new ProsopoDBError('DATABASE.INVALID_HASH', {
|
|
251
|
+
context: { failedFuncName: this.getDatasetDetails.name, datasetId },
|
|
252
|
+
});
|
|
239
253
|
}
|
|
240
254
|
const doc = await this.tables?.dataset.findOne({ datasetId }).lean();
|
|
241
255
|
if (doc) {
|
|
242
256
|
return doc;
|
|
243
257
|
}
|
|
244
|
-
throw new
|
|
258
|
+
throw new ProsopoDBError('DATABASE.DATASET_GET_FAILED', {
|
|
259
|
+
context: { failedFuncName: this.getDatasetDetails.name, datasetId },
|
|
260
|
+
});
|
|
245
261
|
}
|
|
246
262
|
async storeDappUserSolution(captchas, commit) {
|
|
247
263
|
const commitmentRecord = UserCommitmentSchema.parse(commit);
|
|
@@ -292,7 +308,9 @@ export class ProsopoDatabase extends AsyncFactory {
|
|
|
292
308
|
}
|
|
293
309
|
async storeDappUserPending(userAccount, requestHash, salt, deadlineTimestamp, requestedAtBlock) {
|
|
294
310
|
if (!isHex(requestHash)) {
|
|
295
|
-
throw new
|
|
311
|
+
throw new ProsopoDBError('DATABASE.INVALID_HASH', {
|
|
312
|
+
context: { failedFuncName: this.storeDappUserPending.name, requestHash },
|
|
313
|
+
});
|
|
296
314
|
}
|
|
297
315
|
const pendingRecord = {
|
|
298
316
|
accountId: userAccount,
|
|
@@ -306,7 +324,9 @@ export class ProsopoDatabase extends AsyncFactory {
|
|
|
306
324
|
}
|
|
307
325
|
async getDappUserPending(requestHash) {
|
|
308
326
|
if (!isHex(requestHash)) {
|
|
309
|
-
throw new ProsopoEnvError('DATABASE.INVALID_HASH',
|
|
327
|
+
throw new ProsopoEnvError('DATABASE.INVALID_HASH', {
|
|
328
|
+
context: { failedFuncName: this.getDappUserPending.name, requestHash },
|
|
329
|
+
});
|
|
310
330
|
}
|
|
311
331
|
const doc = await this.tables?.pending
|
|
312
332
|
.findOne({ requestHash: requestHash })
|
|
@@ -314,11 +334,15 @@ export class ProsopoDatabase extends AsyncFactory {
|
|
|
314
334
|
if (doc) {
|
|
315
335
|
return doc;
|
|
316
336
|
}
|
|
317
|
-
throw new ProsopoEnvError('DATABASE.PENDING_RECORD_NOT_FOUND',
|
|
337
|
+
throw new ProsopoEnvError('DATABASE.PENDING_RECORD_NOT_FOUND', {
|
|
338
|
+
context: { failedFuncName: this.getDappUserPending.name, requestHash },
|
|
339
|
+
});
|
|
318
340
|
}
|
|
319
341
|
async updateDappUserPendingStatus(userAccount, requestHash, approve) {
|
|
320
342
|
if (!isHex(requestHash)) {
|
|
321
|
-
throw new ProsopoEnvError('DATABASE.INVALID_HASH',
|
|
343
|
+
throw new ProsopoEnvError('DATABASE.INVALID_HASH', {
|
|
344
|
+
context: { failedFuncName: this.updateDappUserPendingStatus.name, requestHash },
|
|
345
|
+
});
|
|
322
346
|
}
|
|
323
347
|
await this.tables?.pending.updateOne({ requestHash: requestHash }, {
|
|
324
348
|
$set: {
|
|
@@ -374,11 +398,13 @@ export class ProsopoDatabase extends AsyncFactory {
|
|
|
374
398
|
if (docs && docs.length) {
|
|
375
399
|
return docs[0]._id;
|
|
376
400
|
}
|
|
377
|
-
throw new
|
|
401
|
+
throw new ProsopoDBError('DATABASE.DATASET_WITH_SOLUTIONS_GET_FAILED');
|
|
378
402
|
}
|
|
379
403
|
async getRandomSolvedCaptchasFromSingleDataset(datasetId, size) {
|
|
380
404
|
if (!isHex(datasetId)) {
|
|
381
|
-
throw new
|
|
405
|
+
throw new ProsopoDBError('DATABASE.INVALID_HASH', {
|
|
406
|
+
context: { failedFuncName: this.getRandomSolvedCaptchasFromSingleDataset.name, datasetId },
|
|
407
|
+
});
|
|
382
408
|
}
|
|
383
409
|
const sampleSize = size ? Math.abs(Math.trunc(size)) : 1;
|
|
384
410
|
const cursor = this.tables?.solution.aggregate([
|
|
@@ -396,7 +422,9 @@ export class ProsopoDatabase extends AsyncFactory {
|
|
|
396
422
|
if (docs && docs.length) {
|
|
397
423
|
return docs;
|
|
398
424
|
}
|
|
399
|
-
throw new
|
|
425
|
+
throw new ProsopoDBError('DATABASE.SOLUTION_GET_FAILED', {
|
|
426
|
+
context: { failedFuncName: this.getRandomSolvedCaptchasFromSingleDataset.name, datasetId, size },
|
|
427
|
+
});
|
|
400
428
|
}
|
|
401
429
|
async getDappUserSolutionById(commitmentId) {
|
|
402
430
|
const cursor = this.tables?.usersolution
|
|
@@ -408,7 +436,9 @@ export class ProsopoDatabase extends AsyncFactory {
|
|
|
408
436
|
if (doc) {
|
|
409
437
|
return doc;
|
|
410
438
|
}
|
|
411
|
-
throw new
|
|
439
|
+
throw new ProsopoDBError('DATABASE.SOLUTION_GET_FAILED', {
|
|
440
|
+
context: { failedFuncName: this.getCaptchaById.name, commitmentId },
|
|
441
|
+
});
|
|
412
442
|
}
|
|
413
443
|
async getDappUserCommitmentById(commitmentId) {
|
|
414
444
|
const commitmentCursor = this.tables?.commitment?.findOne({ id: commitmentId }).lean();
|
|
@@ -428,7 +458,7 @@ export class ProsopoDatabase extends AsyncFactory {
|
|
|
428
458
|
.lean();
|
|
429
459
|
}
|
|
430
460
|
catch (err) {
|
|
431
|
-
throw new
|
|
461
|
+
throw new ProsopoDBError('DATABASE.SOLUTION_APPROVE_FAILED', { context: { error: err, commitmentId } });
|
|
432
462
|
}
|
|
433
463
|
}
|
|
434
464
|
async flagProcessedDappUserSolutions(captchaIds) {
|
|
@@ -438,7 +468,7 @@ export class ProsopoDatabase extends AsyncFactory {
|
|
|
438
468
|
.lean();
|
|
439
469
|
}
|
|
440
470
|
catch (err) {
|
|
441
|
-
throw new
|
|
471
|
+
throw new ProsopoDBError('DATABASE.SOLUTION_FLAG_FAILED', { context: { error: err, captchaIds } });
|
|
442
472
|
}
|
|
443
473
|
}
|
|
444
474
|
async flagProcessedDappUserCommitments(commitmentIds) {
|
|
@@ -449,7 +479,7 @@ export class ProsopoDatabase extends AsyncFactory {
|
|
|
449
479
|
.lean();
|
|
450
480
|
}
|
|
451
481
|
catch (err) {
|
|
452
|
-
throw new
|
|
482
|
+
throw new ProsopoDBError('DATABASE.COMMITMENT_FLAG_FAILED', { context: { error: err, commitmentIds } });
|
|
453
483
|
}
|
|
454
484
|
}
|
|
455
485
|
async flagBatchedDappUserCommitments(commitmentIds) {
|
|
@@ -460,7 +490,7 @@ export class ProsopoDatabase extends AsyncFactory {
|
|
|
460
490
|
.lean();
|
|
461
491
|
}
|
|
462
492
|
catch (err) {
|
|
463
|
-
throw new
|
|
493
|
+
throw new ProsopoDBError('DATABASE.COMMITMENT_FLAG_FAILED', { context: { error: err, commitmentIds } });
|
|
464
494
|
}
|
|
465
495
|
}
|
|
466
496
|
async getLastBatchCommitTime() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongo.js","sourceRoot":"","sources":["../../src/databases/mongo.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mongo.js","sourceRoot":"","sources":["../../src/databases/mongo.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,YAAY,EAAU,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACzG,OAAO,EAGH,aAAa,EAIb,2BAA2B,EAE3B,kBAAkB,EAElB,mBAAmB,GACtB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACH,mBAAmB,EAEnB,mBAAmB,EACnB,mBAAmB,EAEnB,yBAAyB,EACzB,mBAAmB,EAEnB,oBAAoB,EAGpB,0BAA0B,EAC1B,oBAAoB,EAEpB,wBAAwB,EACxB,kBAAkB,GACrB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,aAAa,EAAQ,MAAM,yCAAyC,CAAA;AAC7E,OAAO,EAAgB,gBAAgB,EAAE,MAAM,SAAS,CAAA;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,QAAwB,MAAM,UAAU,CAAA;AAE/C,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;AAGlC,MAAM,gBAAgB,GAAG,2BAA2B,CAAA;AAQpD,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAO7C;QACI,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;QACb,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;QAChB,IAAI,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,MAAc,EAAE,MAAc,EAAE,UAAmB;QAC9E,MAAM,YAAY,GAAG,GAAG,IAAI,gBAAgB,CAAA;QAC5C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAA;QACvC,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAA;QAC3B,IAAI,UAAU,EAAE;YACZ,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;SACvD;QACD,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAA;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,OAAO,IAAI,CAAA;IACf,CAAC;IAKD,KAAK,CAAC,OAAO;QACT,MAAM,WAAW,GAAG,CAAC,CAAA;QACrB,MAAM,iBAAiB,GAAG,IAAI,CAAA;QAE9B,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE;YACrD,IAAI;gBAEA,IAAI,IAAI,CAAC,UAAU,EAAE;oBACjB,OAAM;iBACT;gBACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,CAAC,CAAA;oBAC9E,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE;wBAClD,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,SAAS,EAAE,gBAAgB,CAAC,EAAE;qBACjC,CAAC,CAAA;oBAEF,IAAI,CAAC,MAAM,GAAG;wBACV,OAAO,EACH,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,mBAAmB,CAAC;wBAC3F,OAAO,EACH,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,mBAAmB,CAAC;wBAC3F,QAAQ,EACJ,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,oBAAoB,CAAC;wBAC9F,UAAU,EACN,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc;4BACrC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,EAAE,0BAA0B,CAAC;wBACvE,YAAY,EACR,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY;4BACnC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,EAAE,wBAAwB,CAAC;wBACnE,OAAO,EACH,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,mBAAmB,CAAC;wBAC3F,SAAS,EACL,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS;4BAChC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,yBAAyB,CAAC;qBACpE,CAAA;oBAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;wBAEpD,IAAI,OAAO,KAAK,WAAW,EAAE;4BACzB,MAAM,CACF,IAAI,cAAc,CAAC,wBAAwB,EAAE;gCACzC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE;gCAC7C,MAAM,EAAE,IAAI,CAAC,MAAM;6BACtB,CAAC,CACL,CAAA;yBACJ;6BAAM;4BAEH,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAA;yBAC/C;oBACL,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAA;gBAEF,OAAM;aACT;YAAC,OAAO,CAAC,EAAE;gBAER,IAAI,OAAO,GAAG,WAAW,EAAE;oBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,OAAO,wBAAwB,iBAAiB,GAAG,IAAI,aAAa,CAAC,CAAA;oBACjG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAA;iBACzE;qBAAM;oBAEH,MAAM,CAAC,CAAA;iBACV;aACJ;SACJ;IACL,CAAC;IAGD,KAAK,CAAC,KAAK;QACP,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QAEtD,MAAM,IAAI,OAAO,CAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAiB,EAAE;YAC7D,QAAQ,CAAC,UAAU;iBACd,KAAK,EAAE;iBACP,IAAI,CAAC,GAAG,EAAE;gBACP,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,GAAG,SAAS,CAAC,CAAA;gBACrD,OAAO,EAAE,CAAA;YACb,CAAC,CAAC;iBACD,KAAK,CAAC,MAAM,CAAC,CAAA;QACtB,CAAC,CAAC,CAAA;IACN,CAAC;IAMD,KAAK,CAAC,YAAY,CAAC,OAA8B;QAC7C,IAAI;YACA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;YAChD,MAAM,aAAa,GAAG,2BAA2B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAChE,MAAM,UAAU,GAAG;gBACf,SAAS,EAAE,aAAa,CAAC,SAAS;gBAClC,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;gBAChD,MAAM,EAAE,aAAa,CAAC,MAAM;gBAC5B,WAAW,EAAE,aAAa,CAAC,WAAW;gBACtC,YAAY,EAAE,aAAa,CAAC,YAAY;aAC3C,CAAA;YAED,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAChC,EAAE,SAAS,EAAE,aAAa,CAAC,SAAS,EAAE,EACtC,EAAE,IAAI,EAAE,UAAU,EAAE,EACpB,EAAE,MAAM,EAAE,IAAI,EAAE,CACnB,CAAA;YAGD,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBACjF,GAAG,OAAO;gBACV,SAAS,EAAE,aAAa,CAAC,SAAS;gBAClC,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;gBAChD,KAAK;gBACL,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM;aAC7B,CAAC,CAAC,CAAA;YAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;YAE9C,IAAI,WAAW,CAAC,MAAM,EAAE;gBACpB,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAChC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;oBAC7B,SAAS,EAAE;wBACP,MAAM,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;wBAC3C,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;wBAC5B,MAAM,EAAE,IAAI;qBACf;iBACJ,CAAC,CAAC,CACN,CAAA;aACJ;YAGD,MAAM,mBAAmB,GAAG,aAAa,CAAC,QAAQ;iBAC7C,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;iBAC1C,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACf,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,SAAS,EAAE,aAAa,CAAC,SAAS;gBAClC,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;aACnD,CAAC,CAAC,CAAA;YAEP,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;YAE/C,IAAI,mBAAmB,CAAC,MAAM,EAAE;gBAC5B,MAAM,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CACjC,mBAAmB,CAAC,GAAG,CAAC,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;oBAC7C,SAAS,EAAE;wBACP,MAAM,EAAE,EAAE,SAAS,EAAE,kBAAkB,CAAC,SAAS,EAAE;wBACnD,MAAM,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE;wBACpC,MAAM,EAAE,IAAI;qBACf;iBACJ,CAAC,CAAC,CACN,CAAA;aACJ;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;SAClD;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,cAAc,CAAC,8BAA8B,EAAE;gBACrD,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC/D,MAAM,EAAE,IAAI,CAAC,MAAM;aACtB,CAAC,CAAA;SACL;IACL,CAAC;IAKD,KAAK,CAAC,YAAY,CAAC,SAAiB;QAChC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAoB,CAAA;QACrF,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IAC3B,CAAC;IAKD,KAAK,CAAC,UAAU,CAAC,SAAiB;QAC9B,MAAM,UAAU,GAAsC,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO;aAC3E,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;aACjC,IAAI,EAAE,CAAA;QAEX,IAAI,UAAU,EAAE;YACZ,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,UAAU,CAAA;YAE1E,MAAM,QAAQ,GAAc,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;YAEzF,MAAM,SAAS,GAAqB,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;YAElG,MAAM,cAAc,GAEhB,EAAE,CAAA;YACN,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;gBAC9B,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAA;aAChD;YACD,OAAO;gBACH,SAAS;gBACT,gBAAgB;gBAChB,MAAM;gBACN,WAAW,EAAE,WAAW,IAAI,EAAE;gBAC9B,YAAY,EAAE,YAAY,IAAI,EAAE;gBAChC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;oBAClC,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;oBAC/E,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;oBAC1C,OAAO;wBACH,SAAS;wBACT,gBAAgB;wBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,IAAI;wBACJ,KAAK;wBACL,MAAM;wBACN,QAAQ,EAAE,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAe;qBACtE,CAAA;gBACL,CAAC,CAAC;aACL,CAAA;SACJ;QACD,MAAM,IAAI,cAAc,CAAC,6BAA6B,EAAE;YACpD,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE;SAC/D,CAAC,CAAA;IACN,CAAC;IAQD,KAAK,CAAC,gBAAgB,CAAC,MAAe,EAAE,SAAe,EAAE,IAAa;QAClE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;YACnB,MAAM,IAAI,cAAc,CAAC,uBAAuB,EAAE;gBAC9C,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE;aACrE,CAAC,CAAA;SACL;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC;YAC1C,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;YACjC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;YACjC;gBACI,QAAQ,EAAE;oBACN,SAAS,EAAE,CAAC;oBACZ,gBAAgB,EAAE,CAAC;oBACnB,SAAS,EAAE,CAAC;oBACZ,gBAAgB,EAAE,CAAC;oBACnB,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,CAAC;iBACZ;aACJ;SACJ,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAA;QAEzB,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;YAErB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAc,CAAA;SACrE;QAED,MAAM,IAAI,cAAc,CAAC,6BAA6B,EAAE;YACpD,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE;SACnF,CAAC,CAAA;IACN,CAAC;IAMD,KAAK,CAAC,cAAc,CAAC,SAAmB;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAClF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAA;QAEzB,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;YAErB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAc,CAAA;SACrE;QAED,MAAM,IAAI,cAAc,CAAC,6BAA6B,EAAE;YACpD,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE;SACnE,CAAC,CAAA;IACN,CAAC;IAOD,KAAK,CAAC,aAAa,CAAC,OAAgB,EAAE,SAAe;QACjD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;YACnB,MAAM,IAAI,cAAc,CAAC,uBAAuB,EAAE;gBAC9C,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE;aAClE,CAAC,CAAA;SACL;QACD,IAAI;YACA,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;SAC5F;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,cAAc,CAAC,gCAAgC,EAAE;gBACvD,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;aACvE,CAAC,CAAA;SACL;IACL,CAAC;IAKD,KAAK,CAAC,cAAc,CAAC,UAAoB;QACrC,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;IAC7E,CAAC;IAKD,KAAK,CAAC,iBAAiB,CAAC,SAAe;QACnC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;YACnB,MAAM,IAAI,cAAc,CAAC,uBAAuB,EAAE;gBAC9C,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE;aACtE,CAAC,CAAA;SACL;QAED,MAAM,GAAG,GAAmC,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAEpG,IAAI,GAAG,EAAE;YACL,OAAO,GAAG,CAAA;SACb;QAED,MAAM,IAAI,cAAc,CAAC,6BAA6B,EAAE;YACpD,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE;SACtE,CAAC,CAAA;IACN,CAAC;IAKD,KAAK,CAAC,qBAAqB,CAAC,QAA2B,EAAE,MAA4B;QACjF,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC3D,IAAI,QAAQ,CAAC,MAAM,EAAE;YACjB,MAAM,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,CACnC;gBACI,EAAE,EAAE,MAAM,CAAC,EAAE;aAChB,EACD,gBAAgB,EAChB,EAAE,MAAM,EAAE,IAAI,EAAE,CACnB,CAAA;YAED,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAwB,EAAE,EAAE,CAAC,CAAC;gBACpD,SAAS,EAAE;oBACP,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE;oBACjE,MAAM,EAAE;wBACJ,IAAI,EAAsB;4BACtB,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;4BAC1C,IAAI,EAAE,OAAO,CAAC,IAAI;4BAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;4BAC1B,YAAY,EAAE,MAAM,CAAC,EAAE;4BACvB,SAAS,EAAE,KAAK;yBACnB;qBACJ;oBACD,MAAM,EAAE,IAAI;iBACf;aACJ,CAAC,CAAC,CAAA;YACH,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;SACjD;IACL,CAAC;IAID,KAAK,CAAC,6BAA6B;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAC7E,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACvE,CAAC;IAID,KAAK,CAAC,+BAA+B;QACjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAC3E,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;IAID,KAAK,CAAC,+BAA+B;QACjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAC1E,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;IAID,KAAK,CAAC,6BAA6B;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QACzE,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;IAID,KAAK,CAAC,gCAAgC,CAAC,aAAuB;QAC1D,OAAO,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;IAChH,CAAC;IAID,KAAK,CAAC,kCAAkC,CAAC,aAAuB;QAC5D,OAAO,MAAM,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;IACpG,CAAC;IAKD,KAAK,CAAC,oBAAoB,CACtB,WAAmB,EACnB,WAAmB,EACnB,IAAY,EACZ,iBAAyB,EACzB,gBAAwB;QAExB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;YACrB,MAAM,IAAI,cAAc,CAAC,uBAAuB,EAAE;gBAC9C,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE;aAC3E,CAAC,CAAA;SACL;QACD,MAAM,aAAa,GAAG;YAClB,SAAS,EAAE,WAAW;YACtB,OAAO,EAAE,IAAI;YACb,IAAI;YACJ,WAAW;YACX,iBAAiB;YACjB,gBAAgB;SACnB,CAAA;QACD,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;IACjH,CAAC;IAKD,KAAK,CAAC,kBAAkB,CAAC,WAAmB;QACxC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;YACrB,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE;gBAC/C,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE;aACzE,CAAC,CAAA;SACL;QAED,MAAM,GAAG,GAA6C,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO;aAC3E,OAAO,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;aACrC,IAAI,EAAE,CAAA;QAEX,IAAI,GAAG,EAAE;YACL,OAAO,GAAG,CAAA;SACb;QAED,MAAM,IAAI,eAAe,CAAC,mCAAmC,EAAE;YAC3D,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE;SACzE,CAAC,CAAA;IACN,CAAC;IAKD,KAAK,CAAC,2BAA2B,CAAC,WAAmB,EAAE,WAAmB,EAAE,OAAgB;QACxF,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;YACrB,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE;gBAC/C,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE,WAAW,EAAE;aAClF,CAAC,CAAA;SACL;QAED,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAChC,EAAE,WAAW,EAAE,WAAW,EAAE,EAC5B;YACI,IAAI,EAAE;gBACF,SAAS,EAAE,WAAW;gBACtB,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,OAAO;gBACjB,WAAW;aACd;SACJ,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACnB,CAAA;IACL,CAAC;IAKD,KAAK,CAAC,yBAAyB,CAAC,SAAiB,EAAE,KAAqB;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO;aAC9B,IAAI,CAAC;YACF,SAAS;YACT,MAAM,EAAE,KAAK,KAAK,aAAa,CAAC,MAAM;SACzC,CAAC;aACD,IAAI,EAAE,CAAA;QACX,MAAM,IAAI,GAAG,MAAM,MAAM,CAAA;QAEzB,IAAI,IAAI,EAAE;YAEN,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAc,CAAA;SACrE;QAED,MAAM,IAAI,eAAe,CAAC,6BAA6B,CAAC,CAAA;IAC5D,CAAC;IAKD,KAAK,CAAC,uBAAuB,CAAC,SAAmB;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QACxF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAA;QAEzB,IAAI,IAAI,EAAE;YAEN,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAyB,CAAA;SAChF;QAED,MAAM,IAAI,eAAe,CAAC,8BAA8B,CAAC,CAAA;IAC7D,CAAC;IAED,KAAK,CAAC,qCAAqC,CAAC,kBAA0B;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC;YAC3C;gBACI,MAAM,EAAE,EAAE;aACb;YACD;gBACI,MAAM,EAAE;oBACJ,GAAG,EAAE,YAAY;oBACjB,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;iBACrB;aACJ;YACD;gBACI,MAAM,EAAE;oBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE;iBACtC;aACJ;YACD;gBACI,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;aACvB;SACJ,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAA;QACzB,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;YAErB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;SACrB;QAED,MAAM,IAAI,cAAc,CAAC,4CAA4C,CAAC,CAAA;IAC1E,CAAC;IAED,KAAK,CAAC,wCAAwC,CAAC,SAAiB,EAAE,IAAY;QAC1E,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;YACnB,MAAM,IAAI,cAAc,CAAC,uBAAuB,EAAE;gBAC9C,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,wCAAwC,CAAC,IAAI,EAAE,SAAS,EAAE;aAC7F,CAAC,CAAA;SACL;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC;YAC3C,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE;YACzB,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;YACjC;gBACI,QAAQ,EAAE;oBACN,SAAS,EAAE,CAAC;oBACZ,gBAAgB,EAAE,CAAC;oBACnB,QAAQ,EAAE,CAAC;iBACd;aACJ;SACJ,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAA;QAEzB,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;YACrB,OAAO,IAAyB,CAAA;SACnC;QAED,MAAM,IAAI,cAAc,CAAC,8BAA8B,EAAE;YACrD,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,wCAAwC,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;SACnG,CAAC,CAAA;IACN,CAAC;IAMD,KAAK,CAAC,uBAAuB,CAAC,YAAoB;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY;YACpC,EAAE,OAAO,CACL;YACI,YAAY,EAAE,YAAY;SAC7B,EACD,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAC7B;aACA,IAAI,EAAE,CAAA;QACX,MAAM,GAAG,GAAG,MAAM,MAAM,CAAA;QAExB,IAAI,GAAG,EAAE;YACL,OAAO,GAAoC,CAAA;SAC9C;QAED,MAAM,IAAI,cAAc,CAAC,8BAA8B,EAAE;YACrD,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE;SACtE,CAAC,CAAA;IACN,CAAC;IAMD,KAAK,CAAC,yBAAyB,CAAC,YAAoB;QAChD,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAEtF,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAA;QAElC,OAAO,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC5D,CAAC;IAMD,KAAK,CAAC,8BAA8B,CAAC,WAAmB;QACpD,MAAM,IAAI,GAA8C,MAAM,IAAI,CAAC,MAAM,EAAE,UAAU;YACjF,EAAE,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;aACtB,IAAI,EAAE,CAAA;QAEX,OAAO,IAAI,CAAC,CAAC,CAAE,IAA+B,CAAC,CAAC,CAAC,EAAE,CAAA;IACvD,CAAC;IAMD,KAAK,CAAC,yBAAyB,CAAC,YAAoB;QAChD,IAAI;YACA,MAAM,IAAI,CAAC,MAAM,EAAE,UAAU;gBACzB,EAAE,gBAAgB,CACd,EAAE,EAAE,EAAE,YAAY,EAAE,EACpB,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE,EAAE,EAC5C,EAAE,MAAM,EAAE,KAAK,EAAE,CACpB;iBACA,IAAI,EAAE,CAAA;SACd;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,cAAc,CAAC,kCAAkC,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,CAAA;SAC1G;IACL,CAAC;IAMD,KAAK,CAAC,8BAA8B,CAAC,UAAkB;QACnD,IAAI;YACA,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY;gBAC3B,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;iBACjG,IAAI,EAAE,CAAA;SACd;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,cAAc,CAAC,+BAA+B,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;SACrG;IACL,CAAC;IAMD,KAAK,CAAC,gCAAgC,CAAC,aAAqB;QACxD,IAAI;YACA,MAAM,qBAAqB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAA;YACzD,MAAM,IAAI,CAAC,MAAM,EAAE,UAAU;gBACzB,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,qBAAqB,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;iBACrG,IAAI,EAAE,CAAA;SACd;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,cAAc,CAAC,iCAAiC,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;SAC1G;IACL,CAAC;IAMD,KAAK,CAAC,8BAA8B,CAAC,aAAqB;QACtD,IAAI;YACA,MAAM,qBAAqB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAA;YACzD,MAAM,IAAI,CAAC,MAAM,EAAE,UAAU;gBACzB,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,qBAAqB,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;iBACnG,IAAI,EAAE,CAAA;SACd;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,cAAc,CAAC,iCAAiC,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;SAC1G;IACL,CAAC;IAKD,KAAK,CAAC,sBAAsB;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS;YACjC,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,kBAAkB,CAAC,eAAe,EAAE,MAAM,EAAE,mBAAmB,CAAC,SAAS,EAAE,CAAC;aACpG,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;QAC5B,MAAM,GAAG,GAA2C,MAAM,MAAM,EAAE,IAAI,EAAE,CAAA;QAExE,IAAI,GAAG,EAAE;YACL,OAAO,GAAG,CAAC,QAAQ,CAAA;SACtB;QAED,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;IACtB,CAAC;IAKD,KAAK,CAAC,sBAAsB,CACxB,MAAc,EACd,MAA2B;QAE3B,MAAM,MAAM,GAA2C,MAAM,IAAI,CAAC,MAAM,EAAE,SAAS;YAC/E,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;aAC5C,IAAI,EAAE,CAAA;QACX,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;IACtC,CAAC;IAKD,KAAK,CAAC,0BAA0B,CAC5B,IAAwB,EACxB,MAA4B;QAE5B,MAAM,MAAM,GAGR,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;QACzB,IAAI,MAAM,EAAE;YACR,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAA;SAC5B;QACD,MAAM,MAAM,GAA2C,MAAM,IAAI,CAAC,MAAM,EAAE,SAAS;YAC/E,EAAE,OAAO,CAAC,MAAM,CAAC;aAChB,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC;aACtB,IAAI,EAAE,CAAA;QACX,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;IACtC,CAAC;IAKD,KAAK,CAAC,wBAAwB,CAC1B,MAAqB,EACrB,IAAwB,EACxB,MAA2B,EAC3B,MAA4B;QAE5B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;QACtB,MAAM,GAAG,GAAG,mBAAmB,CAAC,KAAK,CAAC;YAClC,MAAM;YACN,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,GAAG;YACb,MAAM;YACN,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC;SAC5B,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC5C,CAAC;CACJ"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { StoredEvents } from '@prosopo/types';
|
|
2
|
-
export declare const saveCaptchaEvent: (events: StoredEvents, accountId: string, atlasUri: string) => Promise<
|
|
2
|
+
export declare const saveCaptchaEvent: (events: StoredEvents, accountId: string, atlasUri: string) => Promise<unknown>;
|
|
3
3
|
//# sourceMappingURL=eventsDatabase.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventsDatabase.d.ts","sourceRoot":"","sources":["../../src/eventsDatabase/eventsDatabase.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"eventsDatabase.d.ts","sourceRoot":"","sources":["../../src/eventsDatabase/eventsDatabase.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,YAAY,EAAE,MAAM,gBAAgB,CAAA;AA+ChE,eAAO,MAAM,gBAAgB,WAAkB,YAAY,aAAa,MAAM,YAAY,MAAM,qBAiC/F,CAAA"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import { ProsopoDBError, getLoggerDefault } from '@prosopo/common';
|
|
1
2
|
import mongoose from 'mongoose';
|
|
3
|
+
const logger = getLoggerDefault();
|
|
4
|
+
const MAX_RETRIES = 3;
|
|
2
5
|
const captchaEventSchema = new mongoose.Schema({
|
|
3
6
|
touchEvents: [
|
|
4
7
|
{
|
|
@@ -18,34 +21,55 @@ const captchaEventSchema = new mongoose.Schema({
|
|
|
18
21
|
{
|
|
19
22
|
key: String,
|
|
20
23
|
timestamp: Number,
|
|
21
|
-
isShiftKey: Boolean,
|
|
22
|
-
isCtrlKey: Boolean,
|
|
24
|
+
isShiftKey: { type: Boolean, required: false },
|
|
25
|
+
isCtrlKey: { type: Boolean, required: false },
|
|
23
26
|
},
|
|
24
27
|
],
|
|
25
28
|
accountId: String,
|
|
26
29
|
});
|
|
27
|
-
|
|
30
|
+
let CaptchaEvent;
|
|
31
|
+
try {
|
|
32
|
+
CaptchaEvent = mongoose.model('CaptchaEvent');
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
CaptchaEvent = mongoose.model('CaptchaEvent', captchaEventSchema);
|
|
36
|
+
}
|
|
28
37
|
const addCaptchaEventRecord = async (record) => {
|
|
29
38
|
try {
|
|
30
39
|
const newRecord = new CaptchaEvent(record);
|
|
31
40
|
await newRecord.save();
|
|
32
|
-
|
|
41
|
+
logger.info('Record added successfully');
|
|
33
42
|
}
|
|
34
43
|
catch (error) {
|
|
35
|
-
|
|
44
|
+
logger.error('Error adding record to the database:', error);
|
|
36
45
|
}
|
|
37
46
|
};
|
|
38
47
|
export const saveCaptchaEvent = async (events, accountId, atlasUri) => {
|
|
39
|
-
|
|
40
|
-
.
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
return new Promise((resolve, reject) => {
|
|
49
|
+
const connection = mongoose.createConnection(atlasUri);
|
|
50
|
+
for (let attempt = 1; attempt <= MAX_RETRIES; attempt++) {
|
|
51
|
+
connection.once('open', resolve).on('error', (e) => {
|
|
52
|
+
logger.warn(`Mongoose connection error`);
|
|
53
|
+
logger.error(e);
|
|
54
|
+
if (attempt === MAX_RETRIES) {
|
|
55
|
+
reject(new ProsopoDBError('DATABASE.CONNECT_ERROR', {
|
|
56
|
+
context: { failedFuncName: saveCaptchaEvent.name, db: 'events database' },
|
|
57
|
+
logger: logger,
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
connection?.removeAllListeners('error');
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
const captchaEventData = {
|
|
66
|
+
...events,
|
|
67
|
+
accountId,
|
|
68
|
+
};
|
|
69
|
+
addCaptchaEventRecord(captchaEventData)
|
|
70
|
+
.then(() => logger.info('Captcha event data saved'))
|
|
71
|
+
.catch((error) => logger.error('Error saving captcha event data:', error))
|
|
72
|
+
.finally(() => connection.close());
|
|
73
|
+
});
|
|
50
74
|
};
|
|
51
75
|
//# sourceMappingURL=eventsDatabase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventsDatabase.js","sourceRoot":"","sources":["../../src/eventsDatabase/eventsDatabase.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"eventsDatabase.js","sourceRoot":"","sources":["../../src/eventsDatabase/eventsDatabase.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prosopo/database",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.32",
|
|
4
4
|
"description": "Prosopo database plugins for provider",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -37,11 +37,11 @@
|
|
|
37
37
|
"homepage": "https://github.com/prosopo/captcha#readme",
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@polkadot/util": "^12.5.1",
|
|
40
|
-
"@prosopo/captcha-contract": "0.2.
|
|
41
|
-
"@prosopo/common": "0.2.
|
|
42
|
-
"@prosopo/config": "0.2.
|
|
43
|
-
"@prosopo/types": "0.2.
|
|
44
|
-
"@prosopo/types-database": "0.2.
|
|
40
|
+
"@prosopo/captcha-contract": "0.2.32",
|
|
41
|
+
"@prosopo/common": "0.2.32",
|
|
42
|
+
"@prosopo/config": "0.2.32",
|
|
43
|
+
"@prosopo/types": "0.2.32",
|
|
44
|
+
"@prosopo/types-database": "0.2.32",
|
|
45
45
|
"mongodb": "5.8.0",
|
|
46
46
|
"mongodb-memory-server": "^8.7.2",
|
|
47
47
|
"mongoose": "^7.3.3"
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const mongoose = require("mongoose");
|
|
4
|
-
const captchaEventSchema = new mongoose.Schema({
|
|
5
|
-
touchEvents: [
|
|
6
|
-
{
|
|
7
|
-
x: Number,
|
|
8
|
-
y: Number,
|
|
9
|
-
timestamp: Number
|
|
10
|
-
}
|
|
11
|
-
],
|
|
12
|
-
mouseEvents: [
|
|
13
|
-
{
|
|
14
|
-
x: Number,
|
|
15
|
-
y: Number,
|
|
16
|
-
timestamp: Number
|
|
17
|
-
}
|
|
18
|
-
],
|
|
19
|
-
keyboardEvents: [
|
|
20
|
-
{
|
|
21
|
-
key: String,
|
|
22
|
-
timestamp: Number,
|
|
23
|
-
isShiftKey: Boolean,
|
|
24
|
-
isCtrlKey: Boolean
|
|
25
|
-
}
|
|
26
|
-
],
|
|
27
|
-
accountId: String
|
|
28
|
-
});
|
|
29
|
-
const CaptchaEvent = mongoose.model("CaptchaEvent", captchaEventSchema);
|
|
30
|
-
const addCaptchaEventRecord = async (record) => {
|
|
31
|
-
try {
|
|
32
|
-
const newRecord = new CaptchaEvent(record);
|
|
33
|
-
await newRecord.save();
|
|
34
|
-
console.log("Record added successfully");
|
|
35
|
-
} catch (error) {
|
|
36
|
-
console.error("Error adding record to the database:", error);
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
const saveCaptchaEvent = async (events, accountId, atlasUri) => {
|
|
40
|
-
await mongoose.connect(atlasUri).then(() => console.log("Connected to MongoDB Atlas")).catch((err) => console.error("Error connecting to MongoDB:", err));
|
|
41
|
-
const captchaEventData = {
|
|
42
|
-
...events,
|
|
43
|
-
accountId
|
|
44
|
-
};
|
|
45
|
-
addCaptchaEventRecord(captchaEventData).then(() => console.log("Captcha event data saved")).catch((error) => console.error("Error saving captcha event data:", error));
|
|
46
|
-
};
|
|
47
|
-
exports.saveCaptchaEvent = saveCaptchaEvent;
|