@prosopo/provider 0.2.1 → 0.2.4
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/api/captcha.js +2 -1
- package/dist/api/captcha.js.map +1 -1
- package/dist/batch/commitments.d.ts +3 -2
- package/dist/batch/commitments.d.ts.map +1 -1
- package/dist/batch/commitments.js +2 -3
- package/dist/batch/commitments.js.map +1 -1
- package/dist/cjs/api/captcha.cjs +3 -1
- package/dist/cjs/batch/commitments.cjs +2 -3
- package/dist/cjs/contracts/captcha/dist/build-extrinsic/captcha.cjs +339 -0
- package/dist/cjs/contracts/captcha/dist/contract-info/captcha.cjs +6 -0
- package/dist/cjs/contracts/captcha/dist/contracts/captcha.cjs +79 -0
- package/dist/cjs/contracts/captcha/dist/data/captcha.json.cjs +3374 -0
- package/dist/cjs/contracts/captcha/dist/event-data/captcha.json.cjs +3 -0
- package/dist/cjs/contracts/captcha/dist/events/captcha.cjs +23 -0
- package/dist/cjs/contracts/captcha/dist/index.cjs +44 -0
- package/dist/cjs/contracts/captcha/dist/mixed-methods/captcha.cjs +470 -0
- package/dist/cjs/contracts/captcha/dist/query/captcha.cjs +468 -0
- package/dist/cjs/contracts/captcha/dist/shared/utils.cjs +31 -0
- package/dist/cjs/contracts/captcha/dist/tx-sign-and-send/captcha.cjs +426 -0
- package/dist/cjs/contracts/captcha/dist/types-arguments/captcha.cjs +62 -0
- package/dist/cjs/tasks/tasks.cjs +14 -13
- package/dist/tasks/tasks.d.ts +3 -2
- package/dist/tasks/tasks.d.ts.map +1 -1
- package/dist/tasks/tasks.js +2 -15
- package/dist/tasks/tasks.js.map +1 -1
- package/package.json +16 -11
|
@@ -0,0 +1,426 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const typechainTypes = require("@727-ventures/typechain-types");
|
|
3
|
+
const utils = require("../shared/utils.cjs");
|
|
4
|
+
const captcha = require("../event-data/captcha.json.cjs");
|
|
5
|
+
class Methods {
|
|
6
|
+
constructor(apiPromise, nativeContract, keyringPair) {
|
|
7
|
+
this.__apiPromise = apiPromise;
|
|
8
|
+
this.__nativeContract = nativeContract;
|
|
9
|
+
this.__keyringPair = keyringPair;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* getGitCommitId
|
|
13
|
+
*
|
|
14
|
+
*/
|
|
15
|
+
getGitCommitId(__options) {
|
|
16
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "getGitCommitId", (events) => {
|
|
17
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
18
|
+
}, [], __options);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* getAdmin
|
|
22
|
+
*
|
|
23
|
+
*/
|
|
24
|
+
getAdmin(__options) {
|
|
25
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "getAdmin", (events) => {
|
|
26
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
27
|
+
}, [], __options);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* getPayees
|
|
31
|
+
*
|
|
32
|
+
*/
|
|
33
|
+
getPayees(__options) {
|
|
34
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "getPayees", (events) => {
|
|
35
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
36
|
+
}, [], __options);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* getDappPayees
|
|
40
|
+
*
|
|
41
|
+
*/
|
|
42
|
+
getDappPayees(__options) {
|
|
43
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "getDappPayees", (events) => {
|
|
44
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
45
|
+
}, [], __options);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* getStatuses
|
|
49
|
+
*
|
|
50
|
+
*/
|
|
51
|
+
getStatuses(__options) {
|
|
52
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "getStatuses", (events) => {
|
|
53
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
54
|
+
}, [], __options);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* getProviderStakeThreshold
|
|
58
|
+
*
|
|
59
|
+
*/
|
|
60
|
+
getProviderStakeThreshold(__options) {
|
|
61
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "getProviderStakeThreshold", (events) => {
|
|
62
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
63
|
+
}, [], __options);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* getDappStakeThreshold
|
|
67
|
+
*
|
|
68
|
+
*/
|
|
69
|
+
getDappStakeThreshold(__options) {
|
|
70
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "getDappStakeThreshold", (events) => {
|
|
71
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
72
|
+
}, [], __options);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* getMaxProviderFee
|
|
76
|
+
*
|
|
77
|
+
*/
|
|
78
|
+
getMaxProviderFee(__options) {
|
|
79
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "getMaxProviderFee", (events) => {
|
|
80
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
81
|
+
}, [], __options);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* getMinNumActiveProviders
|
|
85
|
+
*
|
|
86
|
+
*/
|
|
87
|
+
getMinNumActiveProviders(__options) {
|
|
88
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "getMinNumActiveProviders", (events) => {
|
|
89
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
90
|
+
}, [], __options);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* getBlockTime
|
|
94
|
+
*
|
|
95
|
+
*/
|
|
96
|
+
getBlockTime(__options) {
|
|
97
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "getBlockTime", (events) => {
|
|
98
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
99
|
+
}, [], __options);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* getMaxUserHistoryAgeSeconds
|
|
103
|
+
*
|
|
104
|
+
*/
|
|
105
|
+
getMaxUserHistoryAgeSeconds(__options) {
|
|
106
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "getMaxUserHistoryAgeSeconds", (events) => {
|
|
107
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
108
|
+
}, [], __options);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* getMaxUserHistoryLen
|
|
112
|
+
*
|
|
113
|
+
*/
|
|
114
|
+
getMaxUserHistoryLen(__options) {
|
|
115
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "getMaxUserHistoryLen", (events) => {
|
|
116
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
117
|
+
}, [], __options);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* getMaxUserHistoryAgeBlocks
|
|
121
|
+
*
|
|
122
|
+
*/
|
|
123
|
+
getMaxUserHistoryAgeBlocks(__options) {
|
|
124
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "getMaxUserHistoryAgeBlocks", (events) => {
|
|
125
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
126
|
+
}, [], __options);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* providerRegister
|
|
130
|
+
*
|
|
131
|
+
* @param { Array<(number | string | BN)> } url,
|
|
132
|
+
* @param { (number | string | BN) } fee,
|
|
133
|
+
* @param { ArgumentTypes.Payee } payee,
|
|
134
|
+
*/
|
|
135
|
+
providerRegister(url, fee, payee, __options) {
|
|
136
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "providerRegister", (events) => {
|
|
137
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
138
|
+
}, [url, fee, payee], __options);
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* providerUpdate
|
|
142
|
+
*
|
|
143
|
+
* @param { Array<(number | string | BN)> } url,
|
|
144
|
+
* @param { (number | string | BN) } fee,
|
|
145
|
+
* @param { ArgumentTypes.Payee } payee,
|
|
146
|
+
*/
|
|
147
|
+
providerUpdate(url, fee, payee, __options) {
|
|
148
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "providerUpdate", (events) => {
|
|
149
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
150
|
+
}, [url, fee, payee], __options);
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* providerDeactivate
|
|
154
|
+
*
|
|
155
|
+
*/
|
|
156
|
+
providerDeactivate(__options) {
|
|
157
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "providerDeactivate", (events) => {
|
|
158
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
159
|
+
}, [], __options);
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* providerDeregister
|
|
163
|
+
*
|
|
164
|
+
*/
|
|
165
|
+
providerDeregister(__options) {
|
|
166
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "providerDeregister", (events) => {
|
|
167
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
168
|
+
}, [], __options);
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* getProvider
|
|
172
|
+
*
|
|
173
|
+
* @param { ArgumentTypes.AccountId } account,
|
|
174
|
+
*/
|
|
175
|
+
getProvider(account, __options) {
|
|
176
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "getProvider", (events) => {
|
|
177
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
178
|
+
}, [account], __options);
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* providerFund
|
|
182
|
+
*
|
|
183
|
+
*/
|
|
184
|
+
providerFund(__options) {
|
|
185
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "providerFund", (events) => {
|
|
186
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
187
|
+
}, [], __options);
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* providerSetDataset
|
|
191
|
+
*
|
|
192
|
+
* @param { ArgumentTypes.Hash } datasetId,
|
|
193
|
+
* @param { ArgumentTypes.Hash } datasetIdContent,
|
|
194
|
+
*/
|
|
195
|
+
providerSetDataset(datasetId, datasetIdContent, __options) {
|
|
196
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "providerSetDataset", (events) => {
|
|
197
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
198
|
+
}, [datasetId, datasetIdContent], __options);
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* getDapp
|
|
202
|
+
*
|
|
203
|
+
* @param { ArgumentTypes.AccountId } contract,
|
|
204
|
+
*/
|
|
205
|
+
getDapp(contract, __options) {
|
|
206
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "getDapp", (events) => {
|
|
207
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
208
|
+
}, [contract], __options);
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* dappRegister
|
|
212
|
+
*
|
|
213
|
+
* @param { ArgumentTypes.AccountId } contract,
|
|
214
|
+
* @param { ArgumentTypes.DappPayee } payee,
|
|
215
|
+
*/
|
|
216
|
+
dappRegister(contract, payee, __options) {
|
|
217
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "dappRegister", (events) => {
|
|
218
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
219
|
+
}, [contract, payee], __options);
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* dappUpdate
|
|
223
|
+
*
|
|
224
|
+
* @param { ArgumentTypes.AccountId } contract,
|
|
225
|
+
* @param { ArgumentTypes.DappPayee } payee,
|
|
226
|
+
* @param { ArgumentTypes.AccountId } owner,
|
|
227
|
+
*/
|
|
228
|
+
dappUpdate(contract, payee, owner, __options) {
|
|
229
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "dappUpdate", (events) => {
|
|
230
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
231
|
+
}, [contract, payee, owner], __options);
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* dappFund
|
|
235
|
+
*
|
|
236
|
+
* @param { ArgumentTypes.AccountId } contract,
|
|
237
|
+
*/
|
|
238
|
+
dappFund(contract, __options) {
|
|
239
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "dappFund", (events) => {
|
|
240
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
241
|
+
}, [contract], __options);
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* dappDeregister
|
|
245
|
+
*
|
|
246
|
+
* @param { ArgumentTypes.AccountId } contract,
|
|
247
|
+
*/
|
|
248
|
+
dappDeregister(contract, __options) {
|
|
249
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "dappDeregister", (events) => {
|
|
250
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
251
|
+
}, [contract], __options);
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* dappDeactivate
|
|
255
|
+
*
|
|
256
|
+
* @param { ArgumentTypes.AccountId } contract,
|
|
257
|
+
*/
|
|
258
|
+
dappDeactivate(contract, __options) {
|
|
259
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "dappDeactivate", (events) => {
|
|
260
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
261
|
+
}, [contract], __options);
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* getUserHistorySummary
|
|
265
|
+
*
|
|
266
|
+
* @param { ArgumentTypes.AccountId } userAccount,
|
|
267
|
+
*/
|
|
268
|
+
getUserHistorySummary(userAccount, __options) {
|
|
269
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "getUserHistorySummary", (events) => {
|
|
270
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
271
|
+
}, [userAccount], __options);
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* providerCommit
|
|
275
|
+
*
|
|
276
|
+
* @param { ArgumentTypes.Commit } commit,
|
|
277
|
+
*/
|
|
278
|
+
providerCommit(commit, __options) {
|
|
279
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "providerCommit", (events) => {
|
|
280
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
281
|
+
}, [commit], __options);
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* providerCommitMany
|
|
285
|
+
*
|
|
286
|
+
* @param { Array<ArgumentTypes.Commit> } commits,
|
|
287
|
+
*/
|
|
288
|
+
providerCommitMany(commits, __options) {
|
|
289
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "providerCommitMany", (events) => {
|
|
290
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
291
|
+
}, [commits], __options);
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* dappOperatorIsHumanUser
|
|
295
|
+
*
|
|
296
|
+
* @param { ArgumentTypes.AccountId } userAccount,
|
|
297
|
+
* @param { (number | string | BN) } threshold,
|
|
298
|
+
*/
|
|
299
|
+
dappOperatorIsHumanUser(userAccount, threshold, __options) {
|
|
300
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "dappOperatorIsHumanUser", (events) => {
|
|
301
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
302
|
+
}, [userAccount, threshold], __options);
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* dappOperatorLastCorrectCaptcha
|
|
306
|
+
*
|
|
307
|
+
* @param { ArgumentTypes.AccountId } userAccount,
|
|
308
|
+
*/
|
|
309
|
+
dappOperatorLastCorrectCaptcha(userAccount, __options) {
|
|
310
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "dappOperatorLastCorrectCaptcha", (events) => {
|
|
311
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
312
|
+
}, [userAccount], __options);
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* getCaptchaData
|
|
316
|
+
*
|
|
317
|
+
* @param { ArgumentTypes.Hash } datasetId,
|
|
318
|
+
*/
|
|
319
|
+
getCaptchaData(datasetId, __options) {
|
|
320
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "getCaptchaData", (events) => {
|
|
321
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
322
|
+
}, [datasetId], __options);
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* getUser
|
|
326
|
+
*
|
|
327
|
+
* @param { ArgumentTypes.AccountId } userAccount,
|
|
328
|
+
*/
|
|
329
|
+
getUser(userAccount, __options) {
|
|
330
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "getUser", (events) => {
|
|
331
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
332
|
+
}, [userAccount], __options);
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* getCommit
|
|
336
|
+
*
|
|
337
|
+
* @param { ArgumentTypes.Hash } commitId,
|
|
338
|
+
*/
|
|
339
|
+
getCommit(commitId, __options) {
|
|
340
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "getCommit", (events) => {
|
|
341
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
342
|
+
}, [commitId], __options);
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* listProvidersByAccounts
|
|
346
|
+
*
|
|
347
|
+
* @param { Array<ArgumentTypes.AccountId> } providerAccounts,
|
|
348
|
+
*/
|
|
349
|
+
listProvidersByAccounts(providerAccounts, __options) {
|
|
350
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "listProvidersByAccounts", (events) => {
|
|
351
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
352
|
+
}, [providerAccounts], __options);
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* listProvidersByStatus
|
|
356
|
+
*
|
|
357
|
+
* @param { Array<ArgumentTypes.GovernanceStatus> } statuses,
|
|
358
|
+
*/
|
|
359
|
+
listProvidersByStatus(statuses, __options) {
|
|
360
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "listProvidersByStatus", (events) => {
|
|
361
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
362
|
+
}, [statuses], __options);
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* getRandomActiveProvider
|
|
366
|
+
*
|
|
367
|
+
* @param { ArgumentTypes.AccountId } userAccount,
|
|
368
|
+
* @param { ArgumentTypes.AccountId } dappContract,
|
|
369
|
+
*/
|
|
370
|
+
getRandomActiveProvider(userAccount, dappContract, __options) {
|
|
371
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "getRandomActiveProvider", (events) => {
|
|
372
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
373
|
+
}, [userAccount, dappContract], __options);
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* getAllProviderAccounts
|
|
377
|
+
*
|
|
378
|
+
*/
|
|
379
|
+
getAllProviderAccounts(__options) {
|
|
380
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "getAllProviderAccounts", (events) => {
|
|
381
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
382
|
+
}, [], __options);
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* getRandomNumber
|
|
386
|
+
*
|
|
387
|
+
* @param { (string | number | BN) } len,
|
|
388
|
+
* @param { ArgumentTypes.AccountId } userAccount,
|
|
389
|
+
* @param { ArgumentTypes.AccountId } dappContract,
|
|
390
|
+
*/
|
|
391
|
+
getRandomNumber(len, userAccount, dappContract, __options) {
|
|
392
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "getRandomNumber", (events) => {
|
|
393
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
394
|
+
}, [len, userAccount, dappContract], __options);
|
|
395
|
+
}
|
|
396
|
+
/**
|
|
397
|
+
* terminate
|
|
398
|
+
*
|
|
399
|
+
*/
|
|
400
|
+
terminate(__options) {
|
|
401
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "terminate", (events) => {
|
|
402
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
403
|
+
}, [], __options);
|
|
404
|
+
}
|
|
405
|
+
/**
|
|
406
|
+
* withdraw
|
|
407
|
+
*
|
|
408
|
+
* @param { (string | number | BN) } amount,
|
|
409
|
+
*/
|
|
410
|
+
withdraw(amount, __options) {
|
|
411
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "withdraw", (events) => {
|
|
412
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
413
|
+
}, [amount], __options);
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* setCodeHash
|
|
417
|
+
*
|
|
418
|
+
* @param { Array<(number | string | BN)> } codeHash,
|
|
419
|
+
*/
|
|
420
|
+
setCodeHash(codeHash, __options) {
|
|
421
|
+
return typechainTypes.txSignAndSend(this.__apiPromise, this.__nativeContract, this.__keyringPair, "setCodeHash", (events) => {
|
|
422
|
+
return utils.decodeEvents(events, this.__nativeContract, captcha);
|
|
423
|
+
}, [codeHash], __options);
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
module.exports = Methods;
|
|
@@ -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 = {}));
|
package/dist/cjs/tasks/tasks.cjs
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const types = require("@prosopo/types");
|
|
4
3
|
const datasets = require("@prosopo/datasets");
|
|
4
|
+
require("../contracts/captcha/dist/index.cjs");
|
|
5
5
|
const common = require("@prosopo/common");
|
|
6
6
|
const contract = require("@prosopo/contract");
|
|
7
7
|
const util$2 = require("@prosopo/util");
|
|
8
8
|
const util$1 = require("@polkadot/util");
|
|
9
9
|
const utilCrypto = require("@polkadot/util-crypto");
|
|
10
10
|
const util = require("../util.cjs");
|
|
11
|
+
const captcha = require("../contracts/captcha/dist/types-arguments/captcha.cjs");
|
|
11
12
|
class Tasks {
|
|
12
13
|
constructor(env) {
|
|
13
14
|
if (!env.contractInterface) {
|
|
@@ -35,7 +36,7 @@ class Tasks {
|
|
|
35
36
|
if (datasetRaw.captchas.length < this.config.captchas.solved.count + this.config.captchas.unsolved.count) {
|
|
36
37
|
throw new common.ProsopoEnvError("DATASET.CAPTCHAS_COUNT_LESS_THAN_CONFIGURED", this.providerSetDataset.name);
|
|
37
38
|
}
|
|
38
|
-
const solutions = datasetRaw.captchas.map((
|
|
39
|
+
const solutions = datasetRaw.captchas.map((captcha2) => captcha2.solution ? 1 : 0).reduce((partialSum, b) => partialSum + b, 0);
|
|
39
40
|
if (solutions < this.config.captchas.solved.count) {
|
|
40
41
|
throw new common.ProsopoEnvError("DATASET.SOLUTIONS_COUNT_LESS_THAN_CONFIGURED", this.providerSetDataset.name);
|
|
41
42
|
}
|
|
@@ -64,15 +65,15 @@ class Tasks {
|
|
|
64
65
|
const captchaDocs = await this.db.getRandomCaptcha(solved, datasetId, size);
|
|
65
66
|
if (captchaDocs) {
|
|
66
67
|
const captchas = [];
|
|
67
|
-
for (const
|
|
68
|
+
for (const captcha2 of captchaDocs) {
|
|
68
69
|
const datasetDetails = await this.db.getDatasetDetails(datasetId);
|
|
69
70
|
const tree = new datasets.CaptchaMerkleTree();
|
|
70
71
|
if (datasetDetails.contentTree) {
|
|
71
72
|
tree.layers = datasetDetails.contentTree;
|
|
72
|
-
const proof = tree.proof(
|
|
73
|
-
delete
|
|
74
|
-
|
|
75
|
-
captchas.push({ captcha, proof });
|
|
73
|
+
const proof = tree.proof(captcha2.captchaContentId);
|
|
74
|
+
delete captcha2.solution;
|
|
75
|
+
captcha2.items = util.shuffleArray(captcha2.items);
|
|
76
|
+
captchas.push({ captcha: captcha2, proof });
|
|
76
77
|
}
|
|
77
78
|
}
|
|
78
79
|
return captchas;
|
|
@@ -124,7 +125,7 @@ class Tasks {
|
|
|
124
125
|
dappContract: dappAccount,
|
|
125
126
|
providerAccount: this.contract.pair.address,
|
|
126
127
|
datasetId: provider.datasetId.toString(),
|
|
127
|
-
status:
|
|
128
|
+
status: captcha.CaptchaStatus.pending,
|
|
128
129
|
userSignature: Array.from(userSignature),
|
|
129
130
|
requestedAt: pendingRecord.requestedAtBlock,
|
|
130
131
|
// TODO is this correct or should it be block number?
|
|
@@ -181,7 +182,7 @@ class Tasks {
|
|
|
181
182
|
*/
|
|
182
183
|
async validateReceivedCaptchasAgainstStoredCaptchas(captchas) {
|
|
183
184
|
const receivedCaptchas = datasets.parseAndSortCaptchaSolutions(captchas);
|
|
184
|
-
const captchaIds = receivedCaptchas.map((
|
|
185
|
+
const captchaIds = receivedCaptchas.map((captcha2) => captcha2.captchaId);
|
|
185
186
|
const storedCaptchas = await this.db.getCaptchaById(captchaIds);
|
|
186
187
|
if (!storedCaptchas || receivedCaptchas.length !== storedCaptchas.length) {
|
|
187
188
|
throw new common.ProsopoEnvError(
|
|
@@ -191,7 +192,7 @@ class Tasks {
|
|
|
191
192
|
captchas
|
|
192
193
|
);
|
|
193
194
|
}
|
|
194
|
-
if (!storedCaptchas.every((
|
|
195
|
+
if (!storedCaptchas.every((captcha2) => captcha2.datasetId === util$2.at(storedCaptchas, 0).datasetId)) {
|
|
195
196
|
throw new common.ProsopoEnvError(
|
|
196
197
|
"CAPTCHA.DIFFERENT_DATASET_IDS",
|
|
197
198
|
this.validateReceivedCaptchasAgainstStoredCaptchas.name,
|
|
@@ -209,7 +210,7 @@ class Tasks {
|
|
|
209
210
|
async buildTreeAndGetCommitmentId(captchaSolutions) {
|
|
210
211
|
var _a;
|
|
211
212
|
const tree = new datasets.CaptchaMerkleTree();
|
|
212
|
-
const solutionsHashed = captchaSolutions.map((
|
|
213
|
+
const solutionsHashed = captchaSolutions.map((captcha2) => datasets.computeCaptchaSolutionHash(captcha2));
|
|
213
214
|
tree.build(solutionsHashed);
|
|
214
215
|
const commitmentId = (_a = tree.root) == null ? void 0 : _a.hash;
|
|
215
216
|
if (!commitmentId) {
|
|
@@ -269,7 +270,7 @@ class Tasks {
|
|
|
269
270
|
salt
|
|
270
271
|
);
|
|
271
272
|
const currentTime = Date.now();
|
|
272
|
-
const timeLimit = captchas.map((
|
|
273
|
+
const timeLimit = captchas.map((captcha2) => captcha2.captcha.timeLimitMs || 3e4).reduce((a, b) => a + b, 0);
|
|
273
274
|
const deadlineTs = timeLimit + currentTime;
|
|
274
275
|
const currentBlockNumber = await contract.getBlockNumber(this.contract.api);
|
|
275
276
|
await this.db.storeDappUserPending(userAccount, requestHash, salt, deadlineTs, currentBlockNumber.toNumber());
|
|
@@ -377,7 +378,7 @@ class Tasks {
|
|
|
377
378
|
const dappUserSolutions = await this.db.getDappUserCommitmentByAccount(userAccount);
|
|
378
379
|
if (dappUserSolutions.length > 0) {
|
|
379
380
|
for (const dappUserSolution of dappUserSolutions) {
|
|
380
|
-
if (dappUserSolution.status ===
|
|
381
|
+
if (dappUserSolution.status === captcha.CaptchaStatus.approved) {
|
|
381
382
|
return dappUserSolution;
|
|
382
383
|
}
|
|
383
384
|
}
|
package/dist/tasks/tasks.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { ArgumentTypes, Captcha, CaptchaConfig, CaptchaSolution, CaptchaSolutionConfig, CaptchaWithProof, DappUserSolutionResult, DatasetRaw, DatasetWithIds, Hash, PendingCaptchaRequest, ProsopoConfig, Provider, ProviderRegistered } from '@prosopo/types';
|
|
2
1
|
import { Header } from '@polkadot/types/interfaces';
|
|
2
|
+
import { Captcha, CaptchaConfig, CaptchaSolution, CaptchaSolutionConfig, CaptchaWithProof, DappUserSolutionResult, DatasetRaw, DatasetWithIds, Hash, PendingCaptchaRequest, ProsopoConfig, ProviderRegistered } from '@prosopo/types';
|
|
3
3
|
import { CaptchaMerkleTree } from '@prosopo/datasets';
|
|
4
|
+
import { Provider } from '@prosopo/captcha-contract';
|
|
4
5
|
import { ContractPromise } from '@polkadot/api-contract';
|
|
5
6
|
import { Database, UserCommitmentRecord } from '@prosopo/types-database';
|
|
6
7
|
import { Logger } from '@prosopo/common';
|
|
@@ -26,7 +27,7 @@ export declare class Tasks {
|
|
|
26
27
|
* @param {boolean} solved `true` when captcha is solved
|
|
27
28
|
* @param {number} size the number of records to be returned
|
|
28
29
|
*/
|
|
29
|
-
getCaptchaWithProof(datasetId:
|
|
30
|
+
getCaptchaWithProof(datasetId: Hash, solved: boolean, size: number): Promise<CaptchaWithProof[]>;
|
|
30
31
|
/**
|
|
31
32
|
* Validate and store the text captcha solution(s) from the Dapp User in a web2 environment
|
|
32
33
|
* @param {string} userAccount
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/tasks/tasks.ts"],"names":[],"mappings":"AAaA,OAAO,
|
|
1
|
+
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/tasks/tasks.ts"],"names":[],"mappings":"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"}
|
package/dist/tasks/tasks.js
CHANGED
|
@@ -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 { ArgumentTypes, CaptchaStatus, } from '@prosopo/types';
|
|
15
1
|
import { CaptchaMerkleTree, buildDataset, compareCaptchaSolutions, computeCaptchaSolutionHash, computePendingRequestHash, parseAndSortCaptchaSolutions, parseCaptchaDataset, } from '@prosopo/datasets';
|
|
2
|
+
import { CaptchaStatus } from '@prosopo/captcha-contract';
|
|
16
3
|
import { ProsopoEnvError, getLogger } from '@prosopo/common';
|
|
17
4
|
import { getBlockNumber, wrapQuery } from '@prosopo/contract';
|
|
18
5
|
import { at } from '@prosopo/util';
|
|
@@ -346,7 +333,7 @@ export class Tasks {
|
|
|
346
333
|
const dappUserSolutions = await this.db.getDappUserCommitmentByAccount(userAccount);
|
|
347
334
|
if (dappUserSolutions.length > 0) {
|
|
348
335
|
for (const dappUserSolution of dappUserSolutions) {
|
|
349
|
-
if (dappUserSolution.status ===
|
|
336
|
+
if (dappUserSolution.status === CaptchaStatus.approved) {
|
|
350
337
|
return dappUserSolution;
|
|
351
338
|
}
|
|
352
339
|
}
|