@prosopo/provider 2.1.6 → 2.1.7

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 (263) hide show
  1. package/package.json +11 -11
  2. package/.dockerignore +0 -5
  3. package/dist/api/admin.d.ts +0 -4
  4. package/dist/api/admin.d.ts.map +0 -1
  5. package/dist/api/admin.js +0 -36
  6. package/dist/api/admin.js.map +0 -1
  7. package/dist/api/authMiddleware.d.ts +0 -6
  8. package/dist/api/authMiddleware.d.ts.map +0 -1
  9. package/dist/api/authMiddleware.js +0 -66
  10. package/dist/api/authMiddleware.js.map +0 -1
  11. package/dist/api/captcha.d.ts +0 -4
  12. package/dist/api/captcha.d.ts.map +0 -1
  13. package/dist/api/captcha.js +0 -299
  14. package/dist/api/captcha.js.map +0 -1
  15. package/dist/api/captchaScheduler.d.ts +0 -4
  16. package/dist/api/captchaScheduler.d.ts.map +0 -1
  17. package/dist/api/captchaScheduler.js +0 -17
  18. package/dist/api/captchaScheduler.js.map +0 -1
  19. package/dist/api/errorHandler.d.ts +0 -11
  20. package/dist/api/errorHandler.d.ts.map +0 -1
  21. package/dist/api/errorHandler.js +0 -42
  22. package/dist/api/errorHandler.js.map +0 -1
  23. package/dist/api/verify.d.ts +0 -4
  24. package/dist/api/verify.d.ts.map +0 -1
  25. package/dist/api/verify.js +0 -98
  26. package/dist/api/verify.js.map +0 -1
  27. package/dist/batch/commitments.d.ts +0 -24
  28. package/dist/batch/commitments.d.ts.map +0 -1
  29. package/dist/batch/commitments.js +0 -130
  30. package/dist/batch/commitments.js.map +0 -1
  31. package/dist/batch/index.d.ts +0 -2
  32. package/dist/batch/index.d.ts.map +0 -1
  33. package/dist/batch/index.js +0 -2
  34. package/dist/batch/index.js.map +0 -1
  35. package/dist/cjs/api/admin.cjs +0 -37
  36. package/dist/cjs/api/authMiddleware.cjs +0 -66
  37. package/dist/cjs/api/captcha.cjs +0 -380
  38. package/dist/cjs/api/errorHandler.cjs +0 -42
  39. package/dist/cjs/api/verify.cjs +0 -120
  40. package/dist/cjs/index.cjs +0 -25
  41. package/dist/cjs/schedulers/captchaScheduler.cjs +0 -33
  42. package/dist/cjs/schedulers/getClientList.cjs +0 -31
  43. package/dist/cjs/tasks/client/clientTasks.cjs +0 -148
  44. package/dist/cjs/tasks/dataset/datasetTasks.cjs +0 -30
  45. package/dist/cjs/tasks/dataset/datasetTasksUtils.cjs +0 -34
  46. package/dist/cjs/tasks/detection/decodePayload.cjs +0 -549
  47. package/dist/cjs/tasks/detection/getBotScore.cjs +0 -18
  48. package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +0 -313
  49. package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasksUtils.cjs +0 -25
  50. package/dist/cjs/tasks/index.cjs +0 -4
  51. package/dist/cjs/tasks/powCaptcha/powTasks.cjs +0 -134
  52. package/dist/cjs/tasks/powCaptcha/powTasksUtils.cjs +0 -26
  53. package/dist/cjs/tasks/tasks.cjs +0 -40
  54. package/dist/cjs/util.cjs +0 -45
  55. package/dist/index.d.ts +0 -10
  56. package/dist/index.d.ts.map +0 -1
  57. package/dist/index.js +0 -10
  58. package/dist/index.js.map +0 -1
  59. package/dist/scheduler.d.ts +0 -4
  60. package/dist/scheduler.d.ts.map +0 -1
  61. package/dist/scheduler.js +0 -21
  62. package/dist/scheduler.js.map +0 -1
  63. package/dist/schedulers/captchaScheduler.d.ts +0 -4
  64. package/dist/schedulers/captchaScheduler.d.ts.map +0 -1
  65. package/dist/schedulers/captchaScheduler.js +0 -28
  66. package/dist/schedulers/captchaScheduler.js.map +0 -1
  67. package/dist/schedulers/getClientList.d.ts +0 -4
  68. package/dist/schedulers/getClientList.d.ts.map +0 -1
  69. package/dist/schedulers/getClientList.js +0 -28
  70. package/dist/schedulers/getClientList.js.map +0 -1
  71. package/dist/tasks/client/clientTasks.d.ts +0 -13
  72. package/dist/tasks/client/clientTasks.d.ts.map +0 -1
  73. package/dist/tasks/client/clientTasks.js +0 -87
  74. package/dist/tasks/client/clientTasks.js.map +0 -1
  75. package/dist/tasks/dataset/datasetTasks.d.ts +0 -13
  76. package/dist/tasks/dataset/datasetTasks.d.ts.map +0 -1
  77. package/dist/tasks/dataset/datasetTasks.js +0 -19
  78. package/dist/tasks/dataset/datasetTasks.js.map +0 -1
  79. package/dist/tasks/dataset/datasetTasksUtils.d.ts +0 -3
  80. package/dist/tasks/dataset/datasetTasksUtils.d.ts.map +0 -1
  81. package/dist/tasks/dataset/datasetTasksUtils.js +0 -34
  82. package/dist/tasks/dataset/datasetTasksUtils.js.map +0 -1
  83. package/dist/tasks/detection/decodePayload.d.ts +0 -3
  84. package/dist/tasks/detection/decodePayload.d.ts.map +0 -1
  85. package/dist/tasks/detection/decodePayload.js +0 -302
  86. package/dist/tasks/detection/decodePayload.js.map +0 -1
  87. package/dist/tasks/detection/getBotScore.d.ts +0 -2
  88. package/dist/tasks/detection/getBotScore.d.ts.map +0 -1
  89. package/dist/tasks/detection/getBotScore.js +0 -17
  90. package/dist/tasks/detection/getBotScore.js.map +0 -1
  91. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts +0 -29
  92. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +0 -1
  93. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +0 -242
  94. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +0 -1
  95. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts +0 -7
  96. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts.map +0 -1
  97. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js +0 -18
  98. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js.map +0 -1
  99. package/dist/tasks/index.d.ts +0 -2
  100. package/dist/tasks/index.d.ts.map +0 -1
  101. package/dist/tasks/index.js +0 -2
  102. package/dist/tasks/index.js.map +0 -1
  103. package/dist/tasks/powCaptcha/powTasks.d.ts +0 -13
  104. package/dist/tasks/powCaptcha/powTasks.d.ts.map +0 -1
  105. package/dist/tasks/powCaptcha/powTasks.js +0 -84
  106. package/dist/tasks/powCaptcha/powTasks.js.map +0 -1
  107. package/dist/tasks/powCaptcha/powTasksUtils.d.ts +0 -3
  108. package/dist/tasks/powCaptcha/powTasksUtils.d.ts.map +0 -1
  109. package/dist/tasks/powCaptcha/powTasksUtils.js +0 -22
  110. package/dist/tasks/powCaptcha/powTasksUtils.js.map +0 -1
  111. package/dist/tasks/tasks.d.ts +0 -22
  112. package/dist/tasks/tasks.d.ts.map +0 -1
  113. package/dist/tasks/tasks.js +0 -24
  114. package/dist/tasks/tasks.js.map +0 -1
  115. package/dist/tests/accounts.d.ts +0 -12
  116. package/dist/tests/accounts.d.ts.map +0 -1
  117. package/dist/tests/accounts.js +0 -35
  118. package/dist/tests/accounts.js.map +0 -1
  119. package/dist/tests/contract/helpers.test.d.ts +0 -6
  120. package/dist/tests/contract/helpers.test.d.ts.map +0 -1
  121. package/dist/tests/contract/helpers.test.js +0 -54
  122. package/dist/tests/contract/helpers.test.js.map +0 -1
  123. package/dist/tests/dataUtils/DatabaseAccounts.d.ts +0 -35
  124. package/dist/tests/dataUtils/DatabaseAccounts.d.ts.map +0 -1
  125. package/dist/tests/dataUtils/DatabaseAccounts.js +0 -84
  126. package/dist/tests/dataUtils/DatabaseAccounts.js.map +0 -1
  127. package/dist/tests/dataUtils/DatabasePopulator.d.ts +0 -73
  128. package/dist/tests/dataUtils/DatabasePopulator.d.ts.map +0 -1
  129. package/dist/tests/dataUtils/DatabasePopulator.js +0 -326
  130. package/dist/tests/dataUtils/DatabasePopulator.js.map +0 -1
  131. package/dist/tests/dataUtils/dapp-example-contract/dapp.json +0 -648
  132. package/dist/tests/dataUtils/dapp-example-contract/loadFiles.d.ts +0 -4
  133. package/dist/tests/dataUtils/dapp-example-contract/loadFiles.d.ts.map +0 -1
  134. package/dist/tests/dataUtils/dapp-example-contract/loadFiles.js +0 -27
  135. package/dist/tests/dataUtils/dapp-example-contract/loadFiles.js.map +0 -1
  136. package/dist/tests/dataUtils/funds.d.ts +0 -9
  137. package/dist/tests/dataUtils/funds.d.ts.map +0 -1
  138. package/dist/tests/dataUtils/funds.js +0 -105
  139. package/dist/tests/dataUtils/funds.js.map +0 -1
  140. package/dist/tests/dataUtils/populateDatabase.d.ts +0 -16
  141. package/dist/tests/dataUtils/populateDatabase.d.ts.map +0 -1
  142. package/dist/tests/dataUtils/populateDatabase.js +0 -72
  143. package/dist/tests/dataUtils/populateDatabase.js.map +0 -1
  144. package/dist/tests/getUser.d.ts +0 -4
  145. package/dist/tests/getUser.d.ts.map +0 -1
  146. package/dist/tests/getUser.js +0 -18
  147. package/dist/tests/getUser.js.map +0 -1
  148. package/dist/tests/index.d.ts +0 -2
  149. package/dist/tests/index.d.ts.map +0 -1
  150. package/dist/tests/index.js +0 -2
  151. package/dist/tests/index.js.map +0 -1
  152. package/dist/tests/integration/imgCaptcha.integration.test.d.ts +0 -2
  153. package/dist/tests/integration/imgCaptcha.integration.test.d.ts.map +0 -1
  154. package/dist/tests/integration/imgCaptcha.integration.test.js +0 -137
  155. package/dist/tests/integration/imgCaptcha.integration.test.js.map +0 -1
  156. package/dist/tests/integration/imgCaptcha.test.d.ts +0 -2
  157. package/dist/tests/integration/imgCaptcha.test.d.ts.map +0 -1
  158. package/dist/tests/integration/imgCaptcha.test.js +0 -103
  159. package/dist/tests/integration/imgCaptcha.test.js.map +0 -1
  160. package/dist/tests/integration/mocks/solvedTestCaptchas.d.ts +0 -32
  161. package/dist/tests/integration/mocks/solvedTestCaptchas.d.ts.map +0 -1
  162. package/dist/tests/integration/mocks/solvedTestCaptchas.js +0 -1046
  163. package/dist/tests/integration/mocks/solvedTestCaptchas.js.map +0 -1
  164. package/dist/tests/integration/powCaptcha.integration.test.d.ts +0 -2
  165. package/dist/tests/integration/powCaptcha.integration.test.d.ts.map +0 -1
  166. package/dist/tests/integration/powCaptcha.integration.test.js +0 -222
  167. package/dist/tests/integration/powCaptcha.integration.test.js.map +0 -1
  168. package/dist/tests/integration/powCaptcha.test.d.ts +0 -2
  169. package/dist/tests/integration/powCaptcha.test.d.ts.map +0 -1
  170. package/dist/tests/integration/powCaptcha.test.js +0 -133
  171. package/dist/tests/integration/powCaptcha.test.js.map +0 -1
  172. package/dist/tests/integration/registerSitekey.d.ts +0 -2
  173. package/dist/tests/integration/registerSitekey.d.ts.map +0 -1
  174. package/dist/tests/integration/registerSitekey.js +0 -28
  175. package/dist/tests/integration/registerSitekey.js.map +0 -1
  176. package/dist/tests/tasks/tasks.test.d.ts +0 -6
  177. package/dist/tests/tasks/tasks.test.d.ts.map +0 -1
  178. package/dist/tests/tasks/tasks.test.js +0 -636
  179. package/dist/tests/tasks/tasks.test.js.map +0 -1
  180. package/dist/tests/unit/api/authMiddleware.test.d.ts +0 -2
  181. package/dist/tests/unit/api/authMiddleware.test.d.ts.map +0 -1
  182. package/dist/tests/unit/api/authMiddleware.test.js +0 -87
  183. package/dist/tests/unit/api/authMiddleware.test.js.map +0 -1
  184. package/dist/tests/unit/api/authMiddleware.unit.test.d.ts +0 -2
  185. package/dist/tests/unit/api/authMiddleware.unit.test.d.ts.map +0 -1
  186. package/dist/tests/unit/api/authMiddleware.unit.test.js +0 -108
  187. package/dist/tests/unit/api/authMiddleware.unit.test.js.map +0 -1
  188. package/dist/tests/unit/api/captchaScheduler.test.d.ts +0 -2
  189. package/dist/tests/unit/api/captchaScheduler.test.d.ts.map +0 -1
  190. package/dist/tests/unit/api/captchaScheduler.test.js +0 -47
  191. package/dist/tests/unit/api/captchaScheduler.test.js.map +0 -1
  192. package/dist/tests/unit/api/errorHandler.test.d.ts +0 -2
  193. package/dist/tests/unit/api/errorHandler.test.d.ts.map +0 -1
  194. package/dist/tests/unit/api/errorHandler.test.js +0 -65
  195. package/dist/tests/unit/api/errorHandler.test.js.map +0 -1
  196. package/dist/tests/unit/api/errorHandler.unit.test.d.ts +0 -2
  197. package/dist/tests/unit/api/errorHandler.unit.test.d.ts.map +0 -1
  198. package/dist/tests/unit/api/errorHandler.unit.test.js +0 -100
  199. package/dist/tests/unit/api/errorHandler.unit.test.js.map +0 -1
  200. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.d.ts +0 -2
  201. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.d.ts.map +0 -1
  202. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js +0 -63
  203. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js.map +0 -1
  204. package/dist/tests/unit/tasks/client/clientTasks.unit.test.d.ts +0 -2
  205. package/dist/tests/unit/tasks/client/clientTasks.unit.test.d.ts.map +0 -1
  206. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js +0 -172
  207. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js.map +0 -1
  208. package/dist/tests/unit/tasks/dataset/datasetTasks.test.d.ts +0 -2
  209. package/dist/tests/unit/tasks/dataset/datasetTasks.test.d.ts.map +0 -1
  210. package/dist/tests/unit/tasks/dataset/datasetTasks.test.js +0 -82
  211. package/dist/tests/unit/tasks/dataset/datasetTasks.test.js.map +0 -1
  212. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.d.ts +0 -2
  213. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.d.ts.map +0 -1
  214. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.js +0 -86
  215. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.js.map +0 -1
  216. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.test.d.ts +0 -2
  217. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.test.d.ts.map +0 -1
  218. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.test.js +0 -75
  219. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.test.js.map +0 -1
  220. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.d.ts +0 -2
  221. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.d.ts.map +0 -1
  222. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js +0 -75
  223. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js.map +0 -1
  224. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.test.d.ts +0 -2
  225. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.test.d.ts.map +0 -1
  226. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.test.js +0 -245
  227. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.test.js.map +0 -1
  228. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.d.ts +0 -2
  229. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.d.ts.map +0 -1
  230. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js +0 -266
  231. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js.map +0 -1
  232. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.test.d.ts +0 -2
  233. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.test.d.ts.map +0 -1
  234. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.test.js +0 -45
  235. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.test.js.map +0 -1
  236. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.d.ts +0 -2
  237. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.d.ts.map +0 -1
  238. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js +0 -46
  239. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js.map +0 -1
  240. package/dist/tests/unit/tasks/powCaptcha/powTasks.test.d.ts +0 -2
  241. package/dist/tests/unit/tasks/powCaptcha/powTasks.test.d.ts.map +0 -1
  242. package/dist/tests/unit/tasks/powCaptcha/powTasks.test.js +0 -121
  243. package/dist/tests/unit/tasks/powCaptcha/powTasks.test.js.map +0 -1
  244. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.d.ts +0 -2
  245. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.d.ts.map +0 -1
  246. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js +0 -209
  247. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js.map +0 -1
  248. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.test.d.ts +0 -2
  249. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.test.d.ts.map +0 -1
  250. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.test.js +0 -94
  251. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.test.js.map +0 -1
  252. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.d.ts +0 -2
  253. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.d.ts.map +0 -1
  254. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js +0 -65
  255. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js.map +0 -1
  256. package/dist/tests/util.test.d.ts +0 -2
  257. package/dist/tests/util.test.d.ts.map +0 -1
  258. package/dist/tests/util.test.js +0 -23
  259. package/dist/tests/util.test.js.map +0 -1
  260. package/dist/util.d.ts +0 -6
  261. package/dist/util.d.ts.map +0 -1
  262. package/dist/util.js +0 -34
  263. package/dist/util.js.map +0 -1
@@ -1,326 +0,0 @@
1
- import { BN, BN_ZERO } from '@polkadot/util/bn';
2
- import { ContractDeployer, getPairAsync, wrapQuery } from '@prosopo/contract';
3
- import { DappPayee, Payee } from '@prosopo/captcha-contract/types-returns';
4
- import { ProsopoContractError, ProsopoEnvError, getLogLevel, getLogger } from '@prosopo/common';
5
- import { Tasks } from '../../tasks/index.js';
6
- import { TransactionQueue, submitTx } from '@prosopo/tx';
7
- import { sendFunds as _sendFunds, getSendAmount, getStakeAmount } from './funds.js';
8
- import { accountAddress, accountContract, accountMnemonic } from '../accounts.js';
9
- import { createType } from '@polkadot/types/create';
10
- import { datasetWithSolutionHashes } from '@prosopo/datasets';
11
- import { get } from '@prosopo/util';
12
- import { mnemonicGenerate } from '@polkadot/util-crypto/mnemonic';
13
- import { randomAsHex } from '@polkadot/util-crypto/random';
14
- import { stringToU8a } from '@polkadot/util/string';
15
- const urlBase = 'http://localhost';
16
- const PROVIDER_FEE = 10;
17
- const PROVIDER_PAYEE = Payee.dapp;
18
- export var IDatabasePopulatorMethodNames;
19
- (function (IDatabasePopulatorMethodNames) {
20
- IDatabasePopulatorMethodNames["registerProvider"] = "registerProvider";
21
- IDatabasePopulatorMethodNames["registerProviderWithStake"] = "registerProviderWithStake";
22
- IDatabasePopulatorMethodNames["registerProviderWithStakeAndDataset"] = "registerProviderWithStakeAndDataset";
23
- IDatabasePopulatorMethodNames["registerDapp"] = "registerDapp";
24
- IDatabasePopulatorMethodNames["registerDappWithStake"] = "registerDappWithStake";
25
- IDatabasePopulatorMethodNames["registerDappUser"] = "registerDappUser";
26
- })(IDatabasePopulatorMethodNames || (IDatabasePopulatorMethodNames = {}));
27
- export class IDatabasePopulatorMethods {
28
- }
29
- class DatabasePopulator {
30
- constructor(env, dappAbiMetadata, dappWasm, logLevel) {
31
- this._registeredProviders = [];
32
- this._registeredProvidersWithStake = [];
33
- this._registeredProvidersWithStakeAndDataset = [];
34
- this._registeredDapps = [];
35
- this._registeredDappsWithStake = [];
36
- this._registeredDappUsers = [];
37
- this._registeredProviderUrls = new Set();
38
- this.providerStakeDefault = BN_ZERO;
39
- this.stakeAmount = BN_ZERO;
40
- this.sendAmount = BN_ZERO;
41
- this.mockEnv = env;
42
- this.dappAbiMetadata = dappAbiMetadata;
43
- this.dappWasm = dappWasm;
44
- this.logger = getLogger(getLogLevel(logLevel), 'DatabasePopulator');
45
- this._isReady = this.mockEnv.isReady().then(async () => {
46
- try {
47
- this._transactionQueue = new TransactionQueue(this.mockEnv.getApi(), this.mockEnv.getPair(), this.logger.getLogLevel());
48
- const tasks = new Tasks(this.mockEnv);
49
- const promiseStakeDefault = wrapQuery(tasks.contract.query.getProviderStakeThreshold, tasks.contract.query)();
50
- const res = await promiseStakeDefault;
51
- this.providerStakeDefault = new BN(res.rawNumber);
52
- this.stakeAmount = getStakeAmount(env, this.providerStakeDefault);
53
- this.sendAmount = getSendAmount(env, this.stakeAmount);
54
- }
55
- catch (e) {
56
- throw new Error(String(e));
57
- }
58
- });
59
- }
60
- get transactionQueue() {
61
- if (!this._transactionQueue) {
62
- throw new ProsopoEnvError('GENERAL.ENVIRONMENT_NOT_READY');
63
- }
64
- return this._transactionQueue;
65
- }
66
- set transactionQueue(txQueue) {
67
- this._transactionQueue = txQueue;
68
- }
69
- get providers() {
70
- return this._registeredProviders;
71
- }
72
- set providers(providers) {
73
- this._registeredProviders = providers;
74
- }
75
- get providersWithStake() {
76
- return this._registeredProvidersWithStake;
77
- }
78
- set providersWithStake(accounts) {
79
- this._registeredProvidersWithStake = accounts;
80
- }
81
- get providersWithStakeAndDataset() {
82
- return this._registeredProvidersWithStakeAndDataset;
83
- }
84
- set providersWithStakeAndDataset(accounts) {
85
- this._registeredProvidersWithStakeAndDataset = accounts;
86
- }
87
- get dapps() {
88
- return this._registeredDapps;
89
- }
90
- set dapps(accounts) {
91
- this._registeredDapps = accounts;
92
- }
93
- get dappsWithStake() {
94
- return this._registeredDappsWithStake;
95
- }
96
- set dappsWithStake(accounts) {
97
- this._registeredDappsWithStake = accounts;
98
- }
99
- get dappUsers() {
100
- return this._registeredDappUsers;
101
- }
102
- set dappUsers(accounts) {
103
- this._registeredDappUsers = accounts;
104
- }
105
- isReady() {
106
- return this._isReady;
107
- }
108
- createAccount() {
109
- const account = this.createAccountAndAddToKeyring();
110
- if (!account) {
111
- throw new ProsopoEnvError('DEVELOPER.CREATE_ACCOUNT_FAILED');
112
- }
113
- return { address: account[1], mnemonic: account[0], contractAddress: undefined };
114
- }
115
- createAccountAndAddToKeyring() {
116
- const mnemonic = mnemonicGenerate();
117
- const account = this.mockEnv.keyring.addFromMnemonic(mnemonic);
118
- const { address } = account;
119
- return [mnemonic, address];
120
- }
121
- sendFunds(account, payee, amount) {
122
- const address = typeof account === 'string' ? account : accountAddress(account);
123
- return _sendFunds(this.mockEnv, address, payee.toString(), amount, this.transactionQueue);
124
- }
125
- async changeSigner(account) {
126
- const mnemonic = typeof account === 'string' ? account : accountMnemonic(account);
127
- if (!this.mockEnv.contractInterface) {
128
- throw new ProsopoEnvError('DEVELOPER.NO_MOCK_ENV');
129
- }
130
- const network = this.mockEnv.config.networks[this.mockEnv.defaultNetwork];
131
- const pair = await getPairAsync(network, mnemonic, '');
132
- return this.mockEnv.changeSigner(pair);
133
- }
134
- async registerProvider(fund, url, noPush) {
135
- try {
136
- const urlString = url || this.randomUrl();
137
- const _url = Array.from(stringToU8a(urlString));
138
- const account = this.createAccount();
139
- this.logger.debug('Registering provider', '`', accountAddress(account), '`', 'with url', urlString, 'and mnemonic', '`', accountMnemonic(account), '`');
140
- if (fund) {
141
- await this.sendFunds(accountAddress(account), 'Provider', this.sendAmount);
142
- }
143
- await this.changeSigner(accountMnemonic(account));
144
- const pair = await this.mockEnv.getSigner();
145
- const tasks = new Tasks(this.mockEnv);
146
- const args = [_url, PROVIDER_FEE, PROVIDER_PAYEE];
147
- const result = await submitTx(this.transactionQueue, tasks.contract, 'providerRegister', args, this.stakeAmount, pair);
148
- this.logger.info('Provider registered with account', accountAddress(account), 'url', urlString, result.toHuman());
149
- const _provider = (await tasks.contract.query.getProvider(accountAddress(account))).value.unwrap().unwrap();
150
- const providerTestAccount = {
151
- ...account,
152
- contractValue: _provider,
153
- };
154
- if (!noPush) {
155
- this._registeredProviders.push(providerTestAccount);
156
- }
157
- return providerTestAccount;
158
- }
159
- catch (e) {
160
- throw this.createError(e, this.registerProvider.name);
161
- }
162
- }
163
- async updateProvider(account) {
164
- try {
165
- await this.changeSigner(account);
166
- const pair = await this.mockEnv.getSigner();
167
- const tasks = new Tasks(this.mockEnv);
168
- const args = [
169
- account.contractValue.url,
170
- createType(this.mockEnv.getContractInterface().abi.registry, 'Balance', PROVIDER_FEE),
171
- PROVIDER_PAYEE,
172
- ];
173
- this.logger.info('Updating provider', account.address, account.contractValue);
174
- await submitTx(this.transactionQueue, tasks.contract, 'providerUpdate', args, BN_ZERO, pair);
175
- this.logger.info('Provider updated', account.address);
176
- return (await tasks.contract.query.getProvider(accountAddress(account))).value.unwrap().unwrap();
177
- }
178
- catch (e) {
179
- throw this.createError(e, this.updateProvider.name);
180
- }
181
- }
182
- async registerProviderWithStake(fund) {
183
- try {
184
- const url = this.randomUrl();
185
- const account = await this.registerProvider(fund, url, true);
186
- const provider = await this.updateProvider(account);
187
- this._registeredProvidersWithStake.push({
188
- ...account,
189
- contractValue: provider,
190
- });
191
- return account;
192
- }
193
- catch (e) {
194
- throw this.createError(e, this.registerProviderWithStake.name);
195
- }
196
- }
197
- async addDataset(account, dataset) {
198
- try {
199
- await this.changeSigner(account);
200
- const tasks = new Tasks(this.mockEnv);
201
- await tasks.providerSetDataset(dataset);
202
- return (await tasks.contract.query.getProvider(accountAddress(account))).value.unwrap().unwrap();
203
- }
204
- catch (e) {
205
- throw this.createError(e, this.addDataset.name);
206
- }
207
- }
208
- async registerProviderWithStakeAndDataset(fund) {
209
- try {
210
- const url = this.randomUrl();
211
- this.logger.debug('url when registering provider with stake and dataset', url);
212
- const account = await this.registerProvider(fund, url, true);
213
- this.logger.debug('url when registering provider with stake and dataset', url, account.address);
214
- await this.updateProvider(account);
215
- const provider = await this.addDataset(account, datasetWithSolutionHashes);
216
- this._registeredProvidersWithStakeAndDataset.push({
217
- ...account,
218
- contractValue: provider,
219
- });
220
- return account;
221
- }
222
- catch (e) {
223
- throw this.createError(e, this.registerProviderWithStakeAndDataset.name);
224
- }
225
- }
226
- async registerDapp(fund, noPush) {
227
- try {
228
- const account = this.createAccount();
229
- this.logger.debug('Sending funds to `', accountAddress(account), '`');
230
- if (fund) {
231
- await this.sendFunds(accountAddress(account), 'Dapp', this.sendAmount);
232
- }
233
- this.logger.debug('Changing signer to `', accountAddress(account), '`');
234
- await this.changeSigner(accountMnemonic(account));
235
- this.logger.debug('Pair address`', this.mockEnv.pair?.address, '`');
236
- const tasks = new Tasks(this.mockEnv);
237
- const dappParams = ['1000000000000000000', 1000, this.mockEnv.getContractInterface().address, 65, 1000000];
238
- if (!this.mockEnv.pair) {
239
- throw new ProsopoContractError('CONTRACT.SIGNER_UNDEFINED');
240
- }
241
- const deployer = new ContractDeployer(this.mockEnv.getApi(), this.dappAbiMetadata, this.dappWasm, this.mockEnv.pair, dappParams, 0, 0, randomAsHex(), this.mockEnv.config.logLevel, this.transactionQueue);
242
- const deployResult = await deployer.deploy();
243
- const instantiateEvent = deployResult.events.find((event) => event.event.section === 'contracts' && event.event.method === 'Instantiated');
244
- const contractAddress = String(get(instantiateEvent?.event.data, 'contract'));
245
- account.contractAddress = contractAddress;
246
- this.logger.debug('Dapp contract address', contractAddress);
247
- const queryResult = await tasks.contract.query.dappRegister(contractAddress, DappPayee.dapp);
248
- this.logger.debug('Dapp contract queryResult', JSON.stringify(queryResult, null, 4));
249
- const error = queryResult.value.err || queryResult.value.ok?.err;
250
- if (error) {
251
- throw new ProsopoContractError(new Error(error));
252
- }
253
- this.logger.debug('Submitting TX to queue using account', tasks.contract.pair.address);
254
- const txResult = await submitTx(this.transactionQueue, tasks.contract, 'dappRegister', [contractAddress, DappPayee.dapp], BN_ZERO, tasks.contract.pair);
255
- this.logger.info('App registered', contractAddress, txResult.toHuman());
256
- if (txResult.isError) {
257
- throw new ProsopoContractError(new Error(txResult.isError.toString()));
258
- }
259
- const dapp = await tasks.contract.query.getDapp(contractAddress);
260
- this.logger.info('App registered result', dapp.value.unwrap().unwrap());
261
- if (!noPush) {
262
- this._registeredDapps.push({
263
- ...account,
264
- contractValue: dapp.value.unwrap().unwrap(),
265
- contractAddress,
266
- });
267
- }
268
- return account;
269
- }
270
- catch (e) {
271
- throw this.createError(e, this.registerDapp.name);
272
- }
273
- }
274
- async dappFund(account) {
275
- await this.changeSigner(account);
276
- const tasks = new Tasks(this.mockEnv);
277
- this.logger.info('Funding app', accountContract(account), 'from account', tasks.contract.pair.address);
278
- await submitTx(this.transactionQueue, tasks.contract, 'dappFund', [accountContract(account)], this.stakeAmount, tasks.contract.pair);
279
- this.logger.info('App funded');
280
- return (await tasks.contract.query.getDapp(accountContract(account))).value.unwrap().unwrap();
281
- }
282
- async registerDappWithStake(fund) {
283
- try {
284
- const url = this.randomUrl();
285
- const account = await this.registerDapp(fund, true);
286
- const dapp = await this.dappFund(account);
287
- this._registeredDappsWithStake.push({
288
- ...account,
289
- contractValue: dapp,
290
- });
291
- return account;
292
- }
293
- catch (e) {
294
- throw new Error(String(e));
295
- }
296
- }
297
- async registerDappUser(fund) {
298
- const account = this.createAccount();
299
- if (fund) {
300
- await this.sendFunds(accountAddress(account), 'DappUser', this.sendAmount);
301
- }
302
- this._registeredDappUsers.push({
303
- ...account,
304
- });
305
- return account;
306
- }
307
- randomUrl() {
308
- let url = `${urlBase}/${randomAsHex()}`;
309
- while (this._registeredProviderUrls.has(url)) {
310
- url = urlBase + randomAsHex();
311
- }
312
- this._registeredProviderUrls.add(url);
313
- return url;
314
- }
315
- createError(err, functionName) {
316
- const e = {
317
- error: err,
318
- };
319
- return new ProsopoEnvError('DEVELOPER.CREATE_ACCOUNT_FAILED', {
320
- context: { functionName, e },
321
- logLevel: this.logger.getLogLevel(),
322
- });
323
- }
324
- }
325
- export default DatabasePopulator;
326
- //# sourceMappingURL=DatabasePopulator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DatabasePopulator.js","sourceRoot":"","sources":["../../../src/tests/dataUtils/DatabasePopulator.ts"],"names":[],"mappings":"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"}